版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《數(shù)據(jù)庫設(shè)計(jì)與開發(fā)》北京郵電大學(xué)軟件學(xué)院郭文明(guolyz@)2003.06北京郵電大學(xué)軟件學(xué)院郭文明2003.06郭文明2003.06.05《數(shù)據(jù)庫設(shè)計(jì)與開發(fā)》北京郵電大學(xué)軟件學(xué)院北京郵電大學(xué)軟件學(xué)院10.前言0.1
數(shù)據(jù)庫發(fā)展與應(yīng)用0.2本課程內(nèi)容0.3本課程學(xué)習(xí)方法0.4本課程參考資料北京郵電大學(xué)軟件學(xué)院郭文明2003.06郭文明2003.06.050.前言0.1數(shù)據(jù)庫發(fā)展與應(yīng)用北京郵電大學(xué)軟件學(xué)院20.1數(shù)據(jù)庫發(fā)展與應(yīng)用數(shù)據(jù)庫定義:數(shù)據(jù)庫是數(shù)據(jù)管理的技術(shù),數(shù)據(jù)管理是指對(duì)各種數(shù)據(jù)進(jìn)行收集、存儲(chǔ)、加工和傳播的一系列活動(dòng)的總和。包括對(duì)數(shù)據(jù)的分類、組織、編碼、存儲(chǔ)、檢索和維護(hù)。數(shù)據(jù)處理的發(fā)展:數(shù)據(jù)處理的發(fā)展過程經(jīng)歷了手工管理、文件管理、數(shù)據(jù)庫三個(gè)階段。數(shù)據(jù)模型:數(shù)據(jù)庫是建立在數(shù)據(jù)模型基礎(chǔ)上的數(shù)據(jù)集合。數(shù)據(jù)模型有:層次模型、網(wǎng)狀模型、關(guān)系模型、面向?qū)ο竽P?。比較成熟完善、市場(chǎng)占用率較大的是基于關(guān)系模型基礎(chǔ)上的關(guān)系數(shù)據(jù)庫。郭文明2003.06.050.1數(shù)據(jù)庫發(fā)展與應(yīng)用數(shù)據(jù)庫定義:數(shù)據(jù)庫是數(shù)據(jù)管理的技術(shù),30.1數(shù)據(jù)庫發(fā)展與應(yīng)用數(shù)據(jù)庫管理系統(tǒng):數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,屬系統(tǒng)軟件。數(shù)據(jù)庫管理系統(tǒng)的功能:數(shù)據(jù)定義(create、drop等);數(shù)據(jù)操縱(select、insert等);數(shù)據(jù)庫運(yùn)行(安全性、完整性、并發(fā)控制、故障恢復(fù));數(shù)據(jù)庫建立與維護(hù)(數(shù)據(jù)轉(zhuǎn)儲(chǔ)、數(shù)據(jù)恢復(fù)、性能監(jiān)視、重組織)。目前的一些數(shù)據(jù)庫管理系統(tǒng)(DBMS),小型桌面數(shù)據(jù)庫系統(tǒng)FoxPro,ACCESS,PRADOX等,大型數(shù)據(jù)庫系統(tǒng)ORACLE,INFORMIX,SYBASE,DB2,MicrosoftSQLserver等。郭文明2003.06.050.1數(shù)據(jù)庫發(fā)展與應(yīng)用數(shù)據(jù)庫管理系統(tǒng):數(shù)據(jù)庫管理系統(tǒng)是位于40.1數(shù)據(jù)庫發(fā)展與應(yīng)用數(shù)據(jù)庫的應(yīng)用已越來越廣泛。從小型的單項(xiàng)事務(wù)處理系統(tǒng)到大型復(fù)雜的信息系統(tǒng)大都用先進(jìn)的數(shù)據(jù)庫技術(shù)來保持系統(tǒng)數(shù)據(jù)的整體性、完整性和共享性。1)電腦抽獎(jiǎng):采用數(shù)據(jù)庫技術(shù),不必修改程序,只變更獎(jiǎng)項(xiàng)設(shè)置,即可應(yīng)用于不同的抽獎(jiǎng)活動(dòng)。2)招生考試:通過對(duì)數(shù)據(jù)庫排序和索引,完成考生按志愿從高分到低分排列,根據(jù)學(xué)校招生計(jì)劃錄取,錄滿為止。3)銀行儲(chǔ)蓄:為每個(gè)用戶建立能夠唯一識(shí)別的帳戶,同時(shí)記錄用戶的往來明細(xì),做到存儲(chǔ)量大,運(yùn)算速度快,準(zhǔn)確程度高。郭文明2003.06.050.1數(shù)據(jù)庫發(fā)展與應(yīng)用數(shù)據(jù)庫的應(yīng)用已越來越廣泛。從小型的單50.1數(shù)據(jù)庫發(fā)展與應(yīng)用企業(yè)(生產(chǎn)管理、質(zhì)量管理、客戶管理、財(cái)務(wù)管理、電子商務(wù)等);機(jī)關(guān)(辦公自動(dòng)化);金融(銀行電子結(jié)算);證券(股票交易、行情分析);通訊(話費(fèi)查詢、費(fèi)用結(jié)算);教育衛(wèi)生(網(wǎng)上錄取、學(xué)籍管理);社會(huì)保障(住房公積金、醫(yī)療保險(xiǎn)、養(yǎng)老保險(xiǎn));政府(電子政務(wù));交通(道路信息系統(tǒng))等。國民經(jīng)濟(jì)各個(gè)領(lǐng)域都離不開數(shù)據(jù)庫技術(shù),目前,一個(gè)國家的數(shù)據(jù)庫建設(shè)規(guī)模(指數(shù)據(jù)庫的個(gè)數(shù)、種類)、數(shù)據(jù)庫信息量的大小和使用頻度已成為衡量這個(gè)國家信息化程度的重要標(biāo)志之一。郭文明2003.06.050.1數(shù)據(jù)庫發(fā)展與應(yīng)用企業(yè)(生產(chǎn)管理、質(zhì)量管理、客戶管理、60.1數(shù)據(jù)庫發(fā)展與應(yīng)用數(shù)據(jù)庫系統(tǒng):數(shù)據(jù)庫系統(tǒng)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用系統(tǒng)、DBA和用戶構(gòu)成。數(shù)據(jù)庫設(shè)計(jì)是建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的技術(shù),是信息系統(tǒng)開發(fā)和建設(shè)中的核心技術(shù),具體說,數(shù)據(jù)庫設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息要求和處理要求)。這個(gè)問題是數(shù)據(jù)庫在應(yīng)用領(lǐng)域的主要研究課題。數(shù)據(jù)庫技術(shù)研究領(lǐng)域:DBMS的研制、數(shù)據(jù)庫設(shè)計(jì)、數(shù)據(jù)庫理論。郭文明2003.06.050.1數(shù)據(jù)庫發(fā)展與應(yīng)用數(shù)據(jù)庫系統(tǒng):數(shù)據(jù)庫系統(tǒng)是指在計(jì)算機(jī)系70.2本課程內(nèi)容1)關(guān)系數(shù)據(jù)庫與對(duì)象關(guān)系數(shù)據(jù)庫:建立在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)操縱,融合了面向?qū)ο笏枷氲膶?duì)象關(guān)系數(shù)據(jù)庫和對(duì)象關(guān)系SQL。2)數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)庫管理:數(shù)據(jù)庫常用的文件存儲(chǔ)、索引技術(shù)、散列技術(shù)和多鍵訪問技術(shù)等數(shù)據(jù)存儲(chǔ)技術(shù),保證數(shù)據(jù)庫正常運(yùn)行的安全性、完整性控制和數(shù)據(jù)庫恢復(fù)。3)數(shù)據(jù)庫應(yīng)用程序體系結(jié)構(gòu):訪問數(shù)據(jù)庫的程序,事務(wù)處理技術(shù),Client/Server體系結(jié)構(gòu),多層體系結(jié)構(gòu),分布式數(shù)據(jù)處理和中間件。郭文明2003.06.050.2本課程內(nèi)容1)關(guān)系數(shù)據(jù)庫與對(duì)象關(guān)系數(shù)據(jù)庫:建立在關(guān)80.2本課程內(nèi)容4)ORACLE數(shù)據(jù)庫:ORACLE數(shù)據(jù)庫的體系結(jié)構(gòu),存儲(chǔ)管理,實(shí)例管理;ORACLE數(shù)據(jù)庫的規(guī)劃與實(shí)施。5)數(shù)據(jù)庫設(shè)計(jì):需求分析、概念模型設(shè)計(jì)、數(shù)據(jù)庫邏輯設(shè)計(jì)和物理設(shè)計(jì)、功能設(shè)計(jì)、數(shù)據(jù)庫實(shí)施、CASE技術(shù);ER模型、規(guī)范化設(shè)計(jì)方法。另外,通過實(shí)驗(yàn)環(huán)節(jié)進(jìn)一步理解所講內(nèi)容,實(shí)驗(yàn)即選擇一DBMS平臺(tái)、設(shè)計(jì)一實(shí)際的數(shù)據(jù)庫應(yīng)用系統(tǒng)。完成實(shí)驗(yàn)需具備DBMS知識(shí)、程序設(shè)計(jì)開發(fā)能力、適當(dāng)?shù)膶I(yè)領(lǐng)域知識(shí)。(實(shí)驗(yàn)要求另發(fā))。郭文明2003.06.050.2本課程內(nèi)容4)ORACLE數(shù)據(jù)庫:ORACLE數(shù)據(jù)90.3本課程學(xué)習(xí)方法數(shù)據(jù)庫設(shè)計(jì)與開發(fā)這一門課集理論性、技術(shù)性、藝術(shù)性為一體,學(xué)習(xí)過程中應(yīng)根據(jù)這一些特點(diǎn),針對(duì)性的采取一些措施。1)從學(xué)習(xí)一個(gè)具體的數(shù)據(jù)庫管理系統(tǒng)(DBMS)開始。理解數(shù)據(jù)管理的含義、理解數(shù)據(jù)庫原理中的理論和方法?!x開具體的DBMS進(jìn)行數(shù)據(jù)庫設(shè)計(jì)是不完整的設(shè)計(jì)。2)從熟悉一個(gè)具體的數(shù)據(jù)庫應(yīng)用系統(tǒng)開始。了解具體應(yīng)用的領(lǐng)域知識(shí)和背景,結(jié)合DBMS的功能,探索利用DBMS為實(shí)際解決問題的過程?!x開深厚的領(lǐng)域知識(shí),不可能設(shè)計(jì)出用戶滿意的數(shù)據(jù)庫。郭文明2003.06.050.3本課程學(xué)習(xí)方法數(shù)據(jù)庫設(shè)計(jì)與開發(fā)這一門課集理論性、技術(shù)100.3本課程學(xué)習(xí)方法3)從使用一個(gè)具體的編成語言開始。明確理解在數(shù)據(jù)庫設(shè)計(jì)和開發(fā)過程中,哪些功能由DBMS完成,哪些由程序完成。——沒有編程經(jīng)驗(yàn),不可能設(shè)計(jì)出編程人員滿意的數(shù)據(jù)庫。4)從DBA的角度學(xué)。數(shù)據(jù)庫應(yīng)用系統(tǒng)的運(yùn)行離不開DBA的大力支持,數(shù)據(jù)庫設(shè)計(jì)開發(fā)除滿足一般用戶要求之外,還應(yīng)方便DBA的數(shù)據(jù)管理?!獢?shù)據(jù)庫系統(tǒng)的運(yùn)行沒有DBA的參與,數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)開發(fā)可能會(huì)感覺特別費(fèi)勁。5)多學(xué)習(xí)、多實(shí)踐、多思考才能集理論性、技術(shù)性、藝術(shù)性為一體。郭文明2003.06.050.3本課程學(xué)習(xí)方法3)從使用一個(gè)具體的編成語言開始。明確110.4本課程參考資料1.數(shù)據(jù)庫—原理、編程與性能,PatrickO’Neil著,周傲英等譯,機(jī)械工業(yè)出版社,2002.01
(DATABASEPrinciples,Programming,andPerformance.PatrickO’NeilElizabethO’neil,高等教育出版社,2001.05)2.數(shù)據(jù)庫設(shè)計(jì)教程,ThomasM.Connolly著,何玉潔等譯,機(jī)械工業(yè)出版社,2003.063.Unix和Linux下的Oracle數(shù)據(jù)庫管理,MichaelWesster著,王華駒等譯,人民郵電出版社,2002.84.Oracle9iDBAFundamentalsI,ORACLEUniversity5.數(shù)據(jù)庫實(shí)用教程,丁寶康董健全,清華大學(xué)出版社,2001.09郭文明2003.06.050.4本課程參考資料1.數(shù)據(jù)庫—原理、編程與性能,Pat121.關(guān)系數(shù)據(jù)庫與對(duì)象關(guān)系數(shù)據(jù)庫
關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)使用靈活,即使用戶不是程序員,也可輕松快捷地寫出一般的查詢語句。關(guān)系數(shù)據(jù)庫管理系統(tǒng)建立在關(guān)系模型基礎(chǔ)之上。最近幾年,一種更新的數(shù)據(jù)模型——對(duì)象-關(guān)系模型在許多產(chǎn)品中正逐漸取代關(guān)系模型。建立在對(duì)象—關(guān)系模型基礎(chǔ)之上的數(shù)據(jù)庫管理系統(tǒng)稱為對(duì)象-關(guān)系數(shù)據(jù)庫管理系統(tǒng)(ORDBMS)。對(duì)象-關(guān)系數(shù)據(jù)庫管理系統(tǒng)也支持關(guān)系數(shù)據(jù)庫管理系統(tǒng)中的數(shù)據(jù)。郭文明2003.06.051.關(guān)系數(shù)據(jù)庫與對(duì)象關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBM131.關(guān)系數(shù)據(jù)庫與對(duì)象關(guān)系數(shù)據(jù)庫
本章將介紹多年來支配數(shù)據(jù)表達(dá)方式的關(guān)系模型的概念和規(guī)則,從關(guān)系代數(shù)固有的查詢能力方面介紹關(guān)系模型的特性,還要深入介紹工業(yè)標(biāo)準(zhǔn)SQL(SQL-99)語言。本章還將介紹對(duì)象-關(guān)系模型的特性和對(duì)象-關(guān)系SQL語法。1.1關(guān)系模型1.2關(guān)系代數(shù)1.3SQL1.4對(duì)象關(guān)系數(shù)據(jù)庫郭文明2003.06.051.關(guān)系數(shù)據(jù)庫與對(duì)象關(guān)系數(shù)據(jù)庫本章將介紹多年來支配數(shù)據(jù)表達(dá)141.1關(guān)系模型1.1.1關(guān)系數(shù)據(jù)庫舉例1.1.2關(guān)系數(shù)據(jù)模型域和數(shù)據(jù)類型表和關(guān)系關(guān)系規(guī)則1.1.3數(shù)據(jù)模型1.1.4最常用的數(shù)據(jù)模型郭文明2003.06.051.1關(guān)系模型1.1.1關(guān)系數(shù)據(jù)庫舉例郭文明2003.151.1.1
關(guān)系數(shù)據(jù)庫舉例數(shù)據(jù)庫是為了特殊目的存儲(chǔ)在一起的相關(guān)數(shù)據(jù)記錄的集合。關(guān)系數(shù)據(jù)庫是按照關(guān)系模型組織存放數(shù)據(jù)的數(shù)據(jù)庫。我們給出幾個(gè)關(guān)系數(shù)據(jù)庫的例子。1)產(chǎn)品—代理—銷售數(shù)據(jù)庫(CAP)顧客從代理商那里批發(fā)大量商品然后自己轉(zhuǎn)銷,顧客其實(shí)是零售商。顧客向代理商要求購買商品,每次訂貨要求有完整的記錄。
2)網(wǎng)上錄取數(shù)據(jù)庫(SCT)3)房屋銷售數(shù)據(jù)庫(HEC)
郭文明2003.06.051.1.1關(guān)系數(shù)據(jù)庫舉例數(shù)據(jù)庫是為了特殊目的存儲(chǔ)在一起的相161)產(chǎn)品-代理-銷售數(shù)據(jù)庫(CAP)CUSTOMERS顧客信息表
cid顧客ID
cname顧客姓名
city顧客所在城市
discnt顧客可能會(huì)有的折扣AGENTS代理商信息表aid代理商IDaname代理商名稱city代理商所在城市percent代理商每筆交易所能獲得的傭金百分比PRODUCTS商品信息表
pid商品IDpname商品名稱city商品庫存所在城市quantity商品庫存數(shù)量price商品批發(fā)價(jià)ORDERS訂單信息表
ordno訂單IDMonth訂單月份cid顧客ID
aid代理商IDpid商品IDqty數(shù)量dollars商品總價(jià)郭文明2003.06.051)產(chǎn)品-代理-銷售數(shù)據(jù)庫(CAP)CUSTOMERS顧172)網(wǎng)上錄取數(shù)據(jù)庫(SCT)STUDENTS學(xué)生信息表
Skh考號(hào)Sxm姓名Sxb性別Scsny出生年月Sdw生源地Syw語文Ssx數(shù)學(xué)Swy外語SxXSzof文化總分Szg照顧加分Szgf投檔分Szy1一批志愿Scy1一批參志愿Szy2二批志愿Scy2二批參志愿Sbz標(biāo)志(已投|在閱|錄取|退檔|死檔等)Syx院校碼Ssj時(shí)間COLLEGE院校信息表Cno院校碼Cname院校名稱Clb院校類別Cjh院校計(jì)劃數(shù)Clq院校錄取數(shù)Czy院校在閱數(shù)Ctd院校投檔數(shù)TRACK投檔軌跡表Skh考號(hào)Cno院校碼Tbz標(biāo)志Tsj時(shí)間郭文明2003.06.052)網(wǎng)上錄取數(shù)據(jù)庫(SCT)STUDENTS學(xué)生信息表182)網(wǎng)上錄取數(shù)據(jù)庫(SCT)運(yùn)行機(jī)制投檔程序?qū)⒖忌粗驹笍母叻值降头峙帕?,根?jù)院校計(jì)劃數(shù)和統(tǒng)一劃定的重點(diǎn)院校、普通院校分?jǐn)?shù)線進(jìn)行投檔:滿足條件的考生其標(biāo)志字段(Sbz)改為已投、其院校碼字段(Syx)改為投檔院校的編碼;院校根據(jù)投擋結(jié)果下載已投檔到本學(xué)校的考生信息,此時(shí)考生其標(biāo)志字段(Sbz)改為在閱;院校通過閱讀學(xué)生信息決定每一考生命運(yùn)(錄取、退檔);考生標(biāo)志字段(Sbz)的每一次修改,都會(huì)相應(yīng)修改COLLEGE中的相關(guān)字段值,并且在TRACK中留下痕跡。
郭文明2003.06.052)網(wǎng)上錄取數(shù)據(jù)庫(SCT)運(yùn)行機(jī)制投檔程序?qū)⒖忌粗驹笍?93)房屋銷售數(shù)據(jù)庫(HEC)問題假設(shè)某房地產(chǎn)公司聘用多名業(yè)務(wù)員負(fù)責(zé)房地產(chǎn)的銷售業(yè)務(wù),每名客戶可以多次或一次購買多套住房,每套住房有唯一的標(biāo)識(shí)(房間號(hào)),每套房產(chǎn)交易都要簽定合同,合同事例如下圖所示:試為該房地產(chǎn)公司設(shè)計(jì)一個(gè)關(guān)系數(shù)據(jù)庫。合同號(hào):01409090日期:02/02/03付款方式:一次性總金額:495000.00元客戶身份證號(hào):110102701104271客戶姓名:王剛聯(lián)系電話:88626868地址:北京市白石橋路188號(hào)郵政編碼:100081房間號(hào)居室數(shù)建筑面積(m2)使用面積(m2)單價(jià)(元/m2)金額(元)1023110903300.00297000.00103278603300.00198000.00
務(wù)員代碼:23業(yè)務(wù)員姓名:李平電話號(hào)碼:84128996郭文明2003.06.053)房屋銷售數(shù)據(jù)庫(HEC)問題假設(shè)某房地產(chǎn)公司聘用多名業(yè)務(wù)203)房屋銷售數(shù)據(jù)庫(HEC)問題HOUSES房屋表
房間號(hào)居室數(shù)使用面積單價(jià)銷售合同號(hào)EMPLOYEES雇員表
業(yè)務(wù)員代號(hào)業(yè)務(wù)員姓名電話號(hào)碼CUSTOMERS客戶信息表
客戶身份證號(hào)客戶姓名客戶住址客戶電話號(hào)碼ORDERS合同表
合同號(hào)日期客戶身份證號(hào)業(yè)務(wù)員代碼郭文明2003.06.053)房屋銷售數(shù)據(jù)庫(HEC)問題HOUSES房屋表EMP211.1.2關(guān)系數(shù)據(jù)模型單一的數(shù)據(jù)結(jié)構(gòu)———關(guān)系關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)非常單一。在關(guān)系模型中,現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來表示。在用戶看來,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表。關(guān)系操作關(guān)系模型給出了關(guān)系操作的能力,但不對(duì)RDBMS語言給出具體的語法要求。關(guān)系模型中常用的關(guān)系操作包括:選擇(Select)、投影(Project)、連接(Join)、除(Divide)、并(Union)、交(Intersection)、差(Difference)等查詢(Query)操作和增加(Insert)、刪除(Delete)、修改(Update)操作兩大部分。查詢的表達(dá)能力是其中最主要的部分。關(guān)系操作的特點(diǎn)是集合操作方式,即操作的對(duì)象和結(jié)果都是集合。郭文明2003.06.051.1.2關(guān)系數(shù)據(jù)模型單一的數(shù)據(jù)結(jié)構(gòu)———關(guān)系郭文明20221.1.2關(guān)系數(shù)據(jù)模型關(guān)系的三類完整性約束關(guān)系模型允許定義三類完整性約束:實(shí)體完整性、參照完整性和用戶定義的完整性。其中實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,應(yīng)該由關(guān)系型數(shù)據(jù)庫管理系統(tǒng)自動(dòng)支持。用戶定義的完整性是應(yīng)用領(lǐng)域需要遵循的約束條件,體現(xiàn)了具體領(lǐng)域中的語義約束。關(guān)系模型與以往的模型(層次模型、網(wǎng)狀模型)不同,它是建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上的。在用戶觀點(diǎn)下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。關(guān)系模型中稱為關(guān)系、屬性、元組。數(shù)據(jù)庫中有兩套術(shù)語:表、列、行;關(guān)系、屬性、元組。郭文明2003.06.051.1.2關(guān)系數(shù)據(jù)模型關(guān)系的三類完整性約束郭文明200323域和數(shù)據(jù)類型在目前的DBMS產(chǎn)品中(ACCESS、FOX、ORACLE、DB2UDB、INFORMIX),創(chuàng)建數(shù)據(jù)庫首先確定該數(shù)據(jù)庫有多少表,每一表的名稱是什么,表中包含哪些列,表的列必須確定類型。比如說,表CUSTOMERS中的discnt列的類型是real(實(shí)型),city列的類型為char(20)(字符串)。為什么在定義表的時(shí)候,必須給表的列加一個(gè)特定的類型呢?我們知道,在C或者Java等編程語言中,對(duì)于程序中使用的變量或常量等數(shù)據(jù),事先應(yīng)當(dāng)申明其類型,具有相同類型的數(shù)據(jù)才可以進(jìn)行一系列的比較和運(yùn)算。數(shù)據(jù)庫中給表的列加一個(gè)特定類型的原因也在于此。郭文明2003.06.05域和數(shù)據(jù)類型在目前的DBMS產(chǎn)品中(ACCES24域和數(shù)據(jù)類型在數(shù)據(jù)庫原理或理論性文獻(xiàn)中,一般地說,一個(gè)表的列的取值范圍是在一集合D上,我們稱D為域(Domain)。定義1.1.1域(Domain)
域是一組具有相同數(shù)據(jù)類型的值的集合。例如:自然數(shù)、整數(shù)、實(shí)數(shù)、字符串、日期、時(shí)間、{0,1}、{‘男’,‘女’}、{民族名|中國56個(gè)民族的名字}等等,都可以是域。郭文明2003.06.05域和數(shù)據(jù)類型在數(shù)據(jù)庫原理或理論性文獻(xiàn)中,一般地25表和關(guān)系定義1.1.2
笛卡爾積(CartesianProduct)
給定一組域D1,D2,…,Dn,這些域中可以有相同的。D1,D2,…,Dn的笛卡爾積為:D1×D2×…×Dn={(dl,d2,…,dn)|di∈Di,i=1,2,…,n}
其中每一個(gè)元素(dl,d2,…,dn)叫作一個(gè)n元組(n-tuple)或簡(jiǎn)稱元組(Tuple)。元素中的每一個(gè)值di叫作一個(gè)分量(Component)。若Di(i=1,2,…,n)為有限集,其基數(shù)為mi(i=1,2,…,n),則D1×D2×…×Dn的基數(shù)M為:m1×m2×…×mn笛卡爾積可表示為一個(gè)二維表。表中的每行對(duì)應(yīng)一個(gè)元組,表中的每列對(duì)應(yīng)一個(gè)域。郭文明2003.06.05表和關(guān)系定義1.1.2笛卡爾積(Cartes26表和關(guān)系定義1.1.3關(guān)系(Relation)D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn的關(guān)系,表示為R(D1,D2,…,Dn)R這里只表示關(guān)系的名字,n是關(guān)系的目或度(Degree)。關(guān)系是笛卡爾積的有限子集,所以關(guān)系也是一個(gè)二維表,表的每行對(duì)應(yīng)一個(gè)元組,表的每列對(duì)應(yīng)一個(gè)域。由于域可以相同,為了加以區(qū)分,必須對(duì)每列起一個(gè)名字,稱為屬性(Attribute)。n目關(guān)系必有n個(gè)屬性。郭文明2003.06.05表和關(guān)系定義1.1.3關(guān)系(Relation)27表和關(guān)系若關(guān)系中的某一屬性組的值能唯一地標(biāo)識(shí)一個(gè)元組,則稱該屬性組為候選碼(Candidatekey)。若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼(Primarykey)。主碼的諸屬性稱為主屬性(Primeattribute)。不包含在任何侯選碼中的屬性稱為非碼屬性(Non-keyattribute)。笛卡爾積中的許多元組是無實(shí)際意義的,從中取出有實(shí)際意義的元組來構(gòu)造關(guān)系。在域的笛卡兒積中,我們稱那些符合條件的元素為相關(guān)的,由此得到數(shù)學(xué)上的術(shù)語——關(guān)系。
郭文明2003.06.05表和關(guān)系若關(guān)系中的某一屬性組的值能唯一地標(biāo)識(shí)一28表和關(guān)系表的列相對(duì)是穩(wěn)定的,它描述表的結(jié)構(gòu)。增加或刪除列都不是常見的,我們也不希望在日常業(yè)務(wù)中這樣。設(shè)計(jì)表的列布局就是數(shù)據(jù)庫的邏輯設(shè)計(jì)。另一方面,表的內(nèi)容是經(jīng)常變化的,新的行被添加或被刪除在日常業(yè)務(wù)中隨時(shí)可能發(fā)生。數(shù)據(jù)庫是關(guān)系的集合。組成關(guān)系的屬性(列)的集合稱為關(guān)系模式。數(shù)據(jù)庫所有關(guān)系模式的集合構(gòu)成數(shù)據(jù)庫模式。關(guān)系可以有三種類型:基本關(guān)系(基本表或基表)、查詢表和視圖表。基本表是實(shí)際存在的表,它是實(shí)際存儲(chǔ)數(shù)據(jù)的邏輯表示。查詢表是查詢結(jié)果對(duì)應(yīng)的表。視圖表是由基本表或其他視圖表導(dǎo)出的表,是虛表,不對(duì)應(yīng)實(shí)際存儲(chǔ)的數(shù)據(jù)。郭文明2003.06.05表和關(guān)系表的列相對(duì)是穩(wěn)定的,它描述表的結(jié)構(gòu)。增29關(guān)系規(guī)則基于笛卡爾積的子集的關(guān)系定義,在各種不同的商業(yè)數(shù)據(jù)庫產(chǎn)品中又有一些規(guī)則,這些規(guī)則告訴我們?cè)诒斫Y(jié)構(gòu)中哪些變化是允許的,哪些檢索操作是受限的,這些規(guī)則也是我們?cè)谶M(jìn)行數(shù)據(jù)庫設(shè)計(jì)時(shí)需要充分考慮的。
關(guān)系規(guī)則是在關(guān)系模型的發(fā)明者E.F.Codd的一系列論文中提出,這些規(guī)則反映了特定的數(shù)學(xué)假設(shè),目的是為了建立一個(gè)良好的關(guān)系結(jié)構(gòu)。出現(xiàn)新的對(duì)象-關(guān)系模型是因?yàn)槿藗冋J(rèn)為從數(shù)學(xué)出發(fā)的關(guān)系規(guī)則有點(diǎn)太嚴(yán)格,無法容納一些有價(jià)值的思想,特別是面向?qū)ο蟮南到y(tǒng)分析思想出現(xiàn)之后。郭文明2003.06.05關(guān)系規(guī)則基于笛卡爾積的子集的關(guān)系定義,在各種不30規(guī)則1列是同質(zhì)的每一列中的分量是同一類型的數(shù)據(jù),來自同一個(gè)域。每一列為一個(gè)屬性,要給予不同的屬性名。該規(guī)則對(duì)應(yīng):設(shè)計(jì)表時(shí),確定了表名之后,給每一個(gè)字段命名,并確定字段類型、長(zhǎng)度。注:不同的DBMS所支持的數(shù)據(jù)類型,能夠處理的數(shù)據(jù)長(zhǎng)度不一定相同。不同的DBMS當(dāng)字段類型發(fā)生變化時(shí),對(duì)已有數(shù)據(jù)的處理規(guī)則也不相同。例如:字段學(xué)號(hào)原來是字符型,現(xiàn)在該為數(shù)值型,那末已存在的字符型學(xué)號(hào)是否直接變成數(shù)值型。不同DBMS下的數(shù)據(jù)進(jìn)行移動(dòng)交換時(shí),處理規(guī)則也不相同,數(shù)據(jù)導(dǎo)入導(dǎo)出時(shí)要特別注意此問題。對(duì)于來自于枚舉型數(shù)值域的列,可通過參照表和被參照表的方式實(shí)現(xiàn)。郭文明2003.06.05規(guī)則1列是同質(zhì)的每一列中的分量是同一類型的數(shù)據(jù),來自同一個(gè)31規(guī)則2第一泛式規(guī)則關(guān)系模型要求關(guān)系必須是規(guī)范化的,即要求關(guān)系中不允許含有多值屬性和含有內(nèi)部結(jié)構(gòu),遵守這樣規(guī)則的表稱為第一范式。關(guān)系的每一個(gè)分量必須是一個(gè)不可分的的數(shù)據(jù)項(xiàng),不允許表中還有表。第一范式規(guī)則是關(guān)系模型的基本規(guī)則,但在對(duì)象-關(guān)系數(shù)據(jù)庫系統(tǒng)中,這一規(guī)則將不在是數(shù)據(jù)庫設(shè)計(jì)的一個(gè)約束。以后我們會(huì)討論對(duì)象-關(guān)系模型時(shí)知道,打破第一范式規(guī)則的途徑是該模型中允許表中對(duì)象列的值是包含復(fù)雜類型的集合。用戶可以自定義數(shù)據(jù)類型,某一字段可以是用戶定義的復(fù)雜類型。郭文明2003.06.05規(guī)則2第一泛式規(guī)則關(guān)系模型要求關(guān)系必須是規(guī)范化的,即要求關(guān)32規(guī)則2第一泛式規(guī)則該規(guī)則表明重復(fù)字段在關(guān)系中是不允許的,這是關(guān)系數(shù)據(jù)庫設(shè)計(jì)過程中的一個(gè)最基本的約束。例如,人事管理中常見的職工登記表有簡(jiǎn)歷這一列,如果我們將簡(jiǎn)歷這一列設(shè)計(jì)為備注型字段,則對(duì)曾經(jīng)學(xué)習(xí)工作過的單位的查詢基本不能完成,但如果將該列放入職工表的行中,則我們需要給表建立一定數(shù)目的列,這個(gè)數(shù)目要達(dá)到某一職工可能有的最多的學(xué)習(xí)工作單位數(shù),但是這是不切實(shí)際的。一個(gè)有效的方法是將職工表分解成兩部分,建立單獨(dú)的職工表和簡(jiǎn)歷表,職工表包括職工號(hào)等基本信息,簡(jiǎn)歷表包括職工號(hào)、起始年月、終止年月、單位4個(gè)字段。郭文明2003.06.05規(guī)則2第一泛式規(guī)則該規(guī)則表明重復(fù)字段在關(guān)系中是不允許的,這33規(guī)則3只能基于內(nèi)容存取行規(guī)則行的順序可以任意交換,或者說,行是沒有次序的,我們只可以通過行的內(nèi)容即每一行中所存在的屬性值來檢索。因?yàn)殛P(guān)系是元組的集合,元組沒有第一行、第二行之分。實(shí)際中,查詢職工號(hào)為10001號(hào)職工的信息,沒有查詢第一行職工的信息。值得注意的是,關(guān)系模型要求關(guān)系中列也是沒有次序的,列的順序可以任意交換。這一點(diǎn)在“只能基于內(nèi)容存取行”規(guī)則中已體現(xiàn)。有些商業(yè)數(shù)據(jù)庫系統(tǒng)打破了第三項(xiàng)規(guī)則,通過行標(biāo)識(shí)(rowidentification,ROWID)提供一種用戶檢索表中行的方法。但其主要目的是幫助DBA檢查在什么地方表中的行記錄沒有按正確方式存放。郭文明2003.06.05規(guī)則3只能基于內(nèi)容存取行規(guī)則行的順序可以任意交換,或者說,34規(guī)則4行唯一性規(guī)則任意兩個(gè)元組不能完全相同,關(guān)系模型中關(guān)系是元組的集合,集合中完全相同的兩元素只能被看作一個(gè)元素,集合不可以包含相同的元素。而且,規(guī)則3只能按列值存取要求元組必須唯一。商業(yè)數(shù)據(jù)庫系統(tǒng)中,很多并不是自動(dòng)維護(hù)規(guī)則4的。
郭文明2003.06.05規(guī)則4行唯一性規(guī)則任意兩個(gè)元組不能完全相同,關(guān)系模型中關(guān)系35規(guī)則5實(shí)體完整性規(guī)則任意行在主鍵列上的取值都不允許為空值(NULLValue)??罩到忉尀槲粗幕蛘呱形炊x的,當(dāng)以后知道的情況下會(huì)重新填寫該值??罩挡煌跀?shù)字0和空串。表的主鍵是用來唯一區(qū)分表的行的,不難想象,未知的或者尚未定義的實(shí)體我們是無法區(qū)分他們的。郭文明2003.06.05規(guī)則5實(shí)體完整性規(guī)則任意行在主鍵列上的取值都不允許為空值(361.1.3數(shù)據(jù)模型數(shù)據(jù)模型是數(shù)據(jù)庫的框架,這個(gè)框架表示了信息及其聯(lián)系的組織方式和表達(dá)方式,同時(shí)反映了存取路徑。數(shù)據(jù)模型是數(shù)據(jù)庫管理系統(tǒng)分類的原因。一般的講,任何一種數(shù)據(jù)模型都是嚴(yán)格定義的概念的集合。這些概念必須能夠精確地描述系統(tǒng)的靜態(tài)特性、動(dòng)態(tài)特性和完整性約束條件。1)數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu)用于描述系統(tǒng)的靜態(tài)特性。數(shù)據(jù)結(jié)構(gòu)是所研究的對(duì)象類型的集合,是指對(duì)實(shí)體類型和實(shí)體間聯(lián)系的表達(dá)和實(shí)現(xiàn)。通常按照數(shù)據(jù)結(jié)構(gòu)的類型來命名數(shù)據(jù)模型。層次結(jié)構(gòu)、網(wǎng)狀結(jié)構(gòu)和關(guān)系結(jié)構(gòu)對(duì)應(yīng)層次模型、網(wǎng)狀模型和關(guān)系模型。郭文明2003.06.051.1.3數(shù)據(jù)模型數(shù)據(jù)模型是數(shù)據(jù)庫的框架,這個(gè)框架表示了信息371.1.3數(shù)據(jù)模型2)數(shù)據(jù)操作:數(shù)據(jù)操作是對(duì)系統(tǒng)動(dòng)態(tài)特性的描述。數(shù)據(jù)操作是指對(duì)數(shù)據(jù)庫中各種對(duì)象(型)的實(shí)例(值)允許執(zhí)行的操作的集合。數(shù)據(jù)模型必須定義這些操作的確切含義、操作符號(hào)、操作規(guī)則(如優(yōu)先級(jí))以及實(shí)現(xiàn)操作的語言。3)數(shù)據(jù)的約束條件:數(shù)據(jù)的約束條件是一組完整性規(guī)則的集合。是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依賴規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。此外,數(shù)據(jù)模型還應(yīng)該提供定義完整性約束條件的機(jī)制。郭文明2003.06.051.1.3數(shù)據(jù)模型2)數(shù)據(jù)操作:數(shù)據(jù)操作是對(duì)系統(tǒng)動(dòng)態(tài)特性的描381.1.4最常用的數(shù)據(jù)模型目前,數(shù)據(jù)庫領(lǐng)域中最常用的數(shù)據(jù)模型有四種:層次模型(HierarchicalModel)網(wǎng)狀模型(NetworkModel)關(guān)系模型(RelationalModel)面向?qū)ο竽P?ObjectOrientedModel)層次模型和網(wǎng)狀模型統(tǒng)稱為非關(guān)系模型。非關(guān)系模型的數(shù)據(jù)庫系統(tǒng)在20世紀(jì)70年代至80年代初非常流行,在當(dāng)時(shí)的數(shù)據(jù)庫系統(tǒng)產(chǎn)品中占據(jù)了主導(dǎo)地位。關(guān)系模型的數(shù)據(jù)庫系統(tǒng)在70年代開始出現(xiàn),且發(fā)展迅速,并已逐漸取代了非關(guān)系模型的數(shù)據(jù)庫系統(tǒng)的統(tǒng)治地位,現(xiàn)在流行的數(shù)據(jù)庫系統(tǒng)大都是基于關(guān)系模型的。郭文明2003.06.051.1.4最常用的數(shù)據(jù)模型目前,數(shù)據(jù)庫領(lǐng)域中最常用的數(shù)據(jù)模型391.1.4最常用的數(shù)據(jù)模型20世紀(jì)80年代以來,面向?qū)ο蟮姆椒ê图夹g(shù)在計(jì)算機(jī)各個(gè)領(lǐng)域,包括程序設(shè)計(jì)語言、軟件工程、信息系統(tǒng)設(shè)計(jì)、計(jì)算機(jī)硬件設(shè)計(jì)等各方面都產(chǎn)生了深遠(yuǎn)的影響,也促進(jìn)數(shù)據(jù)庫中新一代數(shù)據(jù)模型——面向?qū)ο髷?shù)據(jù)模型的研究和發(fā)展。目前沒有實(shí)現(xiàn)。在面向?qū)ο髷?shù)據(jù)模型的啟發(fā)下,目前許多關(guān)系型數(shù)據(jù)庫管理系統(tǒng)擴(kuò)展了部分對(duì)象模型功能——對(duì)象關(guān)系數(shù)據(jù)庫。
郭文明2003.06.051.1.4最常用的數(shù)據(jù)模型20世紀(jì)80年代以來,面向?qū)ο蟮姆?0作業(yè):1.試述數(shù)據(jù)庫系統(tǒng)的組成和DBA的職責(zé).2.a)找出下面表的三個(gè)候選鍵.b)給出一個(gè)四行四列的表,要求只有一個(gè)由前三列組成的候選鍵.3.根據(jù)您的認(rèn)識(shí)設(shè)計(jì)一個(gè)人事管理數(shù)據(jù)庫,要求說明設(shè)計(jì)的背景及理由.ABCDa1b1c1d1a2b3c1d2a3b4c2d2a4b2c2d1郭文明2003.06.05作業(yè):1.試述數(shù)據(jù)庫系統(tǒng)的組成和DBA的職責(zé).ABCDa1b41演講完畢,謝謝觀看!演講完畢,謝謝觀看!42《數(shù)據(jù)庫設(shè)計(jì)與開發(fā)》北京郵電大學(xué)軟件學(xué)院郭文明(guolyz@)2003.06北京郵電大學(xué)軟件學(xué)院郭文明2003.06郭文明2003.06.05《數(shù)據(jù)庫設(shè)計(jì)與開發(fā)》北京郵電大學(xué)軟件學(xué)院北京郵電大學(xué)軟件學(xué)院430.前言0.1
數(shù)據(jù)庫發(fā)展與應(yīng)用0.2本課程內(nèi)容0.3本課程學(xué)習(xí)方法0.4本課程參考資料北京郵電大學(xué)軟件學(xué)院郭文明2003.06郭文明2003.06.050.前言0.1數(shù)據(jù)庫發(fā)展與應(yīng)用北京郵電大學(xué)軟件學(xué)院440.1數(shù)據(jù)庫發(fā)展與應(yīng)用數(shù)據(jù)庫定義:數(shù)據(jù)庫是數(shù)據(jù)管理的技術(shù),數(shù)據(jù)管理是指對(duì)各種數(shù)據(jù)進(jìn)行收集、存儲(chǔ)、加工和傳播的一系列活動(dòng)的總和。包括對(duì)數(shù)據(jù)的分類、組織、編碼、存儲(chǔ)、檢索和維護(hù)。數(shù)據(jù)處理的發(fā)展:數(shù)據(jù)處理的發(fā)展過程經(jīng)歷了手工管理、文件管理、數(shù)據(jù)庫三個(gè)階段。數(shù)據(jù)模型:數(shù)據(jù)庫是建立在數(shù)據(jù)模型基礎(chǔ)上的數(shù)據(jù)集合。數(shù)據(jù)模型有:層次模型、網(wǎng)狀模型、關(guān)系模型、面向?qū)ο竽P汀1容^成熟完善、市場(chǎng)占用率較大的是基于關(guān)系模型基礎(chǔ)上的關(guān)系數(shù)據(jù)庫。郭文明2003.06.050.1數(shù)據(jù)庫發(fā)展與應(yīng)用數(shù)據(jù)庫定義:數(shù)據(jù)庫是數(shù)據(jù)管理的技術(shù),450.1數(shù)據(jù)庫發(fā)展與應(yīng)用數(shù)據(jù)庫管理系統(tǒng):數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,屬系統(tǒng)軟件。數(shù)據(jù)庫管理系統(tǒng)的功能:數(shù)據(jù)定義(create、drop等);數(shù)據(jù)操縱(select、insert等);數(shù)據(jù)庫運(yùn)行(安全性、完整性、并發(fā)控制、故障恢復(fù));數(shù)據(jù)庫建立與維護(hù)(數(shù)據(jù)轉(zhuǎn)儲(chǔ)、數(shù)據(jù)恢復(fù)、性能監(jiān)視、重組織)。目前的一些數(shù)據(jù)庫管理系統(tǒng)(DBMS),小型桌面數(shù)據(jù)庫系統(tǒng)FoxPro,ACCESS,PRADOX等,大型數(shù)據(jù)庫系統(tǒng)ORACLE,INFORMIX,SYBASE,DB2,MicrosoftSQLserver等。郭文明2003.06.050.1數(shù)據(jù)庫發(fā)展與應(yīng)用數(shù)據(jù)庫管理系統(tǒng):數(shù)據(jù)庫管理系統(tǒng)是位于460.1數(shù)據(jù)庫發(fā)展與應(yīng)用數(shù)據(jù)庫的應(yīng)用已越來越廣泛。從小型的單項(xiàng)事務(wù)處理系統(tǒng)到大型復(fù)雜的信息系統(tǒng)大都用先進(jìn)的數(shù)據(jù)庫技術(shù)來保持系統(tǒng)數(shù)據(jù)的整體性、完整性和共享性。1)電腦抽獎(jiǎng):采用數(shù)據(jù)庫技術(shù),不必修改程序,只變更獎(jiǎng)項(xiàng)設(shè)置,即可應(yīng)用于不同的抽獎(jiǎng)活動(dòng)。2)招生考試:通過對(duì)數(shù)據(jù)庫排序和索引,完成考生按志愿從高分到低分排列,根據(jù)學(xué)校招生計(jì)劃錄取,錄滿為止。3)銀行儲(chǔ)蓄:為每個(gè)用戶建立能夠唯一識(shí)別的帳戶,同時(shí)記錄用戶的往來明細(xì),做到存儲(chǔ)量大,運(yùn)算速度快,準(zhǔn)確程度高。郭文明2003.06.050.1數(shù)據(jù)庫發(fā)展與應(yīng)用數(shù)據(jù)庫的應(yīng)用已越來越廣泛。從小型的單470.1數(shù)據(jù)庫發(fā)展與應(yīng)用企業(yè)(生產(chǎn)管理、質(zhì)量管理、客戶管理、財(cái)務(wù)管理、電子商務(wù)等);機(jī)關(guān)(辦公自動(dòng)化);金融(銀行電子結(jié)算);證券(股票交易、行情分析);通訊(話費(fèi)查詢、費(fèi)用結(jié)算);教育衛(wèi)生(網(wǎng)上錄取、學(xué)籍管理);社會(huì)保障(住房公積金、醫(yī)療保險(xiǎn)、養(yǎng)老保險(xiǎn));政府(電子政務(wù));交通(道路信息系統(tǒng))等。國民經(jīng)濟(jì)各個(gè)領(lǐng)域都離不開數(shù)據(jù)庫技術(shù),目前,一個(gè)國家的數(shù)據(jù)庫建設(shè)規(guī)模(指數(shù)據(jù)庫的個(gè)數(shù)、種類)、數(shù)據(jù)庫信息量的大小和使用頻度已成為衡量這個(gè)國家信息化程度的重要標(biāo)志之一。郭文明2003.06.050.1數(shù)據(jù)庫發(fā)展與應(yīng)用企業(yè)(生產(chǎn)管理、質(zhì)量管理、客戶管理、480.1數(shù)據(jù)庫發(fā)展與應(yīng)用數(shù)據(jù)庫系統(tǒng):數(shù)據(jù)庫系統(tǒng)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用系統(tǒng)、DBA和用戶構(gòu)成。數(shù)據(jù)庫設(shè)計(jì)是建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的技術(shù),是信息系統(tǒng)開發(fā)和建設(shè)中的核心技術(shù),具體說,數(shù)據(jù)庫設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息要求和處理要求)。這個(gè)問題是數(shù)據(jù)庫在應(yīng)用領(lǐng)域的主要研究課題。數(shù)據(jù)庫技術(shù)研究領(lǐng)域:DBMS的研制、數(shù)據(jù)庫設(shè)計(jì)、數(shù)據(jù)庫理論。郭文明2003.06.050.1數(shù)據(jù)庫發(fā)展與應(yīng)用數(shù)據(jù)庫系統(tǒng):數(shù)據(jù)庫系統(tǒng)是指在計(jì)算機(jī)系490.2本課程內(nèi)容1)關(guān)系數(shù)據(jù)庫與對(duì)象關(guān)系數(shù)據(jù)庫:建立在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)操縱,融合了面向?qū)ο笏枷氲膶?duì)象關(guān)系數(shù)據(jù)庫和對(duì)象關(guān)系SQL。2)數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)庫管理:數(shù)據(jù)庫常用的文件存儲(chǔ)、索引技術(shù)、散列技術(shù)和多鍵訪問技術(shù)等數(shù)據(jù)存儲(chǔ)技術(shù),保證數(shù)據(jù)庫正常運(yùn)行的安全性、完整性控制和數(shù)據(jù)庫恢復(fù)。3)數(shù)據(jù)庫應(yīng)用程序體系結(jié)構(gòu):訪問數(shù)據(jù)庫的程序,事務(wù)處理技術(shù),Client/Server體系結(jié)構(gòu),多層體系結(jié)構(gòu),分布式數(shù)據(jù)處理和中間件。郭文明2003.06.050.2本課程內(nèi)容1)關(guān)系數(shù)據(jù)庫與對(duì)象關(guān)系數(shù)據(jù)庫:建立在關(guān)500.2本課程內(nèi)容4)ORACLE數(shù)據(jù)庫:ORACLE數(shù)據(jù)庫的體系結(jié)構(gòu),存儲(chǔ)管理,實(shí)例管理;ORACLE數(shù)據(jù)庫的規(guī)劃與實(shí)施。5)數(shù)據(jù)庫設(shè)計(jì):需求分析、概念模型設(shè)計(jì)、數(shù)據(jù)庫邏輯設(shè)計(jì)和物理設(shè)計(jì)、功能設(shè)計(jì)、數(shù)據(jù)庫實(shí)施、CASE技術(shù);ER模型、規(guī)范化設(shè)計(jì)方法。另外,通過實(shí)驗(yàn)環(huán)節(jié)進(jìn)一步理解所講內(nèi)容,實(shí)驗(yàn)即選擇一DBMS平臺(tái)、設(shè)計(jì)一實(shí)際的數(shù)據(jù)庫應(yīng)用系統(tǒng)。完成實(shí)驗(yàn)需具備DBMS知識(shí)、程序設(shè)計(jì)開發(fā)能力、適當(dāng)?shù)膶I(yè)領(lǐng)域知識(shí)。(實(shí)驗(yàn)要求另發(fā))。郭文明2003.06.050.2本課程內(nèi)容4)ORACLE數(shù)據(jù)庫:ORACLE數(shù)據(jù)510.3本課程學(xué)習(xí)方法數(shù)據(jù)庫設(shè)計(jì)與開發(fā)這一門課集理論性、技術(shù)性、藝術(shù)性為一體,學(xué)習(xí)過程中應(yīng)根據(jù)這一些特點(diǎn),針對(duì)性的采取一些措施。1)從學(xué)習(xí)一個(gè)具體的數(shù)據(jù)庫管理系統(tǒng)(DBMS)開始。理解數(shù)據(jù)管理的含義、理解數(shù)據(jù)庫原理中的理論和方法?!x開具體的DBMS進(jìn)行數(shù)據(jù)庫設(shè)計(jì)是不完整的設(shè)計(jì)。2)從熟悉一個(gè)具體的數(shù)據(jù)庫應(yīng)用系統(tǒng)開始。了解具體應(yīng)用的領(lǐng)域知識(shí)和背景,結(jié)合DBMS的功能,探索利用DBMS為實(shí)際解決問題的過程?!x開深厚的領(lǐng)域知識(shí),不可能設(shè)計(jì)出用戶滿意的數(shù)據(jù)庫。郭文明2003.06.050.3本課程學(xué)習(xí)方法數(shù)據(jù)庫設(shè)計(jì)與開發(fā)這一門課集理論性、技術(shù)520.3本課程學(xué)習(xí)方法3)從使用一個(gè)具體的編成語言開始。明確理解在數(shù)據(jù)庫設(shè)計(jì)和開發(fā)過程中,哪些功能由DBMS完成,哪些由程序完成?!獩]有編程經(jīng)驗(yàn),不可能設(shè)計(jì)出編程人員滿意的數(shù)據(jù)庫。4)從DBA的角度學(xué)。數(shù)據(jù)庫應(yīng)用系統(tǒng)的運(yùn)行離不開DBA的大力支持,數(shù)據(jù)庫設(shè)計(jì)開發(fā)除滿足一般用戶要求之外,還應(yīng)方便DBA的數(shù)據(jù)管理。——數(shù)據(jù)庫系統(tǒng)的運(yùn)行沒有DBA的參與,數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)開發(fā)可能會(huì)感覺特別費(fèi)勁。5)多學(xué)習(xí)、多實(shí)踐、多思考才能集理論性、技術(shù)性、藝術(shù)性為一體。郭文明2003.06.050.3本課程學(xué)習(xí)方法3)從使用一個(gè)具體的編成語言開始。明確530.4本課程參考資料1.數(shù)據(jù)庫—原理、編程與性能,PatrickO’Neil著,周傲英等譯,機(jī)械工業(yè)出版社,2002.01
(DATABASEPrinciples,Programming,andPerformance.PatrickO’NeilElizabethO’neil,高等教育出版社,2001.05)2.數(shù)據(jù)庫設(shè)計(jì)教程,ThomasM.Connolly著,何玉潔等譯,機(jī)械工業(yè)出版社,2003.063.Unix和Linux下的Oracle數(shù)據(jù)庫管理,MichaelWesster著,王華駒等譯,人民郵電出版社,2002.84.Oracle9iDBAFundamentalsI,ORACLEUniversity5.數(shù)據(jù)庫實(shí)用教程,丁寶康董健全,清華大學(xué)出版社,2001.09郭文明2003.06.050.4本課程參考資料1.數(shù)據(jù)庫—原理、編程與性能,Pat541.關(guān)系數(shù)據(jù)庫與對(duì)象關(guān)系數(shù)據(jù)庫
關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)使用靈活,即使用戶不是程序員,也可輕松快捷地寫出一般的查詢語句。關(guān)系數(shù)據(jù)庫管理系統(tǒng)建立在關(guān)系模型基礎(chǔ)之上。最近幾年,一種更新的數(shù)據(jù)模型——對(duì)象-關(guān)系模型在許多產(chǎn)品中正逐漸取代關(guān)系模型。建立在對(duì)象—關(guān)系模型基礎(chǔ)之上的數(shù)據(jù)庫管理系統(tǒng)稱為對(duì)象-關(guān)系數(shù)據(jù)庫管理系統(tǒng)(ORDBMS)。對(duì)象-關(guān)系數(shù)據(jù)庫管理系統(tǒng)也支持關(guān)系數(shù)據(jù)庫管理系統(tǒng)中的數(shù)據(jù)。郭文明2003.06.051.關(guān)系數(shù)據(jù)庫與對(duì)象關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBM551.關(guān)系數(shù)據(jù)庫與對(duì)象關(guān)系數(shù)據(jù)庫
本章將介紹多年來支配數(shù)據(jù)表達(dá)方式的關(guān)系模型的概念和規(guī)則,從關(guān)系代數(shù)固有的查詢能力方面介紹關(guān)系模型的特性,還要深入介紹工業(yè)標(biāo)準(zhǔn)SQL(SQL-99)語言。本章還將介紹對(duì)象-關(guān)系模型的特性和對(duì)象-關(guān)系SQL語法。1.1關(guān)系模型1.2關(guān)系代數(shù)1.3SQL1.4對(duì)象關(guān)系數(shù)據(jù)庫郭文明2003.06.051.關(guān)系數(shù)據(jù)庫與對(duì)象關(guān)系數(shù)據(jù)庫本章將介紹多年來支配數(shù)據(jù)表達(dá)561.1關(guān)系模型1.1.1關(guān)系數(shù)據(jù)庫舉例1.1.2關(guān)系數(shù)據(jù)模型域和數(shù)據(jù)類型表和關(guān)系關(guān)系規(guī)則1.1.3數(shù)據(jù)模型1.1.4最常用的數(shù)據(jù)模型郭文明2003.06.051.1關(guān)系模型1.1.1關(guān)系數(shù)據(jù)庫舉例郭文明2003.571.1.1
關(guān)系數(shù)據(jù)庫舉例數(shù)據(jù)庫是為了特殊目的存儲(chǔ)在一起的相關(guān)數(shù)據(jù)記錄的集合。關(guān)系數(shù)據(jù)庫是按照關(guān)系模型組織存放數(shù)據(jù)的數(shù)據(jù)庫。我們給出幾個(gè)關(guān)系數(shù)據(jù)庫的例子。1)產(chǎn)品—代理—銷售數(shù)據(jù)庫(CAP)顧客從代理商那里批發(fā)大量商品然后自己轉(zhuǎn)銷,顧客其實(shí)是零售商。顧客向代理商要求購買商品,每次訂貨要求有完整的記錄。
2)網(wǎng)上錄取數(shù)據(jù)庫(SCT)3)房屋銷售數(shù)據(jù)庫(HEC)
郭文明2003.06.051.1.1關(guān)系數(shù)據(jù)庫舉例數(shù)據(jù)庫是為了特殊目的存儲(chǔ)在一起的相581)產(chǎn)品-代理-銷售數(shù)據(jù)庫(CAP)CUSTOMERS顧客信息表
cid顧客ID
cname顧客姓名
city顧客所在城市
discnt顧客可能會(huì)有的折扣AGENTS代理商信息表aid代理商IDaname代理商名稱city代理商所在城市percent代理商每筆交易所能獲得的傭金百分比PRODUCTS商品信息表
pid商品IDpname商品名稱city商品庫存所在城市quantity商品庫存數(shù)量price商品批發(fā)價(jià)ORDERS訂單信息表
ordno訂單IDMonth訂單月份cid顧客ID
aid代理商IDpid商品IDqty數(shù)量dollars商品總價(jià)郭文明2003.06.051)產(chǎn)品-代理-銷售數(shù)據(jù)庫(CAP)CUSTOMERS顧592)網(wǎng)上錄取數(shù)據(jù)庫(SCT)STUDENTS學(xué)生信息表
Skh考號(hào)Sxm姓名Sxb性別Scsny出生年月Sdw生源地Syw語文Ssx數(shù)學(xué)Swy外語SxXSzof文化總分Szg照顧加分Szgf投檔分Szy1一批志愿Scy1一批參志愿Szy2二批志愿Scy2二批參志愿Sbz標(biāo)志(已投|在閱|錄取|退檔|死檔等)Syx院校碼Ssj時(shí)間COLLEGE院校信息表Cno院校碼Cname院校名稱Clb院校類別Cjh院校計(jì)劃數(shù)Clq院校錄取數(shù)Czy院校在閱數(shù)Ctd院校投檔數(shù)TRACK投檔軌跡表Skh考號(hào)Cno院校碼Tbz標(biāo)志Tsj時(shí)間郭文明2003.06.052)網(wǎng)上錄取數(shù)據(jù)庫(SCT)STUDENTS學(xué)生信息表602)網(wǎng)上錄取數(shù)據(jù)庫(SCT)運(yùn)行機(jī)制投檔程序?qū)⒖忌粗驹笍母叻值降头峙帕?,根?jù)院校計(jì)劃數(shù)和統(tǒng)一劃定的重點(diǎn)院校、普通院校分?jǐn)?shù)線進(jìn)行投檔:滿足條件的考生其標(biāo)志字段(Sbz)改為已投、其院校碼字段(Syx)改為投檔院校的編碼;院校根據(jù)投擋結(jié)果下載已投檔到本學(xué)校的考生信息,此時(shí)考生其標(biāo)志字段(Sbz)改為在閱;院校通過閱讀學(xué)生信息決定每一考生命運(yùn)(錄取、退檔);考生標(biāo)志字段(Sbz)的每一次修改,都會(huì)相應(yīng)修改COLLEGE中的相關(guān)字段值,并且在TRACK中留下痕跡。
郭文明2003.06.052)網(wǎng)上錄取數(shù)據(jù)庫(SCT)運(yùn)行機(jī)制投檔程序?qū)⒖忌粗驹笍?13)房屋銷售數(shù)據(jù)庫(HEC)問題假設(shè)某房地產(chǎn)公司聘用多名業(yè)務(wù)員負(fù)責(zé)房地產(chǎn)的銷售業(yè)務(wù),每名客戶可以多次或一次購買多套住房,每套住房有唯一的標(biāo)識(shí)(房間號(hào)),每套房產(chǎn)交易都要簽定合同,合同事例如下圖所示:試為該房地產(chǎn)公司設(shè)計(jì)一個(gè)關(guān)系數(shù)據(jù)庫。合同號(hào):01409090日期:02/02/03付款方式:一次性總金額:495000.00元客戶身份證號(hào):110102701104271客戶姓名:王剛聯(lián)系電話:88626868地址:北京市白石橋路188號(hào)郵政編碼:100081房間號(hào)居室數(shù)建筑面積(m2)使用面積(m2)單價(jià)(元/m2)金額(元)1023110903300.00297000.00103278603300.00198000.00
務(wù)員代碼:23業(yè)務(wù)員姓名:李平電話號(hào)碼:84128996郭文明2003.06.053)房屋銷售數(shù)據(jù)庫(HEC)問題假設(shè)某房地產(chǎn)公司聘用多名業(yè)務(wù)623)房屋銷售數(shù)據(jù)庫(HEC)問題HOUSES房屋表
房間號(hào)居室數(shù)使用面積單價(jià)銷售合同號(hào)EMPLOYEES雇員表
業(yè)務(wù)員代號(hào)業(yè)務(wù)員姓名電話號(hào)碼CUSTOMERS客戶信息表
客戶身份證號(hào)客戶姓名客戶住址客戶電話號(hào)碼ORDERS合同表
合同號(hào)日期客戶身份證號(hào)業(yè)務(wù)員代碼郭文明2003.06.053)房屋銷售數(shù)據(jù)庫(HEC)問題HOUSES房屋表EMP631.1.2關(guān)系數(shù)據(jù)模型單一的數(shù)據(jù)結(jié)構(gòu)———關(guān)系關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)非常單一。在關(guān)系模型中,現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來表示。在用戶看來,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表。關(guān)系操作關(guān)系模型給出了關(guān)系操作的能力,但不對(duì)RDBMS語言給出具體的語法要求。關(guān)系模型中常用的關(guān)系操作包括:選擇(Select)、投影(Project)、連接(Join)、除(Divide)、并(Union)、交(Intersection)、差(Difference)等查詢(Query)操作和增加(Insert)、刪除(Delete)、修改(Update)操作兩大部分。查詢的表達(dá)能力是其中最主要的部分。關(guān)系操作的特點(diǎn)是集合操作方式,即操作的對(duì)象和結(jié)果都是集合。郭文明2003.06.051.1.2關(guān)系數(shù)據(jù)模型單一的數(shù)據(jù)結(jié)構(gòu)———關(guān)系郭文明20641.1.2關(guān)系數(shù)據(jù)模型關(guān)系的三類完整性約束關(guān)系模型允許定義三類完整性約束:實(shí)體完整性、參照完整性和用戶定義的完整性。其中實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,應(yīng)該由關(guān)系型數(shù)據(jù)庫管理系統(tǒng)自動(dòng)支持。用戶定義的完整性是應(yīng)用領(lǐng)域需要遵循的約束條件,體現(xiàn)了具體領(lǐng)域中的語義約束。關(guān)系模型與以往的模型(層次模型、網(wǎng)狀模型)不同,它是建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上的。在用戶觀點(diǎn)下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。關(guān)系模型中稱為關(guān)系、屬性、元組。數(shù)據(jù)庫中有兩套術(shù)語:表、列、行;關(guān)系、屬性、元組。郭文明2003.06.051.1.2關(guān)系數(shù)據(jù)模型關(guān)系的三類完整性約束郭文明200365域和數(shù)據(jù)類型在目前的DBMS產(chǎn)品中(ACCESS、FOX、ORACLE、DB2UDB、INFORMIX),創(chuàng)建數(shù)據(jù)庫首先確定該數(shù)據(jù)庫有多少表,每一表的名稱是什么,表中包含哪些列,表的列必須確定類型。比如說,表CUSTOMERS中的discnt列的類型是real(實(shí)型),city列的類型為char(20)(字符串)。為什么在定義表的時(shí)候,必須給表的列加一個(gè)特定的類型呢?我們知道,在C或者Java等編程語言中,對(duì)于程序中使用的變量或常量等數(shù)據(jù),事先應(yīng)當(dāng)申明其類型,具有相同類型的數(shù)據(jù)才可以進(jìn)行一系列的比較和運(yùn)算。數(shù)據(jù)庫中給表的列加一個(gè)特定類型的原因也在于此。郭文明2003.06.05域和數(shù)據(jù)類型在目前的DBMS產(chǎn)品中(ACCES66域和數(shù)據(jù)類型在數(shù)據(jù)庫原理或理論性文獻(xiàn)中,一般地說,一個(gè)表的列的取值范圍是在一集合D上,我們稱D為域(Domain)。定義1.1.1域(Domain)
域是一組具有相同數(shù)據(jù)類型的值的集合。例如:自然數(shù)、整數(shù)、實(shí)數(shù)、字符串、日期、時(shí)間、{0,1}、{‘男’,‘女’}、{民族名|中國56個(gè)民族的名字}等等,都可以是域。郭文明2003.06.05域和數(shù)據(jù)類型在數(shù)據(jù)庫原理或理論性文獻(xiàn)中,一般地67表和關(guān)系定義1.1.2
笛卡爾積(CartesianProduct)
給定一組域D1,D2,…,Dn,這些域中可以有相同的。D1,D2,…,Dn的笛卡爾積為:D1×D2×…×Dn={(dl,d2,…,dn)|di∈Di,i=1,2,…,n}
其中每一個(gè)元素(dl,d2,…,dn)叫作一個(gè)n元組(n-tuple)或簡(jiǎn)稱元組(Tuple)。元素中的每一個(gè)值di叫作一個(gè)分量(Component)。若Di(i=1,2,…,n)為有限集,其基數(shù)為mi(i=1,2,…,n),則D1×D2×…×Dn的基數(shù)M為:m1×m2×…×mn笛卡爾積可表示為一個(gè)二維表。表中的每行對(duì)應(yīng)一個(gè)元組,表中的每列對(duì)應(yīng)一個(gè)域。郭文明2003.06.05表和關(guān)系定義1.1.2笛卡爾積(Cartes68表和關(guān)系定義1.1.3關(guān)系(Relation)D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn的關(guān)系,表示為R(D1,D2,…,Dn)R這里只表示關(guān)系的名字,n是關(guān)系的目或度(Degree)。關(guān)系是笛卡爾積的有限子集,所以關(guān)系也是一個(gè)二維表,表的每行對(duì)應(yīng)一個(gè)元組,表的每列對(duì)應(yīng)一個(gè)域。由于域可以相同,為了加以區(qū)分,必須對(duì)每列起一個(gè)名字,稱為屬性(Attribute)。n目關(guān)系必有n個(gè)屬性。郭文明2003.06.05表和關(guān)系定義1.1.3關(guān)系(Relation)69表和關(guān)系若關(guān)系中的某一屬性組的值能唯一地標(biāo)識(shí)一個(gè)元組,則稱該屬性組為候選碼(Candidatekey)。若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼(Primarykey)。主碼的諸屬性稱為主屬性(Primeattribute)。不包含在任何侯選碼中的屬性稱為非碼屬性(Non-keyattribute)。笛卡爾積中的許多元組是無實(shí)際意義的,從中取出有實(shí)際意義的元組來構(gòu)造關(guān)系。在域的笛卡兒積中,我們稱那些符合條件的元素為相關(guān)的,由此得到數(shù)學(xué)上的術(shù)語——關(guān)系。
郭文明2003.06.05表和關(guān)系若關(guān)系中的某一屬性組的值能唯一地標(biāo)識(shí)一70表和關(guān)系表的列相對(duì)是穩(wěn)定的,它描述表的結(jié)構(gòu)。增加或刪除列都不是常見的,我們也不希望在日常業(yè)務(wù)中這樣。設(shè)計(jì)表的列布局就是數(shù)據(jù)庫的邏輯設(shè)計(jì)。另一方面,表的內(nèi)容是經(jīng)常變化的,新的行被添加或被刪除在日常業(yè)務(wù)中隨時(shí)可能發(fā)生。數(shù)據(jù)庫是關(guān)系的集合。組成關(guān)系的屬性(列)的集合稱為關(guān)系模式。數(shù)據(jù)庫所有關(guān)系模式的集合構(gòu)成數(shù)據(jù)庫模式。關(guān)系可以有三種類型:基本關(guān)系(基本表或基表)、查詢表和視圖表。基本表是實(shí)際存在的表,它是實(shí)際存儲(chǔ)數(shù)據(jù)的邏輯表示。查詢表是查詢結(jié)果對(duì)應(yīng)的表。視圖表是由基本表或其他視圖表導(dǎo)出的表,是虛表,不對(duì)應(yīng)實(shí)際存儲(chǔ)的數(shù)據(jù)。郭文明2003.06.05表和關(guān)系表的列相對(duì)是穩(wěn)定的,它描述表的結(jié)構(gòu)。增71關(guān)系規(guī)則基于笛卡爾積的子集的關(guān)系定義,在各種不同的商業(yè)數(shù)據(jù)庫產(chǎn)品中又有一些規(guī)則,這些規(guī)則告訴我們?cè)诒斫Y(jié)構(gòu)中哪些變化是允許的,哪些檢索操作是受限的,這些規(guī)則也是我們?cè)谶M(jìn)行數(shù)據(jù)庫設(shè)計(jì)時(shí)需要充分考慮的。
關(guān)系規(guī)則是在關(guān)系模型的發(fā)明者E.F.Codd的一系列論文中提出,這些規(guī)則反映了特定的數(shù)學(xué)假設(shè),目的是為了建立一個(gè)良好的關(guān)系結(jié)構(gòu)。出現(xiàn)新的對(duì)象-關(guān)系模型是因?yàn)槿藗冋J(rèn)為從數(shù)學(xué)出發(fā)的關(guān)系規(guī)則有點(diǎn)太嚴(yán)格,無法容納一些有價(jià)值的思想,特別是面向?qū)ο蟮南到y(tǒng)分析思想出現(xiàn)之后。郭文明2003.06.05關(guān)系規(guī)則基于笛卡爾積的子集的關(guān)系定義,在各種不72規(guī)則1列是同質(zhì)的每一列中的分量是同一類型的數(shù)據(jù),來自同一個(gè)域。每一列為一個(gè)屬性,要給予不同的屬性名。該規(guī)則對(duì)應(yīng):設(shè)計(jì)表時(shí),確定了表名之后,給每一個(gè)字段命名,并確定字段類型、長(zhǎng)度。注:不同的DBMS所支持的數(shù)據(jù)類型,能夠處理的數(shù)據(jù)長(zhǎng)度不一定相同。不同的DBMS當(dāng)字段類型發(fā)生變化時(shí),對(duì)已有數(shù)據(jù)的處理規(guī)則也不相同。例如:字段學(xué)號(hào)原來是字符型,現(xiàn)在該為數(shù)值型,那末已存在的字符型學(xué)號(hào)是否直接變成數(shù)值型。不同DBMS下的數(shù)據(jù)進(jìn)行移動(dòng)交換時(shí),處理規(guī)則也不相同,數(shù)據(jù)導(dǎo)入導(dǎo)出時(shí)要特別注意此問題。對(duì)于來自于枚舉型數(shù)值域的列,可通過參照表和被參照表的方式實(shí)現(xiàn)。郭文明2003.06.05規(guī)則1列是同質(zhì)的每一列中的分量是同一類型的數(shù)據(jù),來自同一個(gè)73規(guī)則2第一泛式規(guī)則關(guān)系模型要求關(guān)系必須是規(guī)范化的,即要求關(guān)系中不允許含有多值屬性和含有內(nèi)部結(jié)構(gòu),遵守這樣規(guī)則的表稱為第一范式。關(guān)系的每一個(gè)分量必須是一個(gè)不可分的的數(shù)據(jù)項(xiàng),不允許表中還有表。第一范式規(guī)則是關(guān)系模型的基本規(guī)則,但在對(duì)象-關(guān)系數(shù)據(jù)庫系統(tǒng)中,這一規(guī)則將不在是數(shù)據(jù)庫設(shè)計(jì)的一個(gè)約束。以后我們會(huì)討論對(duì)象-關(guān)系模型時(shí)知道,打破第一范式規(guī)則的途徑是該模型中允許表中對(duì)象列的值是包含復(fù)雜類型的集合。用戶可以自定義數(shù)據(jù)類型,某一字段可以是用戶定義的復(fù)雜類型。郭文明2003.06.05規(guī)則2第一泛式規(guī)則
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程單位租車合同范例
- 重塑孤殘兒童庇護(hù)之路
- 液壓新篇:挑戰(zhàn)與超越
- 姑蘇區(qū)物業(yè)管理合同范例
- 中醫(yī)培訓(xùn)合作合同范例
- 平臺(tái)服務(wù)抽合同范例
- 工程居間付款合同模板
- 工業(yè)廠房干貨合同范例
- 婚慶店轉(zhuǎn)讓合同范例
- 加盟餐飲商務(wù)合同范例
- ADS創(chuàng)建自己的元件庫
- 探源民國時(shí)期的金融改革歷史
- MATLAB仿真三相橋式整流電路(詳細(xì)完美)
- 文件管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 2019年重慶普通高中會(huì)考通用技術(shù)真題及答案
- 天秤座小奏鳴曲,Libra Sonatine;迪安斯,Roland Dyens(古典吉他譜)
- 鋼筋混凝土工程施工及驗(yàn)收規(guī)范最新(完整版)
- 光纜施工規(guī)范及要求
- 三國志11全人物信息(五維、特技、生卒年等)
- 第六章 氣體射流
- 華南農(nóng)業(yè)大學(xué)本科生畢業(yè)論文范例Word版
評(píng)論
0/150
提交評(píng)論