Проектирование реляционной базы данных

Использование реляционного подхода при создании баз данных и систем управления (СУБД). Концепция, модели и архитектура СУБД. Введение в проектирование реляционных баз данных. Нормализация, функциональные и многозначные зависимости, инфологическая модель.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 27.05.2010
Размер файла 1,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Пример 2.1. Применим рассмотренные правила для полной нормализации универсального отношения "Питание" (рис. 7).

Шаг 1. Определение первичного ключа таблицы.

Предположим, что каждое блюдо имеет уникальное название, относится к единственному виду и приготавливается по единственному рецепту, т.е. название блюда однозначно определяет его вид и рецепт. Предположим также, что название организации поставщика уникально для того города, в котором он расположен, и названия городов уникальны для каждой из стран, т.е. название поставщика и город однозначно определяют этого поставщика, а город - страну его нахождения. Наконец, предположим, что поставщик может осуществлять в один и тот же день только одну поставку каждого продукта, т.е. название продукта, название организации поставщика, город и дата поставки однозначно определяют вес и цену поставленного продукта. Тогда в качестве первичного ключа отношения "Питание" можно использовать следующий набор атрибутов:

Блюдо, Дата_Р, Продукт, Поставщик, Город, Дата_П.

Шаг 2. Выявление полей, функционально зависящих от части состваного ключа.

Поле Вид функционально зависит только от поля Блюдо, т.е.

Блюдо->Вид.

Аналогичным образом можно получить зависимости:

Блюдо->Рецепт

(Блюдо, Дата_Р)->Порций

Продукт->Калорийность

(Блюдо, Продукт)->Вес

Город->Страна

(Поставщик, Город, Дата_П)->Цена

Шаг 3. Формирование новых таблиц.

Полученные функциональные зависимости опредляют состав таблиц, которые можно сформировать из данных универсального отношения:

Блюда (Блюдо, Вид)

Рецепты (Блюдо, Рецепт)

Расход (Блюдо, Дата_Р, Порций)

Продукты (Продукт, Калорийность)

Состав (Блюдо, Продукт, Вес (г))

Города (Город, Страна)

Поставки (Поставщик, Город, Дата_П, Вес (кг), Цена).

Шаг 4. Корректировка исходной таблицы.

После выделения из состава универсального отношения указанных выше таблиц, там остались лишь сведения о поставщиках, для хранения которых целесообразно создать таблицу

Поставщики (Поставщик, Город),

т.е. использовать часть исходного первичного ключа, так как остальные его части уже ничего не определяют.

Таким образом, процедура последовательной нормализации позволила получить проект, лучший, чем приведен на рис. 8.

Пример 2.2. Для улучшения проекта, приведенного на рис. 9, нужно определить первичные ключи таблиц и выявить, нет ли в таблицах полей, зависящих лишь от части этих ключей. Такое поле есть только в одной таблице. Это поле Страна в таблице Поставщики. Выделяя его вместе с ключем Город в таблицу Страны, получим проект, приведенный на рис. 4.

2.7 Процедура проектирования

Процесс проектирования информационных систем является достаточно сложной задачей. Он начинается с построения инфологической модели данных (п. 2), т.е. идентификации сущностей. Затем необходимо выполнить следующие шаги процедуры проектирования даталогической модели.

1. Представить каждый стержень (независимую сущность) таблицей базы данных (базовой таблицей) и специфицировать первичный ключ этой базовой таблицы.

2. Представить каждую ассоциацию (связь вида "многие-ко-многим" или "многие-ко-многим-ко-многим" и т.д. между сущностями) как базовую таблицу. Использовать в этой таблице внешние ключи для идентификации участников ассоциации и специфицировать ограничения, связанные с каждым из этих внешних ключей.

3. Представить каждую характеристику как базовую таблицу с внешним ключом, идентифицирующим сущность, описываемую этой характеристикой. Специфицировать ограничения на внешний ключ этой таблицы и ее первичный ключ - по всей вероятности, комбинации этого внешнего ключа и свойства, которое гарантирует "уникальность в рамках описываемой сущности".

4. Представить каждое обозначение, которое не рассматривалось в предыдущем пункте, как базовую таблицу с внешним ключом, идентифицирующим обозначаемую сущность. Специфицировать связанные с каждым таким внешним ключом ограничения.

5. Представить каждое свойство как поле в базовой таблице, представляющей сущность, которая непосредственно описывается этим свойством.

