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




Структура базы данных

Администратор базы данных (DatabaseAdministrator) – специалист который выполняет работы по созданию и эксплуатации базы данных и информационных систем.

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

Архитектор баз данных формирует документ «Структура базы данных». В документе представлены отчёты по структуре данных в документах, отчётах и таблицах. Данные таблицы формируются с помощью возможности формировать отчёты в среде EnterpriseArchitect (F8). Отчёты формируются по шаблону datamodeltemplate.

Для контроля возможности выполнения СППР функциональных требований заполняется таблица 2.14, которая позволяет сопоставить наименование полей в документах и отчётах с полями таблиц базы данных. Пример документа «Проект структуры базы данных» представлен ниже [2].

Диаграмма классов базы данных представляется в графической части.

Структура полей данных.

Таблица 2.1 – Структура полей таблицы «Продукция»

PK Name Type Not Null Unique Len
           
True Продукт_ID int True False  
False Наименование nvarchar True False  
False Описание nvarchar False False  
False Белки real False False  
False Жиры real False False  
False Углеводы real False False  
False Энерг_ценность int False False  
False Масса real False False  
False Срок_хранения int False False  
False Цена int False False  

Таблица 2.2 – Структура полей таблицы «Реализованная_продукция»

PK Name Type Not Null Unique
         
True Реализ_продукция_ID int True False
False Продукт_ID int True False

Продолжение таблицы 2.2

PK Name Type Not Null Unique
         
False Количество int True False
False КодЕдИзм int False False
False Дата_изготовления datetime False False
False Стоимость int False False

Таблица 2.3 – Структура полей таблицы «Рецептура»

PK Name Type Not Null Unique
         
True Рецепт_ID int True False
False Количество real True False
False Продукт_ID int True False
False Сырье_ ID int True False
False КодЕдИзм int False False

Таблица 2.4 – Структура полей таблицы «Сырье»

PK Name Type Not Null Unique Len
           
True Сырье_ ID int True False  
False Наименование nvarchar True False  
False Количество real True False  
False КодЕдИзм int False False  

Таблица 2.5 – Структура полей таблицы «ЕдИзм»

PK Name Type Not Null Unique Len
           
True КодЕдИзм int True False  
False НаимЕдИзм nvarchar False False  

Таблица 2.6 – Ограничения таблицы «Продукция»

Name Type Columns
     
PK_Продукция Public Продукт_ID

Таблица 2.7 – Ограничения таблицы «ЕдИзм»

Name Type Columns
     
PK_ЕдИзм Public КодЕдИзм

Таблица 2.8 – Ограничения таблицы «Реализованная_продукция»

Name Type Columns Notes
       
FK_РеалПрод_Прод Public Продукт_ID Foreign key constraint
FK_РеалПрод_ЕдИзм Public КодЕдИзм Foreign key constraint
PK_Реализованная_продукция Public Реализ_продукция_ID  

Таблица 2.9 – Отношения таблицы «Реализованная_продукция»

Columns Association Notes
     
(Продукт_ID=Продукт_ID) 0..* Реализованная_продукция.Продукт_ID 1 Продукция.PK_Продукция  
(КодЕдИзм=КодЕдИзм) 0..* Реализованная_продукция.КодЕдИзм 1 ЕдИзм.PK_ЕдИзм  

Таблица 2.10 – Ограничения таблицы «Рецептура»

Name Type Columns Notes
       
FK_Рецепт_Прод Public Продукт_ID Foreign key constraint
FK_Рецепт_Сырье Public Сырье_ID Foreign key constraint
FK_Рецепт_ЕдИзм Public Сырье_ID Foreign key constraint
PK_Рецептура Public Рецепт_ID  

Таблица 2.11 – Отношения таблицы «Рецептура»

Columns Association Notes
     
(Продукт_ID=Продукт_ID) 1..* Рецептура.Продукт_ID 1 Продукция.PK_Продукция  
(Сырье_ID=Сырье_ID) 1..* Рецептура.Сырье_ID 1 Сырье.PK_Сырье  
(КодЕдИзм=КодЕдИзм) 1..* Рецептура.КодЕдИзм 1 ЕдИзм.PK_ЕдИзм  

 

 

Таблица 2.12 – Ограничения таблицы «Сырье»

Name Type Columns Notes
       
FK_Сырье_ЕдИзм Public КодЕдИзм Foreign key constraint
PK_Сырье Public Сырье_ID  

Таблица 2.13 – Отношения таблицы «Сырье»

Columns Association Notes
     
(КодЕдИзм=КодЕдИзм) 1..* Сырье.КодЕдИзм 1 ЕдИзм.PK_ЕдИзм  

Таблица 2.14 – Соответствие полей данных документов и таблиц базы данных

Документ Поле документа Таблица Поле таблицы
       
Ассортимент продукции Наименование Продукция Наименование
Белки Продукция Белки
Жиры Продукция Жиры
Углеводы Продукция Углеводы
ЭнЦенность Продукция Энерг_ценность
Масса Продукция Масса
СрокХран Продукция Срок_хранения
Цена Продукция Цена
Рецептура продукта НаимПрод Продукция Наименование
Описание Продукция Описание
ЭнЦенность Продукция Энерг_ценность
Масса Продукция Масса
СрокХран Продукция Срок_хранения
Цена Продукция Цена
НаимСырья Сырье Наименование
КолСырья Рецептура Количество
ЕдИзм ЕдИзм НаимЕдИзм
Белки Продукция Белки
Жиры Продукция Жиры
Углеводы Продукция Углеводы

