gpt4 book ai didi

mysql - 电影目录数据库设计

转载 作者:行者123 更新时间:2023-11-30 01:07:17 25 4
gpt4 key购买 nike

我正在为类练习设计一个数据库,但陷入了设计困境。库存系统中有 DVD(分为 3 个类别:电视、音乐视频、电影)。在每个类别中,它都有自己的信息子集 - 电视类别信息:TVInfo1、TVInfo2、TVInfo3;电影类别:MInfo1、MInfo2、MInfo3、MInfo4;音乐视频类别:MVInfo 1、MVInfo2。

我不确定如何合并类别类型具有依赖于每个类别的独特属性。到目前为止我的 table :

DVD(Title [PK], CategoryID[FK])

Category(CategoryID[PK], TYPE)

CatMovie(Title [PK,FK], CategoryID[PK,FK], MInfo1, MInfo2, MInfo3, MInfo4)

CatMV(Title [PK,FK], CategoryID[PK,FK],MVInfo 1, MVInfo2)

CatTV(Title [PK,FK], CategoryID[PK,FK],TVInfo1, TVInfo2, TVInfo3)

不确定这是否正确。感谢您的帮助。

最佳答案

正如我所见,它只是一个简单的电影库数据库。你可以有这样的设计:

enter image description here

现在,根据您的规范,您的 title_mstr 表包含您的所有标题。 title_category 表将包含您的类别(电影电视)。然后,每个类别的信息将位于 category_info 中,并引用 title_category。此架构还包括每个的外键。

代码如下:

-- -----------------------------------------------------
-- Table `title_category`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `title_category` (
`title_cat_id` INT NOT NULL,
`title_category_desc` VARCHAR(45) NULL,
PRIMARY KEY (`title_cat_id`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `title_mstr`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `title_mstr` (
`title_id` INT NOT NULL AUTO_INCREMENT,
`title_cat_id` INT NULL,
`title_name` VARCHAR(100) NOT NULL,
`title_desc` VARCHAR(45) NULL,
`title_details` VARCHAR(45) NULL,
PRIMARY KEY (`title_id`),
UNIQUE INDEX `movie_name_UNIQUE` (`title_name` ASC),
INDEX `title_cat_id_idx` (`title_cat_id` ASC),
CONSTRAINT `title_cat_id`
FOREIGN KEY (`title_cat_id`)
REFERENCES `title_category` (`title_cat_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tape`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `tape` (
`tape_id` INT NOT NULL,
`tape_category_id` INT NULL,
`movie_id` INT NULL,
`tape_details` VARCHAR(45) NULL,
PRIMARY KEY (`tape_id`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `title_category_info`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `title_category_info` (
`title_category_info_id` INT NOT NULL AUTO_INCREMENT,
`title_cat_id` INT NULL,
`title_category_info` VARCHAR(45) NULL,
PRIMARY KEY (`title_category_info_id`),
INDEX `title_cat_id_idx` (`title_cat_id` ASC),
CONSTRAINT `title_cat_id`
FOREIGN KEY (`title_cat_id`)
REFERENCES `title_category` (`title_cat_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

为了更好地理解,您可以引用此链接:

关于mysql - 电影目录数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19650500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com