You are on page 1of 13

JU MJEOVITA SREDNJA ELEKTROTEHNIKA KOLA

TUZLA

Projekt
Predmet: Baze podataka
Tema: Advokatska kancelarija

PROFESOR:
Minina Horozi

UENIK:
Merim Kisi
Emir Zenunovi
Kemal Klapi

TUZLA,22.Oktobar ,2014.god.

Sadrzaj:
ZADATAK: 3
ER MODEL:

Opis objekata i veze:


Relacioni model

4
5

Prevoenje modela objekti veze u relacioni model.............................................5

Prevoenje veza:

Prevoenje veze 1:N :......................................................................................... 6


Prevoenje veze N:M :........................................................................................ 6
Prevoenje veze 1:1 :.......................................................................................... 6
Prevoenje veze koja obuhavata vie od dva objekta :......................................6

Relaciona Sema

ZADATAK:
Advokatska kancelarija SHL
Advokatska kancelarija Snobi, Hapi i Lafina (SHL) zabiljeila je nagli
porast u poslovanju tokom zadnje decenije i razmatra potrebu za
automatizovanim sistemom naplate, tj. pravljenjem rauna za uinjene
usluge kako bi ih naplatili od svojih klijenata. Za svaki sluaj koji
advokatska kancelarija zastupa pred sudom ele evidentirati podatke iji
opis slijedi. Za svakog advokata koji radi u firmi evidentira se 5-cifreni
jedinstven broj radnika i cijena koja mu se plaa za jedan sat rada. Postoji
mnogo sluajeva (u advokaturi se bave sluajevima,
npr. ako elimo tuiti prodavnicu koja nam je isporuila pokvaren
dvd ureaj, za advokatsku kancelariju to je sluaj). Na jednom sluaju
mogu raditi i drugi advokati iz kancelarije, npr na nekim privremenim
poslovima za koje je struan radi odreen broj sati, ili u sluaju da
je odgovorni advokat sprijeen. Svaki sluaj povezan je za jednog klijenta,
a jedan klijent moe imati vie sluajeva. Svaki sluaj moe ima samo
jednog odgovornog advokata, jedan advokat moe biti odgovorni advokat
za vie sluajeva.
Za veinu klijenata, SHL uva slijedee podatke: prezime, ime, adresu,
telefon. Za neke klijente SHL radi besplatno pro bono. Neki od advokata
zaposlenih u SHL imaju status partnera. Ostali advokati imaju
supervizora koji nadzire njihov rad. Supervizor za te advokata je
takoer jedan od advokata iz iste kancelarije u statusu partnera.
Baza podataka treba da evidentira i ove releacije, kako bi se
mogli praviti izvjetaji kao npr: ispisati sve sluajeve u kojima je odgovorni
advokat nadziran od strane supervizora Advokat Nr1.

ER MODEL:
ER dijagram:
Advokat

Klijent

1
1

Supervizor

N
N
Sluaj

Opis objekata i veze:


Objekat klijent:
Naziv atributa

Tip podatka

Primarni kljuc

Opis

Integer

Obavezno
polje
Da

Id

Da

Primarni kljuc
objekta

Ime
Prezime
Jmbg

Varchar(30)
Varchar(30)
Varchar(30)

Da
Da
Da

Ne
Ne
Ne

Adresa
Telefon
Nacin
placanja

Varchar(30)
Varchar(30)
Varchar(30)

Da
Da
Da

Ne
Ne
Ne

Jedinstveni
maticni broj
Normalno/Bespla
tno

Objekat advokat:
Naziv atributa

Tip podatka

Primarni kljuc

Opis

Integer

Obavezno
polje
Da

Id

Da

Primarni kljuc
objekta

Ime
Prezime
Broj radnika
Telefon
Adresa

Varchar(30)
Varchar(30)
Varchar(30)
Varchar(30)
Varchar(30)

Da
Da
Da
Da
Da

Ne
Ne
Ne
Ne
Ne

