Автор работы: Пользователь скрыл имя, 02 Декабря 2013 в 21:08, курсовая работа
Целью данного проекта является выработка умений и навыков проектирования моделей базы данных, предназначенной для функционирования автоматизированной информационной системы. Для достижения этой цели в данном проекте выполняется разработка концептуально-логических моделей, необходимых для создания и эксплуатации реляционной базы данных для гипотетической информационной системы организации (учреждения, подразделения).
Введение 03
1 Описание проблемной области 04
1.1 Описание информационной системы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 04
1.2 Описание автоматизируемых функций (бизнес-процессов) . . . . . . . . . . 04
1.3 Первичное описание информационного обеспечения . . . . . . . . . . . . . . . 06
1.4 Вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 08
2 Проектирование внешних иерархических моделей 08
2.1 Составление внешних иерархических моделей . . . . . . . . . . . . . . . . . . . . 08
2.2 Спецификации локальных ограничений и правил . . . . . . . . . . . . . . . . . . 10
2.3 Вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3 Проектирование нормализованных локальных ER-моделей 14
3.1 Нормализация локальных ER-моделей . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 Спецификации локальных ограничений и правил . . . . . . . . . . . . . . . . . . 17
3.3 Вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4 Проектирование глобальной ER-модели 21
4.1 Анализ дублирования в локальных моделях . . . . . . . . . . . . . . . . . . . . . . 21
4.2 Синтез глобальной ER-модели . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.3 Спецификации ограничений и правил . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.4 Вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5 Проектирование внутренней реляционной модели 27
5.1 Устранение подсущностей, категорий и явных связей . . . . . . . . . . . . . . 27
5.2 Спецификации ограничений и правил . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.3 Вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6 Проектирование моделей отображения 30
6.1 Разработка иерархий представлений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.2 Разработка внутренних моделей представлений . . . . . . . . . . . . . . . . . . . 31
6.3 Вывод. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7 Разработка SQL-моделей базы данных 31
7.1 SQL-код создания таблиц . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7.2 SQL-код реализации моделей отображения . . . . . . . . . . . . . . . . . . . . . . . 40
Заключение 41
Список литературы 42
REFERENCES [Прием в ремонт*Обувь в приеме] ([НПП обуви в приеме])
ON UPDATE NO ACTION
ON DELETE NO ACTION
ALTER TABLE [Персона]
ALTER COLUMN [Код персоны] SET DEFAULT '000000'
ALTER TABLE [Справочник]
ALTER COLUMN [Код] SET DEFAULT '0000'
ALTER TABLE [Персона]
ADD CHECK ([Код персоны]>0)
ALTER TABLE [Персона]
ADD UNIQUE ([Код персоны])
INSERT Персона ([Код персоны], [ФИО])
VALUES (000001,'Иванов С.П.');
INSERT Персона ([Код персоны], [ФИО])
VALUES (000002,'Сергеев С.Т.');
INSERT Персона ([Код персоны], [ФИО])
VALUES (000003,'Петров Н.В.');
INSERT Персона ([Код персоны], [ФИО])
VALUES (000004,'Никоненко В.П.');
INSERT Персона ([Код персоны], [ФИО])
VALUES (000005,'Токарев В.К.');
INSERT Персона ([Код персоны], [ФИО])
VALUES (000006,'Кишинев Н.П.');
INSERT Персона ([Код персоны], [ФИО])
VALUES (000007,'Елисеев К.Т.');
INSERT Персона ([Код персоны], [ФИО])
VALUES (000008,'Гумеров М.Н.');
INSERT Справочник ([Код], [Тип], [Название])
VALUES (01,'Вид обуви','об1');
INSERT Справочник ([Код], [Тип], [Название])
VALUES (02,'Вид характеристики','х1')
INSERT Справочник ([Код], [Тип], [Название])
VALUES (03,'Вид претензии','прет1');
INSERT Справочник ([Код], [Тип], [Название])
VALUES (04,'Вид материала','мат1');
INSERT Справочник ([Код], [Тип], [Название])
VALUES (05,'летняя обувь','босоножки'
INSERT Справочник ([Код], [Тип], [Название])
VALUES (06,'Качество','х2');
INSERT Справочник ([Код], [Тип], [Название])
VALUES (07,'Жалоба','прет2');
INSERT Справочник ([Код], [Тип], [Название])
VALUES (08,'замш','мат2');
INSERT [Прием в ремонт]
([Рег.номер приема], [Дата приема],[Суть
задачи ремонта],[Код клиента],
VALUES (001, '12.09.2011', '-' , 000008, 000001);
INSERT [Прием в ремонт]
([Рег.номер приема], [Дата приема],[Суть
задачи ремонта],[Код клиента],
VALUES (002, '24.09.2011 ', '-' , 000007, 000002);
INSERT [Прием в ремонт*Обувь в приеме]([НПП обуви в приеме],
[Рег.номер приема],[Код
вида обуви],[Тип вида обуви] ,[Код
вида характеристики],[Тип
VALUES (25, 001, 01, 'Вид обуви', 02, 'Вид характеристики');
INSERT [Прием в ремонт*Обувь
в приеме]([НПП обуви в приеме]
[Рег.номер приема],[Код вида обуви],[Тип вида обуви] ,[Код вида характеристики],[Тип вида характеристики])
VALUES (26, 002, 05 ,'летняя обувь', 06,'Качество');
INSERT [Выдача отремонтированной
обуви] ([Рег.номер выдачи],[Код
VALUES (40, 000002, 001);
INSERT [Выдача отремонтированной
обуви] ([Рег.номер выдачи],[Код
VALUES (41, 000003, 002);
INSERT [Выдача отремонтированной обуви*Обувь в выдаче] ([НПП обуви в выдаче],
[Дата выдачи],[Код выдавшего],
VALUES (50, '27.10.2011', 000005, 40)
INSERT [Выдача отремонтированной обуви*Обувь в выдаче] ([НПП обуви в выдаче],
[Дата выдачи],[Код выдавшего],
VALUES (51, '28.10.2011', 000005, 41)
INSERT [Обувь в выдаче*Замечание] ([НПП претензии],[Содержание претензии],
[Дата устранения претензии],[
VALUES (0200, '-', '10.10.2011', 03, 'Вид претензии', 50);
INSERT [Обувь в выдаче*Замечание]
([НПП претензии],[Содержание
[Дата устранения претензии],[Код вида претензии],[Тип вида претензии],[НПП обуви в выдаче])
VALUES (0201, '-', '11.10.2011', 07, 'Жалоба', 51);
INSERT [Исполнение ремонта]
([Рег.номер исполнения],[Суть
[Начало/окончание ремонта],[
VALUES (200, '-', '10.10.2011', 000002, 001, 25);
INSERT [Исполнение ремонта]
([Рег.номер исполнения],[Суть
[Начало/окончание ремонта],[
VALUES (201, '-', '11.10.2011', 000003, 002, 26);
INSERT [Исполнение ремонта*Материал
для ремонта] ([Код материала],[Код
вида материала],[Тип вида
VALUES (99, 04, 'Вид материала', 200);
INSERT [Исполнение ремонта*Материал для ремонта] ([Код материала],[Код вида материала],[Тип вида материала],[Рег. номер исполнения])
VALUES (98, 08, 'замш', 201);
INSERT [Выдавший] ([Код выдавшего])
VALUES (01);
INSERT [Выдавший] ([Код выдавшего])
VALUES (02);
INSERT [Клиент] ([Код клиента])
VALUES (11);
INSERT [Клиент] ([Код клиента])
VALUES (12);
INSERT [Мастер] ([Код мастера])
VALUES (21);
INSERT [Мастер] ([Код мастера])
VALUES (22);
INSERT [Приемщик] ([Код приемщика])
VALUES (31);
INSERT [Приемщик] ([Код приемщика])
VALUES (32);
CREATE VIEW [vПрием в ремонт]
AS
SELECT [Прием в ремонт].[Рег.номер приема], [Прием в ремонт].[Дата приема], [Прием в ремонт].[Суть задачи ремонта]
, [П].[Код персоны], [К].[ФИО]
FROM ([Прием в ремонт]
INNER JOIN [Персона] as П
ON ([П].[Код персоны]=[Прием в ремонт].[Код приемщика])
INNER JOIN [Персона] as К
ON ([К].[Код персоны]= [Прием в ремонт].[Код клиента]))
CREATE PROCEDURE [dbo].[vОбуь в приеме]
@id NUMERIC
AS
SELECT [Прием в ремонт*Обувь в приеме].[НПП обуви в приеме], [Прием в ремонт*Обувь в приеме].[Рег.номер приема], [С].[Код], [С].[Тип], [Сп].[Код], [Сп].[Тип]
FROM ([Прием в ремонт*Обувь в приеме]
INNER JOIN [Справочник] as С
ON [С].[Код]= [Прием в ремонт*Обувь в приеме].[Код вида обуви]
AND [С].[Тип]= [Прием в ремонт*Обувь в приеме].[Тип вида обуви]
INNER JOIN [Справочник] as Сп
ON [Сп].[Код]= [Прием в ремонт*Обувь в приеме].[Код вида характеристики]
AND [Сп].[Тип]= [Прием в ремонт*Обувь в приеме].[Тип вида характеристики])
ЗАКЛЮЧЕНИЕ
1. Первый этап был посвящен неформальному концептуальному описанию проблемной области для автоматизируемых функций информационной системы, служащих основой для дальнейшего проектирования формальных моделей базы данных. Было дано краткое описание информационной системы; обсуждались автоматизируемые функции (бизнес-процессы); даны локальные описания проблемной области применительно к каждой автоматизируемой функции.
В результате анализа функционирования организации «Ремонт обуви» в плане трех автоматизируемых функций (бизнес-процессов), связанных с приемом обуви, исполнением ремонта и выдачей отремонтированной обуви, получены локальные неформальные описания проблемной области информационной системы, включающие следующие сущности: прием в ремонт, исполнение ремонта и выдача отремонтированной обуви.
2. Второй этап был посвящен проектированию исходных локальных моделей базы данных. Для каждой автоматизируемой функции строилась иерархическая модель данных. Специфицировались исходные локальные ограничения целостности и операционные правила.
В результате анализа информационного
обеспечения функций выявлены и
сформулированы ограничения и правила
поддержания целостности
В результате проектирования локальных ER-моделей, соответствующих иерархическим моделям автоматизируемых функций, получены нормализованные локальных ER-модели, включающие от 5 до 7 сущностей в третьей нормальной форме. Разработанные спецификации ограничений и правил поддержания целостности включают все ограничения и правила, полученные на предыдущем этапе и трансформированные для локальных ER-моделей; дополнительно на данном этапе введено 3 правила.
4. Четвертый этап был посвящен проектированию глобальной ER-модели. Производилось выявление эквивалентных сущностей и их слияние, выявление категорий и синтез обобщающих сущностей, выявление и устранение дублирования атрибутов и связей. Строилось графическое представление глобальной модели, специфицировались ограничения целостности и операционные правила на уровне глобальной модели.
В результате проектирования глобальной ER-модели, соответствующей локальным ER-моделям для отдельных автоматизируемых функций, получена графическая модель, включающие от 4 до 6 сущностей в третьей нормальной форме. Введенные 2 обобщенных сущностей содержат от 3 до 4 категорий. РазРазработанные спецификации ограничений и операционных правил включают все ограничения и правила, полученные на предыдущем этапе и трансформированные для глобальной ER-модели; дополнительно на данном этапе введено 15 ограничений и 4 правил.
5. Пятый этап был посвящен проектированию концептуальной реляционной модели на основе глобальной ER-модели. Для приведения ER-модели к реляционной форме производилось устранение категорий и замена явных связей неявными, основанными на общих атрибутах. Специфицировались ограничения целостности и операционные правила на уровне концептуальной реляционной модели.
В результате проектирования глобальной реляционной модели, соответствующей глобальной ER-модели, получены спецификации, задающие 13 сущностей-таблиц. Разработанные спецификации ограничений и операционных правил включают все ограничения и правила, полученные на предыдущем этапе и трансформированные для реляционной модели; дополнительно на данном этапе введено 9 ограничений и 7 правил.
6. Шестой этап был посвящен разработке моделей отображения, связывающих глобальную реляционную модель с внешними иерархическими моделями. Разрабатываются иерархии представлений, соответствующие внешним моделям, затем разрабатываются внутренние модели представлений.
В результате разработки моделей отображения, связывающих глобальную реляционную модель (разработанную на этапе 5) с внешними иерархическими моделями (разработанными на этапе 2), получены три иерархии представлений, соответствующие трем внешним моделям. В ходе дальнейшей проработки получена внутренняя структура отдельных представлений, входящих в состав иерархий, представляющая собой эквисоединение 3 нормализованных таблиц внутренней реляционной модели.
7. Седьмой этап был посвящен программированию базы данных на основе концептуальной реляционной модели. Разрабатывался программный SQL-код, обеспечивающий создание таблиц базы данных. Стандартные ограничения целостности реализовывались с помощью табличных средств, нестандартные ограничения целостности и операционные правила — с помощью триггеров базы данных.
В результате программирования разработан программный SQL-код, обеспечивающий создание 9 таблиц базы данных и реализующий стандартные ограничений целостности. Одно нестандартное ограничение целостности из специфицированных на предыдущем этапе было реализовано с помощью триггера базы данных. На основе ранее построенных моделей отображения запрограммирована реализация внешних представлений, включающая в общей сложности около 461 строк SQL-кода.
1. Миронов, В.В. Концептуальные модели баз данных. Гл. 1: Внешние модели данных : глава учеб. пособия / В. В. Миронов, Н. И. Юсупова.
Уфа : УГАТУ, 2006. 52 с.
2. Миронов, В.В. Концептуальные модели баз данных. Гл. 2: Локальные ER-модели : глава учеб. пособия / В. В. Миронов, Н. И. Юсупова.
Уфа : УГАТУ, 2006.
3. Миронов, В.В. Концептуальные модели баз данных. Гл. 3: Глобальная ER-модель : глава учеб. пособия / В. В. Миронов, Н. И. Юсупова.
Уфа : УГАТУ, 2006.
4. Миронов, В.В. Концептуальные модели баз данных. Гл. 4: Реляционная модель : глава учеб. пособия / В. В. Миронов, Н. И. Юсупова.
Уфа : УГАТУ, 2006.
5. Миронов, В.В. Концептуальные модели баз данных. Гл. 5: Модели отображения : глава учеб. пособия / В. В. Миронов, Н. И. Юсупова.
Уфа : УГАТУ, 2007.
Информация о работе Разработка концептуально-логических моделей базы данных организации