• Aucun résultat trouvé

Формальна семантика агрегатних операцій мультимножинної табличної алгебри (A formal semantics of aggregate operations of multiset table algebra)

N/A
N/A
Protected

Academic year: 2022

Partager "Формальна семантика агрегатних операцій мультимножинної табличної алгебри (A formal semantics of aggregate operations of multiset table algebra)"

Copied!
8
0
0

Texte intégral

(1)

УДК 004.655

ФОРМАЛЬНА СЕМАНТИКА АГРЕГАТНИХ ОПЕРАЦІЙ МУЛЬТИМНОЖИННОЇ ТАБЛИЧНОЇ АЛГЕБРИ

І.М. Глушко

Ніжинський державний університет імені Миколи Гоголя, 16600, Ніжин, вул. Кропив’янського 2,

glushkoim@gmail.com

Розглянуто мультимножинну табличну алгебру. Сигнатура мультимножинної табличної алгебри поповнена агрегатними операція- ми. Задано формальну математичну семантику цих операцій та наведено приклади їх застосування.

Мultiset table algebra is considered. The signature of multiset table algebra is filled up with aggregate operations. A formal mathematical semantics of these operations is defined.

Вступ

Реляційна модель даних на сьогодні широко використовується як у наукових дослідженнях в базах да- них, так і на практиці. У формальному визначенні, запропонованому Е. Коддом [1], дана модель базується на множинах кортежів, тобто не дозволяє дублікати кортежів у відношенні. Багато мов, орієнтованих на роботу з базами даних, вимагають реляційну модель даних з мультимножинною семантикою (multi-set semantics) тому, що, по-перше, відношення, які дозволяють дублікати, корисні в багатьох прикладних областях, де об'єкти- дублікати можуть існувати; по-друге, в реляційній моделі даних видалення дублікатів після виконання операцій проекції та об’єднання передбачає злиття однакових елементів або здійснення інших трудомістких дій.

Питанню використання мультимножин в базах даних приділяли увагу Paul W.P.J. Grefen та Rolf A. de By [2], G. Lamperti, M. Melchiori, M. Zanella [3], Г. Гарсіа-Моліна, Дж. Ульман, Дж. Уидом [4], A. Silbeschatz, H. Korth, S. Sudarshan [5], Д.Б. Буй, С.А. Поляков, Ю.Й. Брона, В.Н. Редько [6]. Разом з тим, в жодній із зазна- чених робіт не приділяється увага агрегатним операціям над таблицями мультимножинної табличної алгебри.

Мультимножини: основні поняття

Наведемо основні поняття мультимножин в термінах роботи [6]. Зафіксуємо деяку множину U . Під му- льтимножиною  з основою U будемо розуміти відображення вигляду :UN, де N{1,2,...} – множина натуральних чисел.

Нехай D – універсум елементів основ мультимножин, тоді булеан P(D) – універсум основ мультимно- жин. Під характеристичною функцією мультимножини  розуміємо функцію вигляду :DZ, значення якої задається наступною кусковою схемою:



 

 0,інакше;

