#資料庫設計案例 ##描述:簡單構建設計資料庫 ##sql代碼實現 /* 資料庫設計案例 */ -- 音樂表 CREATE TABLE Music ( title VARCHAR (32), -- 專輯名 alias VARCHAR (32), -- 專輯別名 image VARCHAR (64), ...
資料庫設計案例
描述:簡單構建設計資料庫
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;
本文來自博客園,作者:Haziy,轉載請註明原文鏈接:https://www.cnblogs.com/zhangyouren/p/16489363.html
本博客所有文章僅用於學習、研究和交流目的,歡迎非商業性質轉載。
博主的文章沒有高度、深度和廣度,只是湊字數。由於博主的水平不高,不足和錯誤之處在所難免,希望大家能夠批評指出。