當前位置:首頁 » 數據倉庫 » 高級資料庫技術試題
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

高級資料庫技術試題

發布時間: 2022-09-05 08:43:44

❶ 高起專資料庫技術及應用期末考試綜合題第4題。請各路大神施以援手!!!!

1 pai部門編號,職務(sigma姓名=』王小毛』 (員工))
2 pai項目名稱,員工姓名(員工|><|項目|><| sigma工時>=100(施工))
3 select 姓名 from 員工 order by 職稱 desc
4 select 員工編號, sum(工時) 總工時 from 施工 group by 員工編號
5 select 姓名, 部門名稱
from 施工,員工,部門,項目
where 員工.部門編號=部門.部門編號 and 員工.員工編號=施工.員工編號 and 施工.項目編號=項目.項目編號 and 職稱='高級工程師' and 預算>100000000
group by 姓名, 部門名稱 having count(*)>=1
6 create view 工作量 as
select 員工.員工編號,姓名,項目名稱,工時
from 施工,員工,項目
where 員工.員工編號=施工.員工編號 and 施工.項目編號=項目.項目編號
7 update 施工 set 工時=工時+50 where 項目編號 in (select 項目編號 from 項目 where 項目名稱='高教新區項目')

❷ 資料庫應用技術試題答案

1.1 A 1.2 A 1.3 A 1.4 A 1.5 c 1.6 d 1.7c 1.10 b 1.8 d
1.9 d

1.10 我插到前面了 按照你的順序哈

❸ 誰有《電子商務資料庫技術》的復習資料和練習題啊

第一章
1.電子商務是發生在開放網路上包含企業之間、企業和消費者之間的商業交易(狹義)。廣義的定義除電子交易外,還包括利用計算機網路技術進行的全部商業活動。
2.電子商務的類型:1企業經營2網上銀行3網上商店和網上購物4網路服務5其他,有關認證,海關稅務等部門。
3.電子商務的基本框架:社會環境(公共政策、法律、規則等)、自然科技環境(文檔、安全、網路協議的技術標准)和電子商務技術內容構成了電子商務應用平台的三個支柱。
4.基礎通信網路是電子商務的硬體基礎設施,承擔著電子商務傳輸的任務。資料庫承擔著對商品信息的存貯、管理、查詢、結算和處理等功能。
5.Web與資料庫的集成有三種形式:運用Web發布數據,運用Web共享數據,用資料庫驅動Web站點。
6.數據倉庫是指大量散布在網路資料庫中的數據進行組織,使之能形成一個可被檢索、搜索、分析和報告的商業信息清單。
7.數據挖掘是指對龐大的歷史交易數據進行再分析,以選定目標客戶分辨市場定位發現新的商業機會。
8.企業建立電子商務網站的步驟:1選自ISP和ICP2注冊域名和選側接入方式3網頁設計製作4創建和維護資料庫5整合資料庫和網站6在Web上使用資料庫。
9.資料庫驅動Web站點的核心是網路資料庫軟體。
10.資料庫軟體的類型:桌面型,中小型面向對象型,大型分布型,數據倉庫型。(包含的種類)
11.電子商務Web站點資料庫的特徵:1對電子商務運營各個方面確保數據安全2對電子商務交易過程管理3對客戶確認已經完成,但由於硬體軟體故障而未能執行的交易可以彌補。
12.創建網路資料庫的調件:1要符合企業電子商務的需要2能被某個資料庫管理系統接受3具有較高的質量,便於維護,理解,效率高。
腳本語言用途:1可以處理用戶在表單中輸入的數據,編輯,復制他們到隱含域2可以增強界面效果3可以控製表單的提交合生成復雜的URL地址。

