0
Проектиране на качествени БД – нормализация
За да могат да съхранявам голям обем и различна информация базите данни, базите данни трябва да са добре проектирани. Проектирането на една база данни се случва още в началото на създаването на проект и е важно да и се отдели време. В този урок ще разгледаме 2 важни принципа за проектиране на качествени база данни.
Цел на урока: Да проектираме база данни, която е във втора нормална форма.
1. Нормализация на данните – ползи
а) Изключване на повтаряща се информация в таблиците: тъй като в една БД имаме много таблици, които са свързани трябва да си гарантираме, че информацията в различните таблици няма да се дублира.
б) Минимизиране на аномалиите при съхраняване, изтриване и промяна на данните: Тъй като таблиците в една БД са свързани, може да се окаже, че при изтриване или промяна на една таблица е нужно да променим информация и в друга (други) таблици. Това усложнява програмистите и се избягва.
в) Създаване на отворена към бъдещи промени структура: ако решим да добавим нов тип информация в проекта си, трябва да може да добавяме нова таблица.
Ненормализирана таблица – лош стил
2. Първа нормална форма
а) Цел: Всяка колона (всяко поле) от таблицата съдържа само по 1 стойност.
3. Втора нормална форма
а) Цел: Една таблица не съдържа повтаряща се информация.
б) Условие: Когато имаме повече 1 колона за първичен ключ, тогава всяка колона от таблицата трябва да е зависима от целия първичен ключ.
4. Връзка между разделени таблици – когато сме разделили данните в няколко таблици трябва да сме сигурни, че те остават свързани. Това се постига чрез външен ключ.
Например в таблицата със заявки за книги трябва да имаме външен ключ към таблицата за потребители и външен ключ към таблицата за книги.
Задачи за самостоятелна работа:
1. Да се проектира БД за магазини със следната информация.
- Име на магазин
- Адрес
- град
- Стока
- Цена
- Брой служители
- Тип на стока
2. Да се проектира БД за производители на компютри.
- Компания
- Брой служители
- Цена
- Марка компютър
- Процесор
- Бюджет
- Година на производство