数据库设计的三范式

数据库介绍
一个项目的主要核心还是在数据库的设计上,数据库有三大类型:SqlServer、mysql oracle
虽然它们的类型是不一样,但是核心是sql标准,全部都一样。数据库的版本也在不断的更新,从1986到2019的版本,它们不同的是:发布、构架、安全等有所加强省级,但是它的标准还是按照2011的标准。 数据库是软件系统的灵魂和核心,也是大数据工程和人工智能的支撑
一、 数据库设计的核心要领
1、三范式
2、主键和外键在系统设计中的应用(实体关系)
3、递归的应用
4、索引(加快查询)
二、数据库设计当前热门应用领域深度分析
在我们学校可以用来做练习的系统有那么几个,也就是数据量的话会比一些普通的系统要复杂一些。
1、 第三方物流运输管理系统
2、 火车订票系统
3、飞机票系统(南方航空)
4、美团系统(订餐、购药、跑腿等)
以上这些软件系统都是数据量比较大一点的,还有就是医院住院 门诊等系统,这些用到的数据也是比较多的。
数据库的三范式
1NF:就是强调是列的原子性,即列不能够再分成其它几列
2NF:行的原子性:
一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。
3NF:
主键和外键(表与表之间的关系) ;
键列与普通列的区别
键列:整个数据库中出现N次
普通列:原则上只能出现1次
另外非主键列必须直接依赖于主键,不能存在传递依赖。
即不能存在:非主键列 A 依赖于非主键列 B,非主键列 B 依赖于主键的情况

数据库表的设计基本原则
1.每个表必须由一个主键,该主键一般设置为自增类型;
2.数据类型匹配数据信息属性,数据长度符合实际,不宜过长或过短;
比如 年龄 应该是 smallint 不可以是int 或bigint
身份证: char 不可以是 int
电话号码:char 不可以是 int
关于数据类型的使用要注意:长度匹配、小数点位数匹配、真正需要用于计算的信息(属性),才需要设计成“数字类型”。
3.不能滥用 可变的var- 数据类型,表面节约空间,实际增加数据库的运行效率。
4.能通过计算得到的列,都不能出现在表中。
5.所有非健值列在整个数据库中只能出现一次。
三种关系:
“1-M”:一对多(>=1),
“1-1”:一对一。
“MN”:多对多,M:N =M:1+1:N
在这里插入图片描述

需求分析:需求分析主要工作是收集和分析用户对系统的信息需求和处理需求,以需求分析说明书为主要成果。其中,其中,信息需求是数据库设计的基础,包括数据库所设计的数据、数据的特征、使用频率和数据量的估计等。通常在需求说明书中,以表格形式描述数据名、属性及其类型、完整性约束等。
概念结构设计:在概念结构设计阶段,先设计各个应用的视图,即各个应用所看到的数据及其结构,然后再进行视图集成,以形成一个单一的概念数据模型。然后,经过数据库设计者和用户的审查与修改,最后形成所需的概念数据模型。
逻辑结构设计:逻辑结构设计使用E-R图和DBMS提供的数据定义语言(DDL)描述数据模式,具体方法与DBMS的逻辑数据模型紧密相关,并满足数据库存取、一致性及运行等各方面的用户需求。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值