Нормальные формы



жүктеу 4,63 Mb.
бет56/72
Дата11.02.2023
өлшемі4,63 Mb.
#41261
түріУчебное пособие
1   ...   52   53   54   55   56   57   58   59   ...   72
Копия Теория баз данных

П3


Сидоров

10

Кб

120

П4

Егоров

5

К2

74

П4

Егоров

5

К7

89

П5

Козлов

8

К5

96

Рис. 7.28. Исходное отношение

В результате применения правила 6 получаются три отношения (рис. 7.29.).


ПРЕПОДАВАТЕЛЬ ВЕДЕТ ДИСЦИПЛИНА



КД

Часы

К1

62

К2

74

К3

102

К4

80

К5

96

К6

120

К7

89

НП

КД

П1

К1

П1

К2

П2

К4

П3

К6

П4

К3

П4

К7



НП

ФИО

Стаж

П1

Иванов

5

П2

Петров

7

П3

Сидоров

10

П4

Егоров

5

П5

Козлов

8

Рис. 7.29. Отношения, полученные по правилу 6


Аналогичные результаты получаются и для трех других вариантов, различающихся классами принадлежности их сущностей. Рассмотрим
сформулированные правила на примерах проектирования БД сущность- связь.
Рассмотрим проектирование баз данных и составление структуры таблиц на примерах.
Пример 1. Спроектировать базу данных с помощью метода нормальных форм для программного комплекса “Учет книг в библиотеке”.
Запишем исходные данные по читателям и книгам в таблицу.
R

Nomer

Family

Name

Shifr

Avtor

Nazvanie



















Имеем отношение R (Nomer, Family, Name, Shifr, Nazvanie);
Выявим зависимости между атрибутами:
Nomer→ Family
Nomer→ Name
Shifr→ Avtor
Shifr→ Nazvanie

Атрибуты Family и Name частично зависят от ключа nomer. Тогда получаем вторую нормальную форму:
Вторая нормальная форма

В R2 имеем транзитивную зависимость:
Shifr→ Avtor→ Nazvanie,
тогда получаем 3 отношения:

Пример 2. Спроектировать базу данных для программного комплекса «Учет книг в библиотеке».


Выделим сущности «Читатель» и «Книга». Степень связи М:М. Класс принадлежности для сущности «Читатель» -необязательный, для книги – необязательный. Необходимые данные запишем в таблицу:
Читатель-Книга

Nomer

Family

Name

Shifr

Avtor

Namebook

1
---
2
1
3

Иванов
---
Петров
Иванов
Сидоров

Иван
---
Петр
Иван
Сидор

111
222
---
333
111

Фаронов
Архангельский
---
Гейл
Фаронов

Паскаль
Delphi 6
---
Visual Basic
Паскаль

Диаграмма ER – экземпляров имеет вид:



ER – диаграмма имеет следующий вид:





или

Получаем отношения для правила 6.


или

В результате получаем 3 отношения





Опишем все поля:
Nomer – номер читательского, ключевое поле;
Family – фамилия читателя;
Name – имя читателя;
Shifr – шифр книги;
Avtor – фамилия автора;
Namebook – название книги.
Если взять сущности Темы, Книги, Читатели, то ЕR – диаграмма выглядит следующим образом:

В результате получим 4 отношения:



где
Kodt – код темы;
Nametem – название темы.

Пример 3. Торговая фирма.


Выделим 2 сущности «Продавец» и «Выручка». Необходимые данные запишем в одну таблицу.



tabel

Family

Name

data_post

vir

vozn

data_prod

kv

1
2
3
1
---

Иванов
Петров
Сидоров
Иванов
---

Иван
Петр
Сидор Иван
---

01.01.1998
05.07.2001
08.08.2002
01.01.1998
---

500
1000
---
2000
3000

50
60
---
140
280

04.04.2016
05.05.2016
---
06.04.2016
05.05.2016



1
2
3
4
5

Диаграмма ER – экземпляров выглядит следующим образом:





Диаграмма ER – типа имеет вид:



или

Из правила 5 имеем 3 отношения:

или

Или, в предположении, что степень связи между сущностями (1:М) и класс принадлежности М – связной сущности обязательный, то диаграмма ER –типа имеет вид:
, тогда получаем отношения



Таким образом, имеем 2 отношения:





где атрибуты имеют следующий смысл:


tabel – табельный номер продавца;
Family – фамилия продавца;
Name – имя продавца;
data_post – дата поступления на работу;
kv – код выручки;
vir – сумма выручки;
vozn – сумма вознаграждения;
data_prod – дата продажи.
Пример 4. Учет материальных ценностей.
Выделим 2 сущности: кафедра, товар. Запишем необходимые данные в таблицу:



