22606

Реляційне числення. Мова “Альфа”

Лекция

Математика и математический анализ

RANGE ОПД X GET WП.КД = Д3 RANGE ОПД X оператор декларації ОПД тип X змінна. Перший варіант: RANGE Д X GET WОПД.колір = червоний RANGE ОПД Y GET W2П.

Украинкский

2013-08-04

58.5 KB

1 чел.

II.2. Реляційне числення. Мова “Альфа”

Реляційне числення Кодда є одним із найважливіших наріжних каменів теорії реляційних моделей баз даних. У СУБД, що існували до появи реляційного підходу, було багато засобів для обробки даних і формулювання запитів. Основою для їх розробки та впровадження виступали практичні потреби тої, чи іншої предметної області, або кількох областей. У дореляційну епоху не було створено теоретичного критерію стосовно повноти мовних засобів для формування запитів у межах певного класу мов. Ситуація у цьому розумінні видавалася досить складною: з одного боку множина запитів на основі природної мови (неформалізована область) і з іншого боку мовні засоби СУБД, тісно повязані з іноді досить складними структурами даних.

Алфавіт.

V1 = {a; r; P; };  V2 = {; ; ; ; };  V3 = {=; ; ; ; ; };  V4 = {[; ]; (; ); ,; :};

V = V1 V2 V3  V4;

Індекси – це слова виду ... (m - штук), m = 0,1,2,...

Константи – слова виду а... (m - штук), m = 0,1,2,...; позначення - am; a=a0;

Змінні – слова виду r... (m - штук), m = 0,1,2,...; позначення - rm;

Предикати (унарні)  – слова виду P... (m - штук), m = 0,1,2,...; позначення - Pm;

Зрізи – слова виду r...[...] (i та m - штук), і,m = 0,1,2,...; позначення – ri[m];

Далі з урахуванням раніш введених визначень та позначень специфікуємо наступні поняття:

Терми значень – слова виду Pi rj;

 Терми зєднань – слова виду    , або   , де , -- зрізи, - константа, - бінарний предикат (порівняння).

Приклади термів зєднань:

r1[3] r2[1];  r1[2] = a ;

Правильно побудовані формули (ППФ)

  1.  Всі терми значень і терми зєднань є ППФ. Всі їх змінні – вільні.
  2.  Якщо F – ППФ, то F – ППФ. Змінні залишаються вільними.
  3.  Якщо F1 і F2ППФ і їх спільні змінні вільні у кожній з формул, то F1  F2, F1  F2  ППФ. Змінні вільні у F1  F2, F1  F2, якщо вони вільні принаймні у одній формулі.
  4.  Якщо F – ППФ і r – вільна у ній змінна, то r(F), r(F) – ППФ; r – звязана змінна.
  5.  Інших ППФ немає.

Приклади ППФ:

P1r2  (r2[1]  r3[2])

r2 ((P1 r1  P2r2) (r[1] r[2]))

Безкванторна ППФ F називається правильно визначеною (ПВ) над змінною r, якщо виконуються такі умови:

  1.  r єдина змінна в F;
  2.  всі терми в F є термами значень;
  3.   входить в F тільки після , або відсутній.

Нехай  F -- ППФ ПВ над r, а G -- ППФ і має r як вільну змінну, але не має термів значень виду Pir, тоді будемо використовувати позначення:

r (F G) --- F (G)

r (F G) --- F (G)

ППФ W називається формулою з областю визначення (ФОВ), якщо виконуються вимоги:

  1.  W = U1  U2  ... Un  V, n1;
  2.  Ui ,i = 1,2,...,n – є ПВ формулою над змінною ri (i j   ri  rj)
  3.  V – або пуста, або ППФ, що задовольняє умовам:
  •  квантори входять у V тільки у вигляді F(G), або  F(G);
  •  кожна вільна змінна з V є вільною в одній з Ui ;
  •  у V немає термів значень з вільними змінними.

Приклади ФОВ:

У мові “Альфа” описуються властивості даних, які треба знайти.

Приклади.

  1.  Знайти всі відомості про всіх постачальників.

GET W(П.КП, П.прізвище, П.статус, П.місто)

GET W(П)

  1.  Знайти коди постачальників з статусом більше 20, що живуть в місті N

GET W(П.КП): П.статус > 20 Ù П.місто = ‘N’

GET W(П.КП, П.статус): П.місто = ‘N’ DOWN П.статус

GET W(1) – код постачальника з найбільшим статусом.

  1.  Знайти прізвища постачальників, що постачають деталь Д3.

RANGE ОПД X

GET W(П.прізвище): $X (X.КП = П.КП & X.КД = Д3)

RANGE ОПД X – оператор декларації, ОПД – тип, X – змінна.

Змінні, що входять під квантор, обов’язково декларуються.

  1.  Знайти прізвища постачальників, які постачають принаймні одну червону деталь.

