Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomoc oko izrade baze-strani kljucevi

[es] :: MySQL :: Pomoc oko izrade baze-strani kljucevi

[ Pregleda: 1829 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

madona83
nema

Član broj: 288712
Poruke: 13
*.dynamic.sbb.rs.



Profil

icon Pomoc oko izrade baze-strani kljucevi22.06.2013. u 16:35 - pre 131 meseci
Evo mog sql fajla koji sam dobila posle crtanja seme,ako moze pomoc gde gresim?
Code:
CREATE SCHEMA IF NOT EXISTS `laboratorija` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;

USE `laboratorija`;

CREATE  TABLE IF NOT EXISTS `laboratorija`.`korisnik` (
  `korisnikID` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT ,
  `korUsername` VARCHAR(45) NOT NULL ,
  `korPassword` VARCHAR(45) NOT NULL ,
  `korPassword2` VARCHAR(45) NOT NULL ,
  `korIme` VARCHAR(45) NOT NULL ,
  `korPrezime` VARCHAR(45) NOT NULL ,
  `korTelefon` VARCHAR(45) NOT NULL ,
  `korEmail` VARCHAR(45) NULL DEFAULT NULL ,
  `korOdsek` VARCHAR(45) NOT NULL ,
  `korgodStud` INT(11) NOT NULL ,
  `korProsek` DOUBLE NOT NULL ,
  `korTip` INT(11) NULL DEFAULT NULL ,
  `korTipstring` VARCHAR(45) NOT NULL ,
  `oznacenN` TINYINT(1) NULL DEFAULT NULL ,
  `oznacenD` TINYINT(1) NULL DEFAULT NULL ,
  `prisustvovao` TINYINT(1) NULL DEFAULT NULL ,
  `pozvan` TINYINT(1) NULL DEFAULT NULL ,
  `zauzet` TINYINT(1) NULL DEFAULT NULL ,
  PRIMARY KEY (`korisnikID`) 
)ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

CREATE  TABLE IF NOT EXISTS `laboratorija`.`labvezba` (
  `labID` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT ,
  `nazivVezbe` VARCHAR(45) NOT NULL ,
  `sifraAkt` INT(11) NOT NULL ,
  `sifraPredmeta` INT(11) NOT NULL ,
  `datumO` DATE NULL DEFAULT NULL ,
  `vremeP` TIME NULL DEFAULT NULL ,
  `vremeK` TIME NULL DEFAULT NULL ,
  `korisnikID` INT(11) NULL DEFAULT NULL ,
  `brojU` INT(11) NOT NULL ,
  `maxbrDem` INT(11) NOT NULL ,
  `zakljucena` TINYINT(4) NULL DEFAULT NULL ,
  PRIMARY KEY (`labID`) ,
  
    FOREIGN KEY (`korisnikID`)
    REFERENCES `laboratorija`.`korisnik` (`korisnikID`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  FOREIGN KEY (`sifraPredmeta`)
    REFERENCES `laboratorija`.`predmet` (`sifraPredmeta`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  FOREIGN KEY (`sifraAkt`)
    REFERENCES `laboratorija`.`sifarnik` (`sifraAkt`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  
    FOREIGN KEY (`datumO`)
    REFERENCES `laboratorija`.`datum` (`datumID`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
)ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

CREATE  TABLE IF NOT EXISTS `laboratorija`.`sifarnik` (
  `sifraAkt` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT ,
  `tipVezbe` VARCHAR(45) NOT NULL ,
  `koeficijent` DOUBLE NOT NULL ,
  PRIMARY KEY (`sifraAkt`) 
)ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

CREATE  TABLE IF NOT EXISTS `laboratorija`.`predmet` (
  `sifraPredmeta` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT ,
  `nazivP` VARCHAR(45) NOT NULL ,
  `semestar` INT(11) NOT NULL ,
  `semString` VARCHAR(45) NOT NULL ,
  `selektovan` TINYINT(4) NULL DEFAULT NULL ,
  `aktuelan` TINYINT(4) NULL DEFAULT NULL ,
  `otvorenaprijava` TINYINT(4) NULL DEFAULT NULL ,
  PRIMARY KEY (`sifraPredmeta`) 
)ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

CREATE  TABLE IF NOT EXISTS `laboratorija`.`predmetikor` (
  `korisnikID` INT(11) UNSIGNED NOT NULL ,
  `godID` INT(11) NOT NULL ,
  `oznacen` TINYINT(4) NULL DEFAULT NULL ,
  `aktivan` TINYINT(4) NULL DEFAULT NULL ,
  `sifraPredmeta` INT(11) NOT NULL ,
 
    FOREIGN KEY (`korisnikID`)
    REFERENCES `laboratorija`.`korisnik` (`korisnikID`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
 
    FOREIGN KEY (`godID`)
    REFERENCES `laboratorija`.`skolgod` (`godID`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  
    FOREIGN KEY (`sifraPredmeta`)
    REFERENCES `laboratorija`.`predmet` (`sifraPredmeta`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE
)ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

CREATE  TABLE IF NOT EXISTS `laboratorija`.`ucesnici` (
  `korisnikID` INT(11) UNSIGNED NOT NULL ,
  `labID` INT(11) UNSIGNED NOT NULL ,
  `potvrdio` TINYINT(4) NULL DEFAULT NULL ,
  `prisustvovao` TINYINT(4) NULL DEFAULT NULL ,
  `komentar` VARCHAR(45) NULL DEFAULT NULL ,
  `placen` TINYINT(4) NULL DEFAULT NULL ,
  FOREIGN KEY (`korisnikID`)
    REFERENCES `laboratorija`.`korisnik` (`korisnikID`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
 FOREIGN KEY (`labID`)
    REFERENCES `laboratorija`.`labvezba` (`labID`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
PRIMARY KEY (`korisnikID`,`labID`)
)ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

CREATE  TABLE IF NOT EXISTS `laboratorija`.`datum` (
  `datumID` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT ,
  `datGod` INT(11) NULL DEFAULT NULL ,
  `datMes` INT(11) NULL DEFAULT NULL ,
  `datDan` INT(11) NULL DEFAULT NULL ,
  `datSat` INT(11) NULL DEFAULT NULL ,
  `datMin` INT(11) NULL DEFAULT NULL ,
  PRIMARY KEY (`datumID`) 
)ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

CREATE  TABLE IF NOT EXISTS `laboratorija`.`skolgod` (
  `godID` INT(10) UNSIGNED NOT NULL ,
  `skolskagodina` VARCHAR(45) NOT NULL ,
  `sifraPredmeta` INT(11) UNSIGNED NOT NULL ,
  PRIMARY KEY (`godID`) ,
  
    FOREIGN KEY (`sifraPredmeta`)
    REFERENCES `laboratorija`.`predmet` (`sifraPredmeta`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE
)ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

CREATE  TABLE IF NOT EXISTS `laboratorija`.`obracun` (
  `obracunID` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT ,
  `labID` INT(11) UNSIGNED NOT NULL ,
  `korisnikID` INT(11) UNSIGNED NOT NULL ,
  `cena` INT(11) NULL DEFAULT 10 ,
  `iznosHon` DOUBLE NOT NULL ,
  `datumID` INT(11) NULL DEFAULT NULL ,
  `napravljen` TINYINT(4) NULL DEFAULT NULL ,
  PRIMARY KEY (`obracunID`) ,
  
    FOREIGN KEY (`datumID`)
    REFERENCES `laboratorija`.`datum` (`datumID`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  
    FOREIGN KEY (`labID`)
    REFERENCES `laboratorija`.`labvezba` (`labID`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
 
    FOREIGN KEY (`korisnikID`)
    REFERENCES `laboratorija`.`korisnik` (`korisnikID`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE
)ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


Kaze da ne moze da napravi tabele ucesnici i skolgod,ako moze pomoc!
 
Odgovor na temu

nkrgovic
Nikola Krgović
Beograd

Član broj: 3534
Poruke: 2807

ICQ: 49345867
Sajt: https://www.twinstarsyste..


+655 Profil

icon Re: Pomoc oko izrade baze-strani kljucevi23.06.2013. u 12:06 - pre 131 meseci
Nedelja je, ali cisto on the top of my head:

Disable foreing key checks, uradis sve create table, pa onda enable. Mozda ima neka medjuzavisnost koja ti pravi problem? Mrzi me da analiziram i crtam, a ovo je cest problem :D
Please do not feed the Trolls!

Blasphemy? How can I blaspheme? I'm a god!'
 
Odgovor na temu

tarla

Član broj: 15527
Poruke: 1648



+42 Profil

icon Re: Pomoc oko izrade baze-strani kljucevi23.06.2013. u 13:19 - pre 131 meseci
Tabale predmet, sifarnik i datum moraš kreirati iznad tabele labvezba... To je prvo što mi je upalo u oko... Nisam dalje ni gledao...




 
Odgovor na temu

after
Ajvanho, ING

Član broj: 276962
Poruke: 97
*.dynamic.sbb.rs.



+6 Profil

icon Re: Pomoc oko izrade baze-strani kljucevi23.06.2013. u 22:08 - pre 131 meseci
Da, kao sto kaze Tarla tabele korisnik, sifarnik, predmet i datum se trebaju prvo kreirati.

Zatim vec sledeca tabela iz tvog koda je puna gresaka tj. pogresan tip podataka. U tabeli labvezba imas polje datumO (tip DATE default NULL) koje preko FK referencira na datumID (tip INT(10) UNSIGNED NOT NULL) iz tabele datum....i ostale FK reference su pogresne npr INT(11) DEFAULT NULL referencira na INT(10) UNSIGNED NOT NULL i zato kreiranje tabela ne prolazi.
 
Odgovor na temu

after
Ajvanho, ING

Član broj: 276962
Poruke: 97
*.dynamic.sbb.rs.



+6 Profil

icon Re: Pomoc oko izrade baze-strani kljucevi23.06.2013. u 22:16 - pre 131 meseci
Evo kako bi trebalo da izgleda tabela labvezba:

Code:

CREATE  TABLE IF NOT EXISTS `laboratorija`.`labvezba` (
  `labID` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT ,
  `nazivVezbe` VARCHAR(45) NOT NULL ,
  `sifraAkt` INT(10) UNSIGNED NOT NULL ,
  `sifraPredmeta` INT(10) UNSIGNED NOT NULL ,
  `datumO` INT(10) UNSIGNED NOT NULL ,
  `vremeP` TIME NULL DEFAULT NULL ,
  `vremeK` TIME NULL DEFAULT NULL ,
  `korisnikID` INT(10) UNSIGNED NOT NULL ,
  `brojU` INT(11) NOT NULL ,
  `maxbrDem` INT(11) NOT NULL ,
  `zakljucena` TINYINT(4) NULL DEFAULT NULL ,
  PRIMARY KEY (`labID`) ,
  
    FOREIGN KEY (`korisnikID`)
    REFERENCES `laboratorija`.`korisnik` (`korisnikID`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  FOREIGN KEY (`sifraPredmeta`)
    REFERENCES `laboratorija`.`predmet` (`sifraPredmeta`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  FOREIGN KEY (`sifraAkt`)
    REFERENCES `laboratorija`.`sifarnik` (`sifraAkt`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  
    FOREIGN KEY (`datumO`)
    REFERENCES `laboratorija`.`datum` (`datumID`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE
)ENGINE = INNODB
DEFAULT CHARACTER SET = utf8;




 
Odgovor na temu

madona83
nema

Član broj: 288712
Poruke: 13
*.dynamic.sbb.rs.



Profil

icon Re: Pomoc oko izrade baze-strani kljucevi24.06.2013. u 06:06 - pre 131 meseci
Hvala puno na pomoci,reseno!
 
Odgovor na temu

[es] :: MySQL :: Pomoc oko izrade baze-strani kljucevi

[ Pregleda: 1829 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.