ЦЕЛ НА РАБОТАТА Да се ​​проучат етапите на проектиране на модел на база данни

1. ЛИТЕРАТУРА:

1.1 Malykhina M.P. Бази данни: основи, дизайн, използване. - Санкт Петербург: BHV-Петербург, 2004. - 512с.

1.1 Голицина О.Л., Максимов Н.В., Попов И.И. Бази данни: Урок. - М.: ФОРУМ: IFRA-M, 2003. - 352с. (серия "Професионално образование")

1.2. Сенов А. Access 2003. Практическа разработка на база данни. Курс на обучение. - Санкт Петербург: Питър, 2005.-256s.

2. КУЕСТ:

2.1. Научете теоретичните въпроси на дизайна на бази данни, типове модели на бази данни, типове връзки в базите данни, принципи за нормализиране на таблици на бази данни

2.2. Въз основа на първоначалните данни изградете физически модел на база данни, който прилага принципа на предметната област на вашата опция

Изберете обектите и характеристиките на проектираната информационна база данни

Дефинирайте основните класове на обекти

Дефинирайте връзките между обектите и техните типове

Научете как да нормализирате таблиците на базата данни

Изградете концептуален модел, намален до 3NF

  1. РАБОТА:

3.1. Проучете материала на работата според приложението

3.2. Начертайте рисунки, показващи различни видове връзки.

3.3. Начертайте информационно-логически модел на релационна база данни

3.4. Начертайте физически модел на базата данни, която трябва да съдържа домейн обекти

3.5. Отговори на въпросите за сигурност

  1. СЪДЪРЖАНИЕ НА ОТЧЕТА:

4.1. Име и цел на работата

4.2. Видове връзки между обекти от избраната предметна област.

4.3. Основен физически моделданни

4.4. Отговори на въпроси за сигурност

5. КОНТРОЛНИ ВЪПРОСИ:

5.1. Назовете типовете модели на бази данни. Разлики, предимства, недостатъци

5.2. Наименувайте типовете връзки между обектите на базата данни. Разлики, предимства, недостатъци

5.3. Какво представлява нормализирането на таблицата, с каква цел се извършва процедурата за нормализиране?

5.4. Избройте стъпките на проектиране

5.5. Дефинирайте понятията обект, екземпляр на обект, атрибут на обект, ключ на обект, връзка. Дай примери

ПРИЛОЖЕНИЕ

Организация на данните

Думата "релационен" идва от английското отношение - отношение. Връзката е тематична концепция, но в терминологията на моделите на данни е удобно да се представят релации под формата на таблица. В този случай редовете на таблицата съответстват на кортежите на релацията, а колоните съответстват на атрибутите. Ключ е всяка функция от атрибути на кортеж, която може да се използва за идентифициране на кортеж. Такава функция може да бъде стойността на един от атрибутите (прост ключ) или да бъде дадена чрез алгебричен израз, който включва стойностите на няколко атрибута (съставен ключ). Това означава, че данните в редовете на всяка от колоните на един съставен ключ могат да се повтарят, но комбинацията от данни във всеки ред от тези колони е уникална. Например таблицата Студенти има колони Фамилия и Година на раждане. Във всяка от колоните има дублирани данни, т.е. същите фамилии и същата година на раждане. Но ако ученици с едно и също фамилно име имат различни години на раждане, тогава тези колони могат да се използват като съставен ключ. По правило ключът е уникален, т.е. всеки кортеж се определя еднозначно от стойността на ключа, но понякога се използват и неуникални ключове (ключове с повторения). В локализиран(Русифицирана) версия на Access въвежда термина ключово поле, което може да се тълкува като първичен ключ.

В Access има три типа ключови полета: прост ключ, съставен ключ и външен ключ.

Едно от най-важните предимства на релационните бази данни е, че можете да съхранявате логически групирани данни в различни таблици и да установявате връзки между тях, като ги комбинирате в една база данни. За да дефинирате връзка, таблиците трябва да имат полета с едно и също име или поне същия формат на данни. Връзка между таблици установява връзки между съвпадащи стойности в тези полета. Тази организация на данните намалява излишъка на съхраняваните данни, опростява въвеждането им и организирането на заявки и отчети. Нека обясним това с пример. Да предположим, че трябва да съхраните в базата данни данни за студенти (фамилия, изучавана дисциплина) и преподаватели (фамилия, номер на отдел, научна степен, преподавана дисциплина). Ако съхранявате данни в една таблица, тогава редът с името на студент, изучаващ определена дисциплина, ще съхранява всички атрибути на учителя, който преподава тази дисциплина. Това е огромно количество излишни данни. И ако съхранявате данни за ученика в една таблица, за учителя - в друга и установите връзка между полетата "Четлива дисциплина" - "Учебна дисциплина" (всъщност това са едни и същи полета), тогава излишъкът на съхранените данни ще намалее многократно, без да се засяга логическата организация на информацията.

