Курсовая работа: Створення бази відеофільмів
2.1 Бази даних
2.1.1 Основні положення та моделі БД
Взагалі технологія баз даних як самостійна гілка розвитку інформатики з’явилася порівняно недавно: початок досліджень в цій області пов'язують з епохою великих ЕВМ – шістдесятими роками XX в. Тоді ж сформувався теоретичний апарат технології, почалася розробка програмного забезпечення. Термін «база даних» вперше з’явився в 1962г., відтоді дещо змінилося його змістовне наповнення (у зв'язку з розвитком області) і в найзагальнішому вигляді може бути сформульований так: база даних - це сукупність взаємозв'язаних даних при такій мінімальній надмірності, яка допускає їх використання оптимальним чином для одного або декількох додатків в певній предметній області людської діяльності.
Насправді сьогодні існує безліч різних визначень терміну БД, що обумовлене наявністю «можливості перетворення інформаційних масивів інших форматів в бази даних в строгому значенні цього поняття (і навпаки)". Практично будь-яку колекцію даних, які може зчитувати машина, можна при незначній доробці перевести в базу даних, що дозволяє максимально ефективно проводити інформаційний пошук за допомогою відповідної системи управління (СУБД).
Отже, база даних - структурований організований набір даних, що описують характеристики яких-небудь фізичних або віртуальних систем.
«Базою даних» часто спрощено або помилково називають Системи Управління Базами даних (СУБД). Потрібно розрізняти набір даних (власне БД) і програмне забезпечення, призначене для організації і ведення бази даних (СУБД).
Організація структури БД формується виходячи з таких міркувань:
1. Адекватність описуваному об'єкту/системі - на рівні концептуальної і логічної моделі.
2. Зручність використання для ведення обліку і аналізу даних - на рівні так званої фізичної моделі.
Види концептуальних (інфологічних) моделей БД: «сутність - зв'язок», семантичні, графські.
Види логічних (даталогічних) моделей БД:
1. Документальні (архіви) - орієнтовані на формат документа, дескрипторні, тезаурусні.
2. Фактографічні (картотеки):
- теоретико-графські: ієрархічна модель, мережева модель.
- теоретико-множинні: реляційна модель (ER-модель), багатомірна модель.
- об'єктно-орієнтовані: об'єктна модель.
- засновані на інвертованих файлах.
На рівні фізичної моделі електронна БД є файлом або їх набором у форматі TXT, CSV, Excel, DBF, XML або в спеціалізованому форматі конкретної СУБД. Також в СУБД в поняття фізичної моделі включають спеціалізовані віртуальні поняття, існуючи в її рамках - таблиця, табличний простір, сегмент, куб, кластер і т.д.
Нині найбільше поширення набули реляційні бази даних. Картотеками користувалися до появи електронних баз даних. Мережеві та ієрархічні бази даних вважаються застарілими, об'єктно-орієнтовані поки ніяк не стандартизовані і не набули широкого поширення. Деяке відродження одержали ієрархічні бази даних у зв'язку з появою і поширенням XML.
2.1.2 Типи БД
У класичній теорії виділяють три основні типи баз даних: ієрархічні, мережеві та реляційні. Останніми роками, з широким розповсюдженням об'єктно-орієнтованих мов програмування, стали активно розвиватися об'єктні бази даних.
Першими з’явилися ієрархічні бази даних. Інформація в ієрархічній базі організована за принципом деревовидної структури, у вигляді відносин предок/нащадок. Кожен запис може мати не більш одного батьківського запису і декілька підлеглих. Зв'язки записів реалізуються у вигляді фізичних покажчиків з одного запису на інший. Основний недолік ієрархічної структури бази даних - неможливість реалізувати відносини "багато до багатьох", а також ситуації, коли запис має декілька предків.
Мережева структура баз даних з’явилася як розвиток ієрархічної. Треба підкреслити, що термін «мережева» уживається тут в зовсім незвичному для епохи интернета значенні. Це слово підкреслює модель зв'язків даних в базі, коли кожен запис може знаходитися у відносинах «багато до багатьох» з іншими записами, що робить графічну модель бази схожою на рибальську мережу. Розробляти серйозні додатки в рамках мережевої моделі бази даних досить важко, причому складність розробки при ускладненні задач зростає в геометричній прогресії.
Справжній прорив в розвитку баз даних відбувся тоді, коли збільшена потужність комп'ютерів дозволила повною мірою реалізувати реляційну модель даних. Теорія реляційних баз даних була розроблена доктором Коддом на початку 70-х років 20 століття. У реляційних базах дані зберігаються у вигляді таблиць, що складаються з рядків і стовпців. Стовпці таблиць реляційної бази можуть містити скалярні дані фіксованого типу - числа, рядка, дати... Таблиці в реляційній базі даних можуть бути зв'язані відносинами "один до одного" або "один до багатьох".
Реляційні бази даних займають зараз домінуюче становище. Не буде великим перебільшенням сказати, що ієрархічна і мережева структури баз даних пішли в минуле, поступившися своїм місцем реляційним базам. MS SQL Server і MS Access, InterBase і FoxPro, PostgreSQL і Paradox... Всі вони побудовані на реляційній моделі даних. Реляційною базою в чистому вигляді є і MySQL.
Об'єктно-орієнтовані бази даних з’явилися зовсім нещодавно як природний розвиток об'єктно-орієнтованих мов програмування. На сьогоднішній день ООБД поки не мають широкого розповсюдження, але, поза сумнівом, вони найближчим часом бурхливо розвиватимуться. Це підтверджує і той факт, що розробники багатьох реляційних БД включають в свої бази засоби роботи з об'єктними типами даних. Такі бази даних одержали назву об'єктно-реляційних. Таким же чином, зокрема, розвивається і Oracle. Що була раніше чисто реляційною базою, Oracle починаючи з 8 версії підтримує можливість зберігання і обробки об'єктів і без жодної натяжки може бути віднесена до об'єктно-реляційного класу баз даних.
2.1.3 Етапи проектування БД
I. Концептуальне проектування - збирання, аналіз і редагування вимог до даних. Для цього здійснюються слідуючі заходи:
1. обстеження предметної області, вивчення її інформаційної структури.
2. виявлення всіх фрагментів, кожний з яких характеризується призначеним для користувача представленням, інформаційними об'єктами і зв'язками між ними, процесами над інформаційними об'єктами.