[ batasson @ 22.02.2011. 15:24 ] @
Pozdrav,

Napravio sam dve tabele i povezao ih, ali me zanima da li je nametnut referencijalni integritet izmedju njih.

Code:

CREATE TABLE odeljenje (
odeljenjeID int NOT NULL auto_increment PRIMARY KEY,
naziv varchar(20),
adresa varchar(50),
grad varchar(20)
) type = InnoDB;

CREATE TABLE radnik (
radnikID int NOT NULL auto_increment PRIMARY KEY,
ime varchar(20),
prezime varchar(20),
adresa varchar(50),
dat_rodjenja varchar(15),
str_sprema varchar(15),
odeljenjeID int NOT NULL REFERENCES odeljenje(odeljenjeID)
) type = InnoDB;


Koliko sam skapirao "REFERENCES" pravi vezu sa drugom tabelom, ali da li i namece ref. integritet?
U slucaju da nije nametnut, a pretpostavljam da nije, kako bi to trebao da uradim?

Hvala!
[ bogdan.kecman @ 22.02.2011. 15:39 ] @
http://dev.mysql.com/doc/refma...b-foreign-key-constraints.html

Code:

CREATE  TABLE IF NOT EXISTS `radnik` (
  `radnik_id` INT NOT NULL AUTO_INCREMENT ,
  `ime` VARCHAR(45) NULL ,
  `prezime` VARCHAR(45) NULL ,
  `adresa` VARCHAR(45) NULL ,
  `datum_rodjenja` DATE NULL ,
  `str_sprema` VARCHAR(45) NULL ,
  `odeljenje_odeljenje_id` INT NOT NULL ,
  PRIMARY KEY (`radnik_id`) ,
  INDEX `fk_radnik_odeljenje` (`odeljenje_odeljenje_id` ASC) ,
  CONSTRAINT `fk_radnik_odeljenje`
    FOREIGN KEY (`odeljenje_odeljenje_id` )
    REFERENCES `odeljenje` (`odeljenje_id` )
    ON DELETE CASCADE
    ON UPDATE RESTRICT)
ENGINE = InnoDB

[ batasson @ 23.02.2011. 15:24 ] @
Hvala na odgovoru, a cemu sluzi ovo?

ON DELETE CASCADE
ON UPDATE RESTRICT
[ bogdan.kecman @ 23.02.2011. 15:33 ] @
http://dev.mysql.com/doc/refma...b-foreign-key-constraints.html
Citat:

CASCADE: Delete or update the row from the parent table, and automatically delete or update the matching rows in the child table. Both ON DELETE CASCADE and ON UPDATE CASCADE are supported. Between two tables, do not define several ON UPDATE CASCADE clauses that act on the same column in the parent table or in the child table.


Citat:

RESTRICT: Rejects the delete or update operation for the parent table. Specifying RESTRICT (or NO ACTION) is the same as omitting the ON DELETE or ON UPDATE clause.