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

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

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

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

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

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