Вступ
Під базою даних ми розуміємо сукупність семи основних типів об’єктів: таблиць, Запитів, форм, звітів, web-сторінок, макросів та модулів. В більшості випадків в файлі БД використовується не одна таблиця, а декілька. Між таблицями, як правило, встановлюють певні реляційні зв’язки.
Теpмін "база даних" загалом є достатньо об'ємним, складним та багатостороннім для однозначного визначення. Попередньо визначимо, що база даних - це множина взаємопов'язаних даних, об’єднаних спільним середовищем зберігання, спільним застосуванням, єдиною формою представлення, єдиними методами i засобами керування.
Завданням даної розрахункової роботи є опис певної предметної області, на основі якої буде розроблена реляційна база даних. Сьогодні реляційна модель баз даних є домінуючою у різноманітних застосуваннях. Вибраною предметною областю є автосалон.
1. Визначення та опис предметної області
В якості предметної області я обрала автосалон і потрібно побудувати базу даних для автосалону.
Характеристики предметної області, що підлягають відображенню у базі даних, описує така множина атрибутів: № авто, марка автомобіля, ціна в дилерській мережі, № двигуна, № кузова, № стандартного обладнання, двигун, кількість клапанів, потужність, розгін 0-100 км/год,с, тип кузова, кількість дверей, кількість місць, довжина/ширина/висота, об’єм багажника, подушки безпеки, бортовий комп’ютер, кондиціонер, клімат – контроль, люк, шкіряний салон, сигналізація, гарантія виробника, № продавця, прізвище, ім’я, по-батькові продавця, посада, освіта, дата прийняття на роботу, № замовлення, дата продажу, ціна авто у автосалоні.
Всі перелічені вище характеристики можна подати такими інформаційними відношеннями:
До об’єктів і властивостей, що містять інформацію про автомобілі можна віднести:
№ авто;
марка автомобіля;
ціна в дилерській мережі;
№ двигуна;
№ кузова;
№ стандартного обладнання;
До інформації про двигун автомобіля належить:
№ двигуна;
кількість клапанів;
потужність, кінських сил;
розгін 0-100 км/год,с;
До інформації про кузов автомобіля можна віднести:
№ кузова;
тип;
кількість дверей;
кількість місць;
довжина/ширина/висота,мм;
об’єм багажника,л.
До інформації про стандартне обладнання автомобіля належать:
№ стандартного обладнання;
подушки безпеки,штук;
бортовий комп’ютер;
кондиціонер;
клімат – контроль;
люк;
шкіряний салон;
сигналізація;
гарантія виробника.
До інформації про продавців автосалону можна віднести:
№ продавця;
ПІБ продавця;
посада;
освіта;
дата прийняття на роботу.
До інформації про продаж автомобілів належать:
№ замовлення;
№ авто;
дата продажу;
ціна авто у автосалоні;
№ продавця.
2. Побудова ER-моделі бази даних «Автосалон»
Аналіз визначених вище об’єктів та атрибутів дозволяє виділити сутності проектованої бази даних, і ухваливши рішення про створення реляційної бази даних, побудувати її інфологічну модель засобами ER-діаграми. Підкреслені атрибути поданих сутностей є первинними ключами.
Перелік сутностей (назва сутності записується великими літерами).
АВТОМОБІЛІ (№_авто, Марка_автомобіля, Ціна_в_дилерській мережі, №_двигуна, №_кузова, №_стандартного_обладнання). Дана сутність містить інформацію про комплектацію автомобілів, які пропонує автосалон.
ДВИГУН (№_двигуна, Тип, Кількість_клапанів, Потужність, Розгін). Сутність містить інформацію про двигун.
КУЗОВ (№_кузова, Тип, Кількість_дверей, Кількість_місць, Довжина/ширина/висота, Об’єм_багажника). В цій сутності міститься інформація про кузов автомобіля.
СТАНДАРТНЕ_ОБЛАДНАННЯ (№_стандартного_обладнання, Подушки_безпеки, Бортовий_комп’ютер, Кондиціонер, Клімат – контроль, Люк, шкіряний_салон, Сигналізація, Гарантія_виробника). Тут міститься інформація про види і наявність стандартного обладнання.
ПРОДАВЕЦЬ (№_продавця, Прізвище, Ім’я, По-батькові, Посада, Освіта, Дата_прийняття_на_роботу). В цій сутності міститься інформація про продавців, які продають автомобілі у автосалоні.
ПРОДАЖ (№_замовлення, Дата_продажу, Ціна_авто_у_автосалоні, №_продавця). Тут міститься інформація про продаж автомобілів.
3. Даталогічна модель бази даних «Автосалон»
У відповідності з процедурою проектування кожна з сутностей ПО подається базовою таблицею. Опис таблиць:
ТАБЛИЦЯ Автомобілі * ( Звичайна сутність )
ПЕРВИННИЙ КЛЮЧ ( №_Авто )
ПОЛЯ ( №_Авто Ціле, Марка_автомобіля Текст 25, Ціна_в_дилерській_мережі Грошове, №_двигуна Ціле, №_кузова Ціле, №_стандартного_обладнання Ціле )
ТАБЛИЦЯ Двигун * ( Звичайна сутність)
ПЕРВИННИЙ КЛЮЧ ( №_Двигуна )
ПОЛЯ ( №_Двигуна Ціле, Двигун Ціле, Кількість_клапанів Ціле, Потужність Текст 20, Розгін Текст 20 )
ТАБЛИЦЯ Кузов * ( Звичайна сутність)
ПЕРВИННИЙ КЛЮЧ ( №_Кузова )
ПОЛЯ ( №_Кузова Ціле, Тип Текст 30, Кількість_дверей Ціле, Кількість_місць Ціле, Довжина/ширина/висота Текст 25, Об’єм_багажника Ціле )
ТАБЛИЦЯ Стандартне_обладнання * ( Звичайна сутність)
ПЕРВИННИЙ КЛЮЧ ( №_Стандартного_обладнання )
ПОЛЯ ( №_Стандартного_обладнання Ціле, Подушки_безпеки, Бортовий_комп’ютер Логічне, Кондиціонер Логічне, Клімат-контроль Логічне, Люк Логічне, Шкіряний_салон Логічне, Сигналізація Логічне, Гарантія_виробника Ціле )
ТАБЛИЦЯ Продавець * ( Звичайна сутність)
ПЕРВИННИЙ КЛЮЧ ( №_Продавця )
ПОЛЯ ( №_Продавця Ціле, Прізвище Текст 30, Ім’я Текст 20, По-батькові Текст 20, Освіта Текст 18, Посада Текст 20, Дата_прийняття_на_роботу Дата )

