11_第07章 數(shù)據(jù)庫對(duì)象管理.ppt_第1頁
11_第07章 數(shù)據(jù)庫對(duì)象管理.ppt_第2頁
11_第07章 數(shù)據(jù)庫對(duì)象管理.ppt_第3頁
11_第07章 數(shù)據(jù)庫對(duì)象管理.ppt_第4頁
11_第07章 數(shù)據(jù)庫對(duì)象管理.ppt_第5頁
已閱讀5頁,還剩57頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第7章數(shù)據(jù)庫對(duì)象管理 操作系統(tǒng)認(rèn)證方式 OSDBA對(duì)應(yīng)的用戶組為ORA DBA OSOPER對(duì)應(yīng)的用戶組為ORA OPER Review 創(chuàng)建用戶修改用戶權(quán)限管理語句刪除用戶 1 授予系統(tǒng)權(quán)限 GRANTTO 2 授予數(shù)據(jù)對(duì)象權(quán)限 GRANTONTO 用戶的管理 第7章數(shù)據(jù)庫對(duì)象管理 Review 角色 不使用角色分配權(quán)限 使用角色分配權(quán)限 權(quán)限 用戶 Manager 角色是若干權(quán)限的組合 第7章數(shù)據(jù)庫對(duì)象管理 Oracle系統(tǒng)角色創(chuàng)建角色對(duì)角色授權(quán)指定用戶的角色修改角色刪除角色 Review 角色的管理 第7章數(shù)據(jù)庫對(duì)象管理 第7章數(shù)據(jù)庫對(duì)象管理 本章主要介紹Oracle數(shù)據(jù)庫中表 索引 視圖和序列的管理方法 主講 李翠霞電話 63887291email qyliying 辦公室 水環(huán)樓306 第7章數(shù)據(jù)庫對(duì)象管理 本章學(xué)習(xí)目標(biāo) 掌握表的創(chuàng)建 修改和刪除方法 掌握對(duì)表中數(shù)據(jù)的插入 更新和刪除的方法 掌握使用select語句進(jìn)行數(shù)據(jù)查詢的方法 掌握視圖的概念及視圖的創(chuàng)建 修改和刪除方法 理解索引的概念 掌握如何創(chuàng)建 管理和刪除索引 掌握創(chuàng)建 修改 刪除和使用序列的方法 第7章數(shù)據(jù)庫對(duì)象管理 本章主要內(nèi)容 7 1表管理7 2數(shù)據(jù)查詢7 3視圖管理7 4索引管理7 5序列管理 SQLStatements SELECTINSERTUPDATEDELETEMERGECREATEALTERDROPRENAMETRUNCATECOMMENTGRANTREVOKECOMMITROLLBACKSAVEPOINT Datamanipulationlanguage DML Datadefinitionlanguage DDL Transactioncontrol Datacontrollanguage DCL TablesUsedintheCourse EMPLOYEES DEPARTMENTS JOB GRADES 第7章數(shù)據(jù)庫對(duì)象管理 7 1表管理 創(chuàng)建表修改表刪除表插入數(shù)據(jù)修改數(shù)據(jù)刪除數(shù)據(jù) 第7章數(shù)據(jù)庫對(duì)象管理 創(chuàng)建表 表Users的結(jié)構(gòu) 第7章數(shù)據(jù)庫對(duì)象管理 創(chuàng)建表 管理頁面 第7章數(shù)據(jù)庫對(duì)象管理 創(chuàng)建表 表管理頁面 第7章數(shù)據(jù)庫對(duì)象管理 創(chuàng)建表 選擇方案 第7章數(shù)據(jù)庫對(duì)象管理 創(chuàng)建表 選擇表組織 第7章數(shù)據(jù)庫對(duì)象管理 創(chuàng)建表 表管理器 第7章數(shù)據(jù)庫對(duì)象管理 數(shù)據(jù)類型 第7章數(shù)據(jù)庫對(duì)象管理 創(chuàng)建表 數(shù)據(jù)類型NUMBER可以用來表示所有的數(shù)值數(shù)據(jù) fieldnameNUMBER precision scale VARCHAR2用來表示變長(zhǎng)的字符串?dāng)?shù)據(jù)類型 fieldnameVARCHAR2 max length CHAR保存固定長(zhǎng)度字符串 最大長(zhǎng)度為2KB DATE保存固定長(zhǎng)度的日期數(shù)據(jù) BLOB保存二進(jìn)制大對(duì)象 通常用來保存圖像和文檔等二進(jìn)制數(shù)據(jù) CLOB保存字符型大對(duì)象 varchar2數(shù)據(jù)類型最多只能保存4000個(gè)字符 如果要保存的字符串?dāng)?shù)據(jù)超過此范圍 應(yīng)使用clob數(shù)據(jù)類型 precision是最大長(zhǎng)度 scale是小數(shù)點(diǎn)后的位數(shù) 第7章數(shù)據(jù)庫對(duì)象管理 創(chuàng)建表 CREATETABLE語句的基本使用方法如下所示 Createtable schema table name columndatatype default expression column constraint table constraint tablespacetablespace name 例 創(chuàng)建表Users SQL語句如下 CREATETABLEUsers UserIdNumberPrimaryKey UserNameVarchar2 40 NOTNULL UserTypeNumber 1 UserPwdVarchar2 40 第7章數(shù)據(jù)庫對(duì)象管理 創(chuàng)建表 數(shù)據(jù)完整性 數(shù)據(jù)完整性是關(guān)系數(shù)據(jù)庫模型的基本原則 是用戶在表上定義的一系列規(guī)則或約束條件 以及在表之間定義的一系列相互關(guān)系 DEPTNO的值必須與表DEPT中的DEPTNO值匹配 EMPNO每行都必須非空且惟一 數(shù)據(jù)完整性的作用 強(qiáng)制要求數(shù)據(jù)庫中只能接受正確的 合理的數(shù)據(jù) 防止錯(cuò)誤的或無效的數(shù)據(jù)被插入到表中 第7章數(shù)據(jù)庫對(duì)象管理 數(shù)據(jù)完整性分為三類 實(shí)體完整性參照完整性用戶定義的完整性實(shí)體完整性 規(guī)則1 主鍵的各個(gè)屬性都不能為空值 參照完整性 規(guī)則2 外鍵或者取空值 或者等于被參照關(guān)系中的主鍵的某個(gè)值 用戶定義的完整性 規(guī)則3 屬性 或?qū)傩越M 的取值應(yīng)當(dāng)滿足用戶定義的約束條件 創(chuàng)建表 數(shù)據(jù)完整性 第7章數(shù)據(jù)庫對(duì)象管理 Oracle通過為表中的列定義各種約束來實(shí)現(xiàn)數(shù)據(jù)完整性 約束條件NotNull 防止NULL值進(jìn)入到指定的列 Unique 保證在指定的各列中沒有重復(fù)的值 Check 檢查在約束中指定的條件是否得到了滿足 Primarykey 用來惟一地標(biāo)識(shí)出表的每一行 并且防止出現(xiàn)NULL值 一個(gè)表只能有一個(gè)主鍵約束 Foreignkey 通過使用公共列在表之間建立一種父子關(guān)系 在表上定義的外鍵可以指向其他表的主鍵或者惟一鍵 約束級(jí)別列級(jí)約束表級(jí)約束 創(chuàng)建表 數(shù)據(jù)完整性的定義 第7章數(shù)據(jù)庫對(duì)象管理 創(chuàng)建表 如果要在自己的方案中創(chuàng)建表 要求用戶必須具有CREATETABLE系統(tǒng)權(quán)限 如果要在其他方案中建表 則要求用戶必須具有CREATEANYTABLE系統(tǒng)權(quán)限 Createtable語法如下 Createtable schema table name columndatatype default expression column constraint table constraint tablespacetablespace name 第7章數(shù)據(jù)庫對(duì)象管理 注意事項(xiàng) 如果不指定約束名Oracleserver自動(dòng)按照SYS Cn的格式指定約束名在什么時(shí)候創(chuàng)建約束 建表的同時(shí)建表之后可以在表級(jí)或列級(jí)定義約束可以通過數(shù)據(jù)字典視圖查看約束 創(chuàng)建表 第7章數(shù)據(jù)庫對(duì)象管理 創(chuàng)建表 約束的定義格式 CREATETABLEemployees employee idNUMBER 6 last nameVARCHAR2 25 NOTNULL salaryNUMBER 8 2 commission pctNUMBER 2 2 hire dateDATECONSTRAINTemp hire date nnNOTNULL NOTNULL的定義格式 只能定義在列級(jí) 第7章數(shù)據(jù)庫對(duì)象管理 NOTNULL約束 保證列值不能為空 第7章數(shù)據(jù)庫對(duì)象管理 UNIQUE約束的定義格式 CREATETABLEemployees employee idNUMBER 6 last nameVARCHAR2 25 NOTNULL emailVARCHAR2 25 salaryNUMBER 8 2 commission pctNUMBER 2 2 UNIQUE hire dateDATENOTNULL CONSTRAINTemp email ukUNIQUE email 創(chuàng)建表 約束的定義格式 第7章數(shù)據(jù)庫對(duì)象管理 UNIQUE約束 EMPLOYEES UNIQUE約束 INSERTINTO 第7章數(shù)據(jù)庫對(duì)象管理 主鍵的定義格式 Createtablestudents Snovarchar2 10 primarykey Snamevarchar2 8 notnull Ssexvarchar2 2 notnullcheck Ssex F orSsex M Sagenumber Sdeptvarchar2 15 default Computer 創(chuàng)建表 約束的定義格式 ConstraintPK Snoprimarykey Sno 第7章數(shù)據(jù)庫對(duì)象管理 PRIMARYKEY約束 DEPARTMENTS PRIMARYKEY 第7章數(shù)據(jù)庫對(duì)象管理 外鍵的定義格式 CREATETABLEemployees employee idNUMBER 6 last nameVARCHAR2 25 NOTNULL emailVARCHAR2 25 salaryNUMBER 8 2 commission pctNUMBER 2 2 hire dateDATENOTNULL department idNUMBER 4 CONSTRAINTemp dept fkFOREIGNKEY department id REFERENCESdepartments department id CONSTRAINTemp email ukUNIQUE email 創(chuàng)建表 約束的定義格式 第7章數(shù)據(jù)庫對(duì)象管理 可以定義在表級(jí)或列級(jí) CREATETABLEemployees employee idNUMBER 6 last nameVARCHAR2 25 NOTNULL emailVARCHAR2 25 salaryNUMBER 8 2 commission pctNUMBER 2 2 hire dateDATENOTNULL department idNUMBER 4 CONSTRAINTemp dept fkFOREIGNKEY department id REFERENCESdepartments department id CONSTRAINTemp email ukUNIQUE email Referencesdepartments department id 第7章數(shù)據(jù)庫對(duì)象管理 FOREIGNKEY約束的關(guān)鍵字FOREIGNKEY 在表級(jí)指定子表中的列REFERENCES 標(biāo)示在父表中的列ONDELETECASCADE 當(dāng)父表中的列被刪除時(shí) 子表中相對(duì)應(yīng)的列也被刪除ONDELETESETNULL 子表中相應(yīng)的列置空ONDELETENOACTION 不進(jìn)行任何操作 第7章數(shù)據(jù)庫對(duì)象管理 FOREIGNKEY約束 DEPARTMENTS EMPLOYEES Students Courses Enrollment 第7章數(shù)據(jù)庫對(duì)象管理 在數(shù)據(jù)庫StuDB中定義一個(gè)表 表名為Students 表中各列的要求見表 創(chuàng)建表 語句舉例 第7章數(shù)據(jù)庫對(duì)象管理 Createtablestudents Snovarchar2 10 primarykey Snamevarchar2 8 notnull Ssexvarchar2 2 notnullcheck Ssex F orSsex M Sagenumber Sdeptvarchar2 15 default Computer 列級(jí)約束 第7章數(shù)據(jù)庫對(duì)象管理 Createtablestudents Snovarchar2 10 Snamevarchar2 8 notnull Ssexvarchar2 2 notnull Sagenumber Sdeptvarchar2 15 default Computer constraintPK SNOprimarykey Sno constraintCHK SSEXcheck Ssexin F M 表級(jí)約束 Students Courses Enrollment 第7章數(shù)據(jù)庫對(duì)象管理 練習(xí) 練習(xí) 請(qǐng)寫出創(chuàng)建表Courses和Enrollment的SQL命令 CREATETABLECOURSES CnoVARCHAR2 6 PRIMARYKEY CnameVARCHAR2 20 NOTNULL PreCnoVARCHAR2 6 CreditsNUMBER CREATETABLEENROLLMENT SnoVARCHAR2 10 CnoVARCHAR2 6 GradeNUMBER CONSTRAINTPK SCNOPRIMARYKEY SNO CNO CONSTRAINTFK SNOFOREIGNKEY SNO REFERENCESSTUDENTS SNO CONSTRAINTFK CNOFOREIGNKEY CNO REFERENCESCOURSES CNO 第7章數(shù)據(jù)庫對(duì)象管理 查看約束信息 查詢當(dāng)前方案中某表的約束信息selecttable name constraint name constraint type deferred deferrable statusfromuser constraintswheretable name STUDENTS 查詢定義了約束的列Selecttable name constraint name column name positionfromuser cons columnswheretable name ENROLLMENT 第7章數(shù)據(jù)庫對(duì)象管理 7 1表管理 創(chuàng)建表修改表刪除表插入數(shù)據(jù)修改數(shù)據(jù)刪除數(shù)據(jù) 第7章數(shù)據(jù)庫對(duì)象管理 修改表 查看和編輯表Users中的數(shù)據(jù) 第7章數(shù)據(jù)庫對(duì)象管理 修改表 表在創(chuàng)建之后還允許對(duì)其進(jìn)行更改 如添加或刪除表中的列 修改表中的列 以及對(duì)表進(jìn)行重新命名和重新組織等 普通用戶只能對(duì)自己方案中的表進(jìn)行更改 而具有ALTERANYTABLE系統(tǒng)權(quán)限的用戶可以修改任何方案中的表 修改表Altertabletable nameAddcolumndatatype Modify columndatatype Drop unused column column name1 column name1 renamecolumncolumn nametonewname setunused column name1 column name1 第7章數(shù)據(jù)庫對(duì)象管理 修改表 ALTERTABLE語句修改表 1 添加列 例 在表Users中添加一個(gè)列tmpcol SQL ALTERTABLEUsersADD tmpcolNUMBER 5 2 2 修改列名 例 將表Users中tmpcol列的名稱修改為tmpcol 1 SQL ALTERTABLEUsersRENAMECOLUMNtmpcolTOtmpcol 1 第7章數(shù)據(jù)庫對(duì)象管理 修改表 3 刪除列 例 將表Users中的列tmpcol 1刪除 SQL ALTERTABLEUsersDROPCOLUMNtmpcol 1 4 將列設(shè)置為不可用 例 將表Users中的列tmpcol 1設(shè)置為不可用 SQL ALTERTABLEUsersSETUNUSED tmpcol 1 5 刪除不可用的列 例 刪除表Users中所有的不可用列 SQL ALTERTABLEUsersDROPUNUSEDCOLUMNS 第7章數(shù)據(jù)庫對(duì)象管理 添加約束 創(chuàng)建表之后如果需要添加約束 除NOTNULL以外 可以用以下語句實(shí)現(xiàn) ALTERTABLEtable nameAdd CONSTRAINTconstraint name Constraint type col1 col2 condition 第7章數(shù)據(jù)庫對(duì)象管理 Students Courses Enrollment 課程名唯一 第7章數(shù)據(jù)庫對(duì)象管理 添加約束 例 修改Courses表的定義 要求課程名必須唯一 altertablecoursesaddconstraintUnique Cnameunique Cname 例 修改Students表的定義 要求學(xué)生的年齡不能為空 altertableStudentsmodifySagenotnull 只能用modify格式 第7章數(shù)據(jù)庫對(duì)象管理 刪除約束 ALTERTABLEStudentsDropCONSTRAINTCHK SSEX ALTERTABLECoursesDropUNIQUE Cname ALTERTABLECoursesDropPrimaryKeyCascade ALTERTABLEStudentsModifySageNULL 第7章數(shù)據(jù)庫對(duì)象管理 刪除約束 第7章數(shù)據(jù)庫對(duì)象管理 刪除約束 第7章數(shù)據(jù)庫對(duì)象管理 刪除約束 第7章數(shù)據(jù)庫對(duì)象管理 7 1表管理 創(chuàng)建表修改表刪除表插入數(shù)據(jù)修改數(shù)據(jù)刪除數(shù)據(jù) 第7章數(shù)據(jù)庫對(duì)象管理 刪除表 刪除選項(xiàng)窗口 DROPTABLE語句刪除表 例 刪除表Users DROPTABLEUsers 第7章數(shù)據(jù)庫對(duì)象管理 7 1表管理 創(chuàng)建表修改表刪除表插入數(shù)據(jù)修改數(shù)據(jù)刪除數(shù)據(jù) 第7章數(shù)據(jù)庫對(duì)象管理 插入數(shù)據(jù) INSERT語句的基本使用方法如下所示 INSERTINTO 列名1 列名2 列名n VALUES 值1 值2 值n 例 向表Users中插入數(shù)據(jù)INSERTINTOUsers UserId UserName UserType UserPwd VALUES 1 Admin 1 Admin INSERTINTOUsers UserId UserName UserType Us

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論