Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Модели данных и системы управления базами данных

.pdf
Скачиваний:
0
Добавлен:
24.11.2025
Размер:
3.86 Mб
Скачать

Ïрàктический рàздел

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.

Ñинтàксисоперàции: PRODUCTSSELLERS;

Ïолучитсятàкоеотношение:

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 Ìолчинà Ë.È.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]