ТАБЛИЦЯ Продаж * ( Звичайна сутність)
ПЕРВИННИЙ КЛЮЧ ( №_Замовлення )
ПОЛЯ ( №_Замовлення Ціле, №_авто Ціле, Дата_продажу Дата, Ціна_авто_у_автосалоні Грошове, №_продавця Ціле)

4. Нормалізація бази даних
У межах реляційної моделі даних Е.Ф. Кодд розробив апарат нормалізації відношень і запропонував механізм, який дає змогу привести відношення до третьої нормальної форми. Нормалізація схеми відношення виконується шляхом декомпозиції схеми.
Нормалізація – це розбиття таблиці на дві або більше, що володіють кращими властивостями під час додавання, зміни і видалення даних. Остаточна мета нормалізації зводиться до отримання такого проекту бази даних, в якому кожен факт розташовується лише в одному місці, тобто виключена надмірність інформації. Це робиться не стільки з метою економії пам’яті, скільки для виключення можливої суперечності даних, що зберігаються. Кожна таблиця у реляційній базі даних задовольняє умову, відповідно до якої у позиції на перетині кожного рядка і стовпця таблиці завжди знаходиться єдине атомарне значення, і ніколи не може бути множина таких значень. Будь-яка таблиця, що задовольняє цю умову, називається нормалізованою. Фактично, ненормалізовані таблиці, тобто таблиці, які містять групи, що повторюються навіть не реалізуються у реляційних БД.
Кожна нормалізована таблиця автоматично вважається таблицею у першій нормальній формі. Таблиця перебуває у 2НФ, якщо вона перебуває у 1НФ і задовольняє, крім того, деяку додаткову умову. Отже, кожна нормальна форма є у певному сенсі обмеженою але і прийнятнішою, ніж попереднє.
У розрахунковій роботі необхідно здійснити нормалізацію відношень бази даних до третьої (другої) НФ.
Після побудови логічно структури варто перевірити, чи не порушені у заданому проекті принципи нормалізації, тобто кожне не ключове поле кожної таблиці:
функціонально залежить від повного первинного ключа, а не від його частини (якщо ключ складений);
не має функціональної залежності від іншого не ключового поля.
Проведемо нормалізацію відношень бази даних Туристична база до третьої (другої ) нормальної форми або НФБК.
Після проведення логічної структури варто перевірити , чи не порушенні у заданому проекті принципи нормалізації , тобто кожне не ключове поле кожної таблиці:
функціонально залежить від повного первинного ключа, а не від його частини (якщо ключ складений );
не має функціональної залежності від іншого не ключового поля.
Сутності АВТОМОБІЛІ, ДВИГУН, КУЗОВ, СТАНДАРТНЕ_ОБЛАДНАННЯ, ПРОДАВЕЦЬ, ПРОДАЖ, перебувають у 2НФ, 3НФ та НФБК , це засвідчує те , що в жодній із сутностей не спостерігається явища транзитивності. Кожен ключ у сутностях єдиний та простий, а не складний. Отже , всі відношення перебувають в нормальній формі Бойса-Кодда (НФБК).
5. Операції реляційної алгебри
Відношення є самі по собі множинами, тому до них застосовані всі поняття й операції, характерні до множин, плюс специфічні поняття й операції. Операндами для операцій реляційної алгебри є відношення. Результатом виконання операцій реляційної алгебри також є відношення.
Виконаємо операції реляційної алгебри над відношеннями бази. Оскільки теоретико – множинні операції виконуються над відношеннями з однаковими множинами атрибутів, створимо копію відповідного відношення АВТОМОБІЛІ і АВТОМОБІЛІ _1, змінивши його інформаційне наповнення.
Операція об’єднання відношень АВТОМОБІЛІ і АВТОМОБІЛІ_1
№ авто
марка автомобіля
ціна в дилерській мережі
№ двигуна
№ кузова
№ стандартного обладнання