第二章資料庫系統概論
1.資料庫管理的三個階段:人工管理階段,文件系統階段,資料庫系統階段。
2.按照模型發展劃分:1第一代資料庫管理系統,層次資料庫和網狀資料庫管理系統2第二代資料庫管理系統,關系資料庫管理系統(RDMS)3第三代資料庫管理系統,新一代,面向對象資料庫管理系統。
3.數據模型是資料庫系統的數學形式框架,是用來描述數據的一組該念和定義包括:數據的靜態特徵,數據的動態特徵,數據的完整約束性。大體可分兩類:面向值得數據模型和面向對象的數據模型。
4.在實際應用中,為了更好的描述現實世界中數據的特徵,常常針對不同的場合或不同的目的,採用不同的方法描述數據特徵,統稱為數據模型。有如下幾種:1概念數據模型,這是面向資料庫用戶的相士世界的數據模型,與具體的DBMS無關2邏輯數據模型,這是用戶從資料庫中所看到的數據模型,是具體的DBMS所支持的數據模型,既要面向用戶又要面向系統3物理數據模型,描述數據在存儲介質山的組織方式的數據模型,不僅與DBMS有關還和操作系統和硬體有關。
5.現實世界:是指存在於人腦之外的客觀世界。
6.概念世界:是現實世界在人們腦中的反映,是對客觀事物及其聯系的一種抽象描述。
7.實體:我們把客觀存在並可以相互區別的事物稱為實體。同一類實體的集合稱為實體集。屬性的集合表徵一種實體的類型,稱為實體型。
8.屬性:屬性是用來描述實體的某一方面的特性。屬性的具體取值為屬性值。
9.實體標志符:如果某個屬性或屬性集合的值能夠唯一的標志出實體集中的每一個實體,則可以選擇該屬性或屬性集合作為實體標志符。
10.聯系:實體集之間的對應關系稱為聯系,它反映現實世界的事物之間的相互關系。分實體內部各屬性之間的聯系和實體之間的聯系。
機器世界:信息經過加工編碼而進入機器世界,機器世界處理的對象是數據。
記錄:相對應每一實體的數據叫記錄。
欄位:相對應屬性的數據稱為欄位,或者數據項,又叫數據元素或初等項。
文件:相對應實體集的叫文件,它是同類記錄的集合。
記錄型:相對應於實體型的叫記錄型。
關鍵字:相應於實體標志符的為關鍵字,關鍵字又稱外碼。
11.E-R模型:E-R圖所描述的現實世界的信息結構稱為組織模式或企業模式,同時把這種描述結果稱為E-R模型。三要素:實體,屬性,實體之間的聯系。
12.聯系抽象後可歸結為三種:一對一聯系,一對多聯系,多對多聯系。
13.作實體-聯系圖(E-R圖)的步驟:1確定所有的實體集合2選擇實體集應包含的屬性3確定實體集之間的聯系4確定實體集的關鍵字,用下劃線在屬性上表明關鍵字的屬性集合5確定聯系的類型,在用線將表示聯系的菱形框聯繫到實體集時,在線旁邊註明是1或n來表示聯系的類型。
14.層次數據模型就是根據現實世界中存在的層次結構特點而提出的一種數據模型。用樹型結構來表示實體之間聯系的模型稱為層次模型。
15層次模型只能表示一對多關系,引入虛擬記錄型和指針轉換多對多關系。
16.網狀模型:用邏輯記錄型來代替實體型。邏輯記錄所包括的所有欄位的名字及其類型描述了邏輯記錄格式,這樣一邏輯記錄型為節點所形成的有向網路結構稱為網狀模型。網狀模型中給每一個父結點及子節點之間的聯系都指定名字,這種聯系稱為系。
17.關系模型:關系模型是同過表格數據來表示和實現兩個實體之間的聯系。關系就是二維表格,表格中的每一行稱作一個元組,它相當於一個記錄值;每一列是一個屬性值,列可以命名,稱為屬性名,屬性相當於記錄中的數據項或欄位值。關系是元組的集合。
18.關系有如下屬性:表格中的每一列都是不可再分的基本屬性;各列的名字不同,順序不重要;行的次序無關緊要;關系中部不允許有完全相同的兩行存在。.
19.域:域是值的有限集合。關系:笛卡爾積d1*d2*…dn 的任意一個子集稱為在d1,d2…dn上的一個關系。用R(d1,d2,…dn)表示,R為關系名。n為關系的度或目。
20.關系模式:我們將關系名及其屬性名集合稱為關系模式,具體的關系是實例。
21.資料庫模式;在支持關系模型的數據中,數據被看作是一個個的關系,描述資料庫全部關系的一組關系模式稱為關系的資料庫模式。任何時刻資料庫的所有具體的關系組成關系資料庫的一個實例。
22.關系運算:選擇σF(R) 投影ПAR 連接RfS
23.資料庫系統由五個部分組成:硬體資源(CPU,內存,磁碟),軟體資源(操作系統,資料庫管理系統,高級編程語言),資料庫結構,資料庫管理員和用戶。
24.資料庫管理系統的三級模式結構:用戶級資料庫,概念幾資料庫,物理級資料庫。
25.用戶資料庫是用戶看到使用的資料庫,所以又稱用戶視圖,子模式,外模式,用戶模式等。
26.概念級資料庫是DBA(資料庫管理員)看到的資料庫,因此也稱DBA視圖,又稱為模式。
27.物理級資料庫又稱為存儲模式,內模式,是資料庫管理系統內部的表示,即對數據的物理結構和方式的描述。
28.為了保證資料庫能夠高效正常的運行,一般大型資料庫都設有專門人員負責資料庫管理系統的管理工作,這種專門的人員成為資料庫管理人員(DBA)。主要職責:1負責資料庫核心及其開發工具的安裝及升級2為資料庫管理系統分配存儲空間並規劃未來的存儲要求3協助開發者建立基本的對象(表、視圖、索引)4負責注冊用戶並維護系統的安全性5負責資料庫管理系統的備份和恢復。
29.資料庫管理系統用戶分:最終用戶和專業用戶即應用程序員。
30.資料庫管理系統是對資料庫定義、管理、維護和檢索的一組軟體。其功能如下:1存儲數據2創建並維護數據結構3允許多用戶並發訪問4加強安全性和保密性5允許提取和操作已存儲的數據6實現數據錄入和數據載入7提供不同記錄的一致性8提供對指定數據快速提取的高效索引機制。
31.資料庫管理系統必須提供數據的安全性、並發性、完整性、數據備份、數據恢復等數據保護能力以保證資料庫中數據的安全可靠和正確性。為此需要建立資料庫保護機制,用於以阻止一切物理破壞和讀寫破壞,並能以最快的速度使其恢復工作。
32.資料庫的安全性主要是指保護資料庫,防止因用戶非法使用資料庫造成數據泄密、更改或破壞。保證安全性關鍵是控制和識別。
33.用戶操作資料庫中的數據至少三層安全防線:1操作系統的安全保護機制2資料庫管理系統的安全保護機制3資料庫中的安全防護機制a用戶標示和鑒定b存取控制c視圖d數據加密e資料庫審計。
34.資料庫的完整約束性是指數據的正確性、相容性和一致性,即防止不符合語義的錯誤數據輸入和輸出,同時還要使存儲在不同副本中的同一數據保持一致協調,使數據之間的結構不受破壞。
35.數據完整約束條件分類:1屬性值的約束和聯系的約束a屬性值的約束是對一個列的取值的說明b關於數據之間的聯系約束,在關系資料庫中指多個屬性或多個元組之間的聯系的約束2靜態約束和動態約束3立即執行約束和延遲執行約束。
36.完整性約束方法分兩類:隱含約束方法和顯式約束方法(a採用斷言說明句b採用CHECK子句或constraint 子句c採用資料庫觸發器d將完整性約束的說明和檢查任務交給應用程序)。
37.並發控制的基本單位是事務。
38.並發控制所帶來的數據不一致分三類:丟失數據,不可重讀數據和讀「臟」數據。
39.並發控制的基本思想:當一個應用程序對資料庫的某一部分執行修改操作時,對該部分數據實行封鎖,拒絕其他用戶對該部分的並發訪問控制要求,直到該事務執行完畢(正常結束或撤銷)。
40.並發控制的策略包括:封鎖單位大小的確定、死鎖的預防、檢測和解除。
41.分布式資料庫系統是在兩台或多台地理上或物理上分散而邏輯上集中的資料庫系統,管理這樣的資料庫系統的軟體稱為分布式資料庫管理系統(DDBMS)。
42.面向對象(OO)數據模型比傳統模型優勢:1具有表示和構造復雜對象的能力2通過封裝和消息隱藏技術提供了程序的模塊化機制3繼承和類層次技術不僅能表示is-a,還提供了軟體重用機制4通過滯後聯編等概念提供系統擴充能力5提供與宿主語言的無縫連接。
43.能夠管理數值、文件、表格、圖形、圖像、聲音等多媒體的資料庫稱為多媒體資料庫(MDB)。
44.管理應用方式:1基於關系模型,加以擴充,使之支持多媒體資料庫類型2基於OO模型來實現對多媒體信息的描述和操作3基於超文本模型。
45.多媒體資料庫的特殊功能:1支持圖像、聲音、動畫等多媒體欄位和用戶自定義欄位2支持長數據和非長數據的集成管理3支持復雜的實體表示4有保證完整性和一致性機制5支持同一實體多種表現形式6具有良好的用戶界面7至此多媒體的特殊查詢和良好的介面處理8支持分布式環境。
46.多媒體資料庫關鍵技術:1數據模型技術2數據存儲管理和壓縮解壓技術3多媒體再現和良好的用戶界面技術4多媒體信息檢索和查詢及其他處理技術5分布式環境與並行處理技術。

