跳转到内容

关系数据库:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
Jenhua0712留言 | 贡献
无编辑摘要
无编辑摘要
 
(未显示63个用户的89个中间版本)
第1行: 第1行:
{{Unreferenced |time=2009-07-06T13:44:01+00:00 }}
-{T|zh-tw:關聯式資料庫;zh-cn:关系数据库}-
{{noteTA
'''-{A|zh-tw:關聯式資料庫;zh-cn:关系数据库}-'''是建立在集合代数基础上,应用数学方法来处理[[数据库]]中的数据。现实世界中的各种[[实体]]以及实体之间的各种联系均用[[关系模型|-{A|zh-tw:關聯模型;zh-cn:关系模型}-]]来表示。换句话说,关系数据库是建立在关系模型基础上的数据库。关系模型是由[[埃德加·科德]]于1970年首先提出的。现如今虽然对此模型有一些批评意见,但它还是数据存储的传统标准。标准数据查询语言[[SQL]]就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据的检索和操作。
|G1=IT
[[关系模型]]由-{A|zh-tw:關聯;zh-cn:关系}--{A|zh-tw:資料;zh-cn:数据}-结构、关系操作集合、关系完整性约束三部分组成。
|2=zh-hans:关系模型; zh-hant:關聯模型;
|3=zh-hans:关系; zh-hant:關聯;
|4=zh-hans:数据; zh-hant-TW:資料; zh-HK:數據;
}}
[[File:Emp Tables (Database).PNG|right]]


'''关系数据库'''({{lang-en|Relational database}}),是建立在[[关系模型]]基础上的[[数据库]],借助于[[集合代数]]等[[数学]]概念和方法来处理数据库中的数据。现实世界中的各种[[实体]]以及实体之间的各种联系均用[[关系模型]]来表示。关系模型是由[[埃德加·科德]]于1970年首先提出的,並配合“[[科德十二定律]]”。现如今虽然对此模型有一些批评意见,但它还是数据存储的传统标准。标准数据查询语言[[SQL]]就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据的检索和操作。
優點:
1.資料的存取不須透過程式設計師特別的設計,只須交由資料庫管理系統處理即可。


[[关系模型]]由关系数据结构、关系操作集合、关系完整性约束三部分组成。
2.資料庫管理系統已經提供了資料安全及一致性、安全性的維護,比檔案式管理更有效率。


== 實體關係模型 ==
3.關連式資料庫管理系統在資料的存取上提供了索引的功能,因此,當資料量變得龐大時,對於資料存取的速度會比直接使用檔案快上許多。
{{main|實體關係模型}}
實體關係模型(Entity-Relationship Model),簡稱E-R Model,是[[陳品山]](Peter P.S Chen)博士於1976年提出的一套資料庫的設計工具,他運用真實世界中事物與關係的觀念,來解釋資料庫中的抽象的資料架構。實體關係模型利用圖形的方式(實體-關係圖(Entity-Relationship Diagram))來表示資料庫的概念設計,有助於設計過程中的構思及溝通討論。


== 关系操作 ==
缺點:
[[File:Relational database terms.svg|350px|thumb|right|關係操作]]
关系模块中常用的操作包括:
* 数据查询
** 选择
** 投影
** 连接
** 并
** 交
** 差
** 除
* 数据操作
** 新增
** 删除
** 修改
** 查询


== 完整性约束 ==
1.資料模型化能力弱:關連式資料庫無法記錄一個複雜的資料結構,因此若要描述物件與物件之間的複雜關係,則必須外建立一個表格來做處理。而且當資料量越來越多時,必須額外新建更多的表格才足以應付需求。如此,整個資料庫系統便顯得非常龐大且難以達到模型化。
完整性约束包括:
* 实体完整性
* 参照完整性
* 用户定义完整性


== 关系数据语言SQL ==
2.執行效率低:若表格非常多時,透過主鍵(primary key)以及外鍵(foreign key)來做資料的比較、查詢與處理將會使執行效率降低。
[[SQL]](Structured Query Language)语言是1974年由Boyce和Chamberlin提出的一种介于[[关系代数 (数据库)|关系代数]]与[[关系演算]]之间的结构化查询语言,是一个通用的、功能极强的关系性数据库语言。