Objekat sluaj:
Naziv atributa

Tip podatka

Primarni kljuc

Opis

Integer

Obavezno
polje
Da

Id

Da

Primarni kljuc
objekta

Broj slucaja
Klijent
Datum
otvaranja
slucaja
Datum
zatvaranja
slucaja
Opis
Advokat
Sati za
naplatu

Varchar(30)
Varchar(30)
Varchar(30)

Da
Da
Da

Ne
Ne
Ne

Varchar(30)

Da

Ne

Varchar(30)
Varchar(30)
Varchar(30)

Da
Da
Da

Ne
Ne
Ne

Relacioni model
Prevoenje modela objekti veze u relacioni model
Pravilo za prevoenje veza glasi:
Svaki objekat modela objekti veze postaje relaciona tabela, i to
tako da atributi objekta postaju atributi relacione tabele,
primarni klju objekta postaje primarni klju relacione tabele.
Primjenom ovog pravila dobijemo slijedee tabele:
Tabela klijent:
Naziv atributa

Tip podatka

Primarni kljuc

Opis

Integer

Obavezno
polje
Da

Id

Da

Primarni kljuc
relacione tabele

Ime
Prezime
Jmbg

Varchar(30)
Varchar(30)
Varchar(30)

Da
Da
Da

Ne
Ne
Ne

Adresa
Telefon
Nacin
placanja

Varchar(30)
Varchar(30)
Varchar(30)

Da
Da
Da

Ne
Ne
Ne

Jedinstveni
maticni broj
Normalno/Bespla
tno

Tabela Advokat:
Naziv atributa

Tip podatka

Primarni kljuc

Opis

Integer

Obavezno
polje
Da

Id

Da

Primarni kljuc
relacione
tabele

Ime
Prezime
Broj radnika
Telefon
Adresa

Varchar(30)
Varchar(30)
Varchar(30)
Varchar(30)
Varchar(30)

Da
Da
Da
Da
Da

Ne
Ne
Ne
Ne
Ne

Tabela Slucaj:
Naziv atributa

Tip podatka

Obavezno
polje

Primarni kljuc

Opis

Id

Integer

Da

Da

Broj slucaja
Klijent
Datum
otvaranja
slucaja
Datum
zatvaranja
slucaja
Opis
Advokat
Sati za
naplatu

Varchar(30)
Varchar(30)
Varchar(30)

Da
Da
Da

Ne
Ne
Ne

Varchar(30)

Da

Ne

Varchar(30)
Varchar(30)
Varchar(30)

Da
Da
Da

Ne
Ne
Ne

Primarni kljuc
relacione
tabele

Prevoenje veza:
Advokat - Supervizor 1:1 : Jedan advokat moe imati jednog supervizora dok
jedan supervizor moe biti odgovoran za jednog advokata.
Advokat Sluaj - 1:N -Jedan advokat moe raditi na vie sluaja dok na
jednom sluaju moe biti jedan advokat.
Klijent Sluaj - 1:N : Jedan klijent moe imati vie sluaja dok jedan sluaj
moe pripadati samo jednom klijentu.

Prevoenje veze 1:N :


Svaki 1:N tip veze gdje je strana N totalna (svaki primjerak objekta na strani n je
povezan sa jednim objektom na strani 1) ne prevodi se u novu relaciju, nego se
primarni klju objekta sa strane 1 umee kao atribut u relacionu tabelu na strani
N. Ovaj atribut postaje strani klju relacione tabele na strani N. Svi eventualni
artibuti veze postaju atributi relacije na strani N.

Prevoenje veze N:M :


Svaka N:M tip veze postaje nova relaciona tabela, atributi tipa veze postaju
atributi nove relacione tabele, primarni klju nove relacione tabele je sloen od
primarnih kljueva objekata koji uestvuju u vezi.

Prevoenje veze 1:1 :


