Рисунок 7-Четвертая нормальная форма
Таким образом, исходное решение, разлагается на два отношения:
Е10(е11, е12, е13, е14, е15, е16)
Е11(е14, е15, е16)
При этом, в каждом отношении соответственно существуют зависимости.
Прежде чем использовать в дальнейшем полученные зависимости их нужно проверить на отсутствие соединения без потерь, то есть при обратном соединении отношений Е11, Е12 в отношение Е1 не должна пропадать или появляться новая информация. Для проверки можно использовать метод табло – табл.1 - табл.3. Этот метод позволяет в табличной форме увидеть отсутствие соединения без потерь.
Таблица 1.
Метод табло: заполнение таблицы.
|
е11
|
е12
|
е13
|
е14
|
е15
|
е16
|
Е10
|
а1
|
а2
|
а3
|
а4
|
а5
|
а6
|
Е11
|
b11
|
b12
|
b13
|
а4
|
а5
|
а6
|
Таблица 2.
Метод табло: просмотр функциональной зависимости из Е11.
|
е11
|
е12
|
е13
|
е14
|
е15
|
е16
|
Е10
|
а1
|
а2
|
а3
|
а4
|
а5
|
а6
|
Е11
|
b11
|
а2
|
а3
|
а4
|
а5
|
а6
|
Таблица 3.
Метод табло: просмотр функциональной зависимости из Е12.
|
е11
|
е12
|
е13
|
е14
|
е15
|
е16
|
Е10
|
а1
|
а2
|
а3
|
а4
|
а5
|
а6
|
Е11
|
а1
|
а2
|
а3
|
а4
|
а5
|
а6
|
Как видно из табл. 3 соединение отношений Е10 и Е11 в отношение Е1 происходит без потерь.
4.4. Структурно-функциональный аспект информационной страты объекта.
Данный аспект показывает, какая форма взаимодействует с какой таблицей.
Таблица 4.
Название формы | Требуемые отношения |
Авторизация
|
-
|
Главное меню
|
-
|
Бухгалтерия
|
Е1,Е3
|
Отдел инкассации
|
Е2, Е8, Е5,Е6
|
Отдел кадров
|
Е3
|
Отдел охраны
|
Е4, Е8
|
Отдел вооружения
|
Е5,Е6
|
Тип
|
Е6
| 4.5 Генерация базы данных
В результате генерации базы данных были сформированы связанные таблицы с необходимым набором атрибутов.
Name
|
Type
|
Width
|
Е1 – Бухгалтерия
|
id_zapis
|
Integer(autolnc)
|
4
|
zp
|
Character
|
8
|
premia
|
Character
|
8
|
data_zp
|
Character
|
10
|
Е2 – Отдел инкассации
|
id_inkassa
|
Integer(autolnc)
|
4
|
nom_marsh
|
Character
|
10
|
Е3 – Отдел кадров
|
id_sotrudn
|
Integer(autolnc)
|
4
|
fio
|
Character
|
10
|
vozrast
|
Character
|
10
|
Е4 – Отдел охраны
|
id_ohrany
|
Integer(autolnc)
|
4
|
fio
|
Character
|
10
|
smena
|
Character
|
10
|
id_object
|
Integer
|
4
|
Е5 – Отдел вооружения
|
id_weapons
|
Integer(autolnc)
|
4
|
kol_patronov
|
Character
|
8
|
data_osmotra
|
Character
|
10
|
id_tip
|
Integer
|
4
|
Е6 – Тип вооружения
|
id_tip
|
Integer(autolnc)
|
4
|
tip
|
Character
|
10
|
pic
|
General
|
4
|
Е7 – таблица соответствия
|
id_chop
|
Integer(autolnc)
|
4
|
id_zapis
|
Integer
|
4
|
id_inkassa
|
Integer
|
4
|
id_sotrudn
|
Integer
|
4
|
id_ohrany
|
Integer
|
4
|
id_weapons
|
Integer
|
4
|
Е8 – Объекты
|
id_object
|
Integer(autolnc)
|
4
|
object
|
Character
|
10
|
nomer_dogov
|
Character
|
8
|
5. Заключение
В ходе выполнения курсового проекта была создана информационная система частного охранного предприятия. При проектировании базы данных были подробно изучены основные принципы для построения информационных систем в СУБД, а так же реализация пользовательского интерфейса для работы с таблицами в базе.
Написание программы информационной системы выявило некоторые недостатки и достоинства СУБД Microsoft Visual FoxPro 9.0 .
6. Библиография
Чумак Б.Б. Базы данных и управление данными. Конспект лекций по курсу. – М.: МИРЭА, 2012.
Омельченко Л.Н., Шевякова Д.А. Самоучитель Visual FoxPro 9.0. – СПб.: БХВ-Петербург, 2005. – 608 с.: ил.
Приложение 1. Листинг программы кнопок на форме авторизация.
Прежде чем перейти к листингу, на рисунке 8 показана сама форма авторизации.
Рисунок 8- Форма авторизации
Листинг кнопки «Вход» :
LOCAL logn, passwd
logn=ALLTRIM(thisform.text1.value)
passwd=ALLTRIM(thisform.text2.value)
IF logn == 'guest' AND passwd == 'guest'
do form 'L:\CHOP(KR)v1.5\Forms\Menu.scx'
thisform.Release()
ELSE
messagebox("Ошибка")
ENDIF
Листинг кнопки «Выход» :
thisform.Release
Приложения 2. Самоконтроль
В соответствие с пунктом 4 задания на курсовой проект по дисциплине «Базы данных»
в курсовой проект
Студента Димаева Дмитрия Александровича
Группы ИТА-1-09
ВКЛЮЧЕНЫ:
1 раздел.
Индивидуальные фрагменты интерфейса, созданные на основе следующих базовых классов VISUAL FOX PRO 9.0
“Form”
“Label”
“Combo-box”
“Page Frame”
“CommandButton”
“Image”
“Check box”
“Edit box”
“Line”
“Shape”
“Spinner”
“Grid”, “Column”, “Header”
“Option Button Group”
“Command Button Group”
“OLE Container Control”
“Data Environment”
“TextBox”
“Timer”
“ListBox”
“ОLE Bound Control”
2 раздел.
Следующие индивидуальные фрагменты интерфейса:
Идентификация пользователя.
Взаимодействие 2-х объектов «List» - «List».
Взаимодействие 2-х объектов «List» - «Page Frame».
Взаимодействие 2-х объектов «Time» - «Image».
Взаимодействие 3-х таблиц базы данных.
Основные типы SQL-запросов к базе данных.
Взаимодействие объектов индивидуального проекта.
3 раздел.
1. Собственные пользовательские классы:
форм
русифицированных кнопок управления
2. Индивидуальные процедуры кнопок на форме «Авторизация»
3. Элемент Active X с индивидуальными процедурами взаимодействия с объектами.
4 раздел.
Тему не менял.
Диск с реализацией БД прилагаю.
Студент, Димаев Д.А. _______________
Преподаватель, проф., д.т.н. Чумак Б.Б. __________________
19 декабря 2012 г.
Достарыңызбен бөлісу: |