Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Основи роботи з базами даних

Поиск

 

У наші дні люди часто говорять про бази даних. Комп'ютери становлять невід'ємну частину сучасного суспільства, тому нерідко можна почути фрази начебто "Я пошукаю твій запис у базі даних". І мова йде не про великі ящики, де зберігаються купи папок, а про комп'ютерні системи, призначені для прискореного пошуку інформації.

Комп'ютери так тісно увійшли у наше життя, що їх можна запрограмувати на виконання стомлюючих, повторюваних операцій і вирішення завдань, які нам самим було б не під силу вирішити без їхньої обчислювальної швидкості і ємності інформаційних носіїв. Розміщення інформації на папері і розроблення схеми зберігання паперів у папках і картотеках - досить чітко відпрацьований процес, але багато хто зітхнув з полегшенням, коли завдання звелося до переміщення електронних документів у папки на жорсткому диску.

Одними з функцій баз даних є впорядкування й індексація інформації. Як і у бібліотечній картотеці, не потрібно переглядати половину архіву, щоб знайти потрібний запис. Усе виконується набагато швидше.

Не всі бази даних створюються на основі тих самих принципів, але традиційно в них застосовується ідея організації даних у вигляді записів. Кожен запис має фіксований набір полів. Записи містяться у таблиці, а сукупність таблиць формує базу даних.

Для роботи з базою даних необхідна СКБД (система керування базами даних), тобто програма, що бере на себе всі турботи, пов'язані з доступом до даних. Вона містить команди, які дозволяють створювати таблиці, вставляти в них записи, шукати й навіть видаляти записи.

СКБД управляє однією або декількома базами даних. База даних являє собою сукупність інформації, організованої у вигляді множин. Кожна множина містить записи уніфікованого виду. Самі записи складаються з полів. Як правило, множини називають таблицями, а записи - рядками таблиць. Така логічна модель даних. На жорсткому диску вся база даних може перебувати в одному файлі.

Рядки таблиць можуть бути зв'язані один з одним одним із трьох способів. Найпростіше співвідношення - "один до одного". У цьому випадку рядок першої таблиці відповідає одному єдиному рядку другої таблиці. На діаграмах таке співвідношення виражається записом 1:1.

Співвідношення "один до багатьох" означає ситуацію, коли рядок однієї таблиці відповідає декільком рядкам іншої таблиці. Це найпоширеніший тип співвідношень. На діаграмах він виражається записом 1:N.

Нарешті, при співвідношенні "багато хто до багатьох" рядки першої таблиці можуть бути пов'язані з довільним числом рядків у другій таблиці. Таке співвідношення записується як N:M.

Ієрархічні бази даних

Ієрархічні бази даних підтримують деревоподібну організацію інформації. Зв'язки між записами виражаються у вигляді відносин предок/нащадок, а в кожного запису є тільки один батьківський запис. Це допомагає підтримувати цілісність посилань. Коли запис видаляється з дерева, всі його нащадки також повинні бути вилучені.

Ієрархічні бази даних мають централізовану структуру, тобто безпеку даних легко контролювати. На жаль, певні знання про фізичний порядок зберігання записів все-таки необхідні, тому що відносини предок/нащадок реалізуються у вигляді фізичних покажчиків з одного запису на інші.

Це означає, що пошук запису здійснюється методом прямого обходу дерева. Записи, розміщені в одній половині дерева, шукаються швидше, ніж в іншій. Звідси виникає необхідність правильно впорядковувати записи, щоб час їх пошуку був мінімальним. Це важко, тому що не всі відношення, які існують у реальному світі, можна виразити в ієрархічній базі даних. Відношення "один до багатьох" є природними, але практично неможливо описати відношення "багато хто до багатьох" або ситуації, коли запис має кілька предків. Доти, поки у додатках будуть кодуватися відомості про фізичну структуру даних, будь-які зміни цієї структури будуть призводити до перекомпіляції.

Мережні бази даних

Мережна модель розширює ієрархічну модель, дозволяючи групувати зв'язки між записами у множини. З логічної точки зору зв'язок - це не сам запис. Зв'язки лише виражають відношення між записами. Як і в ієрархічній моделі, зв'язки ведуть від батьківського запису до дочірнього, але цього разу підтримується множинне успадковування.

Відповідно до специфікації CODASYL мережна модель підтримує DDL (Data Definition Language - мова визначення даних) і DML (Data Manipulation Language - мова обробки даних). Це спеціальні мови, призначені для визначення структури бази даних і складання запитів. Незважаючи на їх наявність, програміст, як і раніше, повинен знати структуру бази даних.

У мережній моделі допускаються відношення "багато хто до багатьох", а записи не залежать один від одного. При видаленні запису віддаляються й всі його зв'язки, але не самі зв'язані записи.

У мережній моделі потрібно, щоб зв'язки встановлювалися між існуючими записами, для того щоб уникнути дублювання й перекручування цілісності. Дані можна ізолювати у відповідних таблицях і зв'язати із записами в інших таблицях.

Програмістові не потрібно піклуватися про те, як організується фізичне зберігання даних на диску. Це послабляє залежність додатків і даних. Але в мережній моделі потрібно, щоб програміст пам'ятав структуру даних при формуванні запитів.

Оптимальну структуру бази даних складно сформувати, а готову структуру важко змінювати. Якщо вид таблиці зазнає змін, усі відношення з іншими таблицями повинні бути встановлені заново, щоб не порушилася цілісність даних. Складність подібного завдання приводить до того, що програмісти найчастіше скасовують деякі обмеження цілісності заради спрощення додатків.

Реляційні бази даних

У реляційній моделі база даних являє собою централізоване сховище таблиць, що забезпечує безпечний одночасний доступ до інформації з боку багатьох користувачів. У рядках таблиць частина полів містить дані, що стосуються безпосередньо запису, а частина - посилання на записи інших таблиць. Таким чином, зв'язки між записами є невід'ємною частиною реляційної моделі.

Кожен запис таблиці має однакову структуру. Наприклад, у таблиці, що містить опис автомобілів, у всіх записів буде той самий набір полів: виробник, модель, рік випуску, пробіг і т.д. Такі таблиці легко зображувати у графічному вигляді.

У реляційній моделі досягається інформаційна й структурна незалежність. Записи не зв'язані між собою настільки, щоб зміна одного з них стосувалася інших, а зміна структури бази даних не обов'язково приводить до перекомпіляції працюючих з нею додатків.

У реляційних СКБД застосовується мова SQL, що дозволяє формулювати довільні, нерегламентовані запити. Це мова четвертого покоління, тому будь-який користувач може швидко навчитися робити запити. До того ж, існує безліч додатків, що дозволяють будувати логічні схеми запитів у графічному вигляді. Все це відбувається за рахунок жорсткості вимог до продуктивності комп'ютерів. На щастя, сучасні обчислювальні потужності більш ніж адекватні.

У реляційних базах даних можуть бути розходження у реалізації мови SQL, хоча це й не проблема реляційної моделі. Кожна реляційна СКБД реалізує якусь підмножину стандарту SQL плюс набір унікальних команд, що ускладнює завдання програмістам, які намагаються перейти від однієї СКБД до іншої. Доводиться робити нелегкий вибір між максимальною переносимістю й максимальною продуктивністю. У першому випадку потрібно дотримуватися мінімального загального набору команд, підтримуваних у кожній СКБД. У другому випадку програміст просто зосереджується на роботі в даній конкретній СКБД, використовуючи переваги її унікальних команд і функцій.



Поделиться:


Последнее изменение этой страницы: 2021-12-15; просмотров: 79; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.143.45 (0.01 с.)