@Rivaldo1: Veoma si nejasan u svojim porukama. Kako nema teksta originalnog zadatka? Valjda ste morali dobiti nekakav tekst zadatka, pa makar on bio usmeno iskazan!
Predpostavljam da je originalni zadatak ono što je dato u Banka.doc fajlu, bez onog lošeg ER dijagrama i bez onih crvenih znakova pitanja. Dakle, predpostavljam da je originalni zadatak ili barem njegov deo:
STEDISA (BR_ZIRO RACUNA,BR_LK, IME_S, PREZIME_S, GRAD)
POSLOVNICA ( BR_P, IME_, GRAD_P)
SALTER_R ( SIFRA_R, BR_LK, BR_P, IME_R, PREZIME_R, GRAD)
DEVIZNA_S ( SIFRA_DS, NAZIV_S, BR_RAC)
STEDNJA_PO_VIDJENJU (SIFRA_SPV, NAZIV_S, BR_RAC)
OROCENA_S (SIFRA_OS, NAZIV_S, BR_RAC)
STANJE_DS (SIFRA_DS, NAZIV_S, STANJE_DS,UPLATA_DS,ISPLATA_DS)
STANJE_SPV (SIFRA_SPV, NAZIV_S, STANJE_SPV,UPLATA_SPV,ISPLATA_SPV)
STANJE_OS (SIFRA_OS, NAZIV_S, STANJE_OS,UPLATA_OS,ISPLATA_OS)
Ovo nebi smeo da bude ceo zadatak, ali nema veze. Ovde su vam dati ENTITETI! A relacije treba da napravite sami, samo ne znam od čega (valjda da ih izmišljate napamet)!
Naravno da priloženi ER dijagram nije dobar jer je u njemu (između ostalog) SALTER_R prikazan kao relacija!
Recimo da uzmemo dva entiteta POSLOVNICA i tog nesretnog SALTER_R. Zašto je nesretan? Zato što mu je ime očajno! Kad bi se gledalo samo ime, dalo bi se zaključiti da se prvo radi o samom šalteru, pa onda da se radi o nekom njegovom delu, a u stvari se radi o RADNIKU! Logičnije ime je RADNIK_S ili S_RADNIK ako je već potrebno skraćivati imena entiteta. (Ali to je već greška onoga ko je postavljao zadatak.)
Da se vratim na ta dva entiteta: POSLOVNICA i SALTER_S. Vidi se da atribut BR_P (skraćeno od broj_poslovnice) ključ za entitet POSLOVNICA i da učestvuje kao deo kompozitnog ključa u entitetu SALTER_R. Ovo me navodi na pravilo da:
Jedna poslovnica zapošljava više šalterskih radnika, a jedan radnik može da radi u samo jednoj (i isključivo jednoj) poslovnici.
Na osnovu ovog pravila treba nacrtati relaciju (romb) između entiteta POSLOVNICA i SALTER_R i toj relaciji dati ime ZAPOSLJAVA ili nešto poput toga. Dalje, toj relaciji treba dodeliti njenu kardinalnost.
Usput, entitet SALTER_R je slab entitet pa ga tako treba i nacrtati (kao pravougaonik sa duplim okvirom).
Na sličan način treba povezati i ostale entitete iz zadatka.
Naravno ja sam gornje pravilo izmislio, jer nisam imao bolje, i samo predpostavljam da je ispravno.
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming." - Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo