版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第一章數(shù)據(jù)模型
內(nèi)容簡介:介紹現(xiàn)代數(shù)據(jù)庫常用的數(shù)據(jù)模型。數(shù)據(jù)模型在數(shù)據(jù)庫系統(tǒng)中的作用。數(shù)據(jù)模型之間的轉(zhuǎn)化。評價各種模型的優(yōu)劣。如何設(shè)計各種模型。第一節(jié)關(guān)系模型一關(guān)系模型的再定義:關(guān)系模型是用二維表表示數(shù)據(jù),規(guī)定表自身上的約束條件,以及表與表之間的約束條件的數(shù)據(jù)庫表示方法。他的操作是基于關(guān)系代數(shù)和關(guān)系演算的。
二特點
1簡潔的數(shù)據(jù)表示方法。2.堅實嚴謹?shù)睦碚摶A(chǔ)。(模式理論和運算理論)3.使用方便。
關(guān)系模型的不足1.應(yīng)用范圍的局限性。2.數(shù)據(jù)類型單調(diào)。3.受到第一范式的限制。4.缺少嵌套機制。(表中不能含表)。模式定義與域完整性約束1.基本語句
CREATETABLE
表名(屬性1類型1,…,)2.主碼的定義
primarykey(屬性1,…,屬性n)3.空值與缺省值
notnull,null,default常數(shù)
4.屬性域的約束
check(邏輯條件)例:建立成績表
CREATETABLEXK(xhc(10),khc(4),
cjintcheck(cj>=0andcj<=100),primarykey(xh,kh))
五外碼與參照完整性1.外碼:在另一張表中作為主碼的屬性。注意:外碼可在同一張表中。
foreignkey外碼reference主表(主碼)
2.參照完整性在次表中出現(xiàn)的外碼必須在主表中出現(xiàn)。
實現(xiàn)參照完整性的方法:1.級聯(lián)規(guī)則:.當主表作刪除時,外碼同時刪除。.當主表作修改時,外碼相應(yīng)修改。
ondeletecascadeonupdatecascade2.置空規(guī)則:.當主碼被刪除時,外碼被置空。
setnull3.禁止規(guī)則:禁止主碼作刪除。
noaction
例:對xk表說明外碼,并按級聯(lián)規(guī)則設(shè)置參照完整性。
createtablexk(xhc(10),khc(4),
cjintnotnullcheck(cj>=0andcj<=100),primarykey(xh,kh),foreignkeyxhreferencexs(xh),ondeletecascade,onupdatecascade,foreignkeykhreferencekc(kh),ondeletecascadeonupdatecascade)
思考題:設(shè)居民表應(yīng)包括如下屬性:身份證號,姓名,住址,聯(lián)系電話,性別,配偶身份證號。請建立該表的模式,并設(shè)定參照完整性。
解答:
createtablejm(sfzhmc(150),xmc(20),
zzc(20),xbc(2),lxdhc(20)),psfzc(15),primarykey(sfzhm),foreignkeypsfzreferencejm(sfzhm)ondeletesetnullonupdatecascade)第二節(jié)擴充的E-R模型及向關(guān)系模型的轉(zhuǎn)化子集與繼承性1.子集:如果一個實體集是另一個實體集的一部分。則稱該實體集為子集,另一實體集為超集。2.子集聯(lián)系:
ISA
3.繼承性:.子集繼承超集的所有屬性.子集繼承超級上的所有聯(lián)系
例:一個E-R模型的實例
客戶儲蓄類別開戶ISA大客戶帳號
實體集向關(guān)系的轉(zhuǎn)化\\*1.若屬性是簡單屬性,則可直接轉(zhuǎn)化為表模式。實體碼成為表的碼。2.若屬性是組合屬性,則把組合屬性轉(zhuǎn)化為簡單屬性。常見的組合屬性有.集合類型.數(shù)組類型.結(jié)構(gòu)類型
三聯(lián)系向關(guān)系模式的轉(zhuǎn)化1.1-1和1-n的轉(zhuǎn)化例將下列E-R圖轉(zhuǎn)化為關(guān)系模式
111n
LD(bmh,ygh)
和SY(bmh,ygh)BM(bmh,mc)YG(ygh,xm)部門職員領(lǐng)導(dǎo)屬于部門號職員號名稱姓名
思考題:還有其他的設(shè)計方法嗎?n-m的轉(zhuǎn)化方法將聯(lián)系轉(zhuǎn)化為關(guān)系模式。子集的轉(zhuǎn)化方法.在子集中引入超集的碼。.在超集中增加類別標志。例:有下列子集,怎么轉(zhuǎn)化?
學(xué)生研究生ISA學(xué)號導(dǎo)師
.YJS(xh,ds).XS(xh,lb)
想一想,把研究生分出來有什么好處?如何確定關(guān)系模式中的碼?1.實體碼直接成為關(guān)系的碼。2.聯(lián)系轉(zhuǎn)化為關(guān)系后,關(guān)系的碼由聯(lián)系的函數(shù)依賴決定。三種情況:.由實體碼決定.由實體碼的組合決定.由聯(lián)系的函數(shù)依賴決定
考慮如下的E-R模型:確定聯(lián)系的碼??蛻魞π铋_戶帳號身份證號儲蓄編號余額
五E—R模型優(yōu)劣評析1.直觀、簡潔。2.與機器模型無關(guān)。3.很容易轉(zhuǎn)變?yōu)殛P(guān)系模型。4.有時難以區(qū)分實體與聯(lián)系。有時難以區(qū)分是實體屬性還是聯(lián)系屬性。5.缺乏對實體和聯(lián)系上的操作的描述機制。
思考題:每份合同中應(yīng)寫明定購商名稱,所在地,聯(lián)系電話,供貨商名稱,所在地,聯(lián)系電話,經(jīng)手人,商品編號,類別,型號,品牌,數(shù)量,單價,金額,訂貨日期,交貨日期。每份合同可定若干種商品。請畫出反應(yīng)合同業(yè)務(wù)的E-R圖,并轉(zhuǎn)化為關(guān)系模式。第三節(jié)面向?qū)ο竽P团cODL語言對象的基本概念1.對象:被計算機處理和唯一標識的基本單位。2.屬性:描述對象特征的數(shù)據(jù)項。3.對象的表示方法:{OID,[VALUES]}.OID:
對象標識符.VALUES:
表示對象的一組值
4.對象值的類型.基本類型char,float,integer,date.引用類型類名
.元組類型[…].組合類型set,array,structure類1.定義:具有相同屬性對象的集合。2.組成:.屬性.聯(lián)系.方法
3.Class
類名[key(一組屬性)]
extent外部名{
attribute
類型屬性名;…
relationship對象類型聯(lián)系名[inverse類名::聯(lián)系名];…}
說明:1.外部名用于查詢中。2.對象類型只能是基本對象類型和集合對象類型。3.Inverse用來反映相應(yīng)一對聯(lián)系,采用同一個物理結(jié)構(gòu)。
4.子類
定義:一個類的對象集是另一個對象集的子集。繼承性:語句:
class
子類名:超類名{
attribute類型屬性名;…
relationship對象類型聯(lián)系名[inverse類名::聯(lián)系名];…}
例:用ODL語言描述選課E-R圖
classstudentextentstudenttext{attributechar(10)xh;attributechar(20)xm;relationshipset(selectcourse)s_select;}學(xué)生課程選課學(xué)號姓名成績課程名課號
classcoursekey(kh)extentcoursetet{attributechar(4)kh;attributechar(20)km;relationshipset(selectcourse)c_selected;}classselectcourseextentsctext{attributeint
cj;relationshipcoursesc_course;relationshipstudentsc_student;}
E-R模型向?qū)ο竽P偷霓D(zhuǎn)化1.實體向類的轉(zhuǎn)化。
2.不帶聯(lián)系屬性的轉(zhuǎn)化。轉(zhuǎn)化為relationship3.帶聯(lián)系屬性的轉(zhuǎn)化。.通過屬性轉(zhuǎn)移。.通過引入弱實體。如:學(xué)生課程選課成績
轉(zhuǎn)化為:
學(xué)生課程選課選擇被選成績課號學(xué)號
四對象模型的評析1.類型豐富2.與面向?qū)ο蟪绦蛟O(shè)計方法保持一致。3.很容易與對象程序設(shè)計語言進行混合編程。4.缺乏對聯(lián)系屬性的描述,不如關(guān)系模型直觀。5.在查詢中可能出現(xiàn)副作用。
思考題:1.當聯(lián)系是多元聯(lián)系時,應(yīng)如何轉(zhuǎn)化?2.將下列E-R圖轉(zhuǎn)化為對象模型。
演員電影姓名住址名稱制片廠演出角色長度
說明:1.除長度是integer外,其余屬性為string。2.一部電影可能有多家制片公司制作。3.一名演員可能有多處住址,且由省,市,區(qū)(縣),街,社區(qū),門牌樓號。第四節(jié)對象--關(guān)系模型對象-關(guān)系模型1.定義:在數(shù)據(jù)庫中的數(shù)據(jù)或者是以元組的方式存放,或者是以對象的方式存放。2.特點:.在DBMS中存在兩種表示數(shù)據(jù)的方式。表和類。.在數(shù)據(jù)操作上,既適合關(guān)系的處理方式也適合對象的處理方式。新增的類型1.元組類型:
語句:ROW(屬性1類型1,…,屬性n
類型n)
如:
dz(地址)可定義為:
ROW(shc(20),sic(20),xuanc(20))2.用戶自定義類型(UDT)
用createtype定義的類型稱為UDT。
語句:createtype
類型名AS(屬性1類型1,…,屬性n類型n)
作用:.為屬性提供一種新類型。.其值以對象方式存儲。.定義類型化表。
例:定義讀者類型。它包括讀者編號,姓名。
createtypedztypeas(dzbhc(12),xmc(20)).
有了dztype后,可以在表的定義和對象的定義中使用該類型。子類型的定義語句:createtype子類名under超類名
as(屬性1類型1,…,屬性n類型n)
作用:定義一個子類型。它除了繼承超類型外,自身還有n個屬性。
例:在讀者類型中定義學(xué)生子類型,它還要增加學(xué)號,所在院系,籍貫(省、市、區(qū)縣)
createtypexstypeunderdztypeas(
xhc(12),szyxc(20),dzrow(shenc(20),Shic(20),xianc(20))
注意:xstype
類型繼承了dztype類型的前兩個屬性。
4.自定義類型屬性值的獲取與修改.獲取屬性值的方法:用屬性名表示。.改變屬性值的方法:屬性名(值)例如:在讀者類型中引用讀者編號
dz.dzbh獲取屬性函數(shù)
dz.sh(“湖北省“)改變屬性函數(shù)問:在學(xué)生類型中如何引用學(xué)生所在的省份?設(shè)xs是該類型上的變量。
三對象與表的定義1.對象定義語句:
createtable類名of
用戶自定義類型。作用:指明了該類的屬性由用戶自定義類型決定。如:將學(xué)生作為對象進行定義。例1:createtablexsofxstype.
以上定義的表稱為類型化表。該對象表按對象方式存放。通過指針類型建立對象之間的聯(lián)系。
2.表的定義
creattable
表名(屬性1類型1,…,屬性n
類型n)
如:定義學(xué)生表例2:
createtablexs(xhc(10),xmc(20),dzROW(shc(20),sic(20),xuan(20))
注意:例1與例2的區(qū)別。第五節(jié)WEB數(shù)據(jù)模型HTML
文件1.HTML的基本概念定義:在文本文件中插入某些標記,由因特網(wǎng)識別的文件。特點:.HTML語言規(guī)定了一組標記的集合。每個標記有特定的含義。.瀏覽器能識別這些標記,并將HTML文件轉(zhuǎn)換為人所熟悉的形式,在屏幕上顯示出來。
.HTML文件沒有格式描述語句。2.HTML文件的一個例子:<html><head><title>
標題</title></head><body><p>
段落</p></body></html>
說明:.每個標記稱為元素,元素可以嵌套,開標記與閉標記應(yīng)成對出現(xiàn)。.每個開標記可帶屬性,屬性為瀏覽器提供參數(shù)。如:<Img
Src=“Mxh.Jpg”Width=“145”Height=“130”Alt=“新聞?wù)掌?gt;
二XML
文件的基本概念1.定義:XML是擴展的HTML,它具有文件格式定義和查詢的功能。2.特點:.用戶可以自定義任何標記。.增加了文件類型描述語言(DTD)。.增加了基于XML的查詢(Xquery)
三
XML的語言成份1.XML元素:用于表示文檔內(nèi)容的基本單位。基本格式為:
<標簽名屬性名=…>…</標簽名>
說明:對元素內(nèi)容進行標識。2.指令:<?指令>:要求XML處理器應(yīng)完成的功能。如:<?XMLVersion=‘1.0’>注釋:<!注釋內(nèi)容>
作用:引入腳本語言,或其他XML指令。
4.XML結(jié)構(gòu)
XML文件是由若干元素適當嵌套的樹形結(jié)構(gòu)。子元素:嵌套在一個元素內(nèi)的元素稱為子元素。一個XML文件例子:
這是一個學(xué)生信息的XML文檔.doc
XML格式文件----DTD1.DTD是對XML文檔格式進行描述的文件。其作用為:.描述XML文檔的結(jié)構(gòu)。.描述元素屬性的數(shù)據(jù)類型。.描述元素之間的嵌套關(guān)系。DTD文件的構(gòu)成.文件說明<!DOCTYPE文件名>.元素說明:<!ELEMENT元素名(子元素1,…,子元素n)
說明:.反應(yīng)一個元素所包含的子元素。.用*號表示若干相同的子元素。.用EMPTY表示空元素??赵兀褐覆话魏巫釉睾驮貎?nèi)容的元素。.屬性說明:<!ATTLIST
元素名屬性名類型強制性要求>
3DTD中的類型.元素值類型:#PCDATA
字符型.屬性類型:ID元素標識碼,在文檔中的值是唯一的。
IDREF引用另一元素的碼.強制性要求:#REQUIRED
必須的#IMPLIED
可選擇的一個DTD格式文件實例
例:這是學(xué)生文檔的格式文件.doc
七.DTD格式文件的不足1.DTD
格式文件中屬性的類型單調(diào)。2.DTD中缺少嚴格的數(shù)據(jù)一致性檢查和描述功能。如:<CrsTaken
crscode=“111111111”>
crscode應(yīng)該是課程號,而不是學(xué)號。3.DTD中沒有引入XML的名字空間
XMLNS4.DTD中的標簽名是全局的,缺少局部標簽名。第六節(jié)斷言與觸發(fā)器一斷言1.定義設(shè)置數(shù)據(jù)庫應(yīng)滿足的條件;2.格式:
CREATEASSERTION斷言名CHECK
條件說明:當條件為假時,DBMS終止操作,并提示用戶。例:限制每門課的選課人數(shù)不能超過100人。
CREATEASSERTIONRSXZCHECK100>=ALL(SELECTCOUNT(XH)FROMXKGROUPBYKH
請問:如何寫一斷言限制學(xué)生選課門數(shù)超過8門。CREATEASSERTIONXKMSCHECK(8>=ALL(SELECTCOUNT(*)FROMXKGROUPBYXH)
觸發(fā)器1.事件:引起數(shù)據(jù)庫的狀態(tài)發(fā)生改變的操作。
2.定義:當設(shè)定的事件發(fā)生時,由DBMS自動啟動的維護數(shù)據(jù)庫一致性的程序。3.觸發(fā)事件:能夠啟動觸發(fā)器的事件。
刪除(DELETE),插入(INSERT),更新(
UPDATEOF屬性。
觸發(fā)時間:BEFOR;在操作前觸發(fā)
AFTER:在操作后觸發(fā)
INSTEADOF:取代操作。3觸發(fā)條件:執(zhí)行觸發(fā)器操作的條件。4觸發(fā)粒度:引起觸發(fā)器工作的數(shù)據(jù)單位。行粒度:(FOREACHROW)
表粒度(FOREACHSTATMENT)5操作:一組SQL語句,或其他語句。三語句與執(zhí)行1格式:CREATETRIGGER
觸發(fā)器名{before|after|insteadof屬性{insert|delete|updateof屬性名}ON表名
referencing[oldas元組名][newas元組名][oldtableas表名][newtableas表名][foreachrow|forstatement][when條件]語句序列。
2說明:刪除事件只有舊表或舊行。插入事件只有新表或新行。更新事件既有舊表,舊行,也有新表,新行。觸發(fā)器的啟動和執(zhí)行當觸發(fā)事件發(fā)生時,觸發(fā)器被激活,如果觸發(fā)條件成立,則執(zhí)行觸發(fā)器的操作,然后返回應(yīng)用程序繼續(xù)執(zhí)行。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 如何拉近與客戶的關(guān)系
- 2024高中地理第六章人類與地理環(huán)境的協(xié)調(diào)發(fā)展第一節(jié)人地關(guān)系思想的演變課時演練含解析新人教版必修2
- 2024高中生物第1章人體的內(nèi)環(huán)境與穩(wěn)態(tài)第2節(jié)內(nèi)環(huán)境穩(wěn)態(tài)的重要性課堂演練含解析新人教版必修3
- 2024高考地理一輪復(fù)習(xí)第十四單元地理環(huán)境與區(qū)域發(fā)展練習(xí)含解析
- 2024高考歷史一輪復(fù)習(xí)方案專題一古代中國的政治制度專題整合備考提能教學(xué)案+練習(xí)人民版
- 2024高考地理一輪復(fù)習(xí)特色篇四地理實踐力練習(xí)含解析
- 頸部骨折患者的固定與搬運考核試題
- 管網(wǎng)工程質(zhì)量管理措施
- 2024年湖北交通職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- 消防安全評估質(zhì)量控制體系之歐陽道創(chuàng)編
- 狗咬傷護理查房
- 農(nóng)民工工資表(模板)
- (完整)20以內(nèi)加減法
- 電力基建項目管理實施規(guī)劃范本
- 創(chuàng)新創(chuàng)業(yè)創(chuàng)造:職場競爭力密鑰知到章節(jié)答案智慧樹2023年上海對外經(jīng)貿(mào)大學(xué)
- 呼吸機常見報警及處理
- 蘇教版六年級數(shù)學(xué)下冊第三單元第3課《練習(xí)五》公開課課件
- 北京外國語大學(xué)自主招生考試綜合素質(zhì)測試面試試題答題技巧匯總
- 產(chǎn)品質(zhì)量反饋、回復(fù)單
- GB/T 7424.2-2002光纜總規(guī)范第2部分:光纜基本試驗方法
- 人教版8年級上英語各單元語法課件大全
評論
0/150
提交評論