<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="uk">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">ФОРМАЛЬНА СЕМАНТИКА АГРЕГАТНИХ ОПЕРАЦІЙ МУЛЬТИМНОЖИННОЇ ТАБЛИЧНОЇ АЛГЕБРИ</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">І</forename><forename type="middle">М</forename><surname>Глушко</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Ніжинський державний університет імені Миколи Гоголя</orgName>
								<address>
									<postCode>16600</postCode>
									<settlement>Ніжин</settlement>
									<region>вул. Кропив&apos;янського</region>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Paul</forename><forename type="middle">W P J</forename><surname>Grefen</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Ніжинський державний університет імені Миколи Гоголя</orgName>
								<address>
									<postCode>16600</postCode>
									<settlement>Ніжин</settlement>
									<region>вул. Кропив&apos;янського</region>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Rolf</forename><forename type="middle">A</forename><surname>De By</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Ніжинський державний університет імені Миколи Гоголя</orgName>
								<address>
									<postCode>16600</postCode>
									<settlement>Ніжин</settlement>
									<region>вул. Кропив&apos;янського</region>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">G</forename><surname>Lamperti</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Ніжинський державний університет імені Миколи Гоголя</orgName>
								<address>
									<postCode>16600</postCode>
									<settlement>Ніжин</settlement>
									<region>вул. Кропив&apos;янського</region>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">M</forename><surname>Melchiori</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Ніжинський державний університет імені Миколи Гоголя</orgName>
								<address>
									<postCode>16600</postCode>
									<settlement>Ніжин</settlement>
									<region>вул. Кропив&apos;янського</region>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">M</forename><surname>Zanella</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Ніжинський державний університет імені Миколи Гоголя</orgName>
								<address>
									<postCode>16600</postCode>
									<settlement>Ніжин</settlement>
									<region>вул. Кропив&apos;янського</region>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Г</forename><surname>Гарсіа-Моліна</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Ніжинський державний університет імені Миколи Гоголя</orgName>
								<address>
									<postCode>16600</postCode>
									<settlement>Ніжин</settlement>
									<region>вул. Кропив&apos;янського</region>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Дж</forename><surname>Ульман</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Ніжинський державний університет імені Миколи Гоголя</orgName>
								<address>
									<postCode>16600</postCode>
									<settlement>Ніжин</settlement>
									<region>вул. Кропив&apos;янського</region>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Дж</forename><surname>Уидом</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Ніжинський державний університет імені Миколи Гоголя</orgName>
								<address>
									<postCode>16600</postCode>
									<settlement>Ніжин</settlement>
									<region>вул. Кропив&apos;янського</region>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">A</forename><surname>Silbeschatz</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Ніжинський державний університет імені Миколи Гоголя</orgName>
								<address>
									<postCode>16600</postCode>
									<settlement>Ніжин</settlement>
									<region>вул. Кропив&apos;янського</region>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">H</forename><surname>Korth</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Ніжинський державний університет імені Миколи Гоголя</orgName>
								<address>
									<postCode>16600</postCode>
									<settlement>Ніжин</settlement>
									<region>вул. Кропив&apos;янського</region>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">S</forename><surname>Sudarshan</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Ніжинський державний університет імені Миколи Гоголя</orgName>
								<address>
									<postCode>16600</postCode>
									<settlement>Ніжин</settlement>
									<region>вул. Кропив&apos;янського</region>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Д</forename><forename type="middle">Б</forename><surname>Буй</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Ніжинський державний університет імені Миколи Гоголя</orgName>
								<address>
									<postCode>16600</postCode>
									<settlement>Ніжин</settlement>
									<region>вул. Кропив&apos;янського</region>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">С</forename><forename type="middle">А</forename><surname>Поляков</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Ніжинський державний університет імені Миколи Гоголя</orgName>
								<address>
									<postCode>16600</postCode>
									<settlement>Ніжин</settlement>
									<region>вул. Кропив&apos;янського</region>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Ю</forename><forename type="middle">Й</forename><surname>Брона</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Ніжинський державний університет імені Миколи Гоголя</orgName>
								<address>
									<postCode>16600</postCode>
									<settlement>Ніжин</settlement>
									<region>вул. Кропив&apos;янського</region>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">В</forename><forename type="middle">Н</forename><surname>Редько</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Ніжинський державний університет імені Миколи Гоголя</orgName>
								<address>
									<postCode>16600</postCode>
									<settlement>Ніжин</settlement>
									<region>вул. Кропив&apos;янського</region>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">ФОРМАЛЬНА СЕМАНТИКА АГРЕГАТНИХ ОПЕРАЦІЙ МУЛЬТИМНОЖИННОЇ ТАБЛИЧНОЇ АЛГЕБРИ</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">5A39565D60AEE3798552A928667201C0</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T05:17+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Розглянуто мультимножинну табличну алгебру. Сигнатура мультимножинної табличної алгебри поповнена агрегатними операціями. Задано формальну математичну семантику цих операцій та наведено приклади їх застосування.</p><p>М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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Вступ</head><p>Реляційна модель даних на сьогодні широко використовується як у наукових дослідженнях в базах даних, так і на практиці. У формальному визначенні, запропонованому Е. Коддом [1], дана модель базується на множинах кортежів, тобто не дозволяє дублікати кортежів у відношенні. Багато мов, орієнтованих на роботу з базами даних, вимагають реляційну модель даних з мультимножинною семантикою (multi-set semantics) тому, що, по-перше, відношення, які дозволяють дублікати, корисні в багатьох прикладних областях, де об'єктидублікати можуть існувати; по-друге, в реляційній моделі даних видалення дублікатів після виконання операцій проекції та об'єднання передбачає злиття однакових елементів або здійснення інших трудомістких дій.</p><p>Питанню використання мультимножин в базах даних приділяли увагу</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="uk">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Мультимножини: основні поняття</head><p>Наведемо основні поняття мультимножин в термінах роботи <ref type="bibr" target="#b5">[6]</ref>. Зафіксуємо деяку множину U . Мультимножина  включається у мультимножину  (    ), якщо:</p><formula xml:id="formula_0">      d d U d d U U              &amp;  . Якщо    , то мультимножина  називається підмультимножиною мультимножини  , а мультимно- жина  -надмультимножиною мультимножини  . Очевидно, що порожня мультимножина є підмультимно- жиною будь-якої мультимножини (     ,  m ), а будь-яка мультимножина є своєю ж підмультимножиною (     , </formula><p>). </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Мультимножинна таблична алгебра</head><formula xml:id="formula_1">} { : NULL R s NULL R  .</formula><p>Задамо поняття таблиці як пари R ,</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head></head><p>, де перша компонента  -це довільна мультимножина, зокрема, нескінченна, а друга компонента R -схема таблиці.</p><p>Таким чином, кожній таблиці приписується певна схема. Множину всіх таблиць схеми R позначимо</p><formula xml:id="formula_2">) (R  , а множину всіх таблиць  A ) (     R R .</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Позначимо</head><p>) ,</p><formula xml:id="formula_3">(  s Occ -кількість дублікатів (екземплярів) рядка s у мультимножині  . Домовимося му- льтимножину  записувати як } , ,..., { 1 1  k n k n s s , де ) , (  i i s Occ n  ,  , 2 , 1  i , а } , ,..., { ) ( 1  k s s    -основа мультимножин  . Під мультимножинною табличною алгеброю розуміємо алгебру    , , P , де  -множина всіх таб- лиць,                      , A , , ,<label>, , , , , , , , 2 1 2 1</label></formula><p>, , , , , \ , ,</p><formula xml:id="formula_4">P p R R R X R R R R R X R p R All R All R All P Rt   -сигнатура, P ,  -множини параметрів. Задамо операції. Під об'єднанням R All  (перетином R All  , різницею R All \ ) таблиць схеми R розуміється бінарна (параметрична) операція, отримана обмеженням однойменних операцій All  , All  , All \ над мульти- множинами на множину всіх таблиць схеми R .</formula><p>Розглянемо кожну операцію окремо. Позначимо через</p><formula xml:id="formula_5">) ( 1   і ) ( 2   -основи мультимножин 1  та 2  відповідно. Таким чином, ) ( ) ( ) ( : R R R R All       , R R R All R All , , , 2 1 2 1        .</formula><p>Основа мультимножини</p><formula xml:id="formula_6">2 1   All </formula><p>дорівнює об'єднанню основ мультимножин таблиць-аргументів:</p><formula xml:id="formula_7">) ( ) ( ) ( 2 1 2 1           All .</formula><p>Дублікати рядків, які з'явилися після виконання операції, не вилучаються. Кількість дублікатів кожного рядка визначається за формулою:</p><formula xml:id="formula_8">                ); ( ) ( якщо ), , ( ) , ( ), ( \ ) ( якщо ), , ( ), ( \ ) ( якщо ), , ( ) , ( 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 де ) ( ) ( 2 1       s . ) ( ) ( ) ( : R R R R All       , причому R R R All R All , , , 2 1 2 1        .</formula><p>Основа мультимножини</p><formula xml:id="formula_9">2 1   All </formula><p>дорівнює перетину основ мультимножин таблиць-аргментів:</p><formula xml:id="formula_10">) ( ) ( ) ( 2 1 2 1           All , а кількість дублікатів рядка визначається як   ) , ( ), , ( min ) , ( 2 1 2 1     s Occ s Occ s Occ All   , де ) ( ) ( 2 1       s . ) ( ) ( ) ( : \ R R R R All      , причому R R R All R All , \ , \ , 2 1 2 1      , де R , 1  , ). ( , 2 R R    Основа мультимножини 2 1 \   All визначається як ) , ( ) ( \ ) ( ) \ ( 2 1 2 1 2 1            C All  , де   ) , ( ) , ( ) ( ) ( | ) , ( 2 1 2 1 2 1       s Occ s Occ s s C         . Кількість дублікатів знаходиться так:             ), , ( якщо ), , ( ) , ( ), ( \ ) ( якщо ), , ( ) \ , ( 2 1 2 1 2 1 1 2 1          C s s Occ s Occ s s Occ s Occ All де   ) , ( ) ( \ ) ( 2 1 2 1         C s  . Нехай } , { : false true S p </formula><p>-частковий предикат на множині рядків. Під селекцією за предикатом p таблиць схеми R розуміється унарна часткова параметрична операція R p,  , яка таблиці зіставляє її підтабли- цю, що містить рядки, на яких предикат p істинний (крім того, предикат p має бути визначеним на всіх рядках таблиці-аргументу).</p><p>Отже,</p><formula xml:id="formula_11">) ( ) ( : , R R R p     ,   p dom R dom R p    ) ( | , ,    ,   R R R p , ' , ,     , де ) ( , R R    .</formula><p>Областю означеності операції селекції є таблиці </p><formula xml:id="formula_12">) ( , R R    , які містять рядки ) (R S s  , на</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head></head><p>, значеннями якої є таблиці схеми X R  , що складаються з обмежень за X рядків вихідних таблиць.</p><p>Отже,</p><formula xml:id="formula_13">) ( ) ( : , X R R R X      ,   X R R R X  , , ,      , де ) ( , R R    . Основа мультимножини   визначається як )} ( | | { ) (        s X s</formula><p>. Дублікати рядків, які з'явилися після виконання операції, не вилучаються. Кількість дублікатів кожного рядка визначається за формулою:</p><formula xml:id="formula_14">        s X s s s Occ s Occ | ), ( ) , ( ) , (    , де ) (     s . Під з'єднанням таблиць схем 1 R , 2 R розуміється бінарна параметрична операція 2 1 ,R R  , значеннями якої є таблиці схеми 2 1 R R  , що складаються з усяких об'єднань сумісних рядків вихідних таблиць. Отже, ) ( ) ( ) ( : 2 1 2 1 , 2 1 R R R R R R        , 2 1 2 2 , 1 1 , , , 2 1 R R R R R R        , де ), ( , 1 1 1 R R    ) ( , 2 2 2 R R   </formula><p>. Змістовно кажучи, кожний рядок з 1  з'єднується з кожним рядком із 2  , незалежно від того -дублікат це чи ні.</p><p>Основою мультимножини   є множина рядків </p><formula xml:id="formula_15">    2 1 2 1 2 2 1 1 2 1 ' ) ( ) ( | ' ) ( s s s s s s s s s s                   . Кількість дублікатів знаходиться так: ), , | ' ( ) , | ' ( ) , ' ( 2 2 1 1    R s Occ R s Occ s Occ    де ) ' ( '    s . Введемо операцію перейменування. Під перейменуванням таблиць схеми R розуміється унарна параме- трична операція R R ,   , де A A  :  -ін'</formula><formula xml:id="formula_16">,   s A A s A s Rs 2 1 | ) ( ), ( ) (      , при- чому \domξ A id     . Схема R називається  -допустимою, якщо   ) \ ( ] [   dom R R  . Тут ] [R  -повний образ множини R відносно функції  . Множину таблиць схеми R , де схема R  -допустима позначимо ) (R   .</formula><p>Під перейменуванням таблиць схеми R , що відповідає ін'єктивній частковій функції перейменування атрибутів A A  :</p><formula xml:id="formula_17"> , розуміється унарна параметрична операція R R ,   з областю означеності ) (R  </formula><p>, значення якої задаються таким чином:</p><formula xml:id="formula_18">  ] [ ], [ , , R Rs R R R        , де ) (R     ,    \dom A id   , ] [  Rs -по- вний образ мультимножини  з основою ) (  відносно функції  Rs . Основою мультимножини ] [  Rs є повний образ множини ) (  відносно функції R Rs ,  . А кількість дублікатів рядка у результуючій таблиці задається рівністю   ) , ( ] [ ,    s Occ Rs s Occ   , де ) ( 1 s Rs s     , ) (     s .</formula><p>Введемо операцію активного доповнення. Для цього введемо декілька допоміжних понять.</p><formula xml:id="formula_19">Активним доменом атрибута R A відносно таблиці R ,  називається таблиця   R D R A A , }, { ,     . Насиченням таблиці R ,  є таблиця       R R R C R A A A A A A R A n n n , ... , , }, { } { }, ,..., { } { }, { }, { 1 1 2 1 1          .</formula><p>Під активним доповненням таблиці схеми R розуміється унарна параметрична операція R ~, яка таблиці зіставляє доповнення в її насиченні.</p><p>Отже, R ~:</p><formula xml:id="formula_20">) ( ) ( R R    ,     R R C R R All R , \ , , ~    , де ) ( , R R    .</formula><p>Твердження. Мають місце наступні твердження: 1) будь-який вираз мультимножинної табличної алгебри можна замінити еквівалентним йому виразом, який використовує лише операції селекції, з'єднання, проекції, об'єднання, різниці та перейменування;</p><p>2) будь-який вираз мультимножинної табличної алгебри, який містить лише скінченні таблиці можна замінити еквівалентним йому виразом, який використовує сталі таблиці з єдиним атрибутом і єдиним рядком, операції селекції, з'єднання, проекції, об'єднання, різниці й перейменування.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Агрегатні операції</head><p>Широко використовуваними агрегатними операціями є Sum , Avg , Min , Max , Count . Так, операція Sum розраховує суму значень у відповідному стовпці заданої таблиці, при цьому значення NULL ігноруються. Операція Avg визначає середнє арифметичне значень у відповідному стовпці заданої таблиці, при цьому значення NULL ігноруються. Операції Min та Max знаходять найменше та найбільше значення у відповідному стовпці заданої таблиці, при цьому значення NULL так само ігноруються. Операція Count визначає кількість значень, відмінних від NULL , у відповідному стовпці заданої таблиці. Операція</p><formula xml:id="formula_21">) ( Count визначає кількість рядків у заданій таблиці. Нехай ) ( , R R    , причому  -скінченна мультимножина і A -деякий атрибут схеми R , R A  . Позначимо через A  -мультимножину, яка містить всі елементи стовпця з атрибутом A таблиці R ,  . Тоді   , A A D  , де   R D R A A , , ,     -активний домен атрибута A відносно таблиці R ,  . Нехай } 2 ) ( | { 2 ' D ' D      m -сім'я всіх мультимножин, основи яких є скінченними підмножинами множини ' D ; тут D D  '</formula><p>-підмножина універсального домену. Нехай Num -числова підмножина універсального домену D , замкнена відносно додавання. Множина Num розширена включенням особливого елемента NULL , але при цьому операція додавання на випадок, коли хоча б один з аргументів є NULL не розширюється.</p><p>Задамо агрегатні операції Sum , Avg , Min , Max , Count . Їхніми аргументами є скінченні таблиці, а зна- ченнями -одноатрибутні таблиці з одним рядком. Загальна схема: спочатку на скінченній мультимножині визначаються функції сумування, взяття найменшого та найбільшого значення, визначення середнього арифметичного і кількості елементів, а потім ці функції переносяться на таблиці.</p><p>Під операцією агрегування</p><formula xml:id="formula_22">R A Sum , за атрибутом A (скінченних) таблиць схеми R , R A  , розуміється унарна параметрична операція вигляду }) ({ ) ( : , A R Sum R A    ,       } { , ) ( , , 1 , A Sum A R Sum A R A    , де ) ( , R R    , а Sum -функція, що повертає суму значень стовпця з атрибутом A таблиці R ,</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head></head><p>(ці значення можуть повторюватися), які відрізняються від значення NULL , крім того, цей стовпець містить лише дані числового типу. Отже, Позначимо рядки: </p><formula xml:id="formula_23">                   {NULL} d A A A A A A NULL d d NULL NULL NULL Sum \ ) ( . } { \ ) ( якщо ), ( }; { ) ( якщо , ; ) ( якщо , ) (       Верхній індекс 1 вказує на те, що рядок } ) ( , { A Sum A  входить у результуючу таблицю лише один раз, тобто кількість дублікатів даного рядка дорівнює однин. Таким чином, NULL Sum m   ) ( , NULL NULL Sum n  }) ({ ,        k i i i n k n n d d d Sum k 1 1 , , 1  , в припущенні, що всі елементи i d відрізняються від елемента NULL . Для випадку порожньої таблиці R ,   операція агрегування R A Sum , застосовується так:       } { , , , 1 , A NULL A R Sum R A    .<label>Приклад</label></formula><formula xml:id="formula_24">} 3 , ,<label>4 , , 2 , , 4 , { 1</label></formula><formula xml:id="formula_25">         D C B A s , } 2 , ,<label>3 , , 3 , , 4 , { 2</label></formula><formula xml:id="formula_26">         D C B A s , } 1 , ,<label>3 , , 3 , , 3 , { 3</label></formula><formula xml:id="formula_27">         D C B A s , де ) ( , R R    , а</formula></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head></head><label></label><figDesc>Під мультимножиною  з основою U будемо розуміти відображення вигляду Нехай D -універсум елементів основ мультимножин, тоді булеан ) (D P -універсум основ мультимножин. Під характеристичною функцією мультимножини  розуміємо функцію вигляду де  Z -множина цілих невід'ємних чисел.. Мультимножина називається порожньою і позначається як m  , якщо її основа -порожня множина. Мультимножини, областю значень яких є порожня множина або одноелементна множина вигляду {1}, називаються 1-мультимножинами. Дані мультимножини є аналогами звичайних множин. Домовимося мультимножину  з основою Під рангом скінченної мультимножини  розуміємо суму дублікатів елементів її основи</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>Розглянемо дві множини:A -множину атрибутів і D -універсальний домен. Довільну скінченну множину атрибутів A  Rназвемо схемою. Рядком схеми R називається іменна множина на парі R , D , проекція якої за першою компонентою рі-</figDesc><table><row><cell cols="3">вна R (тобто по суті розглядається функція вигляду</cell><cell>s :</cell><cell>R</cell><cell></cell><cell>D</cell><cell>). Множину всіх рядків схеми R позначимо</cell></row><row><cell>S</cell><cell>(R</cell><cell>)</cell><cell></cell><cell></cell><cell></cell></row></table><note>, а множину всіх рядків -S . Для позначення відсутніх значень у таблиці використовується особливий елемент універсального домену NULL . Позначимо NULL R s -константний рядок схеми R , тобто</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_3"><head></head><label></label><figDesc>1. Серед студентів фізико-математичного факультету було проведено анонімне опитування на визначення рівня самооцінки. Проаналізовано відповіді 6 учасників вибраних довільним чином з кожного факультету. Дані відображені в таблиці</figDesc><table><row><cell cols="2">R ФМ , , де</cell><cell>R </cell><cell>{</cell><cell>, A</cell><cell>B</cell><cell>,</cell><cell>C</cell><cell>,</cell><cell>} D</cell><cell>(див. таблицю). Атрибути схеми R -це за-</cell></row><row><cell cols="2">питання, дані в таблицях -це відповіді студентів.</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell>Запитання (атрибути):</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell cols="3">A -чи турбуєтеся Ви за свій психічний стан?</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell cols="2">B -чи турбуєтеся Ви про своє майбутнє?</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell cols="11">C -чи боїтеся Ви виступати з промовою перед незнайомими людьми?</cell></row><row><cell>D -чи часто Ви робите помилки?</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell>Варіанти відповіді:</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell>1 -часто;</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell>2 -іноді;</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell>3 -рідко;</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell>4 -ніколи.</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>Таблиця</cell></row><row><cell>A</cell><cell>B</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>C</cell><cell>D</cell></row><row><cell>4</cell><cell>2</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>4</cell><cell>3</cell></row><row><cell>4</cell><cell>2</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>4</cell><cell>3</cell></row><row><cell>4</cell><cell>2</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>4</cell><cell>3</cell></row><row><cell>4</cell><cell>3</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>3</cell><cell>2</cell></row><row><cell>4</cell><cell>3</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>3</cell><cell>2</cell></row><row><cell>3</cell><cell>3</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>3</cell><cell>1</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_4"><head></head><label></label><figDesc>Max -функція, що повертає найбільше значення серед значень стовпця з атрибутом A</figDesc><table><row><cell>таблиці</cell><cell></cell><cell>,</cell><cell>R</cell><cell cols="12">, відмінних від NULL , тобто</cell><cell cols="4">Max 2 :</cell><cell cols="3">D  m</cell><cell cols="2">D</cell><cell>,</cell><cell></cell><cell></cell><cell></cell></row><row><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>Max</cell><cell>( </cell><cell>A</cell><cell>)</cell><cell></cell><cell cols="2">    </cell><cell cols="2">max{ d , NULL , NULL</cell><cell>|</cell><cell cols="3"> якщо  d якщо</cell><cell cols="3">)  ( A   (  ( </cell><cell cols="7">якщо }; NULL }}, NULL   ; ) { A \  { ) A</cell><cell cols="2"></cell><cell>( </cell><cell>A</cell><cell>)</cell><cell>\</cell><cell>{</cell><cell>} NULL</cell><cell></cell><cell> .</cell></row><row><cell cols="5">Таким чином,</cell><cell cols="6">Max m   ) (</cell><cell cols="2">NULL</cell><cell>,</cell><cell></cell><cell cols="2">Max</cell><cell cols="2">({</cell><cell cols="3">NULL n</cell><cell cols="2">})</cell><cell></cell><cell>NULL</cell><cell>,</cell><cell cols="2">Max</cell><cell></cell><cell> d 1 n 1</cell><cell>,</cell><cell></cell><cell>,</cell><cell>d</cell><cell>n k k</cell><cell> </cell><cell></cell><cell>max{ d 1</cell><cell>,</cell><cell></cell><cell>,</cell><cell>d</cell><cell>k</cell><cell>}</cell><cell>, в припу-</cell></row><row><cell cols="30">щенні, що всі елементи i d , Для випадку порожньої таблиці k i , 1  , відрізняються від значення NULL . R ,   операція агрегування Max , застосовується так: R A      { , , , 1 , A NULL A R Max R A    .                   k i i k n k n n k n n k n n i d n n d d Count d d Sum d d Avg k k k 1 1 1 1 1 ) ( 1 , , / , , , , 1 1 1     в припущенні, що всі елементи i  } Приклад 3. Застосуємо операцію агрегування R A Max , до таблиці R ФМ , за атрибутами , Для випадку порожньої таблиці R ,   операція агрегування R A Avg</cell><cell>A ,</cell><cell>B</cell><cell>,</cell><cell>C</cell><cell>,</cell><cell>D</cell></row><row><cell cols="5">отримаємо таблиці:</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell></row></table><note>d відрізняються від елемента NULL . , застосовується так:</note></figure>
		</body>
		<back>
			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>.</p><p>Нехай ≤ -лінійний порядок на універсальному домені D . Під операцією агрегування R A Min , за атрибутом A (скінченних) таблиць схеми R , R A  , розуміється унарна параметрична операція вигляду:</p><p>, відрізняються від елемента NULL .</p><p>Зазначимо, що функції Min та Max визначають найменший або найбільший елемент основи мультимножини A  серед елементів основи, відмінних від NULL , тому порівнянність особливого елемента NULL з рештою елементів універсального домену в даному випадку неістотна. Під операцією агрегування</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head></head><p>, тобто:</p><p>покладається за означенням, що сума порожньої множини доданків дорівнює нулю.</p><p>, відрізняються від елемента NULL .</p><p>отримаємо таблиці: . Довизначимо операцію ділення так, що коли перший агрумент дорівнює NULL , то функція приймає значення NULL .</p><p>Під операцією агрегування</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head></head><p>, які відрізняються від значення NULL , з урахуванням дублікатів, тобто:</p><p>Приклад 5. Застосуємо операцію агрегування </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Count</head><p>(скінченних) таблиць схеми R розуміється унарна параметрична операція вигляду:</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Висновки</head><p>Визначено формальну математичну семантику агрегатних операцій над таблицями як мультимножинами рядків однієї схеми, яка проілюстрована прикладами їх використання. Для заданих агрегатних операцій параметром виступає лише один атрибут, проте отримані результати можна розширити на випадки, коли параметром є деяка функція над рядком. Результати роботи можуть бути використані в теорії узагальнених табличних алгебр.</p></div>			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">A Relational Model of Data for Large Shared Data Banks</title>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">F</forename><surname>Codd</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">// Comm. of ACM</title>
		<editor>E.F. Codd</editor>
		<imprint>
			<biblScope unit="volume">13</biblScope>
			<biblScope unit="issue">6</biblScope>
			<biblScope unit="page" from="377" to="387" />
			<date type="published" when="1970">1970</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">De By A Multi-Set Extended Relational Algebra</title>
		<author>
			<persName><forename type="first">Grefen</forename><surname>Paul</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">P J</forename><surname>Rolf</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename></persName>
		</author>
		<idno>-Р. 80-88</idno>
	</analytic>
	<monogr>
		<title level="m">A Formal Approach to a Practical Issue // 10th International Conference on Data Engineering, ICDE</title>
				<meeting><address><addrLine>Houston, TX, USA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="1994">February 14-18, 1994. 1994</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">On Multisets in Database Systems // Multiset Processing: Mathematical, Computer Science, and Molecular Computing Points of View</title>
		<author>
			<persName><forename type="first">G</forename><surname>Lamperti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Melchiori</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Zanella</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="s">Lecture Notes in Computing Since</title>
		<imprint>
			<biblScope unit="page" from="147" to="215" />
			<date type="published" when="2001">2235. 2001</date>
			<publisher>Springer-Verlag</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m" type="main">Database Systems: The Complete Book</title>
		<author>
			<persName><forename type="first">H</forename><surname>Garcia-Molina</surname></persName>
		</author>
		<editor>H. Garcia-Molina, J.D. Ullman, J. Widom</editor>
		<imprint>
			<date type="published" when="2008">2008</date>
			<publisher>-Prentice Hall</publisher>
			<biblScope unit="page">1119</biblScope>
		</imprint>
	</monogr>
	<note>2nd Edition</note>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<author>
			<persName><forename type="first">A</forename><surname>Silbeschatz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Korth</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Sudarshan</surname></persName>
		</author>
		<title level="m">Database System Concepts -McGraw-Hill</title>
				<imprint>
			<date type="published" when="2011">2011</date>
			<biblScope unit="page">1376</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<author>
			<persName><forename type="first">В</forename><forename type="middle">Н</forename><surname>Редько</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ю</forename><forename type="middle">Й</forename><surname>Брона</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Д</forename><forename type="middle">Б</forename><surname>Буй</surname></persName>
		</author>
		<author>
			<persName><forename type="first">С</forename><surname>Поляков</surname></persName>
		</author>
		<title level="m">Реляційні бази даних: табличні алгебри та SQL-подібні мови. -Київ: Видавничий дім &quot;Академперіодика</title>
				<imprint>
			<date type="published" when="2001">2001</date>
			<biblScope unit="page">198</biblScope>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