第三章資料庫設計基礎
1.資料庫設計的基本問題是如何建立一個良好的資料庫模式,亦即給出一組數據,如何構造一個合適於他們的數據模式,無論是存儲還是操縱反面都有較好的性能。
2.關系資料庫設計理論主要包括:函數依賴、範式和模式設計方法。
資料庫問題:數據冗餘、更新異常、插入異常、刪除異常。
3.規范化的目的:1把關系中的每一個數據項轉換成一個不可再分的基本項2消除冗餘,並使關系的檢索簡化3消除數據在插入、修改、刪除時的異常情況4關系模型靈活,易於使用非過程化的高級查詢語言進行查詢。
4.函數依賴:設R(A1A2A)是關系U={A1A2A}是R的所有屬性集合,X、Y、Z分別是R的屬性子集
1若對於R中的X的任何一個具體值,Y僅有唯一的具體值與之相對應,則稱R的屬性Y函數依賴於屬性X,記作X→Y,X稱為決定因素。
如果X→Y,且Y不是X的子集,則稱X→Y是非平凡的函數依賴。
2若在R中,如果屬性集Y函數依賴於屬性集X,且不與X的任何真子集函數依賴,則稱Y完全依賴於X記作Xf→Y,否則稱Y部分依賴於X,記作Xp→Y
3在R中對於屬性子集X、Y、Z,若Xf→Y,Y→Z,則稱Z對X傳遞函數依賴,記作Xt→Z。
關鍵字(碼):4在R中,設K是U的屬性或屬性集合。如果Kf→U,則稱K是關系R的一個後選關鍵字。若R中有一個以上的關鍵字,則選定其中一個作為主關鍵字(主碼),如果K是屬性集合,則稱為組合關鍵字或合成關鍵字。
5.包含在任意一個候選字中的屬性,稱為主屬性,不包含在任何候選關鍵字中的屬性稱為非主屬性。
6.若關系的全部屬性作為關鍵字,則稱為完全關鍵字。此時無非主屬性。
後選關鍵字的兩個性質:a標識的唯一性b無冗餘性。
5在關系R中,若屬性或屬性集合X不是R的關鍵字,但X是其他關系中的關鍵字,則稱X是關系R的外關鍵字或外碼。
6在關系R中,XYZ是屬性集合,且Z=U-X-Y,多值依賴X→→Y成立當且僅當對R中給定的一對(X,Z)值有一組Y的值與之對應,這組值決定於X值二與Z值無關。關系模式中至少存在三個屬性,才有可能存在多值依賴。
7.第一範式(1NF):如果關系R的每一個屬性的值為不可分離的原子值,即每個屬性都是不可再分的基本數據項,則R是第一範式記作R∈1NF。
8.第二範式:如果關系R∈1NF,且R中的每一非主屬性完全函數依賴於主關鍵字,則R是第二範式,記作R∈2NF。
9.第三範式:如果R∈2NF,而且它的任何一個非主屬性都不傳遞依賴於任何主關鍵字,則R是第三範式,記作R∈3NF。
10.BCNF:如果關系R∈3NF,X,Y∈U,若,且Y∈/U時,X必含有碼,則R是BCNF,記作R∈2NF。滿足BCNF的關系模式:a非主屬性對關鍵字完全函數依賴b主屬性對不包含它的關鍵字完全函數依賴c沒有屬性完全函數依賴於一組非主屬性。
11.第四範式:如果關系模式R∈BCNF,若X→→Y(Y∈/X)是平凡多值依賴,且X含有碼,則稱R是第四範式,記作R∈4NF.
12.規范化的小結:
目的:規范化的目的是使結構合理,清除存儲異常並使數據冗餘盡量小,便於插入、刪除和更新。
原則:遵從概念單一化「一事一地」原則,即一個關系模式描述一個實體或實體間的一種聯系。規范化的實質是概念單一化。
方法:將關系模式投影分解成兩個或兩個以上的關系模式。
要求:分解後的關系模式集合應當與原關系模式等價,即經過自然聯結可恢復原關系而不丟失信息,並保持屬性間的合理聯系。
13.E-R模型轉換為關系模型的規則:1E-R圖中的每個實體集,都相應的轉換成一個關系,實體集的名字就作為關系的名字,實體集的屬性就作為關系的屬性,實體集的關鍵字作為關系的關鍵字。2對於E-R圖中聯系,一個聯系轉化為一個關系,練習的名稱作為關系的名稱,聯系的屬性作為關系的屬性,所有參加聯系的實體集的關鍵字也作為關系的屬性,關系的屬性有聯系的類型決定。

