對E R模型的深入理解

2021-06-28 02:01:05 字數 4159 閱讀 7737

摘要:首先對e/r模型作了詳細的介紹,詳細介紹了e/r模型的結構,對幾種特殊的實體聯絡,以及怎樣構造模型,還有實際的應用問題,本文都給予了詳細的介紹。

一丶e-r模型

1.e-r模型的結構

e-r模型的構成成分是實體集、屬性和聯絡集,其表示方法如下:

(1) 實體集用矩形框表示,矩形框內寫上實體名。

(2) 實體的屬性用橢圓框表示,框內寫上屬性名,並用無向邊與其實體集相連。

(3) 實體間的聯絡用菱形框表示,聯絡以適當的含義命名,名字寫在菱形框中,用無向連線將參加聯絡的實體矩形框分別與菱形框相連,並在連線上標明聯絡的型別,即1—1、1—m或m—m。

因此,e-r模型也稱為e-r圖。例如系、學生和課程的聯絡的e-r模型表示見圖。

系、學生和課程作為實體集;乙個系有多個學生,而乙個學生僅屬於乙個系,所以系和課程之間是一對多的聯絡;乙個學生可以選修多門課程,而一門課程有多個學生選修,所以學生和課程之間是多對多的聯絡。

2.e-r模型對幾種特殊的實體聯絡的表示

e-r模型在表示複雜實體和實體之間的複雜聯絡方面有較強的能力。除了可以明確表示二個實體集之間1—1、1—m或m—m的聯絡。還可以:

(1) 表示三個以上的實體集之間的聯絡。

例如,乙個售貨員(salesperson)可以將多種商品(goods)售給乙個顧客(customer),而乙個售貨員也可以將一種商品售給多個顧客;乙個顧客的一種商品可以由多個售貨員經售。售貨員、商品和顧客三個實體集之間的聯絡是多對多的三元聯絡,其e-r模型表示見圖1.11

(2) 表示乙個實體集內部的聯絡

例如,雇員(emp)這個實體集中,總經理下設多個部門經理,而部門經理下面有多個雇員。因此,雇員這個實體集中實體之間存在一對多的聯絡,其e-r模型如圖1.12所示。

(3) 表示二個實體集之間的多種聯絡

例如,雇員(emp)和裝置(equip)之間可以有多種聯絡,一種聯絡是乙個裝置可以由多個雇員操作(operation),另一種聯絡是乙個雇員可以維修(maintain)多個裝置,其e-r模型如圖1.13所示。

3.作e-r圖的步驟

(1) 確定實體和實體的屬性

(2) 確定實體之間的聯絡及聯絡的型別

(3) 給實體和聯絡加上屬性

如何劃分實體及其屬性有兩個原          則可作參考:一是作為實體屬性的事物本身沒有再需要刻畫的特徵而且和其它實體沒有聯絡。二是屬性的乙個值可以和多個實體對應,而不是相反。儘管e-r模型中的屬性可以是單值屬性也可以是多值屬性,為簡單計,多值屬性常常被作為多個屬性或作為乙個實體(見第6章弱實體)。

例如,職工和部門,一般情況下,乙個部門有多個職工,而乙個職工僅屬於乙個部門。所以職工應作為實體,而部門既可作為職工的屬性——部門本身僅有乙個名稱;也可以作為實體——部門具有部門號、部門名稱及**等,如圖1.14所示。

再如,職工和工種,乙個工種有多個職工,而乙個職工僅屬於乙個工種,所以職工應作為實體,而工種既可作為職工的屬性——工種本身僅有乙個名稱;也可以作為實體——工種和其它實體,例如和勞保用品有聯絡,如圖1.15所示。

如何劃分實體和聯絡也有乙個原則可作參考:當描述發生在實體集之間的行為時,最好採用聯絡集。例如,讀者和圖書之間的借、還書行為,顧客和商品之間的購買行為,均應該作為聯絡集。

如何劃分聯絡的屬性:一是發生聯絡的實體的標識屬性應作為聯絡的預設屬性,二是和聯絡中的所有實體都有關的屬性。例如,學生和課程的選課聯絡中的成績屬性,顧客、商品和雇員之間的銷售聯絡中的商品的數量等。

4.e-r模型中的三正規化

如果我們要寫資料庫方便的**,設計的e-r模型一定要滿足3nf,所以我特地找了些這方面的資料。經過加工內容如下:

1函式依賴要掌握如下概念:

1).函式依賴:  

若對於乙個關係模式中所有具體關係的屬性之間都滿足如下約束;對於x的每乙個具體值,y有唯一的具體值與之對應,則稱y函式依賴於x,或稱y函式依賴於x,或x函式   決定y,記作x→y,x稱作決定因素。

2).非平凡函式依賴:

如果x→y,並且y不是x的子集,則稱x→y 是非平凡的函式依賴。

3).平凡函式依賴

如果x→y,並且y是x的子集,則稱x→y 是平凡的函式依賴。

4.)部分函式依賴

設x→y是關係模式r的乙個函式依賴,如果存在x的真子集x』,

使得 x』→y成立,則稱y部分依賴於x,

5.)完全函式依賴

設x→y是關係模式r的乙個函式依賴,如果不存在x的真子集x』 , 

