База данни | система за съхраняване на данни и грижа за тях
Базата данни е система за съхраняване на данни (всякакъв вид информация) и грижа за тях.
Машината за бази данни може да сортира, променя или обслужва информацията в базата данни. Самата информация може да се съхранява по много различни начини; преди цифровите компютри са се използвали картотеки, печатни книги и други методи. Сега повечето данни се съхраняват в компютърни файлове.
Системата за бази данни е компютърна програма за управление на електронни бази данни. Един много прост пример за система от бази данни е електронна адресна книга.
Данните в базата данни са организирани по някакъв начин. Преди да се появят компютрите, данните за служителите често са се съхранявали в картотеки. Обикновено за всеки служител е имало по една карта. В картата можеше да се намери информация като датата на раждане или името на служителя. Една база данни също има такива "карти". За потребителя картата ще изглежда по същия начин, както в старите времена, само че този път ще бъде на екрана. За компютъра информацията върху картата може да се съхранява по различни начини. Всеки от тези начини е известен като модел на база данни. Най-често използваният модел на база данни се нарича релационен модел на база данни. Той използва релации и множества за съхраняване на данните. Обикновените потребители, говорейки за модела на базата данни, няма да говорят за релации; вместо това те ще говорят за таблици на базата данни.
Използване на системите за бази данни
Използването на системите за бази данни включва:
- Те съхраняват данни и предоставят възможности (инструменти) за търсене на конкретни записи в даден набор от данни.
- В тях се съхранява специална информация, която се използва за управление на данните. Тази информация се нарича метаданни и не се показва на всички, които разглеждат данните.
- Те могат да решат случаи, в които много потребители искат да получат достъп (и евентуално да променят) до едни и същи записи на данни.
- Управляват правата за достъп (кой има право да вижда данните, кой може да ги променя).
- Когато има много потребители, които задават въпроси към базата данни, отговорите на въпросите трябва да се получават по-бързо. По този начин лицето, което последно е задало въпрос, може да получи отговор в разумен срок.
- Някои атрибути са по-важни от други и могат да се използват за намиране на други данни. Това се нарича индексиране. Един индекс съдържа всички важни данни и може да се използва за намиране на други данни.
- Те гарантират, че данните винаги имат контекст. Има много различни правила, които могат да се добавят, за да се каже на системата за бази данни дали данните имат смисъл. Едно от правилата може да гласи, че ноември има 30 дни. Това означава, че ако някой иска да въведе 31 ноември като дата, тази промяна ще бъде отхвърлена.
Промяна на данните
В базите данни някои данни се променят от време на време. Възможно е да възникнат проблеми, когато данните се променят; например, може да е възникнала грешка. Грешката може да направи данните безполезни. Системата за бази данни преглежда данните, за да гарантира, че те отговарят на определени изисквания. Тя прави това, като използва транзакция. В базата данни има две точки във времето - времето преди промяната на данните и времето след промяната на данните. Ако при промяната на данните нещо се обърка, системата за бази данни просто връща базата данни в състоянието преди промяната. Това се нарича връщане назад. След като всички промени са извършени успешно, те се предават. Това означава, че данните отново придобиват смисъл; извършените промени вече не могат да бъдат отменени.
За да могат да направят това, базите данни следват принципа ACID:
- Всички. Или всички задачи от дадено множество (наречено транзакция) са изпълнени, или нито една от тях не е изпълнена. Това е известно като атомичност.
- Завършете. Данните в базата данни винаги имат смисъл. Няма наполовина попълнени (невалидни) данни. Това е известно като последователност.
- Независим. Ако много хора работят върху едни и същи данни, те няма да се виждат (или да си влияят). Всеки от тях има свой собствен поглед върху базата данни, който е независим от останалите. Това е известно като изолация.
- Изпълнено. Транзакциите трябва да бъдат предадени, когато са завършени. Веднъж извършени, те не могат да бъдат отменени. Това е известно като трайност.
Модел на базата данни
Съществуват различни начини за представяне на данните.
- Обикновени файлове (наречени плоски файлове): Това е най-простата форма на система от бази данни. Всички данни се съхраняват във файл в обикновен текст. Всяка част от информацията може да бъде отделена с нов ред или запетая и т.н.
- Йерархичен модел: Данните са организирани като дървовидна структура. Интересните данни се намират в листата на дървото. Връзките между записите на данни са такива, че някои записи са пряко зависими от други записи.
- Модел на мрежата: Използвайте записи и множества за съхранение на данните. Подобен на йерархичния модел, но има много по-сложна структура.
- Релационен модел: При него се използва теория на множествата и логика на предикатите. Той е широко използван. Данните изглеждат така, сякаш са организирани в таблици. След това тези таблици могат да бъдат обединени, така че от тях да се избират прости заявки.
- Обектно-ориентиран модел: Данните се представят под формата на обекти, както се използва в обектно-ориентираното програмиране. Те могат да взаимодействат директно с използвания език за ООП, тъй като и двата имат едно и също вътрешно представяне на данните.
- Обектно-релационен модел: Това е хибрид между обектно-ориентирания модел и релационния модел.
- Модел NoSQL: Това е нов вид модел на база данни, който все повече се използва в индустрията за големи данни и уеб приложения в реално време. Данните в този модел се съхраняват като двойки ключ-стойност без строга йерархия, както при другите модели. Системите NoSQL се наричат още "Не само SQL", тъй като не позволяват използването на езици за заявки, подобни на структурирания език за заявки.
Начини за организиране на данните
Както и в реалния живот, едни и същи данни могат да се разглеждат от различни гледни точки и да се организират по различни начини. Има различни неща, които трябва да се вземат предвид при организирането на данните:
- Всеки елемент от данните трябва да се съхранява възможно най-малко пъти. Представете си, че неомъжена жена е вписана в окръжните регистри, в Държавния департамент за моторни превозни средства, във Федералния департамент за социално осигуряване и в Департамента за международни паспорти. Ако тя се омъжи и реши да смени името си, всички тези отдели трябва да бъдат уведомени. Ако всички отдели са свързани и името ѝ се съхранява само на едно място, актуализирането е лесно.
- Ако данните се съхраняват в няколко различни бази данни, те могат да си противоречат.
- Този проблем прави намирането на данни по-бавно. Ако има много данни, този проблем със съхраняването на една част от данните на много места ще отнеме много място. В нашия пример имаше четири бази данни за едно лице. Това ще означава осем направени промени, ако втори човек има абсолютно същия проблем.
- Ако имате този проблем, за решаването му е разработен метод, наречен нормализация на базата данни. Понастоящем съществуват шест нормални форми. Това са начини да се ускорят някои бази данни и данните да заемат по-малко място.
Въпроси и отговори
В: Какво представлява базата данни?
О: Базата данни е система за съхраняване на данни (всякакъв вид информация) и грижа за тях. Тя може да се използва за сортиране, промяна или обслужване на съхраняваната в нея информация.
В: Как хората са съхранявали данни преди цифровите компютри?
О: Преди цифровите компютри за съхранение на данни са се използвали картотеки, печатни книги и други методи.
В: Какво представлява системата за бази данни?
О: Системата за бази данни е компютърна програма за управление на електронни бази данни. Тя може да се използва за организиране на данните по някакъв начин.
В: Как изглежда една "карта" в старомодната картотека?
О.: В старомодния шкаф за документи обикновено има по една карта за всеки служител с информация като датата на раждане или името му.
В: Как изглежда съвременният еквивалент на тази "карта"?
О: Съвременният еквивалент на тази "карта" се появява на екрана, а не във физическа форма.
В: Какво представлява моделът на базата данни?
О: Моделът на базата данни се отнася до различните начини, по които информацията на "картата" може да се съхранява от компютъра. Най-често използваният модел се нарича релационен модел на база данни, който използва релации и множества за съхраняване на данни.
В: Как нормалните потребители се отнасят към тези модели, когато говорят за тях? О: Обикновените потребители обикновено наричат тези модели "таблици на базата данни", а не използват технически термини като релации или множества, когато говорят за тях.