Програмиране с ASP C#

Учебен сайт

0

Проектиране на качествени БД – нормализация

За да могат да съхранявам голям обем и различна информация базите данни, базите данни трябва да са добре проектирани. Проектирането на една база данни се случва още в началото на създаването на проект и е важно да и се отдели време. В този урок ще разгледаме 2 важни принципа за проектиране на качествени база данни.

Цел на урока: Да проектираме база данни, която е във втора нормална форма.

1. Нормализация на данните – ползи

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

2.    Да се проектира БД за производители на компютри.

  • Компания
  • Брой служители
  • Цена
  • Марка компютър
  • Процесор
  • Бюджет
  • Година на производство