数据建模和数据库设计Overview of Data Modeling and Database Design

本文介绍了软件开发中的数据库设计过程,包括需求分析、实体关系图(E-R图)的构成和关系类型,以及如何将E-R图转化为数据库表。重点讲解了数据建模、数据库设计的范式要求,如第一范式到第三范式,并解释了主键、外键的概念。此外,还探讨了建表的格式和约束类型,如主键约束、外键约束、唯一约束和非空约束的使用。
摘要由CSDN通过智能技术生成

一、软件开发的步骤可大致分为:

        1.需求分析 
        2.系统设计 (系统设计中一个重要的环节就是数据库设计
        3.编码实现
        4.系统测试
        5.运行维护

注:数据库设计的时候需要先进行数据建模(实体关系图 E-R图),其中,数据建模的依据就是前期所做的需求分析。

二、实体-关系图

  • 实体-关系图(Entity Relationship Diagram),也称为E-R图,提供了表示实体、属性和关系的方法,用来描述现实世界的概念模型。
  •  构成E-R图的基本要素是实体、属性和关系
  1. 实体(Entity):实体用来表示具有相同特征和性质的事物(类似于java的类),实体由实体名和实体属性来表示。
  2.  属性(Attribute):实体所具有的某一特性,一个实体可以有若干个属性
  3.  关系(Relationship):实体彼此之间相互连接的方式称为关系。一般可分为以下 3 种类型:

            一对一关系 (1 ∶ 1)
            一对多关系 (1 ∶ N)
            多对多关系 (M ∶ N)

  • may-be 和 must-be

        在实体与实体之间的关系中,都会存在着may-be和must-be这两种情况,例如:
        系统中有顾客和订单两个实体(1:N关系),一个顾客对应多个订单,一个订单对应一个顾客,而且一个顾客可以(may be)没有订单和他对应,一个订单一定(must be)会有顾客和它对应。

  • ER图中符号的表示

        1) # : 唯一, 以后可能表示为主键
        2) * : 非空
        3) o : 可有可无
        4) 虚线: may be  顾客这边虚线,顾客可能没有订单
        5) 实线: must be 订单这边实线,订单一定是属于某个客户。
        6) 竖杠(|): 代表要强制在(|)一方建立一个联合主键,将对方ID拿过来做联合主键
        7) 伞状图标:伞状图标代表多的一方,不是伞状图标则代表一的一方

三、数据库设计

  • 数据建模完成之后,可以把ER图转换成数据中的表

            1.实体的名字转换为名字
            2.实体的属性转换为中的
            3.具有唯一特点的属性设置为表中的主键
            4.根据实体之间的关系设置为表中某列为外键列(主外键关联)
            注意:第四步主要是:实体关系--->表关系

  • 设计关系数据库时,遵从不同的规范要求,才能设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小

        目前关系数据库有六种范式:
       1、 第一范式(1NF)
       2、 第二范式(2NF)
        3、第三范式(3NF)

        4、巴斯-科德范式(BCNF)
        5、第四范式(4NF)
        6、第五范式(5NF,又称完美范式)

      注:满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多规范要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了

      ①第一范式:
        一个表中,每个列里面的值是不能再分割的.
        例如这样设计一张表:
        表中有一个列是:爱好
        这个列的值可能会是这样:足球篮球乒乓球
        但是这值是可以再分割的:足球、篮球、乒乓球
        所以这种设计是不满足第一范式

    ②第二范式:
        第二范式

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值