版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
電子商務(wù)數(shù)據(jù)庫技術(shù)E-BusinessDatabaseTechnology電子商務(wù)的基本結(jié)構(gòu)框架電子商務(wù)應(yīng)用社會人文環(huán)境(公共政策、法律、規(guī)則等)一般業(yè)務(wù)服務(wù)自然科技環(huán)境(文檔、安全、網(wǎng)絡(luò)協(xié)議的技術(shù)標(biāo)準(zhǔn))多媒體信息發(fā)布安全保障基礎(chǔ)通信網(wǎng)絡(luò)網(wǎng)絡(luò)軟件操作系統(tǒng)網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng)計算機(jī)硬件設(shè)備電子商務(wù)應(yīng)用一般業(yè)務(wù)服務(wù)是上商務(wù)活動的標(biāo)準(zhǔn)化服務(wù)物流管理視頻點(diǎn)播網(wǎng)上銀行電子市場電子廣告網(wǎng)上娛樂有償信息服務(wù)家庭購物目錄服務(wù)多媒體信息發(fā)布文本聲音圖像動畫安全保障數(shù)據(jù)存儲的安全保障防止非法用戶的使用防止合法用戶的非法使用防止數(shù)據(jù)丟失和損壞數(shù)據(jù)傳輸?shù)陌踩U蠑?shù)據(jù)在傳輸過程中如何防止被截取防止被截取的數(shù)據(jù)被使用基礎(chǔ)通信網(wǎng)絡(luò)電子商務(wù)的硬件基礎(chǔ)設(shè)施,承擔(dān)著電子商務(wù)信息傳輸?shù)娜蝿?wù)遠(yuǎn)程通信網(wǎng)(telecom)電話(telephone)電報(telegram)有線電視網(wǎng)(cableTV)無線通信網(wǎng)(wireless)移動通信(mobile)衛(wèi)星網(wǎng)(satellite)互聯(lián)網(wǎng)(internet)主要的互聯(lián)網(wǎng)技術(shù)在操作系統(tǒng)和網(wǎng)絡(luò)軟件的支持下提供的主要技術(shù)WWW(如微軟Explore,網(wǎng)景Netscape)電子郵件(如Outlook,F(xiàn)oxmail等)FTP(如CuteFTP等)Telnet網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng)OracleInformixSQLServerDB2dBASEAccessVisualFoxPro(VFP)計算機(jī)硬件設(shè)備工作站、服務(wù)器和終端;電話設(shè)備、集線器、交換機(jī)、路由器、調(diào)制解調(diào)器等TCP/IPAppleTalkSPX/IPXNetBIOSDECnetAPPC/LU6.2地位與作用存儲管理查詢結(jié)算處理物理地位電子商務(wù)服務(wù)商組織信息并發(fā)布;用戶根據(jù)需要提取信息發(fā)布向客戶發(fā)送信息http://數(shù)據(jù)庫工作組客戶靜態(tài)頁面和動態(tài)頁面數(shù)據(jù)庫服務(wù)器表 ID LAST_NAME FIRST_NAME 10 Havel Marta 11 Magee Colin 12 Giljum Henry 14 Nguyen Mai SALES_ ID NAME PHONE REP_ID 201 Unisports 55-2066101 12 202 SimmsAtheletics 81-20101 14 203 DelhiSports 91-10351 14 204 Womansport 1-206-104-0103 11表名:S_CUSTOMER表名:S_EMP201202203204靜態(tài)頁面動態(tài)頁面綁定Web與數(shù)據(jù)庫集成的主要形式運(yùn)用Web發(fā)布數(shù)據(jù)運(yùn)用Web共享數(shù)據(jù)用數(shù)據(jù)庫驅(qū)動Web站點(diǎn)
建立電子商務(wù)網(wǎng)站步驟選擇ISP和DSP注冊域名和選擇接入方式網(wǎng)頁設(shè)計制作創(chuàng)建和維護(hù)數(shù)據(jù)庫整合數(shù)據(jù)庫和網(wǎng)站在Web上使用數(shù)據(jù)庫ISP服務(wù)提供商,是可以讓用戶連入Internet并提供網(wǎng)絡(luò)服務(wù)的主機(jī)系統(tǒng)互聯(lián)網(wǎng)內(nèi)容提供商(ICP,InternetrContentProvider)。為客戶提供各種網(wǎng)上信息服務(wù)(網(wǎng)絡(luò)新聞、搜索引擎、網(wǎng)頁制作、電子商務(wù)等)?;ヂ?lián)網(wǎng)接入提供商(IAP,InternetAccessProvider)。專門為用戶提供上網(wǎng)服務(wù)(虛擬主機(jī)、托管服務(wù)器、專線接入)。DSP數(shù)據(jù)庫服務(wù)提供商(DatabaseServiceProvider)物理形態(tài)域名是企業(yè)在Internet上的地址,并且具有商標(biāo)的性質(zhì)IAPISPhttp://DSP工作組客戶網(wǎng)頁設(shè)計工具Netscape的Navigator、CommunicatorMicrosoft的FrontpageMicromedia的Dreamweaver網(wǎng)頁三劍客Dreamweaver用于構(gòu)造網(wǎng)站和應(yīng)用程序Fireworks設(shè)計、優(yōu)化和集成網(wǎng)頁圖形Flash創(chuàng)建豐富的交互動畫網(wǎng)絡(luò)數(shù)據(jù)庫是數(shù)據(jù)庫驅(qū)動Web站點(diǎn)的核心桌面型中小型面向?qū)ο笮痛笮头植夹蛿?shù)據(jù)倉庫型數(shù)據(jù)庫系統(tǒng)的幾個層面數(shù)據(jù)庫系統(tǒng)設(shè)計與實(shí)現(xiàn)數(shù)據(jù)庫應(yīng)用設(shè)計與實(shí)現(xiàn)數(shù)據(jù)庫應(yīng)用DBMSDBDBS的設(shè)計DB的設(shè)計數(shù)據(jù)的訪問基于Web的應(yīng)用模式客戶訪問通過HTTP(HypertextTransferProtocol)程序設(shè)計Web站點(diǎn)http://數(shù)據(jù)庫工作站客戶Web設(shè)計超文本記語言(HTML,HypertextMarkupLanguage)。提供網(wǎng)頁顯示功能。腳本語言(如JavaScript、VBScript等)。提供程序控制和訪問控制功能,如數(shù)據(jù)庫訪問等功能
處理用戶在表單中數(shù)據(jù),編輯、復(fù)制它們到隱含域,等等增強(qiáng)界限效果控制表單的提交和生成復(fù)雜的URL請求。四個基本概念數(shù)據(jù)(Data)數(shù)據(jù)庫(Database,簡稱DB)數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem,簡稱DBMS)數(shù)據(jù)庫系統(tǒng)(DatabaseSystem,簡稱DBS)數(shù)據(jù)描述事物的符號記錄。例(李明,男,22,1982,浙江,計算機(jī),1999)語義李明是個大學(xué)生,1982年出生,今年22歲,男性,浙江人,1999年考入計算機(jī)系數(shù)據(jù)的形式還不能完全表達(dá)其內(nèi)容,需要經(jīng)過解釋。數(shù)據(jù)的解釋是指對數(shù)據(jù)含義的說明,數(shù)據(jù)的含義稱為數(shù)據(jù)的語義,數(shù)據(jù)與其語義是不可分的。數(shù)據(jù)庫長期儲存在計算機(jī)內(nèi),有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存,具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可為各種用戶共享。數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)管理軟件系統(tǒng)。管理、控制數(shù)據(jù)庫的建立、運(yùn)行和維護(hù)。功能數(shù)據(jù)定義功能數(shù)據(jù)操縱功能數(shù)據(jù)庫的運(yùn)行管理數(shù)據(jù)庫的建立和維護(hù)功能數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫引入到計算機(jī)系統(tǒng)中的系統(tǒng)構(gòu)成,一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成。在一般不引起混淆的情況下常常把數(shù)據(jù)庫系統(tǒng)簡稱為數(shù)據(jù)庫。數(shù)據(jù)管理技術(shù)的發(fā)展階段人工管理階段文件系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段人工管理階段1)不保存;2)無軟件管理,由應(yīng)用程序直接管理;3)不共享;4)無獨(dú)立性。應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n…數(shù)據(jù)組1數(shù)據(jù)組2數(shù)據(jù)組n…文件系統(tǒng)階段1)長期保存;2)文件系統(tǒng)管理數(shù)據(jù);3)共享差,冗余度大;4)獨(dú)立性差。應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n…文件1文件2文件n文件系統(tǒng)(FS)…數(shù)據(jù)庫系統(tǒng)階段1)數(shù)據(jù)結(jié)構(gòu)化;2)共享好,冗余低,易擴(kuò)充;3)獨(dú)立性高;4)DBMS統(tǒng)一管理和控制。應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n…數(shù)據(jù)庫管理系統(tǒng)(DBMS)數(shù)據(jù)庫數(shù)據(jù)庫系統(tǒng)的發(fā)展第一代,層次數(shù)據(jù)庫系統(tǒng)和網(wǎng)狀數(shù)據(jù)庫系統(tǒng)第二代,關(guān)系數(shù)據(jù)庫系統(tǒng)第三代,面向?qū)ο髷?shù)據(jù)庫系統(tǒng)數(shù)據(jù)模型數(shù)據(jù)模型是數(shù)據(jù)庫中用于抽象、表示和處理現(xiàn)實(shí)世界中的數(shù)據(jù)和信息的工具。需要滿足三方面要求:一是能比較真實(shí)地模擬現(xiàn)實(shí)世界;二是容易為人所理解;三是便于在計算機(jī)上實(shí)現(xiàn)。機(jī)器世界DBMS支持的數(shù)據(jù)模型信息世界概念模型現(xiàn)實(shí)世界認(rèn)識抽象數(shù)據(jù)模型的組成要求1、
數(shù)據(jù)結(jié)構(gòu)是所研究的對象類型的集合。屬于系統(tǒng)靜態(tài)特性。2、
數(shù)據(jù)操作是指對數(shù)據(jù)庫中各種對象(型)的實(shí)例(值)允許執(zhí)行的操作的集合。屬于系統(tǒng)動態(tài)特性。3、
數(shù)據(jù)約束條件是一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。概念模型概念模型實(shí)際上是現(xiàn)實(shí)世界到機(jī)器世界的一個中間層次?;靖拍顚?shí)體(entity):客觀存在,并可相互區(qū)別的事物。屬性(attribute):實(shí)體的某一特性。碼(key):唯一標(biāo)識實(shí)體的屬性集合。域(domain):屬性的取值范圍。實(shí)體型(entitytype):實(shí)體及其屬性名集合來抽象和刻畫同類實(shí)體。實(shí)體集(entityset):同類實(shí)體的集合。聯(lián)系(relationship):實(shí)體之間、實(shí)體內(nèi)部屬性間的聯(lián)系。如1:1、1:n、m:n等。概念模型表示方法E-R圖,P.P.S.Chen于1976年提出(entity-relationshipapproach)。實(shí)體型:用矩形表示,矩形框內(nèi)寫明實(shí)體屬性:用橢圓形表示,并用無向邊將其一相應(yīng)的實(shí)體連接起來聯(lián)系:用菱形表示,菱形框人寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體連接起來,同時在無向邊旁標(biāo)上聯(lián)系的類型(1:1,1:m,m:n等)示例1一般的聯(lián)系班級班級-班長班長11班級組成學(xué)生1n1:1課程選修學(xué)生mn1:nm:n示例2特殊的聯(lián)系課程講授教師1m參考書n三個實(shí)體間的聯(lián)系職工經(jīng)理1n實(shí)體內(nèi)部的聯(lián)系示例3E-R圖課程講授教師1m參考書n選修學(xué)生mn班級組成1n小組長n1成績常用的數(shù)據(jù)模型層次模型(hierarchicalmodel)網(wǎng)狀模型(networkmodel)關(guān)系模型(relationalmodel)層次模型代表:IBM的IMS(InformationManagementSystem)數(shù)據(jù)結(jié)構(gòu)基本結(jié)構(gòu)只有一個結(jié)點(diǎn)無雙親,即為根結(jié)點(diǎn)(1:1)其他結(jié)點(diǎn)有且只有一個雙親結(jié)點(diǎn)(1:n)多對多(m:n)冗余結(jié)點(diǎn)法:m:n=1:m+1:n虛擬結(jié)點(diǎn)法:將冗余結(jié)點(diǎn)轉(zhuǎn)為虛擬結(jié)點(diǎn),即指引元,指向替代的結(jié)點(diǎn)。其它非樹型結(jié)構(gòu)轉(zhuǎn)換成樹型操縱與完整性約束沒有雙親結(jié)點(diǎn)值不能插入子女結(jié)點(diǎn)值刪除雙親結(jié)點(diǎn)值,相應(yīng)子女值也同時刪除冗余結(jié)點(diǎn)更新時,幾處同時更新存儲結(jié)構(gòu)鄰接法:層次樹前序鏈接法:用指引元反映數(shù)據(jù)之間的層次聯(lián)系優(yōu)缺點(diǎn)簡單;聯(lián)系固定;完整性良好。非層次表示笨拙;插入、刪除限制多;查詢子女通過雙親;層次命令趨于程序化。示例用層次模型表示多對多E-R圖S→CC→SS→V.CC→V.SS#SNSSS-CC#CNmn學(xué)生S課程CS#SNSSC#CNC#CNS#SNSSS#SNSSC#CNV.CV.S網(wǎng)狀模型典型代表是DBTG系統(tǒng),也稱CODASYL系統(tǒng)。這是20世紀(jì)70年代數(shù)據(jù)系統(tǒng)語言研究會CODASYL(ConferenceOnDataSystemLanguage)下屬的數(shù)據(jù)庫任務(wù)組(DataBaseTaskGroup,簡稱DBTG)提出的一個系統(tǒng)方案數(shù)據(jù)結(jié)構(gòu)可以有一個以上的結(jié)點(diǎn)無雙親;至少有一點(diǎn)結(jié)點(diǎn),有多于一個的雙親;兩個結(jié)點(diǎn)之間可以有兩種或多種聯(lián)系。操縱與完整性約束
插入操作允許尚未確定雙親結(jié)點(diǎn)值的子女結(jié)點(diǎn)值;刪除操作允許只刪除雙親結(jié)點(diǎn)值。存儲結(jié)構(gòu)鏈接法:單向、雙向、環(huán)狀、向首引元陣列、二進(jìn)制陣列、索引優(yōu)缺點(diǎn)更直接描述;性能良好、存取效率高。DDL復(fù)雜;獨(dú)立性差、指定存取路徑。示例網(wǎng)狀模型表示多對多學(xué)號姓名年齡性別課程號課程名學(xué)號課程號成績學(xué)生(S)課程(C)學(xué)生-成績系(S-SC)課程-成績系(C-SC)成績(SC)關(guān)系模型關(guān)系模型(relationalmodel)1970年E.F.Codd論文“大型共享系統(tǒng)的關(guān)系數(shù)據(jù)庫的關(guān)系模型”數(shù)據(jù)結(jié)構(gòu)邏輯結(jié)構(gòu)是二維表,由行和列組成。關(guān)系:二維表。元組:表中的一行。屬性:表中的一列。主碼(key):屬性組(集),可以唯一確定一個元組。域(domain):屬性的取值范圍。分量:元組中的一個屬性值。關(guān)系模式:對關(guān)系的描述。表示為:關(guān)系名(屬性1,屬性2,……屬性n)操縱與完整性約束集合操作(操作對象、操作結(jié)果都是關(guān)系(元組的集合)):查詢、插入、刪除、修改。實(shí)體完整性、參照完整性、用戶定義的完整性。存儲結(jié)構(gòu)實(shí)體、及實(shí)體之間的聯(lián)系用“表”表示,表以文件形式存儲優(yōu)缺點(diǎn)與非關(guān)系模型不同,它建立于嚴(yán)格的數(shù)學(xué)概念(關(guān)系代數(shù))的基礎(chǔ)上的;關(guān)系模型的概念單一。無論實(shí)體還是實(shí)體間的聯(lián)系都用關(guān)系表示,對數(shù)據(jù)的檢索結(jié)果也是關(guān)系(即表)。故其數(shù)據(jù)結(jié)構(gòu)簡單、清晰,用戶易懂易用;關(guān)系模型的存取路徑對用戶透明,具有更高的數(shù)據(jù)獨(dú)立性,更好的安全保密性,也簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作。
由于存取路徑對用戶透明,查詢效率不如非關(guān)系數(shù)據(jù)模型;為提高性能,須對用戶查詢請求進(jìn)行優(yōu)化,從而增加了數(shù)據(jù)庫管理系統(tǒng)的負(fù)擔(dān)。示例二維表學(xué)生登記表學(xué)號姓名性別系別年齡95001張三男CS2096010李四女IS1999100王五男MA17關(guān)系名列,屬性名,主碼行,元組域:如整數(shù)三級模式結(jié)構(gòu)應(yīng)用A應(yīng)用B應(yīng)用C應(yīng)用D外模式3外模式2外模式1123模式內(nèi)模式DB一個數(shù)據(jù)庫只有一個模式外模式/模式映象模式/內(nèi)模式映象也稱子模式、用戶模式。是模式的子集。是用戶的數(shù)據(jù)視圖,與某一應(yīng)用有關(guān)。也稱邏輯模式。是所有用戶的公共數(shù)據(jù)視圖。與應(yīng)用開發(fā)工具、應(yīng)用無關(guān);與物理存儲、硬件環(huán)境無關(guān)。也稱存儲模式。數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。只有一個內(nèi)模式;主要描述存儲方式,如順序存儲、B樹存儲,hash存儲;以及如何進(jìn)行索引、壓縮、加密等。數(shù)據(jù)獨(dú)立性邏輯獨(dú)立性當(dāng)模式改變時(例如增加新的關(guān)系、新的屬性、改變屬性的數(shù)據(jù)類型等),由數(shù)據(jù)庫管理員對各個外模式/模式的映象作相應(yīng)改變,可以使外模式保持不變。應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而也不必修改,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性。物理獨(dú)立性當(dāng)數(shù)據(jù)庫的存儲結(jié)構(gòu)改變了(例如選用了另一種存儲結(jié)構(gòu)),由數(shù)據(jù)庫管理員對模式/內(nèi)模式作相應(yīng)改變,可以使模式保持不變,從而應(yīng)用程序也不必改變,保證了數(shù)據(jù)與程序的物理獨(dú)立性。數(shù)據(jù)庫系統(tǒng)的組成硬件平臺及數(shù)據(jù)庫足夠大的內(nèi)存足夠大的磁盤較高的通道能力軟件DBMS支持DBMS的OS具有與數(shù)據(jù)庫接口的高級語言及其編譯系統(tǒng)以DBMS為核心的應(yīng)用開發(fā)工具為特定應(yīng)用環(huán)境開發(fā)的數(shù)據(jù)庫應(yīng)用系統(tǒng)人員數(shù)據(jù)庫管理員系統(tǒng)分析員和數(shù)據(jù)庫設(shè)計人員應(yīng)用程序員用戶用戶偶然用戶不經(jīng)常訪問數(shù)據(jù)庫。一般是企業(yè)或組織機(jī)構(gòu)的高中級管理人員。簡單用戶查詢和修改數(shù)據(jù)庫。銀行的職員、航空公司的機(jī)票預(yù)定工作人員、旅館總臺服務(wù)員等。復(fù)雜用戶包括工程師、科學(xué)家、經(jīng)濟(jì)學(xué)家、科學(xué)技術(shù)工作者等能夠直接使用數(shù)據(jù)庫語言訪問數(shù)據(jù)庫,甚至編制應(yīng)用程序的人。DBA的工作職責(zé)決定數(shù)據(jù)庫中的信息內(nèi)容和結(jié)構(gòu)決定數(shù)據(jù)庫的存儲結(jié)構(gòu)和存取策略定義數(shù)據(jù)的安全性要求和完整性約束條件監(jiān)控數(shù)據(jù)庫的使用和運(yùn)行數(shù)據(jù)庫的改進(jìn)和重組重構(gòu)數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心,是為數(shù)據(jù)庫的建立、使用和維護(hù)而配置的軟件。DBMS建立在操作系統(tǒng)的基礎(chǔ)上,是位于操作系統(tǒng)與用戶之間的一層數(shù)據(jù)管理軟件,負(fù)責(zé)對數(shù)據(jù)庫進(jìn)行統(tǒng)一的管理和控制。用戶發(fā)出的或應(yīng)用程序中的各種操作數(shù)據(jù)庫中數(shù)據(jù)的命令,都要通過數(shù)據(jù)庫管理系統(tǒng)來執(zhí)行。數(shù)據(jù)庫管理系統(tǒng)還承擔(dān)著數(shù)據(jù)庫的維護(hù)工作,能夠按照數(shù)據(jù)庫管理員所規(guī)定的要求,保證數(shù)據(jù)庫的安全性和完整性。DBMS的功能和組成功能數(shù)據(jù)定義模式、存儲模式和外模式,各模式間的映象定義,及定義結(jié)束條件數(shù)據(jù)操縱檢索、插入、刪除、修改等數(shù)據(jù)庫運(yùn)行管理并發(fā)控制、安全性檢查、完整性約束條件等的檢查與執(zhí)行。內(nèi)部維護(hù)(包括索引、數(shù)據(jù)字典的自動維護(hù))
數(shù)據(jù)組織、存儲和管理文件結(jié)構(gòu)、存取方式(如何保證空間利用率和處理效率(時間效率))數(shù)據(jù)庫的建立與維護(hù)初始數(shù)據(jù)輸入、數(shù)據(jù)轉(zhuǎn)換等。轉(zhuǎn)儲(備份)與恢復(fù)、重組、重構(gòu)等。數(shù)據(jù)通信接口與用戶的通信接口,各服務(wù)器間的通信接口等組成數(shù)據(jù)定義語言及其翻譯處理程序DDL數(shù)據(jù)操縱語言及其編譯(或翻譯)程序DML,宿主型、自主型(自含型)數(shù)據(jù)庫運(yùn)行控制程序
實(shí)用程序
數(shù)據(jù)庫保護(hù)DBMS的數(shù)據(jù)控制功能數(shù)據(jù)安全性(Security)保護(hù)數(shù)據(jù)完整性(Integrity)控制并發(fā)(Concurrency)控制數(shù)據(jù)庫恢復(fù)(Recovery)安全性控制三層安全防線操作系統(tǒng)的安全保護(hù)機(jī)制DBMS的安全保護(hù)機(jī)制數(shù)據(jù)庫中對象的安全保護(hù)機(jī)制計算機(jī)系統(tǒng)采用的安全措施用戶標(biāo)識和鑒定存取控制視圖數(shù)據(jù)加密數(shù)據(jù)庫審計完整性約束此外,還可以分立即執(zhí)行約束(語句結(jié)束)和延遲執(zhí)行約束(事務(wù)結(jié)束)粒度/狀態(tài)列級元組級關(guān)系級靜態(tài)類型格式值域空值其它元組值應(yīng)滿足的條件實(shí)體完整性約束參照完整性約束函數(shù)依賴約束統(tǒng)計約束動態(tài)改變列定義或列值元組新舊值之間應(yīng)滿足的約束條件關(guān)系新舊狀態(tài)間應(yīng)滿足的約束條件Oracle示例CREATETABLEEMP(EmpnoNUMERIC(4)PRIMARYKEY,EnameVARCHAR(10)NOTNULL,JobVARCHAR(9),MgrNUMERIC(4),SalNUMERIC(7,2)CHECK(Sal>300),DeptnoNUMERIC(2),
CONSTRAINTFK_DEPTNOFOREIGNKEY(Deptno)
REFERENCEDEPT(Deptno)
ONDELETECASCADE);并發(fā)控制并發(fā)控制的單位—事務(wù)(transaction)Begintransaction數(shù)據(jù)庫操縱語句集Commit/rollback并發(fā)操作導(dǎo)致數(shù)據(jù)的不一致性丟失數(shù)據(jù)不可重復(fù)讀讀“臟”數(shù)據(jù)不一致性的示例時間事務(wù)1事務(wù)2t1檢索,讀A=16
t2
檢索,讀A=16t3更新,A←A-1寫回A=15
t4
更新,A←A-1寫回A=15時間事務(wù)1事務(wù)2t1檢索,讀B=200
t2
檢索,讀B=200t3更新,B←B*2寫回B=400t4檢索,讀B=400
時間事務(wù)1事務(wù)2t1檢索,讀C=200更新,C←C+100寫回C=300
t2
t3檢索,讀C=300t4撤銷(ROLLBACK)數(shù)據(jù)庫技術(shù)新進(jìn)展分布式數(shù)據(jù)庫面向?qū)ο髷?shù)據(jù)庫系統(tǒng)多媒體數(shù)據(jù)庫分布式數(shù)據(jù)庫DDBMS是在兩臺或多臺地理上或物理上分散而邏輯上集中的數(shù)據(jù)庫系統(tǒng)?!晥D(計算機(jī)學(xué)生)視圖(數(shù)學(xué)系學(xué)生)視圖(中文系學(xué)生)全局概念模式(學(xué)生)局部概念模式(玉泉校區(qū)學(xué)生)分片模式(按校區(qū)劃分)局部內(nèi)模式(UNIX平臺)局部內(nèi)模式(LINUX平臺)分配模式(各校區(qū)學(xué)生信息各自存儲)局部內(nèi)模式(WINDOWS平臺)局部概念模式(紫金港校區(qū)學(xué)生)局部概念模式(西溪校區(qū)學(xué)生)全局外層全局概念層局部概念層…………局部內(nèi)層面向?qū)ο髷?shù)據(jù)庫系統(tǒng)OODBMS是數(shù)據(jù)庫技術(shù)與面向?qū)ο蠹夹g(shù)相結(jié)合的產(chǎn)物。具有表示和構(gòu)造復(fù)雜對象的能力通過封裝和消息隱藏技術(shù)提供了程序的模塊化機(jī)制繼承和類層次技術(shù)不僅能表示ISA聯(lián)系,還提供了軟件重用的機(jī)制通過滯后聯(lián)編*等概念提供系統(tǒng)擴(kuò)充能力提供與宿主語言的無縫(seamless)連接消息中的方法名,在應(yīng)該程序編譯時還不能確定它所代表的過程,只有執(zhí)行時,當(dāng)消息發(fā)送到具體的對象后,方法名的方法的過程才能夠結(jié)合。這種“名”與“義”的推遲結(jié)合稱為滯后聯(lián)編(latebinding)多媒體數(shù)據(jù)庫MDB是能夠管理數(shù)值、文件、表格、表格、圖形、圖像、聲音等多媒體的數(shù)據(jù)庫應(yīng)用方式基于關(guān)系模型,加以擴(kuò)充,使之支持多媒體數(shù)據(jù)庫類型基于OO模型來實(shí)現(xiàn)對多媒體信息的描述和操作基于超文本模型關(guān)鍵技術(shù)數(shù)據(jù)模型技術(shù),如OO數(shù)據(jù)模型、語義數(shù)據(jù)模型等數(shù)據(jù)的存儲管理和壓縮/解壓技術(shù)多媒體信息的再現(xiàn)和良好的用戶界面技術(shù)多媒體信息的檢索與查詢及其他處理技術(shù)分布式環(huán)境與并行處理技術(shù)客戶機(jī)/服務(wù)器技術(shù)客戶機(jī)/服務(wù)器的結(jié)構(gòu)C/S的組成三層結(jié)構(gòu)的客戶機(jī)/服務(wù)器結(jié)構(gòu)C/S結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)的實(shí)現(xiàn)技術(shù)客戶機(jī)/服務(wù)器的結(jié)構(gòu)節(jié)點(diǎn)(Site)1客戶機(jī)(Client)節(jié)點(diǎn)(Site)2客戶機(jī)(Client)節(jié)點(diǎn)(Site)3服務(wù)器(Server)節(jié)點(diǎn)(Site)n客戶機(jī)通訊網(wǎng)絡(luò)(CommunicationNetwork)服務(wù)器(Server)……接口接口接口接口C/S的組成客戶機(jī)是一個面向?qū)ο笞罱K用戶的接口或應(yīng)用程序。它通過向一個設(shè)備或應(yīng)用程序(服務(wù)器)發(fā)出請求信息,然后將信息顯示給用戶。主要處理界面。服務(wù)器建立進(jìn)程和網(wǎng)絡(luò)服務(wù)地址、監(jiān)聽用戶的調(diào)用、處理客戶的請求、將結(jié)果交給客戶機(jī)和釋放與客戶機(jī)的連接。是主要處理設(shè)備。連接件多指一種軟件通信過程;對應(yīng)用開發(fā)人員來說,客戶機(jī)/服務(wù)器之間的連接主要是它所能使用的軟件工具和編程函數(shù)。如ODBC。三層結(jié)構(gòu)的客戶機(jī)/服務(wù)器結(jié)構(gòu)三層C/S模式客戶機(jī)客戶機(jī)……客戶機(jī)應(yīng)用邏輯應(yīng)用服務(wù)器(Web服務(wù)器)數(shù)據(jù)庫服務(wù)器網(wǎng)絡(luò)自定義協(xié)議DBMS接口DBDB優(yōu)點(diǎn)整個系統(tǒng)被分為不同的邏輯塊,層次非常清晰能夠使“肥客戶機(jī)”變成“瘦客戶機(jī)”開發(fā)和管理的工作向服務(wù)器方向轉(zhuǎn)移,使得分布數(shù)據(jù)處理成為可能管理和維護(hù)變得相對簡單加強(qiáng)整個系統(tǒng)的安全性C/S結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)實(shí)現(xiàn)技術(shù)開放的數(shù)據(jù)庫訪問接口ODBC(OpenedDatabaseConnectivity)JDBC存儲過程高性能。存儲過程是以編譯和優(yōu)化后的形式存儲的,因此在被調(diào)用時可以直接運(yùn)行,速度快。存儲在服務(wù)器端。共享性簡化了應(yīng)用開發(fā)過程,提高了應(yīng)用開發(fā)效率簡化了安全性控制分布數(shù)據(jù)管理數(shù)據(jù)復(fù)制和分布兩階段提交因特網(wǎng)多層應(yīng)用示例因特網(wǎng)瀏覽器瀏覽器……瀏覽器應(yīng)用邏輯Web服務(wù)器數(shù)據(jù)庫服務(wù)器自定義協(xié)議DBMS接口DBDBWeb服務(wù)及應(yīng)用選擇應(yīng)用服務(wù)器應(yīng)用邏輯自定義協(xié)議……關(guān)系模式關(guān)系模式是關(guān)系的描述,它由五部分組成,即為五元組:R(U,D,DOM,F)其中R為關(guān)系名,U是屬性集合,D是域的集合,即取值范圍的集合。DOM是屬性源域(屬性集合U中屬性所來自的域),為屬性向域的映象集合F為屬性間的數(shù)據(jù)依賴關(guān)系集合。簡化描述R(U,F),甚至R(U)關(guān)系數(shù)據(jù)庫設(shè)計中的異常問題數(shù)據(jù)冗余更新異常插入異常刪除異常示例數(shù)據(jù)學(xué)生(學(xué)號,姓名,系名,系負(fù)責(zé)人,課程名,成績)主碼={學(xué)號,課程名}學(xué)號(6)姓名(8)系名(8)系負(fù)責(zé)人(8)課程名(10)成績(2)980701章涌管理系李瑞祥市場營銷85980701章涌管理系李瑞祥技術(shù)經(jīng)濟(jì)78980701章涌管理系李瑞祥生產(chǎn)管理80980702李文利管理系李瑞祥市場營銷70980702李文利管理系李瑞祥技術(shù)經(jīng)濟(jì)86980702李文利管理系李瑞祥生產(chǎn)管理90980703王沐陽管理系李瑞祥市場營銷84980703王沐陽管理系李瑞祥技術(shù)經(jīng)濟(jì)75980703王沐陽管理系李瑞祥生產(chǎn)管理70980704楊舒管理系李瑞祥市場營銷78980704楊舒管理系李瑞祥技術(shù)經(jīng)濟(jì)72980704楊舒管理系李瑞祥生產(chǎn)管理9012行42字節(jié)數(shù)據(jù)冗余總字節(jié)數(shù)=(6+8+8+8+10+2)*12=504B系名和系負(fù)責(zé)人重復(fù)12次學(xué)號和姓名重復(fù)3次課程名重復(fù)4次更新異常管理系負(fù)責(zé)人改為李增瑞需要修改12條記錄(所有相關(guān)的記錄,與該系的學(xué)生有關(guān))由于數(shù)據(jù)重復(fù)存儲導(dǎo)致更新操作復(fù)雜化。插入異常計算機(jī)系成立,尚未招生——無法插入在學(xué)生表存儲數(shù)據(jù)必須保證其實(shí)體完整性——主屬性不為空,故學(xué)號和課程名不能為空招生完畢,但學(xué)生尚未選修課程——無法插入學(xué)號是有了,但由于未選修,所以課程名不知道,不能保證主屬性不為空的實(shí)體完整性要求。求學(xué)校有多少系?結(jié)果不正確,在學(xué)生表中還未有計算機(jī)系含在內(nèi)。問計算機(jī)系負(fù)責(zé)人是誰?不知道,計算機(jī)系不存在。由于信息不全,導(dǎo)致應(yīng)該存儲的數(shù)據(jù)無法存儲。刪除異常管理系98級學(xué)生畢業(yè),刪除所有該年級學(xué)生。由于管理系只有98級學(xué)生,被刪除后,連帶管理系及其負(fù)責(zé)人信息一起被刪除。問學(xué)校有幾個系?問管理系負(fù)責(zé)人是誰?若980701學(xué)生取消三門選修課程,則需要刪除該學(xué)生對應(yīng)的三條記錄該學(xué)生記錄信息也會因此被刪除。問管理系有多少學(xué)生?刪除元組時導(dǎo)致額外信息的丟失根本原因上述學(xué)生關(guān)系模式的規(guī)范化程序較低。解決的辦法通過規(guī)范化理論對其進(jìn)行規(guī)范化,可以逐步降低和消除上述問題基礎(chǔ)概念函數(shù)依賴(FunctionalDependency)非平凡的函數(shù)依賴(NontrivialFunctionalDependency)完全函數(shù)依賴(FullFunctionalDependency)部分函數(shù)依賴(PartialFunctionalDependency)傳遞函數(shù)依賴(TransitiveFunctionalDependency)函數(shù)依賴定義1:對于R中屬性X的任何一個具體值,Y僅有唯一的具體值與之對應(yīng),則稱R的屬性Y函數(shù)依賴于屬性X,記作X→Y,X稱為決定因素(Determinant)。設(shè)R(U)是一關(guān)系模式,U是R的屬性集合。X和Y是U的子集,對于R(U)的任意一個可能的關(guān)系r,如果r中不存在兩個元組,它們在X上的屬性值相同,而在Y上的屬性值不同,則稱“X函數(shù)確定Y”或“Y函數(shù)依賴于X”,記作X→Y。例如:學(xué)號→姓名,學(xué)號→系名(學(xué)號,課程名)→成績非平凡的函數(shù)依賴在關(guān)系模式R(U)中,對于U的子集X和Y,如果X→Y,但Y?X,則稱X→Y是非平凡函數(shù)依賴。若Y?X,則稱X→Y為平凡函數(shù)依賴。對任一關(guān)系模式,平凡函數(shù)依賴都必然成立,不能反映新的語義,故一般只討論非平凡的函數(shù)依賴。完全函數(shù)依賴與部分函數(shù)依賴定義2:在R中如果屬性集Y函數(shù)依賴于屬性庥X,且不函數(shù)依賴于X的任何真子集,則稱Y完全函數(shù)依賴于X,記作XY,否則Y部分函數(shù)依賴于X,記作XY。在關(guān)系模式R(U)中,如果X→Y,且對于X的任一真子集X’,都有X’?Y,則稱Y完全函數(shù)依賴于X,記XY。若X→Y,但Y不完全函數(shù)依賴于X,則稱Y部分函數(shù)依賴于X,記X
Y。如關(guān)系SC(Sno,Cno,Grade)中,由于Sno?Grade,Cno?Grade。所以有(Sno,Cno)Grade。傳遞函數(shù)依賴定義3:在R中,對于屬性子集X、Y、Z,若XY,Y?X,Y→Z,則稱Z對X傳遞函數(shù)依賴,記作XZ。在關(guān)系模式R(U)中,如果X→Y,Y→Z且Z?Y(即Z-Y≠φ),Y?X,則稱Z傳遞函數(shù)依賴于X。記作XY,或者X
Y。說明:Y→Z且Z?Y(即Z-Y≠φ)是指Y與Z之間的函數(shù)依賴是非平凡的。而加上條件:Y?X,否則因?yàn)槿绻鸜→X,則X←→Y,故XZ。并非傳遞函數(shù)依賴了。如關(guān)系Std(Sno,Sdept,Mname)中有Sno→Sdept,Sdept→Mname,且Sdept?Sno,故Sno
Mname。碼如果K
U,則K
是關(guān)系模式R(U)的超級碼(Superkey)K
是R(U)的候選碼(candidatekey)當(dāng)且僅當(dāng)K
U,且不存在
K,使
U成立。即K
R若關(guān)系模式R有多個候選碼,則選定其中一個作為主碼(primarykey)外碼外部碼(Foreignkey):如果關(guān)系R的某一屬性組A不是R的候選碼,而是另一關(guān)系S的候選碼,則稱A為R的外部碼。外部碼提供了一種表示兩個關(guān)系聯(lián)系的方法包含在任意一個候選碼中的屬性,稱為主屬性。不包含在任何候選碼中的屬性稱為非主屬性。范式范式(NormalForm)是符合某一級別的關(guān)系模式的集合。目前主要有六種范式,即第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BC范式(BCNF)、第四范式(4NF)和第五范式(5NF)。它們之間有如下的關(guān)系。1NF?2NF?3NF?BCNF?4NF?5NF若R為第n范式,則記R∈nNF。第一范式(1NF)如果一個關(guān)系模式R的所有屬性都是不可分的基本數(shù)據(jù)項(xiàng),則R∈1NF。1NF是關(guān)系模式的最起碼要求,不滿足第一范式的數(shù)據(jù)庫模式不能稱為關(guān)系數(shù)據(jù)庫。例如,學(xué)生(學(xué)號,姓名,系名,系負(fù)責(zé)人,課程名,成績)第二范式(2NF)若關(guān)系模式R∈1NF,并且每一個非主屬性都完全函數(shù)依賴于R的碼,則R∈2NF。將學(xué)生(學(xué)號,姓名,系名,系負(fù)責(zé)人,課程名,成績)中存在的非主屬性對碼的部分函數(shù)依賴消除后可以降低和消除異常問題。姓名、系名、系負(fù)責(zé)人部分函數(shù)依賴于{學(xué)號,課程名},但都完全函數(shù)依賴于學(xué)號。學(xué)生情況(學(xué)號,姓名,系名,系負(fù)責(zé)人)成績(學(xué)號,課程名,成績)規(guī)范化結(jié)果學(xué)生情況(學(xué)號,姓名,系名,系負(fù)責(zé)人)成績(學(xué)號,課程名,成績)學(xué)號(6)姓名(8)系名(8)系負(fù)責(zé)人(8)980701章涌管理系李瑞祥980702李文利管理系李瑞祥980703王沐陽管理系李瑞祥980704楊舒管理系李瑞祥學(xué)號(6)課程名(10)成績(2)980701市場營銷85980701技術(shù)經(jīng)濟(jì)78980701生產(chǎn)管理80980702市場營銷70980702技術(shù)經(jīng)濟(jì)86980702生產(chǎn)管理90980703市場營銷84980703技術(shù)經(jīng)濟(jì)75980703生產(chǎn)管理70980704市場營銷78980704技術(shù)經(jīng)濟(jì)72980704生產(chǎn)管理90規(guī)范化前總字節(jié)數(shù)=(6+8+8+8+10+2)*12=504B規(guī)范化后總字節(jié)數(shù)=(6+8+8+8)*4+(6+10+2)*12=120B+216B=336B異常問題緩解數(shù)據(jù)冗余(減輕,但仍存在)數(shù)據(jù)冗余:系名和系負(fù)責(zé)人重復(fù)4次;學(xué)號重復(fù)3次;課程名重復(fù)4次。更新異常(減輕,但仍存在)修改管理系負(fù)責(zé)人為李增瑞需涉及4條記錄插入異常(減輕,但仍存在)計算機(jī)系成立,尚未招生——無法插入(未解決)招生完畢,但學(xué)生尚未選修課程——可以插入學(xué)生情況表刪除異常(減輕,但仍存在)取消選修,不會刪除學(xué)生信息但刪除系中學(xué)生,仍會導(dǎo)致學(xué)生信息丟失。(未解決)第三范式(3NF)如果R∈2NF,且它的任何一個非主屬性都不傳遞依賴于任何主碼,則R是第三范范式,記作R∈3NF。將起傳遞作用的函數(shù)關(guān)系中的主屬性(決定方)和非主屬性取出單獨(dú)構(gòu)成一個關(guān)系模式,再將它的決定方和關(guān)系式中余下的屬性,加上主碼,構(gòu)另一個關(guān)系模式去掉關(guān)系模式中的多余項(xiàng)。對學(xué)生情況進(jìn)行規(guī)范化由于只有系負(fù)責(zé)人傳遞函數(shù)依賴于學(xué)號(學(xué)號→系名,系名→系負(fù)責(zé)人)故分解得到系(系名,系負(fù)責(zé)人)學(xué)生表(學(xué)號,姓名,系名)系名(8)系負(fù)責(zé)人(8)管理系李瑞祥學(xué)號(6)姓名(8)系名(8)980701章涌管理系980702李文利管理系980703王沐陽管理系980704楊舒管理系異常問題緩解數(shù)據(jù)冗余降低規(guī)范前學(xué)生情況總字節(jié)數(shù)=(6+8+8+8)*4=120B規(guī)范后學(xué)生表+系的總字節(jié)數(shù)=(8+8)*1+(6+8+8)*4=104B更新異常不再修改系負(fù)責(zé)人只與該系的一個元組有關(guān)。插入異常不再系成立后可插入系,不需要招生刪除異常不再刪除管理系的所有學(xué)生并不會將管理系的信息一起刪除進(jìn)一步優(yōu)化將作為外碼的字段所占空間減少,即減少重復(fù)項(xiàng)的空間占用。例如將系名用系號(2B)表示,課程名用課程號表示(2B)。系號(2)系名(8)系負(fù)責(zé)人(8)MD管理系李瑞祥學(xué)號(6)姓名(8)系號(2)980701章涌MD980702李文利MD980703王沐陽MD980704楊舒MD優(yōu)化前總字節(jié)數(shù)=104B優(yōu)化后總字節(jié)數(shù)=(2+8+8)*1+(6+8+2)*4=82進(jìn)一步優(yōu)化課程表(課程號,課程名)選修(學(xué)號,課程號,成績)優(yōu)化前總字節(jié)數(shù)=(6+10+2)*12=216B優(yōu)化后總字節(jié)數(shù)=(2+10)*3+(6+2+2)*12=156B學(xué)號(6)課程號(2)成績(2)980701185980701278980701380980702170980702286980702390980703184980703275980703370980704178980704272980704390課程號(2)課程名(10)1市場營銷2技術(shù)經(jīng)濟(jì)3生產(chǎn)管理BCNF設(shè)關(guān)系模式R<U,F>∈1NF。如果對于R的每個函數(shù)依賴X→Y,若Y?X,則X必含有候選碼,那么R∈BCNF(BoyceCoddNormalForm)。實(shí)際上即說,在BCNF中,每一個決定屬性集都包含候選碼。BCNF為Boyce和Codd兩個提出的,比3NF更進(jìn)一步,通常認(rèn)為是修正的第三范式,所以有時也稱為第三范式。第四范式(4NF)關(guān)系模式R<U,F>∈1NF,如果對R的每個非平凡多值依賴X→→Y,(Y?X),X都含有候選碼,則R∈4NF。規(guī)范化過程非規(guī)范化的關(guān)系消去重復(fù)項(xiàng),將關(guān)系模式分解成若干個規(guī)范化的關(guān)系模式,并指定一個或若干個屬性作為主碼。消除決定屬性集非碼的非平凡函數(shù)依賴1NF
↓消除非主屬性對碼的部分函數(shù)依賴2NF
↓消除非主屬性對碼的傳遞函數(shù)依賴3NF
↓消除主屬性對碼的部分和傳遞函數(shù)依賴BCNF
↓消除非平凡且非函數(shù)依賴的多值依賴
4NF
↓消除不是由候選碼所蘊(yùn)含的連接依賴
5NF
面向?qū)ο蠡靖拍顚ο?Object)是一些屬性及專用服務(wù)的封裝,是問題空間中一些東西的抽象。粗略地講,對象就是E-R模型中的實(shí)體。類和實(shí)例(ClassandInstance)具有相同結(jié)構(gòu)和相同行為的對象被組合在同一類中,是對象的抽象,對應(yīng)E-R模型中的實(shí)體集。實(shí)例是為具體的對象。消息(Message)和方法(Method)消息是實(shí)現(xiàn)對象存取或使用的一種方式,是能夠激活對象的唯一過程。方法是提供對對象內(nèi)部屬性訪問的過程,消息可用于訪問其他類的數(shù)據(jù)。繼承(Inheritance)對象繼承了它所在類的結(jié)構(gòu)、操作和約束,也指一個類繼承另一個類的結(jié)構(gòu)、操作和約束。體現(xiàn)了一種共享機(jī)制。類定義classemployee{//定義類雇員
/*Variables變量,屬性*/
string name;//名字
string address;//地址
date start-date;//雇用日期
int salary;//工資
/*Messages消息,方法*/
int annual-salary();//年工資
string get-name();//取得姓名
string get-address();//取得地址
int set-address(stringnew-address);//設(shè)置新地址
int employment-length();//雇用時間
};ORACLE對象定義CREATETYPEpersonASOBJECT(--定義對象人
nameVARCHAR2(30),--姓名
phoneVARCHAR2(20));--電話CREATETYPElineitemASOBJECT(--定義對象項(xiàng)目
item_nameVARCHAR2(30),--項(xiàng)目名稱
quantityNUMBER,--數(shù)量
unit_priceNUMBER(12,2));--單價CREATETYPElineitem_tableASTABLEOFlineitem;--定義項(xiàng)目表CREATETYPEpurchase_orderASOBJECT(--定義對象定購合同
idNUMBER,--合同號
contactperson,--合同人
lineitemslineitem_table,--項(xiàng)目
MEMBERFUNCTION--成員函數(shù)
get_valueRETURNNUMBER);--取值繼承繼承的例子實(shí)現(xiàn)技術(shù)對象關(guān)系數(shù)據(jù)庫(ORDBMS)面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)ORDBMS四個基本特征允許基本類型擴(kuò)充支持復(fù)雜對象的管理,復(fù)雜對象指由基本的或用戶定義的類型所構(gòu)成的對象支持結(jié)構(gòu)、數(shù)據(jù)和函數(shù)的繼承,包括多重繼承對產(chǎn)生式規(guī)則的支持A→B,B→C類型擴(kuò)充與復(fù)雜對象CREATETYPEpersonASOBJECT(--定義對象人
nameVARCHAR2(30),--姓名
phoneVARCHAR2(20));--電話CREATETYPEemployeeASOBJECT(--定義雇員
empperson,--雇員基本信息繼承
salaryNUMBER(6,2));--雇員獨(dú)特信息CREATETYPEcustomerASOBJECT(--定義客戶
custperson,--客戶基本信息繼承
accnoCHAR(6));--客戶獨(dú)特信息面向?qū)ο蟮臄?shù)據(jù)庫必備的:是指面向?qū)ο蟮臄?shù)據(jù)庫民必須滿足的特征。它們是復(fù)雜對象、對象標(biāo)識、封裝性、類、繼承性及遲后綁定重載、可擴(kuò)充性、計算完備性、持久性、輔存管理、并發(fā)性、恢復(fù)和即席查詢功能??蛇x的:是為了使系統(tǒng)更加完善可添加的功能。分別是多繼承性、類型檢查和推理、分布、設(shè)計事務(wù)處理和版本開放的:是設(shè)計人員可以選擇的特征。分別是程序設(shè)計范例、表示系統(tǒng)、類型系統(tǒng)及單一性。常用開發(fā)工具PowerBuilder(PB)DelphiPowerBuilderPB應(yīng)用由用戶可與之交互的窗口和菜單等用戶界面組成。包括標(biāo)準(zhǔn)的Windows控件和PB特有的控件。(參考圖)PB應(yīng)用是事件驅(qū)動的。用戶通過在事件中編寫腳本可以控制應(yīng)用程序的運(yùn)行。(參考圖)PB應(yīng)用的編程語言是PowerScript,由各種命令,函數(shù)和處理響應(yīng)的語句組成。(參考圖)
PowerScript提供了豐富的內(nèi)部函數(shù),編程人員可以使用它們?nèi)タ刂茟?yīng)用程序中的對象和控件。此外還可以定義自己的函數(shù)。面向?qū)ο缶幊獭B的基本組成元素是對象,具有屬性、事件和函數(shù)(方法)等性質(zhì)。象菜單、窗口等都是對象,可以封裝、繼續(xù)和多態(tài)處理,增加了可重用性和可擴(kuò)展性。PB支持跨平臺開發(fā)。用戶開發(fā)的PB應(yīng)用能夠移植到PB支持的各種平臺上。支持團(tuán)隊(duì)跨平臺開發(fā)。PB提供連接各種數(shù)據(jù)庫的接口。(參考圖)PB常用工具ApplicationPainter(應(yīng)用描繪器):用于應(yīng)用對象WindowsPainter(窗口描繪器):用于生成窗口對象DataWindowPainter(數(shù)據(jù)窗口描繪器):用于生成數(shù)據(jù)窗口對象,即定義數(shù)據(jù)顯示格式DatabasePainter(數(shù)據(jù)庫描繪器):用于定義操縱數(shù)據(jù)庫MenuPainter(菜單描繪器):用于生成菜單對象UserObjectPainter(用戶對象描繪器):用于生成用戶自定義對象LibraryPainter(庫管理描繪器):用戶管理應(yīng)用的源程序中的對象的庫代碼編輯窗口:用于編輯、編譯腳本和函數(shù),可以直接引用窗口的安全變量和窗口函數(shù),還可以引用全程變量、結(jié)構(gòu)和函數(shù)。調(diào)試器:可以在一個應(yīng)用的任何對象中的任何函數(shù)或事件的代碼中設(shè)置斷點(diǎn),檢查變量值,檢查調(diào)用堆棧,單步執(zhí)行程序等DelphiDelphi的編程語言是ObjectPascal。數(shù)據(jù)訪問頁:在該頁上的控件主要用于說明有關(guān)的數(shù)據(jù)庫信息,如應(yīng)用程序要訪問的數(shù)據(jù)庫,要訪問的數(shù)據(jù)庫表,及表中的字段等。例如:Tdatasource(作為數(shù)據(jù)庫訪問控件和數(shù)據(jù)控制控件的連接),Ttable(表控件),Tquery(查詢控件,支持各種SQL語句),TstoreProc(存儲過程控件,可訪問存儲過程),Tdatabase(連接數(shù)據(jù)庫),TbatchMove(支持批量數(shù)據(jù)復(fù)制)。數(shù)據(jù)控制頁:該頁的控件主要用于顯示瀏覽數(shù)據(jù)庫中的數(shù)據(jù)信息,為用戶提供一個可視化的界面等。如Tdbgrid(表格數(shù)據(jù)顯示),Treport(報表輸出)等??梢酝ㄟ^BDE(BorlandDatabaseEngine)連接數(shù)據(jù)庫Delphi開發(fā)環(huán)境主窗口主菜單項(xiàng)快速命令欄控件選擇板窗體(Delphi的程序由許多個Forms串成一個系統(tǒng))對象觀察器(用來描述控件的屬性特征和動作行為,分為屬性和事件兩部分)程序代碼編輯器其他重要工具項(xiàng)目管理器對象瀏覽器圖像編輯器數(shù)據(jù)庫體系SQL視圖1視圖2基本表1基本表2基本表3基本表4存儲文件1存儲文件2外模式——視圖模式——基本表內(nèi)模式——文件SQL組成數(shù)據(jù)查詢(dataquery)用于查詢數(shù)據(jù)數(shù)據(jù)操縱(datamanipulation)用于增、刪、改數(shù)據(jù)數(shù)據(jù)定義(datadefinition)用于定義、刪除和修改數(shù)據(jù)模式數(shù)據(jù)控制(datacontrol)用于數(shù)據(jù)訪問權(quán)限的控制SQL特點(diǎn)綜合統(tǒng)一;非過程化;面向集合的操作;一種語法兩種使用方式;簡單易學(xué);數(shù)據(jù)定義基本對象主要包括數(shù)據(jù)庫、表、視圖和索引。表tablecreate、drop、alter視圖viewcreate、drop索引indexcreate、drop數(shù)據(jù)庫databasecreate、drop數(shù)據(jù)庫的建立與刪除建立數(shù)據(jù)庫CREATE
DATABASE<數(shù)據(jù)庫名>[其他參數(shù)];CREATEDATABASEnewtest;數(shù)據(jù)庫的刪除DROP
DATABASE
<數(shù)據(jù)庫名>;DROP
DATABASE
newtest;SQLServer中的數(shù)據(jù)庫創(chuàng)建CREATEDATABASEdatabase_name
[ON
[<filespec>[,...n]]
[,<filegroup>[,...n]]
]
[LOGON{<filespec>[,...n]}]
[COLLATEcollation_name]
[FORLOAD|FORATTACH]<filespec>::=[PRIMARY]
([NAME=
logical_file_name,]
FILENAME=
'os_file_name'
[,SIZE=
size]
[,MAXSIZE={max_size|UNLIMITED}]
[,FILEGROWTH=
growth_increment])[,...n]<filegroup>::=FILEGROUPfilegroup_name<filespec>[,...n]基本表定義格式:CREATETABLE<表名>(<列名><數(shù)據(jù)類型>[列級約束][,<列名><數(shù)據(jù)類型>[列級約束]……][,<表級約束>]);注:在上面的格式規(guī)定中可以看出,一外表名后的括號中可以跟若干個列的定義,列與列之間用逗號分隔,(方括號表示可選項(xiàng),尖括號表示必選項(xiàng),圓括號為實(shí)際應(yīng)用的括號)。另外,SQL語言通常以分號結(jié)尾(在少數(shù)SQL語言的實(shí)際使用環(huán)境中,不以分號結(jié)尾)。簡單示例例:CREATETABLEStudent(SnoCHAR(5)NOTNULLUNIQUE,SnameCHAR(20),SsexCHAR(1),SageINT,SdeptCHAR(15));定義及約束條件存于數(shù)據(jù)字典中示例CreateTABLESC(SNO char(7) notnull,CNO char(4) notnull,G smallint notnulldefault0,Primarykey(SNO,CNO),Foreignkeystudent_no(SNO) ReferencesSondeleteCASCADEonupdateSETNULL,Foreignkeycourse_no(CNO) ReferencesCondeleteSETNULLonupdateRESTRICT,Unique(SNO,CNO),Check(G>=0andG<=100));刪除基本表格式:DROPTABLE<表名>;例:刪除表Student。DROPTABLEStudent;基本表定義一旦被刪除,表中的數(shù)據(jù)及在此表上建立的索引都將自動被刪除,但與其相關(guān)的視圖仍然保留,卻已無法引用。修改基本表格式:ALTERTABLE<表名>[ADD<新列名><數(shù)據(jù)類型>[完整性約束]][DROP<完整性約束名>][MODIFY<列名><數(shù)據(jù)類型>];修改基表包括下列幾種方式:修改方式使用的關(guān)鍵字增加新列ADD增加新的完整性約束條件修改原有的列定義MODIFY刪除已有的列定義DROP其它(如改變約束的使、能狀態(tài))enable、disable修改示例例:在學(xué)生表(Student)中增加新列Scome,表示入學(xué)時間。ALTERTABLEStudentADDScomeDATE;注:新增列為空值(允許空值),而不能為非空(列約束為NOTNULL),否則可能破壞已有的數(shù)據(jù)。在有些實(shí)際的數(shù)據(jù)庫系統(tǒng)中,允許在數(shù)據(jù)庫表中為空(沒有數(shù)據(jù))的情形下,新增非空列。例:改變列Sage的數(shù)據(jù)類型定義。ALTERTABLEStudentMODIFYSageSMALLINT;注:改變列的數(shù)據(jù)類型定義,一般只允許擴(kuò)展原有的數(shù)據(jù)類型長度;而對于減小數(shù)據(jù)類型長度或改變數(shù)據(jù)類型(如INT改為DATE)則會有限制。一般地,只有在表中列值為空時允許這類修改。示例例:刪除列Sno的約束。ALTERTABLEStudentDROPUNIQUE(Sno);如果要刪除屬性(列),一般需要幾個步驟:將保留部分及其內(nèi)容復(fù)制到一個新表(可以使用create……asselect……這樣的句式完成)。刪除原表。將復(fù)制的表重新命名。關(guān)于視圖視圖的主要作用是減少冗余和簡化查詢?;碇淮娣呕緮?shù)據(jù),由基本數(shù)據(jù)經(jīng)過各種計算派生出的數(shù)據(jù)一般是不存儲的。在已有字段上的視圖定義當(dāng)然也不含這些派生數(shù)據(jù)。視圖中的數(shù)據(jù)不實(shí)際存儲。根據(jù)基表中的列派生出的屬性列不實(shí)際存在,故稱屬性列。定義視圖格式:CREATEVIEW<視圖名>[(<列名1>[,<列名2>]……)]AS<子查詢>[WITHCHECKOPTION];子查詢可以是任意復(fù)雜的SELECT語句,但通常不允許含有ORDERBY子句和DISTINCT短語。WITH子句表示對視圖進(jìn)行UPDATE、INSERT和DELETE操作時保證更新、插入和刪除的行滿足視圖定義的謂詞條件(即子查詢的條件表達(dá)式)。視圖的列名可以省略,但以下情況需要明確組成視圖的所有列名(或全部省略,或全部指定):其中某個目標(biāo)列不是單純的屬性名,而是集函數(shù)或列表達(dá)式。多表連接時選出了幾個同名列作為視圖的字段。需要在視圖中為某個列啟用新的更合適的名字。刪除視圖格式:DROPVIEW<視圖名>;視圖所基的表如果被刪除,視圖將失效,基于該視圖的其它視圖也失效。但視圖的定義在未執(zhí)行DROPVIEW語句前始終存在于數(shù)據(jù)字典建立索引索引的作用在于加快表的檢索(查詢)速度。系統(tǒng)在存取數(shù)據(jù)時會自動選擇合適的索引作為存取路徑,用戶不必也不能選擇索引。索引對于用戶而言只是作為優(yōu)化SQL語句的參考(如,如何充分利用現(xiàn)有的索引)。至于系統(tǒng)以何種方式建立索引,要引用哪些索引,如何引用都無須關(guān)心。格式:CREATE[UNIQUE][CLUSTER]INDEX<索引名>ON<表名>(<列名>[<次序>][,<列名>[<次序>]]……);其中次序有兩種,即升序(ASC,缺省值)和DESC(降序)。UNIQUE表示索引值唯一,在此索引的約束下,元組的索引項(xiàng)不能有相同的值。CLUSTER表示要建立的索引是聚簇索引。示例例:為表Student中的列Sno建立唯一索引。CREATEUNIQUEINDEXStusnoONStudent(Sno);例:為表Course中的列Cno建立唯一索引。CREATEUNIQUEINDEXCoucnoONCourse(Cno);例:為表SC中的列Sno和Cno建立唯一索引,且Sno升序,Cno降序。CREATEUNIQUEINDEXSCnoONSC(SnoASC,CnoDESC);刪除索引一旦建立索引,數(shù)據(jù)庫系統(tǒng)將負(fù)責(zé)使用、維護(hù),用戶不需要干預(yù)。使用索引能夠減少查詢的操作時間,但在數(shù)據(jù)增、刪、改時,系統(tǒng)會花費(fèi)時間、空間來維護(hù)相關(guān)索引表中的索引項(xiàng),又會增加開銷,所以索引并不是建得越多越好。有時需要對索引進(jìn)行調(diào)整,如刪除索引。格式:DROPINDEX<索引名>;例:刪除索引Stusname。DROPINDEXStusname;刪除指定的索引后,系統(tǒng)會刪除索引內(nèi)容,并將索引的定義(描述)也從數(shù)據(jù)字典中刪除。查詢格式格式:SELECT[ALL|DISTINCT]<目標(biāo)列表達(dá)式>[,<目標(biāo)列表達(dá)式>]……FROM<表名或視圖名>[,<表名或視圖名>]……[WHERE<條件表達(dá)式>][GROUPBY<列名1>[HAVING<條件表達(dá)式>]][ORDERBY<列名2>[ASC|DESC]];注:“|”表示選擇項(xiàng),其中排在前面的ALL和ASC為缺省選擇項(xiàng)。目標(biāo)列表達(dá)式可以是列名,也可以是算術(shù)表達(dá)式、字符串常量、函數(shù)等。列名1和列名2都可以出現(xiàn)多個列名示例用表及其關(guān)系SnoSnameSsexSageSdept95001張三男20CS96010李思思女19IS95041王五男17CS97101鄭路路女18MA96104任西女20MA96023丁八男19ISCnoCnameCpnoCcredit1數(shù)據(jù)庫542數(shù)學(xué)
23信息系統(tǒng)144操作系統(tǒng)35數(shù)據(jù)結(jié)構(gòu)246C語言54StudentCourseSnoCnoGrade950011919500128395001386950412789504138295041692960104819610446996023494SCStudentCourseSCmn無條件查詢SELECTSname,2004-SageFROMStudent;Sage原來表示年齡,如果當(dāng)前年份為2004年,表達(dá)式2004-Sage表示出生年份。SELECTSname,’YearofBirth:’,2004-Sage,ISLOWER(Sdept)FROMStudent;這例中使用了字符串常量和函數(shù),字符串常量用于改變列的顯示標(biāo)題,函數(shù)則作用于每一檢索到的元組。Sname2004-Sage張三1984李思思1985王五1987鄭路路1986任西1984丁八1985Sname‘YearofBirth:’2004-SageISLOWER(Sdept)張三YearofBirth:1984cs李思思YearofBirth:1985is王五YearofBirth:1987cs鄭路路YearofBirth:1986ma任西YearofBirth:1984ma丁八YearofBirth:1985is查詢滿足條件的元組查詢條件用條件表達(dá)式表示,使用了下面的運(yùn)算符:比較運(yùn)算符=,>,<,>=,<=,!=,<>,!>,!<,NOT+比較符確定范圍BETWEEN……AND……,NOTBETWEEN……AND……確定集合IN,NOTIN字符匹配LIKE,NOTLIKE空值判斷ISNULL,ISNOTNULL邏輯運(yùn)算符AND,OR,NOT條件查詢SELECTSnameFROMStudentWHERESdept=’CS’;SELECTSname,Sdept,SageFROMStudentWHERESageBETWEEN20AND23;SELECTSname,SsexFROMStudentWHERESdeptIN(‘IS’,’MA’,’CS’);例:找出95級學(xué)生的信息。SELECT*FROMStudentWHERESnoLIKE‘95%’;其中學(xué)號的前兩位表示該學(xué)生的所在級號。SnoSnameSsexSageSdept95001張三男20CS95041王五男17CSSnameSsex張三男李思思女王五男鄭路路女任西女丁八男SnameSdeptSage張三CS20任西MA20Sname張三王五排序查詢在排序時可以指定多個列,系統(tǒng)將按照指定列的順序來依次列示結(jié)果。例:顯示所有學(xué)生的信息,按系排序(不指定升序或降序,通常使用缺省值,一般升序?yàn)镾QL語言中的缺省值),同系中按年齡從大到小排列(降序)。SELECT*FROMStudentORDERBYSdept,SageDESC;有時也可以使用列的序號來指定排序的列,這在列為常量、函數(shù)等較長列名時尤其有效。SELECT*FROMStudentORDERBY5,4DESC;這里的“5”即指列Sdept,“4”即指Sage。Sno、SnameSsexSageSdept95001張三男20CS95041王五男17CS96010李思思女19IS96023丁八男19IS96104任西女20MA97101鄭路路女18MASno、SnameSsexSageSdept95001張三男20CS96010李思思女19IS95041王五男17CS97101鄭路路女18MA96104任西女20MA96023丁八男19IS嵌套查詢例:查詢其它系中比IS系某一學(xué)生年齡小的學(xué)生名單。SELECTSname,SageFROMStudentWHERESage<ANY(SELECTSageFROMStudentWHERESdept=’IS’)ANDSdept<>’IS’ORDERBYSageDESC;例:查詢所有選修了1號課程和學(xué)生姓名。SELECTSnameFROMStudentWHEREEXISTS(SELECT*FROMSCWHERESno=Student.SnoANDCno=‘1’);計算查詢又稱集合函數(shù)、組函數(shù)、分組函數(shù)、聚集函數(shù)等,通過與分組短語一起使用。作用于元組集。COUNT([DISTINCT|ALL]*)統(tǒng)計元組個數(shù)COUNT([DISTINCT|ALL]<列名>)統(tǒng)計一列中值的個數(shù)SUM([DISTINCT|ALL]<列名>)計算一列值的總和(列須是數(shù)值型)AVG([DISTINCT|ALL]<列名>)計算一列值的平均值(列須是數(shù)值型)MAX([DISTINCT|ALL]<列名>)計算一列值的最大值MIN([DISTINCT|ALL]<列名>)計算一列值的最小值示例例:求總的學(xué)生數(shù)。SELECTCOUNT(*)FROMStudent;例:求選修了課程的學(xué)生數(shù)。SELECTCOUNT(DISTINCTSno)FROMSC;例:求課程4的平均成績。SELECTAVG(Grade)FROMSCWHERECno=’4’;例:求課程4的最高分?jǐn)?shù)。SELECTMAX(Grade)FROMSCWHERECno=’4’;COUNT(*)6COUNT(DISTINCTSno)5AVG(Grade)81.333333333MAX(Grade)94與分組結(jié)合將查詢結(jié)果表的各行按一列或多列取值相等的原則進(jìn)行分組。目的是細(xì)化集合函數(shù)的作用對象。如果不分組,集合函數(shù)的作用對象就是整個結(jié)果;如果分組,集合函數(shù)的作用對象就是每一組。例:找出每門的選修人數(shù)。SELECTCno,COUNT(Sno)FROMSCGROUPBYCno;例:查詢選修人數(shù)超過2人(不含2人)的課程號。SELECTCnoFROMSCGROUPBYSnoHAVINGCOUNT(*)>2;其中HAVING子句用于對分組結(jié)果進(jìn)行篩選。CnoCOUNT(Sno)1122326143Cno4數(shù)據(jù)操作插入數(shù)據(jù)——INSERT修改數(shù)據(jù)——UPDATE刪除數(shù)據(jù)——DELETE插入數(shù)據(jù)插入單個元組格式:INSERTINTO<表名>[(<屬性列1>[,<屬性列2>]……)]VALUES(<常量1>[,<常量2>]……);插入多個元組(子查詢結(jié)果)格式:INSERTINTO<表名>[(<屬性列1>[,<屬性列2>]……)]<子查詢>;例:對每一個系,求學(xué)生的平均年齡,并把結(jié)果存入數(shù)據(jù)庫。INSERTINTODeptage(Sdept,Avgage)SELECTSdept,AVG(Sage)FROMStudentGROUPBYSdept;修改數(shù)據(jù)格式:UPDATE<表名>SET<列名>=<表達(dá)式>[,<列名>=<表達(dá)式>]……[WHERE<條件>];根據(jù)條件的指定可以
修改一個元組的值,也可以
修改多個元組的值,此外也可以使用
帶子查詢的修改語句。例:將計算機(jī)科學(xué)系的學(xué)生的成績置零。UPDATESCSETGrade=0WHERE‘CS’=(SELECTSdeptFROMStudentWHEREStudent.Sno=SC.Sno);一致性問題UPDATE語句一次只能操作一個表。這會帶來數(shù)據(jù)庫的一致性問題。例如,學(xué)號為95007的學(xué)生因病休學(xué)一年,復(fù)學(xué)后需要將其學(xué)號改為96089,由于Student表和SC表都有關(guān)于95007的信息,因此兩個表都需要修改,而這種修改只能通過兩條UPDATE語句進(jìn)行。在執(zhí)行了一句修改后(例如對Student中相應(yīng)的記錄做了修改),數(shù)據(jù)庫中的數(shù)據(jù)處于不一致狀態(tài),數(shù)據(jù)的參照完整性受到破壞(此時原來95007選修的課程還沒有歸于96089)。只有兩條修改語句都執(zhí)行了,數(shù)據(jù)庫才會再
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 八十大壽賀詞
- 人教版小學(xué)語文教學(xué)隨筆
- 石蠟切片的制作過程
- 深圳科技業(yè)務(wù)管理系統(tǒng)
- 科室工作總結(jié)
- 秋季大班教師個人計劃表
- 2024-2025學(xué)年八年級地理上冊 1.1 位置和疆域教學(xué)實(shí)錄 (新版)粵教版
- 2024年校園教育培訓(xùn)機(jī)構(gòu)合作合同3篇
- 我的家鄉(xiāng)小學(xué)作文
- 三年級英語上冊 Unit 4 Family Lesson 22 How Old Are You教學(xué)實(shí)錄 冀教版(三起)
- 人教版三年級數(shù)學(xué)上冊 期末測試
- 《跨境電子商務(wù)基礎(chǔ)》課件-阿里巴巴國際站概述
- 政治-湖南省名校教育聯(lián)盟2025屆高三12月大聯(lián)考試題和答案
- 現(xiàn)代農(nóng)業(yè)旅游觀光項(xiàng)目可行性研究報告
- 商丘工學(xué)院《物聯(lián)網(wǎng)工程》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年標(biāo)準(zhǔn)設(shè)備安裝分包合作合同版B版
- 幼兒藝術(shù)療愈課程設(shè)計
- 大學(xué)生公共安全教育知到智慧樹章節(jié)測試課后答案2024年秋鄭州師范學(xué)院
- 2024年化學(xué)檢驗(yàn)員(中級工)技能鑒定考試題庫(附答案)
- 中南大學(xué)《創(chuàng)新創(chuàng)業(yè)導(dǎo)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 【MOOC】中學(xué)化學(xué)教學(xué)設(shè)計與實(shí)踐-北京師范大學(xué) 中國大學(xué)慕課MOOC答案
評論
0/150
提交評論