Svaka veza 1:1 koja je s obje strane totalna prevodimo u samo jednu relacionu
tabalu, i to tako da svi atributi objekata i atributi veze postaju atributi nove
realcione tabele, a primarni klju ine primarni kljuevi objekata obuhvaenih
vezom.

Prevoenje veze koja obuhavata vie od dva objekta :


Ako su vezom obuhvaena vie od dva objekta, pri emu je kardinalnost veze M,
uvodi se nova relaciona tabela, iji klju je sloen od primarnih kljueva svih
objekata obuhvaenih vezom. Ukoliko veza ima atributa, oni postaju kolone nove
relacione tabele.

Advokat Supervizor 1:1


Tabela Advokat
Naziv atributa

Tip podatka

Primarni kljuc

Opis

Integer

Obavezno
polje
Da

Id

Da

Primarni kljuc
objekta

Ime
Prezime
Broj radnika
Telefon
Adresa
Id_Supervizor

Varchar(30)
Varchar(30)
Varchar(30)
Varchar(30)
Varchar(30)
Varchar(30)

Da
Da
Da
Da
Da
Da

Ne
Ne
Ne
Ne
Ne
Ne

Strani kljuc

Advokat Sluaj 1:N


U ovoj vezi na strani N je Sluaj, te se primarni klju objekta Advokat umee u
tabelu Sluaj i postaje strani klju. Dakle, mijenja se tabela Sluaj ona postaje:
Tabela Sluaj
Naziv atributa

Tip podatka

Primarni kljuc

Opis

Integer
Varchar(30)
Varchar(30)
Varchar(30)

Obavezno
polje
Da
Da
Da
Da

Id
Broj slucaja
Klijent
Datum
otvaranja
slucaja
Datum
zatvaranja
slucaja
Opis
Advokat
Sati za
naplatu
Advokat_Id

Da
Ne
Ne
Ne

Primarni kljuc

Varchar(30)

Da

Ne

Varchar(30)
Varchar(30)
Varchar(30)

Da
Da
Da

Ne
Ne
Ne

Integer

Da

Ne

Strani kljuc

Veza: Klijent Sluaj 1:N


U ovoj vezi na strani N je Sluaj, te se primarni klju objekta Klijent umee u
tabelu Sluaj i postaje strani klju. Dakle, mijenja se tabela Sluaj ona postaje:
Tabela Sluaj
Naziv atributa

Tip podatka

Id

Integer

Obavezno
polje
Da

Primarni kljuc

Opis

Da

Primarni kljuc

Broj slucaja
Klijent
Datum
otvaranja
slucaja
Datum
zatvaranja
slucaja
Opis
Advokat
Sati za
naplatu
Klijent_Id

Varchar(30)
Varchar(30)
Varchar(30)

Da
Da
Da

Ne
Ne
Ne

Varchar(30)

Da

Ne

Varchar(30)
Varchar(30)
Varchar(30)

Da
Da
Da

Ne
Ne
Ne

Integer

Da

Ne

Strani kljuc

Relaciona Sema
Relaciona ema je skup svih tabela koje su nastale tokom prevoenja modela
objekti veze u relacioni model.
Tabela klijent:
Naziv atributa

Tip podatka

Primarni kljuc

Opis

Integer

Obavezno
polje
Da

Id

Da

Primarni kljuc
objekta

Ime
Prezime
Jmbg

Varchar(30)
Varchar(30)
Varchar(30)

Da
Da
Da

Ne
Ne
Ne

Adresa
Telefon
Nacin
placanja

Varchar(30)
Varchar(30)
Varchar(30)

Da
Da
Da

Ne
Ne
Ne

Jedinstveni
maticni broj
Normalno/Bespla
tno

Tabela Advokat:
Naziv atributa

Tip podatka

Primarni kljuc

Opis

Integer

Obavezno
polje
Da

Id

Da

Primarni kljuc
objekta

Ime
Prezime

Varchar(30)
Varchar(30)

Da
Da

Ne
Ne

Broj radnika
Telefon
Adresa
Id_Supervizor

