




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第六章第六章 數(shù)據(jù)資源管理技術(shù)數(shù)據(jù)資源管理技術(shù)科學管理依賴信息,信息是一個組織重要的資源??茖W管理依賴信息,信息是一個組織重要的資源。數(shù)據(jù)庫技術(shù)的使用是數(shù)據(jù)庫技術(shù)的使用是 mis 成熟的重要標志。成熟的重要標志。 數(shù)據(jù)管理技術(shù)的發(fā)展數(shù)據(jù)管理技術(shù)的發(fā)展 數(shù)據(jù)人工管理階段:數(shù)據(jù)人工管理階段:沒有軟件支持,只有程序文件的概念沒有軟件支持,只有程序文件的概念 數(shù)據(jù)處理后程序和數(shù)據(jù)的內(nèi)存空間一起被釋放。數(shù)據(jù)和程序相互依賴;數(shù)據(jù)處理后程序和數(shù)據(jù)的內(nèi)存空間一起被釋放。數(shù)據(jù)和程序相互依賴; 數(shù)據(jù)結(jié)構(gòu)的變化、修改,導致整個程序的修改。數(shù)據(jù)結(jié)構(gòu)的變化、修改,導致整個程序的修改。 最大的問題是編程效率低,程序依賴數(shù)
2、據(jù),不靈活,容易出錯。最大的問題是編程效率低,程序依賴數(shù)據(jù),不靈活,容易出錯。 文件管理階段:文件管理階段:有分離的程序文件和數(shù)據(jù)文件,文件系統(tǒng)管理數(shù)據(jù)。有分離的程序文件和數(shù)據(jù)文件,文件系統(tǒng)管理數(shù)據(jù)。 程序使用數(shù)據(jù)文件名訪問數(shù)據(jù),不必關(guān)心其物理位置和細節(jié)。便于程序程序使用數(shù)據(jù)文件名訪問數(shù)據(jù),不必關(guān)心其物理位置和細節(jié)。便于程序訪問數(shù)據(jù),有索引文件,鏈接文件和散列文件等等。訪問數(shù)據(jù),有索引文件,鏈接文件和散列文件等等。 數(shù)據(jù)不屬于某個特定程序,允許重復使用,但數(shù)據(jù)文件的結(jié)構(gòu)仍取決于數(shù)據(jù)不屬于某個特定程序,允許重復使用,但數(shù)據(jù)文件的結(jié)構(gòu)仍取決于特定的應用,程序與數(shù)據(jù)間的依賴關(guān)系并未根本改變。具有數(shù)據(jù)
3、設(shè)備獨特定的應用,程序與數(shù)據(jù)間的依賴關(guān)系并未根本改變。具有數(shù)據(jù)設(shè)備獨立性,但不能體現(xiàn)用戶觀點下的數(shù)據(jù)邏輯結(jié)構(gòu)獨立于數(shù)據(jù)在外存上物理立性,但不能體現(xiàn)用戶觀點下的數(shù)據(jù)邏輯結(jié)構(gòu)獨立于數(shù)據(jù)在外存上物理結(jié)構(gòu)的要求,在數(shù)據(jù)物理結(jié)構(gòu)修改時,仍需修改用戶應用程序。結(jié)構(gòu)的要求,在數(shù)據(jù)物理結(jié)構(gòu)修改時,仍需修改用戶應用程序。 文件管理方式是數(shù)據(jù)資源管理的一大進步,它也是數(shù)據(jù)庫的基礎(chǔ)。文件管理方式是數(shù)據(jù)資源管理的一大進步,它也是數(shù)據(jù)庫的基礎(chǔ)。 文件系統(tǒng)的缺陷:數(shù)據(jù)冗余(文件系統(tǒng)的缺陷:數(shù)據(jù)冗余(redundancy),每個應用程序有對應的數(shù)),每個應用程序有對應的數(shù)據(jù)文件,文件間缺乏聯(lián)系,同樣的數(shù)據(jù)可能重復出現(xiàn)。冗余
4、浪費存儲空據(jù)文件,文件間缺乏聯(lián)系,同樣的數(shù)據(jù)可能重復出現(xiàn)。冗余浪費存儲空間,且數(shù)據(jù)修改稍有不謹慎可能造成數(shù)據(jù)不一致性(間,且數(shù)據(jù)修改稍有不謹慎可能造成數(shù)據(jù)不一致性(inconsistency););其次,數(shù)據(jù)文件面向應用,當數(shù)據(jù)結(jié)構(gòu)改變時,程序維護成為系統(tǒng)的主其次,數(shù)據(jù)文件面向應用,當數(shù)據(jù)結(jié)構(gòu)改變時,程序維護成為系統(tǒng)的主要矛盾。要矛盾。第六章第六章 數(shù)據(jù)資源管理技術(shù)數(shù)據(jù)資源管理技術(shù) 數(shù)據(jù)管理技術(shù)的發(fā)展數(shù)據(jù)管理技術(shù)的發(fā)展 數(shù)據(jù)庫階段:數(shù)據(jù)庫階段:數(shù)據(jù)存儲在數(shù)據(jù)庫中,數(shù)據(jù)資源使用數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)存儲在數(shù)據(jù)庫中,數(shù)據(jù)資源使用數(shù)據(jù)庫管理系統(tǒng)的專門軟件管理。的專門軟件管理。 數(shù)據(jù)庫用數(shù)據(jù)結(jié)構(gòu)描述了數(shù)據(jù)
5、,數(shù)據(jù)間的聯(lián)系。數(shù)據(jù)面向整個應用系統(tǒng),數(shù)據(jù)庫用數(shù)據(jù)結(jié)構(gòu)描述了數(shù)據(jù),數(shù)據(jù)間的聯(lián)系。數(shù)據(jù)面向整個應用系統(tǒng),減少冗余,真正實現(xiàn)數(shù)據(jù)在不同應用中共享。減少冗余,真正實現(xiàn)數(shù)據(jù)在不同應用中共享。 數(shù)據(jù)庫管理系統(tǒng)(數(shù)據(jù)庫管理系統(tǒng)(dbms,database management system)的三級模式,)的三級模式,有物理數(shù)據(jù)獨立性,數(shù)據(jù)庫只根據(jù)系統(tǒng)需求獨立設(shè)計;邏輯數(shù)據(jù)獨立性,有物理數(shù)據(jù)獨立性,數(shù)據(jù)庫只根據(jù)系統(tǒng)需求獨立設(shè)計;邏輯數(shù)據(jù)獨立性,特定用戶以邏輯結(jié)構(gòu)(視圖)操作數(shù)據(jù),大大提高了編程效率。特定用戶以邏輯結(jié)構(gòu)(視圖)操作數(shù)據(jù),大大提高了編程效率。 dbms 提供方便操作的用戶接口,數(shù)據(jù)庫的恢復,并發(fā)
6、控制,數(shù)據(jù)完整提供方便操作的用戶接口,數(shù)據(jù)庫的恢復,并發(fā)控制,數(shù)據(jù)完整性、安全性等控制功能,保證數(shù)據(jù)的安全,可靠性。性、安全性等控制功能,保證數(shù)據(jù)的安全,可靠性。 數(shù)據(jù)庫系統(tǒng)以記錄為單位操作數(shù)據(jù),也可操作數(shù)據(jù)項,增加系統(tǒng)靈活性。數(shù)據(jù)庫系統(tǒng)以記錄為單位操作數(shù)據(jù),也可操作數(shù)據(jù)項,增加系統(tǒng)靈活性。 從文件系統(tǒng)發(fā)展到數(shù)據(jù)庫系統(tǒng)是信息處理領(lǐng)域中的一個重大變化,從文件系統(tǒng)發(fā)展到數(shù)據(jù)庫系統(tǒng)是信息處理領(lǐng)域中的一個重大變化,以數(shù)據(jù)為中心。應用程序設(shè)計退居為外圍地位。以數(shù)據(jù)為中心。應用程序設(shè)計退居為外圍地位。程序a程序b程序cdbms數(shù)據(jù)庫文 件 管理系統(tǒng)文件b程序a程序b程序c文件a2文件a1文件c第六章第六章
7、 數(shù)據(jù)資源管理技術(shù)數(shù)據(jù)資源管理技術(shù) 訪問遠程數(shù)據(jù)資源訪問遠程數(shù)據(jù)資源 計算機網(wǎng)絡(luò)中有多臺計算機訪問數(shù)據(jù)資源,系統(tǒng)由三部分組成:計算機網(wǎng)絡(luò)中有多臺計算機訪問數(shù)據(jù)資源,系統(tǒng)由三部分組成: 客戶機(客戶機(client)用戶操作的多臺個人(用戶操作的多臺個人(pc)計算機;)計算機; 服務器(服務器(server)數(shù)據(jù)集中存儲的計算機。通常只有一臺服務器,有些數(shù)據(jù)集中存儲的計算機。通常只有一臺服務器,有些系統(tǒng)配置有多臺服務器;系統(tǒng)配置有多臺服務器; 通信網(wǎng)絡(luò)通信網(wǎng)絡(luò)連接客戶機和服務器的通信線路。連接客戶機和服務器的通信線路。 傳統(tǒng)的文件方式:傳統(tǒng)的文件方式:客戶機應用程序訪問遠程數(shù)據(jù)資源時,將文件服
8、務客戶機應用程序訪問遠程數(shù)據(jù)資源時,將文件服務器上的數(shù)據(jù)文件裝載到客戶機上,應用程序在數(shù)據(jù)文件中找到它所需器上的數(shù)據(jù)文件裝載到客戶機上,應用程序在數(shù)據(jù)文件中找到它所需的數(shù)據(jù),處理后再將整個數(shù)據(jù)文件回送文件服務器。的數(shù)據(jù),處理后再將整個數(shù)據(jù)文件回送文件服務器。 整個遠程數(shù)據(jù)資源訪問過程都不可見,但占據(jù)了時間和網(wǎng)絡(luò)總線的帶寬。整個遠程數(shù)據(jù)資源訪問過程都不可見,但占據(jù)了時間和網(wǎng)絡(luò)總線的帶寬。 要求有較大內(nèi)存容量,較強的處理能力的客戶機。要求有較大內(nèi)存容量,較強的處理能力的客戶機。客戶機客戶機/ /服務器(服務器(c/sc/s,client/serverclient/server)方式:)方式:客戶機
9、的應用程序請客戶機的應用程序請求服務器查找它所需的數(shù)據(jù),服務器將數(shù)據(jù)文件中匹配的數(shù)據(jù)返回。求服務器查找它所需的數(shù)據(jù),服務器將數(shù)據(jù)文件中匹配的數(shù)據(jù)返回。 節(jié)省時間和網(wǎng)絡(luò)的開銷。節(jié)省時間和網(wǎng)絡(luò)的開銷。 發(fā)揮了服務器較強的處理功能,客戶機只集中處理用戶界面。發(fā)揮了服務器較強的處理功能,客戶機只集中處理用戶界面。 在兩層在兩層c/s結(jié)構(gòu)中,客戶機必須配置訪問的各種數(shù)據(jù)庫的驅(qū)動程序,成本結(jié)構(gòu)中,客戶機必須配置訪問的各種數(shù)據(jù)庫的驅(qū)動程序,成本高;用戶還必須考慮配置和軟件維護問題。三層高;用戶還必須考慮配置和軟件維護問題。三層c/s結(jié)構(gòu)中,插入中間件結(jié)構(gòu)中,插入中間件服務器,客戶機僅需與中間件服務器驅(qū)動程序
10、通信,中間件服務器完成與服務器,客戶機僅需與中間件服務器驅(qū)動程序通信,中間件服務器完成與服務器的不同數(shù)據(jù)庫的驅(qū)動問題。服務器的不同數(shù)據(jù)庫的驅(qū)動問題。第六章第六章 數(shù)據(jù)資源管理技術(shù)數(shù)據(jù)資源管理技術(shù) 訪問遠程數(shù)據(jù)資源訪問遠程數(shù)據(jù)資源 分布式客戶分布式客戶/服務器結(jié)構(gòu)用于更復雜的和更有彈性的系統(tǒng),系統(tǒng)中有服務器結(jié)構(gòu)用于更復雜的和更有彈性的系統(tǒng),系統(tǒng)中有多個分布配置的服務器,執(zhí)行不同的功能或某些特殊功能。多個分布配置的服務器,執(zhí)行不同的功能或某些特殊功能。瀏覽器瀏覽器/ /服務器(服務器(b/sb/s,browser/serverbrowser/server)方式:)方式:隨著網(wǎng)絡(luò)技術(shù)和隨著網(wǎng)絡(luò)技術(shù)和
11、web技術(shù)的發(fā)展,使用數(shù)據(jù)源的數(shù)據(jù)量劇增,開發(fā)技術(shù)的發(fā)展,使用數(shù)據(jù)源的數(shù)據(jù)量劇增,開發(fā)web數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)十分有意義。十分有意義。 在在internet和和intranet上,如網(wǎng)上銀行、在線購物、產(chǎn)品信息、市場調(diào)查上,如網(wǎng)上銀行、在線購物、產(chǎn)品信息、市場調(diào)查分析、聯(lián)機數(shù)據(jù)庫查詢等,到處可看到分析、聯(lián)機數(shù)據(jù)庫查詢等,到處可看到web數(shù)據(jù)庫的應用。數(shù)據(jù)庫的應用。 web數(shù)據(jù)庫基于數(shù)據(jù)庫基于c/s結(jié)構(gòu)的三層模式,即結(jié)構(gòu)的三層模式,即browser/web server/db server,客戶層是統(tǒng)一界面的瀏覽器,數(shù)據(jù)服務器為服務層,中間層是客戶層是統(tǒng)一界面的瀏覽器,數(shù)據(jù)服務器為服務層,中間
12、層是web服務服務器和應用服務。用戶通過瀏覽器的器和應用服務。用戶通過瀏覽器的web頁上輸入信息,并發(fā)送到頁上輸入信息,并發(fā)送到web服服務器,通過應用程序訪問數(shù)據(jù)庫,將結(jié)果以圖形、圖像、文本或表的形務器,通過應用程序訪問數(shù)據(jù)庫,將結(jié)果以圖形、圖像、文本或表的形式返回瀏覽器。式返回瀏覽器。 一種特別感興趣的網(wǎng)絡(luò)計算機:一種特別感興趣的網(wǎng)絡(luò)計算機:沒有磁盤驅(qū)動器或其它當?shù)財?shù)據(jù)存沒有磁盤驅(qū)動器或其它當?shù)財?shù)據(jù)存儲設(shè)備的儲設(shè)備的pc機,使網(wǎng)絡(luò)管理簡化,又能處理圖形用戶界面,需要的機,使網(wǎng)絡(luò)管理簡化,又能處理圖形用戶界面,需要的是能在任何計算機上運行的圖形用戶界面,在服務器上修改某個驅(qū)是能在任何計算機上
13、運行的圖形用戶界面,在服務器上修改某個驅(qū)動程序或應用程序時,可以在該服務器的每個網(wǎng)絡(luò)計算機客戶機上動程序或應用程序時,可以在該服務器的每個網(wǎng)絡(luò)計算機客戶機上運行。運行。 面向?qū)ο蟮某绦蛟O(shè)計語言面向?qū)ο蟮某绦蛟O(shè)計語言java,使應用程序獨立于異構(gòu)網(wǎng)絡(luò)上的多種平,使應用程序獨立于異構(gòu)網(wǎng)絡(luò)上的多種平臺,提供在任何計算機上運行的圖形用戶界面設(shè)計。臺,提供在任何計算機上運行的圖形用戶界面設(shè)計。第六章第六章 數(shù)據(jù)資源管理技術(shù)數(shù)據(jù)資源管理技術(shù) 數(shù)據(jù)描述數(shù)據(jù)描述 現(xiàn)實世界:現(xiàn)實世界:現(xiàn)實世界是在人們頭腦以外的客觀世界(現(xiàn)實世界是在人們頭腦以外的客觀世界(real world),),對信息系統(tǒng)而言,組織的業(yè)務活
14、動涉及的物流、人、事、單位以及對信息系統(tǒng)而言,組織的業(yè)務活動涉及的物流、人、事、單位以及相關(guān)的數(shù)據(jù),如庫存管理,涉及貨物的存放、進出、搜查等業(yè)務活相關(guān)的數(shù)據(jù),如庫存管理,涉及貨物的存放、進出、搜查等業(yè)務活動。業(yè)務活動中抽取的數(shù)據(jù)為管理活動提供報表、匯總、統(tǒng)計分析動。業(yè)務活動中抽取的數(shù)據(jù)為管理活動提供報表、匯總、統(tǒng)計分析圖等。圖等。 信息世界:信息世界:人的認知一是從特殊到一般的歸納,二是從一般到特殊人的認知一是從特殊到一般的歸納,二是從一般到特殊的演繹。將現(xiàn)實世界中客觀存在相互區(qū)別的事物或事件抽象為實體的演繹。將現(xiàn)實世界中客觀存在相互區(qū)別的事物或事件抽象為實體集。實體集具有組成實體的共同的性質(zhì)
15、(屬性)集。實體集具有組成實體的共同的性質(zhì)(屬性)如學生實體集有姓名、如學生實體集有姓名、年齡、性別等共同屬性。年齡、性別等共同屬性。實體集中的具體實例實體集中的具體實例稱實體,有具體的屬性稱實體,有具體的屬性值,如某個學生姓名叫值,如某個學生姓名叫李四,年齡李四,年齡22歲,性別歲,性別為男等,屬性值的不同為男等,屬性值的不同用來區(qū)別不同的實體。用來區(qū)別不同的實體。實體標識符是某個屬實體標識符是某個屬性(代碼)或一組屬性,性(代碼)或一組屬性,唯一標別每個實體。唯一標別每個實體。屬性字段現(xiàn)實世界現(xiàn)實世界信息世界信息世界計算機世界計算機世界事物類事物類實體集實體集事物事物性質(zhì)性質(zhì)實體實體屬性屬
16、性文件文件記錄記錄字段字段第六章第六章 數(shù)據(jù)資源管理技術(shù)數(shù)據(jù)資源管理技術(shù) 數(shù)據(jù)描述數(shù)據(jù)描述 計算機世界:計算機世界:是數(shù)據(jù)存儲形式,在計算機中數(shù)據(jù)以文件方式存儲,是數(shù)據(jù)存儲形式,在計算機中數(shù)據(jù)以文件方式存儲,并分下列層次:并分下列層次: 字段(字段(field)或稱數(shù)據(jù)項:字段可以命名的最小數(shù)據(jù)單位,字段名表示)或稱數(shù)據(jù)項:字段可以命名的最小數(shù)據(jù)單位,字段名表示實體的屬性。字段值表示每個具體屬性值或數(shù)據(jù),一般分兩大類型:數(shù)實體的屬性。字段值表示每個具體屬性值或數(shù)據(jù),一般分兩大類型:數(shù)值型和字符型。值型和字符型。 記錄(記錄(record):記錄結(jié)構(gòu)是字段有序集合,記錄描述一個具體實體,):記錄
17、結(jié)構(gòu)是字段有序集合,記錄描述一個具體實體,是字段值有序集合,實體屬性的數(shù)據(jù)描述。是字段值有序集合,實體屬性的數(shù)據(jù)描述。 例例 實體集:實體集: 學生(學號,學生(學號, 姓名,年齡,姓名,年齡, 性別,性別, ) 實體:實體: 99064111 李四李四 22 男男 文件(文件(file):文件是同一實體集的所有記錄的集合,所有的學生記錄組):文件是同一實體集的所有記錄的集合,所有的學生記錄組成一個學生文件。成一個學生文件。 其中,主關(guān)鍵字(其中,主關(guān)鍵字(key)簡稱主鍵,是能唯一標識文件中每個記錄的字)簡稱主鍵,是能唯一標識文件中每個記錄的字段或字段集,與信息世界中實體標識符的概念相對應。
18、段或字段集,與信息世界中實體標識符的概念相對應。 數(shù)據(jù)庫是數(shù)據(jù)層次最高一層,它是綜合的、相關(guān)的文件集合,它表示一數(shù)據(jù)庫是數(shù)據(jù)層次最高一層,它是綜合的、相關(guān)的文件集合,它表示一個應用項目中相關(guān)的實體集的集合及實體集間的關(guān)聯(lián)。個應用項目中相關(guān)的實體集的集合及實體集間的關(guān)聯(lián)。 我們可以不必關(guān)心數(shù)據(jù)的存儲結(jié)構(gòu)和具體實現(xiàn)方式,因為數(shù)據(jù)庫系我們可以不必關(guān)心數(shù)據(jù)的存儲結(jié)構(gòu)和具體實現(xiàn)方式,因為數(shù)據(jù)庫系統(tǒng)的目標之一,是用戶能簡單、方便地訪問數(shù)據(jù)庫中的數(shù)據(jù)。統(tǒng)的目標之一,是用戶能簡單、方便地訪問數(shù)據(jù)庫中的數(shù)據(jù)。第六章第六章 數(shù)據(jù)資源管理技術(shù)數(shù)據(jù)資源管理技術(shù) 數(shù)據(jù)庫數(shù)據(jù)模型:邏輯模型和物理模型。數(shù)據(jù)庫數(shù)據(jù)模型:邏輯
19、模型和物理模型。 邏輯模型邏輯模型不涉及數(shù)據(jù)的表示、物理實現(xiàn),只描述從系統(tǒng)需求到信息世界的不涉及數(shù)據(jù)的表示、物理實現(xiàn),只描述從系統(tǒng)需求到信息世界的高層抽象的信息模型。高層抽象的信息模型。 創(chuàng)建數(shù)據(jù)邏輯模型的工具是實體聯(lián)系(創(chuàng)建數(shù)據(jù)邏輯模型的工具是實體聯(lián)系(e-r)圖。)圖。 物理模型物理模型面向信息模型所采用的具體數(shù)據(jù)結(jié)構(gòu),第二層抽象。數(shù)據(jù)的物理面向信息模型所采用的具體數(shù)據(jù)結(jié)構(gòu),第二層抽象。數(shù)據(jù)的物理模型有嚴格形式化定義,便于計算機中實現(xiàn)數(shù)據(jù)的存儲和訪問。模型有嚴格形式化定義,便于計算機中實現(xiàn)數(shù)據(jù)的存儲和訪問。 實體間的聯(lián)系:實體間的聯(lián)系:其聯(lián)系方式不外乎三種:其聯(lián)系方式不外乎三種: 一對一(
20、一對一(1:1)聯(lián)系:)聯(lián)系:在兩個實體集中,一方的一個實體最多與另一方對應的一在兩個實體集中,一方的一個實體最多與另一方對應的一個實體相聯(lián)系。例如,已婚男性集合和已婚女性集合間實體關(guān)系是一對一的聯(lián)系。個實體相聯(lián)系。例如,已婚男性集合和已婚女性集合間實體關(guān)系是一對一的聯(lián)系。 一對多(一對多(1:m)聯(lián)系:)聯(lián)系:在兩個實體集中,一方的一個實體與另一方對應的若干個在兩個實體集中,一方的一個實體與另一方對應的若干個實體相聯(lián)系;反之,另一方的一個實體最多對應一方的一個實體,稱一對多聯(lián)系。實體相聯(lián)系;反之,另一方的一個實體最多對應一方的一個實體,稱一對多聯(lián)系。 例如,一個組織部門和職工,在一個具體部門
21、工作的職工有若干個,而一個職工只在一例如,一個組織部門和職工,在一個具體部門工作的職工有若干個,而一個職工只在一個部門工作,工作將部門和職工兩個實體聯(lián)系在一起,是一對多的聯(lián)系。個部門工作,工作將部門和職工兩個實體聯(lián)系在一起,是一對多的聯(lián)系。 多對多(多對多(m:n)聯(lián)系:)聯(lián)系:若兩個實體集中,任何一方的一個實體都對應另一方的若兩個實體集中,任何一方的一個實體都對應另一方的若干個實體,稱多對多聯(lián)系。若干個實體,稱多對多聯(lián)系。 例如,在教學管理中學生和課程,一個具體學生可選修若干門課程,反之,一門課程可例如,在教學管理中學生和課程,一個具體學生可選修若干門課程,反之,一門課程可以被若干個同學選修
22、,選修將學生和課程兩個實體聯(lián)系在一起,是多對多的聯(lián)系。以被若干個同學選修,選修將學生和課程兩個實體聯(lián)系在一起,是多對多的聯(lián)系。 實體有屬性,聯(lián)系也有屬性。實體有屬性,聯(lián)系也有屬性。例如,學生和課程的選修多對多的聯(lián)系有成績屬性。例如,學生和課程的選修多對多的聯(lián)系有成績屬性。 除多對多聯(lián)系的屬性外,一對一和一對多聯(lián)系的屬性,一般都可歸併相應的實體屬性中。除多對多聯(lián)系的屬性外,一對一和一對多聯(lián)系的屬性,一般都可歸併相應的實體屬性中。 遞歸聯(lián)系是一個實體與自身相聯(lián)系,也有一對一,一對多和多對多的聯(lián)系。例如一個組遞歸聯(lián)系是一個實體與自身相聯(lián)系,也有一對一,一對多和多對多的聯(lián)系。例如一個組件可以由多個零件
23、組裝而成,而一個零件又可以在多個組件中組裝使用,這就是多對多件可以由多個零件組裝而成,而一個零件又可以在多個組件中組裝使用,這就是多對多的遞歸聯(lián)系,組裝使用數(shù)量則是聯(lián)系的屬性。的遞歸聯(lián)系,組裝使用數(shù)量則是聯(lián)系的屬性。 對對1:1(m)遞歸聯(lián)系,事實上是超類與子類的聯(lián)系,如職工與干部、領(lǐng)導的聯(lián)系。)遞歸聯(lián)系,事實上是超類與子類的聯(lián)系,如職工與干部、領(lǐng)導的聯(lián)系。第六章第六章 數(shù)據(jù)資源管理技術(shù)數(shù)據(jù)資源管理技術(shù) 數(shù)據(jù)庫數(shù)據(jù)模型數(shù)據(jù)庫數(shù)據(jù)模型 實體聯(lián)系實體聯(lián)系e er r圖圖(entity relationship diagram):):數(shù)據(jù)的邏輯模型強調(diào)語義數(shù)據(jù)的邏輯模型強調(diào)語義表達功能,概念簡單、清
24、晰,易于理解,便于數(shù)據(jù)庫設(shè)計人員和用戶交流,表達功能,概念簡單、清晰,易于理解,便于數(shù)據(jù)庫設(shè)計人員和用戶交流,啟發(fā)、檢驗、返回補充系統(tǒng)需求。啟發(fā)、檢驗、返回補充系統(tǒng)需求。 e-r圖使用圖形符號表示組織業(yè)務活動涉及的實體及實體間聯(lián)系。圖使用圖形符號表示組織業(yè)務活動涉及的實體及實體間聯(lián)系。 矩形框表示實體,兩部分分別表示實體標識及其屬性;菱形表示實體間的聯(lián)系,矩形框表示實體,兩部分分別表示實體標識及其屬性;菱形表示實體間的聯(lián)系,帶有聯(lián)系方式的直線相關(guān)的實體連接,關(guān)系有屬性直接附于菱形框。帶有聯(lián)系方式的直線相關(guān)的實體連接,關(guān)系有屬性直接附于菱形框。 在實際系統(tǒng)中往往有多個相互關(guān)聯(lián)的實體,作圖也比較復
25、雜。在實際系統(tǒng)中往往有多個相互關(guān)聯(lián)的實體,作圖也比較復雜。 例例 倉庫主要管理零件入庫、出庫及采購等事項。工程項目需要倉庫提供零件,倉庫主要管理零件入庫、出庫及采購等事項。工程項目需要倉庫提供零件,倉庫需要向零件供應商采購零件,倉庫需要向零件供應商采購零件, 建立建立e-r圖過程:確定實體集;確定實體間關(guān)系;確定實體集名稱和屬性。圖過程:確定實體集;確定實體間關(guān)系;確定實體集名稱和屬性。工程項目工程項目 (項目編號(項目編號j#,項目名稱,項目名稱jname,開工日期開工日期date)零件零件 (零件編號(零件編號p#,零件名稱零件名稱pname,規(guī)格,規(guī)格psize,重量,重量pweight
26、)供應商供應商 (供應商代號(供應商代號s#,姓名,姓名sname,地址,地址sadr)第六章第六章 數(shù)據(jù)資源管理技術(shù)數(shù)據(jù)資源管理技術(shù) 數(shù)據(jù)庫數(shù)據(jù)模型數(shù)據(jù)庫數(shù)據(jù)模型 數(shù)據(jù)的物理模型數(shù)據(jù)的物理模型數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)。 層次層次或樹狀或樹狀模型:模型:用倒樹結(jié)構(gòu)表示實體及實體間關(guān)系。樹的結(jié)點是記錄類型,用倒樹結(jié)構(gòu)表示實體及實體間關(guān)系。樹的結(jié)點是記錄類型,非根結(jié)點只有一個父結(jié)點,上層與下層間是一對多的關(guān)系。非根結(jié)點只有一個父結(jié)點,上層與下層間是一對多的關(guān)系。 特點是記錄間的聯(lián)系依靠指針,查詢效率高。缺點是只能表示一對多的聯(lián)系,多特點是記錄間的聯(lián)系依靠指針,查詢效率高。缺點是只能表示一
27、對多的聯(lián)系,多對多聯(lián)系實現(xiàn)復雜困難;數(shù)據(jù)查詢、更新復雜、編程比較復雜。對多聯(lián)系實現(xiàn)復雜困難;數(shù)據(jù)查詢、更新復雜、編程比較復雜。 網(wǎng)狀模型:網(wǎng)狀模型:用有向圖表示實體及實體間關(guān)系。有向圖的結(jié)點是記錄類型,有用有向圖表示實體及實體間關(guān)系。有向圖的結(jié)點是記錄類型,有向邊從箭尾端記錄類型到箭頭端記錄類型是一對多關(guān)系。向邊從箭尾端記錄類型到箭頭端記錄類型是一對多關(guān)系。 特點是記錄之間的聯(lián)系用指針,多對多的關(guān)系亦可拆成兩個一對多的關(guān)系。模型特點是記錄之間的聯(lián)系用指針,多對多的關(guān)系亦可拆成兩個一對多的關(guān)系。模型易于實現(xiàn),查詢效率較高,缺點是編寫程序比較復雜,程序員必須熟悉數(shù)據(jù)庫的易于實現(xiàn),查詢效率較高,缺點
28、是編寫程序比較復雜,程序員必須熟悉數(shù)據(jù)庫的邏輯結(jié)構(gòu)。邏輯結(jié)構(gòu)。 關(guān)系模型:關(guān)系模型:用二維表格表達實體集,外鍵表示實體間關(guān)系。用二維表格表達實體集,外鍵表示實體間關(guān)系。 與層次網(wǎng)狀模型相比,簡單易懂,編程與層次網(wǎng)狀模型相比,簡單易懂,編程方便方便,集合論是關(guān)系模型的數(shù)學基礎(chǔ)。,集合論是關(guān)系模型的數(shù)學基礎(chǔ)。 關(guān)系數(shù)據(jù)庫的標準化語言關(guān)系數(shù)據(jù)庫的標準化語言sql已得到廣泛應用。典型關(guān)系數(shù)據(jù)庫管理系統(tǒng)已得到廣泛應用。典型關(guān)系數(shù)據(jù)庫管理系統(tǒng)dbms產(chǎn)品有產(chǎn)品有db2,oracele,sybase,informix和微機產(chǎn)品和微機產(chǎn)品foxpro,access等。等。 概念簡單,易于理解,多對多的關(guān)系可簡
29、單地分解二個一對多的關(guān)系。實體集的概念簡單,易于理解,多對多的關(guān)系可簡單地分解二個一對多的關(guān)系。實體集的主鍵用直線下劃線表示,則上節(jié)倉庫管理的實體及實體間關(guān)系可表示:主鍵用直線下劃線表示,則上節(jié)倉庫管理的實體及實體間關(guān)系可表示:工程項目工程項目(j#, jname, date) 零件零件(p#, pname, psize, pweight) 供應商供應商(s#, sname, saddr) 供需關(guān)系供需關(guān)系 (j#, p#, total) 需供關(guān)系需供關(guān)系 (p#, s#, quantity)第六章第六章 數(shù)據(jù)資源管理技術(shù)數(shù)據(jù)資源管理技術(shù)數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng) dbmsdbms dbms
30、 dbms 是一個提供對共享數(shù)據(jù)可靠管理用的軟件,數(shù)據(jù)庫系統(tǒng)的核心。是一個提供對共享數(shù)據(jù)可靠管理用的軟件,數(shù)據(jù)庫系統(tǒng)的核心。 dbms dbms 對數(shù)據(jù)庫定義、提供用戶視圖、查詢、更新等一切操作,用作數(shù)據(jù)庫與應用對數(shù)據(jù)庫定義、提供用戶視圖、查詢、更新等一切操作,用作數(shù)據(jù)庫與應用程序之間,或數(shù)據(jù)庫與用戶之間的接口。程序之間,或數(shù)據(jù)庫與用戶之間的接口。 三級模式結(jié)構(gòu):三級模式結(jié)構(gòu):內(nèi)模式、概念模式和外模式。內(nèi)模式、概念模式和外模式。 外模式(外模式(external schema):):單個用戶使用的數(shù)據(jù)視圖,是概念模式的一個子集。單個用戶使用的數(shù)據(jù)視圖,是概念模式的一個子集。 概念模式(概念模式
31、(conceptual):):所有用戶的數(shù)據(jù)定義,系統(tǒng)的、全局的數(shù)據(jù)視圖。所有用戶的數(shù)據(jù)定義,系統(tǒng)的、全局的數(shù)據(jù)視圖。 內(nèi)模式(內(nèi)模式(internet):):涉及的數(shù)據(jù)存儲結(jié)構(gòu),物理存儲數(shù)據(jù)視圖,又稱存儲模式。涉及的數(shù)據(jù)存儲結(jié)構(gòu),物理存儲數(shù)據(jù)視圖,又稱存儲模式。 數(shù)據(jù)據(jù)庫數(shù)據(jù)的三個抽象級別,使用戶只要抽象地處理數(shù)據(jù),不必關(guān)心數(shù)據(jù)的表示數(shù)據(jù)據(jù)庫數(shù)據(jù)的三個抽象級別,使用戶只要抽象地處理數(shù)據(jù),不必關(guān)心數(shù)據(jù)的表示和存儲,數(shù)據(jù)的具體組織、管理工作交給和存儲,數(shù)據(jù)的具體組織、管理工作交給dbms,減輕用戶使用系統(tǒng)的負擔。,減輕用戶使用系統(tǒng)的負擔。 數(shù)據(jù)在三級模式間差別很大,數(shù)據(jù)在三級模式間差別很大, d
32、bms dbms 在三級模式間提供兩個層次的映射在三級模式間提供兩個層次的映射外模式到外模式到概念模式、概念模式到內(nèi)模式映射。概念模式、概念模式到內(nèi)模式映射。 兩級數(shù)據(jù)獨立性:兩級數(shù)據(jù)獨立性: 數(shù)據(jù)庫的邏輯獨立性:數(shù)據(jù)庫的邏輯獨立性:概念模式的修改不影響外模式,只需改變外模式到概念模式概念模式的修改不影響外模式,只需改變外模式到概念模式的映射關(guān)系,從而保證子模式不變,應用程序亦無須修改。數(shù)據(jù)的邏輯獨立性,簡的映射關(guān)系,從而保證子模式不變,應用程序亦無須修改。數(shù)據(jù)的邏輯獨立性,簡化了數(shù)據(jù)庫系統(tǒng)應用程序的設(shè)計工作。化了數(shù)據(jù)庫系統(tǒng)應用程序的設(shè)計工作。 數(shù)據(jù)庫的物理獨立性:數(shù)據(jù)庫的物理獨立性:內(nèi)模式的
33、修改不影響概念模式,只需改變概念模式到存儲模內(nèi)模式的修改不影響概念模式,只需改變概念模式到存儲模式的映射關(guān)系。使數(shù)據(jù)庫只需根據(jù)系統(tǒng)需求獨立設(shè)計,又因為有數(shù)據(jù)庫的邏輯數(shù)據(jù)式的映射關(guān)系。使數(shù)據(jù)庫只需根據(jù)系統(tǒng)需求獨立設(shè)計,又因為有數(shù)據(jù)庫的邏輯數(shù)據(jù)獨立性,從而保證對于外模式和應用程序不受存儲模式影響,簡化了數(shù)據(jù)庫系統(tǒng)應獨立性,從而保證對于外模式和應用程序不受存儲模式影響,簡化了數(shù)據(jù)庫系統(tǒng)應用系統(tǒng)的開發(fā)、設(shè)計工作。用系統(tǒng)的開發(fā)、設(shè)計工作。 兩級獨立性簡化應用系統(tǒng)的開發(fā),提高開發(fā)效率。兩級獨立性簡化應用系統(tǒng)的開發(fā),提高開發(fā)效率。 概念模式能導出不同應用的多種子模式,減少數(shù)據(jù)冗余,保證數(shù)據(jù)的一致性,有利于數(shù)
34、概念模式能導出不同應用的多種子模式,減少數(shù)據(jù)冗余,保證數(shù)據(jù)的一致性,有利于數(shù)據(jù)共享。應用程序只操作自己的子模式范圍內(nèi)的數(shù)據(jù),把數(shù)據(jù)庫中其他用戶的數(shù)據(jù)隔離,據(jù)共享。應用程序只操作自己的子模式范圍內(nèi)的數(shù)據(jù),把數(shù)據(jù)庫中其他用戶的數(shù)據(jù)隔離,用戶對數(shù)據(jù)庫概念模式和存儲模式的數(shù)據(jù)都不可見,有利于數(shù)據(jù)的安全性和保密性。用戶對數(shù)據(jù)庫概念模式和存儲模式的數(shù)據(jù)都不可見,有利于數(shù)據(jù)的安全性和保密性。 第六章第六章 數(shù)據(jù)資源管理技術(shù)數(shù)據(jù)資源管理技術(shù)數(shù)據(jù)庫管理系統(tǒng)的組成:數(shù)據(jù)庫管理系統(tǒng)的組成:查詢處理器和存儲管理器。查詢處理器和存儲管理器。 查詢處理器:查詢處理器:查詢處理器主要包括有查詢處理器主要包括有ddl編譯器、
35、編譯器、dml編譯器、嵌入型編譯器、嵌入型dml預編譯器、查詢運行核心程序。預編譯器、查詢運行核心程序。 數(shù)據(jù)描述語言數(shù)據(jù)描述語言ddl(data description language):定義數(shù)據(jù)庫的三級結(jié)構(gòu)及其):定義數(shù)據(jù)庫的三級結(jié)構(gòu)及其相互之間的映射,定義數(shù)據(jù)完整性、安全控制等約束。數(shù)據(jù)庫系統(tǒng)中存儲三級結(jié)相互之間的映射,定義數(shù)據(jù)完整性、安全控制等約束。數(shù)據(jù)庫系統(tǒng)中存儲三級結(jié)構(gòu)定義的數(shù)據(jù)庫稱數(shù)據(jù)字典(構(gòu)定義的數(shù)據(jù)庫稱數(shù)據(jù)字典(data dictionary,dd)。)。 數(shù)據(jù)操縱語言數(shù)據(jù)操縱語言dml(data manipulation language):實現(xiàn)數(shù)據(jù)操作。基本的操):實現(xiàn)
36、數(shù)據(jù)操作?;镜牟僮饔胁樵?、插入、刪除、更新等四種。作有查詢、插入、刪除、更新等四種。dml分交互型和嵌入型兩種。分交互型和嵌入型兩種。 dml語言分:過程性的語言分:過程性的dml必需指示必需指示“做什么做什么”和和“怎么做怎么做”,層次、網(wǎng)狀的,層次、網(wǎng)狀的dml屬過程性屬過程性dml。非過程性的。非過程性的dml,如關(guān)系型的,如關(guān)系型的dml,只需指示,只需指示“做什么做什么”就可,操作簡單、使用方便,深受廣大用戶歡迎。就可,操作簡單、使用方便,深受廣大用戶歡迎。 存儲管理器:存儲管理器:存儲管理器主要包括有授權(quán)和完整性管理器、事務管理器、文存儲管理器主要包括有授權(quán)和完整性管理器、事務管
37、理器、文件管理器、緩沖管理器等,提供數(shù)據(jù)庫保護功能如數(shù)據(jù)恢復、并發(fā)控制、數(shù)件管理器、緩沖管理器等,提供數(shù)據(jù)庫保護功能如數(shù)據(jù)恢復、并發(fā)控制、數(shù)據(jù)庫完整性和安全性控制。據(jù)庫完整性和安全性控制。 安全性保護:安全性保護:規(guī)定用戶訪問數(shù)據(jù)庫的權(quán)限防止非法用戶竊取的安全、保密保護措規(guī)定用戶訪問數(shù)據(jù)庫的權(quán)限防止非法用戶竊取的安全、保密保護措施。系統(tǒng)可采取多種措施,如鑒定用戶身份、口令、數(shù)據(jù)編密碼等安全性保護。施。系統(tǒng)可采取多種措施,如鑒定用戶身份、口令、數(shù)據(jù)編密碼等安全性保護。 完整性管理:完整性管理:完整性指數(shù)據(jù)的正確性和一致性,通過對數(shù)據(jù)及數(shù)據(jù)間的邏輯關(guān)系完整性指數(shù)據(jù)的正確性和一致性,通過對數(shù)據(jù)及數(shù)據(jù)
38、間的邏輯關(guān)系施加約束條件來實現(xiàn)。如對字段值類型、取值范圍、精度等約束,對實體唯一性施加約束條件來實現(xiàn)。如對字段值類型、取值范圍、精度等約束,對實體唯一性約束,對實體間聯(lián)系的約束等。約束,對實體間聯(lián)系的約束等。 故障恢復:故障恢復:數(shù)據(jù)庫在運行過程中難免會造成數(shù)據(jù)庫被破壞,如磁盤損壞、病毒、數(shù)據(jù)庫在運行過程中難免會造成數(shù)據(jù)庫被破壞,如磁盤損壞、病毒、或操作不當?shù)扰既灰蛩厥箶?shù)據(jù)丟失,系統(tǒng)能恢復到破壞前的狀態(tài)稱故障恢復?;虿僮鞑划?shù)扰既灰蛩厥箶?shù)據(jù)丟失,系統(tǒng)能恢復到破壞前的狀態(tài)稱故障恢復。 在使用故障恢復功能時,數(shù)據(jù)備份,事務管理必不可少。在使用故障恢復功能時,數(shù)據(jù)備份,事務管理必不可少。 并發(fā)控制:
39、并發(fā)控制:在多用戶或網(wǎng)絡(luò)應用中的數(shù)據(jù)庫,多個用戶操作同一數(shù)據(jù)時,必須控在多用戶或網(wǎng)絡(luò)應用中的數(shù)據(jù)庫,多個用戶操作同一數(shù)據(jù)時,必須控制不合理的時差有可能造成數(shù)據(jù)出錯現(xiàn)象。制不合理的時差有可能造成數(shù)據(jù)出錯現(xiàn)象。第六章第六章 數(shù)據(jù)資源管理技術(shù)數(shù)據(jù)資源管理技術(shù)數(shù)據(jù)庫管理系統(tǒng)的組成數(shù)據(jù)庫管理系統(tǒng)的組成 存儲管理器:存儲管理器: 并發(fā)錯誤解決方法是控制相關(guān)進程互斥地訪問數(shù)據(jù)庫,如用加鎖和開鎖控制。用并發(fā)錯誤解決方法是控制相關(guān)進程互斥地訪問數(shù)據(jù)庫,如用加鎖和開鎖控制。用戶程序中使用鎖,就可能存在死鎖問題。編寫應用程序時,必須采取預防死鎖的戶程序中使用鎖,就可能存在死鎖問題。編寫應用程序時,必須采取預防死鎖的
40、措施。措施。 數(shù)據(jù)庫的維護功能提供數(shù)據(jù)庫管理員運行數(shù)據(jù)庫的維護功能提供數(shù)據(jù)庫管理員運行db系統(tǒng)時使用。如數(shù)據(jù)導入、備份、文系統(tǒng)時使用。如數(shù)據(jù)導入、備份、文件重組、性能監(jiān)控等,確保數(shù)據(jù)庫保持最佳工作狀態(tài)。件重組、性能監(jiān)控等,確保數(shù)據(jù)庫保持最佳工作狀態(tài)。 用戶界面:用戶界面:用戶是指使用管理信息系統(tǒng)應用程序的聯(lián)機終端用戶。程序員用用戶是指使用管理信息系統(tǒng)應用程序的聯(lián)機終端用戶。程序員用程序設(shè)計語言(稱宿主語言),設(shè)計數(shù)據(jù)庫應用程序或用戶界面,編寫數(shù)據(jù)程序設(shè)計語言(稱宿主語言),設(shè)計數(shù)據(jù)庫應用程序或用戶界面,編寫數(shù)據(jù)庫應用系統(tǒng)。庫應用系統(tǒng)。 dbms 主要由數(shù)據(jù)定義語言主要由數(shù)據(jù)定義語言ddl和數(shù)據(jù)
41、操作語言和數(shù)據(jù)操作語言dml組成,是基于記錄模式的語組成,是基于記錄模式的語言,程序設(shè)計語言是基于整數(shù)、實數(shù)、字符、記錄、數(shù)組等數(shù)據(jù)類型的運算模式言,程序設(shè)計語言是基于整數(shù)、實數(shù)、字符、記錄、數(shù)組等數(shù)據(jù)類型的運算模式的語言,兩者之間有的語言,兩者之間有“縫隙縫隙”。 例如,例如,sql語言不能直接使用指針,數(shù)組等數(shù)據(jù)結(jié)構(gòu),程序設(shè)計語言也沒有語言不能直接使用指針,數(shù)組等數(shù)據(jù)結(jié)構(gòu),程序設(shè)計語言也沒有ddl、dml。 有二種處理方式:一是擴充宿主語言的編譯程序,使之能處理有二種處理方式:一是擴充宿主語言的編譯程序,使之能處理 sql語句,如語句,如vc+、vb 等。另一種是自含語言,等。另一種是自含
42、語言,dbms 有自己的編譯器,也有程序控制命令,有自己的編譯器,也有程序控制命令,可直接用于編寫數(shù)據(jù)庫應用程序,如可直接用于編寫數(shù)據(jù)庫應用程序,如 vfp、delphi 等,使用方便,很受歡迎。等,使用方便,很受歡迎。第六章第六章 數(shù)據(jù)資源管理技術(shù)數(shù)據(jù)資源管理技術(shù) 關(guān)系型數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫 關(guān)系模型的特點:關(guān)系模型的特點:數(shù)據(jù)結(jié)構(gòu)是二維表格,簡單易理解;集合論是其理數(shù)據(jù)結(jié)構(gòu)是二維表格,簡單易理解;集合論是其理論基礎(chǔ)論基礎(chǔ)有嚴密的關(guān)系運算理論和關(guān)系模式設(shè)計理論:有嚴密的關(guān)系運算理論和關(guān)系模式設(shè)計理論: 關(guān)系模型面向集合處理,一次可操作多個元組,層次、網(wǎng)狀模型一次只關(guān)系模型面向集合處理,一次可操
43、作多個元組,層次、網(wǎng)狀模型一次只能操作一個元組;能操作一個元組; 關(guān)系模型有視圖等工具,應用不隨數(shù)據(jù)庫改變而改變,有數(shù)據(jù)邏輯獨立關(guān)系模型有視圖等工具,應用不隨數(shù)據(jù)庫改變而改變,有數(shù)據(jù)邏輯獨立性;性; rdbms 只需指出只需指出“做什么做什么”不必指出不必指出“怎么做怎么做”,層次、網(wǎng)狀模型必,層次、網(wǎng)狀模型必須在應用程序中用指針指出數(shù)據(jù)訪問路徑。須在應用程序中用指針指出數(shù)據(jù)訪問路徑。 關(guān)系型數(shù)據(jù)庫的基本概念關(guān)系型數(shù)據(jù)庫的基本概念 數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)是一個由元組行和屬性列組成的關(guān)系,或直接稱作二維表或表,數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)是一個由元組行和屬性列組成的關(guān)系,或直接稱作二維表或表,用以表示實體集。用外
44、鍵實現(xiàn)實體集間的聯(lián)系。用以表示實體集。用外鍵實現(xiàn)實體集間的聯(lián)系。 關(guān)系的定義:關(guān)系的定義:關(guān)系是元組的集合,元組是集合中的元素,一個元組為關(guān)系是元組的集合,元組是集合中的元素,一個元組為k(k=1)個屬性的集合。關(guān)系有如下限制:個屬性的集合。關(guān)系有如下限制: 1)關(guān)系中每一個屬性值不可分解,即不允許)關(guān)系中每一個屬性值不可分解,即不允許“表中套表表中套表”,也不允許出現(xiàn)重復值。,也不允許出現(xiàn)重復值。 2)屬性的取值范圍稱值域,每個屬性對應一個值域,不同屬性可對應同一值域。關(guān)系)屬性的取值范圍稱值域,每個屬性對應一個值域,不同屬性可對應同一值域。關(guān)系中各屬性的次序不改變關(guān)系的實際意義。元組中屬性
45、理論上是無序的,但在用戶使用時中各屬性的次序不改變關(guān)系的實際意義。元組中屬性理論上是無序的,但在用戶使用時應考慮其有序排列。應考慮其有序排列。 3)關(guān)系中元組代表具體實體,不允許出現(xiàn)相同元組。元組的順序不改變關(guān)系的意義。)關(guān)系中元組代表具體實體,不允許出現(xiàn)相同元組。元組的順序不改變關(guān)系的意義。 實際上,關(guān)系、元組和屬性等術(shù)語來自于關(guān)系數(shù)學,多數(shù)人習慣直接將關(guān)系稱為實際上,關(guān)系、元組和屬性等術(shù)語來自于關(guān)系數(shù)學,多數(shù)人習慣直接將關(guān)系稱為表,元組稱為記錄或行,屬性稱為字段或列。表,元組稱為記錄或行,屬性稱為字段或列。第六章第六章 數(shù)據(jù)資源管理技術(shù)數(shù)據(jù)資源管理技術(shù) 關(guān)系型數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫 鍵(鍵(k
46、eykey)又稱關(guān)鍵字又稱關(guān)鍵字關(guān)系模型的一個重要概念,鍵是由一個或多個屬性關(guān)系模型的一個重要概念,鍵是由一個或多個屬性組成。有下列幾種鍵:組成。有下列幾種鍵: 超鍵(超鍵(super key):):在關(guān)系模式中,能標識唯一元組的屬性集。在關(guān)系模式中,能標識唯一元組的屬性集。 侯選鍵(侯選鍵(candidate key):):能標識唯一元組又無多余屬性的屬性集。能標識唯一元組又無多余屬性的屬性集。 主鍵(主關(guān)鍵字):主鍵(主關(guān)鍵字):用戶選擇使用的標識唯一元組的一個侯選鍵。主鍵必須唯一,用戶選擇使用的標識唯一元組的一個侯選鍵。主鍵必須唯一,不能為空(不能為空(null),以保證標識唯一元組。)
47、,以保證標識唯一元組。 外鍵:外鍵:如果關(guān)系如果關(guān)系r中的主鍵又是另一個關(guān)系中的主鍵又是另一個關(guān)系p的侯選鍵的組成部分,則它是關(guān)系的侯選鍵的組成部分,則它是關(guān)系p的外部主鍵或簡稱外鍵。外鍵不是關(guān)系的外部主鍵或簡稱外鍵。外鍵不是關(guān)系p的主鍵,但用它構(gòu)成關(guān)系的主鍵,但用它構(gòu)成關(guān)系r和和p的聯(lián)系。的聯(lián)系。 次鍵又稱次關(guān)鍵字:次鍵又稱次關(guān)鍵字:用以標識一類元組的一個或多個屬性。用以標識一類元組的一個或多個屬性。 關(guān)系數(shù)據(jù)模型的完整性規(guī)則關(guān)系數(shù)據(jù)模型的完整性規(guī)則 字段(用戶定義)完整性:字段(用戶定義)完整性:針對某個具體數(shù)據(jù)項的約束條件,取決于環(huán)境。系統(tǒng)針對某個具體數(shù)據(jù)項的約束條件,取決于環(huán)境。系統(tǒng)提
48、供定義和檢驗完整性的機制,無需應用程序承擔,保證收集數(shù)據(jù)的準確性。提供定義和檢驗完整性的機制,無需應用程序承擔,保證收集數(shù)據(jù)的準確性。 如學生年齡定義為兩位數(shù),可進一步限制為如學生年齡定義為兩位數(shù),可進一步限制為1530之間,保證系統(tǒng)收集準確的數(shù)據(jù)。之間,保證系統(tǒng)收集準確的數(shù)據(jù)。 記錄(實體)完整性:記錄(實體)完整性:要求關(guān)系中元組在主鍵的屬性值不能為空,否則不能起到要求關(guān)系中元組在主鍵的屬性值不能為空,否則不能起到唯一標識元組的作用;取決環(huán)境,要求元組中某些屬性之間的相互約束條件。唯一標識元組的作用;取決環(huán)境,要求元組中某些屬性之間的相互約束條件。 如在職工實體集中,職工的年齡應大于等于工
49、齡如在職工實體集中,職工的年齡應大于等于工齡+16,否則為非法記錄。,否則為非法記錄。 引用完整性又稱參照完整性:引用完整性又稱參照完整性:關(guān)系數(shù)據(jù)庫中依靠外碼實現(xiàn)表間的聯(lián)系,不允許引關(guān)系數(shù)據(jù)庫中依靠外碼實現(xiàn)表間的聯(lián)系,不允許引用不存在的元組。否則將導致插入或刪除異?,F(xiàn)象,出現(xiàn)孤立無聯(lián)系的元組。用不存在的元組。否則將導致插入或刪除異常現(xiàn)象,出現(xiàn)孤立無聯(lián)系的元組。 如插入一個職工,外碼車間號是允許置為空(如插入一個職工,外碼車間號是允許置為空(null),但不允許車間號的值不在車間),但不允許車間號的值不在車間表中。若要刪除車間表中某個元組,對職工表中對應的車間號是必須采取三種方法之一表中。若要
50、刪除車間表中某個元組,對職工表中對應的車間號是必須采取三種方法之一才能保證引用完整性:一是刪除職工表中相關(guān)的元組;二是將職工表中相關(guān)元組車間號才能保證引用完整性:一是刪除職工表中相關(guān)的元組;二是將職工表中相關(guān)元組車間號為空,或其它存在的車間號;三是若職工表中存在要刪除車間號時,禁止刪除。為空,或其它存在的車間號;三是若職工表中存在要刪除車間號時,禁止刪除。第六章第六章 數(shù)據(jù)資源管理技術(shù)數(shù)據(jù)資源管理技術(shù) 關(guān)系模型的操作關(guān)系模型的操作 關(guān)系模型集中反映在關(guān)系代數(shù)上,它允許用戶在整個關(guān)系范圍內(nèi)進行操作,關(guān)系模型集中反映在關(guān)系代數(shù)上,它允許用戶在整個關(guān)系范圍內(nèi)進行操作,非關(guān)系模型所支持的語言一般只能操
51、作數(shù)據(jù)庫的一個記錄。非關(guān)系模型所支持的語言一般只能操作數(shù)據(jù)庫的一個記錄。 關(guān)系模型的操作分為兩類:代數(shù)操作和關(guān)系操作。投影、篩選和聯(lián)結(jié)是所有關(guān)系模型的操作分為兩類:代數(shù)操作和關(guān)系操作。投影、篩選和聯(lián)結(jié)是所有rdbms必備的關(guān)系操作,稱關(guān)系數(shù)據(jù)庫的特征操作。必備的關(guān)系操作,稱關(guān)系數(shù)據(jù)庫的特征操作。 投影(投影(projection):):投影操作從關(guān)系中垂直地選擇指定的列,消去一些列,投影操作從關(guān)系中垂直地選擇指定的列,消去一些列,并重新安排列的順序構(gòu)成的關(guān)系。即關(guān)系進行重點減維,滿足某些屬性要求,并重新安排列的順序構(gòu)成的關(guān)系。即關(guān)系進行重點減維,滿足某些屬性要求,重新組成的關(guān)系。重新組成的關(guān)系
52、。 篩選(篩選(select):):篩選操作從關(guān)系中水平地選擇出滿足條件要求的元組子集篩選操作從關(guān)系中水平地選擇出滿足條件要求的元組子集構(gòu)成的關(guān)系。構(gòu)成的關(guān)系。 聯(lián)結(jié)(聯(lián)結(jié)(join):):聯(lián)結(jié)是雙目操作,它把兩個關(guān)系聯(lián)結(jié)成一個新關(guān)系,笛卡兒聯(lián)結(jié)是雙目操作,它把兩個關(guān)系聯(lián)結(jié)成一個新關(guān)系,笛卡兒積是基礎(chǔ)。積是基礎(chǔ)。 笛卡兒積(笛卡兒積(cartesian product):):設(shè)關(guān)系設(shè)關(guān)系r和和s的元數(shù)分別為的元數(shù)分別為r和和s ,則,則r和和s 的笛的笛卡兒積是一個(卡兒積是一個(r+s)元的元組集合,每個元組前)元的元組集合,每個元組前r個分量來自個分量來自r的一個元組,后的一個元組,后s個
53、分量來自個分量來自s的一個元組。笛卡兒積聯(lián)結(jié)所得的表(元組和列數(shù))往往十分龐大,的一個元組。笛卡兒積聯(lián)結(jié)所得的表(元組和列數(shù))往往十分龐大,而實際意義不大。而實際意義不大。 條件聯(lián)結(jié):條件聯(lián)結(jié):是關(guān)系是關(guān)系r和和s的笛卡兒積中選出滿足的笛卡兒積中選出滿足條件兩個關(guān)系的元組。條件兩個關(guān)系的元組。 自然聯(lián)結(jié)(自然聯(lián)結(jié)(natural join):):是實用價值很大的一種聯(lián)結(jié),它要求被聯(lián)結(jié)的兩個關(guān)是實用價值很大的一種聯(lián)結(jié),它要求被聯(lián)結(jié)的兩個關(guān)系有若干相同的屬性(字段)名。在公共屬性上具有相等值為依據(jù),進行元組合系有若干相同的屬性(字段)名。在公共屬性上具有相等值為依據(jù),進行元組合并構(gòu)成的關(guān)系。自然聯(lián)
54、結(jié)先做并構(gòu)成的關(guān)系。自然聯(lián)結(jié)先做rs計算,再從公共屬性上具有相等值為條件篩計算,再從公共屬性上具有相等值為條件篩選,提取滿足條件的元組,去掉重復的公共屬性,得到自然聯(lián)結(jié)的結(jié)果。選,提取滿足條件的元組,去掉重復的公共屬性,得到自然聯(lián)結(jié)的結(jié)果。第六章第六章 數(shù)據(jù)資源管理技術(shù)數(shù)據(jù)資源管理技術(shù) 關(guān)系型數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫 結(jié)構(gòu)化查詢語言結(jié)構(gòu)化查詢語言sqlsql(structured query language)查詢命令查詢命令 sql確定為美國國家標準和國際標準的關(guān)系數(shù)據(jù)庫語言。目前所有的關(guān)系型數(shù)據(jù)庫確定為美國國家標準和國際標準的關(guān)系數(shù)據(jù)庫語言。目前所有的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),從大型數(shù)據(jù)庫到微機關(guān)系
55、型數(shù)據(jù)庫管理系統(tǒng)都支持管理系統(tǒng),從大型數(shù)據(jù)庫到微機關(guān)系型數(shù)據(jù)庫管理系統(tǒng)都支持sql。 程序設(shè)計人員和終端用戶,使用程序設(shè)計人員和終端用戶,使用sql語言對數(shù)據(jù)庫中的數(shù)據(jù)進行檢索、修改、定義語言對數(shù)據(jù)庫中的數(shù)據(jù)進行檢索、修改、定義和管理。和管理。sql包括:數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)操縱和數(shù)據(jù)控制。包括:數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)操縱和數(shù)據(jù)控制。 特點:特點:sql語言既是自含式語言,又是嵌入式語言??捎糜诼?lián)機交互使用方式,便語言既是自含式語言,又是嵌入式語言。可用于聯(lián)機交互使用方式,便于數(shù)據(jù)庫管理員維護數(shù)據(jù)庫和提取信息,又可嵌入程序設(shè)計高級語言的程序中,便于數(shù)據(jù)庫管理員維護數(shù)據(jù)庫和提取信息,又可嵌
56、入程序設(shè)計高級語言的程序中,便于編寫數(shù)據(jù)庫應用程序;于編寫數(shù)據(jù)庫應用程序;sql語言是面向問題型的語言,在進行數(shù)據(jù)操作時,只需語言是面向問題型的語言,在進行數(shù)據(jù)操作時,只需指出指出“做什么做什么”,不必指出,不必指出“怎么做怎么做”,大大減輕了用戶的負擔;加之功能豐富,大大減輕了用戶的負擔;加之功能豐富,語法簡單、易學易用,深受用戶歡迎。語法簡單、易學易用,深受用戶歡迎。 查詢是查詢是sql的核心,的核心,foxpro 數(shù)據(jù)庫查詢命令格式數(shù)據(jù)庫查詢命令格式: select all/distinct別名別名.選擇項選擇項as 別名別名,別名別名.選擇項選擇項as 別名別名 from 表名表名表別
57、名表別名,表名,表名表別名表別名 into 目標表名目標表名/to file 文件名文件名additive/to printerprompt/to screen where 條件條件 group by 分組列分組列,分組列,分組列 having 過濾條件過濾條件 union all select 命令命令 order by 排序項排序項 asc/desc,排序項,排序項 asc/desc 該查詢命令共有七個子句,除該查詢命令共有七個子句,除select和和from子句外,其它可以任選。子句外,其它可以任選。第六章第六章 數(shù)據(jù)資源管理技術(shù)數(shù)據(jù)資源管理技術(shù)關(guān)系型數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫 sqlsql查詢
58、命令查詢命令 foxpro 數(shù)據(jù)庫查詢命令格式:數(shù)據(jù)庫查詢命令格式:from子句用來指明查詢出自一個或多個表的表子句用來指明查詢出自一個或多個表的表名;名;into短語指明查詢結(jié)果目標表的去向,忽略短語指明查詢結(jié)果目標表的去向,忽略into短語表明查詢結(jié)果出現(xiàn)短語表明查詢結(jié)果出現(xiàn)在在browse瀏覽窗口中。瀏覽窗口中。select子句指明查詢表(一個或多個表)投影字段,子句指明查詢表(一個或多個表)投影字段,選擇項還可以是常量、表達式和系統(tǒng)函數(shù),如選擇項還可以是常量、表達式和系統(tǒng)函數(shù),如avg,max,min,count和和sum等用以建立目標表的新字段,用等用以建立目標表的新字段,用“as
59、別名別名”指定新字段名。指定新字段名。where子句子句指明查詢表記錄篩選條件和查詢表為多個表時的聯(lián)接條件,多表條件篩選選中指明查詢表記錄篩選條件和查詢表為多個表時的聯(lián)接條件,多表條件篩選選中記錄構(gòu)成目標表的記錄集合。忽略記錄構(gòu)成目標表的記錄集合。忽略where子句表明無篩選或聯(lián)接條件。子句表明無篩選或聯(lián)接條件。 group by子句將查詢結(jié)果分組;子句將查詢結(jié)果分組;having子句和子句和group by子句聯(lián)用通過子句聯(lián)用通過“過濾條件過濾條件” 進一步說明分組;進一步說明分組;union 子句中,由子句中,由select命令組成另一個子命令組成另一個子查詢,將當前查詢結(jié)果與子查詢的結(jié)果
60、進行并操作;查詢,將當前查詢結(jié)果與子查詢的結(jié)果進行并操作;order by將查詢結(jié)果排將查詢結(jié)果排序。序。 例例 查詢查詢“職工工資職工工資”表、顯示女職工而且基本工資大于表、顯示女職工而且基本工資大于300元的職工名單,要元的職工名單,要求顯示職工姓名,性別,工作部門,工作日期,基本工資和應發(fā)工資。其中應求顯示職工姓名,性別,工作部門,工作日期,基本工資和應發(fā)工資。其中應發(fā)工資是新添字段,應發(fā)工資發(fā)工資是新添字段,應發(fā)工資=基本工資基本工資+煤糧補貼煤糧補貼+副食補貼。查詢命令:副食補貼。查詢命令: select 職工姓名,性別,工作部門,工作日期,基本工資,基本工資職工姓名,性別,工作部門
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《漢語閱讀教程》課件-15漢語閱讀教程2上課件L15
- 2025中型建筑工程施工合同示范文本
- 2025年彈性退休政策下勞動合同解除范本
- 黨辦新質(zhì)生產(chǎn)力
- 髓內(nèi)腫瘤的臨床護理
- 2025平臺服務合同杰出范例
- 2025綜合施工合同模板
- 2025年一級造價師之建設(shè)工程造價管理自我檢測試卷B卷附答案
- 2025商鋪經(jīng)營權(quán)轉(zhuǎn)讓合同的范本
- 一級語文下冊教案-《要下雨了》教學設(shè)計之二
- 上海上海閔行職業(yè)技術(shù)學院招聘60人筆試歷年參考題庫附帶答案詳解
- 【教學評一體化】第五單元 觀世間萬物悟人生哲思【大單元公開課一等獎創(chuàng)新教學設(shè)計】新統(tǒng)編版語文七年級下冊名師備課
- 廣西中藥深加工項目投資計劃書
- 私家偵探合同協(xié)議
- 居間保密合同協(xié)議
- 飼料企業(yè)職業(yè)健康培訓大綱
- 第18課《井岡翠竹》課件-2024-2025學年統(tǒng)編版語文七年級下冊
- 公立醫(yī)院成本核算指導手冊
- 第七章-生物醫(yī)學工程的倫理問題
- MOOC 中醫(yī)與辨證-暨南大學 中國大學慕課答案
- 年產(chǎn)10噸功能益生菌凍干粉的工廠設(shè)計改
評論
0/150
提交評論