数据库设计案例

打印 上一主题 下一主题

主题 876|帖子 876|积分 2628

数据库设计案例

描述:简单构建设计数据库




sql代码实现
  1. /*
  2.                 数据库设计案例
  3. */
  4. -- 音乐表
  5. CREATE TABLE Music (
  6.         title VARCHAR (32),
  7.         -- 专辑名
  8.         alias VARCHAR (32),
  9.         -- 专辑别名
  10.         image VARCHAR (64),
  11.         -- 封面照片
  12.         style VARCHAR (8),
  13.         -- 流派(如经典,流行,民谣,电子等)
  14.         type VARCHAR (4),
  15.         -- 类型 (专辑,单曲等)
  16.         MEDIUM VARCHAR (4),
  17.         -- 介质 (CD ,黑胶,数字等)
  18.         publish_time date,
  19.         -- 发行时间
  20.         publisher VARCHAR (16),
  21.         -- 出版者
  22.         number TINYINT,
  23.         -- 唱片数
  24.         barcode BIGINT,
  25.         -- 条形码
  26.         summary VARCHAR (1024),
  27.         -- 简介
  28.         artist VARCHAR (16),
  29.         -- 艺术家
  30.         id INT UNIQUE -- 编号(唯一)
  31. );
  32. INSERT INTO music
  33. VALUES
  34.         (
  35.                 '我只在乎你',
  36.                 '留声经典复刻版',
  37.                 'xxx',
  38.                 '流行',
  39.                 '专辑',
  40.                 'CD',
  41.                 '1987-01-02',
  42.                 '环球',
  43.                 1,
  44.                 2341613523,
  45.                 '邓丽君在1987年推出的唱片专辑,我只在乎你中有三首歌的歌,作者是陶粒砂,其实,陶粒砂极是邓丽君自己英文名的忠义,根据我手上的资料,邓丽君做的词并不多尿,他确曾向媒体表示最大的心愿使出一招,一脚踢的唱片。',
  46.                 '邓丽君',
  47.                 1
  48.         );
  49. SHOW TABLES;
  50. SELECT
  51.         *
  52. FROM
  53.         music;
  54. -- 曲目表
  55. create table song (
  56.         name varchar (32),
  57.         -- 歌曲名
  58.         serial_number TINYINT,
  59.         -- 歌曲序号
  60.         id INT UNIQUE -- 编号(唯一)
  61. );
  62. SELECT
  63.         *
  64. FROM
  65.         song;
  66. -- 短评
  67. CREATE TABLE review (
  68.         id int,
  69.         content VARCHAR (256),
  70.         -- 评论内容
  71.         rating TINYINT,
  72.         -- 评分(1~5)
  73.         review_time datetime -- 评论时间
  74. );
  75. drop table if exists review;
  76. SELECT
  77.         *
  78. FROM
  79.         review;
  80. drop table if exists user;
  81. -- 用户
  82. CREATE TABLE USER (
  83.         username VARCHAR (16),
  84.         -- 用户名
  85.         image VARCHAR (64),
  86.         -- 用户头像图片地址
  87.         signature VARCHAR (64),
  88.         -- 个人签名,例如(我是灰太狼,我爱喜羊羊)
  89.         nickname VARCHAR (16),
  90.         -- 用户昵称
  91.         id INT UNIQUE-- 用户编号(主键)
  92. );
  93. insert into user values(
  94. '卡拉米',
  95. '哆啦爱梦.jpg',
  96. '我是卡拉米,我喜欢唱跳Rap,打篮球!',
  97. '一念神魔',
  98. 1);
  99. alter table song add constraint fk_song_music foreign key (id) references music(id); -- 曲目(多) --- 专辑(1)
  100. alter table review add constraint fk_review_music foreign key (id) references music(id); -- 短评(多) --- 专辑(1)
  101. -- 用户(多) --- 专辑(多)
  102. alter table user_music_mid add constraint fk_music_id foreign key (music_id) references music(id);
  103. alter table user_music_mid add constraint fk_user_id foreign key (user_id) references user(id);
  104. alter table review add constraint fk_review_user foreign key (id) references user(id); -- 短评(多) --- 用户(1)
  105. -- 删除外键
  106. alter table user_music_mid drop FOREIGN key fk_music_id;
  107. alter table user_music_mid drop FOREIGN key fk_user_id;
  108. create table user_music_mid(  -- 多对多的中间表
  109. id int,
  110. user_id int,
  111. music_id int
  112. );
  113. select * from user_music_mid;
  114. SELECT
  115.         *
  116. FROM
  117.         USER;
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

曂沅仴駦

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表