關聯式模型與SQL語言

作者:陳雲飛&許文達&夏進

關聯式模型與SQL語言

科德(Codd)於1970年時提出關聯式資料模型,當時大部分資料庫系統是以舊式資料模型(階層式與網路)為基礎;關聯式模型革新了整個資料庫領域,並大幅取代這些早期模型。如今,關聯式資料模型已取得主導地位,並成為DBMS產品的基礎,這些產品包括IBM的DB2系列、Informix、Oracle、Sybase、Microsoft Access和SQL Server、FoxBase與Paradox等。

SQL係指結構化查詢語言(Structured Query Language),原是IBM System-R前導關聯式DBMS開發出的查詢語言,現已變成了用來建立、操作與查詢DBMSs最常使用的語言。1986年由美國國家標準學會(ANSI)發展出第一套SQL標準,稱為SQL-86。1989年小修為SQL-89,1992年則大修訂為SQL-92,由國際標準組織(ISO)與ANSI合力完成。目前大多數商業版DBMSs支援SQL-92(核心子集),並且致力於支援最近通過的SQL:1999標準版本,此為SQL-92的主要擴充。

(一)關聯式模型概說

關聯式模型呈現資料的主要結構是關聯(Relation),關聯是由一個「關聯網目」(Relational schema)與「關聯實例」(Relational instance)組成。另因資料庫是用來儲存資訊,因此DBMS必須預防將錯誤的資料輸入到資料庫,還需要「完整性限制式」(ICs)。

1.關聯實例(Relational instance):

係一資料表。一個關聯實例是一組記錄(也稱做Tuples),每一筆記錄擁有和關聯綱目所定義相同的欄位數。一筆記錄是一列,所有的列都有同樣個數的欄位(為避免和關聯的其他面向,如「綱目」混淆,關聯實例一詞常簡寫成關聯)。

2.關聯綱目(Relational schema):

所謂「關聯綱目」描述了資料表的表頭欄位。亦即指定了關聯實例的名稱、每一欄位或屬性的名稱,以及每欄的值域(Domain) 。

AddThis Sharing

百科問與答

暫無討論