資料庫基本理論,關聯式資料庫理論

來源:互聯網
上載者:User

資料庫基本理論,關聯式資料庫理論
轉載請表明出處:http://blog.csdn.net/u012637501
一、基本概念1.資料:即描述事物的符號紀錄,有一定的結構,有型與值之分,如整型、實型、字元型等。2.資料庫:DataBase(DB),依照某種資料模型進行組織並存放到儲存空間的資料集合,是在電腦上組織、儲存和共用資料的方法。資料庫具有較高的資料獨立性,即不依賴於特定的資料庫管理軟。3.資料庫管理系統:DataBase Management System(DBMS),即用來操縱和管理資料庫的大型服務軟體,不僅讓我們能夠實現對資料的快速檢索和維護,還為資料的安全性、完整性、並發控制和資料恢複提供了保證。資料庫管理系統的核心是一個用來儲存大量資料的資料庫,並提供資料定義語言 (Data Definition Language)、資料操作語言、資料控制語言來完成資料庫管理系統功能。    資料庫管理系統功能:    (1)資料模式定義:即為資料庫構建其資料架構;    (2)資料存取的物理構建:為資料模式的物理存取與構建提供有效存取方法與手段(資料定義語言 (Data Definition Language)實現);    (3)資料操縱:為使用者使用資料庫的資料提供方法,如查詢、插入、修改等(資料操作語言實現);    (4)資料的完整性、安全性定義與檢查(資料控制語言實現);    (5)資料庫的並發控制與故障恢複;    (6)資料的服務:如拷貝、轉存、重組、分析等。常見的資料庫服務軟體:Oracle、MySQL(Oracle公司);SQL Server、Access(微軟)4.資料庫系統:由資料庫(資料)、資料庫管理系統(軟體)、資料庫管理員(人員)、硬體平台(硬體)、軟體平台(軟體)五個部分構成的運行實體。資料庫系統的基本特點:資料的整合性、資料的高共用性域冗餘性、資料獨立性、資料統一管理域控制。5.關係型資料庫    以關聯式模式建立的資料庫就是關聯式資料庫(Relational Data Base,RDB),關聯式資料庫系統的DBMS是關係型資料庫管理系統(Relational DataBase Management System,RDBMS)。關聯式資料庫中包含若干個關係,每個關係都由關係模式確定,每個關係模式包含若干個屬性和屬性對應的域,所以,定義關聯式資料庫就是逐一定義關係模式,對每一關係模式逐一定義屬性及其對應的域。關係型資料庫以行和列的形式儲存資料,以便於使用者理解。這一系列的行和列被稱為表,一組表組成了資料庫。    關係型資料庫通常包含下列組件: a)用戶端應用程式(Client) ;b)資料庫伺服器(Server)  ;c)資料庫(Database)(1)實體關聯模型與E-R圖    在資料庫的設計階段,需要建立邏輯模型,關聯式資料庫的邏輯模型叫做實體-關聯式模式。實體模型化最常用的工具是實體關聯圖,簡稱E-R(Entity-Relationship)圖,它是一種簡單的圖形技術,用來定義資料庫中需要的表、欄位和關係。它用於資料庫設計的第一步,與我們使用的具體的資料庫管理系統無關。        概念性模型是現實世界到機器世界的一個中介層次,概念性模型中最常用的是E-R模型,E-R模型中主要概念: ★實體(Entity):客觀存在並可以相互區分的事物叫實體,如一個個學生、一輛輛轎車。 ★屬性(Attribute):實體一般具有若干特徵,稱之為實體的屬性,如學生具有的學號、姓名等屬性; ★域(Domain):一個屬性可能取值的範圍稱為這個屬性的域; ★碼(Key):能夠唯一標識實體的屬性或最小屬性群組稱為碼(關鍵字),可能存在多個候選碼,設計者必須指明一個做主碼。 ★聯絡:現實世界的事物之間是有聯絡的,這種聯絡在資訊世界中反映為---實體型內部的聯絡和實體型之間的聯絡,兩個實體型之間的聯絡有        ※一對一聯絡(1:1) 例如:部門、經理        ※一對多聯絡(1:n) 例如:部門、僱員        ※多對多聯絡(m:n) 例如:學生、課程
舉例:學生實體的E-R圖
E-R圖有如下優點:    a.有效地搜集和表示組織的資訊需求;    b.提供一個容易理解的系統描述圖;    c.易於開發和提煉;    d.明確定義了資訊需求的範圍;    e.將業務需求資訊與商務活動分開。
(2)關聯式模式的基本概念    資料模型的任務是描述實現現實世界中的實體及其聯絡。關係資料模型就是採用一個有序數組描述實體及其屬性,用這種有序的集合描述一個實體集合,而採用定義在兩個集合上的關係反映不同實體間的聯絡。 ★關係:一個關係就是一張二維表,通常將一個沒有重複行、重複列的二維表看成一個關係,每個關係都有一個關係名; ★元組:二維表的每一行在關係中稱為元祖,即行,又稱"紀錄"(Record); ★屬性:二維表的每一列在關係中稱為屬性,即列,又稱"欄位"(Field); ★域(Domain):屬性的取值範圍稱為域; ★關鍵字(Key):關係中能唯一區分、確定不同元組屬性或屬性群組合,稱為該關係的一個關鍵字。單個屬性群組成的關鍵字稱為單關鍵字,多個屬性群組合的關鍵字稱為組合關鍵字。注意:關鍵字的屬性值不能取"空值"。 ★候選關鍵字:關係中能夠稱為關鍵字的屬性或屬性群組合可能不是唯一的,凡在關係中能夠唯一區分、確定不同元祖的屬性或屬性群組合,稱為候選關鍵字。 ★主關鍵字(Primary Key):在候選關鍵字中選定一個作為關鍵字,稱為該關係的主關鍵字,關係中主關鍵字是唯一的。 ★外關鍵字(Foreign Key):如果關係中某個屬性或屬性群組合并非關鍵字,但卻是另一個關係的主關鍵字,則稱此屬性或屬性群組合為本噶un系的外部關鍵字或外鍵(Foreign Key)。在關聯式資料庫中,用外部關鍵字表示兩個表間的聯絡。
(3)關係型資料庫的優點a)容易理解:二維表結構是非常貼近邏輯世界的一個概念,關聯式模式相對網狀、層次等其他模型來說更容易理解;b)使用方便:通用的SQL語言使得操作關係型資料庫非常方便,程式員可以方便地在邏輯層面操作資料庫,而完全不必理解其底層實現;c)易於維護:豐富的完整性(實體完整性、參照完整性和使用者定義的完整性)大大降低了資料冗餘和資料不一致的機率。(4)關聯式模式的完整性條件約束a)實體完整性:所謂實體完整性,就是一個關聯式模式中的所有元組都是唯一的,沒有兩個完全相同的元組,也就是一個二維表中沒有兩個完全相同行,也稱為行完整性。b)值域完整性:值域完整性就是對錶中列資料的規範,也稱列完整性,用於限制列的資料類型、格式以及取值範圍。c)參照完整性:當一個資料表中有外部關鍵字(即該列是另外一個表的關鍵字)時,外部關鍵字列的所有值,都必須出現在其所對應的表中。d)使用者定義完整性