В Access можете да дефинирате три вида релации между таблици; Един към много, Много към много и Един към един.

Връзката "един към много" е най-често използваният тип връзка между таблици. В такава връзка всеки запис в таблица A може да съответства на няколко записа в таблица B (полетата с тези записи се наричат ​​външни ключове), а записът втаблица B не може да има повече от един съответстващ запис в таблица A.

При връзка много към много един запис в таблица A може да съответства на няколко записа в таблица B, а един запис в таблица B може да съответства на няколко записа в таблица A. Такава схема се реализира само с помощта на трета (свързваща) таблица, чийто ключ се състои от поне две полета, едното от които е общо с таблица A, а другото е общо с таблица B.

В релация едно към едно запис в таблица A може да има най-много един свързан запис в таблица B и обратно. Този тип връзка не се използва много често, тъй като такива данни могат да бъдат поставени в една таблица. Връзка едно към едно се използва за разделяне на много широки таблици, за изолиране на част от таблица, за да се защити, и за съхраняване на информация, отнасяща се до подмножество от записи в основната таблица.

Типът създадена връзка зависи от полетата, за които е дефинирана връзката:

  • Връзка "един към много" се създава, когато само едно от полетата е ключ или има уникален индекс, т.е. стойностите в него не се повтарят;
  • Връзка едно към едно се създава, когато и двете свързани полета са ключови полета или имат уникални индекси;
  • Връзката много към много всъщност представлява две релации едно към много чрез трета таблица, чийто ключ се състои от поне две полета, които са общи за другите две таблици.

Целостта на данните

Целостта на данните се отнася до системата от правила, използвани от СУБД на Access за поддържане на връзки между записи в свързани таблици (таблици, свързани чрез връзка) и за защита срещу случайно изтриване или модифициране на свързани данни. Можете да контролирате целостта на данните, акоса изпълнени следните условия:

  • свързаното поле (полето, през което се осъществява връзката) на една таблица е ключово поле или има уникален индекс;
  • свързаните полета са от един и същи тип данни. Тук има изключение. Полето за брояч може да бъде свързано с числово поле, ако е от тип Long Integer,
  • и двете таблици принадлежат към една и съща база данни на Access. Ако таблиците са свързани, тогава те трябва да са таблици на Access. За да зададете целостта на данните, базата данни, съдържаща таблиците, трябва да е отворена. Не е възможно да се установи целостта на данните за свързани таблици от бази данни с други формати.

Да разгледаме връзката между обектите Студенти и Дисциплини. Студентът изучава няколко дисциплини, което съответства на многозначна връзка и е показано на фиг. 1 с двойна стрелка. Ясно е, че всяка дисциплина се изучава от много студенти. Това също е многозначна връзка, обозначена с двойна стрелка (отношението "едно" е обозначено с единична стрелка). Така връзката между обектите Студенти и Дисциплини е много към много (M : N).

Фиг. 1. Видове връзки между обекти Студенти, Дисциплини и Преподаватели

Множеството релации усложняват управлението на база данни, например в СУБД на Access, с множество релации не можете да използвате механизма за каскадно актуализиране. Следователно е нежелателно да се използват такива връзки и е необходимо да се изгради релационен модел, който не съдържа връзки много към много. В Access за контрол на целостта на данните с възможност за каскадно актуализиране и изтриване на данни, трябва да създадете спомагателен обект за свързване, който се състои от ключовите атрибути на свързаните обекти и който може да бъде допълнен с описателни атрибути. В нашия случай обектът за оценка служи като такъв нов обект за комуникация, детайлитекоито са кодът на студента, кодът на дисциплината и оценките. Всеки ученик има оценки по множество дисциплини, така че връзката между ученици и оценки ще бъде едно към много (1:M). Има много студенти, които посещават всеки курс, така че връзката между обектите Course и Grade също ще бъде Едно към много (1:M). В резултат на това получаваме информационно-логически модел на базата данни, показана на фиг. 2

