Будь-який з нас, починаючи з раннього дитинства, багаторазово стикався з "базами даних". Це - всілякі довідники, енциклопедії. Нотатки - це теж "база даних", яка є у кожного з нас.
У широкому сенсі база даних (БД) - сукупність певним чином організованої інформації на якусь тему.
Приклади: база даних книжкового фонду бібліотеки; база даних учнів школи; база даних законодавчих актів в галузі кримінального права; база даних сучасних пісень.
Бази даних бувають фактографічними і документальними.
Звичайно, вся ця інформація може зберігатися і на папері (наприклад, книжковий каталог бібліотеки). Але сучасна форма зберігання і обробки баз даних є, безумовно, комп'ютер. Надалі ми будемо мати на увазі тільки комп'ютерні БД.
В інформатиці базою даних називають інформаційну модель дозволяє впорядковувати і зберігати дані про групу об'єктів, що володіють однаковим набором властивостей.
Інформація в базах даних може бути організована по-різному. Бази даних поділяються на:
В даний час найбільшого поширення набули реляційні бази даних.
У реляційних базах даних всі дані представлені у вигляді простих таблиць, розбитих на рядки і стовпці, на перетині яких розташовані дані. Запити до таких таблиць повертають таблиці, які самі можуть ставати предметом подальших запитів. Кожна база даних може включати кілька таблиць.
Реляційні бази даних мають табличну форму організації.
Головне достоїнство таблиць - в їх зрозумілості. З табличній інформацією ми маємо справу практично кожен день. Загляньте, наприклад, в свій щоденник: розклад занять там представлено у вигляді таблиці. Коли ми приходимо на вокзал, дивимося розклад електричок. Який вид воно має? Це таблиця! А ще є таблиця футбольного чемпіонату. І журнал вчителя, куди він виставляє вам оцінки, - теж таблиця.
Коротко особливості реляційної бази даних можна сформулювати наступним чином:
Дані зберігаються в таблицях, що складаються із стовпців ( «атрибутів», «полів») і рядків ( «записів»);
На перетині кожного стовпця і рядка стоїть в точності одне значення;
У кожного стовпця є своє ім'я, яке служить його назвою, і всі значення в одному стовпці мають один тип.
Запити до бази даних повертають результат у вигляді таблиць, які теж можуть виступати як об'єкт запитів.
Рядки в реляційній базі даних невпорядковані - впорядковування проводиться в момент формування відповіді на запит.
Одна запис містить інформацію про один об'єкт тієї реальної системи, модель якої представлена в таблиці. В даному прикладі один запис - це інформація про один учня.
Поля - це різні характеристики (іноді кажуть - атрибути) об'єкта. Значення полів в одному рядку відносяться до одного об'єкту.
Як відрізнити один запис від іншого? У кожній таблиці має бути, принаймні, одне ключове поле, вміст якого унікально для будь-якого запису в цій таблиці. Значення ключового поля однозначно визначають кожен запис в табліце.С кожним полем пов'язано ще одну дуже важливу властивість - тип поля. Тип поля визначає безліч значень, які може приймати дане поле в різних записах.
У реляційних базах даних використовуються чотири основні типи поля:
Від типу величини залежать ті дії, які можна з нею робити.
Будь-яку роботу комп'ютер виконує під керуванням програм. Значить, і для роботи з базами даних потрібне спеціальне програмне забезпечення. Таке програмне забезпечення називається системою управління базами даних або скорочено СУБД.
Система управління базами даних (СКБД) - програмне забезпечення, яке дозволяє створювати бази даних і забезпечує обробку, сортування і пошук даних.
Приклади СУБД: Microsoft Office Access з офісного пакету Microsoft Office - одна з найпоширеніших СУБД; MySQL - широко поширена в Інтернет СУБД.
Системи, що працюють з реляційними базами даних, називаються реляційними СУБД. За допомогою реляційної СУБД можна працювати як з однотаблічной базою даних, так і з базою, що складається з безлічі пов'язаних між собою таблиць.
Основні функції СУБД:
керування даними в зовнішній пам'яті (на дисках);
керування даними в оперативній пам'яті;
журнализация змін і відновлення бази даних після збоїв;
підтримка мов БД (мова визначення даних, мова маніпулювання даними).