第四章 面向對象數據可設計
1.OO中對象的定義:對象是一些屬性(屬性值刻畫了一個對象的狀態)及專用服務的封裝體,是問題空間中一些東西的抽象。
2.類和事例:具有相同結構和相同行為的對象被組合在同一類中,這是一種抽象類型的表示,稱為類。任何單個對象都是某個類的實例。
3.消息:對象的存取或使用都是通過一種方式來實現的,即發送消息。
4.繼承:繼承是指對象繼承了它所在的類的結構、操作和約束,也指一個類繼承另一個類的結構、操作和約束,可以說繼承體現了一種共享機制。
5.一個合格的面向對象的資料庫管理系統應具備的性質和特徵:1必備的:是指面向對象的資料庫管理系統所必須滿足的特徵。它們是復雜對象、對象標識、封裝型、類、繼承性及遲後綁定蟲災、可擴充性、計算完備性、持久性、輔存管理、並發性、恢復和即席查詢功能。2可選類:是指為了使系統更加完善可添加的功能。分別是多繼承性類型檢查和推理分布設計事務處理和版本。3開放的:是設計人員可以選擇的特徵。分別是程序設計範例、表示系統、類型系統及單一性。
6.對象關系數據資料庫管理系統必須具備的特徵:1允許基本類型擴充2支持復雜對象管理3支持結構,數據和函數的繼承、包括多重繼承4對產生規則的支持。
7.集中式結構,所有資源(數據)和處理(程序)都在一台稱為主機的計算機上完成,用戶輸入的信息通過客戶機終端傳導主機上。
文件伺服器系統結構中,應用程序在客戶工作站上運行,而不是在文件伺服器上運行,文件伺服器只提供資源的集中式管理和訪問路徑。
8.兩層客戶機/伺服器結構
客戶機:從其他計算機中讀取數據,經過加工處理後將數據存儲到原來提供數據的計算機中的計算機。
伺服器:向其他計算機提供數據的計算機。
客戶機/伺服器有三個基本組成部分:客戶機、伺服器、客戶機與伺服器的連接。
9.客戶機是一個面向最終用戶的介面或應用程序。
10.伺服器的主要功能是建立進程和網路服務地址,監聽用戶的調用,處理客戶的請求,將結果交給客戶機和釋放與客戶機的連接。
客戶機與伺服器之間的連接時通過網路連接實現的。
11.客戶/服務的關鍵在於任務的劃分,一般的客戶完成用戶介面任務,主要是輸入/輸出和任務提交;伺服器則主要完成數據的存儲、訪問和復雜的計算任務;連接件主要完成客戶和服務取得數據交換。
12.三層結構:客戶機、應用伺服器和數據伺服器。
13.客戶機上只需要安裝應用程序,負責處理與用戶的交互和與應用程序的交互。
14.應用伺服器負責處理應用邏輯,即接受客戶機方應用程序的請求,然後根據應用邏輯將這個請求轉化為資料庫請求後與資料庫伺服器進行交互,並將與資料庫伺服器交互的結果傳送給客戶機方的應用程序。
15.數據伺服器軟體根據應用伺服器發送的請求,進行資料庫操作,並將操作結果傳送給應用伺服器。
16.應用邏輯被所有用戶共享是兩層結構和三層應用軟體的最大區別。中間層即應用伺服器是整個系統的核心,它必須具有處理系統的具體應用的能力,並提供事務處理、安全控制以及滿足不同數量客戶機的請求而進行性能調整的能力。
17.三層結構應用軟體開發系統優點明顯:1整個系統被分為不同的邏輯塊,層次非常清晰2能夠使肥客戶機辦成瘦客戶機3開發和管理的時間向伺服器方轉移,使得分布數據處理成為可能4管理和維護變得相對簡單。另外引進三層機構體系,客戶機便可省去與資料庫系統直接互動的麻煩。
18.資料庫管理系統的實現技術
採用存儲過程技術的好處如下:1高性能2共享性3簡化了應用開發過程,提高了應用開發效率4簡化了安全控制。
19.分布是資料庫管理技術:1數據復制和分布2兩個階段提交a協調者詢問各個參與者能否提交該事務,並等待他們的回答b各參與者根據收到協調者所做的決定進行事務處理或回滾,並向協調者作出答復。協調者在收到所有應答後,該事務結束。

第五章 sql
1.Sql 資料庫的數據體系是三級結構。關系模式(模式)稱為基本表,存儲模式(內模式)稱為存儲文件,子模式(外模式)稱為視圖,元組稱為行,屬性成為列。
2.Sql的組成:一個Sql 數據可是表的集合;表有行構成,行是列的集合;一個表或者是基本表或者是視圖;一個基本表可以跨一個或多個存儲文件,一個存儲文件可存一個或多個基本表;用戶可以操作基本表也可以操作視圖;SQL用戶可以是應用程序,也可以是終端用戶。
3.SQL組成:數據定義(DDL,定義資料庫的邏輯結構,包括定義資料庫,基本表,視圖和索引四個部分。)
數據操作:DML包括查詢和更新(插入,刪除,更新)。
數據控制:基本表和視圖的授權,完整性規則的描述,事物控制語句。
4.嵌入語言的使用規定:規定SQL在宿主語言的程序中的使用規則。
SQL語言優點:非過程化語言,統一的語言,所有關系資料庫的公共語言。
5.數據字典是關於數據描述的信息的一個特殊資料庫。包含每一個數據類型的名字,意義,描述,來源,格式,用途以及與其他數據的聯系等數據,這類數據成為元數據。因而數據字典又稱與資料庫。
數據字典庫的數據類型:數據項,組項,記錄,文件,外模式,概念模式,內模式,用戶應用程序,存取口令,安全性要求,完整性要求,映像等。
6.DD/D(數據字典/目錄)的用途:1是系統分析員,資料庫設計人員的得力助手2是協助DBA管理資料庫的有力工具3支持DBMS4幫助應用程序員和終端用戶更好的使用資料庫。
7.SQL server 備份類型:資料庫備份;事務日誌備份;差異備份;文件和文件組備份。
8.資料庫恢復模式:簡單恢復;完全恢復;批日誌恢復。
Truncate table tablename
Numeric distinct identity grant revoke commit rollback column
Use master
Exec sp_admpdevice 『tape』 ,」tape2』, 『\\.tape0』
foreign key reference
9.通用網關介面CGI就是Web伺服器與一個外部程序(又稱CGI程序)進行通信的協議介面,這個介面協議規定了Web伺服器與CGI程序傳送消息的格式,信息的內容和格式,同時也規定了CGI程序返回信息的內容和輸出標准。在Web頁面中,主要通過超鏈接或者指定表格和圖形的方法來執行CGI程序。
10.在網路伺服器上,通常許多程序,用來完成不同的任務,在技術上網路伺服器上的這些程序統稱為CGI程序。
11.ODBC具有最大的互操作性,可以使用一個單獨的程序來提取數據可信息,在提供一種方法讓應用程序讀取數據。一個應用程序可以存取不同的資料庫管理系統,而應用程序不必和DBMS綁在一起進行編譯,連接,運行,而只要在應用程序中通過選擇一個叫做資料庫驅動程序的模塊就可以把應用程序和所選的ODBCl連接在一起。
12.ODBC組件:應用程序,驅動程序管理器,驅動程序,數據源。
13.ODBC的兩個基本用途:1在電子商務實際過程中,涉及企業,客戶,銀行海關,運輸和保險等部門和單位,他們的應用平台不一致,需要同時訪問多種異構資料庫。使用ODBC技術,設計人員只需要編寫一個程序版本,即可以方問任何資料庫,從而使程序具有更好的兼容性和適應性。2有些應用程序需要防問某種資料庫,就要求程序所在的計算機安裝相應的資料庫軟體。資料庫軟體有的龐大,加之很多單機版要與Web互聯,為此ODBC 提供了一批常用資料庫軟體驅動程序,這樣,計算機上即使沒有安裝相應的資料庫管理系統,但只要安裝了相應的驅動程序,CGI程序就可以防問。應用程序不必關心ODBC與DBMS之間的底層通信協議。

第七章 MYSQL
1.恢復root口令:1停止Mysqld server 服務,在任務管理器中終止MySQL進程。2使用—skop-grant-tables參數啟動mysqld.3使用mysql –h –hostname mysql 命令登陸到mysql server,用grant 命令改變口令;也可以這樣:mysqladmin –h hostname –u user –passwordnew password 。4載入許可權表:mysqladmin –h hostname flush-privileges,或使用SQL 命令FLUSH Privileges(當然也可以重啟Mysql)。 Mysqlmp
2.優化操作系統:不要交換區,不要使用NFS磁碟,增加系統和Mysql伺服器的打開文件數量,增加系統進程和線程的數量,使用支持大文件的文件系統,使用合適的文件系統。

