Таким образом, исходное решение, разлагается на два отношения:
Е10(е11, е12, е13, е14, е15, е16)
Е11(е14, е15, е16)
При этом, в каждом отношении соответственно существуют зависимости.
Прежде чем использовать в дальнейшем полученные зависимости их нужно
проверить на отсутствие соединения без потерь, то есть при обратном соединении
отношений Е11, Е12 в отношение Е1 не должна пропадать или появляться новая
информация. Для проверки можно использовать метод табло - табл. 4.4.1-табл.
4.4.3. Этот метод позволяет в табличной форме увидеть отсутствие соединения без
потерь.
Таблица 3.4.1 Метод табло: заполнение таблицы
|
|
е11 |
е12 |
е13 |
е14 |
е15 |
е16 |
|
Е10 |
а1 |
а2 |
а3 |
а4 |
а5 |
а6 |
|
Е11 |
b11 |
b12 |
b13 |
а4 |
а5 |
а6 |
Таблица 3.4.2
Метод табло: просмотр функциональной зависимости из Е11
|
|
е11 |
е12 |
е13 |
е14 |
е15 |
е16 |
|
Е10 |
а1 |
а2 |
а3 |
а4 |
а5 |
а6 |
|
Е11 |
b11 |
а2 |
а3 |
а4 |
а5 |
а6 |
Таблица 3.4.3
Метод табло: просмотр функциональной зависимости из Е12
|
|
е11 |
е12 |
е13 |
е14 |
е15 |
е16 |
|
Е10 |
а1 |
а2 |
а3 |
а4 |
а5 |
а6 |
|
Е11 |
а1 |
а2 |
а3 |
а4 |
а5 |
а6 |
Как видно из табл. 3.4.3 соединение отношений Е10 и Е11 в отношение Е1
происходит без потерь.
3.5 СТРУКТУРНО-ФУНКЦИОНАЛЬНЫЙ АСПЕКТ ИНФОРМАЦИОННОЙ СТРАТЫ ОБЪЕКТА
Данный аспект показывает, какая форма взаимодействует с какой таблицей.
Таблица 3.5.1
|
Название формы |
Требуемые отношения |
|
Авторизация |
- |
|
Вакансии |
Е5 |
|
Вакансии-кандидаты |
Е5, Е4 |
|
Главное меню |
- |
|
Запросы |
- |
|
Информация о полуфабрикатах |
Е6, Е9 |
|
Информация о продукции |
Е2, Е8 |
|
Календарь |
- |
|
Кандидаты |
Е4 |
|
Конечный итог |
Е1, Е8, Е9 |
|
Логи авторизации |
- |
|
О проекте |
- |
|
Объемы производства |
Е7, Е8 |
|
Полуфабрикаты |
Е9 |
|
Презентация |
- |
|
Регистрация пользователей |
- |
|
Товары |
Е8 |
|
Финансовые затраты |
Е3, Е8 |
|
List-list |
- |
3.6 ГЕНЕРАЦИЯ БАЗЫ ДАННЫХ
В результате генерации базы данных были сформированы связанные таблицы с
необходимым набором атрибутов.
Таблица 3.6.1
|
Name |
Type |
Width |
|
Е1 - конечный товар |
||
|
C_tovar |
Numeric |
4 |
|
Kol_tovar |
Numeric |
10 |
|
C_polyfabr |
Numeric |
|
|
Kol_polyfabr |
Numeric |
10 |
|
Kon_tovar_id |
Integer(autolnc) |
4 |
|
Е2 - произведенный товар |
||
|
Pr_tovar_id |
Integer(autolnc) |
4 |
|
C_tovar |
Numeric |
4 |
|
Kol_tovar |
Numeric |
10 |
|
Е3 - финансовые затраты |
||
|
Fin_id |
Integer(autolnc) |
4 |
|
C_tovar |
Numeric |
4 |
|
Tovar_cost |
Numeric |
10 |
|
Е4 - кандидаты |
||
|
Cand_id |
Integer(autolnc) |
4 |
|
Fio |
Character |
50 |
|
Prof |
Character |
40 |
|
Stage |
Numeric |
2 |
|
Vacancy |
Character |
40 |
|
Е5 - вакантные места |
||
|
Vacancy_id |
Integer(autolnc) |
4 |
|
Prof |
Character |
40 |
|
Vacancy |
Character |
40 |
|
Е6 - о полуфабрикатах |
||
|
C_polyfabr |
Numeric |
4 |
|
Kol_polyfabr |
Numeric |
10 |
|
Kol_pf_id |
Integer(autolnc) |
4 |
|
Е7 - объемы производства |
||
|
Vol_id |
Integer(autolnc) |
4 |
|
C_tovar |
Numeric |
4 |
|
Tovar_vol |
Numeric |
10 |
|
Е8 - список товаров |
||
|
C_tovar |
Integer(autolnc) |
4 |
|
N_tovar |
Character |
30 |
|
Е9 - список полуфабрикатов |
||
|
C_polyfabr |
Integer(autolnc) |
4 |
|
N_polyfabr |
Character |
40 |
ЗАКЛЮЧЕНИЕ
В ходе выполнения курсовой работы была создана информационная система, позволяющая автоматизировать функции производственного отдела мясокомбината.
При проектировании базы данных были подробно изучены принципы нормализации
отношений, а так же способы проверки правильности нормализации. Написание
программы информационной системы выявило некоторые недостатки и достоинства
СУБД Microsoft Visual FoxPro.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Чумак Б.Б. Базы данных и управление данными. Конспект лекций по курсу. - М.: МИРЭА, 2007.
. Омельченко Л.Н., Шевякова Д.А. Самоучитель Visual FoxPro 9.0. - СПб.: БХВ-Петербург, 2014. - 608 с.: ил.
3. Степанов В.С. Комплекс продажи и обслуживания автомобилей. Курсовой проект по БД и УД. - М.: МИРЭА, 2009.
. Штурмаков
Н.А. Автоматизация парка грузовых перевозок. Курсовой проект по БД и УД. - М.:
МИРЭА, 2012.
ПРИЛОЖЕНИЕ 1
ЛИСТИНГ ПРОГРАММЫ ВЗАИМОДЕЙСТВИЯ С ТЕКСТОВЫМ РЕДАКТОРОМ «WORD» И ЭЛЕКТРОННЫМИ ТАБЛИЦАМИ «EXCEL»
Взаимодействие с WordloWord=CREATEOBJECT("Word.Application").displayAlerts=.F..Documents.Add("Normal",.F.)loWord
.Visible=.t..Selection
.font.bold=.T.
.font.size=16
.font.name="Times New Roman"
.paragraphformat.alignment=1
.typetext('Кандидаты на работу в производственном отделе мясокомбината')
.font.size=12
.font.name="Times New Roman"
.typeparagraph
.font.bold=.F.my_dbase!кандидаты
fio, prof, stage, vacancy;my_dbase!кандидаты;by fio;ARRAY a_tally>0
.typeparagraph
.typetext('')=ALEN(a,1)=ALEN(a,2).activedocument.tables.add(.range,rowscount+1,colscount)=.tables(1)T
.cell(1,1).range.text='Ф.И.О.'
.cell(1,1).range.font.bold=.T.
.cell(1,2).range.text='Профессия'
.cell(1,2).range.font.bold=.T.
.cell(1,3).range.text='Стаж (лет)'
.cell(1,3).range.font.bold=.T.
.cell(1,4).range.text='Претендуемое место'
.cell(1,4).range.font.bold=.T.=2j=2 TO rowscount+1
.cell(j,1).range.text=a[j-1,1]
.cell(j,2).range.text=a[j-1,2]
.cell(j,3).range.text=a[j-1,3]
.cell(j,4).range.text=a[j-1,4]
ENDFOR
ENDWITH
.endkey(6)
.typeparagrapha
ELSE
.typeparagraph
.typetext("Нет сведений о кандидадах")
.typeparagraphto word
Взаимодействие с Excel
LOCAL i,loExcel
=CREATEOBJECT("Excel.Application").displayAlerts=.F.loExcel
.visible=.t.
.workbooks.add
.sheets(1).select
.sheets(1).name='Продукция'
.cells(1,1).value='ID продукции'
.cells(1,1).font.bold=.T.
.cells(1,2).value='Наименование продукции'
.cells(1,2).font.bold=.T.
i=1
список_товаров
SCAN
.cells(i+1,1).value=список_товаров.c_tovar
.cells(i+1,2).value=список_товаров.n_tovar=i+1
.columns("A:A").entirecolumn.autofit
.columns("B:B").entirecolumn.autofit
.columns("C:C").entirecolumn.autofit
.columns("D:D").entirecolumn.autofit
DATABASES all
RELEASE to Excel
ПРИЛОЖЕНИЕ 2
САМОКОНТРОЛЬ
В курсовой проект включены:
. Раздел
Индивидуальные фрагменты интерфейса, созданные на основе следующих базовых классов VISUAL FOX PRO 9.0
1. “Form”
2. “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 Раздел.
Следующие индивидуальные фрагменты интерфейса:
1. Идентификация пользователя.
2. Взаимодействие 2-х объектов «List» - «List».
. Взаимодействие 2-х объектов «Grid» - «Page Frame».
. Взаимодействие 2-х объектов «Time» - «Image».
. Взаимодействие 3-х таблиц базы данных.
. Основные типы SQL-запросов к базе данных.
. Взаимодействие объектов индивидуального проекта.
Раздел.
. Собственные пользовательские классы:
1.1 форм
1.2 русифицированных кнопок управления
.3 других пользовательских классов (с учетом функций интерфейса).
. Индивидуальные процедуры взаимодействия с “Word” и “Excel”(не должны быть одинаковыми переменные и алгоритмы процедур).
. Элемент Active X с индивидуальными процедурами взаимодействия с объектами.