проучат

Ориз. 2. Информационно-логически модел на релационна база данни

2. В релационна база данни релациите се разглеждат като обекти, които могат да бъдат представени под формата на таблици. Таблиците са свързани помежду си посредством общи полета, т.е. идентични по формат и, като правило, по име, налични в двете таблици. Нека да разгледаме какви общи полета трябва да бъдат въведени в таблиците, за да се осигури свързаност на данните. В таблиците Студенти и Оценки това поле ще бъде „Код на студента“, в таблиците Дисциплини и Оценки – „Код на дисциплината“, в таблиците Преподаватели и Дисциплини – „Код на дисциплината“. Изборът на цифрови кодове вместо фамилни имена или имена на дисциплини се дължи на по-малкото количество информация в такива полета: например числото "2". броят на знаците е много по-малък от думата "математика". В съответствие с това логическият модел на базата данни е показан на фиг. 3, където ключовите полета са подчертани с удебелен шрифт.

проучат

Ориз. 3. Логически модел на база данни

ОПЦИИ ЗА МИСИИ

Вариант 1

Описание на обекта (Ресторант)

Гостите на ресторанта се обслужват на маси. На една маса могат да седнат не повече от 4 посетители, всеки от които може да поръча определени ястия. Масите се сервират от сервитьори. Един сервитьор има няколко маси за обслужване.

Има ли свободни маси? Колкопосетителите са обслужвани от сервитьор на смяна? Колко от кои ястия бяха продадени?

Вариант 2

Описание на предметната област (Колеж)

Вариант 3

Описание на предметната област (Театрална каса)

Какви представления има в определен ден? Има ли билети за определено представление? Колко струва определен билет?

Вариант 4

Описание на предметната област (Превоз на товари)

ATP има камиони със държав. номерира и организира транспорт за своите клиенти. Цената на транспорта зависи от разстоянието и товароносимостта на превозното средство, което го извършва. Всеки клиент може да направи поръчка за няколко пратки. Един транспорт се извършва с един камион.

Какви камиони са налични? Кой клиент направи най-скъпата поръчка? Кой камион изпълни най-много поръчки?

Вариант 5

Туристическа клубна информационна система

Туристите, които идват в туристическия клуб, могат не само да отидат на планирани пътувания, но и да участват в различни секции през цялата година. За да направите това, те се записват в групи, свързани с определени раздели.

1. За организиране на работата на клуба е необходимо: да се получи списък и общият брой на туристите, участващи в клуба, в посочения раздел, група, по пол, година на раждане, възраст; вземете списъка и общия брой на обучителите на посочения раздел; получавате списък и общия брой маршрути, по които са преминали туристите от посочения участък през посочения период от време.

Вариант 6

Зоологическа информационна система

В зоопарка живеят животни от различни климатични зони, така че някои от животните трябва да бъдат прехвърлени в отопляеми помещения за зимата. Животните могат да бъдат разделени на месоядни и тревопасни.При настаняването на животни в клетки е необходимо да се вземат предвид не само нуждите на този вид, но и тяхната съвместимост с животни в съседни клетки (не можете да установите наблизо, например вълци и тяхната плячка - различни копитни животни).

За хранене на животни са необходими различни видове фуражи: растителни, живи, месни и различни смесени фуражи. Растителната храна е плодове и зеленчуци, зърно и сено. Жива храна - мишки, птици, храна за риби. За всеки вид животно се изчислява собствена диета. Така всяко животно в зоологическата градина има меню за всеки ден, което посочва броя и времето на хранене на ден, количеството и вида на храната (маймуните се нуждаят от плодове и зеленчуци, дребните хищници - порове, невестулки, сови, някои котки, змии - трябва да давате мишки).

Ветеринарните лекари трябва да извършват медицински прегледи, да наблюдават теглото, растежа, развитието на животното, да ваксинират своевременно и да въвеждат всички тези данни в картата.

Необходимо е да се получи списък и общият брой на служителите на зоопарка; получите списък и общия брой на всички животни в зоопарка или животни от посочения вид; получавате списък и общия брой на нуждаещите се от топла стая за зимата; вземете списък с животни, които не са били ваксинирани навреме; направете диета за всеки вид животно.

Лаборатория #2