| Version 3 (modified by , 2 months ago) ( diff ) |
|---|
Нормализација на базата
Нормални форми по релации
| Релација | Клуч(еви) | Функциски зависности (ФЗ) | Нормална форма |
|---|---|---|---|
| Track(track_id, name, album_id, media_type_id, genre_id, composer, milliseconds, bytes) | track_id | track_id → {name, album_id, media_type_id, genre_id, composer, milliseconds, bytes} | BCNF |
| Album(album_id, title, artist_id) | album_id | album_id → {title, artist_id} | BCNF |
| Artist(artist_id, name) | artist_id | artist_id → name | BCNF |
| Genre(genre_id, name) | genre_id | genre_id → name | BCNF |
| MediaType(media_type_id, name) | media_type_id | media_type_id → name | BCNF |
| Price(price_id, value, date, track_id) | price_id | price_id → {value, date, track_id} | BCNF (ако price_id е surrogate); 3NF ако клуч е (track_id, date) |
| InvoiceLine(invoice_line_id, invoice_id, track_id, quantity) | invoice_line_id (и можен (invoice_id, track_id)) | invoice_line_id → {invoice_id, track_id, quantity}; (invoice_id, track_id) → quantity | BCNF (со surrogate); 3NF (ако композитен клуч) |
| Invoice(invoice_id, customer_id, invoice_date, billing_address, billing_city, billing_state, billing_country, billing_postal_code, total) | invoice_id | invoice_id → {customer_id, invoice_date, billing_address, billing_city, billing_state, billing_country, billing_postal_code, total} | BCNF |
| Customer(customer_id, first_name, last_name, company, support_rep_id, address, city, state, country, postal_code, phone, fax, email) | customer_id | customer_id → {first_name, last_name, company, support_rep_id, address, city, state, country, postal_code, phone, fax, email} | BCNF |
| Employee(employee_id, first_name, last_name, title, reports_to, birth_date, hire_date, address, city, state, country, postal_code, phone, fax, email) | employee_id | employee_id → {first_name, last_name, title, reports_to, birth_date, hire_date, address, city, state, country, postal_code, phone, fax, email} | BCNF |
| Playlist(playlist_id, name) | playlist_id | playlist_id → name | BCNF |
| PlaylistTrack(playlist_track_id, playlist_id, track_id) | playlist_track_id (и можен (playlist_id, track_id)) | playlist_track_id → {playlist_id, track_id}; (playlist_id, track_id) → playlist_track_id | BCNF |
Заклучок
- Сите релации се барем во 3-та нормална форма (3NF).
Attachments (3)
- Fianl Diagram Light.png (193.1 KB ) - added by 2 months ago.
- explain_plan.txt (10.5 KB ) - added by 5 weeks ago.
- explain_plan2.txt (10.4 KB ) - added by 4 weeks ago.
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.
