關聯式資料庫由表(table)的集合組成,每個表都有唯一的名字。
表中的一行代表一組值之間的一種聯絡
在關係模型中,關係(relation)用來指代表,元祖(tuple)用來指代行,屬性(attribute)指代表中的列
關係例項(relation instance)用來表示乙個關係的特定例項,也就是所包含的一組特定的行
對於關係的每個屬性,都存在乙個允許取值的集合,稱為該屬性的域(domain),要求關係r的所有屬性的域都是原子的。
空(null)值是乙個特殊值表示該值不存在或者未知
資料庫模式(database schema)和資料庫例項(database instance),前者是資料庫的邏輯的設計,後者是給定時刻資料庫中資料的乙個快照
關係的概念對應程式語言中變數的概念,關係模式(relation schema)的概念對應程式語言中的類的定義,關係例項的概念對應於程式語言中變數的值
乙個關係中沒有兩個元組在所有的屬性上取值都相同
超碼(superkey)是乙個或多個屬性的集合,這些屬性的組合可以使我們在乙個關係中唯一標識乙個元組。
乙個超碼的任意子集都不能稱為超碼時,稱為這個超碼為候選碼(candidate key)
主碼(primary key)代表在資料庫設計時被選中的候選碼
碼的指定代表了被建模的事物在現實世界中的約束
乙個關係模式r1可能在他的屬性中包含另外乙個關係模式r2的主碼,這個主碼稱為外碼(foreign key),r1也稱為外碼依賴的參照關係(referencing relation),r2叫做外碼的被參照關係(referenced relation)
參照完整性約束(referential integrity constraint)要求在參照關係中任意元組的特定屬性上的取值必然等於被參照關係中某個元組在特定屬性上的取值
每個關係用乙個矩形來表示
主碼屬性用下劃線來標註,外碼依賴用從參照關係的外碼屬性到被參照關係的主碼屬性之間的箭頭來表示
在這裡插入描述
查詢語言(query language)是使用者從資料庫中獲取資訊的語言
查詢語言分為過程化語言(procedural language)和非過程化語言(nonprocedural language)。
過程化語言,使用者指導系統對資料庫進行一系列操作
非過程化語言,使用者只需描述所需內容,而不需要給出具體過程
有一些純查詢語言:關係代數是過程化的,而元組關係的演算和域關係的演算是非過程化的。
所有過程化的查詢語言都提供了一組運算,這些運算要麼施加於乙個關係上,要麼施加於一對關係上。運算的結果是單個關係。
資料庫系統概念之關係模型介紹
關聯式資料庫由表的集合構成,每個表有唯一的名字。表中的一行代表了一組值之間的一種聯絡。n元組就是乙個有n個值的元組,它對應表中的一行。在關係模型的術語中,關係用來指代表,元組用來指代行,屬性指代的是表中的列。用關係例項這個術語來表示乙個關係中的特定例項,也就是所包含的一組特定的行。對於關係的每個屬性...
資料庫系統原理(2)關係模型介紹以及關係運算
關係模型 描述資料,資料聯絡,資料語義,一致性約束的概念公寓的集合。屬性對應表中的列 域列的取值範圍 相同資料型別的值的集合 元組表中的行即為元組 關係由n個域笛卡爾積 即從每個域中抽取作為元組的乙個分量 的子集組成的一張2維表稱為關係。由於並非所有元組都有意義,所以只有那些有意義的元組的集合才是關...
資料庫系統概念 關聯式資料庫
database system concepts 6e 總結 本篇是 資料庫系統概念 原版書籍第一部分,這一部分介紹了關係模型的基礎知識,介紹了最普遍的一種查詢語言 sql語言,以及關係代數。1.關聯式資料庫 a relational database consists of a collectio...