版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第六章 數(shù)據(jù)庫的主要對象 本章要點(diǎn)管理表數(shù)據(jù)字典表 完整性約束條件的使用管理索引 管理視圖 同義詞的使用 數(shù)據(jù)庫的對象對象名稱描述表基本的數(shù)據(jù)存儲對象,以行和列的形式存在,列也就是字段,行也就是記錄數(shù)據(jù)字典也就是系統(tǒng)表,存放數(shù)據(jù)庫相關(guān)信息的表約束條件執(zhí)行數(shù)據(jù)校驗,保證了數(shù)據(jù)完整性的視圖 一個或者多個表數(shù)據(jù)的邏輯顯示索引用于提高查詢的性能同義詞 對象的別名數(shù)據(jù)庫對象的命名規(guī)則1、對象名稱必須以字母開頭2、有效的字符包括數(shù)字、字母和三個特殊字符(# _ $)3、不要使用oracle的保留字作為對象名稱4、同一用戶下的對象不能同名,即使是不同的對象類型建表的語句為了創(chuàng)建表,你必須具有:創(chuàng)建表的系統(tǒng)權(quán)
2、限足夠的存儲區(qū)域標(biāo)準(zhǔn)的建表語法:CREATE TABLE schema.table( column datatype DEFAULT expr , );Oracle中的常用字段類型數(shù)據(jù)類型說明char(size)定長字符,2000個字節(jié)varchar2(size)變長字符,4000個字節(jié)date日期數(shù)據(jù),默認(rèn)的格式是dd-mm-yy:如11-6月-06timestamp日期數(shù)據(jù),要比date數(shù)據(jù)更確切,包含時分秒。integer整型數(shù)據(jù)number(s,p)數(shù)字型,可存放實型和整型 ,精度(p)和范圍(s)long可變字符,2GB個字符raw可變二進(jìn)制數(shù)據(jù),4000字節(jié)long raw可變二進(jìn)
3、制數(shù)據(jù),2GBfloat,real是NUMBER的子類型blob存放圖形、聲音和影像,大二進(jìn)制對象,4GBclob存放大文本文件,4GB使用子查詢創(chuàng)建表使用子查詢創(chuàng)建表的語法CREATE TABLE table column(, column.)AS subquery;新表的字段列表必須與子查詢中的字段列表匹配字段列表可以省略 ALTER TABLE 語句使用ALTER TABLE 語句可以: 增加字段 修改字段 刪除字段ALTER TABLE tableADD (column datatype DEFAULT expr , column datatype.);ALTER TABLE tabl
4、eMODIFY (column datatype DEFAULT expr , column datatype.);ALTER TABLE tableDROP (columns);在表中增加字段使用 ADD 子句增加字段,新的字段只能被加到整個表的最后,并且不能與表中原有的字段重名alter table employeeadd sex char(1);ALTER TABLE employeeADD (sex CHAR(1);修改字段可修改列的數(shù)據(jù)類型,大小和默認(rèn)值alter table employeemodify sex number(2)ALTER TABLE employeeMODIFY
5、(sex number(1) 不是任何情況都可以修改的,當(dāng)字段只包含空值時,類型、大小都可以修改,否則修改可能不能成功刪除字段可以從表中刪除列:ALTER TABLE employeeDROP COLUMN sex;從每行中刪除掉字段占據(jù)的長度和數(shù)據(jù),釋放在數(shù)據(jù)塊中占用的空間。刪除大表中的字段將需要比較長的時間.刪除表的內(nèi)容1、TRUNCATE TABLE 語句清除表中所有的記錄,delete可以選擇刪除表中的一部分是DDL語句,不可以回滾,delete可以使用rollback回滾,放棄修改。釋放表的存儲空間,delete不釋放空間2、 是刪除數(shù)據(jù)的方法之一3、TRUNCATE TABLE t
6、able_name;刪除表1、表中所有數(shù)據(jù)將被刪除2、沒有完成的事務(wù)被提交3、所有相關(guān)的索引被刪除4、這個刪除操作不能回滾DROP TABLE table_name;改變對象名稱使用RENAME語句改變對象名稱,可以修改表、視圖、序列或者同義詞的名稱RENAME old_name TO new_name;必須是對象的所有者在 Oracle 數(shù)據(jù)庫中的表用戶表:1、被用戶創(chuàng)建和維護(hù)的一些表2、包括了用戶自己的信息數(shù)據(jù)字典表:3、被Oracle數(shù)據(jù)庫創(chuàng)建和維護(hù)的一些表4、包括了數(shù)據(jù)庫的信息數(shù)據(jù)字典是每個Oracle數(shù)據(jù)庫的核心用于描述數(shù)據(jù)庫和它的所有對象包括了只讀的表和視圖被 SYS用戶擁有被 O
7、racle server維護(hù)用戶可以使用 SELECT訪問數(shù)據(jù)字典的內(nèi)容數(shù)據(jù)字典提供了下列信息:1、數(shù)據(jù)庫的物理和邏輯結(jié)構(gòu)2、對象的定義和空間分配3、完整性約束條件4、用戶5、角色6、權(quán)限7、審計數(shù)據(jù)字典分類在用戶或者數(shù)據(jù)庫管理員查詢數(shù)據(jù)庫相關(guān)信息的時候, 主要通過三類字典視圖查詢:1、DBA:所有方案(整個數(shù)據(jù)庫)包含的對象信息2、ALL:用戶可以訪問的對象信息3、USER:用戶方案的對象信息數(shù)據(jù)字典的例子1、通用信息: DICTIONARY2、對象信息: DBA_TABLES, DBA_INDEXES, DBA_TAB_COLUMNS, DBA_CONSTRAINTS3、空間分配信息: D
8、BA_SEGMENTS, DBA_EXTENTS4、數(shù)據(jù)庫結(jié)構(gòu): DBA_TABLESPACES, DBA_DATA_FILES查詢數(shù)據(jù)字典查看被用戶擁有的表SELECT table_name FROM user_tables ;查看用戶擁有的所有對象類型SELECT DISTINCT object_type FROM user_objects ;查看所有用戶擁有的表(必須是DBA用戶登陸)SELECT* FROM dba_tables ;什么是約束約束是在表上強(qiáng)制執(zhí)行的數(shù)據(jù)校驗規(guī)則.當(dāng)表中數(shù)據(jù)有相互依賴性時,可以保護(hù)相關(guān)的數(shù)據(jù)不被刪除.Oracle 支持下面五類完整性約束:1、NOT NUL
9、L非空2、UNIQUE Key唯一鍵3、PRIMARY KEY主鍵4、FOREIGN KEY外鍵5、CHECK檢察約束概述Oracle使用SYS_Cn格式命名約束,也可以由用戶命名創(chuàng)建約束的時機(jī)1、在建表的同時創(chuàng)建2、建表后創(chuàng)建 a、約束條件可定義在列級或表級,相應(yīng)的語法略有區(qū)別。 b、約束條件可以構(gòu)建在單列或多列的組合上,如果約束條件構(gòu)建在多列組合上,那么定義約束條件只能在表級定義創(chuàng)建表時創(chuàng)建約束CREATE TABLE schema.table (column datatype DEFAULT exprcolumn_constraint, -列級約束條件table_constraint);
10、-表級約束條件CREATE TABLE emp( (emp_id NUMBER(3), name VARCHAR2(16), dept_id NUMBER(4) NOT NULL, -列級約束條件 CONSTRAINT emp_empid_pk PRIMARY KEY (emp_id);/表級約束條件非空約束(NOT NULL)確保字段值不允許為空與其他約束相比是唯一只能在字段級定義非空約束(NOT NULL)CREATE TABLE employeesnull ( employee_id NUMBER(6), last_name VARCHAR2(25) NOT NULL, salary N
11、UMBER(8,2), commission_pct NUMBER(2,2), hire_date DATE CONSTRAINT emp_hire_date_nn NOT NULL,)/查看用戶的約束select * from user_constraints;/查看表的約束select * from user_constraints where table_name=EMPLOYEESNULL;唯一性約束(UNIQUE)唯一性約束條件確保所在的字段或者字段組合不出現(xiàn)重復(fù)值唯一性約束條件的字段允許出現(xiàn)(1或多個)空值Oracle將為唯一性約束條件創(chuàng)建對應(yīng)的唯一性索引唯一性約束(UNIQUE)
12、CREATE TABLE employees( employee_id NUMBER(6) UNIQUE, last_name VARCHAR2(25) NOT NULL, email VARCHAR2(25), salary NUMBER(8,2), commission_pct NUMBER(2,2), hire_date DATE NOT NULL,. CONSTRAINT emp_email_uk UNIQUE(email);主鍵約束( PRIMARY KEY)主鍵從功能上看相當(dāng)于非空且唯一一個表中只允許一個主鍵主鍵是表中能夠唯一確定一個行數(shù)據(jù)的字段主鍵字段可以是單字段或者是多字段的組
13、合Oracle為主鍵創(chuàng)建對應(yīng)的唯一性索引主鍵約束( PRIMARY KEY)CREATE TABLE departments( department_id NUMBER(4), department_name VARCHAR2(30) CONSTRAINT dept_name_nn NOT NULL, manager_id NUMBER(6), location_id NUMBER(4), CONSTRAINT dept_id_pk PRIMARY KEY(department_id);外鍵約束( FOREIGN KEY)外鍵是構(gòu)建于一個表的兩個字段或者兩個表的兩個字段之間的關(guān)系外鍵確保了相關(guān)
14、的兩個字段的關(guān)系:子表外鍵列的值必須在主表參照列值的范圍內(nèi),或者為空主表主鍵值被子表參照時,主表記錄不允許被刪除外鍵約束條件參照的是主表的一個或者多個字段的值,通常被外鍵參照的是主表的主鍵或者唯一鍵CREATE TABLE employees( employee_id NUMBER(6), last_name VARCHAR2(25) NOT NULL, email VARCHAR2(25), salary NUMBER(8,2), commission_pct NUMBER(2,2), hire_date DATE NOT NULL,. department_id NUMBER(4), CO
15、NSTRAINT emp_dept_fk FOREIGN KEY (department_id) REFERENCES departments(department_id), CONSTRAINT emp_email_uk UNIQUE(email); FOREIGN KEY:后面是要創(chuàng)建外鍵的子表字段 REFERENCES:后面是外鍵要參照的主表和主表字段外鍵約束( FOREIGN KEY)CHECK 約束Check約束條件是一種比較特殊的約束條件,通過check定義,強(qiáng)制定義在字段上的每一記錄都要滿足check中定義的條件。在check中定義檢查的條件表達(dá)式,進(jìn)入表中的數(shù)據(jù)必須符合check中設(shè)置的條件條件表達(dá)式不允許使用:1、SYSDATE, USER等函數(shù)2、參照其他記錄的值., salaryNUMBER(2) CONSTRAINT emp_salary_min CHECK (salary 0),.增加約束可增加或刪除約束,但不能直接修改ALTER TABLE table ADD CONSTRAINT constraint type (column);非空約束必須使用MODIFY子句增加 alter table employeesFK modify email not null加約束加 FOREIGN KEY 約束到EMP表ALTER TABLE
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024車輛運(yùn)輸合同標(biāo)準(zhǔn)范本
- 2024退學(xué)協(xié)議書:針對研究生院學(xué)員退學(xué)及科研經(jīng)費(fèi)退還合同3篇
- 2024牛棚養(yǎng)殖場市場拓展與銷售渠道建設(shè)承包合同范本3篇
- 2024版智慧城市建設(shè)項目合作合同
- 2024年公務(wù)員考試五華縣《行政職業(yè)能力測驗》預(yù)測試題含解析
- 2025年度出租車充電樁建設(shè)與運(yùn)營管理合同3篇
- 2024面料原產(chǎn)地認(rèn)證購銷合同2篇
- 2025年度在線招聘平臺用戶隱私保護(hù)合同3篇
- 2024版車輛轉(zhuǎn)讓協(xié)議書范文大全
- 2024版學(xué)校食堂綜合承包協(xié)議模板解析版B版
- 譯林版小學(xué)英語六年級上冊英文作文范文
- 2024高考英語作文寫作方法技巧及復(fù)習(xí)備考策略指導(dǎo)
- 學(xué)術(shù)英語(理工類)
- 《嬰幼兒生活與安全照護(hù)》課程標(biāo)準(zhǔn)
- 六年級道德與法治學(xué)情分析
- 早產(chǎn)兒喂養(yǎng)不耐受臨床診療指南
- (全國通用版)小學(xué)英語四大時態(tài)綜合練習(xí)(含答案)
- 喚醒孩子內(nèi)驅(qū)力
- 護(hù)理查房動脈導(dǎo)管未閉課件
- 合并報表工作底稿
- 倉庫員工績效考核表格
評論
0/150
提交評論