正文 第41章 信息係統與數據庫應用基礎2(2 / 3)

③多對多聯係(m∶n)。

如果對於實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯係,反之,對於實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯係,則稱實體集A與實體集B具有多對多聯係,記為m∶n。例如,一門課程同時有若幹個學生選修,而一個學生可以同時選修多門課程,則課程與學生之間具有多對多聯係。

ER圖用來表示兩個實體型之間的聯係。其中實體型用矩形表示,矩形框內寫明實體名;屬性用橢圓來表示,並用無向邊將其與相應的實體連接起來;聯係用菱形表示,菱形框內寫明聯係名,並用無向邊將其與有關的實體連接起來,同時在無向邊上注明聯係的類型(1∶1、1∶n或m∶n)。

數據庫是以一定組織方式存儲在計算機存儲介質上,並能為多個用戶共享且獨立於應用程序的相關數據的集合。可以把它看成是數據的倉庫,這個“倉庫”中的數據彼此之間是有聯係的、有規則的,而不是獨立的、雜亂無章的。

數據庫的性質由數據模型決定。數據模型決定了數據及其相互間的聯係方式,決定了數據庫的設計方法。按照數據間不同的聯係方式,可將常用的數據模型分為四種。層次模型、網狀模型、關係模型和麵向對象模型。滿足層次模型特性的數據庫為層次型數據庫;滿足網狀模型特性的數據庫為網狀型數據庫;滿足關係模型特性的數據庫為關係型數據庫。

(1)層次模型。

層次模型表示數據間的從屬關係結構,其總體結構像一棵倒置的樹。根結點在上,層次最高;子結點在下,逐層排列。在不同的結點(數據)之間隻允許存在單線聯係,如一個學校的行政機構可以抽象成為一個層次模型,其主要特征有。

①有且僅有一個結點無雙親,稱此結點為根結點。

②除根結點外,其餘結點均有且僅有一個雙親。

層次模型的另一個最基本的特點是,任何一個給定的記錄值,隻有按其路徑查看時才能顯示它的全部意義,沒有任何一個子記錄值能夠脫離雙親記錄值而獨立存在。

1969年美國IBM公司推出的IMS係統是最典型的層次模型係統,曾在20世紀70年代在商業上廣泛應用。

(2)網狀模型。

圖126網狀模型示例網狀模型采用結點間的連通圖(網狀結構)表示實體及其聯係,其總體結構呈現一種交叉關係的網絡結構,能表示實體之間複雜的聯係情況。網狀數據庫係統采用網狀模型作為數據的組織方式。網狀數據模型的典型代表是DBTG係統,亦稱CODASYL係統。DBTG係統雖然不是實際的軟件係統,但是它提出的基本概念、方法和技術具有普遍意義,它對於網狀數據庫係統的研製和發展起了重大的影響。後來不少係統都采用DBTG模型或者簡化的DBTG模型。

(3)關係模型。

關係模型是目前最常用的一種數據模型。關係數據庫係統采用關係模型作為數據的組織方式。1970年IBM公司SanJose研究室的研究員E.F.Codd首次提出了數據庫係統的關係模型,開創了數據庫關係方法和關係數據理論的研究,為數據庫技術奠定了理論基礎。由於E.F.Codd的傑出工作,他於1981年獲得ACM圖靈獎。

關係模型采用二維表結構表示實體類型以及實體間聯係。關係模型比較簡單,容易被初學者接受。關係在用戶看來是一個表格,記錄是表中的行,屬性是表中的列。關係模型是數字化的模型,可把表格看成一個集合,因此集合論、數理邏輯等知識可引入到關係模型中來。關係模型已是一個成熟的模型,當前社會最為流行的數據庫產品,大多數是在關係模型基礎上發展起來的,數據庫領域當前的研究工作也都是以關係方法為基礎的。