跳转到内容

关系数据库

本页使用了标题或全文手工转换
维基百科,自由的百科全书

这是本页的一个历史版本,由Ptbotgourou留言 | 贡献2011年10月25日 (二) 00:00 (r2.6.5) (機器人 新增: kk:Хабарламалық мәліметтер базасы编辑。这可能和当前版本存在着巨大的差异。

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

关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。

實體關係模型

實體關係模型(Entity-Relationship Model),簡稱E-R Model,是陳品山(Peter P.S Chen)博士於1976年提出的一套資料庫的設計工具,他運用真實世界中事物與關係的觀念,來解釋資料庫中的抽象的資料架構。實體關係模型利用圖形的方式(實體-關係圖(Entity-Relationship Diagram))來表示資料庫的概念設計,有助於設計過程中的構思及溝通討論。

关系操作

關係操作

关系模块中常用的操作包括:

  • 数据查询
    • 选择
    • 投影
    • 连接
  • 数据操作
    • 增加
    • 删除
    • 修改
    • 更新

完整性约束

完整性约束包括:

  • 实体完整性
  • 参照完整性
  • 用户定义完整性

关系数据语言SQL

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

模式结构

  • 外模式
  • 模式
  • 内模式

行和列的形式

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

视图

索引

全关系系统十二准则

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

准则0
一个关系形的關聯式資料庫管理系統必须能完全通过它的关系能力来管理数据库。
准则1 信息准则
關聯式資料庫管理系統的所有信息都应该在逻辑一级上用表中的值这一种方法显式的表示。
准则2 保证访问准则
依靠表名、主码和列名的组合,保证能以逻辑方式访问关系数据库中的每个数据项。
准则3 空值的系统化处理
全关系的關聯式資料庫管理系統支持空值的概念,并用系统化的方法处理空值。
准则4 基于关系模型的动态的联机数据字典
数据库的描述在逻辑级上和普通数据采用同样的表述方式。
准则5 统一的数据子语言
一个關聯式資料庫管理系統可以具有几种语言和多种终端访问方式,但必须有一种语言,它的语句可以表示为严格语法规定的字符串,并能全面的支持各种规则。
准则6 视图更新准则
所有理论上可更新的视图也应该允许由系统更新。
准则7 高级的插入、修改和删除操作
系统应该对各种操作进行查询优化。
准则8 数据的物理独立性
无论数据库的数据在存储表示或存取方法上作任何变化,应用程序和终端活动都保持逻辑上的不变性。
准则9 数据逻辑独立性
当对基本关系进行理论上信息不受损害的任何改变时,应用程序和终端活动都保持逻辑上的不变性。
准则10 数据完整的独立性
关系数据库的完整性约束条件必须是用数据库语言定义并存储在数据字典中的。
准则11 分布独立性
關聯式資料庫管理系統在引入分布数据或数据重新分布时保持逻辑不变。
准则12 无破坏准则
如果一个關聯式資料庫管理系統具有一个低级语言,那么这个低级语言不能违背或绕过完整性准则。