第八章 ORACLE
1.Oracle資料庫的突出優點:1支持大資料庫,多用戶的高性能的事務處理2Oracle遵守數據存取語言,操作系統,用戶介面和網路通信協議的工業標准3實施安全性和完整性控制4支持分式資料庫和分布處理5具有可移植性,可兼容性和可連接性。
2.Oracle 三種訪問資料庫的方法;1用SQL*Plus,他用SQL命令以交互的應用程序訪問資料庫2用第四代語言應用開發工具的應用程序訪問資料庫,SQL*Froms,sql*reportwriter,sql*menu 等,3用第三代語言嵌入的Sql語言或Oracle庫函數調用來訪問。Prol*C。
數據保護也稱數據控制主要包括資料庫的完整性控制,安全性控制,並發控制和恢復。
3.Oracle用下列機制管理資料庫的安全性:存取機制,特權(對象特權,系統特權)和角色,審計(語句審計,特權審計,對象審計)
資料庫不一致類型: 不一致性,不可重讀性,讀臟數據,丟失更改,破壞DDL操作。
4.封鎖:數據封鎖,DDL封鎖,內部封鎖。
5.Oracle使用的結構,當發生故障時保護數據:資料庫後備(完全後備,部分後備),日誌(在線日誌,歸檔日誌),回滾段和控制文件。
6.Oracle資料庫的三種標准備份方法:導出/導入(邏輯備份),冷備份和熱備份(物理備份)。
Exec sql begin declare section
….
Exec sql end declare section;
Exec sql include sqlca ;
Exec sql connect : 用戶名
Indentified by : 口令
定義游標
Exec sql declare 游標名 cursor for
Select 列
From 表;
打開游標
Exec sql open 游標名;
取數據
Exec sql fetch 游標名 into : 變數2,變數3 ..;
關閉游標
Exec sql close 游標名;

❹ 2011年9月計算機三級資料庫技術試題答案

選擇題:DCCBD BCBBD BBAAB BDCAA
BCABA CBCDC BDCBB ADDDD
BBCDA BADDD BCCBD BCBCD
資料庫填空題
1、源程序
2、ADSL
3、1
4、m/2
5、200
6、進程式控制制塊
7、空間
8、當前
9、DBTG
10、用戶自
11、關系
12、對象—關系
13、排他鎖
14、日誌
15、對象
16、二進制數據文件
17、BCNF
18、函數依賴
19、維表
20、數據准備

百分之九十以上的正確率吧

❺ 資料庫選擇題。

11 C 12 B 13 A 14 C 15 D
16 D 17 D 18 B 19 D 20 A
21 D 22 A 23 D 24 C 25 B
打字不易,如滿意,望採納。

❻ 兩個資料庫技術及應用試題

創建資料庫

選擇開始菜單中→程序→【Management SQL Server 2008】→【SQL Server Management Studio】命令,打開【SQL Server Management Studio】窗口,並使用Windows或 SQL Server身份驗證建立連接。

在【對象資源管理器】窗口中展開伺服器,然後選擇【資料庫】節點

右鍵單擊【資料庫】節點,從彈出來的快捷菜單中選擇【新建資料庫】命令。

執行上述操作後,會彈出【新建資料庫】對話框。在對話框、左側有3個選項,分別是【常規】、【選項】和【文件組】。完成這三個選項中的設置會後,就完成了資料庫的創建工作,

在【資料庫名稱】文本框中輸入要新建資料庫的名稱。例如,這里以「新建的資料庫」。

在【所有者】文本框中輸入新建資料庫的所有者,如sa。根據資料庫的使用情況,選擇啟用或者禁用【使用全文索引】復選框。

在【資料庫文件】列表中包括兩行,一行是資料庫文件,而另一行是日記文件。通過單擊下面的【添加】、【刪除】按鈕添加或刪除資料庫文件。

切換到【選項頁】、在這里可以設置資料庫的排序規則、恢復模式、兼容級別和其他屬性。

切換到【文件組】頁,在這里可以添加或刪除文件組。

完成以上操作後,單擊【確定】按鈕關閉【新建資料庫】對話框。至此「新建的數據」資料庫創建成功。新建的資料庫可以再【對象資源管理器】窗口看到。

❼ 計算機三級——資料庫技術選擇題

7次
內存中的數據 缺頁次數
最後的被覆蓋
2 1
3,2 2
2,3
1,2,3 3
5,1,2 4
2,5,1
4,2,5 5
5,4,2
3,5,4 6
2,3,5 7
5,2,3
2,5,3

❽ 求資料庫應用題

資料庫語言的目標

要說清這個目標,先要理解資料庫是做什麼的。

資料庫這個軟體,名字中有個「庫」字,會讓人覺得它主要是為了存儲的。其實不然,資料庫實現的重要功能有兩條:計算、事務!也就是我們常說的 OLAP 和 OLTP,資料庫的存儲都是為這兩件事服務的,單純的存儲並不是資料庫的目標。

我們知道,SQL 是目前資料庫的主流語言。那麼,用 SQL 做這兩件事是不是很方便呢?

事務類功能主要解決數據在寫入和讀出時要保持的一致性,實現這件事的難度並不小,但對於應用程序的介面卻非常簡單,用於操縱資料庫讀寫的代碼也很簡單。如果假定目前關系資料庫的邏輯存儲模式是合理的(也就是用數據表和記錄來存儲數據,其合理性與否是另一個復雜問題,不在這里展開了),那麼 SQL 在描述事務類功能時沒什麼大問題,因為並不需要描述多復雜的動作,復雜性都在資料庫內部解決了。

但計算類功能卻不一樣了。

這里說的計算是個更廣泛的概念,並不只是簡單的加加減減,查找、關聯都可以看成是某種計算。

什麼樣的計算體系才算好呢?

還是兩條:寫著簡單、跑得快。

寫著簡單,很好理解,就是讓程序員很快能寫出來代碼來,這樣單位時間內可以完成更多的工作;跑得快就更容易理解,我們當然希望更短時間內獲得計算結果。

其實 SQL 中的 Q 就是查詢的意思,發明它的初衷主要是為了做查詢(也就是計算),這才是 SQL 的主要目標。然而,SQL 在描述計算任務時,卻很難說是很勝任的。

SQL為什麼不行

先看寫著簡單的問題。

SQL 寫出來很象英語,有些查詢可以當英語來讀和寫(網上多得很,就不舉例了),這應當算是滿足寫著簡單這一條了吧。

且慢!我們在教科書上看到的 SQL 經常只有兩三行,這些 SQL 確實算是寫著簡單的,但如果我們嘗試一些稍復雜化的問題呢?