1
Audi A8 4.2 quattrо
109 600,00р.
1
1
1

2
Audi Q7 4.2 quattro
95 140,00р.
2
2
2

3
BMW M5
135 840,00р.
3
3
3

4
BMW X3 2.0d
53 800,00р.
4
4
4


Рис. 5.1.1 Початковий стан відношення АВТОМОБІЛІ
АВТОМОБІЛІ_1
№ авто
марка автомобіля
ціна в дилерській мережі
№ двигуна
№ кузова
№ стандартного обладнання

1
Audi A8 4.2 quattrо
109 600,00р.
1
1
1

2
Audi Q7 4.2 quattro
95 140,00р.
2
2
2

5
BMW X5 4.4i
90 000,00р.
5
5
5

6
Hummer H2
90 000,00р.
6
6
6


Рис. 5.1.2 Початковий стан відношення АВТОМОБІЛІ_1
АВТОМОБІЛІ АВТОМОБІЛІ_1
№ авто
марка автомобіля
ціна в дилерській мережі
№ двигуна
№ кузова
№ стандартного обладнання

1
Audi A8 4.2 quattrо
109 600,00р.
1
1
1

2
Audi Q7 4.2 quattro
95 140,00р.
2
2
2

3
BMW M5
135 840,00р.
3
3
3

4
BMW X3 2.0d
53 800,00р.
4
4
4

