E N D
ERD Články v odborném časopise
Zadání Vytvořte databázi pro odborný časopis. Požadavkem organizace je evidence placených článků – public relation, inzerce, reklamy - (název, anotace, klíčová slova, vědní obor, typ příspěvku, rozsah, cena), jejich autorů a zadavatele (plátce, se základními vlastnostmi). Příspěvek může napsat více jak jeden autor, zadavatel příspěvku je jediná organizace. Požadavkem pro databázi je vyhledání příspěvků dle zadaných klíčových slov, dle zadavatele, dle autora. Vyhledání v případě úspěchu by mělo hledajícímu poskytnout informaci, ve kterém čísle (a ročníku) časopisu hledaný článek vyšel a na kterých stránkách, jaký měl rozsah a kolik bylo účtováno za jeho zveřejnění. Při vyhledání podle zadavatele by měly být vypsány všechny články, které zadavatel v časopise vydal s uvedením čísla časopisu a na jakých stránkách a celkový součet částek, který zadavatel za vydané příspěvky zaplatil.
Jaké jsou entity? • Článek • Autor • Časopis (číslo, ročník) • Zadavatel
Nyní sepíšeme atributy jednotlivých entit – entita „článek“ Článek ID_ČLÁNEK NÁZEV ANOTACE KLÍČ.SLOVA OBOR TYP ZAKÁZKY CENA
Entita „autor“ Autor ID_AUTOR JMÉNO PŘÍJMENÍ ADRESA KONTAKT
Entita „časopis“ Časopis ID_ČASOPIS ČÍSLO ROČNÍK DATUM VYDÁNÍ
Entita „zadavatel“ Zadavatel ID_ZADAVATEL NÁZEV_ORGANIZACE ADRESA KONTAKT
Jaké jsou vztahy? Nejdříve se podíváme na autory a články: • Autor může napsat více článků • Článek může být napsán více autory Z toho plyne, že vazba mezi autory a články je M:N -> nutnost zavést „spojovací“ entitu
Dekompozice vztahu M:N Články Autoři 1:N N:1 Autorství článku ID_AČ ID_AUTOR ID_ČLÁNEK
Jaký je vztah entity časopis? • Časopis obsahuje N článků, tj. vazba 1:N mezi časopisem a článkem • Tím pádem mohu do entity „článek“ přidat atributy „stránka od“ a „stránka do“ Časopis 1:N Článek
Doplnění atributů entity „článek“ Článek STRÁNKA_OD ID_ČLÁNEK STRÁNKA_DO NÁZEV ANOTACE KLÍČ.SLOVA OBOR ID_ČASOPIS
Jaký je vztah entity Zadavatel? • Zadavatel zadá požadavek na publikaci placeného článku -> vazba na entitu „články“ (do článků vložím id_zadavatele) • Jeden zadavatel může zveřejnit více článků • „Placený článek má pouze jednoho zadavatele“ -> není tam tedy M:N, ale platí - zadavatel:článek = 1:N
Výsledný ERD Články N:1 Autoři N:1 Časopis 1:N 1:N Zadavatel ID_AČ Autorství článků ID_AUTOR ID_ČLÁNEK