Урок за проектиране на база данни в СУБД: Научете моделиране на данни
⚡ Умно обобщение
Проектирането на бази данни в СУБД е съвкупността от процеси, които структурират, разработват и поддържат корпоративни системи за данни, създавайки логически и физически модели, които поддържат данните съгласувани, съхранението ефективно и базите данни лесни за заявки и поддръжка във времето.

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

.png)