5
BMW X5 4.4i
90 000,00р.
5
5
5

6
Hummer H2
90 000,00р.
6
6
6


Рис.5.1.3. Результат операції об’єднання відношень
5.2. Операція перетину відношень АВТОМОБІЛІ АВТОМОБІЛІ_1
АВТОМОБІЛІ АВТОМОБІЛІ _1
№ авто
марка автомобіля
ціна в дилерській мережі
№ двигуна
№ кузова
№ стандартного обладнання

1
Audi A8 4.2 quattrо
109 600,00р.
1
1
1

2
Audi Q7 4.2 quattro
95 140,00р.
2
2
2


Рис.5.1.2. Початковий стан відношення АВТОМОБІЛІ
5.3. Операція різниці відношень АВТОМОБІЛІ і АВТОМОБІЛІ _1
АВТОМОБІЛІ \ АВТОМОБІЛІ _1
№ авто
марка автомобіля
ціна в дилерській мережі
№ двигуна
№ кузова
№ стандартного обладнання

3
BMW M5
135 840,00р.
3
3
3

4
BMW X3 2.0d
53 800,00р.
4
4
4

а)
АВТОМОБІЛІ_1 \ АВТОМОБІЛІ
№ авто
марка автомобіля
ціна в дилерській мережі
№ двигуна
№ кузова
№ стандартного обладнання

5
BMW X5 4.4i
90 000,00р.
5
5
5

6
Hummer H2
90 000,00р.
6
6
6

б)
Рис.5.3.1. Результат операції різниці відношень
6.4. Операція проекції відношення АВТОМОБІЛІ
ПРОДАВЕЦЬ[№_авто, Марка_автомобіля, Ціна_в дилерській мережі]
№ авто
марка автомобіля
ціна в дилерській мережі

1
Audi A8 4.2 quattrо
109 600,00р.

2
Audi Q7 4.2 quattro
95 140,00р.

3
BMW M5
135 840,00р.

4
BMW X3 2.0d
53 800,00р.


Рис.6.5.1. Проекція відношення АВТОМОБІЛІ
5.6. Операція селекції відношення АВТОМОБІЛІ
З відношення АВТОМОБІЛІ істинне значення приймають ті значення, №_авто яких менше 5.
Select (АВТОМОБІЛІ, №_авто<5)
№ авто
марка автомобіля
ціна в дилерській мережі
№ двигуна
№ кузова
№ стандартного обладнання

1
Audi A8 4.2 quattrо
109 600,00р.
1
1
1

2
Audi Q7 4.2 quattro
95 140,00р.
2
2
2

3
BMW M5
135 840,00р.
3
3
3

4
BMW X3 2.0d
53 800,00р.
4
4
4


Рис.5.6.1. Селекція відношення АВТОМОБІЛІ
5.7. Операція натурального з’єднання відношень ПРОДАВЕЦЬ і ПРОДАЖ
№ продавця
прізвище
ім"я
по батькові
посада
дата прийняття на роботу
освіта

1
Федишин
Михайло
Іванович
замісник директора
06.03.2004
вища

2
Юрків
Тарас
Миколаєвич
продавець
12.12.2005
вища

3
Паньків
Олена
Романівна
фінансовий директор
16.03.2005
вища

4
Іванов
Андрій
Петрович
продавець
04.09.2004
вища


Рис. 5.7.1. Початкове значення відношення ПРОДАВЕЦЬ
№ замовлення
№ авто
дата продажу
№ продавця

1
3
05.08.2007
1

2
14
29.08.2007
1

3
11
24.03.2007
2

4
2
01.02.2007
2


Рис. 5.7.2. Початкове значення відношення ПРОДАЖ
№ продавця
прізвище
ім"я
по батькові
посада
дата прийняття на роботу
освіта
№ замовлення
№ авто
дата
продажу
№ продавця


1

Федишин

Михайло

Іванович
замісник директора

06.03.2004

вища
1

3
05.08.2007

1


2

Юрків

Тарас

Миколаєвич

продавець

12.12.2005