Перший варіант:

RANGE Д X

GET W(ОПД.КП): $X (X.КД = ОПД.КД & X.колір = червоний)

RANGE ОПД Y

GET W2(П.прізвище): $Y (Y.КП = П.КП)

Другий варіант:

RANGE Д X

RANGE ОПД Y

GET W(П.прізвище): $X $Y (Y.КП = П.КП & X.КД = Y.КД & X.колір = червоний)

  1.  Знайти прізвища тих постачальників, які постачають принаймні одну деталь, яку постачає постачальник П5.

RANGE ОПД X

RANGE ОПД Y

GET W(П.прізвище): $X $Y (X.КП = П.КП & X.КД = Y.КД & Y.КП = П5)

Зауваження: В мові “Альфа” порядок однойменних кванторів несуттєвий, різних кванторів – суттєвий.

  1.  Знайти прізвища тих постачальників, які не постачають деталь Д1.

Від супротивного:

RANGE ОПД X

GET W(П.прізвище): Ø($X(X.КП = П.КП & X.КД = Д1))

Або:

GET W(П.прізвище): "X(X.КП ¹ П.КП Ú X.КД ¹ Д1)

  1.  Знайти прізвища постачальників, які постачають всі деталі.

RANGE Д X

RANGE ОПД Y

GET W(П.прізвище): "X $Y(Y.КП = П.КП & Y.КД = X.КД)

  1.  Знайти прізвища тих постачальників, що постачають принаймні всі ті деталі, що і Петренко.

RANGE ОПД X

RANGE ОПД X1

RANGE Д Y

RANGE П Z

GET W(П.прізвище): "Y ($X $Z (X.КП = Z.КП & X.КД = Y.КД & Z.прізвище = Петренко) Þ

$X1 (X1.КП = П.КП & X1.КД = Y.КД))

  1.  Знайти коди одержувачів, які не одержують жодної червоної деталі від постачальників з міста N.

RANGE П X

RANGE Д Y

RANGE ОПД Z

GET W(О.КО): Ø($Z $X $Y (X.місто = N & Y.колір = червоний & Z.КП = X.КП

& Z.КД = Y.КД & Z.КО = О.КО))

  1.  Знайти прізвища постачальників, які постачають одну і ту ж саму деталь всім одержувачам

RANGE О X

RANGE Д Y

RANGE ОПД Z

GET W(О.КО): $Y "X $Z (Z.КП = П.КП & Z.КД = Y.КД & Z.КО = X.КО)

  1.  Знайти коди одержувачів, потреби яких повністю задовольняє постачальник з кодом П7.

RANGE ОПД X

GET W(О.КО): "X (X.КО = О.КО Þ X.КП = П7)

  1.  Знайти коди деталей, які постачаються всім одержувачам з міста ‘N’.

RANGE ОПД X

RANGE О Y

GET W(Д.КД): "Y (Y.місто = ‘N’ Þ $X (X.КД = Д.КД & X.КО = Y.КО))

  1.  Знайти номери одержувачів, які використовують тільки ті деталі, що постачаються від поставника П7.

RANGE ОПД X

RANGE Д Y

RANGE ОПД Z

GET W(О.КО): "Y ($Z (Z.КД = Y.КД & Z.КО = О.КО) Þ $X(X.КД = Y.КД & X.КП = П7))

  1.  Знайти номери одержувачів, які використовують принаймні декілька деталей від постачальника П7

RANGE ОПД X

RANGE Д Y

RANGE ОПД Z

GET W(О.КО): "Y ($Z (Z.КД = Y.КД & Z.КО = О.КО) Þ $X(X.КД = Y.КД & X.КО = О.КО & X.КП = П7))

  1.  Змінити колір деталі Д6 на червоний.

HOLD W(Д.КД, Д.колір): Д.КД = Д6

W.колір = червоний

UPDATE W

HOLD – здійснюється пошук, але залишається вказівник на на тому місці, звідки дані отримані.

Також використовуються: DELETE W – вилучення даних, PUT W – внесення даних.

  1.  Знайти загальну кількість постачальників.

GET W(COUNT (П.КП))

COUNTпідраховує поля будь-яких типів.

Також використовуються: TOTAL, MAX, MIN, AVERAGE – використовуються лише по арифметичним полям.

  1.  Знайти коди постачальників з найбільшим статусом.

GET W(П.КП): TOP(1, П.статус)

Також використовується BOTTOM.

  1.  Для кожної деталі, що постачається, знайти її номер та загальний об’єм поставки.

GET W(ОПД, КД, iTOTAL(ОПД, КД, кількість))

Параметри iTOTAL в даному випадку  – ‘ОПД’ – реляція, в якій відбувається групування по атрибуту ‘КД’ і для кожної групи підраховується сума по атрибуту ‘кількість’.

