Модели данных и системы управления базами данных
.pdf
Ïрàктический рàздел |
71 |
|
|
Ðеляционноеисчисление
 реляционноймоделиопределяютсядвàбàзовыхмехàнизмà мàнипулировàниядàнными[5]:
∙основàннàянàтеориимножествреляционнàяàлгебрà
∙основàнноенàмàтемàтическойлогикереляционноеисчисление.
Òàкжекàкивырàженияреляционнойàлгебрыформулыреляционного исчисленияопределяютсянàдотношениямиреляционныхбàздàнных,и результàтомвычислениятàкжеявляетсяотношение.Ýтимехàнизмы мàнипулировàниядàннымирàзличàютсяуровнемпроцедурности:
∙зàпрос,предстàвленныйнàязыкереляционнойàлгебры,может бытьвычисленнàосновевычисленияэлементàрных àлгебрàическихоперàцийсучетомихстàршинствàивозможных скобок
∙формулàреляционногоисчислениятолькоустàнàвливàетусловия, которымдолжныудовлетворятькортежирезультирующего отношения.Ïоэтомуязыкиреляционногоисчисленияявляются
©2011 Ìолчинà Ë.È.
72 Ìолчинà Ë.È. ÝÓÌÊ Ìодели дàнных и системы упрàвления бàзàми дàнных
болеенепроцедурнымиилидеклàрàтивными.
Ïример:Ïустьдàныдвàотношения:
СОТРУДНИКИ (СОТР_НОМЕР, СОТР_ИМЯ, СОТР_ЗАРПЛ, ОТД_НОМЕР) ОТДЕЛЫ(ОТД_НОМЕР, ОТД_КОЛ, ОТД_НАЧ)
Ìыхотимузнàтьименàиномерàсотрудников,являющихся нàчàльникàмиотделовсколичествомрàботниковболее10.Âыполнение этогозàпросàсредствàмиреляционнойàлгебрырàспàдàетсянàчетко определеннуюпоследовàтельностьшàгов:
(1).выполнитьсоединениеотношенийСОТРУДНИКИиОТДЕЛЫпо условию СОТР_НОМ = ОТДЕЛ_НАЧ.
С1 = СОТРУДНИКИ [СОТР_НОМ = ОТД_НАЧ] ОТДЕЛЫ
(2).изполученногоотношенияпроизвестивыборкупоусловию ÎÒÄ_ÊÎË > 10
Ñ2 = Ñ1 [ÎÒÄ_ÊÎË > 10].
(3).спроецироватьрезультатыпредыдущейоперациинаатрибуты СОТР_ИМЯ,СОТР_НОМЕР
С3 = С2 [СОТР_ИМЯ, СОТР_НОМЕР]
Заметим,чтопорядоквыполненияшаговможетповлиятьна эффективностьвыполнениязапроса.Так,времявыполнения приведенноговышезапросаможносократить,еслипоменятьместами этапы(1)и(2).ВэтомслучаесначалаизотношенияСОТРУДНИКИ будетсделанавыборкавсехкортежейсозначениематрибута ОТДЕЛ_КОЛ>10,азатемвыполненосоединениерезультирующего отношениясотношениемОТДЕЛЫ.Машинноевремяэкономитсязасчет того,чтовоперациисоединенияучаствуютменьшиеотношения.На языкереляционногоисчисленияданныйзапросможетбытьзаписанкак:
Выдать СОТР_ИМЯ и СОТР_НОМ для СОТРУДНИКИ таких, что
существует ОТДЕЛ с таким же, что и СОТР_НОМ значением ОТД_НАЧ
и знàчениемÎÒÄ_ÊÎËбольшим50.
© 2011 Ìолчинà Ë.È.
Ïрàктический рàздел |
73 |
|
|
Здесьмыуказываемлишьхарактеристикирезультирующегоотношения, нонеговоримоспособеегоформирования.СУБДсамадолжнарешить какиеоперацииивкакомпорядкенадовыполнитьнадотношениями СОТРУДНИКИиОТДЕЛЫ.Задачаоптимизациивыполнениязапросав этомслучаетакжеложитсянаСУБД. .
2.1.4Ïроектировàние ÁÄ. Îргàнизàция связей между объектàми ÁÄ
Öель рàботы:
1)получить прàктические нàвыки создàния бàз дàнных;
2)нàучится создàвàть тàблицы бàзы дàнных;
3)приобрести прàктические нàвыки создàния и изменения связей между тàблицàми;
4)освоить основные приемы зàполнения и редàктировàния тàблиц бàзы дàнных.
Çàдàчà. Â туристической фирме требуется àвтомàтизировàть учет оргàнизуемых поездок и покупки путевок клиентàми. Äля этого необходимо создàть бàзу дàнных, в которой будут содержàться все необходимые сведения о поездкàх, формируемых группàх, клиентàх, à тàкже сведения о покупке путевок.
Äля решения постàвленной зàдàчи требуется обеспечить хрàнение следующей информàции в тàблицàх бàзы дàнных «Òуристическàя фирмà»
?о стрàнàх: ÊодÑтрàны, нàзвàние, столицà, язык стрàны;
?о поездкàх: ÊодÏоездки, Ñтрàнà, мàршрут, фото, количество дней поездки, тип поездки, вид трàнспортà, рàзмещение, питàние, стоимость;
?о группàх: №группы, код поездки, дàтà отъездà, количество путевок;
?о клиентàх: №пàспортà, фàмилия, имя, отчество, àдрес, контàктный телефон;
?о зàявкàх: №зàявки, №группы, №пàспортà, количество путевок, скидкà (нет скидки, 5 % или 10 %), необходимость визы.
Íеобходимо создàть связи и обеспечить целостность дàнных
?между тàблицàми Ñтрàны и Ïоездки по полю ÊодÑтрàны и Ñтрàнà, тип связи «один-ко-многим»;
?между тàблицàми Ïоездки и Ãруппы по полю ÊодÏоездки, тип связи «один-ко- многим»;
?между тàблицàми Ãруппы и Çàявки по полю №группы, тип связи «один-ко-
©2011 Ìолчинà Ë.È.
74 Ìолчинà Ë.È. ÝÓÌÊ Ìодели дàнных и системы упрàвления бàзàми дàнных
многим»;
?между тàблицàми Êлиенты и Çàявки по полю №пàспортà, тип связи «один-ко- многим».
2.1.4.1Ïроектировàние тàблиц бàзы дàнных
Çàдàние 1. Ñоздàйте новую бàзу дàнных – Òуристическàя фирмà.
Ïорядок выполнения:
1.Çàгрузите MS Access.
2. облàсти зàдàч перейдите по ссылке Íовàя бàзà дàнных.
3. диàлоговом окне Ôàйл новой бàзы дàнных выберите свою пàпку в списке пàпок и щелкните в поле вводà Èмя фàйлà. Âведите имя бàзы дàнных – Òуристическàя фирмà – и нàжмите кнопку Ñоздàть.
Ïримечàние: Ïосле создàния нового фàйлà ÁÄ в поле окнà Access появится окно бàзы
дàнных. Â окне бàзы дàнных кàждый ярлык соответствует объекту бàзы дàнных. Ìожно рàботàть кàк с бàзой дàнных целиком (создàние, открытие и зàкрытие бàзы дàнных), тàк и с кàждым ее объектом в отдельности. Äля рàботы с любым объектом предусмотрено двà режимà: оперàтивный режим, в котором осуществляется просмотр и изменение информàции (кнопкà Îткрыть), и режим Êонструкторà, в котором изменяется мàкет, структурà объектà (кнопкà Êонструктор). Íàбор пунктов горизонтàльного меню и состàв пàнели инструментов зàвисят от àктивного окнà, т. е. от того, кàкому объекту соответствует àктивное окно и в кàком режиме происходит рàботà с этим объектом.
Çàдàние 2. Ñоздàйте в режиме Êонструкторà тàблицу бàзы дàнных Ñтрàны, структурà которой приведенà в тàбл. 10 (знàчок
в схеме тàблицы ознàчàет, что поле является ключевым). Çàполните тàблицу дàнными.
© 2011 Ìолчинà Ë.È.
Ïрàктический рàздел |
75 |
|
|
Òàблицà 1
|
|
|
|
|
Ñтруктурà тàблицы Ñтрàны |
|
|
|
Òип |
Ñвойствà поля |
|
||
Èмя поля |
|
|
Îписàние |
|||
|
Ïодстà- |
|||||
дàнных |
Îбщие |
|||||
|
|
новкà |
|
|||
|
|
|
|
|
||
|
|
|
|
|
|
|
ÊодÑтрàны |
Òекстов |
Ðàзме |
|
|
||
р поля |
– |
Óникàльный код стрàны |
||||
|
|
|||||
|
|
ый |
||||
|
|
– 2 |
|
|
||
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
Ðàзме |
|
|
|
|
|
|
р поля |
|
|
|
|
|
|
– 100; |
|
|
|
|
|
|
Îбязà |
|
|
|
|
|
|
тельн |
|
|
|
|
|
Òекстов |
ое |
|
Íàзвàние |
|
Íàзвàние |
поле |
– |
||||
ый |
госудàрствà |
|||||
|
|
– Äà; |
|
|||
|
|
|
|
|
||
|
|
|
Ïуст |
|
|
|
|
|
|
ые |
|
|
|
|
|
|
строк |
|
|
|
|
|
|
и – |
|
|
|
|
|
|
Íет |
|
|
|
|
|
|
|
|
|
|
Ñтолицà |
Òекстов |
Ðàзме |
|
Ñтолицà |
||
|
|
ый |
р поля |
– |
||
|
|
госудàрствà |
||||
|
|
|
– 30 |
|
||
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
Òекстов |
Ðàзме |
|
Ãосудàрственный язык |
|
ßзык стрàны |
р поля |
– |
||||
ый |
стрàны |
|||||
|
|
– 30 |
|
|||
|
|
|
|
|
||
|
|
|
|
|
|
|
Ïорядок выполнения: |
|
|
|
|||
|
|
|
|
|
|
|
© 2011 Ìолчинà Ë.È.
76Ìолчинà Ë.È. ÝÓÌÊ Ìодели дàнных и системы упрàвления бàзàми дàнных
1. окне бàзы дàнных щелкните по ярлыку Òàблицы.
2.Íàжмите кнопку Ñоздàть в верхней чàсти окнà бàзы дàнных.
3. окне Íовàя тàблицà выберите пункт Êонструктор.
Ïримечàние: Îкно тàблицы в режиме Êонструкторà состоит из 2-х облàстей: облàсти
проектà тàблицы и облàсти свойств поля. Ïереход между облàстями осуществляется клàвишей [F6] или с помощью мыши. Îблàсть проектà содержит тàблицу из 3-х столбцов: Èмя поля, Òип дàнных, Îписàние. Ïереход между столбцàми осуществляется одним из способов: мышкой, нàжàтием нà клàвишу [Enter] либо [Òab],
клàвишàми упрàвления курсором. ×тобы àктивизировàть поле, достàточно щелкнуть мышью в строке, в которой описывàется дàнное поле. Â нижней облàсти свойств поля
рàсполàгàются 2 вклàдки свойств: Îбщие и Ïодстàновкà. Íà вклàдке Îбщие укàзàны отдельные хàрàктеристики кàждого поля, необходимые для определения пàрàметров сохрàнения дàнных в поле, их дàльнейшего отобрàжения и редàктировàния. Âклàдкà
Ïодстàновкà содержит список некоторых дополнительных пàрàметров, необходимых, в чàстности, для нàстройки связей с полями других тàблиц.
4.  окне проектà тàблицы создàйте поле ÊодÑтрàны. Äля этого:
∙введите в первую строку столбцà Èмя поля нàименовàние поля ÊодÑтрàны и
нàжмите клàвишу [Enter];
∙во втором столбце Òип дàнных остàвьте выводящееся по умолчàнию знàчение
Òекстовый (любой другой выбирàется из рàскрывàющегося спискà типов дàнных);
∙поле ÊодÑтрàны сделàйте ключевым. Äля этого àктивизируйте поле и нàжмите кнопку Êлючевое поле нà пàнели инструментов Êонструктор тàблиц либо выполните комàнду Ïрàвкà® Êлючевое поле;
∙в колонке Îписàние добàвьте текст в соответствии с тàбл. 10;
∙переключитесь в облàсть Ñвойствà поля и нà вклàдке Îбщие измените рàзмер поля нà знàчение 2.
5.Âведите имя поля Íàзвàние, перейдите в Îблàсть свойств и измените рàзмер поля в соответствии с тàбл. 10, зàтем устàновите следующие знàчения свойств поля:
∙обязàтельное поле – Äà;
∙пустые строки – Íет.
© 2011 Ìолчинà Ë.È.
Ïрàктический рàздел |
77 |
|
|
Çнàчения следует выбирàть из рàскрывàющего спискà в строке нужного свойствà.
6.Àнàлогично добàвьте в тàблицу поля Ñтолицà, ßзыкÑтрàны (свойствà полей устàновите по тàбл. 10).
7.Âыполните комàнду Ôàйл® Ñохрàнить либо нàжмите одноименную кнопку нà пàнели инструментов и в отрывшемся окне введите имя тàблицы – Ñтрàны.
8.Ïерейдите в режим тàблицы, выполнив комàнду Âид® Ðежим тàблицы.
Ïримечàние: Â левой чàсти окнà тàблицы рàсположенà облàсть выделения. Òреугольный мàркер (>) в облàсти выделения укàзывàет нà àктивную зàпись, à звездочкà (*) – нà пустую. Äля обознàчения зàписи, в которой осуществляется ввод, используется обознàчение кàрàндàшà. Ïередвижение по тàблице можно производить с помощью клàвиш упрàвления курсором, [Tab] и [Enter], à тàкже щелчком мыши. Ìожно пользовàться стàндàртными для Windows комбинàциями клàвиш для быстрого продвижения по тàблице. Çàписи в тàблице можно перемещàть, копировàть и удàлять теми же способàми, что и в электронных тàблицàх. Ñтолбец можно выделить щелчком мыши по зàголовку. Ñтолбцы можно перемещàть впрàво и влево, пользуясь методом drag and drop.
9. Âведите следующие 7 зàписей в тàблицу:
ÊодÑтрàны |
Íàзвàние |
Ñтолицà |
зык стрàны |
|
|
|
|
01 |
Ïольшà |
Âàршàвà |
Ïольский |
|
|
|
|
02 |
Âеликобритàния |
Ëондон |
Àнглийский |
|
|
|
|
03 |
Èтàлия |
Ðим |
Èтàльянский |
|
|
|
|
04 |
ÑØÀ |
àшингтон |
Àнглийский |
|
|
|
|
05 |
Áолгàрия |
Ñофия |
Áолгàрский |
|
|
|
|
06 |
Ôрàнция |
Ïàриж |
Ôрàнцузский |
|
|
|
|
07 |
×ехия |
Ïрàгà |
×ешский |
|
|
|
|
10.Çàкройте тàблицу.
Çàдàние 2.
© 2011 Ìолчинà Ë.È.
78Ìолчинà Ë.È. ÝÓÌÊ Ìодели дàнных и системы упрàвления бàзàми дàнных
1.Ñ помощью Êонструкторà создàйте тàблицу Êлиенты в соответствии с тàбл. 2.
|
|
|
|
Òàблицà 2 |
|
|
Ñтруктурà тàблицы Êлиенты |
||
|
|
|
|
|
Èмя поля |
Òип |
Ñвойствà поля |
|
|
дàнных |
|
|
|
|
Îбщие |
|
Ïодстàновкà |
||
|
|
|||
|
|
|
|
|
|
Òекстовый |
Ðàзмер поля – 30 |
|
– |
ÍомерÏàспор |
Ïодпись – Íомер пàспортà |
|
||
|
|
|
||
тà |
|
|
|
|
|
|
|
|
|
|
|
Ðàзмер поля – 50 |
|
|
Èмя |
Òекстовый |
Îбязàтельное поле – Äà |
|
|
|
|
Ïустые строки – Íет |
|
|
|
|
|
|
|
Îтчество |
Òекстовый |
Ðàзмер поля – 50 |
|
|
|
|
|
|
|
|
|
Ðàзмер поля – 50 |
|
|
Ôàмилия |
Òекстовый |
Îбязàтельное поле – Äà |
|
|
|
|
Ïустые строки – Íет |
|
|
|
|
|
|
|
Àдрес |
Òекстовый |
Ðàзмер поля – 255 |
|
– |
|
|
|
|
|
ÊонтàктныйÒ |
|
Ðàзмер поля – 30 |
|
|
Òекстовый |
Îбязàтельное поле – Äà |
|
– |
|
елефон |
|
|||
|
Ïустые строки – Íет |
|
|
|
|
|
|
|
|
|
|
|
|
|
2. Ïерейдите в режим тàблицы, нàжàв кнопку Âид
нà пàнели инструментов Êонструктор тàблиц. Âведите произвольные 8 зàписей.
Çàдàние 3. Ñ помощью Êонструкторà создàйте тàблицу Ïоездки в
соответствии с тàбл. 3.
© 2011 Ìолчинà Ë.È.
Ïрàктический рàздел |
79 |
|
|
|
|
|
|
Òàблицà 3 |
|
|
|
Ñтруктурà тàблицы Ïоездки |
|
|
|
|
|
|
Èмя поля |
Òип |
Ñвойствà поля |
||
дàнных |
|
|
|
|
Îбщие |
|
Ïодстàновкà |
||
|
|
|||
|
|
|
|
|
|
×исловой |
Ðàзмер поля – Öелое |
|
- |
ÊодÏоездки |
|
|
|
|
|
|
|
|
|
Ñтрàнà |
Òекстовый |
Ðàзмер поля – 2 |
|
- |
|
|
|
|
|
Ìàршрут |
Òекстовый |
Ðàзмер поля – 255 |
|
- |
Ïустые строки – Íет |
|
|||
|
|
|
||
|
|
|
|
|
ÊоличествоÄней |
×исловой |
Ðàзмер поля – Öелое |
|
- |
|
|
|
||
|
|
|
|
|
|
|
|
|
Ñписок знàчений: |
|
|
|
|
экскурсия; отдых; |
ÒипÏоездки |
Òекстовый |
Ðàзмер поля – 30 |
|
учебà; рàботà; шопинг. |
|
|
|
|
Îгрàничиться списком |
|
|
|
|
–Íет |
|
|
|
|
|
|
|
|
|
Ñписок знàчений: |
|
|
|
|
àвтобус; àвиà; ж/д; |
ÂидÒрàнспортà |
Òекстовый |
Ðàзмер поля – 30 |
|
сàмостоятельно. |
|
|
|
|
Îгрàничиться списком |
|
|
|
|
– Äà |
|
|
|
|
|
|
|
|
|
Ñписок знàчений: "**"; |
|
|
|
|
"***"; "****"; |
Ðàзмещение |
Òекстовый |
Ðàзмер поля – 30 |
|
àпàртàменты, по |
|
выбору. |
|||
|
|
|
|
|
|
|
|
|
Îгрàничиться списком |
|
|
|
|
– Äà |
|
|
|
|
|
© 2011 Ìолчинà Ë.È.
80 Ìолчинà Ë.È. ÝÓÌÊ Ìодели дàнных и системы упрàвления бàзàми дàнных
Èмя поля |
Òип |
Ñвойствà поля |
||
дàнных |
|
|
||
Îбщие |
Ïодстàновкà |
|||
|
||||
|
|
|
|
|
Ïитàние |
Ëогический |
Ôормàт поля – Äà/Íет |
|
|
|
|
|
|
|
Ñтоимость |
Äенежный |
Ôормàт поля – Åвро |
|
|
|
|
|
|
|
Ìетодическме рекомендàции:
1.Óстàновите свойствà полей ÊодÏоездки, Ñтрàнà и Ìàршрут в соответствии с тàбл. 3.
2.Äля поля ÒипÏоездки используйте Ìàстер подстàновок:
∙в столбце Òип дàнных выберите из спискà знàчение Ìàстер подстàновок;
∙нà первом шàге Ìàстерà в окне Ñоздàние подстàновки устàновите переключàтель
Áудет введен фиксировàнный нàбор знàчений;
∙в следующем окне диàлогà остàвьте без изменений число столбцов – 1 и введите в
Ñтолбец1 знàчения, укàзàнные в тàбл. 3. Ïри этом получится столбец знàчений, предстàвленный нà рис. 9.
Ðис. 9. Ñоздàние подстàновки
Ïримечàние: Ïереход к следующей строке столбцà осуществляется с помощью клàвиш
[Tab], упрàвления курсором либо щелчком мыши. Íàжàтием клàвиши [Enter], тàк же, кàк и кнопки Äàлее, выполняется переход в следующее диàлоговое окно.
∙ нàжмите кнопку Ãотово по зàвершении процедуры создàния столбцà подстàновок.
3.Èзмените свойствà поля соглàсно тàбл. 3.
4.Àнàлогично вышеописàнной технологии создàйте поля со списком: Ðàзмещение и ÂидÒрàнспортà. Ñписки знàчений этих полей укàзàны в тàбл. 3.
5.Àктивизируйте поле ÊоличествоÄней. Çàдàйте рàзмер поля – Öелое – в облàсти
свойств.
©2011 Ìолчинà Ë.È.
