数据库设计案例

简单构建设计数据库

数据库设计案例

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

数据库设计案例

数据库设计案例

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)

大家都在看

  • 2022-8-17 mysql 第三天

    子查询 根据结果集中的行数,子查询可以分为以下几类: [En] According to the number of rows in the result set, subquer…

    数据库 2023年5月24日
    059
  • 2022-8-23 css

    ✏️CSS 一个标签可以有多个css样式浏览器处理冲突的能力,如果一个属性通过两个相同的选择器设置到这个元素上,会根据样式的层叠规则样式的层叠规则——按照样式的声明顺序来层叠的【就…

    数据库 2023年6月14日
    068
  • 新买的百度云服务器随便玩玩之部署简单页面

    新买的百度云服务器随便玩玩之部署简单页面 1.vscode 连接百度云服务器 vscode下载拓展 2.在远程资源管理器中添加新的远程资源管理 3.输入云服务器公网ip地址;输入密…

    数据库 2023年6月16日
    0111
  • Mysql终端Terminal操作

    datebase管理 1.创建数据库-create 语法:create database 数据库名 character set 编码 注意:默认会存在四个数据库,其数据库中存储的是…

    数据库 2023年6月14日
    065
  • Hosts映射

    Hosts映射 思考:如何通过主机名能够找到(ping)某个linux系统? 前言 Hosts:是一个文本文件,用来记录IP和Hostname的映射关系 DNS:是互联网上作为域名…

    数据库 2023年6月11日
    095
  • com.mysql.cj.jdbc.Driver和com.mysql.jdbc.Driver的区别

    今天,我在写作考试中发现了一个问题,如下所示: [En] Today, I found a problem during the writing test, as follows:…

    数据库 2023年5月24日
    062
  • git 开发规范

    开发总结最重要的是文档和开发流程 文档最重要:记录开发学习的内容,可以是一种总结,此为其一。留下文档可助后生快速入门,减少学习和指导成本,此为其二。来日需要对项目二次开发或者重构追…

    数据库 2023年6月9日
    0132
  • 【Java基础】– FileUtils工具类常用方法

    1.FileUtils介绍 文件IO是我们日常项目中经常使用到的基础API,常见的IO读写操作基础类字节流InputStream与OutputStream、字符流Reader与Wr…

    数据库 2023年6月6日
    0354
  • 你的 SQL 还在回表查询吗?快给它安排覆盖索引

    什么是回表查询 小伙伴们可以先看这篇文章了解下什么是聚集索引和辅助索引:Are You OK?主键、聚集索引、辅助索引,简单回顾下,聚集索引的叶子节点包含完整的行数据,而非聚集索引…

    数据库 2023年5月24日
    081
  • 就这么一个简单的校验,80%的程序员却做不到,更不理解!

    在学生管理系统里,其中会有学生信息采集的功能。程序结构不外乎下面的分层实现方式。 开发出来这个功能,我觉得大家都易如反掌了。 当然易如反掌。 OK,我要说的是数据校验,以最简单的非…

    数据库 2023年6月9日
    080
  • GreatSQL 开源数据库 & NVIDIA InfiniBand存算分离池化方案:实现高性能分布式部署

    NVIDIA InfiniBand是一种被广泛使用的网络互联技术,基于IBTA(InfiniBand Trade Association)而定义的高带宽、低延时、低CPU占用率、大…

    数据库 2023年5月24日
    070
  • idea热部署

    idea热部署 一、修改 pom.xml 文件 修改配置文件 二、打开自动build: File -> Settings -> Build,Exe… -&g…

    数据库 2023年6月16日
    091
  • 23种设计模式之访问者模式(Visitor Pattern)

    文章目录 概述 访问者模式的优缺点 访问者模式的使用场景 访问者模式的结构和实现 * 模式结构 模式实现 总结 概述 访问者模式把数据结构和作用于结构上的操作解耦合,使得操作集合可…

    数据库 2023年6月6日
    086
  • 猿创征文|小而巧的API文档生成工具之smart-doc

    文章目录 smart-doc介绍 smart-doc特性 smart-doc的最佳搭档 谁在使用smart-doc smart-doc的优缺点 smart-doc和swagger区…

    数据库 2023年6月6日
    0262
  • 工程师成长阶段感悟

    从 2013 年陆续开始做软件研发工作, 去过不少公司, 做过一些类型项目, 桌面开发, web 开发, 手游开发, 端游开发, 棋牌, 视频云服务, 电商. 刚毕业那会在国企, …

    数据库 2023年6月9日
    089
  • Linux 7安装Mysql5.7版本

    Mysql 5.7的安装搭建 首先去到官方网站的下载链接中找到对应你Linux服务器版本的mysql软件包 https://dev.mysql.com/downloads/repo…

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