вища

2

14
29.08.2007

1


3

Паньків

Олена

Романівна
фінансовий директор

16.03.2005

вища

3

11
24.03.2007

2


4

Іванов

Андрій

Петрович

продавець

04.09.2004

вища

4

2
01.02.2007

2

У відношеннях ПРОДАВЕЦЬ і ПРОДАЖ спільним атрибутом є №_продавця.
Рис. 5.7.3. Натуральне з’єднання відношень
5.8. Операція умовного з’єднання відношень
№ авто
марка автомобіля
ціна в дилерській мережі
№ двигуна
№ кузова
№ стандартного обладнання

1
Audi A8 4.2 quattrо
109 600,00р.
1
1
1

2
Audi Q7 4.2 quattro
95 140,00р.
2
2
2

3
BMW M5
135 840,00р.
3
3
3

4
BMW X3 2.0d
53 800,00р.
4
4
4

5
BMW X5 4.4i
90 000,00р.
5
5
5

6
Hummer H2
90 000,00р.
6
6
6

Рис. 5.8.1. Початкове значення відношення АВТОМОБІЛІ
ДВИГУН_1[№_двигуна, Кількість_клапанів]
№ двигуна
кількість клапанів

1
3

2
3

3
4

4
4

5
4

6
5

Рис.5.8.2. Проекція відношення ДВИГУН
Виконаємо операцію над відношенням АВТОМОБІЛІ і проекцією відношення ДВИГУН – ДВИГУН_1([№_двигуна, Кількість_клапанів), критерій ?=(Кількість клапанів>3 і Номер_авто>2).
№ авто
марка автомобіля
ціна в дилерській мережі
№ двигуна
№ кузова
№ стандартного обладнання
№ двигуна
кількість клапанів

3
BMW M5
135 840,00р.
3
3
3
3
4

4
BMW X3 2.0d
53 800,00р.
4
4
4
4
4

5
BMW X5 4.4i
90 000,00р.
5
5
5
5
4

6
Hummer H2
90 000,00р.
6
6
6
6
5

Рис.5.8.3. Умовне з’єднання відношень
5.9. Операція ділення
Для виконання операції оберемо проекції відношень АВТОМОБІЛІ_2 (№_двигуна, №_кузова) (відношення-ділене) і ДВИГУН_2 (№_двигуна) (дільник):
№ двигуна
№ кузова

1
1

1
2

2
1

2
2

2
1

3
2

3
4

3
3

№ двигуна

1

2

3


Рис.5.9.1. Проекції відношень АВТОМОБІЛІ і ДВИГУН
АВТОМОБІЛІ_2 з DIVIDEBY ДВИГУН_2

№_кузова

1

2

Рис.5.9.2. Результат операції ділення
5.10. Операція включення нового кортежу у відношення ДВИГУН Insert(ДВИГУН, 8, V6, 4, 272, 8,4)
№ двигуна
двигун
кількість клапанів
потужність,кіньських сил
розгін 0-100 км/год,с

1
V8
4
320
7

2
R4
4
150
10,2

3
V10
4
507
4,7

4
V8
4
340
6,8

5
V8
4
450
5,6

6
V8
5
335
6,3

7
V8
5
350
7,4

8
V6
4
272
8,4

Рис.5.10.1. Новий стан відношення ДВИГУН
5.11. Операція вилучення кортежу з відношення ДВИГУН.
Delete( ДВИГУН,( №_двигуна = «5»))
№ двигуна
двигун
кількість клапанів
потужність,кіньських сил
розгін 0-100 км/год,с

1
V8
4
320
7

2
R4
4
150
10,2

3
V10
4
507
4,7

4
V8
4
340
6,8

6
V8
5
335
6,3

7
V8
5
350
7,4

8
V6
4
272
8,4

Рис.5.11.1. Новий стан відношення ДВИГУН
5.12. Операція визначення нового атрибута премія.
Add ( ПРОДАВЕЦЬ, премія)
№ продавця
прізвище
ім"я
по батькові
посада
дата прийняття на роботу
освіта
премія

1
Федишин
Михайло
Іванович
замісник директора
06.03.2004
вища

ні

2
Юрків
Тарас
Миколаєвич
продавець
12.12.2005
вища
так

3
Паньків
Олена
Романівна
фінансовий директор
16.03.2005
вища
ні

4
Іванов
Андрій
Петрович
продавець
04.09.2004
вища
так


Рис.5.12.1. Новий стан відношення ПРОДАВЕЦЬ
5.13. Операція зміни параметрів атрибута у відношенні АВТОМОБІЛІ
Зміна імені атрибута.
Ім’я атрибута Марка_автомобіля з областю визначення { Audi A8 4.2 quattrо, Audi Q7 4.2 quattro, BMW M5, BMW X3 2.0d, BMW X5 4.4i, Hummer H2, Land Cruiser 4.0 V6 VVT-i } замінюємо іменем Автомобіль з аналогічною областю визначення.
Rename(АВТОМОБІЛІ,Марка_автомобіля , Автомобіль)
№ авто
автомобіль
ціна в дилерській мережі
№ двигуна
№ кузова
№ стандартного обладнання

1
Audi A8 4.2 quattrо
109 600,00р.
1
1
1

2
Audi Q7 4.2 quattro
95 140,00р.
2
2
2

3
BMW M5
135 840,00р.
3
3
3

4
BMW X3 2.0d
53 800,00р.
4
4
4

5
BMW X5 4.4i
90 000,00р.
5
5
5

6
Hummer H2
90 000,00р.
6
6
6

7
Land Cruiser 4.0 V6 VVT-i
62 500,00р.
7
7
7

Рис.5.13.1. Новий стан відношення АВТОМОБІЛІ
Зміна області визначення атрибута.
Задамо функцію конверсії С (Марка_автомобіля):
Таблиця 5.1
С(Марка_автомобіля)

D Марка_автомобіля
D’ Марка_автомобіля

Audi A8 4.2 quattrо
ексклюзив

Audi Q7 4.2 quattro
ексклюзив

BMW M5
ексклюзив

BMW X3 2.0d
ексклюзив

BMW X5 4.4i
ексклюзив

Hummer H2
ексклюзив

Land Cruiser 4.0 V6 VVT-i
ексклюзив


Alter(АВТОМОБІЛІ, D Марка_автомобіля, D’ Марка_автомобіля)
Висновок
СУБД MS ACCESS є достатньо ефективним і потужним засобом розробки як локальних застосувань середнього та малого обсягу різноманітного характеру, так і клієнтських засобів доступу до бази даних в архітектурі «клієнт - сервер». У розпорядження користувача та розробника СУБД надає набір засобів для виконання основних функцій:
створення, модифікація та супровід баз даних реляційного типу;
підтримка другої нормальної форми баз даних, гнучкої системи зв’язків між даними та правил цілісності;
розробка запитів різного характеру та типу;
імпорт, експорт та підключення зовнішніх даних, у тому числі, і серверних баз даних;
візуальна розробка і від лагодження екранних засобів відображення та опрацювання даних із застосуванням об’єктно – орієнтованого підходу та ситуаційного керування процесами;
проектування форм вихідних документів із застосуванням як вбудованого, так і зовнішніх генераторів звітів;
розробка застосувань із застосуванням макрокоманд для керування процесами та реалізації основних дій користувача;
можливість розробки прикладних систем, сумісних із іншими СУБД та середовищами.
Список використаної літератури
Берко А. Ю., Верес О. М., Пасічник В. В. Системи баз даних та знань. Книга 1. Організація баз даних та знань: навчальний посібник. – Львів: «Магнолія 2006», 2008. – 456с.
Берко А.Ю. Проектування та експлуатація баз даних реляційного типу: Методичні вказівки по виконанню лабораторних робіт з курсу «Організація баз даних» для студентів, що навчаються за базовим напрямком «Комп'ютеры науки». - Львів, ДУ ЛП, 1996. - 56 с.