Що таке реляційна база даних? [зачинено]


9

Я здебільшого системний адміністратор, і я безпосередньо не працюю з базами даних, крім їх встановлення, налаштування облікових записів, надання пільг тощо. Я зрозумів, що якщо Бос підійшов до мене і запитав: "Що таке реляційна база даних?" Я, мабуть, не міг дати задовільної відповіді ... Я, можливо, щось передумаю про збереження та впорядкування даних за категоріями, до яких можна запитувати за допомогою спеціальної мови програмування (наприклад, SQL).

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


2
Не впевнений, що сервер за замовчуванням - це правильне місце для цього питання, корисне, хоча і є. Можливо DBA.SE або Programmers.SE .
Орблінг

1
Чому ваш начальник запитав таке питання і, що ще важливіше, яке воно стосується системного адміністрування?
Джон Гарденєр

1
@John Gardeniers, Це може належати тут, тому що багато адміністраторів системи носять капелюх "адміністрування баз даних", тобто вони добре розуміють, як працюють RDBMS. Щодо того, чому начальники задають їм питання, хто знає, але вміння чітко спілкуватись поняттями - це добре, що ІМО.
Зоредаче

1
@Zoredache, на роботі я ношу багато шапок. Це не означає, що вони всі на тему для SF.
Джон Гарденєр

Наведені нижче відповіді дуже хороші, але майте на увазі, що ви можете мати нереляційні бази даних (наприклад, btrieve) та все ж підтримувати зв’язки між нормалізованими даними завдяки правильній логіці програми.
Марк Хендерсон

Відповіді:


16

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

Нормалізація - це акт нескладних відносин: "Зробіть все максимально просто, але не простіше". (Алан Перліс) Іноді "... але не простіше" означає, що ми не зберігаємо речі повністю нормалізованими, тому що "простіші" виявляються складнішими. (Ви можете отримати стан з поштового індексу, але навіщо це турбувати?)


10

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

Зверніть увагу, що не всі бази даних, розміщені в RDBMS, належним чином нормалізовані. Компроміси робляться для виконання та інших причин.

Дивіться статтю про нормалізацію бази даних. http://en.wikipedia.org/wiki/Database_normalization


4

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

Друга полягає в тому, що RDBMS реалізують ідею транзакції, властивості ACID

  • атомність,
  • послідовність,
  • ізоляція та
  • довговічність

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


3

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


1

База даних реляційних даних - це інструмент для зберігання та отримання даних, що зберігаються у реляційній моделі.

Реляційна модель даних будується відповідно до невеликої кількості (залежно від того, яку книгу ви читали, 4 або 5 правил), яка забезпечує доступ до даних послідовно, що дозволяє перевірити правильність конструкції та що дозволяє система управління базами даних (СУБД), щоб зробити більшу частину роботи з швидкого отримання даних. Він також надає інструменти для формального документування структури даних - реалізація бази даних по суті реалізує більшу частину документації.

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

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

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


1

100% не технічна відповідь:

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

Припустимо, база даних для зоомагазинів. У магазині є предмети, у нього є клієнти, і у нього продажі. Якби ми поставили це в Excel, ви могли мати це для стовпців:

Назва клієнта | Номер телефону клієнта | Адреса клієнта | Куплений предмет | Ціна | Дата

Перший клієнт, місіс Сміт, купує корм для котів:

Назва клієнта | Номер телефону клієнта | Адреса клієнта | Куплений предмет | Ціна | Дата
Місіс Сміт | 123-555-1234 | 10 Головна вул Корм для котів | $ 15 | 2011-03-11

І тоді місіс Сміт хотіла б також іграшку для котів:

Назва клієнта | Номер телефону клієнта | Адреса клієнта | Куплений предмет | Ціна | Дата
Місіс Сміт | 123-555-1234 | 10 Головна вул Корм для котів | $ 15 | 2011-03-11
Місіс Сміт | 123-555-1234 | 10 Головна вул Котяча іграшка | $ 1 | 2011-03-11

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

З базою даних у нас може бути три окремі об'єкти: Клієнти (з їх інформацією), Товари (з описом та ціною) та Продаж (зв’язок між покупцями та предметами, з датою та кількістю).


Також це дуже важливо згадати: pinaldave.com/blogfolder/dilbert5.jpg
MPelletier

1

Тут є кілька хороших технічних відповідей. Але мій начальник не зрозумів би жодного з них!

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

І приклад - ".... наприклад, ваше ім'я посилається на вашу адресу, що в свою чергу може посилатися на ваше місто."

Слідом за діловими перевагами, про які він піклується, - «Перевага цього в тому, що це набагато дешевше писати код, щоб отримати складні дані, наприклад,« знайди мене всіх людей, які живуть у Сіетлі, прізвище якого - Сміт ». Також реляційні бази даних дуже надійні та швидкі. "

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


0

Мій начальник - DBA, але, не кажучи про мирян:

Подумайте про дві таблиці в Excel та функцію LOOKUP для посилання на елементи в одній таблиці до іншої. Тепер масштабуйте, щонайменше, в 10 разів.

Це приблизно на комп’ютерному рівні деяких людей і працюють.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.