藏宝游

 找回密码
 立即注册
查看: 108|回复: 0

[数据库] 关系型数据库的设计规则详解

[复制链接]

 成长值: 510

  • TA的每日心情

    2024-3-8 00:13
  • 签到天数: 4 天

    [LV.2]圆转纯熟

    灌水成绩
    4356
    6
    23459
    主题
    帖子
    积分

    等级头衔

    ID : 3

    版主

    积分成就 威望 : 0
    贡献 : 0
    杰币 : 10385
    在线时间 : 21 小时
    注册时间 : 2022-1-8
    最后登录 : 2024-3-10

    荣誉勋章
    最佳新人热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老大富翁龙年大吉
    发表于 2024-3-10 13:55:28 | 显示全部楼层 |阅读模式
    目录

      表关系设计
        1、一对一关联(one-to-one)2、一对多关系(one-to-many)3、多对多(many-to-many)4、自我引用(Self reference)


    E-R(Entity-relationship,实体-联系)模型中有三个主要概念是:实体集、属性、联系集。
    一个实体集(class)对应于数据库中的一个表,一个实体(instance)则对应数据库表中的一行,也称一条记录。一个属性对应于数据库表中的一列(column),也称一个字段。
    ORM思想(Object Relational Mapping)体现:
    数据库表  Java或Python的一个类
    表中的一条数据  类中的一个对象(或实体)
    表中的一个类  类中的一个字段、属性(field)

    表关系设计

    表与表之间的数据记录有关系(relationship)。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。表关系的四种:

    1、一对一关联(one-to-one)

    在实际的开发中应用不多,因为一对一可以创建成一张表。
    举例:设计学生表:学号、姓名、手机号码、班级、系别、身份证号码、家庭住址、籍贯、紧急联系人、…
    拆为两个表:两个表的记录是一一对应关系。
    基础信息表(常用信息):学号、姓名、手机号码、班级、系别档案信息表(不常用信息):学号、身份证号码、家庭住址、籍贯、紧急联系人、…两种建表原则:   外键唯一:主表的主键和从表的外键(唯一),形成主外键关系,外键唯一。外键是主键:主表的主键和从表的主键,形成主外键关系。




    2、一对多关系(one-to-many)

    常见实例场景:客户表和订单表,分类表和商品表,部门表和员工表。
    举例:   员工表:编号、姓名、…、所属部门部门表:编号、名称、简介 一对多建表原则:在从表(多方)创建一个字段,字段作为外键指向主表(一方)的主键




    3、多对多(many-to-many)

    要表示多对多关系,必须创建第三个表,该表通常称为联接表,它将多对多关系划分为两个一对多关系。将这两个表的主键都插入到第三个表中。
    举例1:学生-课程



    学生信息表:一行代表一个学生的信息(学号、姓名、手机号码、班级、系别…)
    课程信息表:一行代表一个课程的信息(课程编号、授课老师、简介…)
    选课信息表:一个学生可以选多门课,一门课可以被多个学生选择
    1. 学号     课程编号  1        10012        10011        1002
    复制代码
    举例2:产品-订单
    “订单”表和“产品”表有一种多对多的关系,这种关系是通过与“订单明细”表建立两个一对多关系来定义的。一个订单可以有多个产品,每个产品可以出现在多个订单中。
    产品表:“产品”表中的每条记录表示一个产品。订单表:“订单”表中的每条记录表示一个订单。订单明细表:每个产品可以与“订单”表中的多条记录对应,即出现在多个订单中。一个订单可以与“产品”表中的多条记录对应,即包含多个产品。
    举例3:用户-角色
    多对多关系建表原则:需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的主键。

    4、自我引用(Self reference)




    到此这篇关于关系型数据库的设计规则详解的文章就介绍到这了,更多相关关系型数据库设计规则内容请搜索咔叽论坛以前的文章或继续浏览下面的相关文章希望大家以后多多支持咔叽论坛!

    原文地址:https://www.jb51.net/article/231458.htm
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|RSS|藏宝游 ( 豫ICP备2021017492号 )|网站地图

    GMT+8, 2024-4-27 14:15 , Processed in 0.027510 second(s), 10 queries , Redis On.

    Powered by Discuz! X3.4

    本站不储存任何资源,所有资源均来自用户分享的网盘链接。
    本站为非盈利性站点,不会收取任何费用,所有内容不作为商业行为。

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