Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория БД (текст).doc
Скачиваний:
23
Добавлен:
14.04.2015
Размер:
1.1 Mб
Скачать

3. Сбор информации - 1 этап проектирования.

Для иллюстрации процесса проектирования рассмотрим пример некоторой КОМПАНИИ. Опишем перечень требований, а затем шаг за шагом создадим концептуальную схему в терминах ER-модели.

1. Компания организована из отделов. Каждый отдел имеет название, номер, руководителя. Мы должны помнить дату, когда руководитель приступил к работе. Сотрудники отдела могут быть расположены в нескольких местах.

2. Отдел отвечает за некоторое количество проектов, каждый из которых имеет название, номер. Проект выполняется в одном определенном месте.

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

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

4. Объекты (сущности) и атрибуты.

О

Имя = Иванов

Адрес = 117311,Москва,Арбат,38,15

Год рождения = 1941

Телефон = 217-31-15

Название = Институт

Город = Москва

Ректор = Иванов

Рис.4. Два экземпляра объектов

и значения их атрибутов

сновным элементом ER-модели являетсяОБЪЕКТ (entity) - некоторая "вещь", существующая в природе. Это может быть физический объект: человек, автомобиль, дом, сотрудник, либо некоторое понятие: компания, работа, университетский курс. Каждый объект имеет отличительные свойства, называемые АТРИБУТАМИ (attribute), которые описывают объект.

Н

е1

апример, объектСОТРУДНИК может быть описан такими атрибутами как имя, возраст, адрес, зарплата и специальность (рис.4). Конкретный сотрудник имеет значения каждого атрибута. Значения атрибутов, описывающих объекты, составляют большую часть хранимой базы данных.

Н

с1

екоторые атрибуты могут состоять из нескольких частей с самостоятельными значениями. Например, Адрес состоит из почтового индекса, города, улицы, номеров дома и квартиры. Такие атрибуты называютсяСОСТАВНЫМИ в противовес неделимым: ПРОСТЫМ или АТОМАРНЫМ. Составной атрибут строится по иерархическому принципу.

Большинство атрибутов имеет единственное значение для конкретного объекта. Такие атрибуты называются ОДНОЗНАЧНЫМИ (single-valued). Например, возраст человека. В некоторых случаях атрибут может иметь множество значений для одного и того же объекта, как, например, цвет автомашины или ученая степень для человека. Некто может вообще не иметь степеней, другой одну, а третий две или более, т.е. различные люди могут иметь различное число ЗНАЧЕНИЙ атрибута. Такие атрибуты называются МНОГОЗНАЧНЫМИ (multivalued). Многозначные атрибуты могут иметь верхнюю и нижнюю границы количества значений для каждого объекта. Например, атрибут цвет машины может иметь от одного до пяти значений, если мы предположим, что для автомобиля используется не более пяти цветов.

Иногда два (или более) атрибутов связаны между собой, например, возраст и дата рождения человека. Для каждого человека возраст может быть вычислен как разность текущей даты и даты рождения. Возраст, следовательно, является выводимым (derived) атрибутом и говорят, что он выводится из даты рождения. Значения некоторых атрибутов могут быть выведены из связанных между собой объектов. Например, атрибут количество сотрудников отдела может быть вычислено подсчетом числа сотрудников, имеющих связь с данным отделом.

В некоторых случаях конкретные объекты могут не иметь какого-либо значения для атрибута. Например, атрибут номер квартиры и адрес существуют только для многоквартирных строений, но не для личных домов. Аналогично, не всякий человек обладает степенью. Для таких случаев используется специальная константа НИЛ (NIL), обозначающая не существующее значение. В некоторых случаях значение атрибута просто не известно на данный момент, хотя какое-то значение этот атрибут имеет. Это неизвестное значение так же задается константой НИЛ. Использование одной и той же константы в различных смыслах вносит определенные трудности при эксплуатации.