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