Для програміста або технологічного ентузіаста концепція бази даних - це те, що дійсно можна прийняти як належне. Можливо, ви читали керівництво Крістіана про те, як MySQL працює для WordPress або моя стаття про використання браузера баз даних SQLite щоб дізнатися, як використовувати просту базу даних. Однак для багатьох людей сама концепція бази даних трохи чужа. Виклики SQL, запити, таблиці, записи, ключі - всі ці терміни і багато іншого складають область проектування бази даних і управління базою даних, і не все так просто.
З іншого боку, концепція реляційної бази даних - у найпростішій формі - не повинна бути надто складною. Перш ніж припустити, що це не те, що вам потрібно знати, подумайте, що приблизно кожен день вашого життя ви взаємодієте з базою даних будь-якої форми. Коли ви берете гроші з банкомату, купуєте предмет за допомогою картки постійного покупця або входите в тренажерний зал, ви фактично заповнюєте деякі таблиці або таблиці всередині бази даних.
Отже, чому ви повинні піклуватися? Що ж, тому що, як тільки ви оціните роботу бази даних і те, як дані, які здаються повністю незалежними, можуть бути співвіднесені з іншими даними, ви почнете по-справжньому цінувати - і, будемо сподіватися, бути більш обережними - те, як ці з'єднання можуть переслідувати вас.
Як ця інша компанія з виробництва одягу дізналася, що відправила вам каталог формального одягу менш ніж через два тижні після того, як ви тільки що купили костюм? Як автомобільний дилер дізнався через три роки після покупки автомобіля, що гарантія майже закінчилася і відправив вам пропозицію розширеної гарантії? Це все про запити, кореляції між даними і про результати. Це магія бази даних.
Як працює база даних
Отже, якщо ви є адміністратором бази даних або програмістом, який може написати інструкцію SQL із заплющеними очима, цей пост, ймовірно, втомить вас до сліз. Але якщо ви абсолютно новачок в концепції баз даних або вам цікаво, як вони можуть стати частиною вашого життя, навіть якщо ви про це не знаєте, тоді ця стаття для вас.
Щоб пояснити, як працює база даних, я збираюся використовувати Excel. Excel є відмінним інструментом для створення електронних таблиць, але електронна таблиця - це просто набір з того, що називається «таблицями» в базі даних. Таблиця - це саме те, на що це схоже, таблиця, заповнена даними, впорядкованими по полю.
У нашому прикладі ми будемо прикидатися, що це база даних спортзалу. У цьому вигаданому спортзалі є членство, і ми можемо зробити вигляд, що єдина таблиця вище - це інформація, яка заповнюється всякий раз, коли новий учасник реєструється в клубі здоров'я. Бере участь у процесі реєстрації, так що клуб може допомогти вам знайти нові способи управління своєю вагою і здоров'ям. Насправді, в оздоровчому клубі дійсно є відмінне кафе зі здоровою їжею в меню, учасники можуть перекусити чим-небудь здоровим відразу після тренування або випити напій прямо перед цим.
Оскільки це дуже високотехнологічний клуб, вони також додали ще одну таблицю в свою базу даних. У наступній таблиці додаються нові дані щоразу, коли учасник купує щось у кафе здорової їжі. Ця транзакція (ще один термін бази даних для додавання або віднімання запису) відбувається прямо в реєстрі. Ви помітите, що між двома таблицями є подібні дані, наприклад, назва члена. Там також унікальні дані, такі як ідентифікатор транзакції і дата і час.
Унікальні дані допомагають зберегти всю інформацію організованою, тоді як загальні дані між усіма таблицями - це те, що допомагає програмістам, так би мовити, з'єднувати точки. Я покажу вам деяку логіку, яка вступає в це з хвилину, але спочатку клуб повинен додати в свою постійно зростаючу базу даних. Очевидно, що коли члени приходять в клуб або залишають клуб, їм потрібно використовувати свій клубний ідентифікатор для «пропуску» входу і виходу за допомогою цифрового сканера. Ця дія заповнює ще одну таблицю. Ця нова таблиця просто відстежує, коли учасник зареєструвався в клубі здоров'я.
Отже, ось воно. Дуже проста база даних, яку збирає клуб здоров'я. Три основні таблиці з дуже унікальним використанням. Один з них - це список передплати на членство, інший - запис покупок в магазині оздоровчого клубу, а третій - час входу і виходу кожного учасника. Це все, здавалося б, не пов'язана інформація, вірно?
Що ж, магія реляційної бази даних полягає в тому, що ви можете витягувати інформацію з кожної з цих таблиць, а потім зіставляти їх разом, щоб отримати дійсно цікаві дані. Наприклад, скажімо, клуб хоче з'ясувати, яку їжу їдять найважчі члени в кафе. Вони могли б легко це з'ясувати, виконавши «запит» до бази даних, запросивши в таблиці реєстрації членів вагу членів більш певної ваги - скажімо, 200 фунтів. Потім ви попросили б стіл покупки в кафе для покупок тих людей, які важать більше 200 фунтів.
Коли ви виконуєте такий «запит» до бази даних, він надає результати у вигляді «часової» нової таблиці. Ось як виглядає така нова таблиця. Це список того, що найважчі члени клубу купили, щоб поїсти і випити в кафе здоров'я клубу.
Мова запитів насправді досить проста для чогось такого. Наприклад, в Microsoft Access, якщо таблиця членства називається «членство», а таблиця покупок в кафе - «покупка», запит може виглядати наступним чином: «ОБЕРІТЬ purchase.member, purchase.description, purchase.date ВІД купівлі WHERE членство.name = = shopping.name AND members.weight > 200»
Тепер, коли ви починаєте переглядати інформацію, зібрану в клубі здоров'я, ви можете побачити, що може з'ясувати клуб. Люди, які реєструються в певний час дня, схильні купувати більше в кафе? Люди певних вікових груп мають тенденцію реєструватися частіше в певні часи дня? Вся ця інформація допоможе бізнесу реалізувати такі речі, як рекламні або маркетингові кампанії.
Інші типи баз даних
Тепер, коли ви знаєте, як працює база даних, з якими базами даних ви можете зіткнутися в повсякденному житті? Що ж, коли б ви не відвідували більшість блогів або веб-сайтів і залишали коментарі або входили в систему, ви взаємодієте з базою даних. У разі WordPress база даних виглядає приблизно так.
Як ви можете бачити, існує безліч таблиць - у даному випадку 15 - для зберігання всіх видів інформації, таких як інформація про користувача, інформація про публікації, коментарі та багато іншого. Це основа блогу WordPress, і багато інших просунутих сайтів мають схожі бази даних.
Коли ви відкриєте одну з цих таблиць, наприклад, таблицю повідомлень, ви побачите, що вся інформація, що відображається на реальній веб-сторінці, зберігається прямо в базі даних.
Якщо ви взагалі геймер, ви, ймовірно, взаємодіяли з базою даних. Деякі ігри більшою мірою залежать від внутрішньої бази даних, і, ймовірно, найбільш ресурсомісткими іграми є багатокористувацькі онлайн-ігри. Наприклад, якщо ви знайомі з величезною онлайн-космічною грою OGame, це один з прикладів такої онлайн-гри, яка сильно залежить від бази даних для запуску шоу. Просто список гравців для будь-якого з світів чітко викладений, як і слід було очікувати в будь-якій таблиці бази даних.
В ігрових базах зберігається все: від оцінок користувачів і досягнень до поточної статистики ігрових предметів або взаємозв'язків між персонажами, об'єктами і багатьом іншим. Багато ігор були б неможливі, якби не фонова база даних для запуску шоу.
Ще одне місце, де ви напевно зустрінете базу даних, це коли ви здійснюєте покупки онлайн. Подивіться результати пошуку в хорошому форматі, перераховані на Amazon після того, як ви виконали запит на пошук продукту?
Так, вони були витягнуті з бази даних, використовуючи запит, подібний до прикладу, який я показав вище (хоча, звичайно, трохи складніше). І коли ви вирішите рухатися далі з покупкою Amazon, ви можете бути впевнені, що ваші дані та історія покупок заповнять ще одну таблицю у величезній базі даних Amazon.
Інше місце, про яке ви можете не підозрювати, залежить від бази даних - це реєстр вашого комп'ютера. Насправді це називається «ієрархічною» базою даних, тому що, як ви можете бачити, переглядаючи реєстр, інформація зберігається більшою мірою ієрархії, ніж у реляційному форматі. Однак передумова така ж.
Люди можуть фактично писати запити для вилучення інформації з системного реєстру, яка виглядає так само, як запити до бази даних, за винятком того, що використовувана «таблиця пошуку» - це KceName, а «ValueName» - це фактичні дані, що зберігаються в базі даних для цього ключа.
Таким чином, вам насправді не потрібно знати, як програмувати базу даних або навіть як її використовувати, але ви повинні знати про обсяги даних, які ці бази даних можуть зберігати, і про те, як легко їх можна використовувати для зіставлення інформації, яка здається дуже Ви можете бути уважні до типу інформації, якої ви можете поділитися (або не поділитися) з бізнесом.
Чи допомогло це пояснення дизайну бази даних зрозуміти, як вони працюють у вашому житті? Ви здивовані, як легко поєднати точки для речей, які ви робите кожен день? Поділіться своїми думками про бази даних у розділі коментарів нижче.















