Модели данных и системы управления базами данных
.pdf
Ïрàктический рàздел |
51 |
|
|
обознàчим Á– биологи клàссà. Îчевидно, в общей чàсти кругов, обознàченной ÌÁ, окàжутсятесàмыебиологи–мàтемàтики,которыенàс интересуют.Òеперьпосчитàем:Âсеговнутрибольшогокругà35ребят,
внутридвухменьших
ребят.Âнутри“мàтемàтического” кругà Ì нàходятся 20 ребят, знàчит, в той чàсти “биологического” кругà,
которàярàсположенàвнекругà Ì, нàходятся
биологов,не
посещàющихмàтемàтическийкружок.Îстàльныебиологи,их
человек,нàходятсявобщейчàстикругов ÌÁ. Òàкимобрàзом,6биологов увлекàютсямàтемàтикой.
Îтвет. 6биологовувлекàютсямàтемàтикой.
Âыполнитеупрàжнения( http://festival.1september.ru/ articles/513260/):
1. клàссе 29 учàщихся. Êàждый из них изучàет хотя бы один язык
– àнглийскийилинемецкий.Àнглийскийязыкизучàют18 человек,немецкийязыкизучàют15человек.Ñколькочеловек изучàютдвàязыкàинемецкий,иàнглийский?
2. клàссе29учàщихся.Èзних16зàнимàютсямузыкой,21 посещàютмàтемàтическийкружок;4незàнимàютсямузыкойине посещàютмàтемàтическийкружок.Ñколькоучàщихсяпосещàют толькомàтемàтическийкружок?Ñколькомàтемàтиков зàнимàютсяимузыкой?
3. пионерскомлàгере70ребят.Èзних27зàнимàютсяв дрàмкружке,32поютвхоре,22увлекàютсяспортом.Â
©2011 Ìолчинà Ë.È.
52 Ìолчинà Ë.È. ÝÓÌÊ Ìодели дàнных и системы упрàвления бàзàми дàнных
дрàмкружке10ребятизхорà,вхоре6спортсменов,вдрàмкружке 8 спортсменов;3спортсменàпосещàютидрàмкружокихор. Ñколькоребятнепоют,неувлекàютсяспортом,незàнимàютсяв дрàмкружке?Ñколькоребятзàнятытолькоспортом?
4. клàссе38человек.Èзних16человекигрàютвбàскетбол,17 человек–вхоккей,18человек–вволейбол.Óвлекàютсядвумя видàмиспортà–бàскетболомихоккеем4человекà,бàскетболом и волейболом3человекà,волейболомихоккеем5человек.Òрое неувлекàютсянибàскетболом,ниволейболом,нихоккеем. Ñколькоребятувлекàютсяодновременнотремявидàмиспортà?
Âопросыктемàтическомузàчетупотеме
“Ýлементытеориимножеств”
1.Êтоявляетсяосновоположникомтеориимножеств?
2.Êàкиедвàмножествàявляютсярàвными?
3.Êàкнàзывàетсямножество,вкоторомнетниодногоэлементà?
4.Ñостàвьтемножествоизàпишитедвàэлементàпринàдлежàщие
этомумножествуидвàэлементàнепринàдлежàщиеему.
5.Êàкоемножествоявляетсяподмножествомдàнногомножествà?
6.Äлямножествà
состàвьтевсеегоподмножествà.
7.Êàкоемножествоявляетсяпересечениемдвухмножеств?
Ïриведитепример.
8.Êàкоемножествоявляетсяобъединениемдвухмножеств? Ïриведитепример.
9.Êàквычитàютсямножествà?Ïриведитепример.
2.1.2Ìàтемàтическàя логикà
Ïрезентàция: Ïрàктическое зàнятие - чàсть 1 Ïрезентàция: Ïрàктическое зàнятие - чàсть 2 Ïрезентàция: Ïрàктическое зàнятие - чàсть 3
© 2011 Ìолчинà Ë.È.
Ïрàктический рàздел |
53 |
|
|
2.1.3Ðеляционнàя àлгебрà
Îсновыреляционнойàлгебры(http://habrahabr.ru/post/145381/)
Ðеляционнàяàлгебрàбàзируетсянàтеориимножествиявляетсяосновой логикирàботыбàздàнных.
Ðеляционнойбàзойдàнныхнàзывàетсясовокупностьотношений, содержàщихвсюинформàцию,которàядолжнàхрàнитсявбàзе. дàнномопределениинàминтересентерминотношение,нопокàостàвим егобезстрогоопределения.
Ëучшепредстàвимсебетàблицупродуктов.
тàблицàPRODUCTS
ID |
NAME |
COMPANY |
PRICE |
123 |
Ïеченьки |
ÎÎΔÒемнàясторонà” |
190 |
156 |
×àй |
ÎÎΔÒемнàясторонà” |
60 |
235 |
Àнàнàсы |
ÎÀÎ ”Ôрукты” |
100 |
623 |
Òомàты |
ÎÎÎ ”Îвощи” |
130 |
Òàблицàсостоитиз4хстрок,строкàвтàблицеявляетсякортежемв реляционнойтеории.Ìножествоупорядоченныхкортежейнàзывàется отношением. Ïередтемкàкдàтьопределениеотношения,введемещеодинтермин— домен.Äоменыприменительноктàблицеэтостолбцы.
Äляясности,теперьвведемстрогоеопределениеотношения.
ÏустьдàныNмножествD1,D2,….Dn(домены),отношениемRнàд этимимножествàминàзывàетсямножествоупорядоченныхN-кортежей видà<d1,d1,...dn>,гдеd1принàдлежитD1итд.ÌножествàD1,D2,..Dn нàзывàютсядоменàмиотношенияR.
Êàждыйэлементкортежàпредстàвляетсобойзнàчениеодногоиз àтрибутов,соответствующегоодномуиздоменов.
Êлючивотношениях
 отношениитребовàниемявляетсято,чтовсекортежидолжны рàзличàться.Äляоднознàчнойидентификàциикортежàсуществует первичный ключ. Ïервичный ключ это àтрибут или нàбор из
© 2011 Ìолчинà Ë.È.
54 Ìолчинà Ë.È. ÝÓÌÊ Ìодели дàнных и системы упрàвления бàзàми дàнных
минимàльногочислààтрибутов,которыйоднознàчноидентифицирует конкретныйкортежинесодержитдополнительныхàтрибутов. Ïодрàзумевàется,чтовсеàтрибутывпервичномключедолжныбыть необходимымиидостàточнымидляидентификàцииконкретного кортежà,иисключениелюбогоизàтрибутоввключесделàетего недостàточнымдляидентификàции.
Íàпример,втàкойтàблицеключомбудетсочетàниеàтрибутовизпервого и второгостолбцà.
тàблицàDRIVERS
COMPANY |
DRIVER |
ÎÎΔÒемнàясторонà” Âлàдимир
ÎÎΔÒемнàясторонà” Ìихàил
ÎÀÎ ”Ôрукты” |
Ðуслàн |
ÎÎÎ ”Îвощи” Âлàдимир
Âидно,чтоворгàнизàцииможетбытьнескольководителей,ичтобы однознàчноидентифицировàтьводителянеобходимоизнàчениеиз столбцà“Íàзвàниеоргàнизàции”ииз“Èмяводителя”. Òàкойключ нàзывàетсясостàвным.
 реляционнойÁÄтàблицывзàимосвязàныисоотносятсядругсдругом кàкглàвныеиподчиненные.Ñвязьглàвнойиподчиненннойтàблицы осуществляетсячерезпервичныйключ(primarykey)глàвнойтàблицыи внешнийключ(foreignkey)подчиненнойтàблицы.
Âнешнийключэтоàтрибутилинàборàтрибутов,которыйвглàвной тàблицеявляетсяпервичнымключем.
Ýтойподготовительнойтеориибудетдостàточнодлязнàкомствàс основнымиоперàциямиреляционнойàлгебры.
Îперàцииреляционнойàлгебры
Îсновныевосемьоперàцийреляционнойàлгебрыбылипредложены Ý. Êоддом.
∙Îбъединение
∙Ïересечение
© 2011 Ìолчинà Ë.È.
Ïрàктический рàздел |
55 |
|
|
∙Âычитàние
∙Äекàртовопроизведение
∙Âыборкà
∙Ïроекция
∙Ñоединение
∙Äеление
Ïервàяполовинàоперàцийàнàлогичнàтàкимжеоперàциямнàд множествàми.×àстьоперàцийможновырàзитьчерездругие оперàции.Ðàссмотримбольшуючàстьоперàцийспримерàми.
Äляпонимàниявàжнозàпомнить,чторезультàтомлюбой оперàцииàлгебрынàдотношениямиявляетсяещеодно отношение,котороеможнопотомтàкжеиспользовàтьвдругих оперàциях.
Ñоздàдимещеоднутàблицу,которàянàмпригодитсявпримерàх.
|
тàблицàSELLERS |
ID |
SELLER |
123 |
OOO “Äàрт” |
156 |
ÎÀÎ ”Âедро” |
235 |
ÇÀΓÎвощеÁàзà” |
623 |
ÎÀÎ ”Ôирмà” |
Óсловимся,чтовэтойтàблицеIDэтовнешнийключ,связàнныйс первичнымключомтàблицыPRODUCTS.
Äлянàчàлàрàссмотримсàмуюпростуюоперàцию—имяотношения.Åё результàтомбудеттàкоежеотношение,тоестьвыполнивоперàцию PRODUCTS,мыполучимкопиюотношенияPRODUCTS.
Ïроекция
Ïроекцияявляетсяоперàцией,прикоторойизотношениявыделяются àтрибутытолькоизукàзàнныхдоменов,тоестьизтàблицывыбирàются тольконужныестолбцы,приэтом,еслиполучитсянесколько одинàковыхкортежей,товрезультирующемотношенииостàетсятолько
© 2011 Ìолчинà Ë.È.
56 Ìолчинà Ë.È. ÝÓÌÊ Ìодели дàнных и системы упрàвления бàзàми дàнных
поодномуэкземпляруподобногокортежà.
ÄляпримерàсделàемпроекциюнàтàблицеPRODUCTSвыбрàвизнееID и PRICE.
Ñинтàксисоперàции: (ID, PRICE) PRODUCTS
 результàтеэтойоперàцииполучимотношение:
ID |
PRICE |
123 |
190 |
156 |
60 |
235 |
100 |
623 |
130 |
Âыборкà
Âыборкà—этооперàция,которàявыделяетмножествостроквтàблице, удовлетворяющихзàдàннымусловиям.Óсловиемможетбытьлюбое логическоевырàжение.
Äляпримерàсделàемвыборкуизтàблицысценойбольше90.
Ñинтàксисоперàции:
(PRICE>90) PRODUCTS |
|
||
ID |
NAME |
COMPANY |
PRICE |
123 |
Ïеченьки |
ÎÎΔÒемнàясторонà” |
190 |
235 |
Àнàнàсы |
ÎÀÎ ”Ôрукты” |
100 |
623 |
Òомàты |
ÎÎÎ ”Îвощи” |
130 |
 условиивыборкимыможемиспользовàтьлюбоелогическое вырàжение.Ñделàемещеоднувыборкусценойбольше90иIDтовàрà меньше300:
(PRICE>90^ID<300) PRODUCTS
ID NAME COMPANY PRICE 123 Ïеченьки ÎÎΔÒемнàясторонà” 190
© 2011 Ìолчинà Ë.È.
Ïрàктический рàздел |
57 |
|
|
235 Àнàнàсы ÎÀÎ ”Ôрукты” |
100 |
Ñовместимоперàторыпроекцииивыборки.Ìыможемэтосделàть, потомучтолюбойизоперàторовврезультàтевозврàщàетотношениеив кàчествеàргументовиспользуеттàкжеотношение.
Èзтàблицыспродуктàмивыберемвсекомпàнии,продàющиепродуты дешевле110.
COMPANY
(PRICE<100) PRODUCTS
COMPANY
ÎÎΔÒемнàясторонà” ÎÀÎ ”Ôрукты”
Óмножение
Óмножениеилидекàртовопроизведениеявляетсяоперàцией, производимойнàддвумяотношениями,врезультàтекотороймы получàемотношениесовсемидоменàмииздвухнàчàльныхотношений. Êортеживэтихдоменàхбудутпредстàвлятьизсебявсевозможные сочетàниякортежейизнàчàльныхотношений.Íàпримеребудет понятнее.
ÏолучимдекàртовопроизведениятàблицPRODUCTSиSELLERS. Ñинтàксисоперàции:
PRODUCTS×SELLERS
Ìожно зàметить, что у двух этих тàблиц есть одинàковый домен ID. Â подобнойситуàциидоменысодинàковыминàзвàниямиполучàют префиксввиденàзвàниясоответствующегоотношения,кàкпокàзàно ниже.
Äлякрàткостиперемножимнеполныеотношения,àвыборкисусловием ID<235
(цветомвыделеныодниитежекортежи) |
|
|
|
PRODUCTS. NAME |
COMPANY |
PRIC SELLERS. SELLER |
|
ID |
|
E |
ID |
Ïеченьк ÎÎΔÒемнàя |
190 |
OOO |
|
123 |
сторонà” |
123 |
|
и |
|
“Äàрт” |
|
© 2011 Ìолчинà Ë.È.
58 Ìолчинà Ë.È. ÝÓÌÊ Ìодели дàнных и системы упрàвления бàзàми дàнных
156 |
×àй |
ÎÎΔÒемнàя |
60 |
ÎÀÎ |
сторонà” |
156 |
|||
|
|
|
”Âедро” |
|
123 |
Ïеченьк ÎÎΔÒемнàя |
190 |
ÎÀÎ |
|
и |
сторонà” |
156 |
||
|
|
”Âедро” |
||
156 |
×àй |
ÎÎΔÒемнàя |
60 |
OOO |
сторонà” |
123 |
|||
|
|
|
“Äàрт” |
|
Äляпримерàиспользовàнияэтойоперàциипредстàвимсебе необходимостьвыбрàтьпродàвцовсценàмименьше90.Áез произведениянеобходимобылобыснàчàлàполучитьIDпродуктовиз первойтàблицы,потомпоэтимIDизвторойтàблицыполучитьнужные именàSELLER,àсиспользовàниемпроизведениябудеттàкойзàпрос:
(SELLER)
(RODUCTS.ID=SELLERS.ID^PRICE<90) PRODUCTS× SELLERS
 результàтеэтойоперàцииполучимотношение: SELLER
ÎÀÎ ”Âедро”
Ñоединениеиестественноесоединение
Îперàциясоединенияобрàтнàоперàциипроекцииисоздàетновое отношениеиздвухужесуществующих.Íовоеотношениеполучàется конкàтенàциейкортежейпервогоивторогоотношений,приэтом конкàтенàцииподвергàютсяотношения,вкоторыхсовпàдàютзнàчения зàдàнныхàтрибутов.Âчàстности,еслисоединитьотношения PRODUCTSиSELLERS,этимиàтрибутàмибудутàтрибутыдоменовID.
Òàкжедляпонятностиможнопредстàвитьсоеднинениекàкрезультàт двухоперàций.Ñнàчàлàберетсяпроизведениеисходныхтàблиц,àпотом изполученногоотношениямыделàемвыборкусусловиемрàвенствà àтрибутовизодинàковыхдоменов.Âдàнномслучàеусловиемявлется рàвенствоPRODUCTS.IDиSELLERS.ID.
ÏопробуемсоединитьотношенияPRODUCTSиSELLERSиполучим отношение.
PRODUCTS NAME COMPANY |
PRIC SELLERS. SELLER |
© 2011 Ìолчинà Ë.È.
Ïрàктический рàздел |
59 |
|
|
.ID |
Ïечень ÎÎΔÒемнàя |
E |
ID |
|
||
123 |
190 |
123 |
OOO “Äàрт” |
|||
ки |
сторонà” |
|||||
|
|
|
|
|||
156 |
×àй |
ÎÎΔÒемнàя |
60 |
156 |
ÎÀÎ ”Âедро” |
|
сторонà” |
||||||
|
|
|
|
|
||
235 |
Àнàнàс ÎÀÎ ”Ôрукты” |
100 |
235 |
ÇÀÎ “Îвоще |
||
|
ы |
|
|
|
Áàзà” |
|
623 |
Òомàты ÎÎÎ ”Îвощи” |
130 |
623 |
ÎÀÎ ”Ôирмà” |
||
Íàтурàльноесоединениеполучàетсхожееотношение,новслучàе,еслиу нàскорректнонàстроенàсхемàвбàзе(вдàнномслучàепервичныйключ тàблицыPRODUCTSIDсвязàнсвнешнимключемтàблицыSELLERS ID),товрезультирующемотношенииостàетсяодиндоменID.
Ñинтàксисоперàции: PRODUCTS
SELLERS;
Ïолучитсятàкоеотношение:
PRODUCTS.
NAME COMPANY PRICE SELLER
ID
123 |
Ïеченьк |
ÎÎΔÒемнàя |
190 |
OOO “Äàрт” |
|
и |
сторонà” |
||||
|
|
|
|||
156 |
×àй |
ÎÎΔÒемнàя |
60 |
ÎÀÎ ”Âедро” |
|
сторонà” |
|||||
|
|
|
ÇÀÎ “Îвоще |
||
235 |
Àнàнàсы ÎÀÎ ”Ôрукты” |
100 |
|||
Áàзà” |
|||||
|
|
|
|
||
623 |
Òомàты |
ÎÎÎ ”Îвощи” |
130 |
ÎÀÎ ”Ôирмà” |
|
Ïересечениеивычитàние.
Ðезультàтомоперàциипересечениябудетотношение,состоящееиз кортежей,полностьювходящихвсостàвобоихотношений. Ðезультàтомвычитàниябудетотношение,состоящееизкортежей, которыеявляютсякортежàмипервогоотношенияинеявляются кортежàмивторогоотношения.
Äàнныеоперàцииàнàлогичнытàкимжеоперàциямнàдмножествàм,тàк что,ядумàю,нетнеобходимостиподробноихрàсписывàть.
© 2011 Ìолчинà Ë.È.
60 Ìолчинà Ë.È. ÝÓÌÊ Ìодели дàнных и системы упрàвления бàзàми дàнных
Èсточникиинформàции
∙Îсновыиспользовàнияипроектировàниябàздàнных—Â.Ì. Èлюшечкин
∙курслекцийIntroductiontoDatabases—JenniferWidom,Stanford University
Îсновныеоперàцииреляционнойàлгебры( http://www.e-uni.ee/e-
kursused/eucip/arendus_vk/252____.html)
Äлятогочтобыдействительнопонятьпоискдàнных,полезнонàчàтьс понятийреляционнойàлгебры,исследуяеепотенциàльныеоперàции.
∙Îбъединениедвухтàблиц(union).Ýтонàборстрок (совокупность,комплект),которыйпринàдлежит,покрàйней мере,одномуиздвухтàбличныхкомплектов.Îбъединениеможно предстàвлять,кàктàблицу,которàясобрàнàизрàзличных столбцовдвухвтàблице.
∙Ðàзницàмеждудвумятàблицàми(difference).Ïредполàгàя,чтов двухтàблицàхимеютсяодинàковыестолбцы,определимрàзницу кàк нàбор строк (совокупность, комплект), которые имеются в первойиотсутствуютвовторойтàблице.
∙Ïрямымпроизведением(декàртово(Descartes)произведение, Cartesianproduct)являетсянàборомстрок(совокупность, комплект),которыйполучàетсяпутемрàсположениякàждой строки из первой тàблицы по одной рядом со строкàми второй тàблицы.Ïримерпрямогопроизведениядвухприведенныхниже тàблицприведенвследующейнижевторойтàблице.Òàким обрàзом,имеемздесьделосовсевозможнымикомбинàциями междустрокàмидвухтàблиц.
© 2011 Ìолчинà Ë.È.
