同濟(jì)大學(xué)數(shù)據(jù)庫期末復(fù)習(xí)_第1頁
同濟(jì)大學(xué)數(shù)據(jù)庫期末復(fù)習(xí)_第2頁
同濟(jì)大學(xué)數(shù)據(jù)庫期末復(fù)習(xí)_第3頁
同濟(jì)大學(xué)數(shù)據(jù)庫期末復(fù)習(xí)_第4頁
同濟(jì)大學(xué)數(shù)據(jù)庫期末復(fù)習(xí)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

數(shù)據(jù)庫技術(shù)與應(yīng)用復(fù)習(xí)課知識要點(diǎn)設(shè)計數(shù)據(jù)庫管理數(shù)據(jù)庫應(yīng)用數(shù)據(jù)庫數(shù)據(jù)庫技術(shù)的基本概念數(shù)據(jù)模型三要素數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)操作

DDL

DML

DCL完整性約束數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫管理員操作系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫數(shù)據(jù)庫應(yīng)用程序用戶應(yīng)用程序開發(fā)人員DBSDBMSOSDBDBA數(shù)據(jù)庫體系結(jié)構(gòu)外模式模式內(nèi)模式外模式/模式映射模式/內(nèi)模式映射數(shù)據(jù)物理獨(dú)立性數(shù)據(jù)邏輯獨(dú)立性設(shè)計數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫的基本過程概念模式的設(shè)計方法E-R圖邏輯模式的設(shè)計E-R圖轉(zhuǎn)換為關(guān)系模式(1:1,1:n,m:n,子類)規(guī)范化處理(1NF→2NF→3NF→BCNF)CREATETABLE命令物理模式的設(shè)計管理數(shù)據(jù)庫數(shù)據(jù)查詢關(guān)系代數(shù)∪、∩、-、σ、∞、π、

SQL語言(insert、deleteupdateselect)難點(diǎn):全集與否定數(shù)據(jù)庫保護(hù)完整性控制安全性控制并發(fā)控制數(shù)據(jù)庫維護(hù)Create

TableTriggerRule三種異常狀態(tài)事務(wù)的ACID性封鎖機(jī)制常用的安全控制策略:用戶登錄密碼視圖存取控制角色實(shí)體完整性參照完整性域完整性用戶自定義完整性管理數(shù)據(jù)庫管理數(shù)據(jù)庫的常用技術(shù)存儲過程無參數(shù)輸入?yún)?shù)輸出參數(shù)觸發(fā)器Insert--inserteddelete--deletedupdate-inserted、deleted

對關(guān)系s(snum,sname,sex,age)設(shè)計輸入觸發(fā)器,其功能為當(dāng)用戶輸入學(xué)生記錄時對性別進(jìn)行完整性控制,即當(dāng)輸入值超出“男”、“女”范圍時,顯示“性別輸入有誤”,否則報“性別錄入成功!”。觸發(fā)器舉例方法總結(jié):1.從inserted表中獲得條件,然后對條件直接進(jìn)行判斷處理;2.從inserted表中獲得條件,然后用SQL語言進(jìn)行條件查詢。3.從deleted表中獲取信息的處理與inserted類似。CREATETRIGGERs_sexONsFORINSERTASBEGINDECLARE@_sexchar(2)SELECT@_sex=sex,@_age=ageFROMinsertedIF@_sexnotin('男','女')BEGINPRINT'性別輸入有誤!'ROLLBACKENDELSEBEGINPRINT

'性別錄入成功!'COMMITENDENDDECLARE@_ageintSELECT@_age=i.ageFROMinsertediIF@_age>=12and@_age<=45BEGIN

PRINT'年齡錄入成功!'COMMIT

ENDELSEBEGINPRINT'年齡輸入有誤!'ROLLBACKEND多個條件如何表達(dá)?

對關(guān)系SC(snum,cnum,score)設(shè)計輸入觸發(fā)器,其功能為當(dāng)用戶輸入學(xué)生選課成績記錄時,對分?jǐn)?shù)進(jìn)行完整性控制,即當(dāng)輸入值超出

0~100范圍時,顯示“分?jǐn)?shù)輸入有誤”,否則報“成績錄入成功!”。思考題DECLARE@_scoreintSELECT@_score=scoreFROMinsertedIF(@_score>100OR@_score<0)BEGINPRINT‘分?jǐn)?shù)輸入有誤!'ROLLBACKENDELSEBEGINPRINT‘成績錄入成功!'COMMITENDPRINT

‘事物處理完畢!'INSERT錯誤記錄時的運(yùn)行結(jié)果?

對關(guān)系:產(chǎn)品﹙產(chǎn)品號,產(chǎn)品名稱,單價,產(chǎn)地﹚設(shè)計存儲過程,其功能為查找指定地區(qū)的產(chǎn)品信息。例如:查詢山東生產(chǎn)的產(chǎn)品信息。

