Основна частина, Проектування структури бази даних, Проектування бази даних, Основні етапи
Проектування структури бази даних
А також виділити необхідність контролю продажу квитків або інших комунальних послуг, а також їх вартість в даний час: у таблиці Асортимент виділити повну назву фільму, вартість квитка на цей фільм та іншу додаткову інформацію про фільм.
Проектування бази даних
Як виконувані функції Автоматизованої інформаційної системи були визначені:
1. Зберігання плану заходів та залів, у яких вони проходять;
2. Визначення місць доступних для продажу;
3. Продаж квитків та їх друк.
4. Можливість надання знижки;
5. Заохочення співробітників відсотком від продажів;
Для реалізації даних функцій була спроектована база даних, схему якої ви можете побачити на малюнку 1.

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