1. Описание предметной области и определение цели проектирования информационной системы
Предметная область — организация работы строительной фирмы, описывается при помощи универсального отношения “Заказ” со следующей схемой
Заказ (Номер, Адрес объекта, Дата сдачи, Номер клиента, Номер бригады).
Допустим также, что по условиям функционирования ПО справедливы следующие семантические условия и соответствующие им функциональные зависимости между атрибутами:
1. Номер заказа является уникальной характеристикой заказа и однозначно определяет название клуба, страну и владельца клуба.
2. Каждый заказчик характеризуется заказом. И имеет характеристики такие как номер клиента, дата заказа, ответственное лицо.
3. Каждая бригада характеризуется заказом и имеет уникальный номер бригады, ФИО бригадира и количество человек в бригаде.
4. Каждый материал имеет свои код, наименование материала, количество материала.
5. Поставщики характеризуются своим ИД, названием организации, адресом, телефоном и email.
6. Услуги характеризуются номером услуги, названием и стоимостью
7. Сотрудники характеризуются своим табельным номером, номером бригады, ФИО, номером паспорта, адресом, окладом, должностью, стажем работы и номером социального страхования.
Схема функциональных зависимостей ПО «Строительная фирма» приведена на рис 1.
Рис. 1. Схема функциональных зависимостей ПО «Спортивный клуб»
2. Анализ предметной области и инфологическое проектирование
2.1 Информационная модель предметной области
Результаты разработки информационной модели предметной области «Строительная компания» в терминах модели сущность-связь, выполненной в среде Erwin приведены на рис. 2.
Рис. 2. Пример информационной модели предметной области «Строительная компания»
2.2 Спецификации сущностей
Табл. 1
Имя сущности |
Описание сущности |
|
Заказы |
Заказы на строительные работы |
|
Материалы |
Материалы необходимые для выполнения работ |
|
Бригады |
Бригады выполняющие работы |
|
Поставщики |
организации предоставляющие материалы |
|
Сотрудники |
Люди работающие в организации |
|
Услуги |
Услуги предоставляемые фирмой |
|
Клиенты |
Люди заказывающие работу |
|
2.3 Спецификации атрибутов
Табл. 2
Имя сущности |
Имя атрибута |
Описание атрибута |
Первичный ключ |
Внешний ключ |
Домен (тип) |
|
Заказы |
Номер заказа |
Уникальный номер заказа |
Yes |
No |
VARCHAR(255) |
|
адрес объекта |
адрес |
No |
No |
String |
||
Дата сдачи |
дата когда сдан проект |
No |
No |
String |
||
Номер клиента |
уникальный номер клиента |
No |
No |
String |
||
материалы |
Код_материала |
Уникальный код материала |
Yes |
No |
String |
|
Название материала |
Название материала |
No |
No |
String |
||
Стоимость |
стоимость материала |
No |
No |
Number |
||
поставщики |
ИД поставщика |
Уникальный ИДпоставщика |
Yes |
No |
String |
|
название |
Yes |
Yes |
String |
|||
Адрес организации |
Адрес |
Yes |
Yes |
String |
||
Телефон организации |
Телефон |
No |
No |
String |
||
Сотрудники |
табельный номер |
Уникальный номер |
Yes |
No |
String |
|
Номер паспорта |
паспортные данные |
Yes |
Yes |
String |
||
ФИО |
ФИО сотрудника |
No |
No |
String |
||
Оклад |
зарплата |
No |
No |
String |
||
Должность |
Занимаемая должность |
No |
No |
Datetime |
||
Номер бригады |
Бригада в которой работает |
No |
No |
Number |
||
Стаж |
Стаж работы |
No |
No |
String |
||
Услуги |
Номер услуги |
Уникальный номер услуги |
Yes |
No |
String |
|
услуга |
Название услуги |
No |
No |
String |
||
Стоимость услуг |
Стоимость |
No |
No |
Number |
||
2.4 Спецификация связей
Табл. 3
Name |
Type |
Cardinality |
Null Option |
Definition |
Parent to Child Rule |
Child to Parent Rule |
|
заказывают |
Non-identifying |
One-to-Zero-One-or-More |
No Nulls |
Состоит из |
|||
Нуждаются |
Identifying |
One-to-Zero-One-or-More |
Участие в турнире |
||||
предоставляют |
Identifying |
One-to-Zero-One-or-More |
Состав команды |
||||
требуют |
Identifying |
One-to-Zero-One-or-More |
Тренерский состав |
||||
требуются |
Identifying |
One-to-Zero-One-or-More |
Достижения спортсменов |
||||
поставляются |
Identifying |
One-to-Zero-One-or-More |
Место проведения, а именно стадион |
||||
выполняют |
Non-identifying |
One-to-Zero-One-or-More |
Количество команд |
||||
2.5 Ограничение ссылочной целостности
Табл. 4
Имя связи «Отец — Сын» |
Тип связи |
Null внешнего ключа |
Parent Insert |
Parent Update |
Parent Delete |
Child Delete |
Child Insert |
Child Update |
|
заказывают |
Non-identifying |
No Nulls |
не влияет |
Restrict |
Restrict |
не влияет |
Restrict |
Restrict |
|
Нуждаются |
Identifying |
не влияет |
Restrict |
Restrict |
не влияет |
Restrict |
Restrict |
||
предоставляют |
Identifying |
не влияет |
Restrict |
Restrict |
не влияет |
Restrict |
Restrict |
||
требуют |
Identifying |
не влияет |
Restrict |
Restrict |
не влияет |
Restrict |
Restrict |
||
требуются |
Identifying |
не влияет |
Restrict |
Restrict |
не влияет |
Restrict |
Restrict |
||
поставляются |
Identifying |
не влияет |
Restrict |
Restrict |
не влияет |
Restrict |
Restrict |
||
выполняют |
Identifying |
не влияет |
Restrict |
Restrict |
не влияет |
Restrict |
Restrict |
||
3. Даталогическое проектирование
3.1 Даталогическая модель базы данных
Результаты разработки концептуальной даталогической модели базы данных, выполненной в среде ERWin.
СУБД (Access) — ориентированной модели предметной области «Строительная фирма» приведена на рис. 3.
Рис. 3. СУБД (Access) — ориентированной модели предметной области «Строительная фирма»
3.2 Спецификации таблиц
Табл. 5
Имя таблицы |
Имя столбца |
Домен (тип) |
Null значение |
Первичный ключ |
Внешний ключ |
|
Заказы |
Номер заказа |
TEXT(20) |
NOT NULL |
Yes |
No |
|
адрес объекта |
TEXT(20) |
NULL |
No |
No |
||
Дата сдачи |
TEXT(20) |
NULL |
No |
No |
||
Номер клиента |
TEXT(20) |
NULL |
No |
No |
||
материалы |
Код_материала |
TEXT(20) |
NOT NULL |
Yes |
No |
|
Название материала |
TEXT(20) |
NULL |
No |
No |
||
Стоимость |
Number |
NULL |
No |
No |
||
поставщики |
ИД поставщика |
TEXT(20) |
NOT NULL |
No |
Yes |
|
название организации |
TEXT(20) |
NOT NULL |
Yes |
No |
||
Адрес организации |
TEXT(20) |
NOT NULL |
Yes |
Yes |
||
Телефон организации |
TEXT(20) |
NOT NULL |
Yes |
Yes |
||
Сотрудники |
табельный номер |
TEXT(20) |
NULL |
No |
No |
|
Номер паспорта |
TEXT(20) |
NOT NULL |
Yes |
No |
||
ФИО |
TEXT(20) |
NOT NULL |
Yes |
Yes |
||
Оклад |
TEXT(20) |
NULL |
No |
No |
||
Должность |
TEXT(20) |
NULL |
No |
No |
||
Номер бригады |
Datetime |
NULL |
No |
No |
||
Стаж |
Number |
NULL |
No |
No |
||
Услуги |
Номер услуги |
TEXT(20) |
NULL |
No |
No |
|
услуга |
TEXT(20) |
NOT NULL |
Yes |
No |
||
Стоимость услуг |
TEXT(20) |
NULL |
No |
No |
||
3.3 Спецификация связей
Табл. 6
Имя связи |
Имя отцовской таблицы |
Первичный ключ отцовской таблицы |
Имя сыновей таблицы |
Первичный ключ сыновей таблицы |
Внешний ключ сыновей таблицы |
|
Включает |
Клуб |
Код клуба |
Команда |
Код команды |
Код клуба |
|
Участвует в |
Команда |
Код команды |
Турнир команды |
Код турнира Код команды Код стадиона |
||
Состоит из |
Команда |
Код команды |
Спортсмены |
Код спортсмена |
Код команды |
|
Включает тренеров |
Команда |
Код команды |
Тренер |
Код тренера |
Код команды |
|
Имеют достижения |
Спортсмены |
Код спортсмена |
Код команды |
Код достижения |
Код спортсмена Код команды |
|
Место проведения |
Стадион |
Код стадиона |
Турнир команды |
Код турнира Код команды Код стадиона |
||
Команды турнира |
Турнир |
Код турнира |
Турнир команды |
Код турнира Код команды Код стадиона |
||
3.4 SQL — запросы.
1. Выборка по всем полям таблицы
0: adoquery1.sql.text:=’Select DISTINCT ‘+ edit4.Text + ‘ from Бригады ORDER BY ‘+edit5.Text;
2. Выборка и сортировка по убыванию
0: adoquery1.sql.text:=’Select DISTINCT ‘+ edit4.Text + ‘ from Бригады ORDER BY ‘+edit5.Text+’ desc’;
3. Поиск по записям
adoquery1.sql.Text:= ‘Select * From Клуб where Клуб.[Название]=»‘+edit1.Text+'»‘;
4. Рабочее проектирование
4.1 Схема данных
Рабочее проектирование выполнялось в среде Microsoft Access.
Рис. 4. Схема данных
4.2 Выполнение запросов
Выборка по всем полям таблицы.
Рис. 5
Выборка и сортировка по убыванию.
Рис. 6
Заключение
информационный программный даталогический
В ходе работы курсовой работы были пройдены все основные этапы проектирования базы данных, анализ предметной области «Строительная компания», составление инфологической модели (информационная модель ERWin), составление даталогической модели (даталогическая модель ERWin), рабочее проектирование схемы базы данных и интерфейса конечного пользователя в Microsoft Access. В ходе инфологического и даталогического анализа были учтены особенности предметной области и составлены спецификации сущностей, атрибутов, связей (для инфологической модели), таблиц, связей (для даталогической модели).
Так же был учтен контроль целостности базы данных. В ходе работы проектирования интерфейса Microsoft Access были составлены основные формы и запросы.
В результате выполнения курсовой работы были получены основные навыки анализа заданной предметной области, разработки баз данных, работы с CASE — средствами ERWin, работы с СУБД и средством проектирования интерфейса пользователя Microsoft Access
Разработанная база данных может быть использована в прикладных целях.