Курсовая работа: Розробка бази данних діяльності магазину "Автозапчастин"
Відношення буде перебувати в третій нормальній формі, якщо воно перебуває в другій нормальній формі, і кожний не ключовий атрибут нетранзитивно залежить від первинного ключа.
Для усунення транзитивної залежності описових реквізитів необхідно провести "розщеплення" вихідного інформаційного об'єкта. У результаті розщеплення частина реквізитів віддаляється з вихідного інформаційного об'єкта й включається до складу інших (можливо, знову створених) інформаційних об'єктів.
РОЗДІЛ 5 ДАТОЛОГІЧНЕ ПРОЕКТУВАННЯ БД
5.1 Склад таблиць БД
Таблиця5.1 Атрибути до бази даних
№ | Найменування атрибутів | Тип | Розмір | Допустимість невизначених значень |
1 | cust_id | Числовий | 3 | NOT NULL |
2 | cust_name | Текстовий | 60 | |
3 | phone | Текстовий | 60 | |
4 | bank | Текстовий | 60 | |
5 | account | Текстовий | 20 | |
6 | INN | Числовий | 8 | |
7 | cust_address | Текстовий | 60 | |
8 | worker_name | Текстовий | 60 | |
9 | worker_phone | Текстовий | 10 | |
10 | emp_id | Числовий | 3 | NOT NULL |
11 | emp_name | Текстовий | 60 | |
12 | emp_address | Текстовий | 60 | |
13 | expeience | Числовий | 2 | |
14 | date_both | Дата | Авто | |
15 | language | Текстовий | 15 | |
16 | base | Текстовий | 15 | |
17 | about | Текстовий | 60 | |
18 | salary | Грошовий | Авто | |
19 | proj_id | Числовий | 3 | NOT NULL |
20 | proj_start | Дата | Авто | |
21 | proj_stop | Дата | Авто | |
22 | chief | Текстовий | 60 | |
23 | cost | Грошовий | Авто | |
24 | bonus_all | Числовий | Авто | |
№ | Найменування атрибутів | Тип | Розмір | Допустимість невизначених значень |
25 | proj_name | Текстовий | 60 | |
26 | num | Числовий | Авто | NOT NULL (Рахівник) |
27 | emp_stop | Дата | Авто | |
28 | emp_start | Дата | Авто |
5.2 Засоби підтримки цілісності
У даному підрозділі для значень атрибутів виявляються обмеження й правила на рівні атрибутів, обраних у попередньому розділі. У першу чергу шляхом аналізу окремих атрибутів визначаються характеристики доменів, з яких атрибути об'єктів, що беруть участь у виконанні автоматизуємих функцій, беруть свої значення. Далі аналізуються можливі змінення значень атрибутів з метою виявлення динамічних обмежень і операційних правил, що ставляться до окремих атрибутів.
Взагалі, у цілісній частині реляційної моделі даних фіксуються дві базових вимоги цілісності, які повинні підтримуватися в будь-який реляційної СУБД. Перша вимога називається вимогою цілісності сутностей. Об'єкту або сутності реального миру в реляційних БД відповідають кортежі відносин. Конкретна вимога полягає в тому, що будь-який кортеж будь-якого відношення відрізнимо від будь-якого іншого кортежу цього відношення, тобто інакше кажучи, будь-яке відношення повинне мати первинний ключ.
Друга вимога називається вимогою цілісності по посиланнях і є трохи більше складним. Очевидно, що при дотриманні нормалізованісті відносин складні сутності реального миру представляються в реляційної БД у вигляді декількох кортежів декількох відносин.
Так, первинним ключем у нас у таблиці «Postavshiki»є атрибут «cod_postavshika», ця таблиця є батьківською для дочірній таблиці «detali» з її первинним ключем «cod_detali»; зв’язуються вони через зовнішній ключ «cod_detali». У таблиці «zakazchiki» первинним ключем є атрибут «cod_zakazchika», звьяхується з таблицєю «Postavshiki» з її первинним ключем «cod_postavshika»; зв’язуються вони через зовнішній ключ. При заповненні полів бази даних існують такі правила.
1) Поля з назвами, заповнюються українськими або англійськими буквами. Перша буква прописна, інші – рядкові); можливі подвійні назви, розділені дефісом; багатослівні назви, розділені пробілами.
2) Адреса записується в такому форматі: країна, індекс, місто, вулиця, номер будинку, номер корпусу, номер квартири.
3) Ідентифікатори розпочинаються з числа 01 та збільшуються на одиницю.
4) Можливі роздільники – пробіли .
5) Дата записується у форматі: д/м/р.
6) Номера телефонів: +(код країни – код міста) номер телефону.
7) Якщо поле розпочинається з букви, то у випадку ім’я власного – перша літера прописна, в іншому – строкова.
РОЗДІЛ 6 ЗАПИТИ ДО БД
В даному пункті відпрацюємо деякі запити, які можуть бути розроблені користувачами бази даних. Складемо такі SQL-запити:
1) Проста вибірка.
2) Вибірка з умовою.
3) Вибірка даних зі зв'язаних таблиць.
4) Вибірка з використанням оператора (природного) з'єднання.
5) Вибірка з використанням шаблона.
1.1) Вивести список робітників, відсортированих за розміром з/п.
1.2) Вивести список замовників підприємства
2.1) Вивести данні по проектам, за дострокове виконання яких замовник сплатить бонусний відсоток.