Автор работы: Пользователь скрыл имя, 21 Февраля 2011 в 18:00, курсовая работа
Целью данного проекта является выработка умений и навыков проектирования структуры базы данных, предназначенной для функционирования автоматизированной информационной системы. Для достижения этой цели в данном проекте выполняется разработка структуры реляционной базы данных для гипотетической информационной системы «Агентство недвижимости».
Введение
1 Выбор автоматизируемых функций
1.1 Краткое описание предметной области . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Выбор и описание автоматизируемых функций . . . . . . . . . . . . . . . . . . .
1.3 Первичное описание информационного обеспечения . . . . . . . . . . . . . . .
1.4 Вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Проектирование исходных локальных моделей
2.1 Составление исходных локальных моделей . . . . . . . . . . . . . . . . . . . . . . .
2.2 Спецификации ограничений и правил . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Проектирование нормализованных локальных ER-моделей
3.1 Нормализация локальных ER-моделей . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Спецификации ограничений и правил . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 Проектирование глобальной ER-модели
4.1 Анализ дублирования в локальных моделях . . . . . . . . . . . . . . . . . . . . . .
4.2 Синтез глобальной ER-модели . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Спецификации ограничений и правил . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4 Вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 Проектирование реляционной и внешних моделей
5.1 Устранение категорий и явных связей. . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Спецификации ограничений и правил . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Разработка моделей внешних представлений . . . . . . . . . . . . . . . . . . . . .
5.4 Вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 Разработка SQL-моделей базы данных
6.1 SQL-код создания таблиц . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 SQL-код создания триггеров……………………………………………...
6.3 SQL-код реализации внешних представлений . . . . . . . . . . . . . . . . . . . . .
6.4 Вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Заключение
Список литературы
В данном подразделе из совокупности локальных ER-моделей строится единая глобальная ER-модель путем слияния эквивалентных сущностей, синтеза обобщенных сущностей и их категорий, устранения дублирования атрибутов и связей. Ниже представлены пояснения к указанным действиям. Графическое представление глобальной ER-модели приведено на рис. 4.1 в конце раздела.
4.2.1 Слияние эквивалентных сущностей
Эквивалентные сущности, выявленные в п. 4.1.1, слиты в одну с объединением множеств атрибутов:
1) ) «Сотрудник» функции 2, «Экзаменатор» функции 3, «Экзаменатор» функции 4 слиты в единую сущность «Сотрудник».
2) «Курсант» функции 3 и «Курсант» функции 4 слиты в единую сущность «Курсант».
4.2.2 Синтез обобщающих сущностей и категорий
Категорий сущностей не введено.
4.2.3 Устранение дублирования атрибутов и связей
Устранение дублирующихся атрибутов и связей не проводилось.
4.3 Спецификации ограничений и правил
В данном подразделе локальные ограничения и правила, сформулированные в разд. 3 для локальных ER-моделей, трансформированы применительно к глобальной модели, а именно:
– ограничения атрибутов сущностей (таблица 4.1);
– ограничения кортежей (таблица 4.2);
– ограничения уникальности (таблица 4.3);
– динамические ограничения (таблица 4.4);
– прочие ограничения (таблица 4.5);
– операционные правила (таблица 4.6).
– правила
ссылочной целостности (таблица 4.7);
Таблица 4.1
Ограничения атрибутов
Имя атрибутаили агрегата |
Источник (разд. 1.3) | Тип |
Размер |
Границыили допустимые значения |
Структура |
Условие |
Многозначность |
Значениепо умолчанию | |
мин |
макс | ||||||||
Функция 1 «Учет прав» | |||||||||
1.1. Права.Номер прав | 1.1 | строка цифр | 8 | 1 | 1 | ||||
|
|
агрегат | |||||||
|
|
дата | 1 | 1 | |||||
|
|
дата | 1 | 1 | |||||
|
|
латин. букв. | 1 | A,B,C,D | 1 | 1 | |||
|
|
дата | 2) | 1 | 1 | ||||
|
|
строка рус. букв | <=100 | 1 | 1 | ||||
|
|
строка цифр | 11 | ||||||
|
|
агрегат | |||||||
Функция 2 «Заявление на выдачу или восстановление прав» | |||||||||
2.1. Заявитель.ФИО заявителя | 1.1 | агрегат | 1 | 1 | |||||
2.2. Заявитель.Дата рождения | 1.2 | дата | 1 | 1 | |||||
2.3. Заявитель.Паспортные данные | 1.3 | строка цифр | 11 | 1 | 1 | ||||
2.4. Заявитель.Адрес | 1.4 | строка рус. букв | <=30 | 1 | 1 | ||||
2.5.Заявитель.Телефон | 1.5 | строка цифр | 6 | 0 | 1 | ||||
2.6. Сотрудник.ФИО сотрудника | 2.1 | агрегат | |||||||
2.7. Сотрудник.Личный номер | 2.2 | строка цифр | 6 | ||||||
2.8. Сотрудник. Должность | 2.3 | строка рус. букв | <=30 | А…Яя | 1 | 1 | |||
2.9. Заявление.Номер заявления | 3.2 | строка цифр | 6 | 1 | 1 | ||||
2.10. Заявление.Основание | 3.3 | строка рус. букв | <=255 | А...Яя | 1 | 1 | |||
2.11. Заявление.Дата заявления | 3.4 | дата | 1 | 1 | |||||
2.11. Заявление.Текст | 3.4 | текст | <=30 стрк | 1 | 1 | ||||
Функция 3 «Практический экзамен по вождению» | |||||||||
3.1 Курсант.ФИО курсанта | 1.1 | агрегат | 1 | 1 | |||||
3.2. Курсант.Пасп. данные | 1.2 | строка цифр | 11 | 1 | 1 | ||||
3.3. Курсант.Номер автошколы | 1.3 | строка цифр | 4 | 1 | 1 | ||||
3.4. Экзаменатор. | агрегат | ||||||||
3.5. Экзаменатор.ФИО экзаменатора | 2.1 | агрегат | 1 | 1 | |||||
3.6. Экзаменатор.Звание | 2.2 | строка рус. букв | <=30 | 1 | 1 | ||||
3.7. Экзаменатор.Личный номер | 2.3 | строка цифр | 6 | А…Яя | 1 | 1 | |||
3.8.ПрЭкзамен.НПП | 3.1 | строка цифр | 6 | 1 | 1 | ||||
3.9. ПрЭкзамен.Зачет первого экз. | 3.2 | положит. целое | 1 | 1/0 | 1 | 1 | |||
3.10. ПрЭкзамен.Зачет второго экз. | 3.3 | положит. целое | 1 | 1/0 | 1) | 1 | 1 | ||
3.11. ПрЭкзамен.Дата сдачи | 3.4 | дата | 1 | 1 | |||||
3.12. ПрЭкзамен.Примечания | 3.5 | строка рус. букв | <=255 | А…Яя | 1) | 1 | 1 | ||
Функция 4 «Теоретический экзамен по вождению» | |||||||||
4.1. Курсант.ФИО курсанта | 1.1 | агрегат | 1 | 1 | |||||
4.2. Курсант.Пасп. данные | 1.2 | строка цифр | 11 | 1 | 1 | 4) | |||
4.3. Курсант.Номер автошколы | 1.3 | строка цифр | 4 | 1 | 1 | ||||
4.4. Экзаменатор.ФИО экзаменатора | 2.1 | агрегат | 1 | 1 | 4) | ||||
4.5. Экзаменатор.Звание | 2.2 | строка рус. букв | <=30 | 1 | 1 | ||||
4.6. Экзаменатор.Личный номер | 2.3 | строка цифр | 6 | А…Яя | 1 | 1 | |||
4.7. Экзамен.НПП | 3.1 | строка цифр | 6 | 1 | 1 | ||||
4.8. Экзамен.Кол-во неправ. отв. | 3.2 | строка цифр | 3 | 1 | 1 | ||||
4.9. Экзамен.Примечания | 3.3 | строка рус. букв | <=255 | А…Яя | 1 | 1 | |||
4.10. Экзамен.Дата сдачи | 3.4 | дата | 1 | 1 | |||||
Функция 5 «Учет кадров» | |||||||||
5.1. Сотрудник.ФИО | 1.1 | агрегат | 1 | 1 | |||||
5.2. Сотрудник.Паспортные данные | 1.2 | строка цифр | 11 | 1 | 1 | ||||
|
|
строка цифр | 6 |
0 | 1 | ||||
|
|
положит. целое | 1 |
1 | 1 | ||||
|
|
строка рус. букв | <=30 |
А…Яя |
1 | 1 | |||
|
|
строка цифр | 1 | 1 | |||||
|
|
дата | 2) | 1 | 1 | ||||
|
|
строка цифр | 6 |
1 | 1 | ||||
5.9. Сотрудник.Группа крови | 1.11 | положит. целое | 2 | 1...4, +,- | 1 | 1 | |||
|
|
положит. целое | 1 | 1 | 4) | ||||
|
|
дата | 3) | 1 | 1 | ||||
|
|
символ | 1 | 1 | |||||
5.13. Карьера. | агрегат | 1 | М | ||||||
5.14. Карьера.Нпп | + | положит. целое | 1 | 1 | 4) | ||||
5.15. Карьера.Должность | 2.1 | строка рус. букв | <=30 | А…Яя | 1 | 1 | |||
5.16. Карьера.Звание | 2.2 | строка рус. букв | <=30 | А…Яя | 1 | 1 | |||
5.17 Карьера.Код подразд – ия | 2.3 | строка цифр | 6 | 1 | 1 | ||||
5.18. Карьера.Дата назначения | 2.4 | дата | 3) | 1 | 1 | тек. дата | |||
5.19. Карьера.Дата увольнения | 2.5 | дата | 3) | 0 | 1 | ||||
5.20. Карьера.Название подр-ия | + | 1 | 1 | ||||||
5.21. Карьера.Код звания | + | строка цифр | 6 | 0 | 1 | ||||
5.22. Карьера.Код должности | + | строка цифр | 6 | 1 | 1 |
Примечания:
1) Определяется одним из 3 значений: 1- «Нет риска», 2 – «Повышенное внимание», «Особая опасность».
2) Для упрощения здесь и далее структура агрегата ФИО не раскрывается (см. табл. 2.1).
3) Дата рождения > Текущая дата – 100 лет; Дата рождения < Текущая дата – 20 лет.
4) Значение даты <= Текущей даты.
5) Следующее
значение (инкремент).
Таблица 4.2.
Ограничения кортежей
№
п/п |
Источник | Группа атрибутов | Ограничение | |||
Функция 1 «Учет прав» | ||||||
1.1 | Права.Дата выдачи, Права.Срок действия | Права.Дата Выдачи < Права.Срок действия | ||||
1.2 | Права.Дата выдачи, Владелец прав Дата рождения | Права.Дата выдачи > Владелец прав.Дата рождения | ||||
Функция 2 «Заявление на выдачу или восстановление прав» | ||||||
2.1 | Заявление.Дата заявления , Заявитель.Дата рождения | Заявление.Дата заявления > Заявитель Дата рождения | ||||
Функция 3 «Практический экзамен» | ||||||
В данной функции ограничения на кортежи не выявлены. | ||||||
Функция 4 «Практический экзамен» | ||||||
В данной функции ограничения на кортежи не выявлены. | ||||||
Функция 5 «Учет кадров» | ||||||
5.1 | 2.1 | Сотрудник.Дата
рождения,
Место.Дата назначения |
Дата назначения – Дата рождения >= 20 лет | |||
5.2 | 2.2 | Место.Дата назначения, Место.Дата увольнения | Место.Дата увольнения >Место. Дата назначения | |||
5.3 | 2.3 | Дети.Дата
рождения,
Сотрудник.Дата рождения |
Дети.Дата рождения > Сотрудник.Дата рождения |
Таблица 4.3.
Ограничения уникальности
№
п/п |
Источник | Группа атрибутов | Среди каких
экземпляров имеет место | ||
Функция 1 «Учет прав» | |||||
1.1 | + | Права.Номер прав | среди всех прав | ||
1.2 | + | Владелец прав.Паспортные данные | среди всех владельцев прав | ||
Функция 2 «Заявление на выдачу или восстановление прав» | |||||
2.1 | + | Заявление.Номер заявления | среди всех заявлений | ||
2.2 | + | Сотрудник.Личный номер | среди всех сотрудников | ||
2.3 | + | Заявитель.Паспортные данные | среди всех заявителей | ||
Функция 3 «Практический экзамен» | |||||
3.1 | + | Экзамен.Нпп | среди всех практических экзаменов | ||
3.2 | + | Экзаменатор.Личный номер | среди всех экзаменаторов | ||
3.3 | + | Курсант.Паспортные данные | среди всех курсантов | ||
Функция 4 «Теоретический экзамен» | |||||
4.1 | + | Экзамен.Нпп | среди всех теоретических экзаменов | ||
4.2 | + | Экзаменатор.Личный номер | среди всех экзаменаторов | ||
4.3 | + | Курсант.Паспортные данные | среди всех курсантов | ||
Функция 5 «Учет кадров» | |||||
5.1 | 5.1 | Сотрудник.Личный номер | среди всех экз. сущности «Сотрудник» | ||
5.2 | 5.2 | Сотрудник.ФИО | « | ||
5.3 | 5.3 | Сотрудник.Паспортные данные | « | ||
5.4 | 5.4 | Дети.Нпп | среди всех экз. сущности «Дети» | ||
5.5 | 5.5 | Место.Нпп | среди всех экз. связи «Место» одного сотрудника | ||
5.6 | 5.6 | Место.Дата назначения | « | ||
5.7 | 5.7 | Место.Дата увольнения | « | ||
5.8 | + | Звание.Код | среди всех экз. сущности «Звание» | ||
5.9 | + | Подразделение.Код | среди всех экз. сущности «Подразделение» | ||
5.10 | + | Должность.Код | среди всех экз. сущности «Должность» |
Динамические ограничения
В
функциях 1-5 динамические ограничения
не выявлены
Таблица 4.5
Другие ограничения
№
п/п |
Источник | Группа атрибутов | Ограничение |
Функция 1 «Учет прав» — ограничения не выявлены | |||
Функция 2 «Заявление на выдачу или восстановление прав» — ограничения не выявлены | |||
Функция 3 «Практический экзамен» — ограничения не выявлены | |||
Функция 4 «Теоретический экзамен» — ограничения не выявлены | |||
Функция 5 «Учет кадров» | |||
2.1 | + | Карьера.Дата увольнения | «Дата увольнения»,
соответствующая данному |
2.2 | + | Карьера.Нпп,
Дата назначения,
Дата увольнения |
Хронологическая последовательность значений «Дата назначения», «Дата увольнения» в агрегате «Карьера», соответствующих одному сотруднику, упорядоченных по «Нпп» |
2.3 | + | Карьера.Нпп | Последовательность номеров, соответствующая должностям, должна начинаться с 1 и не иметь пропусков |
2.4 | + | Дети.Нпп, Дата рождения | Хронологическая последовательность значений «Дата рождения» в агрегате «Дети», соответствующих одному сотруднику, упорядоченных по «Нпп» |
2.5 | + | Дети.Нпп | Последовательность номеров, соответствующая должностям, может начинаться с 0 и не иметь пропусков |
Таблица 4.6.
Операционные правила
№
п/п |
Источник
(табл. 1.3) |
Группа атрибутов | Ограничение |
Функция 1 «Учет прав» — Правила не выявлены | |||
Функция 2 «Заявление на выдачу или восстановление прав» — Правила не выявлены | |||
Функция 3 «Практический экзамен» — Правила не выявлены | |||
Функция 4 «Теоретический экзамен» — Правила не выявлены | |||
Функция 5 «Учет кадров» — Правила не выявлены | |||
Атрибуты, относящиеся
к сотруднику:
Личный номер, Фамилия, Имя, Отчество, … и т.д. |
При удалении записи о каком-либо сотруднике все сведения о нем переносятся в архивную базу с указанием даты-времени, причины удаления и имени пользователя, выполнившего удаление. Эти сведения хранятся в архивной базе не менее 1 года, а затем могут быть автоматически удалены |
Таблица 4.7.
Ссылочные правила
№
п/п |
Источник
(табл. 3.7) |
Родительская
сущность/связь |
Дочерняя
сущность/связь |
Правило
удаления |
Другие
правила |
1 | сотрудник | дети | каскадное | ||
2 | звание | сотрудник | строгое | ||
3 | должность | сотрудник | строгое | ||
4 | сотрудник | права | строгое | ||
5 | сотрудник | место | каскадное | ||
6 | сотрудник | практ.экзамен | строгое | ||
7 | сотрудник | теор.экзамен | строгое | ||
8 | сотрудник | заявление | строгое | ||
9 | подразделение | место | каскадное | ||
10 | заявитель | заявление | каскадное | ||
11 | владелец прав | права | каскадное | ||
12 | курсант | практ.экзамен | каскадное | ||
13 | курсант | теор.экзамен | каскадное |