You are on page 1of 18

Час 4

Напредни бази на податоци - вежби


Е
в
р
о
п Вежбите се одржуваат секој вторник од
с
к
15.30 до 17 часот во лабораторија 235.
и

У
н
и
в
е Предметен асистент:
р
а
з м-р Борко Христов
и
т
е
т
Borko_h2014@gmail.com
Бази на податоци
Нормализација на релациски модел

Откако ќе ги собереме и анализираме собраните


информации за дизјнирање на релацијата, правиме
ER-шема. Од ER-шемата правиме релациска шема.

Релациската шема добиена од ER-шемата може да


содржи недоречености кои треба да се отстранат
пред имплементацијата.

Нормализација, претставува отстранување на тие


лоши страни на почетната шема.

Ако на почетокот, ги воочиме правилно сите потребни


ентитети, атрибути и врски, тогаш нивната
трансформација произведува шема која ги
задоволува сите потребни норми (не е потребно да
направиме нормализација).
Бази на податоци
Нормализација на релациски модел

Но, ако почетната шема е лошо дизајнирана, тогаш


постапките за нормализација се неизбежни во насока
на корекција на направените грешки.

Видови на Нормализација:

1. Првата нормална форма (1NF);


2. Втора нормална форма (2NF);
3. Третта нормална форма (3NF);
4. Подобрена третта нормална форма 3NF која се
вика Бојс-кодова нормална форма (BCNF).
5. Четврта нормална форма (4NF).
6. Петта нормална форма (5NF).
Бази на податоци
Нормализација на релациски модел

Прва нормална форма (1NF)

Релацијата ја задоволува 1NF ако


вредноста на секој атрибут е
еднострука и неделива.
Бази на податоци
Нормализација на релациски модел

Втора форма на нормализација

Релацијата е во втора форма на нормализација


(2NF) ако е во прва нормална форма (1NF) и ако
сите нејзини непримарни (секундарни) клучеви
се зависни од примарниот клуч.
Бази на податоци
Нормализација на релациски модел

Трета форма на нормализација

Релацијата е во трета форма на нормализација


(3NF) ако е во 2NF и ако не содржи транзитивни
зависности.
Бази на податоци
Нормализација на релациски модел

Boyce-Codd нормална форма (BCNF)

Релацијата е во Boyce-Codd нормална форма


(BCNF), ако е секоја нејзина детерминанта
истовремено е и кандидат за клуч.

Ако релацијата е во BCNF, тогаш е и во 2NF и


3NF.

Постојат релации кои се во 3NF, но не се во


BCNF.
Бази на податоци
Нормализација на релациски модел

Четврта нормална форма

Релацијата R е во четврта форма на


нормализација (4NF) ако вреди дека било кога
да постои повеќезначна зависност во R, пр. A
→ B, тогаш сите атрибути B од R се
функционално зависни од A.
Бази на податоци
Нормализација на релациски модел

Задача 1: Да се нормализира базата на податоци


„Prodazba“ преставена со ЕР-шемата и табелите:
 ЕР-шема
prodazba (proizvod_kod, proizvod_naziv,
proizvod_kolicina, proizvod_edinecna merka,
proizvod_cena, proizvod_iznos)
proizvoditel (proizvoditel_kod, proizvoditel_naziv)
kupuvac (kupuvac_kod, kupuvac_naziv)
prodavnica (prodavnica_kod, prodavnica_naziv)
Нормализација на релациски модел
 Табела со аномалии

Аномалии:
 Неедноструки атрибути (пр. во атрибутот производ спаѓаат
назив на производот, назив на производителот и тип на
производот.
 Повторувачки групи (пр. два реда со клуч производ-код 0057/18
два пати се повторуваат).
 Постојат празни редови или редови без содржина на клучот.
Нормализација на релациски модел
 Табела со аномалии

Недостасуваат неколку атрибути како: производител –


назив, продавница – назив, купувач – назив.
Бази на податоци
Нормализација на релациски модел
 Табели со отстранети аномалии - 1NF

Аномалиите се отстранети со: бришење редови,


корекции на полиња или додадени колони.
Бази на податоци
Нормализација на релациски модел
 Табела со 2NF

Нормализацијата 2NF е остварена со помош на


една табела.
Предност: имаме само една релација (табела).
Недостатоци: Некои атрибути (пр.
prodavnica_naziv, kupuvac_naziv, …) непотребно се
повторуваат.
Бази на податоци
Нормализација на релациски модел
 Табела со 2NF

Нормализацијата е остварена со помош на повеќе


табели.
Нормализација на релациски модел
 Табела со 2NF

Врски:
 Продажба  Производ е 1 спрема N, директна
 Продажба  Купувач е 1 спрема N, директна
 Продажба  Продавница е 1 спрема N, директна
 Продажба  Производ  Производител, транзитивна
Нормализација на релациски модел
 Табела со 2NF

Врски:
 Продажба  Производ е 1 спрема N, директна
 Продажба  Купувач е 1 спрема N, директна
 Продажба  Продавница е 1 спрема N, директна
 Продажба  Производ  Производител, транзитивна
Нормализација на релациски модел
 Табела со 3NF

Врски:
 Продажба  Производ е 1 спрема N, директна
 Продажба  Купувач е 1 спрема N, директна
 Продажба  Продавница е 1 спрема N, директна
 Продажба  Производител, е 1 спрема N, директна
ДАЛИ ИМА ПРАШАЊА?

!!!?
СЕКОЕ ПРАШАЊЕ Е ПАМЕТНО!

You might also like