, dom якщо

), ) (

(  

d d d

для всіх dD, де Z – множина цілих невід’ємних чисел..

Мультимножина називається порожньою і позначається як m, якщо її основа – порожня множина.

Мультимножини, областю значень яких є порожня множина або одноелементна множина вигляду {1}, називаються 1-мультимножинами. Дані мультимножини є аналогами звичайних множин.

Домовимося мультимножину  з основою {d1,...,dk} записувати як {d1n1,...,dknk}, де ni – кількість дуб- лікатів (екземплярів) елемента di у мультимножині , i1,...,k.

Під рангом скінченної мультимножини  розуміємо суму дублікатів елементів її основи

U d

d)

(

 , де U – основа мультимножини  . Зрозуміло, що m 0.

Мультимножина  включається у мультимножину  ( ), якщо:

   

d U d d

d U

U  

   &    .

Якщо  , то мультимножина  називається підмультимножиною мультимножини , а мультимно- жина  – надмультимножиною мультимножини  . Очевидно, що порожня мультимножина є підмультимно- жиною будь-якої мультимножини (m, ), а будь-яка мультимножина є своєю ж підмультимножиною (, ).

(2)

Мультимножинна таблична алгебра

Розглянемо дві множини: A – множину атрибутів і D – універсальний домен. Довільну скінченну мно- жину атрибутів RA назвемо схемою.

Рядком схеми R називається іменна множина на парі R, D, проекція якої за першою компонентою рі- вна R (тобто по суті розглядається функція вигляду s:RD). Множину всіх рядків схеми R позначимо

) (R

S , а множину всіх рядків – S. Для позначення відсутніх значень у таблиці використовується особливий

елемент універсального домену NULL. Позначимо sRNULL – константний рядок схеми R, тобто }

{

:R NULL

sRNULL  .

Задамо поняття таблиці як пари ,R , де перша компонента  – це довільна мультимножина, зокрема, нескінченна, а друга компонента R – схема таблиці.

Таким чином, кожній таблиці приписується певна схема. Множину всіх таблиць схеми R позначимо )

(R , а множину всіх таблиць

A

) (

R

R .

Позначимо Occ(s,) – кількість дублікатів (екземплярів) рядка s у мультимножині  . Домовимося му- льтимножину  записувати як {s1n1,...,sknk,}, де niOcc(si,), i1,2,, а (){s1,...,sk,} – основа мультимножин  .

Під мультимножинною табличною алгеброю розуміємо алгебру ,P, , де  – множина всіх таб- лиць,





 

,

A , , , , ,

, , ,

, , ,

2 2 1

1

~ , , , , ,

\ , ,

P p

R R R X R R R

R R X R R p All R All R

PAllRt – сигнатура, P,  – множини параметрів.

Задамо операції. Під об’єднанням RAll(перетином RAll, різницею \RAll) таблиць схеми R розуміється бінарна (параметрична) операція, отримана обмеженням однойменних операцій All, All, \All над мульти- множинами на множину всіх таблиць схеми R.

Розглянемо кожну операцію окремо. Позначимо через (1) і (2) – основи мультимножин 1 та 2 відповідно. Таким чином,

) ( ) ( ) (

: R R R

RAll   

 , 1,R RAll2,R  1All2,R .

Основа мультимножини 1All2 дорівнює об’єднанню основ мультимножин таблиць-аргументів:

) ( ) ( )

(12 1 2

 All  .

Дублікати рядків, які з’явилися після виконання операції, не вилучаються. Кількість дублікатів кожного рядка визначається за формулою:





);

( ) ( якщо ), , ( ) , (

), (

\ ) ( якщо ), , (

), (

\ ) ( якщо ), , ( )

, (

2 1

2 1

1 2 2

2 1 1

2 1

s s

Occ s

Occ

s s

Occ

s s

Occ s

Occ All

де s(1)(2).

) ( ) ( ) (

: R R R

RAll   

 , причому 1,R RAll2,R  1All2,R .

Основа мультимножини 1All2 дорівнює перетину основ мультимножин таблиць-аргментів:

) ( ) ( )

(12 1 2

 All  ,

а кількість дублікатів рядка визначається як

( , ), ( , )

min ) ,

(s12 Occ s1 Occ s2

OccAll  , де s(1)(2).

) ( ) ( ) ( :

\RAllR  R  R , причому 1,R \RAll2,R  1\All2,R , де 1,R , 2,R (R).

Основа мультимножини 1\All2 визначається як (1\All2)(1)\(2)C(1,2), де

| ( ) ( ) ( , ) ( , )

) ,

(12 s s12 Occ s1 Occ s2

C      .

Кількість дублікатів знаходиться так:





 

), , ( якщо ), , ( ) , (

), (

\ ) ( якщо ), , ) (

\ ,

( 1 2 1 1 2

 

Occ s Occ s s C

s s

s Occ Occ All

(3)

де s

(1)\(2)

C(1,2).

Нехай p:S~ {true,false} – частковий предикат на множині рядків. Під селекцією за предикатом p таблиць схеми R розуміється унарна часткова параметрична операція p,R, яка таблиці зіставляє її підтабли- цю, що містить рядки, на яких предикат p істинний (крім того, предикат p має бути визначеним на всіх ряд- ках таблиці-аргументу).

Отже,

)

~ ( ) (

,R: R R

p  

 , domp,R

,R |()dom p

, p,R

,R

  ,'R , де ,R (R).

Областю означеності операції селекції є таблиці ,R (R), які містять рядки sS(R), на яких пре- дикат-параметр селекції p визначений. Надалі розглядаємо тільки предикати-параметри вигляду

true A

s A s true s

p( ) p( ( 1),..., ( m)) , де p – предикат на універсальному домені, а атрибути A1,...,Am нале- жать схемі рядка s.

Основа мультимножини результуючої таблиці визначається як: (){s|s()p(s)~true}, де ~ – узагальнена рівність (тобто обидві частини або одночасно не визначені або одночасно визначені і рівні).

В залежності від значення предиката на рядку s усі дублікати цього рядка або входять до мультимножи- ни отриманої таблиці, або ні: Occ(s,)Occ(s,), де s('). Зазначимо, що операція селекції не породжує нові дублікати рядка.

Нехай XA – скінченна множина атрибутів. Під проекцією за множиною атрибутів X таблиць схеми R розуміється унарна параметрична операція X,R, значеннями якої є таблиці схеми RX , що складаються з обмежень за X рядків вихідних таблиць.

Отже, X,R:(R)(RX), X,R

,R

 ,RX , де ,R (R). Основа мультимножини  визначається як (){s|X|s()}.

Дублікати рядків, які з’явилися після виконання операції, не вилучаються. Кількість дублікатів кожного рядка визначається за формулою:

 

s X ss

s Occ s

Occ

| ( ),

) , ( )

,

(   , де s().

Під з’єднанням таблиць схем R1, R2 розуміється бінарна параметрична операція

2 1,R

R , значеннями якої є таблиці схеми R1R2, що складаються з усяких об’єднань сумісних рядків вихідних таблиць.

Отже,

) (

) ( ) (

: 1 2 1 2

, 2 1

R R R

R R

R     , 2 2 1 2

1 ,

1, , ,

2 1

R R R

R R R   

    ,

де 1,R1 (R1), 2,R2 (R2). Змістовно кажучи, кожний рядок з 1 з’єднується з кожним рядком із

2, незалежно від того – дублікат це чи ні.

Основою мультимножини   є множина рядків

 

|' 1 2 1 ( 1) 2 ( 2) 1 2 ' 1 2

)

(   sss s  s  sssss

   .

Кількість дублікатів знаходиться так: Occ(s,')Occ(s|'R1,1)Occ(s|'R2,2),де s'(').

Введемо операцію перейменування. Під перейменуванням таблиць схеми R розуміється унарна параме- трична операція R,R, де :A~ A – ін’єктивне відображення на множині атрибутів, що здійснює перейме- нування атрибутів вихідних таблиць згідно з відображенням-параметром . Перейменувати таблицю означає перейменувати атрибути її схеми, тобто перейменувати рядки таблиці. Перейменування рядків будемо здійс- нювати відповідно до [6].

Нехай :AA – функція перейменування атрибутів. Під перейменуванням рядків, що відповідає фун- кції перейменування атрибутів , розуміється відображення Rs :SS, Rs(s)

(A),s(A) |A12s

, при- чому idA\domξ.

Схема R називається -допустимою, якщо [R](R\dom). Тут [R] – повний образ множини R відносно функції . Множину таблиць схеми R, де схема R -допустима позначимо (R).

(4)

Під перейменуванням таблиць схеми R, що відповідає ін’єктивній частковій функції перейменування атрибутів :A~ A, розуміється унарна параметрична операція R,R з областю означеності (R), значен- ня якої задаються таким чином: R,R

,R

Rs[],[R] , де (R), idA\dom, Rs[] – по- вний образ мультимножини  з основою () відносно функції Rs.

Основою мультимножини Rs[] є повний образ множини () відносно функції Rs,R. А кількість дублікатів рядка у результуючій таблиці задається рівністю

s,Rs[]

Occ(s,)

Occ   ,

де sRs1(s), s( ).

Введемо операцію активного доповнення. Для цього введемо декілька допоміжних понять.

Активним доменом атрибута AR відносно таблиці ,R називається таблиця

R

DA, {A},R , . Насиченням таблиці ,R є таблиця

R

 

R

 

R

C A R

A A A A R A

A n

n n

, ...

,

, { },

} { }, ,..., { } { }, }, {

{

1 1 2

11  

 .

Під активним доповненням таблиці схеми R розуміється унарна параметрична операція ~R, яка таблиці зіставляє доповнення в її насиченні.

Отже, ~R:

) ( )

(R  R

 , ~R

,R

 

C ,R

\RAll ,R , де ,R (R). Твердження. Мають місце наступні твердження:

1) будь-який вираз мультимножинної табличної алгебри можна замінити еквівалентним йому виразом, який використовує лише операції селекції, з’єднання, проекції, об’єднання, різниці та перейменування;

2) будь-який вираз мультимножинної табличної алгебри, який містить лише скінченні таблиці можна за- мінити еквівалентним йому виразом, який використовує сталі таблиці з єдиним атрибутом і єдиним рядком, операції селекції, з’єднання, проекції, об’єднання, різниці й перейменування.

Агрегатні операції

Широко використовуваними агрегатними операціями є Sum, Avg, Min, Max, Count. Так, операція

Sum розраховує суму значень у відповідному стовпці заданої таблиці, при цьому значення NULL ігнорують-

ся. Операція Avg визначає середнє арифметичне значень у відповідному стовпці заданої таблиці, при цьому значення NULL ігноруються. Операції Min та Max знаходять найменше та найбільше значення у відповід- ному стовпці заданої таблиці, при цьому значення NULL так само ігноруються. Операція Count визначає кількість значень, відмінних від NULL, у відповідному стовпці заданої таблиці. Операція Count() визначає кількість рядків у заданій таблиці.

Нехай ,R (R), причому  – скінченна мультимножина і A – деякий атрибут схеми R, AR. Позначимо через A – мультимножину, яка містить всі елементи стовпця з атрибутом A таблиці ,R . Тоді

ADA,, де DA, A,R

,R

– активний домен атрибута A відносно таблиці ,R . Нехай }

2 ) (

| {

2Dm'     D' – сім’я всіх мультимножин, основи яких є скінченними підмножинами множини 'D; тут D

D' – підмножина універсального домену.

Нехай Num – числова підмножина універсального домену D, замкнена відносно додавання. Множина

Num розширена включенням особливого елемента NULL, але при цьому операція додавання на випадок, коли

хоча б один з аргументів є NULL не розширюється.

Задамо агрегатні операції Sum, Avg, Min, Max, Count. Їхніми аргументами є скінченні таблиці, а зна- ченнями – одноатрибутні таблиці з одним рядком. Загальна схема: спочатку на скінченній мультимножині ви- значаються функції сумування, взяття найменшого та найбільшого значення, визначення середнього арифмети- чного і кількості елементів, а потім ці функції переносяться на таблиці.

Під операцією агрегування SumA,R за атрибутом A (скінченних) таблиць схеми R, AR, розуміється унарна параметрична операція вигляду

(5)

}) ({

) (

, : R A

SumAR   , SumA,R

,R

 

A,Sum(A)

1

,{A} ,

де ,R (R), а Sum – функція, що повертає суму значень стовпця з атрибутом A таблиці ,R (ці зна- чення можуть повторюватися), які відрізняються від значення NULL, крім того, цей стовпець містить лише дані числового типу. Отже,





{NULL}

d

A A

A A A

A

NULL d

d

NULL NULL

NULL Sum

\ ) (

. } {

\ ) ( якщо ), (

};

{ ) ( якщо ,

; ) ( якщо , )

(

Верхній індекс 1 вказує на те, що рядок { A,Sum(A)} входить у результуючу таблицю лише один раз, тобто кількість дублікатів даного рядка дорівнює однин.

Таким чином,

NULL

Sum(m) , Sum({NULLn})NULL,

   

k

i i i n

k

n d d n

d

Sum k

11,, 1 ,

в припущенні, що всі елементи di відрізняються від елемента NULL.

Для випадку порожньої таблиці ,R операція агрегування SumA,R застосовується так:

,

  

,

1

,{ }

, R A NULL A

SumAR  .

Приклад 1. Серед студентів фізико-математичного факультету було проведено анонімне опитування на визначення рівня самооцінки. Проаналізовано відповіді 6 учасників вибраних довільним чином з кожного фа- культету. Дані відображені в таблиці ФМ,R , де R{A,B,C,D} (див. таблицю). Атрибути схеми R – це за- питання, дані в таблицях – це відповіді студентів.

Запитання (атрибути):

A – чи турбуєтеся Ви за свій психічний стан?

B – чи турбуєтеся Ви про своє майбутнє?

C – чи боїтеся Ви виступати з промовою перед незнайомими людьми?

D – чи часто Ви робите помилки?

Варіанти відповіді:

1 – часто;

2 – іноді;

3 – рідко;

4 – ніколи.

Таблиця

A B C D

4 2 4 3

4 2 4 3

4 2 4 3

4 3 3 2

4 3 3 2

3 3 3 1

Позначимо рядки:

} 3 , , 4 , , 2 , , 4 ,

1{A B  C D

s , s2 {A,4,B,3,C,3,D,2}, }

1 , , 3 , , 3 , , 3 ,

3 {A B C D

s ,

(6)

тоді ФМ {s13,s22,s13}.

Тоді в результаті застосування операції агрегування SumA,R до таблиці ФМ,R за атрибутами D

C B

A, , , отримаємо таблиці:

} { }}, 23 ,

, {{A A

SumAR  , SumB,R  {{B,15}},{B} ,

} { }}, 21 ,

, {{C C

SumCR  , SumD,R  {{D,14}},{D} .

Нехай ≤ – лінійний порядок на універсальному домені D. Під операцією агрегування MinA,R за атрибу- том A (скінченних) таблиць схеми R, AR, розуміється унарна параметрична операція вигляду:

}) ({

) (

, : R A

MinAR   , де MinA,R

,R

 

A,Min(A)

1

,{A} ,

причому ,R (R), а Min – функція, що повертає найменше значення серед значень стовпця з атрибутом A таблиці ,R , відмінних від значення NULL, тобто Min:2mDD,





. } {

\ ) ( }},

{

\ ) (

| min{

};

{ ) ( ,

; ) ( ,

) (

NULL якщо

NULL d

d

NULL якщо

NULL якщо NULL Min

A A

A A A

Таким чином, Min(m)NULL, Min({NULLn})NULL,

 

11, , n

 

min{ 1, , k} k

n d d d

d

Mink   , в припу-

щенні, що всі елементи di, i1,k, відрізняються від елемента NULL.

Для випадку порожньої таблиці ,R операція агрегування MinA,R застосовується так:

,

  

,

1

,{ }

, t R A NULL A

MinAR  .

Приклад 2. Розглянемо таблицю із приклада 1. Застосуємо операцію агрегування MinA,R до таблиці R

ФМ, за атрибутами A,B,C,D отримаємо таблиці:

} { }}, 3 ,

, {{A A

MinAR  , MinB,R  {{B,2}},{B} ,

} { }}, 3 ,

, {{C C

MinCR  ,MinD,R  {{D,1}},{D} .

Під операцією агрегування MaxA,R за атрибутом A (скінченних) таблиць схеми R, AR, розуміється унарна параметрична операція вигляду:

}) ({

) (

, : R A

MaxAR   , MaxA,R

,R

 

A,Max(A)

1

,{A} ,

де ,R (R), а Max – функція, що повертає найбільше значення серед значень стовпця з атрибутом A таблиці ,R , відмінних від NULL, тобто Max:2DmD,





. } {

\ ) ( якщо }}, {

\ ) (

| max{

};

{ ) ( якщо ,

; ) ( якщо , )

(

NULL NULL

d d

NULL NULL

NULL Max

A A

A A A

Таким чином, Max(m)NULL, Max({NULLn})NULL,

 

11, , n

 

max{ 1, , k} k

n d d d

d

Maxk   , в припу-

щенні, що всі елементи di, i1,k, відрізняються від значення NULL.

Для випадку порожньої таблиці ,R операція агрегування MaxA,R застосовується так:

,

  

,

1

,{ }

, R A NULL A

MaxAR  .

Приклад 3. Застосуємо операцію агрегування MaxA,R до таблиці ФМ,R за атрибутами A,B,C,D

(7)

} { }}, 4 ,

, {{A A

MaxAR  , MaxB,R  {{B,3}},{B} , }

{ }}, 4 ,

, {{C C

MaxCR  , MaxD,R  {{D,3}},{D} .

Зазначимо, що функції Min та Max визначають найменший або найбільший елемент основи мульти- множини A серед елементів основи, відмінних від NULL, тому порівнянність особливого елемента NULLз рештою елементів універсального домену в даному випадку неістотна.

Під операцією агрегування CountA,R за атрибутом A (скінченних) таблиць схеми R, AR, розумієть- ся унарна параметрична операція вигляду:

}) ({

) (

, : R A

CountAR   , CountA,R

,R

 

A,Count(A)

1

,{A} ,

де ,R (R), а Count – функція, що повертає кількість значень, відмінних від NULL, з урахуванням дуб- лікатів, у стовпці з атрибутом A таблиці ,R , тобто:

Z

Count:2mD , 

{NULL}

d A

A

A

d Count

\ ) (

) ( )

(

 ;

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

Таким чином, Count(m)0, Count({NULLn})0,

 

n

 

k k

n d n n

d

Count 11,, k1 , в припущенні, що всі елементи di, i1,k, відрізняються від елемента NULL.

Для випадку порожньої таблиці ,R операція агрегування CountA,R застосовується так:

,

   

,0 1

,{ }

, R A A

CountAR  .

Приклад 4. Застосуємо операцію агрегування CountA,R до таблиці ФМ,R за атрибутами A,B,C,D отримаємо таблиці:

} { }}, 6 ,

, {{A A

CountAR  , CountB,R  {{B,6}},{B} , }

{ }}, 6 ,

, {{C C

CountCR  , CountD,R  {{D,6}},{D} .

Припустимо, що числова підмножина Num універсального домену замкнена відносно (часткової опера- ції) ділення /:NumNum~ Num. Довизначимо операцію ділення так, що коли перший агрумент дорівнює

NULL, то функція приймає значення NULL.

Під операцією агрегування AvgA,R за атрибутом A (скінченних) таблиць схеми R, AR, розуміється унарна параметрична операція вигляду:

}) ({

) (

, : R A

AvgAR   , AvgA,R

,R

 

A,Avg

 

A

1

,{A} ,

де ,R (R), а Avg – функція, що повертає середнє арифметичне значення елементів стовпця з атрибутом A таблиці ,R , які відрізняються від значення NULL, з урахуванням дублікатів, тобто:

Num

Avg:2mNum  , Avg(A)Sum(A)/Count(A). Таким чином, з означення випливають рівності

NULL NULL

Count Sum

Avg(m) (m)/ (m) /0 , NULL NULL

NULL Count

NULL Sum NULL

Avg({ n}) ({ n})/ ({ n}) /0 ,

 

         

 

k

i i i k n

k n n

k n n

k

n d n

n d n

d Count d

d Sum d

d

Avg k k k

1 1 1

1

1 ( )

, 1 , /

, , ,

, 1 1

1

 

 ,

в припущенні, що всі елементи di відрізняються від елемента NULL.

Для випадку порожньої таблиці ,R операція агрегування AvgA,R застосовується так:

(8)

,

  

,

 

1,{ }

, R A NULL A

AvgAR  .

Приклад 5. Застосуємо операцію агрегування AvgA,R до таблиці ФМ,R за атрибутами A,B,C,D отри- маємо таблиці

} { 6}}, ,23

, {{A A

AvgAR  , }},{ }

6 ,15

, {{B B

AvgBR  ,

} { 6}}, ,21

, {{C C

AvgCR  , }},{ }

6 ,14

, {{D D

AvgDR  .

Під операцією агрегування CountA,R() (скінченних) таблиць схеми R розуміється унарна параметрична операція вигляду:

}) ({

) ( : )

, ( R A

CountAR    , CountA,R( )

,R

 

A,

1 ,{A}





 

   ,

при цьому ,R (R), а  – це ранг мультимножини  .

Для випадку порожньої таблиці ,R операція агрегування CountA,R() застосовується так:

,

 

,

,{ }

  

,0

,{ }

)

( 1 1

, R A A A A

CountAR m





 

  .

Приклад 6. Застосуємо операцію агрегування CountA,R() до таблиці ФМ,R за атрибутами A,B,C,D отримаємо таблиці:

} { }}, 6 , {{

)

, ( A A

CountAR   , CountB,R() {{B,6}},{B} , }

{ }}, 6 , {{

)

, ( C C

CountCR   , CountD,R() {{D,6}},{D} .

Висновки

Визначено формальну математичну семантику агрегатних операцій над таблицями як мультимножинами рядків однієї схеми, яка проілюстрована прикладами їх використання. Для заданих агрегатних операцій параме- тром виступає лише один атрибут, проте отримані результати можна розширити на випадки, коли параметром є деяка функція над рядком. Результати роботи можуть бути використані в теорії узагальнених табличних алгебр.

1. Codd E.F. A Relational Model of Data for Large Shared Data Banks / E.F. Codd // Comm. of ACM. – 1970.– 13, N 6. – P. 377–387.

2. Grefen Paul W.P.J., Rolf A. De By A Multi-Set Extended Relational Algebra. A Formal Approach to a Practical Issue // 10th International Conference on Data Engineering, ICDE, February 14-18, 1994, Houston, TX, USA. – 1994. – Р. 80–88.

3. Lamperti G., Melchiori M., Zanella M. On Multisets in Database Systems // Multiset Processing: Mathematical, Computer Science, and Molecular Computing Points of View, number 2235 in Lecture Notes in Computing Since. – Berlin: Springer-Verlag. – 2001. – P. 147–215.

4. Garcia-Molina H. Database Systems: The Complete Book: [2nd Edition] / H. Garcia-Molina, J.D. Ullman, J. Widom. – Prentice Hall, 2008. – 1119 p.

5. Silbeschatz A., Korth H., Sudarshan S. Database System Concepts – McGraw-Hill, 2011. – 1376 p.

6. Редько В.Н., Брона Ю.Й., Буй Д.Б., Поляков С.А. Реляційні бази даних: табличні алгебри та SQL-подібні мови. – Київ: Видавничий дім

"Академперіодика", 2001. – 198 с.

Références

Documents relatifs

Модуль симуляції генерує задачі для кожного з користувачів, зливає їх в один список та власне подає їх на симулятор, який повертає оброблені задачі з

В роботі розглядається використання багаторівневої моделі паралельних обчислень для розв’язування задач лінійної алгебри (систем лінійних алгебраїчних

Застосовуючи теоретико-множинні та логіко-алгебраїчні методи, встановлено, що таблична алгебра нескінченних таблиць не утворює підалгебру мультимножинної табличної

JADEL, which stands for JADE (Java Agent DEvelopment framework) Language, is an agent-oriented programming lan- guage designed to help the development of JADE [1] agents and

A ) is finite. This guarantees the finiteness of a canonical basis. Under this hypothesis, using the results above, we get the following algorithm:.. A finiteness Theorem.. Let

The function Initialise MM builds a fresh “initial” instance, valid for a given class type ppkg, cq P PClassN: its type is ppkg, cq and its state is a function s 0 that associates

The PROJ rule must be applied on a parallel vector available at the current level p. The resulting value is a closure which contains the content of the given vector. As expected,

The great table of Description Logics and formal ontology notations Background on DL semantics..