總結1:表和欄位、記錄的關係?        欄位是事務的屬性; 記錄是事務本身; 表是事務的集合;總結2:資料結構和資料庫的區別?    資料庫是在應用軟體層級(外存)研究資料的儲存和操作;    資料結構是在系統軟體層級(主存)研究資料的儲存和操作; 二、資料庫的設計方法 1.資料庫設計過程◎需求分析◎概念設計◎邏輯設計◎實體設計◎實施與維護 2.E-R模型及其到關聯式模式的轉化
(1)獨立實體到關聯式模式的轉化    一個獨立實體轉化為一個關聯式模式(即一張關係表),實體碼轉化為關係表的關鍵屬性,其他屬性轉化為關係表的屬性,注意根據實際對象屬性情況確定關係屬性的取值域。例如:對於所示的學生實體,應將其轉化為關係:    學生(學號,姓名,民族,籍貫),其中底線標註的屬性工作表示關鍵字。
(2)1:1聯絡轉化為關聯式模式    經理(姓名,民族,地址,出生年月,電話,名稱)    公司(名稱,註冊地,類型,電話,姓名)    其中,名稱和姓名分別是"公司"和"經理"兩個關聯式模式的關鍵字,在"經理"和"公司"兩個關係中,為了表明兩者間的聯絡,各自增加了對方的關鍵字作為外部關鍵字。當兩個表中出現下面的元組時,表明了張小輝是京廣實業公司的經理。 (張小輝,漢,北京前門大街156號,48,68705633,京廣實業公司) (京廣實業公司,北京複興門外大街278號,有限責任,65783265,張小輝)
(3)1:n聯絡到關聯式模式的轉化 要轉化1:n聯絡    需要在n方(即1對多關係的多方)實體表中增加一個屬性,將對方的關鍵字作為外部關鍵字處理即可. 如,“班級”與“學生”的聯絡是1:n的聯絡,學生方是n方,對圖2-5進行轉化,得到關聯式模式: 學生(學號,姓名,民族,出生年月,班號) 班級(班號,名稱,年級,系,專業) 在學生表中增加“班級”中的關鍵字“班號”作為外部關鍵字。 
(4)m:n聯絡到關聯式模式的轉化    一個m:n聯絡要單獨建立一個關係模式,分別用兩個實體的關鍵字作為外部關鍵字。描述的學生與課程的聯絡是m:n聯絡,將E-R圖轉化為3個關係: 學生(學號,姓名,民族,出生年月) 課程(課程號,課程名,學時數) 學習(學號,課程號,成績) 。
(5)多元聯絡到關聯式模式的轉化 所謂多元聯絡    即是說該聯絡涉及兩個以上的實體。例如一個課程表,涉及班級、課程、教師、教室等4個實體。 例如一個課程表,涉及班級、課程、教師、教室等4個實體。轉化時,應建立一個單獨的關係表,將該聯絡所涉及的全部實體的關鍵字作為該關係表的外部關鍵字,再加上適當的其他屬性,得到關係模式如下: 課程表(班號,課程號,教師號,教室號,周次)。  

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.