Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Третья нормальная форма (3НФ)




Для того, чтобы таблица находилась в третьей нормальной форме необходимо, чтобы она находилась во второй нормальной форме и в ней должны быть исключены все транзитивные зависимости. Таблица Empl содержит следующие функциональные зависимости:

e_id → e_name, job, d_id, d_ name

d_id → d_ name

Первичным ключом является e_id и все атрибуты полностью функционально зависимы от него. Но, заметим также, что:

e_id → d_id

e_id → d_name

и

d_id → d_name

Это значит, что функциональная зависимость e_id → d_name является транзитивной (она содержит промежуточный шаг – зависимость d_id → d_name. Чтобы избавиться от этой транзитивной зависимости а, заодно, и уменьшить избыточность информации в таблице, разбиваем эту таблицу на две:

 

Dep:   Empl:
d_id d_name
  Administrative department
  Projecting department
  Realization department
  Testing department

 

d_id – первичный ключ таблицы

e_id e_name job d_id
  Drovko Administrator DB  
  Ivanov System admin  
  Konov Program’s  
  Kornienko Program’s  
  Koval Program’s  
  Palkin Program’s  
  Petrov Program’s  
  Sidorov Administrator DB  
  Turov System admin  
  Vertko Program’s  

 

e_id – первичный ключ таблицы

 

Обе таблицы находятся в 3НФ.

 

2. Учитывая опыт формирования предыдущих таблиц, для хранения информации о Клиентах и Проектах организации создаём следующие таблицы:

Таблица с информацией о Клиентах организации:

Client:

cl_id f_name addr tel
  Strogof 10945 Brigge Rd. Oacland  
  Tvorogenko 578 Bljnde St. Rockville  
  Dragov 5768 Seventh Av. Gary  

 

Столбец cl_id (код клиента) является первичным ключом таблицы. Таблица находится в 3НФ.

 

Формируем таблицу

Projects:

pr_id pr_theme e_id cl_id data_start data_finish price
        12.02.2014 12.02.2015 12 345,67
        18.03.2014 27.08.2015 17 345,78
        24.05.2014 13.10.2015 20 567,55
        20.06.2014 23.03.2015 10 340.99

В эту таблицу мы поместили следующую информацию:

× pr_id – уникальный код проекта (номер заключенного договора на разработку проекта). Будет выполнять роль первичного ключа таблицы;

× pr_theme – название темы проекта;

× e_id – код сотрудника, являющегося руководителем проекта. Будет исполнять роль внешнего ключа, указывающего на таблицу Empl для получения информации о руководителе проекта;

× cl_id – код клиента, который является заказчиком данного проекта. Будет исполнять роль внешнего ключа, указывающего на таблицу Client для получения информации о том, какой клиент является заказчиком проекта.

× data_start – дата заключения договора на разработку проекта;

× data_finish – срок выполнения проекта;

× price – стоимость проекта.

Таблица находится в 3НФ.

В таблицу Projects мы не включили информацию о сотрудниках, занятые в реализации проекта с указанием доли сотрудника в общем гонораре за проект. Решаем эту проблему:

3. Таблица Проект - Сотрудник

Создадим таблицу Proj_Emp, в которой столбцы pr_id и e_id будут формировать составной первичный ключ, а по отдельности каждый из них будет внешним ключом, указывающим на соответствующие таблицы Projects и Empl. Не ключевой столбец royalty_share будет показывать долю сотрудника в общем гонораре за проект.

 

 

Proj_Emp:

pr_id e_id royalty_share
    0,4
    0,2
    0,2
    0,2
    0,4
    0,3
    0,3
    0,4
    0,3
    0,3
    0,4
    0,2
    0,2
    0,2

Таблица находится в 3НФ.

Процесс проектирования базы данных закончен.

Дадим базе данных имя Organization и опишем структуру сформированных таблиц.

 

Описание структуры таблицы Empl:

Имя столбца Описание Тип данных null (Да/Нет) Ключи
e_id Уникальный код сотрудника int(3)   первичный
e_name Фамилия сотрудника varchar(15)    
job Должность varchar(15)    
d_id Номер отдела int(2)   внешний - Dep (d_id)

 

 

Описание структуры таблицы Dep:

Имя столбца Описание Тип данных null (Да/Нет) Ключи
d_id Уникальный номер отдела int(2)   первичный
d_name Название отдела varchar(30)    

 

 

Описание структуры таблицы Skills:

Имя столбца Описание Тип данных null (Да/Нет) Ключи
e_id Код сотрудника int(3)   Первичный, внешний - Empl (e_id)
skill Название вида квалификации varchar(10)   Первичный

 

 

Описание структуры таблицы Client:

Имя столбца Описание Тип данных null (Да/Нет) Ключи
cl_id Уникальный код клиента int(2)   первичный
f_name Фамилия клиента varchar(15)    
addr Адрес клиента varchar(50) Да  
tel Телефон клиента char(10) Да  

 

Описание структуры таблицы Projects:

Имя столбца Описание Тип данных null (Да/Нет) Ключи
pr_id Уникальный код проекта int(3)   первичный
pr_theme Название проекта varchar(50)    
e_id Код сотрудника-руководителя проекта int(3)   внешний - Empl (e_id)
cl_id Код клиента-заказчика проекта int(2)   внешний - Clienr (cl_id)
data_start Дата заключения договора на разработку проекта date    
data_finish Cрок выполнения проекта date Да  
price Стоимость проекта Float(7,2) Да  

 

Описание структуры таблицы Proj_Emp:

Имя столбца Описание Тип данных null (Да/Нет) Ключи
pr_id Код проекта int(3)   первичный, внешний - Projects (pr_id)
e_id Код сотрудника int(3)   первичный, внешний - Empl (e_id)
royalty_share Доля сотрудника в гонораре за проект Float(2,1) Да  

 

 


 

 

III. ER – диаграмма базы данных

 

Dep
d_id B
d_name
data_start
skill B
price
Empl
e_id B
e_name
job
d_id
e_id B
Proj_Emp
pr_id B
e_id B
addr
royalty_share
Projects
pr_id B
pr_theme
e_id
cl_id
Client
cl_id B
f_name
tel
Skills
data_finish

 

 


 

 


 

Варианты заданий

1. Предметная область: Колледж.

Необходимая информация:

A. Отделение колледжа: Название отделения; заведующий отделением; предметные комиссии, входящие в состав отделения.

Учитывать:

× Заведующий отделением является сотрудником колледжа. Отделение имеет только одного заведующего. Один сотрудник может быть заведующим только одного отделения.

× Отделение может содержать несколько предметных комиссий. Одна предметная комиссия входит в состав только одного отделения.

B. Предметная комиссия: Название предметной комиссии, председатель предметной комиссии, сотрудники предметной комиссии.

Учитывать:

× Председатель предметной комиссии является сотрудником колледжа. Предметная комиссия имеет только одного председателя. Один сотрудник может быть председателем только одной предметной комиссии.

× В предметной комиссии работает несколько сотрудников. Один сотрудник может работать в нескольких предметных комиссий.

C. Сотрудник колледжа: ФИО сотрудника; дата рождения; пол; стаж работы; в какой(в каких) предметной комиссии работает; ставка.

 

2. Предметная область: Склад строительных материалов.

Необходимая информация:

A. Товары на складе: Наименование товара; производитель; количество товара на складе; цена за единицу товара.

Учитывать:

× Производитель может поставлять на склад различные товары. Один товар может быть поставлен различными производителями.

× Цена одного и того же товара от различных производителей может отличаться.

B. Производитель: Наименование производителя; вид изготавливаемой продукции; страна.

 

3. Предметная область: Магазин продовольственных товаров.

Необходимая информация:

A. Товары в ассортименте: Наименование товара; производитель; цена за единицу товара; срок хранения (в днях).

Учитывать:

× Производитель может поставлять в магазин различные товары. Один товар может быть поставлен различными производителями.

× Цена одного и того же товара от различных производителей может отличаться.

 

B. Товары в магазине: Наименование товара; производитель; количество товара в магазине; дата поставки.

C. Производитель: Наименование производителя; вид изготавливаемой продукции; адрес.

 

4. Предметная область: Сборочный цех.

Необходимая информация:

A. Изделия, изготавливаемые в цеху: Наименование изделия; детали, необходимые для сборки; рабочий, собравший изделие; контроль качества («прошел»/ «не прошел»).

Учитывать:

× При сборке изделия используются различные детали. Одна и та же деталь может использоваться при сборке различных изделий

× В перечне деталей необходимо указать название детали и количество, используемое для сборки одного изделия.

B. Детали: Наименование детали; наименование цеха, изготовившего деталь.

 

5. Предметная область: Дисциплины колледжа.

Необходимая информация:

A. Дисциплины: Наименование дисциплины; количество часов; вид контроля (зачет/экзамен); преподаватель, читающий дисциплину.

Учитывать:

× Одну и ту же дисциплину могут читать различные преподаватели. Один преподаватель может читать различные дисциплины.

B. Преподаватели: ФИО преподавателя; дисциплина; группа, в которой читается дисциплина.

Учитывать:

× Одну и ту же дисциплину преподаватель может читать в разных группах. В одной группе читаются разные дисциплины.

 

6. Предметная область: Библиотека.

Необходимая информация:

A. Книги: Автор (авторы); название книги; год издания; издательство; количество экземпляров.

Учитывать:

× Одна книга может иметь несколько авторов. Один автор может написать несколько книг.

B. Читатели: ФИО читателя; адрес; телефон.

C. Необходимо хранить информацию о выданных книгах: какая книга выдана; кому книга выдана; дата выдачи; дата возврата; признак возврата.

Учитывать:

× Одна и та же книга может быть выдана разным читателям. Один читатель может взять несколько книг.

 

7. Предметная область: Сессия.

Необходимая информация:

A. Студенты: ФИО студента; группа.

B. Экзамены и зачеты: Дисциплина; признак – экзамен/зачет; дата; преподаватель; группа; студент; оценка.

Учитывать:

× Одну и ту же дисциплину сдает много студентов из разных групп.

× Один студент сдает разные дисциплины.

× Один преподаватель принимает зачеты и экзамены в разных группах и по разным дисциплинам.

 

8. Предметная область: Прокат спортивного оборудования.

Необходимая информация:

A. Оборудование: Наименование; страна – производитель; количество; цена проката в сутки.

B. Клиенты: ФИО клиента; паспортные данные; адрес; телефон.

C. Необходимо хранить информацию о выданном оборудовании: какое оборудование выдано; кому выдано; дата выдачи; дата возврата; признак возврата; сумма оплаты за прокат; признак оплаты.

Учитывать:

× Одно и то же оборудование может быть выдано разным клиентам. Один клиент может взять на прокат разное оборудование.

 

9. Предметная область: Поставка – продажа непродовольственных товаров.

Необходимая информация:

A. Товары в ассортименте: Наименование товара; поставщик; количество.

Учитывать:

× Один поставщик может поставлять в магазин различные товары. Один товар может быть поставлен различными поставщиками.

B. Поставщик: Название; адрес; телефон.

C. Поставка товара: Наименование товара; поставщик; дата поставки; количество; цена поставки за единицу товара.

D. Продажа товара: Наименование товара; дата продажи; проданное количество.

Учитывать:

× Цена поставки и цена продажи одного и того же товара может зависеть от даты(учет инфляции).

 

10. Предметная область: Банковские кредиты.

Необходимая информация:

A. Виды кредитов: Наименование кредита; процентная ставка по кредиту; минимальная сумма кредита; максимальная сумма кредита; максимальный срок погашения кредита (в месяцах).

B. Клиенты банка: ФИО клиента; паспортные данные; адрес; телефон.

C. Информация по выданным кредитам: какой кредит выдан; кому выдан; сумма кредита; дата выдачи кредита; дата погашения кредита; сумма погашения с учетом процентной ставки; признак погашения.

Учитывать:

× Один и тот же вид кредита может быть выдан различным клиентам. Один клиент может взять в банке различные кредиты.

 

11. Предметная область: Туристическая фирма.

Необходимая информация:

A. Клиенты: ФИО клиента; паспортные данные; адрес; телефон.

B. Сотрудники фирмы: ФИО сотрудника; должность; паспортные данные; адрес; телефон.

C. Туристические маршруты: Наименование маршрута; страна; описание маршрута (список посещаемых городов); количество дней; вид транспорта; стоимость путевки.

Учитывать:

× На каждый маршрут имеется по несколько путевок на разные даты выезда.

D. Информация по проданным путевкам: клиент; маршрут; дата выезда; сотрудник, продавший путевку.

Учитывать:

× Один и тот же вид маршрута может быть продан различным клиентам. Один клиент может купить путевки на различные маршруты

× Один сотрудник фирмы может обслужить нескольких клиентов. Один клиент может купить путевки у различных сотрудников.

 

12. Предметная область: Поликлиника.

Необходимая информация:

A. Врачи: ФИО; должность; специализация; квалификация; номер кабинета; график работы (по дням недели с указанием времени начала и конца приема).

Учитывать:

× В поликлинике может работать несколько врачей каждой специализации.

B. Пациенты: ФИО; паспортные данные; адрес; телефон.

C. Информация о посещение пациентами врачей поликлиники: пациент, врач, дата посещения, время, поставленный диагноз.

Учитывать:

× Один пациент может посетить разных врачей. Один врач принимает многих пациентов.

 

13. Предметная область: Абитуриенты колледжа.

Необходимая информация:

A. Анкета абитуриента: ФИО; дата рождения; оконченное учебное заведение (название, номер, населенный пункт, номер диплома); дата окончания учебного заведения; наличие красного диплома или золотой/ серебряной медали; адрес; телефон; наименование выбранной специальности.

Учитывать:

× Один абитуриент может подавать документы на несколько специальностей.

B. Специальности: Название специальности; количество бюджетных мест; количество контрактных мест; список дисциплин, которые сдаются при поступлении.

C. Вступительные экзамены: Абитуриент; дисциплина; экзаменационная оценка.

Учитывать:

× Одну и ту же дисциплину сдает много абитуриентов.

× Один абитуриент сдает разные дисциплины.

 

 

14. Предметная область: Ателье по пошиву одежды.

Необходимая информация:

A. Мастера: ФИО; должность; квалификация.

B. Клиенты: ФИО; адрес; телефон.

C. Заказы: Номер заказа; клиент; наименование изделия; мастер, выполняющий заказ; дата заказа; срок выполнения заказа; стоимость.

Учитывать:

× Один мастер может обслуживать нескольких клиентов. Один клиент может обслуживаться у разных мастеров.

 

15. Предметная область: Поставки товаров в сеть магазинов.

Необходимая информация:

A. Магазины: Название магазина; ФИО владельца; адрес.

Учитывать:

× Один человек может быть владельцем нескольких магазинов.

B. Поставщики: Наименование поставщика; телефон.

C. Товары: Наименование товара; страна-производитель;

D. Условия поставки товаров: Товар; поставщик; минимальный срок поставки; минимальная партия поставки; цена поставки за единицу товара.

E. Поставка: Товар; поставщик; магазин; объем поставки; дата поставки.

Учитывать:

× Один поставщик может поставлять товары в разные магазины.

× Один магазин может получать товары от разных поставщиков (в том числе один и тот же товар).

 

16. Предметная область: Транспортные перевозки.

Необходимая информация:

A. Автомобили: Марка автомобиля; модель; государственный номер; грузоподъемность; расход бензина; ФИО водителя.

Учитывать:

× Фирма может иметь несколько автомобилей одинаковой марки и модели.

B. Заявки: Код заявки; дата и время заявки; Название груза; количество груза; пункт доставки; срок доставки (в часах).

C. Выполнение заявок (доставка груза): Заявка; автомобиль; дата и время отправления; дата и время прибытия; пройденное расстояние.

Учитывать:

× Один автомобиль может доставлять груз по разным заявкам и в разные дни.

× Груз по одной заявке может быть доставлен несколькими автомобилями.

 

17. Предметная область: Автосалон.

Необходимая информация:

A. Автомобили: Марка; модель; цвет; год выпуска; страна-производитель; цена за базовую комплектацию.

B. Оборудование доукомплектации: Наименование; страна-производитель; цена.

C. Клиенты: ФИО клиента; паспортные данные; адрес; телефон.

D. Сотрудники фирмы: ФИО сотрудника; должность; паспортные данные; адрес; телефон.

E. Продажа автомобилей: какой автомобиль продан; какому клиенту; кто из сотрудников выполнил продажу; была ли проведена доукомплектация (и, если да, то чем доукомплектован автомобиль и цена доукомплектации); дата продажи; цена продажи.

18. Предметная область: SPA - салон.

Необходимая информация:

A. Процедуры (услуги салона): Наименование; длительность выполнения; стоимость.

B. Сотрудники: ФИО сотрудника; телефон; график работы (по дням недели с указанием времени начала и конца работы); список процедур, выполняемых сотрудником.

C. Обслуживание клиентов: ФИО клиента; дата посещения салона; какие процедуры были выполнены и кем из сотрудников..

 

19.

 

 





Поделиться с друзьями:


Дата добавления: 2017-02-25; Мы поможем в написании ваших работ!; просмотров: 363 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Студенческая общага - это место, где меня научили готовить 20 блюд из макарон и 40 из доширака. А майонез - это вообще десерт. © Неизвестно
==> читать все изречения...

2434 - | 2395 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.013 с.