数据库设计

表与表之间的关联关系



设计存储专辑的数据库案例
create TABLE Music(
title VARCHAR(32),
alias VARCHAR(32),
image VARCHAR(64),
style VARCHAR(8),
type VARCHAR(4),
medium VARCHAR(4),
publish_time DATE,
publisher VARCHAR(16),
number TINYINT,
barcode bigint,
summary VARCHAR(1024),
artist varchar(16),
id int primary key auto_increment
);
create table Song(
name varchar(32),
serial_number tinyint,
id int primary key auto_increment
);
create table Review(
content VARCHAR(256),
rating tinyint,
review_time datetime,
id int primary key auto_increment
);
create table User(
username VARCHAR(16) UNIQUE,
image varchar(64),
signature VARCHAR(64),
nickname VARCHAR(16),
id int primary key auto_increment
);
CREATE TABLE Middle(
User_id int,
Music_id int,
id int PRIMARY key auto_increment
);
ALTER table Song ADD CONSTRAINT fk_Music_Song FOREIGN KEY (id) REFERENCES Music(id);
ALTER TABLE Review ADD CONSTRAINT fk_Music_Review FOREIGN key (id) REFERENCES Music(id);
ALTER TABLE Review ADD CONSTRAINT fk_User_Review FOREIGN KEY (id) REFERENCES User(id);
ALTER TABLE Middle ADD CONSTRAINT fk_User_Middle FOREIGN key (User_id) REFERENCES User(id);
ALTER TABLE Middle ADD CONSTRAINT fk_Music_Middle FOREIGN key (Music_id) REFERENCES Music(id);
设计数据库模型
