码迷,mamicode.com
首页 > 数据库 > 详细

关系型数据库

时间:2016-05-28 23:07:23      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:

一.概念

      关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系模型是由埃德加·科德于1970年首先提出的,并配合“科德十二定律”。现如今虽然对此模型有一些批评意见,但它还是数据存储的传统标准。标准数据查询语言SQL就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据的检索和操作。 关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。

二.简介

      关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。当前主流的关系型数据库有Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access、MySQL、浪潮K-DB等。

      实体关系模型,简称E-R Model是陈品山(Peter P.S Chen)博士于1976年提出的一套数据库的设计工具,他运用真实世界中事物与关系的观念,来解释数据库中的抽象的数据架构。实体关系模型利用图形的方式(实体-关系图(Entity-Relationship Diagram))来表示数据库的概念设计,有助于设计过程中的构思及沟通讨论。

    1.关系操作

      关系模块中常用的操作包括:数据查询、选择、投影、连接、并、交、差、除、数据操作、增加、删除、修改、查询;

    2.完整性

      完整性约束包括:实体完整性、参照完整性、用户定义完整性;

    3.SQL

      SQL语言是1974年由Boyce和Chamberlin提出的一种介于关系代数与关系演算之间的结构化查询语言,是一个通用的、功能极强的关系型数据库语言。

三.模式结构

   外模式——模式——内模式

   1.表

     主条目:数据库表

     行和列的形式:表是以行和列的形式组织起来的数据的集合。一个数据库包括一个或多个表。例如,可能有一个有关作者信息的名为 authors 的表。每列都包含特定类型的,如作者的姓氏。每行都包含有关特定作者的所有信息:姓名、住址等等。在关系型数据库当中一个表就是一个关系,一个关系数据库可以包含多个表。

   2.视图

     主条目:视图

   3.索引

     主条目:数据库索引

四.十二准则

    全关系系统应该完全支持关系模型的所有特征。关系模型的奠基人埃德加·科德具体地给出了全关系系统应遵循的基本准则。

    1.一个关系形的关系数据库管理系统必须能完全通过它的关系能力来管理数据库。

    2.信息准则 关系数据库管理系统的所有信息都应该在逻辑一级上用表中的值这一种方法显式的表示。

    3.保证访问准则 依靠表名、主码和列名的组合,保证能以逻辑方式访问关系数据库中的每个数据项。

    4.空值的系统化处理 全关系的关系数据库管理系统支持空值的概念,并用系统化的方法处理空值。

    5.基于关系模型的动态的联机数据字典 数据库的描述在逻辑级上和普通数据采用同样的表述方式。

    6.统一的数据子语言 一个关系数据库管理系统可以具有几种语言和多种终端访问方式,但必须有一种语言,它的语句可以表示为严格语法规定的字符串,并能全面的支持各种规则。

    7.视图更新准则 所有理论上可更新的视图也应该允许由系统更新。

    8.高级的插入、修改和删除操作 系统应该对各种操作进行查询优化。

    9.数据的物理独立性 无论数据库的数据在存储表示或访问方法上作任何变化,应用程序和终端活动都保持逻辑上的不变性

    10.数据逻辑独立性 当对基本关系进行理论上信息不受损害的任何改变时,应用程序和终端活动都保持逻辑上的不变性。

    11.数据完整的独立性 关系数据库的完整性约束条件必须是用数据库语言定义并存储在数据字典中的。

    12.分布独立性 关系数据库管理系统在引入分布数据或数据重新分布时保持逻辑不变。

   无破坏准则 如果一个关系数据库管理系统具有一个低级语言,那么这个低级语言不能违背或绕过完整性准则。

 

关系型数据库

标签:

原文地址:http://www.cnblogs.com/arxk/p/5538496.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!