Visa ett inlägg
Oläst 2009-08-19, 09:46 #1
Tvartom Tvartom är inte uppkopplad
Medlem
 
Reg.datum: Oct 2004
Inlägg: 86
Tvartom Tvartom är inte uppkopplad
Medlem
 
Reg.datum: Oct 2004
Inlägg: 86
Hej!
Håller på med databasdesign (MySQL) av ett tidssytem.
Ska knyta vissa objekt till specifika dagar.

Eftersom `mydays` bara ska finnas max en post per dag,
ska en date-kolumn ha ett unikt index.
Det fungerar uppenbarligen att ha date som primary,
min fråga är om det finns annan aspekt som gör att
att man ändå inte bör använda det så här?
Jag har nämligen aldrig sett detta någon annanstans.

Med date-kolumn som primary:
Kod:
CREATE TABLE mydays (
 id DATE NOT NULL,
 mylabel VARCHAR(45) NULL,
 PRIMARY KEY (id)
) ENGINE=InnoDB;

CREATE TABLE mydata (
 id INT NOT NULL AUTO_INCREMENT,
 dateid DATE NOT NULL,
 content VARCHAR(45) NULL,
 PRIMARY KEY (id),
 KEY (dateid),
 FOREIGN KEY (dateid) REFERENCES mydays (id)
) ENGINE=InnoDB;
Alternativet är att lägga ett separat unikt index:
Kod:
CREATE TABLE mydays2 (
 id INT NOT NULL AUTO_INCREMENT,
 myday DATE NOT NULL,
 mylabel VARCHAR(45) NULL,
 PRIMARY KEY (id),
 UNIQUE KEY (myday)
) ENGINE=InnoDB;
Vad anser ni?
/ Lasse
Tvartom är inte uppkopplad   Svara med citatSvara med citat