大家好,我是忘鱼。分享一下数据库设计(案例)

 

目录

一、案例      

 二、代码

三、总结


一、案例      

     如下进行数据库设计。这是黑马上的一道练习题。

 二、代码

drop table if EXISTS music;
drop table if EXISTS song;
drop table if EXISTS Review;
drop table if EXISTS user1;
CREATE TABLE music -- 专辑 
(
title varchar ( 32 ),-- 专辑名,
alias varchar ( 32 ),-- 专辑别名,
image varchar ( 64 ),-- 封面图片,
style varchar ( 8 ),-- 流派(如经典、流行、民谣、电子等),
type varchar ( 4 ),-- 类型(专辑、单曲等),
med varchar ( 4 ),-- 介质( CD、黑胶、数字等),
publish_time date,-- 发行时间,
publisher varchar ( 16 ),-- 出版者,
numbertiny int,-- 唱片数,
barcodebig int,-- 条形码,
summary varchar ( 1024 ),-- 简介,
artist varchar ( 16 ),-- 艺术家,
id int  primary key auto_increment-- 编号(唯一)
);


CREATE TABLE song -- 曲目
(
song_id int,
CONSTRAINT fk_song_music FOREIGN KEY (song_id) REFERENCES music(id),
name varchar(32),-- 歌曲名
serial_numbertiny int,-- 歌曲序号
id int  primary key auto_increment -- 编号(唯一)
 );
 
 CREATE TABLE Review(
 content varchar(256),-- 评论内容
 ratingtiny int,-- 评分(1~5)
 review_time datetime, -- 评论时间 
music_id int,
user1_id int,
 CONSTRAINT fk_review_music FOREIGN key (music_id) REFERENCES music(id),
 CONSTRAINT fk_review_user1 FOREIGN key (user1_id) REFERENCES user1(id)
 );
 
 CREATE TABLE user1(
 id int PRIMARY key auto_increment,
 username varchar(16),#用户名(唯一)
 image varchar(64),#用户头像图片地址
 signature varchar(64),#个人签名,例如(万般各所是 一切皆圆满)
 nickname varchar(16)  #用户昵称idint用户编号(主键)
 );
 
 #一对多,多的添加外键。多对多,引入第三方表。一对一引入第三方表 UNIQUE 声明即可
 
 

三、总结

      虽然很水,还是要坚持写博客。

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