6. Для того чтобы исключить в проекте непреднамеренные нарушения каких-либо принципов нормализации, выполнить описанную в п. 4.6 процедуру нормализации.

7. Если в процессе нормализации было произведено разделение каких-либо таблиц, то следует модифицировать инфологическую модель базы данных и повторить перечисленные шаги.

8. Указать ограничения целостности проектируемой базы данных и дать (если это необходимо) краткое описание полученных таблиц и их полей.

На рис. 4.6 показан синтаксис предложения, предлагаемого для регистрации принимаемых проектных решений.

Рис. 11. - Синтаксис описания проектных решений

Для примера приведем описания таблиц "Блюда" и "Состав":

СОЗДАТЬ ТАБЛИЦУ Блюда *( Стержневая сущность )

ПЕРВИЧНЫЙ КЛЮЧ ( БЛ )

ПОЛЯ ( БЛ Целое, Блюдо Текст 60, Вид Текст 7 )

ОГРАНИЧЕНИЯ ( 1. Значения поля Блюдо должны быть

уникальными; при нарушении вывод

сообщения "Такое блюдо уже есть".

2. Значения поля Вид должны принадлежать

набору: Закуска, Суп, Горячее, Десерт,

Напиток; при нарушении вывод сообщения

"Можно лишь Закуска, Суп, Горячее,

Десерт, Напиток");

СОЗДАТЬ ТАБЛИЦУ Состав *( Связывает Блюда и Продукты )

ПЕРВИЧНЫЙ КЛЮЧ ( БЛ, ПР )

ВНЕШНИЙ КЛЮЧ ( БЛ ИЗ Блюда

NULL-значения НЕ ДОПУСТИМЫ

УДАЛЕНИЕ ИЗ Блюда КАСКАДИРУЕТСЯ

ОБНОВЛЕНИЕ Блюда.БЛ КАСКАДИРУЕТСЯ)

ВНЕШНИЙ КЛЮЧ ( ПР ИЗ Продукты

NULL-значения НЕ ДОПУСТИМЫ

УДАЛЕНИЕ ИЗ Продукты ОГРАНИЧИВАЕТСЯ

ОБНОВЛЕНИЕ Продукты.ПР КАСКАДИРУЕТСЯ)

ПОЛЯ ( БЛ Целое, ПР Целое, Вес Целое )

ОГРАНИЧЕНИЯ ( 1. Значения полей БЛ и ПР должны принадлежать

набору значений из соответствующих полей таблиц

Блюда и Продукты; при нарушении вывод сообщения

"Такого блюда нет" или "Такого продукта нет".

2. Значение поля Вес должно лежать в пределах

от 0.1 до 500 г. );

Рассмотренный язык описания данных, основанный на языке SQL, позволяет дать удобное и полное описание любой сущности и, следовательно, всей базы данных.

Для наиболее распространенных реляционных баз данных можно предложить язык инфологического моделирования "Таблица-связь", пример использования которого приведен на рис. 12. В нем все сущности изображаются одностолбцовыми таблицами с заголовками, состоящими из имени и типа сущности. Строки таблицы - это перечень атрибутов сущности, а те из них, которые составляют первичный ключ, располагаются рядом и обводятся рамкой. Связи между сущностями указываются стрелками, направленными от первичных ключей или их составляющих.

Рис. 12. - Инфологическая модель базы данных "Питание", построенная с помощью языка "Таблицы-связи"

3. Проектирование реляционной базы данных

3.1 Назначение и предметная область

База данных предназначена для оптимизации информационного обмена на предприятии, в частности - рекламного агентства. Она позволит руководителю отслеживать все заказы, поступившие в компанию, вести учет активности клиентов и сотрудников, заранее распланировать график работы с определенными заказчиками, посмотреть отчет о выполненной работе, отслеживать дебиторскую задолженность. Но прежде всего эта база данных ориентирована на ведение клиентов и добавление новых.

Для того чтобы создать базу данных, необходимо прежде всего вникнуть в суть работы компании, понять ее структуру, выяснить пожелания сотрудников в области оптимизации их работы.

Фирма, для которой осуществлялся данный проект работает по следующему принципу:

Всякий раз, когда появляется новый заказ, за ним закрепляется определенный менеджер, который и курирует этот заказ вплоть до его реализации. С чего начинается работа менеджера? С заведения на клиента так называемой «Карты клиента», в которой отмечаются все основные сведения, необходимые для работы. Весь процесс работы менеджера с заказчиком фиксируется в этой карте, затем эта карта помещается в именную папку менеджера, по которой можно отследить активность работы сотрудника в заданный период, с целью материального награждения.

База данных будет ориентирована как на руководителя, который сможет без усилий отслеживать работу каждого менеджера, так и на простых сотрудников, которые смогут вести в ней свою клиентскую базу. Также будет реализован поиск-запрос по клиенту, сотруднику или конкретной услуге.

Вот так выглядит стандартная карта клиента, которую менеджеры организации ведут с помощью записей.

Карта клиента №__26_ Менеджер _Мигуева

Дата: 14 апреля 2010

Личные данные

Организация

Номер счета

Фамилия

Имя

Отчество

Город

Адрес

Моб.

тел

Раб. тел

«Сириус»

_____

Тимошенко

Виктор

Владимирович

Ставрополь

Пр.Энгельса 23

8-918-746-45-99

Информация по размещению

Вид услуги

Стоимость

Выполнен заказ

Не выполнен заказ

Для ведения клиентов в базе и организации поиска клиентов необходимо выделить следующие атрибуты из имеющейся карты клиента:

Сначала заполняем поле «Клиенты», сюда войдут основные данные о клиенте.

1. Название организации

2. Номер счета

3. Фамилия

4. Имя

5. Отчество

6. Город

7. Адрес

8. Мобильный телефон

9. Рабочий телефон

Далее, заполняем поле «Описание услуги»

10. Название услуги

11. Стоимость этой услуги

Добавляю поле «Сотрудники»

12. Название отдела, к которому относится сотрудник

13. Имя

14. Отчество

15. Фамилия

16. Должность

17. Электронный адрес

18. Дата рождения

19. Домашний телефон

20. Рабочий телефон

Поле «Оказание услуги»

21. Желаемая дата исполнения заказа

22. Название услуги

23. Клиент

24. Сотрудник, выполняющий данную работу

25. Примечание (при необходимости)

26. Пункт «Выполнено», отмечается в том случае, если заказ подготовлен и оплачен!

3.2 Инфологическая модель

Анализ определенных выше объектов и атрибутов позволяет выделить сущности проектируемой базы данных и, приняв решение о создании реляционной базы данных, построить ее инфологическую модель на языке "Таблицы-связи"

К стержневым сущностям можно отнести:

Клиенты (код клиента и его личные данные)

Эта сущность отводится для хранения сведений о клиентах, сделавших заказ в рекламном агентстве (здесь хранятся личные данные, необходимые для дальнейшей работы с заказчиком - контактный номер телефона, адрес, номер банковского счета). Такое объединение допустимо, так как данные о разных клиентах выбираются из одного домена (фамилия и имена) и исключает дублирование данных (один и тот же человек может играть размещать различные виды информации). Например, ИП Бежанов может размещать свою информацию в нескольких видах, согласно предоставляемым услугам, т.е. он может как заказать «Информационную строку», так и «информационный блок «Визитка»

Так как описание услуги может быть достаточно громоздкими (Размещение информационной строки, размещение информационного блока «Визитка» и т.п.) и будут многократно встречаться у разных заказчиков, то их целесообразно нумеровать и ссылаться на эти номера. Для этого вводится целочисленный атрибут "Код_услуги", который будет автоматически наращиваться на единицу при вводе в базу данных нового клиента, нового сотрудника или же при появлении новой услуги.

Аналогично создаются: Код_сотрудникаа, Код_клиента, Вид_ услуги.

Пример.

Заказ по сотруднику (Код_сотрудника, ФИО, телефон)

Заказ по клиенту (Код_клиента, ФИО, телефон)

Заказ по услуге (Код_услуги, описание услуги)

Выделение этой сущности позволит сократить объем данных и снизить вероятность возникновения противоречивости (исключается необходимость ввода длинных текстовых названий услуг, клиентов и сотрудников)

Рис. 13 - Инфологическая модель базы данных "Рекламное агентство", построенная с помощью языка "Таблицы-связи"

3.3 Проектирование базы данных

Каждая из полученных сущностей должна быть представлена базовой таблицей. Код этих таблиц представлен далее.

Форма «Главная»

Option Compare Database

Private Sub Кнопка0_Click()

On Error GoTo Err_Кнопка0_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = ChrW(1054) & ChrW(1082) & ChrW(1072) & ChrW(1079) & ChrW(1072) & ChrW(1085) & ChrW(1080) & ChrW(1077) & ChrW(1059) & ChrW(1089) & ChrW(1083) & ChrW(1091) & ChrW(1075)

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Кнопка0_Click:

Exit Sub

Err_Кнопка0_Click:

MsgBox Err.Description

Resume Exit_Кнопка0_Click

End Sub

Private Sub Кнопка1_Click()

On Error GoTo Err_Кнопка1_Click

Dim stDocName As String

stDocName = ChrW(1054) & ChrW(1082) & ChrW(1072) & ChrW(1079) & ChrW(1072) & ChrW(1085) & ChrW(1080) & ChrW(1077) & ChrW(1059) & ChrW(1089) & ChrW(1083) & ChrW(1091) & ChrW(1075)

DoCmd.OpenReport stDocName, acPreview

Exit_Кнопка1_Click:

Exit Sub

Err_Кнопка1_Click:

MsgBox Err.Description

Resume Exit_Кнопка1_Click

End Sub

Private Sub Кнопка2_Click()

On Error GoTo Err_Кнопка2_Click

Dim stDocName As String

stDocName = ChrW(1047) & ChrW(1072) & ChrW(1082) & ChrW(1072) & ChrW(1079) & ChrW(1099) & ChrW(32) & ChrW(1085) & ChrW(1072) & ChrW(32) & ChrW(1073) & ChrW(1091) & ChrW(1076) & ChrW(1091) & ChrW(1097) & ChrW(1077) & ChrW(1077)

DoCmd.OpenReport stDocName, acPreview

Exit_Кнопка2_Click:

Exit Sub

Err_Кнопка2_Click:

MsgBox Err.Description

Resume Exit_Кнопка2_Click

End Sub

Private Sub Кнопка3_Click()

On Error GoTo Err_Кнопка3_Click

Dim stDocName As String

stDocName = ChrW(1047) & ChrW(1072) & ChrW(1082) & ChrW(1072) & ChrW(1079) & ChrW(1099) & ChrW(32) & ChrW(1074) & ChrW(1099) & ChrW(1087) & ChrW(1086) & ChrW(1083) & ChrW(1085) & ChrW(1077) & ChrW(1085) & ChrW(1085) & ChrW(1099) & ChrW(1077)

DoCmd.OpenReport stDocName, acPreview

Exit_Кнопка3_Click:

Exit Sub

Err_Кнопка3_Click:

MsgBox Err.Description

Resume Exit_Кнопка3_Click

End Sub

Private Sub Кнопка4_Click()

On Error GoTo Err_Кнопка4_Click

Dim stDocName As String

stDocName = ChrW(1047) & ChrW(1072) & ChrW(1082) & ChrW(1072) & ChrW(1079) & ChrW(1099) & ChrW(32) & ChrW(1085) & ChrW(1077) & ChrW(1074) & ChrW(1099) & ChrW(1087) & ChrW(1086) & ChrW(1083) & ChrW(1085) & ChrW(1077) & ChrW(1085) & ChrW(1085) & ChrW(1099) & ChrW(1077)

DoCmd.OpenReport stDocName, acPreview

Exit_Кнопка4_Click:

Exit Sub

Err_Кнопка4_Click:

MsgBox Err.Description

Resume Exit_Кнопка4_Click

End Sub

Private Sub Кнопка7_Click()

On Error GoTo Err_Кнопка7_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = ChrW(1060) & ChrW(1086) & ChrW(1088) & ChrW(1084) & ChrW(1072) & ChrW(32) & ChrW(1076) & ChrW(1083) & ChrW(1103) & ChrW(32) & ChrW(1087) & ChrW(1086) & ChrW(1080) & ChrW(1089) & ChrW(1082) & ChrW(1072) & ChrW(32) & ChrW(1087) & ChrW(1086) & ChrW(32) & ChrW(1082) & ChrW(1083) & ChrW(1080) & ChrW(1077) & ChrW(1085) & ChrW(1090) & ChrW(1091)

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Кнопка7_Click:

Exit Sub

Err_Кнопка7_Click:

MsgBox Err.Description

Resume Exit_Кнопка7_Click

End Sub

Private Sub Кнопка8_Click()

On Error GoTo Err_Кнопка8_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = ChrW(1060) & ChrW(1086) & ChrW(1088) & ChrW(1084) & ChrW(1072) & ChrW(32) & ChrW(1076) & ChrW(1083) & ChrW(1103) & ChrW(32) & ChrW(1087) & ChrW(1086) & ChrW(1080) & ChrW(1089) & ChrW(1082) & ChrW(1072) & ChrW(32) & ChrW(1087) & ChrW(1086) & ChrW(32) & ChrW(1089) & ChrW(1086) & ChrW(1090) & ChrW(1088) & ChrW(1091) & ChrW(1076) & ChrW(1085) & ChrW(1080) & ChrW(1082) & ChrW(1091)

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Кнопка8_Click:

Exit Sub

Err_Кнопка8_Click:

MsgBox Err.Description

Resume Exit_Кнопка8_Click

End Sub

Private Sub Кнопка9_Click()

On Error GoTo Err_Кнопка9_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = ChrW(1060) & ChrW(1086) & ChrW(1088) & ChrW(1084) & ChrW(1072) & ChrW(32) & ChrW(1076) & ChrW(1083) & ChrW(1103) & ChrW(32) & ChrW(1087) & ChrW(1086) & ChrW(1080) & ChrW(1089) & ChrW(1082) & ChrW(1072) & ChrW(32) & ChrW(1087) & ChrW(1086) & ChrW(32) & ChrW(1091) & ChrW(1089) & ChrW(1083) & ChrW(1091) & ChrW(1075) & ChrW(1077)

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Кнопка9_Click:

Exit Sub

Err_Кнопка9_Click:

MsgBox Err.Description

Resume Exit_Кнопка9_Click

End Sub

Форма «Ввод данных»

Option Compare Database

Private Sub Кнопка2_Click()

On Error GoTo Err_Кнопка2_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = ChrW(1050) & ChrW(1083) & ChrW(1080) & ChrW(1077) & ChrW(1085) & ChrW(1090) & ChrW(1099)

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Кнопка2_Click:

Exit Sub

Err_Кнопка2_Click:

MsgBox Err.Description

Resume Exit_Кнопка2_Click

End Sub

Private Sub Кнопка3_Click()

On Error GoTo Err_Кнопка3_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = ChrW(1054) & ChrW(1087) & ChrW(1080) & ChrW(1089) & ChrW(1072) & ChrW(1085) & ChrW(1080) & ChrW(1077) & ChrW(1059) & ChrW(1089) & ChrW(1083) & ChrW(1091) & ChrW(1075)

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Кнопка3_Click:

Exit Sub

Err_Кнопка3_Click:

MsgBox Err.Description

Resume Exit_Кнопка3_Click

End Sub

Private Sub Кнопка4_Click()

On Error GoTo Err_Кнопка4_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = ChrW(1057) & ChrW(1086) & ChrW(1090) & ChrW(1088) & ChrW(1091) & ChrW(1076) & ChrW(1085) & ChrW(1080) & ChrW(1082) & ChrW(1080)

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Кнопка4_Click:

Exit Sub

Err_Кнопка4_Click:

MsgBox Err.Description

Resume Exit_Кнопка4_Click

End Sub

Private Sub Кнопка5_Click()

On Error GoTo Err_Кнопка5_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = ChrW(1054) & ChrW(1082) & ChrW(1072) & ChrW(1079) & ChrW(1072) & ChrW(1085) & ChrW(1080) & ChrW(1077) & ChrW(1059) & ChrW(1089) & ChrW(1083) & ChrW(1091) & ChrW(1075)

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Кнопка5_Click:

Exit Sub

Err_Кнопка5_Click:

MsgBox Err.Description

Resume Exit_Кнопка5_Click

End Sub

Форма «Клиенты»

Option Compare Database

Private Sub Кнопка20_Click()

On Error GoTo Err_Кнопка20_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = ChrW(1054) & ChrW(1082) & ChrW(1072) & ChrW(1079) & ChrW(1072) & ChrW(1085) & ChrW(1080) & ChrW(1077) & ChrW(1059) & ChrW(1089) & ChrW(1083) & ChrW(1091) & ChrW(1075)

stLinkCriteria = "[Клиент]=" & Me![КодКлиента]

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Кнопка20_Click:

Exit Sub

Err_Кнопка20_Click:

MsgBox Err.Description

Resume Exit_Кнопка20_Click

End Sub

Форма «Оказание услуг»

Option Compare Database

Private Sub Кнопка22_Click()

On Error GoTo Err_Кнопка22_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = ChrW(1055) & ChrW(1086) & ChrW(1079) & ChrW(1076) & ChrW(1088) & ChrW(1072) & ChrW(1074) & ChrW(1083) & ChrW(1103) & ChrW(1077) & ChrW(1084) & ChrW(1099) & ChrW(1077)

stLinkCriteria = "[КодПоздравляемого]=" & Me![Поздравляемый]

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Кнопка22_Click:

Exit Sub

Err_Кнопка22_Click:

MsgBox Err.Description

Resume Exit_Кнопка22_Click

End Sub

Private Sub Кнопка23_Click()

On Error GoTo Err_Кнопка23_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = ChrW(1050) & ChrW(1083) & ChrW(1080) & ChrW(1077) & ChrW(1085) & ChrW(1090) & ChrW(1099)

stLinkCriteria = "[КодКлиента]=" & Me![Клиент]

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Кнопка23_Click:

Exit Sub

Err_Кнопка23_Click:

MsgBox Err.Description

Resume Exit_Кнопка23_Click

End Sub

Private Sub Кнопка24_Click()

On Error GoTo Err_Кнопка24_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = ChrW(1057) & ChrW(1086) & ChrW(1090) & ChrW(1088) & ChrW(1091) & ChrW(1076) & ChrW(1085) & ChrW(1080) & ChrW(1082) & ChrW(1080)

stLinkCriteria = "[КодСотрудника]=" & Me![Сотрудник]

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Кнопка24_Click:

Exit Sub

Err_Кнопка24_Click:

MsgBox Err.Description

Resume Exit_Кнопка24_Click

End Sub

Private Sub Кнопка25_Click()

On Error GoTo Err_Кнопка25_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = ChrW(1054) & ChrW(1087) & ChrW(1080) & ChrW(1089) & ChrW(1072) & ChrW(1085) & ChrW(1080) & ChrW(1077) & ChrW(1059) & ChrW(1089) & ChrW(1083) & ChrW(1091) & ChrW(1075)

stLinkCriteria = "[КодУслуги]=" & Me![НазваниеУслуги]

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Кнопка25_Click:

Exit Sub

Err_Кнопка25_Click:

MsgBox Err.Description

Resume Exit_Кнопка25_Click

End Sub

Private Sub Кнопка26_Click()

On Error GoTo Err_Кнопка26_Click

Dim stDocName As String

stDocName = ChrW(1054) & ChrW(1090) & ChrW(1095) & ChrW(1105) & ChrW(1090) & ChrW(32) & ChrW(1086) & ChrW(32) & ChrW(1079) & ChrW(1072) & ChrW(1082) & ChrW(1072) & ChrW(1079) & ChrW(1077)

DoCmd.OpenReport stDocName, acPreview

Exit_Кнопка26_Click:

Exit Sub

Err_Кнопка26_Click:

MsgBox Err.Description

Resume Exit_Кнопка26_Click

End Sub

Private Sub Кнопка29_Click()

On Error GoTo Err_Кнопка29_Click

Dim stDocName As String

stDocName = ChrW(1057) & ChrW(1090) & ChrW(1086) & ChrW(1080) & ChrW(1084) & ChrW(1086) & ChrW(1089) & ChrW(1090) & ChrW(1100) & ChrW(32) & ChrW(1084) & ChrW(1072) & ChrW(1090) & ChrW(1077) & ChrW(1088) & ChrW(1080) & ChrW(1072) & ChrW(1083) & ChrW(1086) & ChrW(1074)

DoCmd.OpenQuery stDocName, acNormal, acEdit

Exit_Кнопка29_Click:

Exit Sub

Err_Кнопка29_Click:

MsgBox Err.Description

Resume Exit_Кнопка29_Click

End Sub

Private Sub Кнопка30_Click()

On Error GoTo Err_Кнопка30_Click

Dim stDocName As String

stDocName = ChrW(1057) & ChrW(1090) & ChrW(1086) & ChrW(1080) & ChrW(1084) & ChrW(1086) & ChrW(1089) & ChrW(1090) & ChrW(1100) & ChrW(32) & ChrW(1079) & ChrW(1072) & ChrW(1082) & ChrW(1072) & ChrW(1079) & ChrW(1072)

DoCmd.OpenQuery stDocName, acNormal, acEdit

Exit_Кнопка30_Click:

Exit Sub

Err_Кнопка30_Click:

MsgBox Err.Description

Resume Exit_Кнопка30_Click

End Sub

Форма для поиска по клиенту

Option Compare Database

Private Sub Кнопка2_Click()

On Error GoTo Err_Кнопка2_Click

Dim stDocName As String

stDocName = ChrW(1047) & ChrW(1072) & ChrW(1082) & ChrW(1072) & ChrW(1079) & ChrW(1099) & ChrW(32) & ChrW(1087) & ChrW(1086) & ChrW(32) & ChrW(1091) & ChrW(1089) & ChrW(1083) & ChrW(1091) & ChrW(1075) & ChrW(1077)

DoCmd.OpenQuery stDocName, acNormal, acEdit

Exit_Кнопка2_Click:

Exit Sub

Err_Кнопка2_Click:

MsgBox Err.Description

Resume Exit_Кнопка2_Click

End Sub

Форма поиска по сотруднику

Option Compare Database

Private Sub Кнопка2_Click()

On Error GoTo Err_Кнопка2_Click

Dim stDocName As String

stDocName = ChrW(1047) & ChrW(1072) & ChrW(1082) & ChrW(1072) & ChrW(1079) & ChrW(1099) & ChrW(32) & ChrW(1087) & ChrW(1086) & ChrW(32) & ChrW(1091) & ChrW(1089) & ChrW(1083) & ChrW(1091) & ChrW(1075) & ChrW(1077)

DoCmd.OpenQuery stDocName, acNormal, acEdit

Exit_Кнопка2_Click:

Exit Sub

Err_Кнопка2_Click:

MsgBox Err.Description

Resume Exit_Кнопка2_Click

End Sub

Форма поиска по услуге

Option Compare Database

Private Sub Кнопка2_Click()

On Error GoTo Err_Кнопка2_Click

Dim stDocName As String

stDocName = ChrW(1047) & ChrW(1072) & ChrW(1082) & ChrW(1072) & ChrW(1079) & ChrW(1099) & ChrW(32) & ChrW(1087) & ChrW(1086) & ChrW(32) & ChrW(1091) & ChrW(1089) & ChrW(1083) & ChrW(1091) & ChrW(1075) & ChrW(1077)

DoCmd.OpenQuery stDocName, acNormal, acEdit

Exit_Кнопка2_Click:

Exit Sub

Err_Кнопка2_Click:

MsgBox Err.Description

Resume Exit_Кнопка2_Click

End Sub

Заключение

Основным назначением БД является быстрый поиск содержащейся в ней информации. При этом БД могут содержать значительный объем информации, например, список домашних телефонов города Ставрополя составляет десятки тысяч абонентов. В телефонной книге абоненты упорядочены (отсортированы) в алфавитном порядке и поиск по фамилии займет не очень много времени, однако, поиск по адресу или неточному номеру телефона и т.п. вручную - не решаемая практически задача.

Мир баз данных становится все более и более единым, с развитием Internet- и Intranet- технологий появилась возможность доступа к удаленным БД, что привело к необходимости создания стандартного языка, который мог бы использоваться так, чтобы функционировать в большом количестве различных видов компьютерных сред. Стандартный язык позволил бы пользователям, знающим один набор команд, использовать их, чтобы создавать, отыскивать, изменять и передавать информацию независимо от того, работают ли они на персональном компьютере, сетевой рабочей станции или на универсальном компьютере.

По этой причине ANSI (Американским Национальным Институтом Стандартов) был разработан стандарт языка SQL (Структурированный Язык Запросов). При этом SQL не изобретался ANSI. Это по существу изобретение IBM. Но другие компании подхватили SQL и сразу же, по крайней мере одна компания (Oracle), получила право на рыночную продажу SQL продуктов. Однако после этого появились некоторые проблемы, которые возникли в результате стандартизации ANSI языка в виде некоторых ограничений. Конкретные программы Баз Данных обычно дают ANSI SQL дополнительные особенности, часто ослабляют многие ограничения стандарта.

База данных была создана с применением всех современных средств управления базами данных предоставленными MS Access 2003, таких как, написание макросов, использование графических элементов (картинок, отчетов для печати), средств защиты и безопасности данных.

Данная база данных была опробована в области малого бизнеса в рекламном агентстве, где получила положительную оценку, как со стороны менеджеров по рекламе так и со стороны директора предприятия. База данных облегчит работу по ведению клиентской базы, а также ведения учета работы менеджеров. База данных легко может быть оборудована дополнительными функциями. Это может понадобиться в процессе работы.

СПИСОК ЛИТЕРАТУРЫ

1. Атре Ш. Структурный подход к организации баз данных. - М.: Финансы и статистика, 1983. - 320 с.

2. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. - М.: Финансы и статистика, 1989. - 351 с.

3. Вейскас Д. «Эффективная работа с Microsoft Access 2000» Издательство «Питер», 2001 год. -118 с.

4. Дейт К. Руководство по реляционной СУБД DB2. - М.: Финансы и статистика, 1988. - 320 с.

5. Джексон Г. Проектирование реляционных баз данных для использования с микроЭВМ. -М.: Мир, 1991. - 252 с.

6. Кириллов В.В. Структуризованный язык запросов (SQL). - СПб.: ИТМО, 1994. - 80 с.

7. Мартин Дж. Планирование развития автоматизированных систем. - М.: Финансы и статистика, 1984. - 196 с.

8. Мейер М. Теория реляционных баз данных. - М.: Мир, 1987. - 608 с.

9. Понамарёв В. «Базы данных в DELPHI 7» Издательство «Питер», 2003

10. Робинсон С. «Microsoft Access 2000. Учебный курс» Издательство «Питер», 2000 год

11. Симонович С.В. «Информатика. Базовый курс» Издательство «Питер», 2000

12. Тиори Т., Фрай Дж. Проектирование структур баз данных. В 2 кн., - М.: Мир, 1985. Кн. 1. - 287 с.: Кн. 2. - 320 с.

13. Ульман Дж. Базы данных на Паскале. - М.: Машиностроение, 1990. - 386 с.

14. Хаббард Дж. Автоматизированное проектирование баз данных. - М.: Мир, 1984. - 294 с.

15. Цикритизис Д., Лоховски Ф. Модели данных. - М.: Финансы и статистика, 1985. - 344 с.


Подобные документы

  • Базы данных с двумерными файлами и реляционные системы управления базами данных (СУБД). Создание базы данных и обработка запросов к ним с помощью СУБД. Основные типы баз данных. Базовые понятия реляционных баз данных. Фундаментальные свойства отношений.

    реферат [57,1 K], добавлен 20.12.2010

  • Теоретические аспекты СУБД. Основные понятия. Функциональные возможности СУБД. Архитектура систем управления. Разработка базы данных. Крупные массивы данных размещают, как правило, отдельно от исполняемого программы, и организуют в виде базы данных.

    курсовая работа [30,5 K], добавлен 23.02.2006

  • Принципы построения СУБД, их достоинства. Архитектура распределенной информационной системы. Разработка интернет-магазина рынка книг: построение физической модели данных на языке SQL, проектирование схемы базы данных с использованием веб-интерфейса.

    курсовая работа [2,3 M], добавлен 01.11.2011

  • Понятие реляционной модели данных, целостность ее сущности и ссылок. Основные этапы создания базы данных, связывание таблиц на схеме данных. Проектирование базы данных книжного каталога "Books" с помощью СУБД Microsoft Access и языка запросов SQL.

    курсовая работа [838,9 K], добавлен 25.11.2010

  • Анализ реляционных баз данных и способов манипулирования ими. Основные понятия баз данных, архитектура СУБД, модели данных. Модель сущность-связь, характеристика связей, классификация сущностей, структура первичных и внешних ключей, целостности данных.

    курсовая работа [166,6 K], добавлен 18.07.2012

  • Создание автоматизированных систем управления для предприятий нефтяной и газовой промышленности. Система управления базами данных (СУБД), ее функциональные возможности, уровневая архитектура. Характеристика реляционных, объектных и распределенных СУБД.

    курсовая работа [434,7 K], добавлен 20.07.2012

  • Реализация приложения "Книжный магазин" средствами систем управления базами данных. Проектирование структуры базы данных, определение сущности и атрибутов. Логическое проектирование базы данных и реализация базы данных в СУБД Microsoft Office Access.

    курсовая работа [7,8 M], добавлен 13.02.2023

  • Основные понятия реляционной модели данных. Отношение атрибутов внутри модели. Контроль ссылочной целостности (анализ содержимого ключевых полей связанных таблиц). Нормализация отношений реляционной базы данных. Теоретико-множественные операции.

    реферат [69,8 K], добавлен 19.12.2011

  • Инфологическая модель предметной области. Схемы простых объектов и их свойства. Построение реляционных отношений на основе инфологической модели базы данных. Сетевая и иерархическая даталогическая модели БД. Структура таблиц, реализованных в СУБД Oracle.

    курсовая работа [1,0 M], добавлен 10.06.2014

  • Этапы проектирования базы данных. Инфологическое проектирование. Определение требований к операционной обстановке. Выбор СУБД и других программных средств. Логическое и физическое проектирование реляционной базы данных. Технология доступа к информации.

    курсовая работа [2,3 M], добавлен 06.10.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.