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