存儲過程舉例CREATEPROCproducts_info@_areachar(10)ASSELECT*FROM產(chǎn)品WHERE產(chǎn)地LIKE‘%’+@_area+‘%’

對關(guān)系:產(chǎn)品﹙產(chǎn)品號,產(chǎn)品名稱,單價,產(chǎn)地﹚設(shè)計存儲過程,其功能為查找指定產(chǎn)品號的產(chǎn)品名稱。

CREATEPROCproducts_info@_pnumchar(8),@_pname

varchar(30)outputASSELECT@_pname=產(chǎn)品名稱FROM產(chǎn)品WHERE產(chǎn)品號LIKE‘%’+@_pnum+‘%’注意多種查詢條件的表達(dá)!存儲過程舉例應(yīng)用數(shù)據(jù)庫—ADO.NETADO.NET的數(shù)據(jù)讀操作

SqlCommand

ExcecuteReader

ExcecuteScalarSqlAdapterSqlAdapter.Fill()ADO.NET的數(shù)據(jù)寫操作

SqlCommandExcecuteNonQuerySqlAdapterSqlAdapter.Update()對于關(guān)系sc(snum,cnum,score),首先將課程號填充到ComboBox1,然后根據(jù)ComboBox1的不同選擇,在DataGrid1顯示指定課程的課程號、最高成績、最低成績。PrivateSubForm3_Load(…)HandlesMyBase.LoadDimmyconnAsSqlConnection=NewSqlConnection("DataSource=naonao;IntegratedSecurity=SSPI;InitialCatalog=tjdb")DimmycmdAsNewSqlCommandmycmd.Connection=myconnmycmd.CommandText="selectdistinctcnumfromsc"DimmyadapterAsSqlDataAdapter=NewSqlDataAdapter(mycmd)DimmydatasetAsNewDataSetmyadapter.Fill(mydataset,"課程號")Me.ComboBox1.DataSource=mydataset.Tables("課程號")Me.ComboBox1.DisplayMember="cnum"EndSubDimmytableasnewDataTableMyadapter.Fill(mytable)ComboBox值的初始化處理PrivateSubComboBox1_SelectedIndexChanged(…)Handles…DimmyconnAsSqlConnection=NewSqlConnection("DataSource=.;IntegratedSecurity=SSPI;InitialCatalog=tjdb")DimmysqlAsStringmysql="selectdistinctcnumas課程號,max(score)as最高成績,min(score)as最低成績fromscwherecnum='"&Trim(Me.ComboBox1.Text)&"'groupbycnum"DimmyadapterAsSqlDataAdapter=NewSqlDataAdapter(mysql,myconn)DimmydatasetAsNewDataSetmyadapter.Fill(mydataset,"成績匯總")Me.DataGrid1.DataSource=mydataset.Tables("成績匯總")Me.DataGrid1.CaptionText=""+Trim(Me.ComboBox1.Text)+"課程的最高&最低成績"EndSubDataGrid值的填充課程號PrivateSubForm1_Load(……)HandlesMyBase.LoadDimsqlAsString="selectavg(score)fromsc"DimmyconnAsNewSqlConnection("InitialCatalog=學(xué)生選課;DataSource=.;IntegratedSecurity=SSPI;")DimmycmdAsNewSqlCommand(sql,myconn)

DimavgAsInteger=0myconn.Open()avg=mycmd.ExecuteScalar()myconn.Close()MsgBox("平均成績="&avg) EndSubSqlCommand的三種執(zhí)行方式SQL_insert命令的執(zhí)行PrivateSubButton1_Click(…)HandlesButton1.ClickDimmyconn=NewSqlConnection("integratedsecurity=SSPI;datasource=.;initialcatalog=tjdb")DimmysqlAsString="insertintoscvalues('"&Me.TextBox1.Text&"','"&Me.TextBox2.Text&"',"&Val(Me.TextBox3.Text)&")"DimmycmdAsNewSqlCommand(mysql,myconn)myconn.open()mycmd.ExecuteNonQuery()myconn.close()EndSub存儲過程的調(diào)用PrivateSubButton1_Click(…)HandlesButton1.Click

DimmyconnAsNewSqlConnection(“DataSource=.;

Initial

Catalog=university;IntegratedSecurity=True;")DimavgAsIntegerDimmycmdAsNew

SqlCommand("avg_of_snum",myconn)mycmd.CommandType=CommandType.StoredProcedureDim_snumAsNewSqlParameter("@_snum",SqlDbType.NChar,4)mycmd.Parameters.Add(_snum)_snum.Value=TextBox1.Textmyconn.Open()

avg=mycmd.ExecuteScalar()

MsgBox(avg)

myconn.Close()EndSub存儲過程的調(diào)用PrivateSubButton2_Click(…)HandlesButton2.ClickDimmyconnAsNewSqlConnection("DataSource=.;InitialCata

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論