香蕉视频app

Keep on going never give up.

Let's Go

SQL Server之認識關系數據庫

SQL ServerLonely2019-04-28 21:20:0458次0條

關系數據庫是基于關系模型的數據庫,是目前各類數據庫中最重要、最流行的數據庫,它應用數學方法來處理數據庫數據,是目前使用最廣泛的數據庫系統。在數據庫發展歷史上,最重要的數據庫模型就是關系模型。

1、關系數據庫的基本概念

關系數據庫把世界看作是由實體和聯系構成的,其中信息是以二維表來存儲的,為了描述表達結構以及表之間的聯系,用到以下基本概念:

(1)、實體:實體是指客觀存在、可相互區分的事物實體可以是具體的對象,如:一個學生、一座倉庫等;實體也可以是抽象的事件,如:一次選課、一筆訂單等;在關系模型中,實體通常是以表的形式來表現的,表的每一行描述實體的一個實例,表的每一列描述實體的一個特征或屬性

(2)、實體集:實體集是指同類實體的集合香蕉视频app。例如:某個學校的所有學生等。一個實體集的范圍可大可小,主要取決與要解決的應用問題所涉及的范圍大小。例如:解決學校里的應用問題,那么該校的全體學生組成的集合就是一個學生集體集。

(3)、屬性:實體集中所有的實體都具有一組相同的特性,如:學生實體集中每個實體都有學號、姓名、年齡、性別、班級等特性,我們把實體所具有的某一特性稱為屬性

(4)、實體型和實體值:實體有類型和值之分。用于描述和抽象同一實體集共同特征的實體名及其屬性名的集合稱為實體型,如:學生(學號、姓名、年齡、性別、班別、)就是一個實體型。相應的實體集中的某個實體的值即為實體值,如(‘1001’,‘張三’,‘18’,‘男’,‘軟件161班’)就是一個實體值。

(5)、實體間的聯系:實體間的聯系就是實體集與實體集之間的聯系,這種聯系共有以下3種:

   ①、一對一聯系:如果對于實體集E1中的每個實體,在實體集E2中最多有一個實體對應,反之亦然,則稱為實體集E1與E2之間的聯系是一對一聯系,即為“1:1”。例如:影院中觀眾和座位之間就具有一對一聯系,因為在一個座位上最多坐一個觀眾,而一個觀眾也只能坐在一個座位上。

   ②、一對多聯系:如果對于實體集E1中的每個實體,在實體集E2中有任意個(零個或多個)實體與之相對應,而對于E2中每個實體卻最多和E1中一個實體相對應,則稱實體集E1與E2之間的聯系是一對多聯系,記為“1:n”。例如:學校的專業與學生之間具有一對多的聯系。

   ③、多對多聯系:如果實體集E1中的每個實體,在實體集E2中有任意個(零個或多個)實體與之相對應,反之亦然,則稱為實體集E1與E2之間的聯系是多對多聯系,記為“m:n”。例如:學生與課程之間就具有多對多的聯系,因為一個學生可以選修多門課程,而一門課程也可以被多個學生選修。

(6)、記錄:關系數據庫中二維表的一行,表示一個實體。

(7)、字段:關系數據庫中二維表的列,表示實體的屬性、特征。

(8)、主鍵:主鍵是被挑選出來的列或組合,該列或組合用來唯一地標識一行。一個表只有一個主鍵,且主鍵必須唯一,并且不允許為NULL或重復。例如:學生的學號可以用來做主鍵,但姓名不能,因為姓名可能同名重復,如果姓名是唯一的,也可以用來作為主鍵。主鍵有時也稱為主關鍵字。

(9)、外鍵:如果表中的某一個字段與另一個表中的主鍵相對應,則將該字段稱為表的外鏈,外鏈表示了兩個表之間的聯系。外鍵表示了兩個表之間的聯系。以另一個表的外鏈作為主鍵的表被稱為主表,具有此此外鏈的表被稱為從表,外鏈又稱為外關鍵字。例如:學生表(學號、姓名、年齡、性別、系別、班別)和系別表(系編號、系名稱、系主任名稱),系別表是主表,學生表是從表,因為系編號在系別表中是主鍵,在學生表中是外鍵。

