Составление реляционных отношений
МОСКОВСКИЙ ИНСТИТУТ ЭКОНОМИКИ, МЕНЕДЖМЕНТА И ПРАВА
Кафедра «Математика и информатика»
Курсовое проектирование по дисциплине
«Проектирование информационных систем»
База данных программной системы «ПОЛИГРАФИЯ»
Выполнил:
Проверил:
Москва 2011
Содержание
1. Инфологическое проектирование. 3
1.1. Анализ предметной области. 3
1.2. Анализ информационных задач и круга пользователей системы.. 4
2. Определение требований к операционной обстановке. 4
3. Выбор СУБД и других программных средств. 4
4. Логическое проектирование РБД.. 5
4.1. Преобразование ER-диаграммы в схему БД.. 5
4.2. Составление реляционных отношений. 8
4.3. Нормализация полученных отношений. 11
4.4. Описание групп пользователей и прав доступа. 15
5. Физическое проектирование БД.. 16
5.1 Примеры готовых запросов. 16
5.2 Примеры индексов. 16
1. Инфологическое проектирование
Анализ предметной области
База данных (БД) разрабатывается для программной системы «ПОЛИГРАФИЯ». Она предназначена для информационного обслуживания сотрудников студенческой полиграфии (СП). БД должна содержать данные о расходных материалах, услугах, поступающих в СП заказах, финансовом состоянии СП и предоставлять возможность получать разнообразные отчеты.
Выделим базовые сущности предметной области:
|
|
· Услуги
· Расходные материалы
· Услуги
· Финансы
· Клиенты
· Рассылки
· Заказы расходных материалов
ER-диаграмма разрабатываемой БД приведена на рисунке 1.
Рисунок 1. ER-диаграмма
Анализ информационных задач и круга пользователей системы
ПС создается для обслуживания следующих групп пользователей:
· управляющий;
· кладовщик;
· операторы;
· web-сайт.
Разрабатываемая БД должна предоставлять следующие функциональные возможности:
· ведение БД (запись, чтение, модификация, удаление в архив);
· обеспечение целостности и логической непротиворечивости данных;
· обеспечение защиты данных от несанкционированного или случайного доступа (определение прав доступа);
· реализация наиболее часто встречающихся запросов в готовом виде.
Часто встречающиеся запросы:
· отобразить список всех услуг;
· отобразить список всех расходных материалов заданного типа;
· отобразить все необработанные заказы клиентов;
· найти заказ клиента по его идентификатору;
· отобразить все заказы расходных материалов;
· отобразить все почтовые рассылки;
· найти всех клиентов, подписавшихся на почтовую рассылку.
|
|
Определение требований к операционной обстановке
Рассчитаем примерный объем памяти, который потребуется для хранения данных в течении одного месяца работы.
Mc =2 *(314 *10 +264 *10 +35 *3000 +520 *3000 +15 *100 +268 *1 +14 *3010 +574 *20 +101
*10 +101 *3 +101 *3 +101 *3 +12 *6000 +8 *3 ) = 396111
Следовательно за год объем БД не должен превысить 5149443 ≈5.2 мб
Выбор СУБД и других программных средств
Анализ информационных задач показывает, что для реализации требуемых функций подходят почти все СУБД для ПЭВМ (Oracle, MS Access и др.). Все они поддерживают реляционную модель данных и предоставляют разнообразные возможности для работы с данными.
В разрабатываемой ПС потребуется взаимодействие БД с программными модулями, реализованными на языке PHP. Поэтому остановим наш выбор на СУБД MySQL, которая очень популярна в web-разработках. Для разработки БД будет использована MySQL версии 5.1.
Логическое проектирование РБД
Преобразование ER-диаграммы в схему БД
БД создается на основании схемы БД. Для преобразования ER-диаграммы в схему БД приведем уточненную ER-диаграмму, содержащую атрибуты сущностей (рисунок 2).
Рисунок 2. Уточненная ER-диаграмма
Преобразуем ER-диаграмму в схему БД. Полученная схема БД приведена на рисунке 3.
|
|
Рисунок 3. Схема БД
Составление реляционных отношений
Таблица 1. Схема отношения Услуги (Services)
Содержание поля | Имя поля | Тип, длина | Примечания |
Идентификатор | SRV_ID | INT(4) | Первичный ключ, уникальный |
Название | SRV_TITLE | CHAR(50) | Обязательное поле |
Описание | SRV_DESCRIPTION | CHAR(256) | Обязательное поле |
Стоимость | SRV_COST | INT(4,2) | Обязательное поле |
Таблица 2. Схема отношения Сотрудники (Employers)
Содержание поля | Имя поля | Тип, длина | Примечания |
Идентификатор | EMP_ID | INT(4) | Первичный ключ, уникальный |
ФИО | EMP_INITIALS | CHAR(256) | Обязательное поле |
Должность | EMP_POST | CHAT(100) | Обязательное поле |
Таблица 3. Схема отношения Заказ клиента (Client’s Order)
Содержание поля | Имя поля | Тип, длина | Примечания |
Идентификатор | CO_ID | INT(4) | Первичный ключ, уникальный |
Стоимость | CO_COAST | INT(4,2) | Обязательное поле |
Идентификатор клиента | CO_CL_ID | INT(4) | Внешний ключ к Clients |
Статус | CO_STATUS | CHAR(100) | Обязательное поле |
Дата поступления | CO_ENTRY_DATE | DATATIME | Обязательное поле |
Дата выполнения | CO_EXECUTE_DATE | DATATIME | Обязательное поле |
Идентификатор сотрудника, принявшего заказ | CO_EMP_TAKE_ID | INT(4) | Внешний ключ к Employers |
Идентификатор сотрудника, выполнившего заказ | CO_EMP_EXECUTE_ID | INT(4) | Внешний ключ к Employers, необязательное поле |
Идентификатор сотрудника, выдавшего заказ | CO_EMP_RETURN_ID | INT(4) | Внешний ключ к Employers, необязательное поле |
Таблица 4. Схема отношения Клиенты(Clients)
|
|
Содержание поля | Имя поля | Тип, длина | Примечания |
Идентификатор | CL_ID | INT(4) | Первичный ключ, уникальный |
ФИО | CL_INITIALS | CHAR(256) | Обязательное поле |
Адрес электронной почты | CL_EMAIL | CHAR(256) | Необязательное поле |
Признак подписки на почтовую рассылку | CL_SUBSCRIPTION | BOOL | Обязательное поле |
Таблица 5. Схема отношения Заказ расходного материала(Stuff’s Order)
Содержание поля | Имя поля | Тип, длина | Примечания |
Идентификатор | SO_ID | INT(4) | Первичный ключ, уникальный |
Дата поступления заказа | SO _DATE | DATATIME | Обязательное поле |
Стоимость | SO_COST | INT(4,2) | Необязательное поле |
Идентификатор сотрудника | SO_EMP_ID | INT(1) | Внешний ключ к Employers |
Таблица 6. Схема отношения Рассылка(Distribution)
Содержание поля | Имя поля | Тип, длина | Примечания |
Идентификатор | D_ID | INT(4) | Первичный ключ, уникальный |
Путь к файлу с рассылкой | D_PATH | CHAR(256) | Обязательное поле |
Дата создания | D_CREATE_DATE | DATATIME | Обязательное поле |
Дата отправления | D_SEND_DATE | DATATIME | Необязательное поле |
Таблица 7. Схема отношения Финансы(Finances)
Содержание поля | Имя поля | Тип, длина | Примечания |
Идентификатор заказа расходного материала | F_SO_ID | INT(4) | Исключающая связь, внешний ключ или к Stuff’s Order или к Clients’s Order, уникальный |
Идентификатор заказа клиента | F_CO_ID | INT(4) | |
Сумма | F_PRICE | INT(4,2) | Обязательное поле, неотрицательное |
Таблица 8. Схема отношения Расходный материал(Stuff)
Содержание поля | Имя поля | Тип, длина | Примечания |
Идентификатор | S_ID | INT(4) | Первичный ключ, уникальный |
Комментарий | S_COMMENT | CHAR(256) | Необязательное поле |
Описание | S_DESCRIPTION | CHAR(256) | Обязательное поле |
Статус | S_STATUS | CHAR(100) | Обязательное поле |
Цена за штуку | S_COST | INT(4,2) | Обязательное поле |
Код | S_CODE | CHAR(50) | Необязательное поле |
Тип | S_TYPE | CHAR(100) | Обязательное поле |
Таблица 9. Схема отношения Заказ - Услуги(Cleint’s Order - Services)
Содержание поля | Имя поля | Тип, длина | Примечания |
Идентификатор заказа клиента | CO-S _CL_ID | INT(4) | Внешний ключ к Clients |
Название услуги | CO-S_SRV_ID | INT(4) | Внешний ключ к Services |
Количество | CO-S_QUANTITY | INT(4) | Обязательное поле |
Ссылка на файл | CO-S_PATH | CHAR(256) | Необязательное поле |
Таблица 10. Схема отношения Услуги – Расходные материалы(Services - Stuff)
Содержание поля | Имя поля | Тип, длина | Примечания |
Идентификатор услуги | S-S_SRV_ID | INT(4) | Внешний ключ к Services |
Идентификатор расходного материала | S-S_S_ID | INT(4) | Внешний ключ к Stuff |
Таблица 11. Схема отношения Заказ р\м– Расходные материалы(Stuff’s Order - Stuff)
Дата добавления: 2018-05-12; просмотров: 1054; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!