Також використовуються: iCOUNT, iMAX, iMIN, iAVERAGE.

  1.  Знайти коди деталей, що постачаються більш ніж одним постачальником.

GET W(ОПД.КД):iCOUNT(ОПД, КД, КП) > 1


 

А также другие работы, которые могут Вас заинтересовать

83553. Кодифікація норм про відповідальність в міжнародному праві 35.22 KB
  Незважаючи на те інститут міжнародної відповідальності є одним із найдавніших інститутів міжнародного права його норми і досі не кодифіковані. Комісія міжнародного права за дорученням Генасамблеї ООН проводить роботу по укладенню уніфікованої кодексу міжнародноправової відповідальності. Основним джерелом норм які стосуються міжнародноправової відповідальності є звичай крім того різними міжнародними договорами закріплюються норми що стосуються відповідальності за ті чи інші види правопорушень чи регламентують застосування...
83554. Підстави міжнародно-правової відповідальності 36.39 KB
  Підставами міжнародно правової відповідальності є передбачені нормами міжнародного права обєктивні і суб\'єктивні ознаки. Розрізняють такі підстави міжнародно-правової відповідальності: — юридичні; — фактичні; — процесуальні. Під юридичними підставами розуміють міжнародно-правові...
83555. Поняття, ознаки і елементи міжнародного правопорушення 36.89 KB
  Міжнародне правопорушення являє собою складне правове явище. З юридичної точки зору, в якості міжнародного правопорушення розглядається міжнародно-протиправне діяння субєкта міжнародних правовідносин
83556. Види і зміст міжнародно-правової відповідальності 42.93 KB
  Політична відповідальність як правило супроводжується застосуванням у відношенні державипорушниці примусових заходів і сполучається з матеріальною відповідальністю. Сатисфакція задоволення як форма політичної відповідальності припускає обов\'язок державиправопорушниці надати задоволення не матеріального характеру відшкодувати моральну шкоду заподіяну честі і гідності іншої держави. Сатисфакція може виявитися в таких діях державиделіквента винного суб\'єкта що зобов\'язаний відшкодувати шкоду заподіяну правопорушенням: офіційне...
83557. Політична відповідальність і її форми 38.62 KB
  Політична відповідальність як правило супроводжується застосуванням у відношенні державипорушниці примусових заходів і сполучається з матеріальною відповідальністю. Сатисфакція задоволення як форма політичної відповідальності припускає обов\'язок державиправопорушниці надати задоволення не матеріального характеру відшкодувати моральну шкоду заподіяну честі і гідності іншої держави. Сатисфакція може виявитися в таких діях державиделіквента винного суб\'єкта що зобов\'язаний відшкодувати шкоду заподіяну правопорушенням: офіційне...
83558. Матеріальна відповідальність і її форми 37.01 KB
  Історично свій початок репарації беруть від інституту контрибуцій що успішно існували в міжнародному граві з глибокої давнини і до кінця XIX сторіччя і носили характер данини. З метою обмеження таких негативних явищ були розроблені статті 4751 Гаазької конвенції про закони і звичаї сухопутної війни 1907 року що обмежували стягнення контрибуцій. При розробці Версальского мирного договору 1919 року країни Антанти були змушені формально відмовитися від контрибуцій замінивши їх репараціями. Фактично на зміну контрибуцій прийшли усі форми...
83559. Санкції і контрзаходи 36.06 KB
  Останнім часом склалася усталена практика щодо застосування термінології: примусові заходи з боку держав позначаються терміном контрзаходи а примусові заходи збоку МО санкціями . Контрзаходи повинні бути співрозмірними спричиненій шкоді й ураховувати тяжкість МПД та права які були порушені тобто бути пропорційними. Контрзаходи припиняються як тільки контрагент виконає свої зобов\'язання.
83560. Міжнародна відповідальність за шкідливі наслідки дій, не заборонених міжнародним правом 38.27 KB
  До першої відносять конвенції про цивільну відповідальність в яких розглядають питання відповідальності оператора а в деяких випадках відповідальності держави з позиції матеріальних та процесуальних норм. Такі договори стосуються питань навігації нафти ядерних матеріалів: Міжнародна конвенція про цивільну відповідальність за шкоду від забруднення нафтою 1969 р. до неї Конвенція про цивільну відповідальність за шкоду спричинену при перевезенні небезпечних вантажів автомобільним залізничним та внутрішнім водним транспортом 1989 р.
83561. Поняття та джерела міжнародного кримінального права 36.45 KB
  В літературі зустрічаються різні концепції міжнародного кримінального права. Лукашук визначав міжнародне кримінальне право як галузь міжнародного публічного права принципи і норми якої регулюють співпрацю держав і міжнародних організацій в боротьбі зі злочинністю. При будьякому підході слід відмітити головну особливість міжнародного кримінального права а саме встановлення прямої кримінальної відповідальності фізичних осіб за порушення найбільш важливих норм міжнародного права.