數(shù)據(jù)庫(kù)設(shè)計(jì)課件_第1頁(yè)
數(shù)據(jù)庫(kù)設(shè)計(jì)課件_第2頁(yè)
數(shù)據(jù)庫(kù)設(shè)計(jì)課件_第3頁(yè)
數(shù)據(jù)庫(kù)設(shè)計(jì)課件_第4頁(yè)
數(shù)據(jù)庫(kù)設(shè)計(jì)課件_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第二章數(shù)據(jù)庫(kù)的實(shí)現(xiàn)回顧在需求分分析階段段,設(shè)計(jì)計(jì)數(shù)據(jù)庫(kù)庫(kù)的一般般步驟為為?實(shí)體的映映射關(guān)系系有哪些些?請(qǐng)簡(jiǎn)要說說明三大大范式的的含義??2目標(biāo)掌握建庫(kù)庫(kù)的SQL語(yǔ)句掌握建表表的SQL語(yǔ)句掌握加約約束的SQL語(yǔ)句掌握創(chuàng)建建安全帳帳戶的SQL語(yǔ)句3回顧數(shù)據(jù)據(jù)庫(kù)的基基礎(chǔ)知識(shí)識(shí)數(shù)據(jù)庫(kù)文文件的組組成:主數(shù)據(jù)文文件:**.mdf次要數(shù)據(jù)據(jù)文件::*.ndf日志文件件:*..ldf數(shù)據(jù)庫(kù)的的其他屬屬性:文件存放放位置,,分配的的初始空空間,屬屬于哪個(gè)個(gè)文件組組文件增長(zhǎng)長(zhǎng):可以以按百分分比或?qū)崒?shí)際大小小指定增增長(zhǎng)速度度文件容量量設(shè)置::可以指指定文件件增長(zhǎng)的的最大值值或不受受限4創(chuàng)建數(shù)據(jù)據(jù)庫(kù)CREATEDATABASE數(shù)據(jù)庫(kù)名名ON[[PRIMARY](<數(shù)據(jù)文件件參數(shù)>[,…n][[<<文件組參參數(shù)>])[LOGON](<日志文件件參數(shù)>[,…n])T-SQL創(chuàng)建建數(shù)據(jù)庫(kù)庫(kù)的語(yǔ)法法:主文件組組,可選選參數(shù),,默認(rèn)5創(chuàng)建數(shù)據(jù)據(jù)庫(kù)示例例1CREATEDATABASEstuDBONPRIMARY--默認(rèn)認(rèn)就屬于于PRIMARY主文文件組,,可省略略(NAME='stuDB_data',---主數(shù)據(jù)文文件的邏邏輯名FILENAME='D::\project\\stuDB_data.mdf',---主數(shù)據(jù)文文件的物物理名SIZE=5mb,---主數(shù)據(jù)文文件初始始大小MAXSIZE=100mb,,---主數(shù)據(jù)文文件增長(zhǎng)長(zhǎng)的最大大值FILEGROWTH=15%%---主數(shù)據(jù)文文件的增增長(zhǎng)率)LOGON(NAME='stuDB_log',FILENAME='D::\project\\stuDB_log..ldf',SIZE=2mb,FILEGROWTH=1MB)GO

數(shù)據(jù)文件件的具體體描述日志文件件的具體體描述演示創(chuàng)建建數(shù)據(jù)庫(kù)庫(kù)1:一個(gè)數(shù)數(shù)據(jù)文件件和一個(gè)個(gè)日志文文件6創(chuàng)建數(shù)據(jù)據(jù)庫(kù)示例例2CREATEDATABASEemployeesON(/*-主數(shù)據(jù)文文件的具具體描述述-*/NAME=''employee1',,FILENAME=='D:\project\employee1_Data.mdf',,SIZE=10,,FILEGROWTH=10%%),(/*-次要數(shù)據(jù)據(jù)文件的的具體描描述-*/NAME='employee2'',FILENAME='D:\project\employee2_Data.ndf',,SIZE=20,MAXSIZE=100,FILEGROWTH=1)LOGON(/*-日日志文件件1的具具體描述述-*//NAME='employeelog1'',FILENAME='D:\project\employeelog1_Log..ldf',,SIZE=10,FILEGROWTH=1),(/*-日日志文件件2的具具體描述述-*//NAME='employeelog2'',FILENAME='D:\project\employeelog2_Log..ldf',,SIZE=10,MAXSIZE=50,FILEGROWTH=1

)GO演示創(chuàng)建建數(shù)據(jù)庫(kù)庫(kù)2:多個(gè)數(shù)數(shù)據(jù)文件件和多個(gè)個(gè)日志文文件7刪除數(shù)據(jù)據(jù)庫(kù)如果SQLServer中已存在在數(shù)據(jù)庫(kù)庫(kù)stuDB,運(yùn)行下下列語(yǔ)句句,會(huì)出出現(xiàn)什么么問題??CREATEDATABASEstuDBON(.....)LOGON(.....)GO演示:再再次運(yùn)行行示例18USEmaster---設(shè)置當(dāng)前前數(shù)據(jù)庫(kù)庫(kù)為master,以以便訪問問sysdatabases表GOIFEXISTS(SELECT*FROMsysdatabasesWHEREname=='stuDB')DROPDATABASEstuDBCREATEDATABASEstuDBON((…..)LOGON(…)GO刪除數(shù)據(jù)據(jù)庫(kù)刪除數(shù)據(jù)據(jù)庫(kù)的語(yǔ)語(yǔ)法:DROPDATABASE數(shù)據(jù)庫(kù)名名EXISTS()語(yǔ)句句:檢測(cè)是否否存在stuDB數(shù)據(jù)庫(kù)如果存在在stuDB數(shù)據(jù)庫(kù),,則刪除除9回顧表的的基礎(chǔ)知知識(shí)建表的基基本步驟驟:確定表中中有哪些些列確定每列列的數(shù)據(jù)據(jù)類型給表添加加各種約約束創(chuàng)建各表表之間的的關(guān)系SQLServer中的數(shù)數(shù)據(jù)類型型整型數(shù)據(jù)據(jù):intsmallint浮點(diǎn)數(shù)據(jù)據(jù):floatnumeric……字符數(shù)據(jù)據(jù)固定長(zhǎng)度度:char(6))可變長(zhǎng)度度:varchar((10))unicode編碼:nchar(10)……布爾數(shù)據(jù)據(jù)(真/假)bit::1//0貨幣數(shù)據(jù)據(jù)money日期數(shù)據(jù)據(jù)datetime10創(chuàng)建表建表的語(yǔ)語(yǔ)法CREATETABLE表名(字段1數(shù)據(jù)類型型列的的特征,,字段2數(shù)據(jù)類型型列的的特征,,...)列的特征征:包括該列列是是否否為空((NULL)、是否否是標(biāo)識(shí)識(shí)列(自自動(dòng)編號(hào)號(hào))、是是否有默默認(rèn)值、、是否為為主鍵等等。11建表示例例1USEstuDB--將當(dāng)前數(shù)數(shù)據(jù)庫(kù)設(shè)設(shè)置為stuDBGOCREATETABLEstuInfo/*-創(chuàng)建學(xué)員員信息表表-*/(stuNameVARCHAR(20)NOTNULL,--姓名,非非空(必必填)stuNoCHAR(6))NOTNULL,,--學(xué)號(hào),非非空(必必填)stuAgeINTNOTNULL,--年齡齡,INT類型型默認(rèn)為為4個(gè)字字節(jié)stuIDNUMERIC(18,0)),--身份證號(hào)號(hào)stuSeatSMALLINTIDENTITY((1,1),--座位號(hào),,自動(dòng)編編號(hào)stuAddressTEXT--住址,允允許為空空,即可可選輸入入)GONUMERIC(18,0)代表18位數(shù)字字,小數(shù)數(shù)位數(shù)為為0演示:創(chuàng)創(chuàng)建學(xué)員員信息表表stuInfoIDENTITY(起始值值,遞增增量)12建表示例例2CREATETABLEstuMarks(ExamNoCHAR(7))NOTNULL,----考號(hào)stuNoCHAR(6))NOTNULL,---學(xué)號(hào)writtenExamINTNOTNULL,---筆試成績(jī)績(jī)LabExamINTNOTNULL----機(jī)試成績(jī)績(jī))GO演示:創(chuàng)創(chuàng)建學(xué)員員成績(jī)表表stuMarks13刪除表如果當(dāng)前前數(shù)據(jù)庫(kù)庫(kù)中已存存在stuInfo表表,再次次創(chuàng)建時(shí)時(shí)系統(tǒng)將將提示出出錯(cuò)。。如何解解決呢??14刪除表刪除表的的語(yǔ)法::DROPTABLE表名USEstuDB--將當(dāng)前數(shù)數(shù)據(jù)庫(kù)設(shè)設(shè)置為stuDB,以便在stuDB數(shù)據(jù)據(jù)庫(kù)中建建表GOIFEXISTS((SELECT*FROMsysobjectsWHEREname=’’stuInfo’)DROPTABLEstuInfoCREATETABLEstuInfo/*-創(chuàng)建學(xué)員員信息表表-*/(…..)GO15回顧SQLServer的的約束約束的目目的:確確保表中中數(shù)據(jù)的的完整型型常用的約約束類型型:主鍵約束束(PrimaryKeyConstraint)):要求求主鍵列列數(shù)據(jù)唯唯一,并并且不允允許為空空唯一約束束(UniqueConstraint):要要求該列列唯一,,允許為為空,但但只能出出現(xiàn)一個(gè)個(gè)空值。。檢查約束束(CheckConstraint)):某列列取值范范圍限制制、格式式限制等等,如有有關(guān)年齡齡的約束束默認(rèn)約束束(DefaultConstraint)::某列的的默認(rèn)值值,如我我們的男男性學(xué)員員較多,,性別默默認(rèn)為““男”外鍵約束束(ForeignKeyConstraint)):用于于兩表間間建立關(guān)關(guān)系,需需要指定定引用主主表的那那列16添加約束束添加約束束的語(yǔ)法法:ALTERTABLE表名ADDCONSTRAINT約束名約約束束類型具具體體的約束束說明約束名的的取名規(guī)規(guī)則推薦薦采用::約束類類型_約束字段段主鍵(PrimaryKey)約束::如PK_stuNo唯一(UniqueKey)約束::如UQ_stuID默認(rèn)(DefaultKey)約束::如DF_stuAddress檢查(CheckKey)約束::如CK_stuAge外鍵(ForeignKey))約束:如如FK_stuNo17添加約束束示例ALTERTABLEstuInfoADDCONSTRAINTPK_stuNoPRIMARYKEY(stuNo)ALTERTABLEstuInfoADDCONSTRAINTUQ_stuIDUNIQUE(stuID)ALTERTABLEstuInfoADDCONSTRAINTDF_stuAddressDEFAULT('地址不詳詳')FORstuAddressALTERTABLEstuInfoADDCONSTRAINTCK_stuAgeCHECK(stuAgeBETWEEN15AND40)ALTERTABLEstuMarksADDCONSTRAINTFK_stuNoFOREIGNKEY(stuNo)REFERENCESstuInfo(stuNo)GO演示:給給學(xué)員信信息表stuInfo添加約束束添加主鍵鍵約束((stuNo作作為主鍵鍵)添加唯一一約束((因?yàn)槊棵咳说纳砩矸葑C號(hào)號(hào)全國(guó)唯唯一)添加默認(rèn)認(rèn)約束((如果地地址不填填,默認(rèn)認(rèn)為“地地址不詳詳”)添加檢查查check約約束,要要求年齡齡只能在在15--40歲歲之間添加外鍵鍵約束((主表stuInfo和從表表stuMarks建建立關(guān)系系,關(guān)聯(lián)聯(lián)字段為為stuNo)18添加約束束示例演示:查查看約束束結(jié)果19刪除約束束如果錯(cuò)誤誤地添加加了約束束,我們們還可以以刪除約約束刪除約束束的語(yǔ)法法ALTERTABLE表名DROPCONSTRAINT約束名例如:刪刪除stuInfo表中地址址默認(rèn)約約束ALTERTABLEstuInfoDROPCONSTRAINTDF_stuAddress20回顧SQLServer的的安全模模型數(shù)據(jù)庫(kù)1數(shù)據(jù)庫(kù)2數(shù)據(jù)庫(kù)3表1表2表1表2表1表2增刪改查增刪改查增刪改查增刪改查增刪改查增刪改查數(shù)據(jù)庫(kù)用戶數(shù)據(jù)庫(kù)用戶數(shù)據(jù)庫(kù)用戶登錄帳號(hào)SQLserver三層安全管理21登錄方式式回顧登錄驗(yàn)證證有兩種種方式::SQL身身份驗(yàn)證證:適合合于非windows平臺(tái)的的用戶或或Internet用用戶,需需要提提供帳戶戶和密碼碼Windows身份驗(yàn)驗(yàn)證:適適合于windows平臺(tái)用用戶,不不需要提提供密碼碼,和windows集成驗(yàn)驗(yàn)證登錄帳戶戶相應(yīng)有有兩種::SQL帳帳戶和Windows帳戶22創(chuàng)建登錄錄添加Windows登錄帳帳戶EXECsp_grantlogin‘‘jbtraining\S26301‘‘添加SQL登登錄帳戶戶EXECsp_addlogin‘‘zhangsan'',‘‘1234’演示創(chuàng)建建登錄EXEC表示調(diào)用用存儲(chǔ)過過程,存儲(chǔ)過程程類似C語(yǔ)言的函函數(shù)內(nèi)置的系系統(tǒng)管理理員帳帳戶sa密碼默認(rèn)認(rèn)為空,,建議修修改密碼碼域名\用戶名用戶名,密碼23創(chuàng)建登錄錄24創(chuàng)建數(shù)據(jù)據(jù)庫(kù)用戶戶創(chuàng)建數(shù)據(jù)據(jù)庫(kù)用戶戶需要調(diào)調(diào)用系統(tǒng)統(tǒng)存儲(chǔ)過過程sp_grantdbaccess,,其用法法為:EXECsp_grantdbaccess‘登錄帳戶名’’,’數(shù)據(jù)庫(kù)用用戶名’’其中,““數(shù)據(jù)庫(kù)庫(kù)用戶““為可選選參數(shù),,默認(rèn)為為登錄帳帳戶,即數(shù)據(jù)庫(kù)庫(kù)用戶默默認(rèn)和登登錄帳戶戶同名。USEstuDBGOEXECsp_grantdbaccess'jbtraining\S26301'','S26301DBUser'EXECsp_grantdbaccess'zhangsan','zhangsanDBUser'在stuDB數(shù)據(jù)庫(kù)中中添加兩兩個(gè)用戶戶25創(chuàng)建數(shù)據(jù)據(jù)庫(kù)用戶戶26dbo用戶表示數(shù)據(jù)據(jù)庫(kù)的所所有者((DBOwner)無法刪除除dbo用戶,此此用戶始始終出現(xiàn)現(xiàn)在每個(gè)個(gè)數(shù)據(jù)庫(kù)庫(kù)中g(shù)uest用戶適用于沒沒有數(shù)據(jù)據(jù)庫(kù)用戶戶的登錄錄帳號(hào)訪訪問每個(gè)數(shù)據(jù)據(jù)庫(kù)可有有也可刪刪除系統(tǒng)內(nèi)置置的數(shù)據(jù)據(jù)庫(kù)用戶戶27向數(shù)據(jù)庫(kù)庫(kù)用戶授授權(quán)EmployeesEmployeeID123LastNameDavolioFullerLeverling

FirstNameNancyAndrewJanetRepor

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論