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

метод уч пособие

.pdf
Скачиваний:
72
Добавлен:
16.03.2015
Размер:
1.68 Mб
Скачать

 

41

 

 

Вариант

Задание

11

Выбрать отделы, если в нем работают сотрудники, по-

 

лучающие зарплату больше 24000

12

Выбрать сотрудников, имеющих 3 детей и работаю-

 

щих в отделе 105

13

Выбрать отделы, сотрудники которых имеют 3 детей

14

Выбрать детей, родители которых родились в Твери и

 

получают зарплату больше 10000

15

Выбрать сотрудников, дети которых учатся в школе с

 

номером 30

16

Выбрать сотрудников, дети которых в возрасте 6 лет

 

учатся в школе

17

Выбрать отделы, сотрудники которых получают ми-

 

нимальную зарплату на предприятии

18

Выбрать сотрудников, имеющих однофамильца в его

 

отделе

19

Выбрать сотрудников, не имеющих однофамильцев

20

Выбрать сотрудников, имеющих более одного одно-

 

фамильца

42

ПРИЛОЖЕНИЕ С Варианты контрольной работы № 2

Вариант работы выбирается в приложении по общим прави-

лам.

Вариант

Предметная область

Сущность

1

Библиотека

 

Книга

2

Аптека

 

Лекарство

3

Деканат

 

Студент

4

Деканат

 

Изучаемая дисциплина

5

Кафедра

 

Преподаватель

6

Магазин заказов

 

Клиент

7

Магазин заказов

 

Заказ

8

Компьютерный магазин

Компьютер

9

Фирма поставок

 

Товар

10

Агенство занятости

 

Соискатель

11

Агенство недвижимости

Квартира

12

Клуб собаководства

 

Собака

13

Магазин видеотехники

Телевизор

14

Медицинские учреждения

Поликлиника

15

Образовательные

учре-

Школа

 

ждения

 

 

16

Школа

 

Школьник

17

Метеоявления

 

Дождь

18

Каталог видеофильмов

Фильм

19

Цех производства продук-

Деталь

 

ции

 

 

20

Система резервирования

Авиабилет

Примеры выполнения контрольной работы

Рассмотрим выполнение на примере предметной области ПОЛИКЛИНИКА и двух ее сущностей: врач и пациент (курсивом далее выделены пояснения к выполнению).

43

Пример 1: ВРАЧ

1)Выделим атрибуты:Табельный номер.ФИО.

Должность.

Специализация.Кабинет.

Стаж работы.

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

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

ФИО. Здесь уточнений не требуется, поскольку ФИО имеет однозначное значение.

Должность. Должность врача. Поскольку врач может находиться на нескольких должностях, атрибут может иметь множественное значение и врач должен иметь хотя бы одну должность.

Специализация. Специализация врача. Врач может иметь несколько специализаций. Должна быть хотя бы одна специализация.

Кабинет. Номер кабинета врача (здесь нужно уточнение, поскольку термин кабинет можно трактовать как угодно). У

врача должен быть кабинет, в одном кабинете может находиться несколько врачей.

Стаж работы. (Здесь стаж работы также может трактоваться двояко: либо это общий стаж (единственное значение), либо стаж по специализации (поскольку специализация имеет множественное значение, тогда атрибут также будет иметь множественное значение)). Примем стаж работы по спе-

циализации, означающий количество полных лет.

44

Специализация и стаж работы являются зависимыми атрибутами, а специализация и должность являются взаимонезависи-

мыми. Определить зависимые и взаимонезависимые атрибуты можно по такому правилу: если количество значений атрибутов (имеющих множественные значения) должны совпадать, они зависимы (сколько значений специализации имеет врач, столько он должен иметь и значений стажа работы (поскольку это стаж по специализации)), если количество значений атрибутов может иметь разное количество значений, они взаимонезависимы (количества должностей и специализаций у врача могут иметь разное число значений).

4)

Атрибут

Един./

Уника-

NULL

Домен

Пример

множ.

льность

 

 

 

 

Табельный

Ед.

+

От 1 до N

44

Номер

 

 

 

 

 

ФИО

Ед.

Не определен

Иванов И.И.

Должность

Множ.

Четкий домен

Зам. гл. врача

должностей

 

 

 

 

 

Специали-

Множ.

Четкий домен

Кардиолог

зация

специализаций

 

 

 

 

 

 

 

 

Четкий домен

 

Кабинет

Ед.

кабинетов вра-

 

 

 

 

чей.

 

Стаж рабо-

Множ.

0—N

5

ты

 

 

 

 

 