Varchar(30)
Varchar(30)
Varchar(30)
Integer

Da
Da
Da
Da

Ne
Ne
Ne
Ne

Strani kljuc

Tabela Slucaj:
Naziv atributa

Tip podatka

Id
Broj slucaja
Klijent
Datum
otvaranja
slucaja
Datum
zatvaranja
slucaja
Opis
Advokat
Sati za
naplatu
Advokat_Id
Klijent-Id

MySQL :

Primarni kljuc

Opis

Integer
Varchar(30)
Varchar(30)
Varchar(30)

Obavezno
polje
Da
Da
Da
Da

Da
Ne
Ne
Ne

Primarni kljuc

Varchar(30)

Da

Ne

Varchar(30)
Varchar(30)
Varchar(30)

Da
Da
Da

Ne
Ne
Ne

Integer
Integer

Da
Da

Ne
Ne

Strani kljuc
Strani kljuc

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;


SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,
FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';

CREATE SCHEMA IF NOT EXISTS `kkl` DEFAULT CHARACTER SET latin1 COLLATE
latin1_swedish_ci ;
USE `kkl` ;

-- ------------------------------------------------------ Table `kkl`.`Klijent`


-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `kkl`.`Klijent` (
`Id_Klijent` INT NOT NULL ,

`Ime` VARCHAR(45) NULL ,


`Prezime` VARCHAR(45) NULL ,
`JMBG` VARCHAR(45) NULL ,
`Adresa` VARCHAR(45) NULL ,
`Telefon` VARCHAR(45) NULL ,
`Nacin_Placanja` VARCHAR(45) NULL ,
PRIMARY KEY (`Id_Klijent`) )
ENGINE = InnoDB;

-- ------------------------------------------------------ Table `kkl`.`Advokat`


-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `kkl`.`Advokat` (
`idAdvokat` INT NOT NULL ,
`Ime` VARCHAR(45) NULL ,
`Prezime` VARCHAR(45) NULL ,
`Broj_radnika` VARCHAR(45) NULL ,
`Telefon` VARCHAR(45) NULL ,
`Adresa` VARCHAR(45) NULL ,
`idSupervizor_idAdvokat` INT NOT NULL ,
PRIMARY KEY (`idAdvokat`) ,
INDEX `fk_Advokat_Advokat1` (`idSupervizor_idAdvokat` ASC) ,
CONSTRAINT `fk_Advokat_Advokat1`
FOREIGN KEY (`idSupervizor_idAdvokat` )
REFERENCES `kkl`.`Advokat` (`idAdvokat` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)

ENGINE = InnoDB;

-- ------------------------------------------------------ Table `kkl`.`Slucaj`


-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `kkl`.`Slucaj` (
`idSlucaj` INT NOT NULL ,
`Broj_slucaja` VARCHAR(45) NULL ,
`Klijent` VARCHAR(45) NULL ,
`Datum_otvaranja_slucaja` VARCHAR(45) NULL ,
`Datum_zatvaranja_slucaja` VARCHAR(45) NULL ,
`Opis` VARCHAR(45) NULL ,
`Advokat` VARCHAR(45) NULL ,
`Sati_za_naplatu` VARCHAR(45) NULL ,
`Klijent_Id_Klijent` INT NOT NULL ,
`Advokat_idAdvokat` INT NOT NULL ,
PRIMARY KEY (`idSlucaj`) ,
INDEX `fk_Slucaj_Klijent` (`Klijent_Id_Klijent` ASC) ,
INDEX `fk_Slucaj_Advokat1` (`Advokat_idAdvokat` ASC) ,
CONSTRAINT `fk_Slucaj_Klijent`
FOREIGN KEY (`Klijent_Id_Klijent` )
REFERENCES `kkl`.`Klijent` (`Id_Klijent` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Slucaj_Advokat1`
FOREIGN KEY (`Advokat_idAdvokat` )
REFERENCES `kkl`.`Advokat` (`idAdvokat` )

ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

You might also like