0
有3個表格用戶和歌曲列表(一對多),1個用戶可以有1個或更多歌曲列表。 SubList(一對多)到SongList。 SongList可以是公開的(全部可見),私人的(只有所有者可以查看)和友好的(所有者+一些其他用戶)。也許對於SubList應該是相同的(私有,公共...),但現在它並不重要。創建帶有說明屬性的表訪問歌曲列表
這樣做會更好嗎?
CREATE TABLE IF NOT EXISTS `mydb`.`user` (
`username` VARCHAR(45) NULL,
`password` VARCHAR(45) NULL,
`id` INT NOT NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB
CREATE TABLE IF NOT EXISTS `mydb`.`song_list` (
`id` INT NOT NULL AUTO_INCREMENT,
`title` VARCHAR(100) NOT NULL,
`cretaed` DATE NOT NULL,
`updated` DATE NULL,
`user_id` INT NULL,
PRIMARY KEY (`id`),
INDEX `fk_group_user1_idx` (`user_id` ASC),
CONSTRAINT `fk_group_user1`
FOREIGN KEY (`user_id`)
REFERENCES `mydb`.`user` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
CREATE TABLE IF NOT EXISTS `mydb`.`subgroup` (
`id` INT NOT NULL AUTO_INCREMENT,
`title` VARCHAR(100) NULL,
`created` DATE NULL,
`updated` DATE NULL,
`song_list_id` INT NOT NULL,
PRIMARY KEY (`id`, `song_list_id`),
INDEX `fk_subgroup_song_list1_idx` (`song_list_id` ASC),
CONSTRAINT `fk_subgroup_song_list1`
FOREIGN KEY (`song_list_id`)
REFERENCES `mydb`.`song_list` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
謝謝。
你的問題是什麼? – 2015-02-09 21:42:15