数据库设计案例
描述:简单构建设计数据库
sql代码实现
/*
数据库设计案例
*/
-- 音乐表
CREATE TABLE Music (
title VARCHAR (32),
-- 专辑名
alias VARCHAR (32),
-- 专辑别名
image VARCHAR (64),
-- 封面照片
style VARCHAR (8),
-- 流派(如经典,流行,民谣,电子等)
type VARCHAR (4),
-- 类型 (专辑,单曲等)
MEDIUM VARCHAR (4),
-- 介质 (CD ,黑胶,数字等)
publish_time date,
-- 发行时间
publisher VARCHAR (16),
-- 出版者
number TINYINT,
-- 唱片数
barcode BIGINT,
-- 条形码
summary VARCHAR (1024),
-- 简介
artist VARCHAR (16),
-- 艺术家
id INT UNIQUE -- 编号(唯一)
);
INSERT INTO music
VALUES
(
'我只在乎你',
'留声经典复刻版',
'xxx',
'流行',
'专辑',
'CD',
'1987-01-02',
'环球',
1,
2341613523,
'邓丽君在1987年推出的唱片专辑,我只在乎你中有三首歌的歌,作者是陶粒砂,其实,陶粒砂极是邓丽君自己英文名的忠义,根据我手上的资料,邓丽君做的词并不多尿,他确曾向媒体表示最大的心愿使出一招,一脚踢的唱片。',
'邓丽君',
1
);
SHOW TABLES;
SELECT
*
FROM
music;
-- 曲目表
create table song (
name varchar (32),
-- 歌曲名
serial_number TINYINT,
-- 歌曲序号
id INT UNIQUE -- 编号(唯一)
);
SELECT
*
FROM
song;
-- 短评
CREATE TABLE review (
id int,
content VARCHAR (256),
-- 评论内容
rating TINYINT,
-- 评分(1~5)
review_time datetime -- 评论时间
);
drop table if exists review;
SELECT
*
FROM
review;
drop table if exists user;
-- 用户
CREATE TABLE USER (
username VARCHAR (16),
-- 用户名
image VARCHAR (64),
-- 用户头像图片地址
signature VARCHAR (64),
-- 个人签名,例如(我是灰太狼,我爱喜羊羊)
nickname VARCHAR (16),
-- 用户昵称
id INT UNIQUE-- 用户编号(主键)
);
insert into user values(
'卡拉米',
'哆啦爱梦.jpg',
'我是卡拉米,我喜欢唱跳Rap,打篮球!',
'一念神魔',
1);
alter table song add constraint fk_song_music foreign key (id) references music(id); -- 曲目(多) --- 专辑(1)
alter table review add constraint fk_review_music foreign key (id) references music(id); -- 短评(多) --- 专辑(1)
-- 用户(多) --- 专辑(多)
alter table user_music_mid add constraint fk_music_id foreign key (music_id) references music(id);
alter table user_music_mid add constraint fk_user_id foreign key (user_id) references user(id);
alter table review add constraint fk_review_user foreign key (id) references user(id); -- 短评(多) --- 用户(1)
-- 删除外键
alter table user_music_mid drop FOREIGN key fk_music_id;
alter table user_music_mid drop FOREIGN key fk_user_id;
create table user_music_mid( -- 多对多的中间表
id int,
user_id int,
music_id int
);
select * from user_music_mid;
SELECT
*
FROM
USER;
文章评论