Що таке – реляційна база даних?, MySQL, Бази даних, статті

Реляційна база даних – це тіло зв'язаної інформації, що зберігається в
двомірних таблицях. Нагадує адресну або телефонну книгу.

У книзі є велика кількість входів, кожен з яких відповідає
певної особливості. Для кожної такої особливості, може бути кілька
незалежних фрагментів даних, наприклад ім'я, телефонний номер, і адреса.
Припустимо, що ми повинні сформатувати цю адресну книгу у вигляді таблиці з
рядками і стовпчиками. Кожен рядок (звана також записом)
відповідати певній особливості; кожен стовпець міститиме
значення для кожного типу даних – імені, телефонного номера, і адреси
представляється в кожному рядку. Адресна книга могла б виглядати наступним
чином:

 


















Ім'я

Телефон

Адреса

Petrov

3232323

Address1

Ivanov

3636666

Address2

Sidoroff

3434342

Address3


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

Зв'язування однієї таблиці з іншого


Припустимо, що персонажі в нашій першій таблиці (адресної книги) – це
пацієнти лікарні. В іншій таблиці, ми могли б запам'ятати додаткову
інформацію про цих пацієнтів. Стовпці другої таблиці могли б бути помічені як
Пацієнт, Доктор, Страховка, і Баланс.























Пацієнт

Доктор

Страховка

Баланс

Ivanov

Vostrikovr

B.C./B.S.

$272.99

Petrov

Vostrikovr

None

$44.76

Brock

Perepelkin

Health,Inc

$977.47


Багато потужних функцій можна виконати, витягуючи інформацію з цих таблиць
згідно вказаними параметрами, особливо коли ці параметри включають в себе
фрагменти інформації зв'язані в різних таблицях один з одним. Наприклад,
візьмемо – докторів. Припустимо, доктор Perepelkin захотів отримати номери
телефонів всіх своїх пацієнтів. Щоб витягти цю інформацію, він міг би зв'язати
таблицю з номерами телефонів пацієнтів (по адресній книзі) з таблицею яка б
вказувала, який з пацієнтів – його. Хоча, в цьому простому прикладі, він міг би
тримати це в голові і відразу отримувати номери телефонів пацієнтів, ці таблиці
можуть бути дуже великими і дуже складними. Програми реляційної бази
даних розроблялися для того, щоб обробляти великі і складні
сукупності даних такого типу, що, очевидно, є більш універсальним
методом в діловому світі. Навіть якщо б база даних лікарні містила сотні або
тисячі імен – як це можливо й буває на практиці – одна команда SQL могла б
видати докторові інформацію, в якій він потребував, майже негайно.

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

Перерахую основні приємні сторони пакету MySQL-це багатопоточність,
підтримка декількох одночасних запитів, оптимізація зв'язків з приєднанням
багатьох даних за один прохід, записи фіксованої і змінної довжини, ODBC
драйвер в комплекті з ісходником, гнучка система привілеїв і паролів, до 16
ключів в таблиці, кожен ключ може мати до 15 полів. Також є підтримка
ключових полів і спеціальних полів в операторові CREATE, підтримка чисел довгою
від 1 до 4, рядків змінної довжини і міток часу, інтерфейс з мовами C і perl.
Заснована на потоках, швидка система пам'яті, утиліта перевірки і ремонту
таблиці, всі дані зберігаються у форматі ISO8859_1. Всі операції роботи з
рядками не звертають уваги на регістр символів в оброблюваних рядках,
псевдоніми застосовні як до таблиць, так і до окремих колонкам в таблиці, всі
поля мають значення за замовчуванням. INSERT можна використовувати на будь-якому
підмножині полів. Легкість управління таблицею, включаючи додавання та видалення
ключів і полів.

Можна виконувати команди SQL безпосередньо з командного рядка системи unix
або з інтерактивного режиму MySQL. СУБД MySQL має бібліотеку C API. Її можна
використовувати для запитів до бази даних, вставки даних, створення таблиць і т.п.

C API підтримує всі функції MySQL. Мова perl підтримується відразу двома
способами:


Також доступний 32-бітний ODBC драйвер для MySQL. Він дозволяє запитувати і
отримувати дані з інших джерел з підтримкою ODBC.

Окрім технічних подробиць можна додати, що MySQL працює як на
Unix, так і на платформі Windows 95/98, він дуже простий і зручний в роботі.

Але зрозуміти наскільки проста і зручна робота з MySQL на PHP можна тільки побачивши
навіч практику. Ось дуже цікавий, на мій погляд, приклад знайдений мною.

Тим же хто піде далі пропоную прочитати дуже докладну інструкцію з
встановлення та запуску MySQL.

І щоб підвести підсумок, хотілося б розповісти одну історію. Однією невеликий
фірмі було потрібно зробити на сайті базу даних по товарах. Людина, якій
доручили зробити базу даних, створив її на Delphi. Так ось, коли прийшов час
розміщувати базу в мережі, виявився дуже неприємний факт. Всі ISP працюють на
Unix, відповідно для розміщення подібної бази потрібно ставити у провайдера
свій комп'ютер і платити, в середньому, близько 50 у.о. за хостинг. У разі ж якщо
СУБД зроблена під MySQL, то платити доведеться лише за мегабайти:

MySQL – це зручно і практично. А швидкість роботи просто заворожує. Так
що не втрачайте час даремно, за цією технологією – майбутнє.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*