- •I. Моделирование данных
- •0. Введение.
- •1. Понятия и архитектура субд
- •2. Основные этапы проектирования.
- •3. Сбор информации - 1 этап проектирования.
- •4. Объекты (сущности) и атрибуты.
- •5. Типы объектов, множества значений, ключевые атрибуты.
- •6. Выделение объектов - 2 этап проектирования.
- •8. Типы слабых объектов.
- •9. Выделение связей - 3 этап проектирования.
- •11. Тернарные связи.
- •II. Развитие понятий моделирования данных
- •0. Введение
- •1. Понятия eer-модели
- •2. Моделирование данных с помощью специализации и обобщения.
- •3. Категории и категоризация
- •4. Формальные определения
- •5. Пример схемы базы данных в eer-модели
- •6. Отображение er- и eer-модели в реляционную модель.
- •Содержание
- •I.Моделирование данных
- •II. Развитие понятий моделирования данных 10
3. Сбор информации - 1 этап проектирования.
Для иллюстрации процесса проектирования рассмотрим пример некоторой КОМПАНИИ. Опишем перечень требований, а затем шаг за шагом создадим концептуальную схему в терминах ER-модели.
1. Компания организована из отделов. Каждый отдел имеет название, номер, руководителя. Мы должны помнить дату, когда руководитель приступил к работе. Сотрудники отдела могут быть расположены в нескольких местах.
2. Отдел отвечает за некоторое количество проектов, каждый из которых имеет название, номер. Проект выполняется в одном определенном месте.
3. О каждом сотруднике мы должны знать имя, код, адрес, зарплату, пол и день рождения. Каждый сотрудник оформлен в одном отделе, но может работать над несколькими проектами, причем даже над такими, за которые отвечают другие отделы. Отслеживается, сколько времени сотрудник работает над каждым из проектов. Некоторые сотрудники имеют кураторов (наставников), информация о чем также должна содержаться в модели.
4. Необходимо знать об иждивенцах сотрудника (имя, пол, дату рождения, степень родства).
4. Объекты (сущности) и атрибуты.
О
Имя
= Иванов
Адрес
= 117311,Москва,Арбат,38,15
Год
рождения = 1941
Телефон
= 217-31-15
Название = Институт
Город
= Москва
Ректор
= Иванов
Рис.4.
Два экземпляра объектов и
значения их атрибутов
Н
е1
Н
с1
Большинство атрибутов имеет единственное значение для конкретного объекта. Такие атрибуты называются ОДНОЗНАЧНЫМИ (single-valued). Например, возраст человека. В некоторых случаях атрибут может иметь множество значений для одного и того же объекта, как, например, цвет автомашины или ученая степень для человека. Некто может вообще не иметь степеней, другой одну, а третий две или более, т.е. различные люди могут иметь различное число ЗНАЧЕНИЙ атрибута. Такие атрибуты называются МНОГОЗНАЧНЫМИ (multivalued). Многозначные атрибуты могут иметь верхнюю и нижнюю границы количества значений для каждого объекта. Например, атрибут цвет машины может иметь от одного до пяти значений, если мы предположим, что для автомобиля используется не более пяти цветов.
Иногда два (или более) атрибутов связаны между собой, например, возраст и дата рождения человека. Для каждого человека возраст может быть вычислен как разность текущей даты и даты рождения. Возраст, следовательно, является выводимым (derived) атрибутом и говорят, что он выводится из даты рождения. Значения некоторых атрибутов могут быть выведены из связанных между собой объектов. Например, атрибут количество сотрудников отдела может быть вычислено подсчетом числа сотрудников, имеющих связь с данным отделом.
В некоторых случаях конкретные объекты могут не иметь какого-либо значения для атрибута. Например, атрибут номер квартиры и адрес существуют только для многоквартирных строений, но не для личных домов. Аналогично, не всякий человек обладает степенью. Для таких случаев используется специальная константа НИЛ (NIL), обозначающая не существующее значение. В некоторых случаях значение атрибута просто не известно на данный момент, хотя какое-то значение этот атрибут имеет. Это неизвестное значение так же задается константой НИЛ. Использование одной и той же константы в различных смыслах вносит определенные трудности при эксплуатации.