(10)、數據完整性:數據完整性是指數據的正確性和可靠性。為了維護數據庫中的數據與現實世界的一致性,對關系數據庫的插入、刪除和修改操作必修有一定的約束條件,這就涉及關系數據庫的四類完整性,及實體完整性、域完整性、參照完整性和用戶定義完整性。

   ①、實體完整性:實體完整性要求表中的所有行具有唯一的標識符,即primary key(主鍵)、unique、identity。用戶是否可以改變主鍵值或刪除一整行,取決與主鍵和其它表之間要求的完整性級別。在學生表中將學號定義為主鍵,則在學生表中不能同時出現兩個學號相同的學生,也就是通過學號這個主鍵,實現了學生表的實體完整性。

   ②、域完整性:域完整性指定一組對列有效的數據,并確定是否允許有空值。通常使用有效性檢查強制域完整性,用戶也可以通過限定列中允許的數據類型、格式或可能值的范圍來強制數據完整性。例如:將學生年齡的定義為兩位數、范圍太大此時可以用check(age between 7 and 30)語句把年齡限制在7~30歲。

   ③、參照完整性:參照完整性也稱為引用完整性,該完整性確保始終保持主鍵(在被引用表中)和外鍵(在引用表中)的關系。如果有外鍵引用了某行,那么不能刪除被引用表中的該行,也不能改變主鍵,除非允許級聯操作。用戶可以在同一個表中或兩個獨立的表之間定義參照完整性。例如:學生選課表中的屬性“學號”是學生表的外鍵,學生選課表的某個學生的學號取值必須在參照的學生表的主鍵“學號”中能找到,否則一個不存在的學生卻選了課,顯然不符合現實。

   ④、用戶定義完整性:用戶定義完整性是針對某個特定關系數據庫的約束條件,它反映某一具體應用所涉及的數據必須滿足語義的要求。SQL Server 2008提供了定義和檢驗這類完整性的機制,以便統一的系統方法處理它們,而不是讓應用程序承擔這一功能。其它完整性類型都支持用戶定義完整性。


2、關系數據庫的設計

在數據庫系統中,數據由數據庫管理系統進行獨立的管理,對程序的依賴性大大減少,而數據庫設計逐漸成為一項獨立的開發活動。一般來說,數據庫設計都要經過需求分析、概念設計、實現設計和物理設計4個階段。

香蕉视频app(1)、需求分析:需求分析是分析系統的需求,該過程的主要任務是從數據庫的所有用戶那里收集對數據的需求和對數據處理的需求,并把這些需求寫成需求說明書。

(2)、概念設計:概念設計是將需求說明書中關于數據的需求綜合為一個同一的概念模型,其過程是首先根據單個應用的需求畫出能反映每一個應用需求的局部E-R模型,然后把這些E-R模型合并起來,消除冗余和可能存在的矛盾,得出系統總體的E-R模型。

(3)、實際設計:實現設計是將E-R模型轉換成某一特定的數據庫管理系統能夠接受的邏輯模式,對于關系數據庫來說,主要是完成表的結構和關聯的設計。

香蕉视频app(4)、物理設計:物理設計主要確定數據庫的存儲結構,包括確定數據庫文件和索引文件的記錄格式和物理結構,以及選擇存取方法等,這個階段的設計最困難。不過,現在這些工作基本上由數據庫管理系統來完成,操作起來非常簡單。

對于一般的數據庫管理人員編程人員來說,其主要關心的是中間兩階段,即概念設計和實現設計,而在概念設計階段通常采用的設計方法是實體——聯系(E-R)圖。在用E-R圖描述概念模型時,用戶應該根據具體的應用環境來決定圖中包含哪些實體,實體間又包含哪些聯系。聯系與實體間的連接方法可以是多樣的。兩個實體集間的聯系稱為二元聯系,如果是多個實體集間的聯系,則稱為多元聯系。用E-R圖來描述概念模型非常接近人的思維,容易理解,而且E-R圖的具體與計算機系統無關,易被不具有計算機知識的最終用戶接受,因此E-R圖是數據庫設計人員與用戶進行交互的最有效的工具。

香蕉视频app設計出E-R圖后,接下來要將E-R圖轉換成數據庫的二維表。將E-R圖轉換成表比較簡單,表名可以用實體集的名稱,將實體集的屬性名作為表的列名形成一張二維表。注意,每個實體集要形成一張二維表,原則上,每一個聯系也是一張二維表,有時也將聯系采用外鏈約束的方式內置在兩個實體集中,聯系也需要屬性。






暗錨,解決錨點偏移

文章評論

    嘿,來試試登錄吧!