這是一個其實還不算很復雜的例子:計算一支股票最長連續上漲了多少天?用 SQL 寫出來是這樣的:


  • selectmax(consecutive_day)from(selectcount(*) (consecutive_dayfrom(selectsum(rise_mark) over(orderbytrade_date) days_no_gainfrom(selecttrade_date,case when closing_price>lag(closing_price) over(order by trade_date)then 0 else 1 END rise_markfrom stock_price ) )group by days\_no\_gain)

  • 這個語句的工作原理就不解釋了,反正有點繞,同學們可以自己嘗試一下。

    這是潤乾公司的招聘考題,通過率不足 20%;因為太難,後來被改成另一種方式:把 SQL 語句寫出來讓應聘者解釋它在算什麼,通過率依然不高。

    這說明什麼?說明情況稍有復雜,SQL 就變得即難懂又難寫!

    再看跑得快的問題,還是一個經常拿出來的簡單例子:1 億條數據中取前 10 名。這個任務用 SQL 寫出來並不復雜:

  • SELECTTOP 10x FROMT ORDERBYx DESC

  • 但是,這個語句對應的執行邏輯是先對所有數據進行大排序,然後再取出前 10 個,後面的不要了。大家知道,排序是一個很慢的動作,會多次遍歷數據,如果數據量大到內存裝不下,那還需要外存做緩存,性能還會進一步急劇下降。如果嚴格按這句 SQL 體現的邏輯去執行,這個運算無論如何是跑不快的。然而,很多程序員都知道這個運算並不需要大排序,也用不著外存緩存,一次遍歷用一點點內存就可以完成,也就是存在更高性能的演算法。可惜的是,用 SQL 卻寫不出這樣的演算法,只能寄希望於資料庫的優化器足夠聰明,能把這句 SQL 轉換成高性能演算法執行,但情況復雜時資料庫的優化器也未必靠譜。

    看樣子,SQL 在這兩方面做得都不夠好。這兩個並不復雜的問題都是這樣,現實中數千行的 SQL 代碼中,這種難寫且跑不快的情況比比皆是。

    為什麼 SQL 不行呢?

    要回答這個問題,我們要分析一下用程序代碼實現計算到底是在干什麼。

    本質上講,編寫程序的過程,就是把解決問題的思路翻譯成計算機可執行的精確化形式語言的過程。舉例來說,就象小學生解應用題,分析問題想出解法之後,還要列出四則運算表達式。用程序計算也是一樣,不僅要想出解決問題的方法,還要把解法翻譯成計算機能理解執行的動作才算完成。

    用於描述計算方法的形式語言,其核心在於所採用的代數體系。所謂代數體系,簡單說就是一些數據類型和其上的運算規則,比如小學學到的算術,就是整數和加減乘除運算。有了這套東西,我們就能把想做的運算用這個代數體系約定的符號寫出來,也就是代碼,然後計算機就可以執行了。

    如果這個代數體系設計時考慮不周到,提供的數據類型和運算不方便,那就會導致描述演算法非常困難。這時候會發生一個怪現象:翻譯解法到代碼的難度遠遠超過解決問題本身。

    舉個例子,我們從小學慣用阿拉伯數字做日常計算,做加減乘除都很方便,所有人都天經地義認為數值運算就該是這樣的。其實未必!估計很多人都知道還有一種叫做羅馬數字的東西,你知道用羅馬數字該怎麼做加減乘除嗎?古羅馬人又是如何上街買菜的?

    代碼難寫很大程度是代數的問題。

    再看跑不快的原因。

    軟體沒辦法改變硬體的性能,CPU 和硬碟該多快就是多快。不過,我們可以設計出低復雜度的演算法,也就是計算量更小的演算法,這樣計算機執行的動作變少,自然也就會快了。但是,光想出演算法還不夠,還要把這個演算法用某種形式語言寫得出來才行,否則計算機不會執行。而且,寫起來還要比較簡單,都要寫很長很麻煩,也沒有人會去用。所以呢,對於程序來講,跑得快和寫著簡單其實是同一個問題,背後還是這個形式語言採用的代數的問題。如果這個代數不好,就會導致高性能演算法很難實現甚至實現不了,也就沒辦法跑得快了。就象上面說的,用 SQL 寫不出我們期望的小內存單次遍歷演算法,能不能跑得快就只能寄希望於優化器。

    我們再做個類比:

    上過小學的同學大概都知道高斯計算 1+2+3+…+100 的小故事。普通人就是一步步地硬加 100 次,高斯小朋友很聰明,發現 1+100=101、2+99=101、…、50+51=101,結果是 50 乘 101,很快算完回家午飯了。

    聽過這個故事,我們都會感慨高斯很聰明,能想到這么巧妙的辦法,即簡單又迅速。這沒有錯,但是,大家容易忽略一點:在高斯的時代,人類的算術體系(也是一個代數)中已經有了乘法!象前面所說,我們從小學習四則運算,會覺得乘法是理所當然的,然而並不是!乘法是後於加法被發明出來的。如果高斯的年代還沒有乘法,即使有聰明的高斯,也沒辦法快速解決這個問題。

    目前主流資料庫是關系資料庫,之所以這么叫,是因為它的數學基礎被稱為關系代數,SQL 也就是關系代數理論上發展出來的形式語言。

    現在我們能回答,為什麼 SQL 在期望的兩個方面做得不夠好?問題出在關系代數上,關系代數就像一個只有加法還沒發明乘法的算術體系,很多事做不好是必然的。

    關系代數已經發明五十年了,五十年前的應用需求以及硬體環境,和今天比的差異是很巨大了,繼續延用五十年前的理論來解決今天的問題,聽著就感覺太陳舊了?然而現實就是這樣,由於存量用戶太多,而且也還沒有成熟的新技術出現,基於關系代數的 SQL,今天仍然是最重要的資料庫語言。雖然這幾十年來也有一些改進完善,但根子並沒有變,面對當代的復雜需求和硬體環境,SQL 不勝任也是情理之中的事。

    而且,不幸的是,這個問題是理論上的,在工程上無論如何優化也無濟於事,只能有限改善,不能根除。不過,絕大部分的資料庫開發者並不會想到這一層,或者說為了照顧存量用戶的兼容性,也沒打算想到這一層。於是,主流資料庫界一直在這個圈圈裡打轉轉。

    SPL為什麼能行

    那麼該怎樣讓計算寫著更簡單、跑得更快呢?

    發明新的代數!有「乘法」的代數。在其基礎上再設計新的語言。

    這就是 SPL 的由來。它的理論基礎不再是關系代數,稱為離散數據集。基於這個新代數設計的形式語言,起名為SPL(Structured Process Language)。

    SPL 針對 SQL 的不足(更確切地說法是,離散數據集針對關系代數的各種缺陷)進行了革新。SPL 重新定義了並擴展許多結構化數據中的運算,增加了離散性、強化了有序計算、實現了徹底的集合化、支持對象引用、提倡分步運算。

    限於篇幅,這里不能介紹 SPL(離散數據集)的全貌。我們在這里列舉 SPL(離散數據集)針對 SQL(關系代數)的部分差異化改進:

    游離記錄

    離散數據集中的記錄是一種基本數據類型,它可以不依賴於數據表而獨立存在。數據表是記錄構成的集合,而構成某個數據表的記錄還可以用於構成其它數據表。比如過濾運算就是用原數據表中滿足條件的記錄構成新數據表,這樣,無論空間佔用還是運算性能都更有優勢。

    關系代數沒有可運算的數據類型來表示記錄,單記錄實際上是只有一行的數據表,不同數據表中的記錄也不能共享。比如,過濾運算時會復制出新記錄來構成新數據表,空間和時間成本都變大。

    特別地,因為有游離記錄,離散數據集允許記錄的欄位取值是某個記錄,這樣可以更方便地實現外鍵連接。

    有序性

    關系代數是基於無序集合設計的,集合成員沒有序號的概念,也沒有提供定位計算以及相鄰引用的機制。SQL 實踐時在工程上做了一些局部完善,使得現代 SQL 能方便地進行一部分有序運算。

    離散數據集中的集合是有序的,集合成員都有序號的概念,可以用序號訪問成員,並定義了定位運算以返回成員在集合中的序號。離散數據集提供了符號以在集合運算中實現相鄰引用,並支持針對集合中某個序號位置進行計算。

    有序運算很常見,卻一直是 SQL 的困難問題,即使在有了窗口函數後仍然很繁瑣。SPL 則大大改善了這個局面,前面那個股票上漲的例子就能說明問題。

    離散性與集合化

    關系代數中定義了豐富的集合運算,即能將集合作為整體參加運算,比如聚合、分組等。這是 SQL 比 Java 等高級語言更為方便的地方。

    但關系代數的離散性非常差,沒有游離記錄。而 Java 等高級語言在這方面則沒有問題。

    離散數據集則相當於將離散性和集合化結合起來了,既有集合數據類型及相關的運算,也有集合成員游離在集合之外單獨運算或再組成其它集合。可以說 SPL 集中了 SQL 和 Java 兩者的優勢。

    有序運算是典型的離散性與集合化的結合場景。次序的概念只有在集合中才有意義,單個成員無所謂次序,這里體現了集合化;而有序計算又需要針對某個成員及其相鄰成員進行計算,需要離散性。

    在離散性的支持下才能獲得更徹底的集合化,才能解決諸如有序計算類型的問題。

    離散數據集是即有離散性又有集合化的代數體系,關系代數只有集合化。

    分組理解

    分組運算的本意是將一個大集合按某種規則拆成若干個子集合,關系代數中沒有數據類型能夠表示集合的集合,於是強迫在分組後做聚合運算。

    離散數據集中允許集合的集合,可以表示合理的分組運算結果,分組和分組後的聚合被拆分成相互獨立的兩步運算,這樣可以針對分組子集再進行更復雜的運算。

    關系代數中只有一種等值分組,即按分組鍵值劃分集合,等值分組是個完全劃分。

    離散數據集認為任何拆分大集合的方法都是分組運算,除了常規的等值分組外,還提供了與有序性結合的有序分組,以及可能得到不完全劃分結果的對位分組。

    聚合理解

    關系代數中沒有顯式的集合數據類型,聚合計算的結果都是單值,分組後的聚合運算也是這樣,只有 SUM、COUNT、MAX、MIN 等幾種。特別地,關系代數無法把 TOPN 運算看成是聚合,針對全集的 TOPN 只能在輸出結果集時排序後取前 N 條,而針對分組子集則很難做到 TOPN,需要轉變思路拼出序號才能完成。

    離散數據集提倡普遍集合,聚合運算的結果不一定是單值,仍然可能是個集合。在離散數據集中,TOPN 運算和 SUM、COUNT 這些是地位等同的,即可以針對全集也可以針對分組子集。

    SPL 把 TOPN 理解成聚合運算後,在工程實現時還可以避免全量數據的排序,從而獲得高性能。而 SQL 的 TOPN 總是伴隨 ORDER BY 動作,理論上需要大排序才能實現,需要寄希望於資料庫在工程實現時做優化。

    有序支持的高性能

    離散數據集特別強調有序集合,利用有序的特徵可以實施很多高性能演算法。這是基於無序集合的關系代數無能為力的,只能寄希望於工程上的優化。

    下面是部分利用有序特徵後可以實施的低復雜度運算:

    1) 數據表對主鍵有序,相當於天然有一個索引。對鍵欄位的過濾經常可以快速定位,以減少外存遍歷量。隨機按鍵值取數時也可以用二分法定位,在同時針對多個鍵值取數時還能重復利用索引信息。

    2) 通常的分組運算是用 HASH 演算法實現的,如果我們確定地知道數據對分組鍵值有序,則可以只做相鄰對比,避免計算 HASH 值,也不會有 HASH 沖突的問題,而且非常容易並行。

    3) 數據表對鍵有序,兩個大表之間對位連接可以執行更高性能的歸並演算法,只要對數據遍歷一次,不必緩存,對內存佔用很小;而傳統的 HASH 值分堆方法不僅比較復雜度高,需要較大內存並做外部緩存,還可能因 HASH 函數不當而造成二次 HASH 再緩存。

    4) 大表作為外鍵表的連接。事實表小時,可以利用外鍵表有序,快速從中取出關聯鍵值對應的數據實現連接,不需要做 HASH 分堆動作。事實表也很大時,可以將外鍵表用分位點分成多個邏輯段,再將事實表按邏輯段進行分堆,這樣只需要對一個表做分堆,而且分堆過程中不會出現 HASH 分堆時的可能出現的二次分堆,計算復雜度能大幅下降。

    其中 3 和 4 利用了離散數據集對連接運算的改造,如果仍然延用關系代數的定義(可能產生多對多),則很難實現這種低復雜的演算法。

    除了理論上的差異, SPL 還有許多工程層面的優勢,比如更易於編寫並行代碼、大內存預關聯提高外鍵連接性能等、特有的列存機制以支持隨意分段並行等。

    再把前面的問題用 SPL 重寫一遍有個直接感受。

    一支股票最長連續上漲多少天:

  • stock_price.sort(trade_date).group@o(closing_price

  • 計算思路和前面的 SQL 相同,但因為引入了有序性後,表達起來容易多了,不再繞了。

    1 億條數據中取前 10 名:

  • T.groups(;top(-10,x))

  • SPL 有更豐富的集合數據類型,容易描述單次遍歷上實施簡單聚合的高效演算法,不涉及大排序動作。

    這里還有更多 SPL 代碼以體現其思路及大數據演算法:

    重磅!開源SPL交流群成立了

    簡單好用的SPL開源啦!

    為了給感興趣的小夥伴們提供一個相互交流的平台,

    特地開通了交流群(群完全免費,不廣告不賣課)

    需要進群的朋友,可長按掃描下方二維碼

❾ 資料庫技術試題

真題網http://www.pass-e.com
計算機等級考試三級資料庫技術歷年真題打包http://www.pass-e.com/article.php?articleid=5179

下載
http://www.pass-e.com/d.php?url=三級資料庫技術.rar

❿ 幾個資料庫技術及應用題目

單選題 1.下面哪個不是資料庫技術的主要特點 (D)
A.數據的結構化 B.數據的冗餘度小 C.較高的數據獨立性 D.程序的標准化
2.下列敘述正確的為(B)
A.關系中允許有重復的元組,也允許有重復的屬性名
B.關系中允許有重復的元組,不允許有重復的屬性名
C.關系中不允許有重復的元組,允許有重復的屬性名
D.關系中不允許有重復的元組,也不允許有重復的屬性名
3.如果兩個實體之間的聯系是1:M,則實現l:M聯系的方法是 (C)
A.將兩個實體轉換成一個關系
B.將兩個實體轉換的關系中,分別加入另一個關系的主碼。
C.將「1」端實體轉換的關系的主碼,放入「M」端實體轉換的關系中
D.將「M」端實體轉換的關系的主碼,放入「1」端實體轉換的關系中
4.SQL的標准庫函數COUNT,SUM,AVG,MAX與MIN等,不允許出現在下列語句 (D)中 A.SEIECT
B.HAVING C.GROUP……HAVING D.WHERE
填空題
1、班級和學生之間的聯系是(一對多)聯系,班級和班長之間的聯系是( 一對一 )聯系,學生和課程之間的
聯系是( 多對多 )聯系。
2、在資料庫的三級模式結構中,外模式有( 多個 ),模式和內模式只有( 一個 )。
3、DB的含義是( 資料庫 ),DBS的含義是( 資料庫系統 ),DBMS的含義是( 資料庫管理系統 )。
簡答題:
1、SQL Server中的語句許可權的含義及內容。
語句許可權主要指用戶是否具有許可權來執行某一語句,這些語句通常是一些具有管理性的操作,如創建資料庫、表、存儲過程、觸發器等。
2、SQL Server中資料庫和應用程序的安全機制有哪四種?
用戶標識與鑒別;存取控制;視圖機制;審計機制等
3、事務故障的恢復方法。
反向掃描日誌文件,查找該事務的更新操作;對該事務的更新操作進行逆向操作;繼續反向掃描日誌文件,查找該事務的其他更新操作並逆向操作;繼續處理,直到事務的開始標記。
4、E-R圖設計中,合並分E-R圖時可能產生的沖突及解決辦法。
沖突主要有三種:屬性沖突、命名沖突和結構沖突。屬性沖突需要靠各部門協商討論解決,但也非易事;命名沖突通常也像處理屬性沖突一樣,通過討論協商等行政手段進行解決;結構沖突主要是根據應用的語義對實體聯系
的類型進行綜合或調整。
5、事務的四個性質。
(1)原子性(Atomicity)
事務的原子性是指事務中包含的所有操作要麼全做,要麼全不做(all or none)。
(2) 一致性(Consistency)在事務開始以前,資料庫處於一致性的狀態,事務結束後,資料庫也必須處於一致性狀態。 事務應該把資料庫從一個一致性狀態轉換到另外一個一致性狀態。
(3) 隔離性(Isolation)事務隔離性要求系統必須保證事務不受其他並發執行的事務的影響,也即要達到這樣一種效果:對於任何一對事務T1 和 T2,在事務 T1 看來,T2 要麼在 T1 開始之前已經結束,要麼在 T1 完成之
後才開始執行。這樣,每個事務都感覺不到系統中有其他事務在並發地執行。
(4)持久性(Durability)一個事務一旦成功完成,它對資料庫的改變必須是永久的,即便是在系統遇到故障的情況下也不會丟失。數據的重要性決定了事務持久性的重要性。
6、有兩個實體集,若它們之間存在著一個M:N聯系、1:M聯系和1:1聯系,根據ER模型轉換成關系資料庫的規則,這個ER結構轉換成表的個數分別是多少?
M:N聯系:三個表,1:M聯系:兩個表,1:1聯系:兩個表
7、舉例說明參照完整性規則中對外碼有何要求。
若屬性F是基本關系R的外碼,它與基本關系S的主碼KS相對應,則對於R中每一元組在F上的值必須為:或者為空,或者等於S中某個元組的主碼值。比如:學生關系中每個元組的專業號屬性只能取下面兩類值:空值,表示未給該
學生分配專業;非空值,這時該值必須是專業關系中某個元組的專業號值。
8、舉例說明SQL Server中有哪3類觸發器。
INSERT觸發器、UPDATE觸發器和DELETE觸發器 (不再舉例)
SQL語言設計題
將借書日期在2006年4月以前的借閱記錄存入臨時的超期借閱表。
select * into #超期借閱表 from 借閱記錄表 where 日期<'2006-04-01'
設有如下三個關系模式,用SQL語句完成:
學生(學號,姓名,性別,年齡,專業)
課程(課程號,課程名,學分,先行課)
選課(學號,課程號,任課教師,成績)
1、創建電子商務專業學生成績視圖,屬性包括學號、姓名、課程名和成績。
create view '電子商務專業學生成績視圖' as
select s.學號,s.姓名,c.課程名,s_c.成績 from table 學生 s,課程 c,選課 s_c where
s.學號=s_c.學號 and s_c.課程號=c.課程號 and s.專業='電子商務'
2、創建計算機應用專業的學生成績統計視圖,屬性包括學號、姓名、總成績和平均成績。
create view 『計算機專業學生成績統計視圖』 as
select s.學號,s.姓名,sum(成績),avg(成績) from 學生 s,選課 s_c
where s.學號=s_c.學號 and 專業='計算機應用'
group by 學號,姓名
3、查詢沒有成績的學生的學號、姓名和課程號。
select distinct s.學號,s.姓名,s_c.課程號 from s,s_c where s.學號=s_c.學號 where s_c.成績=0
4、查詢選修課程號為001且成績為最好的學生的學號、姓名和成績
select s.學號,s.姓名,max(s_c.成績) from 學生 s,選課 s_c where s.學號=s_c.學號 and s_c.課程號=『001』
5、查詢至少選修了二門及二門以上課程的學生的學號
select 學號 from 選課表 group by 學號 having count(*)>=2