Для предметной области базы данных
Для предметной области базы данных для иллюстративных примеров можно выделить следующие основные классы объектов: подразделения (схема структурной организации фирмы), сотрудники (штатное расписание) и подчиненные им объекты (дети, родственники, например), проекты, выполняемые данной организацией.
Сотрудник как объект определяется карточкой личного учета, которая имеет весьма сложную внутреннюю структуру и которую целесообразно как теоретически, так и практически представлять совокупностью объектов, связанных в целое через ее номер (чаще всего искусственно придуманный табельный номер служащего). Аналогично, подразделение как объект определяется структурой организации и его функциями в ней. Проекты (другими словами, работы) являются объектами, которые отражают состояние деятельности организации в получении прибыли. Логическая схема базы данных приведена на рис. 8.2. Для простоты изложения большая часть атрибутов и объектов опущено - пример преследует иллюстрированные и учебные цели и не претендует на полноту представления данных.
Рис. 8.2. Логическая структура учебной базы данных
Определение таблиц данных приведено ниже. Таблица DEPARTAMENT содержит информацию о подразделениях организации, таблица EMPLOYEE - о служащих данной организации, таблица PROJECT - информацию о проектах, выполняемых в организации.
Номер подразделения | DEPNO (PK) | Integer |
Наименование | DNAME | char(20) |
Размещение | LOC | char(20) |
Руководитель | MANAGER | char(25) |
Телефон | PHONE | CHAR(15) |
Номер личной карточки |
Номер личной карточки | EMPNO (PK) | Integer |
Фамилия | ENAME | char(25) |
Имя | LNAME | char(20) |
Страховка | SSECNO | char(10) |
Номер подразделения | DEPNO | Integer |
Должность | JOB | char(25) |
Возраст | AGE | Integer |
Стаж | HIREDATE | Data |
Доплаты | COMM | dec(9,2) |
Зарплата | SAL | dec(9,2) |
Штрафы | FINE | dec(9,2 |
Шифр проекта | PROJNO | char(8) |
Наименование | PNAME | char(25) |
Стоимость | BUDGET | Number(9,2) |