关系型数据库和关系型数据库管理系统
2017-03-17 15:38
441 查看
什么是关系型数据库?
关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。关系模型
现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间联系组成的一个数据组织。
实体关系模型(Entity-Relationship Model)简称E-R Model是一套数据库设计工具,运用真实世界事物与关系的概念,来解释数据库中的抽象的数据架构。实体关系模型利用图形 的方式(实体-关系图Entity-Relationship Diagram)来表示数据库的概念设计,有助于设计过程中的构思及沟通讨论。
关系操作
选择、投影、连接、并、交、差、除、数据操作、增加、删除、修改、查询完整性约束
关系完整性是为了保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则。完整性约束包括域完整性、实体完整性、参照完整性、用户定义完整性。其中域完整性、实体完整性和参照完整性是关系模型必须满足的完整性约束条件。
(1)域完整性约束(Domain Integrity Constrains):
域完整性是保证数据库字段取值的合理性。是最简单、最基本的约束。属性值应是域中的值。一个属性能否为NULL是由语义决定的,也是域完整性约束的主要内容。
在当今关系DBMS中,一般都有完整性约束检查功能。包括检查check、默认值default、不为空not null、外键foreign key等约束。
(2)实体完整性约束(Entity Integrity Constrains):
实体完整性是指关系的主关键字不能重复也不能取“空值”。在关系模式中,以主关键字作为唯一性标识,而主关键字中的属性(称为主属性)不能取空值,否则,表明关系模式中存在着不可标识的实体(因空值是“不确定\"的),这与现实世界的实际情况相矛盾,这样的实体就不是一个完整实体。按实体完整性规则要求,主属性不得取空值,如主关键字是多个属性的组合,则所有主属性均不得取空值。
(3)参照完整性约束(Referential Integrity Constrains):
参照完整性是定义建立关系之间联系的主关键字与外部关键字引用的约束条件。关系数据库中通常都包含多个存在相互联系的关系,关系与关系之间的联系是通过公共属性来实现的。所谓公共属性,它是一个关系R(称为被参照关系或目标关系)的主关键字,同时又是另一关系K(称为参照关系)的外部关键字。如果参照关系K中外部关键字的取值,要么与被参照关系R中某元组主关键字的值相同,要么取空值,那么,在这两个关系间建立关联的主关键字和外部关键字引用,符合参照完整性规则要求。如果参照关系K的外部关键字也是其主关键字,根据实体完整性要求,主关键字不得取空值,因此,参照关系K外部关键字的取值实际上只能取相应被参照关系R中已经存在的主关键字值。
(4)用户定义完整性(User Defined Integrity Constrains):
用户完整性是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。这一约束机制一般不应由应用程序提供,而应由关系模型提供定义并检验,用户定义完整性主要包括字段有效性约束和记录有效性。SQL
标准数据查询语言SQL就是基于关系数据库的语言,它是一种介于关系代数与关系演算之间的结构化查询语言。这种语言执行对数据库中数据的检索和操作。模式结构
(1)表:数据库表,行和列的形式组织起来的数据集合。在关系型数据库当中一个表就是一个关系,一个数据库包括一个或多个表。
(2)视图:
视图是从一个或多个表(或视图)导出的表。视图与表不同,是一个虚表,即视图所对应的数据不进行实际存储,数据库中只存储视图的定义,对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。(3)索引:
数据库索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中特定的信息。什么是关系型数据库管理系统?
包括相互联系的数据集合(数据库)和存取这些数据的一套程序(数据库管理系统软件)。关系数据库管理系统就是管理关系数据库,并将数据组织为相关的行和列的形同。例如mySQL、SQL Server都是关系数据库管理系统(RDBMS,Relational Database Management System)。专门运算包括选择运算、投影运算和连接运算。
相关文章推荐
- 关系型数据库跟费关系型数据库区别
- HBase数据库与关系型数据库的区别(取材于官方文档)
- Hive 与 HDFS 之间的联系、Hive 与 关系型数据库的区别
- 关系型数据库分库分表解决方案
- sqoop从关系型数据库导数据到hbase
- 常用的关系型数据库的优劣与选择
- [MongoDB]MongoDB的优缺点及与关系型数据库的比较
- 关系型数据库
- 什么叫存储过程?视图?关系型数据库产品?
- sql关系型和no-sql非关系型数据库区别
- 世界级的开源项目:TiDB 如何重新定义下一代关系型数据库
- Teradata 认证系列 - 3. 关系型数据库的概念
- zlt尼玛银行,深度学习Redis(一) 关系型与非关系型数据库使用方式的转变过程
- 从uchome看面向对象和关系型数据库的对应关系
- 关系型数据库与NoSQL数据库
- BI-学习之 商业智能平台的引入(传统关系型数据库的问题)
- 从关系型数据库到非关系型数据库
- 关系型数据库
- mysql系列之一关系型数据库基础理论
- 数据库:番外篇-关系型数据库和非关系型数据库区别