数据库设计

目录

1. 数据的关系

2. 实体关系模型

2.1 ER 图

2.2 符号表示

3. 数据库设计流程

3.1 概念模型设计

3.2 逻辑概念模型设计

3.3 物理模型阶段

4. 具体关系设计

4.1 一对多

4.2 多对多

4.3 一对一


1. 数据的关系

一对一,一对多(多对一),多对多;

2. 实体关系模型
2.1 ER 图

实体关系模型常用 ER图(enity relationship graph)表示;

矩形表示实体(类似Java中的对象,如学生就是一个实体),椭圆表示属性(如学生的姓名,性别等),菱形表示关系;

2.2 符号表示

关系也可以使用符号来表示:

符号:0        表示0个;        符号:|        表示1个;        符号:           表示多个

成对使用,可以表示实体之间的关系;

比如:

班级左侧第一个|表示最小值是1,第二个|表示最大值是1;

学生实体左侧|表示最小值是1,最大值为多个。

班级实体与学生实体的关系为一个班级最少有一个学生,最多有多个学生,即是一对多的关系;

3. 数据库设计流程

下面的流程以“查询课表”为例;

3.1 概念模型设计

简单来说,第一步就是确定数据库中的主体,即对象;

比如数据库对象中有学生,老师,课表,班级四个对象,可以这样表示:

3.2 逻辑概念模型设计

在第一步的基础上,详细列出各个主体的属性,多对多关系的主体需要构建中间表,这在学习数据库的时候学习过;

3.3 物理模型阶段

在逻辑模型的基础上,继续丰富。比如考虑字段类型,索引,建表语句,使用哪个数据库等等; 

4. 具体关系设计
4.1 一对多

一对多,两张表,多的表加外键(对应多的那张表);

如下,学生与学校是多对一的关系,学生表带有外键;

4.2 多对多

多对多三张表,关系表两外键; 

4.3 一对一

一对一有两种设计模式:

主键共享:

外键唯一:
推荐使用改种模式。

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值