数据库设计案例

简单构建设计数据库

数据库设计案例

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

数据库设计案例

数据库设计案例

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;

数据库设计案例

Original: https://www.cnblogs.com/zhangyouren/p/16489363.html
Author: Haziy
Title: 数据库设计案例

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/622543/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 第十六章:接口

    本篇翻译自《Practical Go Lessons》 Chapter 16: Interfaces 1 你将在本章学到什么? 什么是类型接口? 如何定义接口。 “实现…

    数据库 2023年6月6日
    0135
  • 记一次Orika使用不当导致的内存溢出

    hprof 文件分析 2021-08-24,订单中心的一个项目出现了 OOM 异常,使用 MemoryAnalyzer 打开 dump 出来的 hprof 文件,可以看到 91.2…

    数据库 2023年6月6日
    0137
  • Simple SNMP with SimpleSnmp

    Apparently not everybody is as interested in the background workings of the SNMP protocol …

    数据库 2023年6月11日
    0122
  • MySQL自带的四个系统数据库

    MySQL系统数据库mysql、information_schema、performance_schema、sys的结构和作用。 MySQL四个自带的数据库为mysql、infor…

    数据库 2023年6月11日
    0132
  • jieba分词java版本自定义stop_words

    背景 项目使用到jieba分词,分词部分结果产品不满意,想过滤一些不重要的高频词汇;我们是使用的结巴分词java版。maven引入如下: com.huaban jieba-anal…

    数据库 2023年6月11日
    0129
  • 论程序员的英语水平,看看你在几级?

    获取下一天的日期 根据指定的日期,获取其后一天的日期 点评: 方法可重命名为getNextDay “商品”怎么说? 商品表:t_good 然后,程序里都是g…

    数据库 2023年6月9日
    0171
  • 一句话的需求怎么测?需求文档的三种现状及应对策略

    转载请注明出处❤️ 你好,我是测试蔡坨坨。 今天,我们来聊聊需求文档那些事儿…… 众所周知,软件需求是软件项目研发的开始,是组建研发团队后第一次集体讨论的事…

    数据库 2023年6月11日
    0134
  • 分布式锁的实现

    什么是分布式锁? 为了保证一个方法或属性在高并发情况下的同一时间只能被同一个线程执行,在传统单体应用单机部署的情况下,可以使用Java并发处理相关的API(如ReentrantLo…

    数据库 2023年6月6日
    0146
  • postman操作数据库

    一、安装node.js 二、配置环境变量 三、安装xmysql,连接数据库 四、postman操作数据库 功能说明 node.js:是一个javascript运行环境,优点:单线程…

    数据库 2023年6月14日
    0155
  • MySQL主从不生效且无错误

    现象、主从不生效且无错误 前几天配置个MySQL主从,结果MySQL主从不生效,但在show slave status\G还没有错误,当时感觉很奇怪。change master t…

    数据库 2023年6月9日
    0141
  • Java List分批处理

    工作中经常遇到分批处理的问题,比如将一个List列表中的数据分批次保存至数据库中。如果列表中数据条目很大,比如1000万条以上,mysql中 max_allowed_packet …

    数据库 2023年6月14日
    0136
  • 排序规则

    一、什么是排序规则 mysql官网的说法 The collation is a set of rules (only one rule in this case): “…

    数据库 2023年5月24日
    0195
  • mysql中group by,having,order by,limit,distinct的用法和简单的的多表查询

    group:组 by:通过 group by :通过….。分组group by列名:通过指定列来分组 一般情况下在题目中出现 “每个” &#82…

    数据库 2023年5月24日
    0134
  • IDEA 如何根据一个关键字检索项目中的所有代码呢?

    今天笔者接到一个需求,项目中提示 “****”错误信息,那么如何处理呢? 由于笔者第一次接触这个项目,所以只能进行全文检索获取相应的信息,那么如何全文检索呢…

    数据库 2023年6月11日
    0134
  • MIB MODULE HOST-RESOURCES-MIB

    Textual Conventions Name: BooleanSyntax: Enumerated Name: KBytesSyntax: Integer Range Name…

    数据库 2023年6月11日
    0134
  • ES6中的模块化

    历史上,JavaScript一直没有自己模块体系(module),无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。其他语言如java、python等都具备这项功能,…

    数据库 2023年6月6日
    0116
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球