N1

Nametov

kol

N2

Nazkaf

kol_tov

data_v

1
2
1
---

Принтер1
Бумага
Принтер2
---

20
100
18
---

100
101
---
102



Мат.анализ
Информатика
---
Диф.ур.

2
3
---
---

02.02.2016
05.05.2016
---
---

Диаграмма ER – экземпляров имеет вид:





Диаграмма ER – типа имеет вид:



или
.


Получаем 3 отношения:

Опишем все атрибуты сущностей:
N1 – код товара;
Nametov – наименование товара;
kol – количество товара на складе;
N2 – код кафедры;
Nazkaf – название кафедры;
kol_tov – количество товара, взятого кафедрой;
data_v – дата выдачи товара со склада.
Пример 5. Выполнить проектирование базы данных и разработать структуру таблиц для программного комплекса “Учет товарооборота в магазине”.
Выделим сущности: категории, товары, фирмы.
В соответствии с определенными сущностями получаем диаграмму ER-типа:

Из перечисленных правил и диаграммы ER-типа следует, что:

  1. Категория имеет товар (2 таблицы: категории и товары).

Фирма поставляет товар (3 таблицы: товар, фирма, промежуточная - поставляет).
Таким образом, получаем следующие таблицы:

Опишем смысловое значения каждого поля:
Nkat – номер категории товара;
naimkat – наименование категории;
kodF – код фирмы;
nazf –название фирмы;
Address – адрес фирмы;
tel – телефон фирмы;
Manager – фамилия менеджера;
kod_op –код операции: приход, расход, брак, списание;
ntov – код товара;
naimtov – наименование товара;
kol – количество проданного, купленного, списанного или бракованного товара;
Data – дата покупки, продажи, списания или установления брака товара;
cena – цена покупки, продажи товара;
суmmа – сумма продажи или покупки (цена, умноженная на количество товара).
Пример 6. Выполнить проектирование базы данных и разработать структуру таблиц для программного комплекса: “Оплата студентов за обучение ”.
Сущности: факультет, специальность, студент, оплата.
В соответствии с определенными сущностями получается диаграмма ER-типа:

Из перечисленных выше правил и диаграммы ER-типа следует, что:



  1. факультет имеет специальность (2 таблицы).

  2. студент учится на специальности (2 таблицы).

  3. Студент платит за обучение (2 таблицы).

Таким образом, получаем следующие таблицы:

Опишем смысловые значения полей в таблицах:
Nfac – код факультета;
fac – название факультета;
Nspec – шифр специальности;
spec – название специальности;
kodzach – код зачетки студента;
family – фамилия студента;
name – имя студента;
father – отчество студента;
telefon – телефон студента;
address – адрес;
kurs – курс, на котором учится студент;
gruppa – название группы, в которой учится студент;
cymma – сумма оплаты за обучение;
data – дата оплаты за обучение.
Пример 7. Осуществить проектирование базы данных и разработать структуру таблиц для программного комплекса “Отдел кадров на научном предприятии”.
Выделим сущности: сотрудники, должности, национальность, степень, направление степени, звание, отдел.
Получаем диаграмму ER-типа в следующем виде:

В результате описанных выше правил и полученной ER- диаграммы имеем следующие таблицы:



Опишем перечисленные поля:
nud – номер удостоверения;
family – фамилия сотрудника;
name – имя сотрудника;
father – отчество сотрудника;
sik – сик;
pnn – рнн;
pol – пол;
kodnac – код национальности;
kodd – код должности;
kodotd – код отдела;
kodst – код степени;
kodn – направления степени;
kodz – код звания;
staj – стаж работы до данного предприятия;
ostaj – общий стаж работы;
data_r – дата рождения;
data_p – дата поступления;
nac – национальность;
nazv – должность;
nazvotd – название отдела;
nazvst – название степени;
nazvn – название направления степени;
nazvz – звание.
Контрольные вопросы:

    1. Что такое сущность, атрибут сущности, экземпляр сущности?

    2. На чем основываются правила формирования отношений?

    3. Охарактеризуйте нормальные формы.

    4. Опишите основные проблемы проектирования баз данных.

    5. Какие зависимости между атрибутами Вы знаете?

    6. Для чего применяется метод нормальных форм?

    7. Что представляет собой метод «Сущность-связь»?


жүктеу 4,63 Mb.

Достарыңызбен бөлісу:
1   ...   52   53   54   55   56   57   58   59   ...   72




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау