
課件-數(shù)據(jù)及數(shù)據(jù)模型
29頁數(shù)據(jù)庫及數(shù)據(jù)模型常用的幾種數(shù)據(jù)庫國外:Oracle、DB2、Microsoft SQL Server、MySQL、SyBase、Informix、Microsoft Access國產(chǎn):DM(達(dá)夢)、OpenBase(東軟)、OSCAR(神州)、KingBaseES(金倉)、iBase(貝斯)典型數(shù)據(jù)庫比較oracle,db2比較成熟,屬于大型軟件,一般用于電信、電力、石油、銀行、政府等層面,可以定制,服務(wù)支持完善,價(jià)格較高,支持各種平臺(tái),oracle能夠安全的實(shí)現(xiàn)數(shù)據(jù)在不同平臺(tái)之間的遷移,國內(nèi)應(yīng)用oracle的比較多,市場開拓的較廣,相比之下db2在國外用的較多國內(nèi)oracle的管理員較多,應(yīng)用參考資料案例較多,db2則較少informix、sybase處于第二陣營,屬于大中型軟件,國內(nèi)主要應(yīng)用于銀行、證券等行業(yè),市場面較小,相應(yīng)的培訓(xùn)以及開發(fā)管理人員也較少,從而維護(hù)費(fèi)用較高價(jià)格適中sqlserver屬于中型軟件,只應(yīng)用于windows平臺(tái),數(shù)據(jù)的并發(fā)訪問處理能力偏弱,但是在國內(nèi)普及最為廣泛,數(shù)據(jù)庫管理員較多,維護(hù)費(fèi)用較低價(jià)格適中mysql屬于開源軟件,在安全性方面較好,但是由于開源的原因,數(shù)據(jù)庫的維護(hù)由數(shù)據(jù)庫使用者自行維護(hù),一旦出現(xiàn)問題,沒有對(duì)應(yīng)的廠家做技術(shù)支持。
價(jià)格較低數(shù)據(jù)庫比較品牌 性能 伸縮性 安全 操作 風(fēng)險(xiǎn) 開放性 維護(hù)性 價(jià)格 mssql oracle sybase db2 informix 國內(nèi)、國外數(shù)據(jù)庫的比較目前國內(nèi)數(shù)據(jù)庫技術(shù)也較為成熟,但是與國際上已經(jīng)成熟的數(shù)據(jù)庫相比,還有一定的差距,在并行訪問、負(fù)載壓力、數(shù)據(jù)庫安全性方面還需要進(jìn)一步加強(qiáng)國內(nèi)數(shù)據(jù)庫能夠勝任一般的企業(yè)應(yīng)用,如業(yè)務(wù)型、生產(chǎn)型等,在數(shù)據(jù)處理能力、安全性方面已經(jīng)比較完善,可以放心使用,并且國內(nèi)數(shù)據(jù)庫一般與軟件開發(fā)商提供的管理信息系統(tǒng)等綁定,不必強(qiáng)求國外的大型數(shù)據(jù)庫電子商務(wù)類型企業(yè)對(duì)消費(fèi)者模式(Business to Customer)企業(yè)對(duì)企業(yè)模式(Business to Business)消費(fèi)者對(duì)消費(fèi)者的模式(Customer to Customer)移動(dòng)商務(wù)模式(Mobile-Commerce)政府機(jī)構(gòu)與企業(yè)間的電子商務(wù)模式(Government to Business)政府對(duì)消費(fèi)者的電子商務(wù)模式(Government to Consumer)數(shù)據(jù)模型模型是對(duì)客觀世界中復(fù)雜事物的抽象描述在用計(jì)算機(jī)處理現(xiàn)實(shí)世界的信息時(shí),必須抽取局部范圍的主要特征,模擬和抽象出一個(gè)能反映局部世界中客觀現(xiàn)實(shí)和客觀現(xiàn)實(shí)之間聯(lián)系的模型,即數(shù)據(jù)模型。
如何將現(xiàn)實(shí)中的數(shù)據(jù)組織、整理并存儲(chǔ)于數(shù)據(jù)庫中,在數(shù)據(jù)庫中是用數(shù)據(jù)模型這個(gè)工具來對(duì)現(xiàn)實(shí)世界進(jìn)行抽象從現(xiàn)實(shí)世界的信息到數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù),直到最后用戶所使用的數(shù)據(jù)是一個(gè)逐步抽象的過程數(shù)據(jù)模型在這個(gè)抽象的過程中產(chǎn)生了4種不同的模型:概念模型、邏輯模型、外部模型、內(nèi)部模型數(shù)據(jù)模型概念模型:是用戶與開發(fā)人員交流的模型,是對(duì)于事物的描述,對(duì)現(xiàn)實(shí)世界的抽象表達(dá)邏輯模型:將概念模型用計(jì)算機(jī)的語言表述出來的模型,是計(jì)算機(jī)世界里的事物表現(xiàn)形式,如我們所看到的表格,數(shù)據(jù)記錄等內(nèi)部模型:內(nèi)部模型是計(jì)算機(jī)處理數(shù)據(jù)的模型,是數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù)的結(jié)構(gòu)形式,也就是邏輯模型在計(jì)算機(jī)內(nèi)部進(jìn)行存儲(chǔ)處理的映射外部模型:外部模型是邏輯模型部分?jǐn)?shù)據(jù)的映射,或者是多個(gè)關(guān)系中數(shù)據(jù)的部分?jǐn)?shù)據(jù)組合的映射,用于隔離用戶操作和數(shù)據(jù)庫本身,提高訪問的安全性數(shù)據(jù)庫三層模式結(jié)構(gòu)1)外模式:用戶與數(shù)據(jù)系統(tǒng)的接口,是用戶用到的那部分?jǐn)?shù)據(jù)描述使用外模式可以是應(yīng)用程序員,也可以是一個(gè)聯(lián)機(jī)的終端用戶2)邏輯模式:數(shù)據(jù)庫中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述,他由若干個(gè)邏輯記錄類型組成,還包含記錄之間的聯(lián)系、數(shù)據(jù)的完整性和安全性要求邏輯模式是對(duì)數(shù)據(jù)庫結(jié)構(gòu)的一種描述,而不是數(shù)據(jù)的本身。
一個(gè)數(shù)據(jù)庫只有一個(gè)邏輯模式,數(shù)據(jù)庫邏輯模式以某一種數(shù)據(jù)模型為基礎(chǔ)3)內(nèi)模式:數(shù)據(jù)庫在物理存儲(chǔ)方面的描述,定義了存儲(chǔ)用的內(nèi)部記錄類型、索引和文件的組織方式以及數(shù)據(jù)控制方面的細(xì)節(jié)三層結(jié)構(gòu)之間的兩層映射三層結(jié)構(gòu)體現(xiàn)出來的兩級(jí)映射結(jié)構(gòu),外模式-邏輯模式之間,邏輯模式-內(nèi)模式之間獨(dú)立性物理獨(dú)立性,物理獨(dú)立性是指用戶的應(yīng)用程序與存儲(chǔ)在磁盤上數(shù)據(jù)庫中的數(shù)據(jù)是相互獨(dú)立的邏輯獨(dú)立性,邏輯獨(dú)立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫中的邏輯結(jié)構(gòu)是相互獨(dú)立的數(shù)據(jù)庫管理系統(tǒng)為了便于訪問,數(shù)據(jù)庫通常封裝在數(shù)據(jù)庫管理系統(tǒng)(DBMS,Database Management System)中DBMS是數(shù)據(jù)庫系統(tǒng)中對(duì)數(shù)據(jù)進(jìn)行管理的軟件,它是數(shù)據(jù)庫系統(tǒng)的核心組成部分DBMS所支持的最常用的數(shù)據(jù)訪問語言是結(jié)構(gòu)化查詢語言(SQL,structured query language),雖然取名叫查詢語言,但實(shí)際上通過SQL是可以進(jìn)行數(shù)據(jù)更新等其他操作DBMS角色數(shù)據(jù)庫的運(yùn)行管理以及維護(hù)功能、通信功能、以及最重要的數(shù)據(jù)操縱功能數(shù)據(jù)庫相關(guān)概念 實(shí)體(Entity)客觀存在、可以相互區(qū)別的事物稱為實(shí)體實(shí)體可以是具體的對(duì)象,例如一本書、一個(gè)出版社、一輛汽車、一個(gè)學(xué)生等;也可以是抽象的對(duì)象,例如一次買書、一場比賽等。
實(shí)體集(Entity set)具有相同特征的同類實(shí)體的集合,稱為實(shí)體集屬性(Atrribute)屬性是實(shí)體所具有的特征,一個(gè)特征稱之為一個(gè)屬性關(guān)鍵字(Key)能唯一標(biāo)識(shí)實(shí)體的屬性或?qū)傩约?,稱為關(guān)鍵字用實(shí)體名和屬性名描述同一類實(shí)體,稱為實(shí)體型實(shí)體間的聯(lián)系1、一對(duì)一關(guān)系實(shí)體集A中的一個(gè)實(shí)體至多與實(shí)體集B中的一個(gè)實(shí)體相對(duì)應(yīng),反之亦然,則稱實(shí)體集A與實(shí)體集B為一對(duì)一的聯(lián)系記作1:1實(shí)體間聯(lián)系2、一對(duì)多關(guān)系實(shí)體集A中的一個(gè)實(shí)體與實(shí)體集B中的多個(gè)實(shí)體相對(duì)應(yīng),反之,實(shí)體集B中的一個(gè)實(shí)體至多與實(shí)體集A中的一個(gè)實(shí)體相對(duì)應(yīng)記作1:n實(shí)體間聯(lián)系3、多對(duì)多關(guān)系實(shí)體集A中的一個(gè)實(shí)體與實(shí)體集B中的多個(gè)實(shí)體相對(duì)應(yīng),反之,實(shí)體集B中的一個(gè)實(shí)體與實(shí)體集A中多個(gè)實(shí)體對(duì)應(yīng)記作(m:n)實(shí)體間關(guān)系表示 E-R圖概念模型的表示方法有很多,其中最著名的是P.P.S.Chen 在1976年提出的實(shí)體聯(lián)系方法(Entity Ralation Model,E-R模型)這個(gè)模型可以直接從現(xiàn)實(shí)世界抽象出實(shí)體、實(shí)體之間的聯(lián)系,然后用實(shí)體聯(lián)系圖(E-R圖)表示概念模型設(shè)計(jì)E-R圖的方法稱為E-R方法,簡單的說是用矩形框表示實(shí)體,菱形框表示聯(lián)系,橢圓來表示實(shí)體的屬性。
實(shí)體間關(guān)系表示 E-R圖關(guān)系數(shù)據(jù)庫相關(guān)概念關(guān)系模型(Relation model)是一個(gè)用二維表表示實(shí)體集,用主碼表示實(shí)體之間聯(lián)系的數(shù)據(jù)模型,它的邏輯結(jié)構(gòu)是一張二維表屬性(Attribute)表中的一列即為一個(gè)屬性,每一個(gè)屬性都有一個(gè)屬性名在數(shù)據(jù)庫表中,對(duì)應(yīng)字段的概念,每一個(gè)屬性特征表示在數(shù)據(jù)表的一個(gè)字段選項(xiàng)中屬性屬性名名屬性屬性元組(Tuple)表中的一行即為一個(gè)元組,它表示一個(gè)實(shí)體在數(shù)據(jù)庫中,也會(huì)稱之為一條記錄一個(gè)一個(gè)元組元組共共5個(gè)元組,即一個(gè)實(shí)體個(gè)元組,即一個(gè)實(shí)體域(Domain)屬性的取值范圍如價(jià)格只能取如價(jià)格只能取0到到200之間的、小數(shù)點(diǎn)之間的、小數(shù)點(diǎn)后后2位的數(shù)字位的數(shù)字 碼(Key)或鍵1、主碼(Primary Key):二維表中的某個(gè)屬性或?qū)傩越M,它可以唯一確定一個(gè)元組,主碼有時(shí)也稱為碼例】出版社信息表PUBLISHER(出版社編號(hào),出版社名稱,電話,傳真,Email,地址,郵編,網(wǎng)址)中,主碼一般為出版社編號(hào)2、復(fù)合碼(Compound Key):關(guān)系的主碼不是一個(gè)屬性,而是若干屬性的組合,將這樣的主碼稱為復(fù)合碼復(fù)合碼中的各個(gè)屬性稱為主屬性關(guān)系中其余的屬性稱為非主屬性。
例】選課表(學(xué)生號(hào),課程號(hào),成績)中,主碼是(學(xué)生 號(hào),課程號(hào)),即主碼是一個(gè)復(fù)合碼其中學(xué)生號(hào)和課程號(hào)是主屬性,而成績是非主屬性外碼(Foreign Key):若關(guān)系R的屬性(或?qū)傩越M)F是關(guān)系S的碼,則稱F是關(guān)系R的外碼其中R稱為參照關(guān)系,S稱為被參照關(guān)系碼(Key)或鍵關(guān)系簡單來講就是一個(gè)二維表格網(wǎng)上書店實(shí)例1)用戶表:用戶(用戶編號(hào),用戶名,密碼,真實(shí)姓名,性別,出生年月,地址,Email,電話,郵編)USERs(UserID,UserName,Password,TrueName,sex,Birth,Address,Email,Tel,Post)2)書籍表書籍(書籍編碼,書籍ISBN,書名,作者,出版社編號(hào),價(jià)格,折扣價(jià)格,出版日期,頁數(shù),內(nèi)容簡介,類別編號(hào),數(shù)量,開本(如16開),圖片,版次)BOOK(BookID,ISBN,BookName,Author,PublisherID,Price,DiscountPrice,PublishDate,Page,Description,Categoryid,TotalNum,large,Image,PubTurn)3)出版社信息表出版社(出版社編號(hào),出版社名稱,電話,傳真,Email,地址,郵編,網(wǎng)址)PUBLISHER(PublisherID,Name,Tel,F(xiàn)ax,Email,Address,Post,WWW)4)書類別表(樹狀結(jié)構(gòu),自遞歸)類別表(類別編號(hào),類別名稱,類別描述,父類別編碼)CATEGORY(CategoryId,CategoryName,CategoryDescription,parentedId)5訂單細(xì)節(jié)表訂單細(xì)節(jié)(訂單編號(hào),書籍編碼,數(shù)量)ORDERDETAIL(OrderID,BookID,Quantity)6)訂單表 訂單(訂單編號(hào),訂單時(shí)間,用戶編號(hào),送貨編號(hào),支付方式,訂單狀態(tài),發(fā)貨時(shí)間,預(yù)計(jì)到達(dá)時(shí)間,收貨人姓名,收貨人地址,收貨人電話,郵編)ORDERS(OrderID,DateCreated,UserID,ShippingID,PayMode OrderStatus,DeliveryTime,DateShipped,CustomerName,CustomerAddress,CustomerTel,PostNumber)7)送貨信息表送貨信息(送貨編號(hào),送貨方式,送貨價(jià)格,)Shipping(ShippingID,ShippingType,ShippingCost)8)顧客評(píng)論表 顧客評(píng)論(用戶編碼,書籍編碼,評(píng)論內(nèi)容)Comment(UserID,BookID,Comment)課堂作業(yè)1、建立如下表格:學(xué)生信息表、專業(yè)信息表、教師信息表、課程信息表、成績信息表2、考慮一下用E-R圖來表示以上的關(guān)系,或者網(wǎng)上書店的關(guān)系。



![[精編]吳教人[]13號(hào)](/Images/s.gif)








