2.5 Проектиране на базата данни
Информационната система използва Microsoft SQL Server 2005. Това е цялостна система за поддържане и анализ на бази данни, която е доказала своите качества и богати възможности в практиката. Тя използва системата за релационни база данни, известна с високата си ефективност, базираща се на математическата теория на множествата.
ГЛАВА 3 – Реализация на системата
3.1 Таблици
Данните се групират в таблици. За почти всеки клас от бизнес логиката на приложението е създадена отделна талбица, защото почти всеки клас представлява отделна логическа единица, чиито данни трябва да се съхраняват отделно от тези на другите класове. Това наложи съхраняването на цялата информация на информационната система в 22 на брой таблици в базата данни.
Цялостта на данните в таблиците се гарантира от подходящата употреба на първични ключове във всяка от тях, както и на външни ключове, където има релации.
На фигура 2 е представена цялата диаграма на таблиците от базата данни:
Фиг. 2
В следващите няколко подточки ще бъдат разгледани някои от по- важните таблици.Създаването на всяка от тях е неизбежно не само, защото съхраняват данните за различни логически обекти, но и защото по този начин се избягва дублиране на данните.
3.1.1 Таблица “zaiavki”
Таблицата съхранява информацията за заявките за вземане на размери.
Колона
|
Тип
|
Ключове
|
Значение
|
Id
|
int
|
Primary Key
|
ID на заявка
|
clientName
|
Nvarchar(50)
|
|
име на клиент
|
clientPhone
|
nvarchar(50)
|
|
Телефон на клиент
|
Address
|
nvarchar(250)
|
|
Адрес на клиент
|
artikuli
|
nvarchar (50)
|
|
Артикули за мерене
|
cenoobrazuvane
|
nvarchar (250)
|
|
Как се формира цената
|
dateCreated
|
datetime
|
|
Дата на въвеждане
|
dateAssigned
|
datetime
|
|
Дата за изпълнение
|
isActive
|
bit
|
|
Дали е изпълнена
|
usersId
|
int
|
Foreign Key
|
Id на служителя въвел заявката
|
3.1.2 Таблица “poruchkiVrati”
Таблицата съхранява данните за поръчките за врати.Таблица съдържа много външни ключове понеже поръчката се състои от много компоненти.
Колона
|
Тип
|
Ключове
|
Значение
|
Id
|
int
|
Primary Key
|
ID на заявка
|
clientName
|
Nvarchar(50)
|
|
име на клиент
|
clientAddress
|
nvarchar(250)
|
|
Телефон на клиент
|
clientPhone
|
nvarchar(50)
|
|
Адрес на клиент
|
furnirId
|
int
|
Foreign Key
|
ID на фурнир
|
baicId
|
int
|
Foreign Key
|
ID на байц
|
profiled
|
int
|
Foreign Key
|
ID на профил
|
laminated
|
int
|
Foreign Key
|
ID на ламинат
|
pervazId
|
int
|
Foreign Key
|
ID на перваз
|
drujkiId
|
int
|
Foreign Key
|
ID на дръжка
|
cviatObkovId
|
int
|
Foreign Key
|
ID на цвят на обков
|
cenoobrazuvane
|
Nvarchar(500)
|
|
Как се формира цената
|
dateCreated
|
Datetime
|
|
Дата на въвеждане
|
endDate
|
Datetime
|
|
Дата на изпълнение
|
Price
|
Float
|
|
Цена
|
isActive
|
bit
|
|
Изпълнена ли е
|
usersId
|
int
|
Foreign Key
|
Id на служителя въвел поръчката
|
3.1.3 Таблица “poruchkiDograma”
Таблицата съсържа записите от поръчките на дограма.Външни ключове отразяват компонентите на поръчката.
Колона
|
Тип
|
Ключове
|
Значение
|
Id
|
int
|
Primary Key
|
ID на заявка
|
clientName
|
Nvarchar(50)
|
|
име на клиент
|
clientAddress
|
nvarchar(250)
|
|
Телефон на клиент
|
clientPhone
|
nvarchar(50)
|
|
Адрес на клиент
|
cviatDogramaId
|
int
|
Foreign Key
|
ID на цвят на дограма
|
cviatStuklopaketId
|
int
|
Foreign Key
|
ID на цвят на стъклопакет
|
podProzDuskiId
|
int
|
Foreign Key
|
ID на подпрозоръчни дъски
|
dateCreated
|
Datetime
|
|
Дата на въвеждане
|
endDate
|
Datetime
|
|
Дата на изпълнение
|
Price
|
Float
|
|
Цена
|
isActive
|
bit
|
|
Изпълнена ли е
|
usersId
|
int
|
Foreign Key
|
Id на служителя въвел поръчката
|
Поръчките за врати и дограма се съхраняват в различни таблици и понеже имат по няколко колони, които са външни ключове към други таблици.
3.1.4 Таблица “razmeriVrati”
Всяка поръчка за врати може да съдържа врати с различни размери. За избягване на повторенията на данните е създаден отделен клас и таблица за размери на врати.
Колона
|
Тип
|
Ключове
|
Значение
|
Id
|
int
|
Primary Key
|
ID на заявка
|
width
|
float
|
|
Ширина на вратата
|
height
|
float
|
|
Височина на вратата
|
Kasa
|
float
|
|
Ширина каса
|
otvariane
|
nvarchar (20)
|
|
Вид отваряне
|
brava
|
nvarchar (20)
|
|
брава
|
kriloKasa
|
float
|
|
Разстояние крило каса
|
ostuklenieId
|
int
|
Foreign Key
|
ID на остъклението
|
poruchkaVrataId
|
int
|
Foreign Key
|
ID на поръчката ,към която принадлежи
|
Broi
|
int
|
|
Брой врати поръчани с този размер
|
3.1.5 Таблица “razmeriDograma”
Всяка поръчка за дограма може да съдържа дограма с различни размери и вид. За избягване на повторенията на данните е създаден отделен клас и таблица за размери на дограма.
Колона
|
Тип
|
Ключове
|
Значение
|
Id
|
int
|
Primary Key
|
ID на заявка
|
width
|
float
|
|
Ширина на дограмата
|
Height
|
float
|
|
Височина на дограмата
|
Plosht
|
float
|
|
Обща площ
|
edinichnaCena
|
float
|
|
Цена за 1 брой дограма с тези размери
|
cena
|
float
|
|
Обща цена
|
vidId
|
int
|
Foreign Key
|
ID на вид
|
Zabelejka
|
Nvarchar(255)
|
|
Забележка свободен текст
|
poruchkaDogramaId
|
int
|
Foreign Key
|
ID на поръчката ,към която принадлежи
|
Broi
|
int
|
|
Брой дограма поръчана с този размер
|
3.1.6 Таблица “users”
Таблицата съдържа потребителите, които имат акаунт да ползват системата. Към нея прави заявка логин формата.
Колона
|
Тип
|
Ключове
|
Значение
|
Id
|
int
|
Primary Key
|
ID на потребител
|
userName
|
nvarchar(50)
|
|
Потребителско име
|
password
|
nvarchar(50)
|
|
парола
|
Name
|
nvarchar(50)
|
|
Име на служителя
|
3.1.7 Таблица “montajisti”
Таблицата съдържа данните на монтажистите, които работят в фирмата и извършват заявките и поръчките.
Колона
|
Тип
|
Ключове
|
Значение
|
Id
|
int
|
Primary Key
|
ID на заявка
|
firstName
|
nvarchar(50)
|
|
Собствено име
|
middleName
|
nvarchar(50)
|
|
Бащино име
|
lastName
|
nvarchar(50)
|
|
фамилия
|
Egn
|
nvarchar(10)
|
|
ЕГН
|
Sex
|
bit
|
|
пол
|
Address
|
nvarchar(1000)
|
|
адрес
|
Phone
|
nvarchar(50)
|
|
телефон
|
mobilePhone
|
nvarchar(50)
|
|
Мобилен телефон
|
isActive
|
bit
|
|
Активен ли е
|
Сподели с приятели: |