Продолжение таблицы 2.14

Документ Поле документа Таблица Поле таблицы
       
Отчет о реализуемой продукции НаимПрод Продукция Наименование
Цена Продукция Цена
Количество Реализованная_продукция Количество
Дата Реализованная_продукция Дата_изготовления
Стоимость Рассчитываемое поле (Количество * Цена)
Итого Рассчитываемое поле

 


Заключение

Разработанная структура базы данных однозначно определяет значения всех необходимых для эффективного функционирования информационной системы полей.

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

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

3 Проектирование архитектуры проекта

3.1 Взаимодействие классов СППР

Системный архитектор (ComputerSoftwareEngineer) осуществляет анализ требований заказчика в контексте используемого программного обеспечения и обеспечивает реализацию проектных спецификаций и архитектуры системных и программных средств.

Системный архитектор разрабатывает документ «Архитектура проекта»

Диаграмма классов представлена в графической части «Диаграмма классов. Диалоговые формы», «Диаграмма классов. Запросы» [3].

Диаграмма последовательности - это диаграмма, на которой представлено взаимодействие, состоящее из множества объектов и отношений между ними, включая и сообщения, которыми они обмениваются.

Данная диаграмма представлена в графическом материале.

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

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

На UML моделях форм и на самих формах присутствуют необходимые кнопки для осуществления do/ Деятельности и организации переходов между формами. Данная диаграмма представлена в графическом материале [4].

Архитектура СППР

В документе «Архитектура проекта» представлены диаграммы классов всех остальных элементов проекта: диалоговых форм, запросов к базе данных [5].

Таблица 3.1 – Структура компонента MainForm

Name Type
   
lblLogo Label
btnAssort Button
btnProducts Button
btnRaw Button
btnRlzdForDay Button
btnExit Button

Продолжение таблицы 3.1

Name Type
   
MainForm Public
btnProducts_Click Private
btnExit_Click Private
btnRaw_Click Private
btnAssort_Click Private
btnRlzdForDay_Click Private

Таблица 3.2 – Структура компонента FormProducts

Name Type
   
lblNew Label
cbxNewProd ComboBox
lblName Label
lblDescription Label
lblProtein Label
lblFat Label
lblCarb Label
lblEnValue Label
lblMass Label
lblShelfLife Label
lblPrice Label
lblId Label
lblRepice Label
lblRlzdProd Label
btnRepice Button
btnDelRepice Button
btnRlzdProd Button
btnDel Button
btnAdd Button
btnEdit Button
btnDoc Button
btnDelProd Button
btnExitToMenu Button
btnClear Button
tbxName TextBox
tbxDescription TextBox
tbxId TextBox
tbxPrice TextBox

Продолжение таблицы 3.2

Name Type
   
tbxId TextBox
btnExitToMenu_Click Private
btnAdd_Click Private
cbxNewProd_SelectedIndexChanged Private
btnRlzdProd_Click Private
btnRepice_Click Private
btnClear_Click Private
btnEdit_Click Private
btnDoc_Click Private
btnDel_Click Private
btnDelRepice_Click Private
btnDelProd_Click Private
dgvRepice DataGridView
dgvRlzdProd DataGridView
tbxCarb TextBox
tbxEnValue TextBox
tbxMass TextBox
tbxShelfLife TextBox
tbxProtein TextBox
tbxFat TextBox
FormProducts Public
FormProducts_Load Private

Таблица 3.3 – Структура компонента FormRawMaterials

Name Type
   
lblRMs Label
lblName Label
lblQuantity Label
lblEIzm Label
lblId Label
cbxRawMaterials ComboBox
tbxName TextBox
tbxQuantity TextBox
cbxEIzm ComboBox
tbxId TextBox
btnAdd Button
btnClear Button

Продолжение таблицы 3.3

Name Type
   
btnSave Button
btnSave_Click Private
btnClear_Click Private
btnDel_Click Private
btnSave Button
btnDel Button
btnExitToMenu Button
tbxId TextBox
tbxPrice TextBox
FormRawMaterials Public
FormRawMaterials_Load Private
btnExitToMenu_Click Private
btnAdd_Click Private
cbxRawMaterials_SelectedIndexChanged Private

Таблица 3.4 – Структура компонента FormRepice

Name Type
   
lblNameProd Label
lblNameRMs Label
lblQuantity Label
lblEIzm Label
cbxNameProd ComboBox
cbxNameRMs ComboBox
tbxQuantity TextBox
cbxEIzm ComboBox
btnAdd Button
btnClose Button
FormRepice Public
FormRepice_Load Private
btnAdd_Click Private
btnClose_Click Private
cbxNameRMs_SelectedIndexChanged Private

Таблица 3.5 – Структура компонента FormRlzdProducts

Name Type
   
lblName Label
lblQuantity Label
lblEIzm Label
lblSpendRMs Label
cbxName ComboBox
nudQuantity NumericUpDown
cbxEIzm ComboBox
dgvSpendRMs DataGridView
btnAdd Button
btnClose Button
FormRlzdProducts Public
cbxName ComboBox
FormRlzdProducts_Load Private
btnAdd_Click Private
btnClose_Click Private

Таблица 3.6 – Структура компонента FormRlzdForDay

Name Type
   
lblDate Label
dtpDate DateTimePicker
btnDoc Button
btnExit Button
FormRlzdForDay Public
btnExit_Click Private
btnDoc_Click Private

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: