Моделиране на данни: концептуално, логическо и физическо
⚡ Умно обобщение
Моделирането на данни изгражда структуриран визуален план за това как обектите от данни се свързват в база данни, прилагайки правила, конвенции за именуване и целостта. Този ресурс обяснява трите основни нива – концептуално, логическо и физическо – и показва как всяко ниво ръководи решенията за проектиране и внедряване.

Какво е моделиране на данни?
Моделиране на данни (моделиране на данни) е процесът на създаване на модел на данни за данните, които ще се съхраняват в база данни. Моделът на данните е концептуално представяне на обекти от данни, връзките между тези обекти и правилата, които ги управляват. Чрез визуализиране на данните по този начин, екипите могат да прилагат бизнес правила, регулаторни съответствие и правителствени политики, преди да бъдат създадени каквито и да е таблици.
Моделите на данни също така осигуряват съгласуваност в конвенциите за именуване, стойностите по подразбиране, семантиката и сигурността, като същевременно поддържат цялостното качество на данните. Диаграмата по-долу показва как трите основни слоя на моделиране на данни се съчетават при нарастващи нива на детайлност.
Модели на данни в СУБД
- Модел на данни е коремtract модел, който организира описанието на данните, семантиката на данните и ограниченията за консистентност, прилагани към тези данни. Моделът набляга на какво данните са необходими и как Той трябва да бъде организиран, а не какви операции ще се извършват върху него. Представете си модела на данните като строителен план на архитект: той задава концептуалната структура и връзката между елементите от данните много преди базата данни да бъде физически създадена.
Две нотации обикновено се използват като техники за моделиране на данни:
- Модел на връзката между обекти (ER). — графична нотация, която изобразява обекти, атрибути и връзките между тях.
- UML (Унифициран език за моделиране) — по-широк визуален език, който поддържа диаграми на класове, подходящи за проектиране на структури от данни.
Този урок за моделиране на данни е най-подходящ за начинаещи, както и за опитни професионалисти, които се нуждаят от опресняване на концептуалните, логическите и физическите слоеве.
Защо да използвате модел на данни?
Преди да разгледаме всеки слой, е полезно да разберем бизнес стойността, която предоставя един надежден модел на данни. Основните цели на използването на модел на данни са:
- Гарантира, че всички обекти с данни, изисквани от базата данни, са точно представени. Пропускането на данни води до грешни отчети и неправилни резултати.
- Помага за проектирането на базата данни на концептуално, логическо и физическо ниво.
- Дефинира релационните таблици, първичните и външните ключове и съхранените процедури, от които базата данни ще се нуждае.
- Предоставя ясна картина на базовите данни, така че разработчиците на бази данни да могат да изградят физическа база данни с увереност.
- Помага за ранното идентифициране на липсващи и излишни данни, преди дефектите да се разпространят надолу по веригата.
- Въпреки че първоначалното създаване е трудоемко и отнема много време, то прави бъдещите подобрения и поддръжка на ИТ инфраструктурата по-евтини и бързи.
Типове модели на данни в СУБД
Видове модели на данни: Съществуват три основни типа модели на данни – концептуални, логически и физически – и всеки от тях има специфична цел. Заедно те описват данните и как се съхраняват, и задават връзките между елементите от данните.
- Концептуален модел на данни: Определя КАКВО системата съдържа. Обикновено се създава от бизнес заинтересовани страни и архитекти на данни, за да организира, обхване и дефинира бизнес концепции и правила.
- Логически модел на данни: Определя КАК Системата трябва да бъде внедрена, независимо от СУБД. Обикновено се създава от архитекти на данни и бизнес анализатори, за да се разработи техническа карта на правилата и структурите от данни.
- Физически модел на данни: Описва КАК Системата ще бъде реализирана с помощта на специфична СУБД. Тя обикновено се създава от администратори на бази данни и разработчици и представлява действителната имплементация на базата данни.

Концептуален модел на данни
A Концептуален модел на данни е организиран поглед върху концепциите на базата данни и техните взаимовръзки. Целта на създаването на концептуален модел на данни е да се установят обекти, техните атрибути и взаимовръзките между тях. На това ниво се улавят много малко подробности за действителната структура на базата данни. Заинтересованите страни в бизнеса и архитектите на данни обикновено притежават този артефакт.
Трите основни принципа на концептуалния модел на данни са:
- Entity: Нещо от реалния свят.
- Атрибут: Характеристики или свойства на даден обект.
- Връзка: Зависимост или асоциация между две образувания.
Пример за модел на данни:
- Клиент и Продукт са две единици. Номерът и името на клиента са атрибути на единицата Клиент.
- Името и цената на продукта са атрибути на обекта „Продукт“.
- Продажбата е връзката между Клиента и Продукта.
Характеристики на концептуален модел на данни
- Предлага цялостно организационно покритие на бизнес концепции.
- Проектиран и разработен за бизнес аудитория.
- Изграден независимо от хардуерни спецификации, като например капацитет за съхранение на данни или местоположение, и софтуерни спецификации, като например доставчик и технология на СУБД. Фокусът е върху представянето на данните такива, каквито потребителят ще ги види в „реалния свят“.
Концептуалните модели на данни — понякога наричани домейн модели — създават общ речник за всички заинтересовани страни, като установяват основни понятия и обхват.
Логически модел на данни
- Логически модел на данни дефинира структурата на елементите от данните и установява връзките между тях. Той добавя допълнителна информация към елементите на концептуалния модел на данните и осигурява основата, върху която евентуално ще се изгради Физическият модел на данните, въпреки че структурата на моделиране остава независима от СУБД.
На това ниво на моделиране на данни, първичните или вторичните ключове все още не са финализирани. Вие проверявате и коригирате детайлите на конектора, които са били зададени по-рано за връзки, и прецизирате кардиналностите.
Характеристики на логически модел на данни
- Описва нуждите от данни за един проект, но може да се интегрира с други логически модели на данни в зависимост от обхвата на проекта.
- Проектиран и разработен независимо от СУБД.
- Атрибутите на данните носят типове данни с точна точност и дължина.
- Нормализацията обикновено се прилага до третата нормална форма (3НФ).
Физически модел на данни
A Физически модел на данни описва специфична за базата данни имплементация на модела на данните. Тя предлага абстрактен подход към базата данни.tracи помага за генерирането на схемата директно, благодарение на богатите метаданни, които съдържа. Физическият модел на данните също помага за визуализиране на структурата на базата данни чрез репликиране на ключове на колони, ограничения, индекси, тригери и други RDBMS характеристики.
Характеристики на физическия модел на данни
- Описва нуждите от данни за един проект или приложение, въпреки че може да бъде интегриран с други физически модели на данни въз основа на обхвата на проекта.
- Дефинира релации между таблици, които адресират кардиналността и null-възможността на всяка релация.
- Разработен за конкретна версия на СУБД, местоположение, оформление за съхранение на данни или технология, използвана в проекта.
- Колоните съдържат точни типове данни, дължини и стойности по подразбиране.
- Първичните и външните ключове, изгледите, индексите, профилите за достъп и оторизациите са изрично дефинирани.
Концептуален срещу логически срещу физически модел на данни
След като разберете всеки слой поотделно, най-лесният начин да запазите разликите е да ги сравните едно до друго. Таблицата по-долу обобщава фокуса, собствениците и нивото на детайлност на всеки етап.
| Аспект | Идеен | логичен | Физически |
|---|---|---|---|
| Цел | Дефинирайте КАКВО съдържа системата | Дефинирайте КАК системата трябва да работи, независимо от СУБД | Дефинирайте КАК системата е внедрена в конкретна СУБД |
| Публика | Заинтересовани страни в бизнеса, архитекти на данни | Архитекти на данни, бизнес анализатори | DBA, разработчици |
| Ниво на детайлност | Обекти, атрибути, взаимоотношения от високо ниво | Типове данни, нормализация, атрибути | Таблици, колони, ключове, индекси, тригери |
| Дефинирани ключове | None | Концептуални първични и външни ключове | Конкретни първични, външни и сурогатни ключове |
| Зависимост от СУБД | Независим | Независим | Обвързан с конкретна СУБД |
Предимства и недостатъци на модела на данни
Предимства на модела на данни:
- Основната цел на модела на данни е да гарантира, че обектите на данни, предлагани от функционалния екип, са представени точно.
- Моделът на данните е достатъчно подробен, за да бъде използван като план за изграждане на физическа база данни.
- Информацията в модела на данните може да се използва за дефиниране на връзките между таблици, първични и външни ключове и съхранени процедури.
- Моделът на данни помага на бизнеса да комуникира последователно в рамките на организациите и между тях.
- Моделът на данни помага за документирането на картата на даннитеpingв ETL процеса.
- Това помага да се разпознаят правилните източници на данни за попълване на модела.
Недостатъци на модела на данни:
- За да разработите модел на данни, трябва да разберете физическите характеристики на съхраняваните данни.
- Навигационните системи, изградени върху модел на данни, могат да доведат до сложна работа по разработване и управление на приложения, което изисква задълбочени познания в областта.
- Дори малка промяна в структурата може да изисква модификации в цялото приложение.
- Няма универсален език за манипулиране на данни за всички СУБД, така че моделите често трябва да бъдат адаптирани към всяка платформа.