== 模式结构 (Schema)==
3.資料模型不一致:因為關聯式資料庫與物件導向資料庫的觀念是不相同的,因此,在設計系統以及實際作時若採用不同方式,則會造成錯誤。
{{main|綱要_(資料庫)}}
* 外模式
外模式用来描述用户看到的或使用的部分的数据的逻辑结构,用户根据外模式用户数据操作语句或者程序操作数据库中的数据。
* 模式
又称逻辑模式,是数据库中全部数据的逻辑结构和特征的描述。
* 内模式
内模式对应于物理机器的数据库,是三层模式中最底层的表示,描述数据在存储介质上的存储方式和物理结构。


=== 表(關聯Relation) ===
參考資料
{{main|数据库表}}
網路 http://class.ocit.edu.tw/c091172/test2/thframe.asp?body1=1-3
[[File:Relational model concepts.png|thumb|360px|列(屬性Attribute)和行(值組Tuple)的形式]]

表(關聯Relation)是以行(值組Tuple)和列(屬性Attribute)的形式组织起来的数据的集合。一个数据库包括一个或多个表(關聯Relation)。例如,可能有一个有关作者信息的名为authors的表(關聯Relation)。每列(屬性Attribute)都包含特定类型的信息,如作者的姓氏。每行(值組Tuple)都包含有关特定作者的所有信息:姓、名、住址等等。在关系型数据库当中一个表(關聯Relation)就是一个关系,一个关系数据库可以包含多个表(關聯Relation)
==关系数据结构==
[[关系模型]]中数据的逻辑结构是一张二维表。

==关系操作==
关系模块中常用的操作包括:
*数据查询
**选择
**投影
**连接
**并
**交
**差
**除
*数据操作
*增加
*删除
*修改
==完整性约束==
完整性约束包括:
*实体完整性
*参照完整性
*用户定义完整性
==关系数据语言[[SQL]]==
[[SQL]](Structured Query Language)语言是1974年由Boyce和Chamberlin提出的一种介于[[关系代数]]与[[关系演算]]之间的结构化查询语言,是一个通用的、功能极强的关系性数据库语言。
==模式结构==
*外模式
*模式
*内模式
===表===
===视图===
===索引===


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


=== 索引 ===
[[Category:数据库]]
{{main|数据库索引}}


== 全关系系统十二准则 ==
[[cs:Relační databáze]]
{{main|科德十二定律}}
[[de:Relationale Datenbank]]
== 參見 ==
[[en:Relational database]]
* [[非關係型數據庫]]
[[eo:Rilata datumbazo]]
{{-}}
[[es:Base de datos relacional]]
{{Databases}}
[[fa:پایگاه‌های رابطه‌ای داده‌ها]]
{{Computer Science}}
[[fr:Base de données relationnelle]]
{{SQL}}
[[he:בסיס נתונים טבלאי]]
{{Authority control}}
[[hu:Relációs adatbázis]]
[[Category:資料庫管理系統]]
[[ja:リレーショナルデータベース]]
[[Category:關聯模型]]
[[ko:관계형 데이터베이스]]
[[lt:Reliacinė duomenų bazė]]
[[nl:Relationele database]]
[[no:Relasjonsdatabase]]
[[pl:Model relacyjny]]
[[pt:Banco de dados relacional]]
[[ru:Реляционные базы данных]]
[[sv:Relationsdatabas]]

2023年1月18日 (三) 09:23的最新版本

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

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

實體關係模型

[编辑]

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

关系操作

[编辑]
關係操作

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

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

完整性约束

[编辑]

完整性约束包括:

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

关系数据语言SQL

[编辑]

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

模式结构 (Schema)

[编辑]
  • 外模式

外模式用来描述用户看到的或使用的部分的数据的逻辑结构,用户根据外模式用户数据操作语句或者程序操作数据库中的数据。

  • 模式

又称逻辑模式,是数据库中全部数据的逻辑结构和特征的描述。

  • 内模式

内模式对应于物理机器的数据库,是三层模式中最底层的表示,描述数据在存储介质上的存储方式和物理结构。

表(關聯Relation)

[编辑]
列(屬性Attribute)和行(值組Tuple)的形式

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

视图

[编辑]

索引

[编辑]

全关系系统十二准则

[编辑]

參見

[编辑]