5) Поскольку имеются два взаимонезависымых атрибута, для нормализации нужно в отношение вводить число кортежей, равное произведению количеств значений этих атрибутов. Любой одиночный атрибут в этом отношении может иметь дублирующее значение. Если в отношении нет атрибутов, имеющих множественные значения, и присутствует уникальный атрибут, возможный ключ обычно имеет скалярное значение, в противном случае возможный ключ — составной. В этом случае в возможный ключ обычно входит атрибут, имеющий уникальное значение (табельный номер), и взаимонезависимые атрибуты (не имеющие повторяющихся значений для объекта отношения), только в этом случае гарантируется уникальность составного атрибута. В случае наличия атрибутов, имеющих множествен-

45

ное значение, возможный ключ не может быть скалярным. Вероятность дублирования возможного ключа должна быть равна 0. Если вероятность не равна 0 (хотя и очень мала), выбор такого ключа не будет приниматься.

Возможный ключ:

{Табельный номер, должность, специализация}.

Ключевые атрибуты: Табельный номер, должность, специализация.

Должность и стаж работы также являются взаимонезависимыми атрибутами, но стаж не может входить в возможный ключ, поскольку его значения могут совпадать для врача (атрибут

{Табельный номер, должность, стаж работы} может дублироваться).

Проверим, удовлетворяет ли выбранный возможный ключ свойствам возможного ключа.

1.Совокупность атрибутов возможного ключа является уникальным значением;

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

3.Удаление любого атрибута из возможного ключа приводит к потере уникальности, т.е. ключ обладает свойством неизбыточности.

6)Определение наличия неполных функциональных зависимостей от возможного ключа:

{Табельный номер, должность, специализация} → ФИО (1)

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

Табельный номер → ФИО

Поскольку ФИО зависит от точного подмножества возможного ключа (зависит от его части), зависимость (1) является неполной.

Зависимости между неключевыми атрибутами отсутствуют.

46

7) Поскольку присутствует неполная функциональная зависимость неключевого атрибута от возможного ключа, отношение находится в первой нормальной форме (1NF).

Пример 2: ПАЦИЕНТ

Предполагается, что в таблице будут храниться данные о пациенте, приписанном к поликлинике.

1)Выделим атрибуты:Номер карточки.

ФИО.

Дата рождения.

Текущее заболевание.Адрес.

Возраст.Пол.

2)Пациент приписан к поликлинике и должен иметь кар-

точку.

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

ФИО. Как и в случае с врачом, здесь уточнений не требу-

ется.

Дата рождения. Здесь уточнения не требуется, поскольку этот атрибут имеет однозначное толкование.

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

Адрес. Адрес проживания пациента включает улицу, номера дома и квартиры. Пациент обязан проживать по адресу.

Возраст. Количество полных лет (от 0 до N) (понятно, что атрибут не должен иметь пустых значений).

47

Пол. Пол пациента.

4)

Атрибут

Един./

Уника-

NULL

Домен

Пример

множ.

льность

 

 

 

 

Номер

Ед.

+

От 1 до N

45

карточки

 

 

 

 

 

ФИО

Ед.

Не определен

Иванов И.И.

Дата

Ед.

N1—N2

12.04.1970

рождения

 

 

 

 

 

Текущее

 

 

 

Четкий домен

 

заболева-

Множ.

+

Грипп

заболеваний

ние

 

 

 

 

 

 

 

 

 

Адрес

Ед.

Четкий домен

Вершинина,

Адресов

30-12

 

 

 

 

Возраст

Ед.

0—N.

33

Пол

Ед.

Четкий домен

Муж

5)Поскольку присутствует атрибут, имеющий множественные значения, только составной атрибут будет иметь уникальные значения:

{номер карточки, текущее заболевание}.

Однако этот атрибут не может быть выбран в качестве возможного ключа, т.к. атрибут, входящий в него (ТЕКУЩЕЕ ЗАБОЛЕВАНИЕ), может иметь пустые значения NULL. Выделить возможный ключ в таком отношении нельзя. Вводим дополнительный атрибут ID и выбираем его в качестве возможного ключа (суррогатный ключ, он не несет никакой информации о сущности, но обладает свойством уникальности, не имеет значений NULL и обладает свойством неизбыточности, поскольку является скалярным).

Возможный ключ: ID.

6)Неполные функциональные зависимости от возможного ключа отсутствуют, поскольку единственный возможный ключ является скалярным.

Присутствуют функциональные зависимости между неключевыми атрибутами:

Номер карточки → ФИО; Номер карточки → возраст; Номер карточки → адрес;

48

Номер карточки → пол.

7) Поскольку отсутствуют неполные функциональные зависимости от возможного ключа, отношение находится во второй нормальной форме.

Присутствие функциональных зависимостей между неключевыми атрибутами не дает отношению находиться в третьей нормальной форме, следовательно, отношение находится во второй нормальной форме (2NF).