使得 x』→y成立,則稱y部分依賴於x,

例:設有關係模式選課sc1(sno,cno,grade,credit)其中,sno表示學號,cno表示課程號,grade表示成績,credit表示學分。

由於成績是對某個學生、某門課程而言,因此,成績只能由某個學生,某門課程兩個屬性共同來確定。  所以 

(sno,cno)        grade(完全函式依賴)

由於cno課程號可直接決定credit學分。所以(sno,cno)        credit(部分函式依賴)

6).傳遞依賴

在同一關係模式中,如果存在非平凡函式依賴x→y,y→z,而  yx,則稱z 傳遞依賴於x。這裡特別要注意yx,如果x、y互相依賴,實際上

處於等價地位,x→z則為直接函式依賴,不是傳遞依賴。

由於乙個系裡有多名學生,而乙個學生只能在乙個系裡註冊,乙個系有乙個確定的辦公位址。所以  學號 →所在系,但 所在系 學號,所

在系→系位址,根據傳遞依賴的定義,可知,學號→系位址是傳遞依賴。

7 ).關鍵字

在關係模式r(u)中,k是u中的屬性或屬性組。如果k完全函式決定整個元組,即

ku 則稱k為關係 r(u) 的乙個候選關鍵字。r(u)中若有乙個以上的候選關鍵字,則選定其中乙個作為主關鍵字。

8).外關鍵字

在關係模式r(u)中,若屬性或屬性組x不是關係r 的關鍵字,但x是其它關係模式的關鍵字,則稱x為其它關係模式的關鍵字,則稱x為

關係r(u)外關鍵字。

二、關係的正規化

在設計關聯式資料庫時,如果隨意建立關係模式,可能會出現很多弊病,較好的關係模式必須滿足一定的規範化要求。滿足不同程度要

求的為不同正規化,滿足最低要求的叫第一正規化,在第一正規化中進一步滿足一些要求的為第二正規化,其餘類推。正規化形式有第

一、第二、第三、b

cnf。

1.第一正規化:在關係模式r中的每一相具體關係r中,如果每個屬性值都是不可再分的最小資料單位,則稱r是第一正規化。

2.第二正規化:如果關係模式r(u,f)中所有非主屬性都完全函式依賴於任意乙個候選關鍵字,則稱關係r 是屬於第二正規化的。

例:設有關係模式選課sc1(sno,cno,grade,credit)其中,sno表示學號,cno表示課程號,grade表示成績,credit表示學分。

由於成績是對某個學生、某門課程而言,因此,成績只能由某個學生,某門課程兩個屬性共同來確定。  所以 

(sno,cno) --->   grade(完全函式依賴)

由於cno課程號可直接決定credit學分。所以

(sno,cno) --->  credit(部分函式依賴)

3.第三正規化:如果關係模式r(u,f)中的所有非主屬性對任何候選關鍵字都不存在傳遞依賴,則稱關係r 是屬於第三正規化。

例:設有關係模式選課sc1(sno,cno,grade,level)其中,sno表示學號,cno表示課程號,grade表示成績,level表示等級(優良,中,差)。

由於成績是對某個學生、某門課程而言,因此,成績只能由某個學生,某門課程兩個屬性共同來確定。  所以 

(sno,cno) --->   grade(完全函式依賴)

grade  ---> level

(sno, cno) --->level (傳遞依賴)

bcnf    如果關係模式r(u,f)的所有屬性(包括主屬性和非主屬性)都不傳遞依賴於r 的任何候選關鍵字,那麼稱關係r 是屬於bcnf的

。規範化的過程是逐步消除關係模式中不合適的資料依賴的過程。第一正規化中消除非主屬性對關鍵字的部分函式依賴,就可達到2nf;第二

正規化中消除非主屬性對關鍵字的傳遞函式依賴,就可達到3nf;第三正規化中消除主屬性對關鍵字的部分和傳遞函式依賴,就可達到 bcnf。

[1]黃梯雲.管理資訊系統[m].北京:高等教育出版社,2003.

[2] 薛華成.管理資訊系統.第三版[m].北京:清華大學出版社,2004. 

[3] efrem g.mallach [美] 李昭智,等 譯.決策支援與資料倉儲系統[m].北京:電子工業出版社, 2001-04

對this 的深入理解

this的取值,分四種情況。我們來挨個看一下。在此再強調一遍乙個非常重要的知識點 在函式中this到底取何值,是在函式真正被呼叫執行的時候確定的,函式定義的時候確定不了。因為this的取值是執行上下文環境的一部分,每次呼叫函式,都會產生乙個新的執行上下文環境。情況1 建構函式 所謂建構函式就是用來n...

深入理解盒模型

1.父元素設定 safari,opera,and chrome display webkit box firefox display moz box w3c display box 2.box orient 定義盒模型的布局方向 horizontal 水平顯示 vertical 垂直顯示 3.box...

深入理解盒模型

寬度width被定義為從左內邊界到右內邊界的距離,高度height被定義為從上內邊界到下內邊界的距離 注意 寬度和高度無法應用到行內非替換元素,且不能為負 width height 值 auto inherit 初始值 auto 應用於 塊級元素和替換元素 繼承性 無 百分數 相對於包含塊的widt...