时间:2021-07-01 10:21:17 帮助过:19人阅读
关系型数据库(RDBMS,),是建立在关系模型基础上的数据库,现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。
关系模型就是指二维表格模型,一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织,是由关系数据结构、关系操作集合、关系完整性约束三部分组成。
实体关系模型(Entity-Relationship Model),简称E-R Model是陈品山(Peter P.S Chen)博士于1976年提出的一套数据库的设计工具,运用真实世界中事物与关系的观念,来解释数据库中的抽象的数据架构。
增删改查等,SQL(Structured Query Language)(结构化查询语言)就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据的操作。
关系完整性约束是为保证数据库中数据的正确性和一致性,对关系模型提出的某种约束条件或规则。
完整性通常包括域完整性,实体完整性、参照完整性和用户定义完整性。
其中域完整性,实体完整性和参照完整性,是关系模型必须满足的完整性约束条件。
1)域完整性
域完整性是保证数据库字段取值的合理性,取值不能超出域,是否可以为NULL可以预先定义等。
2)实体完整性
主键唯一,不能重复也不能取“空值"。
3)参照完整性
指两个表的主关键字和外关键字的数据应一致(外键只能是所引用逐渐的值域中的值,或者为NULL;主键某值删除,则外键该值有一些约束-约束规则可选),保证了表之间的数据的一致性,防止了数据丢失或无意义的数据在数据库中扩散。
4)用户定义完整性
用户定义完整性(user defined integrity)是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。
1)与表有关的约束
表中定义的一种约束,可在列定义是定义该约束(列约束),也可以在表定义时定义约束(表约束)。
相关的包括列约束(NOT NULL)和表约束(PRIMARY KEY,foreign key,check-定义某列值域,UNIQUE)。
在Insert和Update时都会检查约束。
2)域约束
在域定义中被定义的一种约束,定义后可应用于特定域中任何列。
3)断言
在断言定义时定义的一种约束,可以与一个或多个表进行关联。
范式是符合某一种级别的关系模式的集合,表示一个关系内部各属性之间联系的合理化程度。其最大的意义是为了避免数据的冗余和插入/删除/更新的异常。
目前数据库有1NF,2NF,3NF,BCNF,4NF,5NF,数据库一般最多考虑到BCNF。
符合高一级范式的设计,必定符合低一级范式。
符合1NF的关系中的每个属性都不可再分。
2NF在1NF的基础之上,消除了非主属性对于码的部分函数依赖。
3NF在2NF的基础之上,消除了非主属性对于码的传递函数依赖。
在#NF的基础上,消除主属性对于码的部分与传递函数依赖。(如果关系R符合3NF,且候选码只有一个,那么关系R必定符合BCNF)
具体解释参照文末的资料。
从全部数据库排名上可以看到流行的关系型数据库是Oracle、MySQL、Microsoft SQL Server、PostgreSQL、DB2、Microsoft Access。
具体参数比较可以参考:
https://db-engines.com/en/system/Microsoft+SQL+Server%3BMySQL%3BOracle
NoSQL(Not Only SQL),泛指非关系型的数据库。
随着web2.0的兴起,传统关系数据库在应对超大规模和高并发的纯动态网站已经显得力不从心,而这些数据可能不需要结构化存储就可以直接横向扩展,所以NoSQL数据库发展起来去很好的处理这些大的数据。[4]
NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。
我们在讲这两者的区别前先看几个理论:
CAP定理是指对于一个分布式计算系统来说,不可能同时满足以下三点:
在任何时间点,不管哪台服务器应答了一个请求,所有服务器都会给出同样的答案。
即使某些服务器宕机了,整个系统仍能正常工作。
分区宽容度是指两台服务器之间的通信可以丢失,而系统仍能正常工作。
指事务数据库正确执行的四个要素,包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。目的是保证数据的正确性。
事实上实在没看懂这三个理论。
[8]
[1]数据完整性约束-百度百科
[2]范式-知乎
[3]数据量转换及几种关系型数据库优缺点比较
[4][8]NoSQL-百度百科
[5]NoSQL 简介-菜鸟教程
[6]从ACID到CAP到BASE
[7]CAP理论十二年回顾:"规则"变了
关系型数据库和NoSQL数据库
标签:工具 分享 维护 结构 elastic int 计算 不成功 又能