数据库知识总结

打印 上一主题 下一主题

主题 896|帖子 896|积分 2688

一、数据库的设计方法

直观设计法(手工试凑发);
规范设计法:将数据库设计分为若干阶段,明确规定各阶段的任务,采取“自顶向下、分层实现、逐步求精”的设计原则,结合数据库理论和软件工程设计方法,实现设计过程的每一细节,最终完成整个设计任务。(新奥尔良方法、基于E-R模子的数据库设计方法、基于3NF(第三范式)的设计方法、面向对象的数据库设计方法、统一建模语言(UML)方法);
计算机辅助设计法:
二、概念结构设计

1、ER概念模子

实体关系图(ER图):
组成元素:实体、属性、关系;
关系:一对一,一对多,多对多;
ER图的集成:确定公共实体范例、合并分ER图、查抄并消除冲突;
冲突范例:属性冲突、定名冲突、结构冲突
2、键和相干属性的概念



5)主属性: 包罗在任一候选键中的属性称为主属性。
6) 非主属性: 与主属性相对,指的是不包罗在任何一个候选键中的属性。
3、范式

在关系型数据库中,关于数据表设计的基本原则、规则就称为范式。范式是一种用于减少数据冗余和进步数据完整性的理论。
(目前关系型数据库有六种常见范式,按照范式级别,从低到高分别是:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)
数据库的范式设计越高阶,冗余度就越低,同时高阶的范式肯定符合低阶范式的要求,满意最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满意更多规范要求的称为第二范式(2NF),其余范式以次类推。一样平常来说,在关系型数据库设计中,最高也就遵循到 BCNF广泛还是 3NF 。但也不绝对,有时间为了进步某些查询性能,我们还需要粉碎范式规则,也就是 反规范化。)
1)第一范式

定义:第一范式要求数据库中的每一个字段都必须是不可分割的原子值。即表中的每列(字段)应仅包罗单一值,而不应包罗重复或复杂的数据结构(如数组、聚集等)。
特点:每个字段只能包罗一个值,不能有多值属性;表的每一行都应是唯一的。

2)第二范式

定义:第二范式是在满意第一范式的基础上,要求表中的每个非主键属性都必须完全依赖于主键,而不能只依赖主键的一部分。这意味着如果主键是由多个字段组成的,那么非主键字段不能仅依赖于其中一部分。
特点:消除了部分依赖:即非主键字段不能只依赖于复合主键的一部分;每个非主键字段都应该依赖于整个主键。

3)第三范式

定义:第三范式要求在满意第二范式的基础上,全部非主键属性都必须直接依赖于主键,而不能依赖于其他非主键属性。这意味着表中不应有传递依赖。
特点:消除了传递依赖:即非主键字段不能依赖于其他非主键字段;保证了数据的完整性和减少了冗余。
示例:

以上仅满意第一范式

以上满意第二范式,因为分数依赖于学号和课名,姓名系名系主任都依赖于学号,但不满意第三范式,因为存在系主任依赖于系名这层关系。

以上满意第三范式
总结:
第一范式(1NF): 消除重复的数据,确保每个字段是原子值。
第二范式(2NF): 消除部分依赖,确保每个非主键属性完全依赖于主键。
第三范式(3NF): 消除传递依赖,确保每个非主键属性直接依赖于主键。
4)巴斯范式(BCNF)

若一个关系达到了第三范式,并且它只有一个候选键,大概它的每个候选键都是单属性,则该关系天然达到BC范式。
4、反范式

反范式(Denormalization) 是数据库设计中的一种策略,它与 范式化(Normalization) 相对。范式化的目的是减少数据冗余,进步数据同等性,而反范式化则是有意识地引入冗余数据,以进步系统的性能,尤其是在查询效率上。虽然反范式会增长一些冗余和大概的更新非常,但它在某些情况下可以明显进步数据库的相应速率。
1)应用场景


2)优缺点


5、慢查询

定义:慢查询是指数据库中执行时间较长的查询语句,通常是指那些泯灭大量资源、相应时间较长的查询。
1)产生缘故原由


2)办理办法


6、补充知识

1)数据库变乱的四大特征

定义:数据库变乱是指作为单个逻辑工作单位执行的一系列操作,这些操作要么全做要么全不做,是一个不可分割的工作单位。

2)数据库系统特点

数据库系统特点:数据共享、数据独立性、数据完整性和安全性、数据冗余度低、变乱管理和并发控制。
3)四类完整性



4)存储过程

存储过程(Stored Procedure)是在数据库中预先编译和存储的一段SQL代码,用户或应用程序可以通过调用它来执行特定的任务。
存储过程的好处包罗:进步性能、进步代码重用性、增强安全性、减少网络流量、封装和简化复杂逻辑、减少开发错误、变乱控制、进步可维护性。
5)常见的数据库


6)关系型数据库和非关系型数据库的区别


   (1)数据模子:关系型数据库采取表格(table)形式存储数据,而非关系型数据库没有固定的结构,支持多种数据模子,如文档、键值对等。
(2)查询语言:关系型数据库使用尺度的SQL来进行数据操作,而非关系型数据库是通过特定的API大概查询语言来访问数据。比方,MongoDB使用的是基于JSON格式的查询语法,Redis使用命令行操作来处理数据。
(3)变乱支持:关系型数据库遵循ACID(原子性、隔离性、同等性、持久性)变乱管理,这意味着每个变乱要么完全执行,要么完全不执行,通过强变乱支持确保数据同等性和可靠性。非关系型数据库是弱变乱支持,通常遵循CAP定理(同等性、可用性、分区容忍性),大多数NoSQL数据库并不强制支持ACID变乱,而是提供不同程度的变乱支持,通常是针对单个操作或局部数据的同等性,而不是跨多个操作的强同等性。
(4)数据同等性:关系型数据库在变乱管理中,通常保证强同等性,即在任何时间系统中的数据都是同等的。大多数NoSQL数据库提供最终同等性,即系统中的数据经过一段时间后将达到同等性,但在此期间大概存在暂时的不同等性。这使得NoSQL能够更好地处理高并发和分布式环境中的数据同等性问题。
  补充:非关系型数据库是如何实现最终同等性的?



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大号在练葵花宝典

金牌会员
这个人很懒什么都没写!

标签云

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