freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

oracle數(shù)據(jù)庫學習日記-實用性最強的oracle學習總結(jié)-資料下載頁

2025-06-29 10:10本頁面
  

【正文】 的角色Select * from dba_role_privs where grantee=‘用戶名’;用戶名大寫 顯示當前用戶可以訪問的所有數(shù)據(jù)字典視圖Select * from dict where ments like ‘%grant%’。 顯示當前數(shù)據(jù)庫的全稱Select * from global_name。動態(tài)性能視圖動態(tài)性能視圖用于記錄當前例程的活動信息,當啟動Oracle server時,系統(tǒng)會建立動態(tài)性能視圖;當停止Oracle server時,系統(tǒng)會刪除動態(tài)性能視圖,Oracle的所有動態(tài)性能視圖都是以V_$datafile的同義詞為V$datafile;動態(tài)性能視圖的所有者為sys,一般情況下,由dba或是特權用戶來查詢動態(tài)性能視圖。約束約束用于確保數(shù)據(jù)庫數(shù)據(jù)滿足特定的商業(yè)規(guī)則,在oracle中,約束包括:非空(not null)、唯一(unique),主鍵(primary key),外鍵(foreign key)和檢查(check)五種。not null ,在列上定義了not null,那么當插入數(shù)據(jù)時,必須為列提供數(shù)據(jù)。unique ,當定義了唯一約束后,該列值不能重復,但是可以為null。Primary key ,用于唯一的標示表行的數(shù)據(jù),當定義主鍵約束后,該列不但不能重復而且不能為空(null)。注意:一張表只能有一個主鍵,但是可以有多個unqiue約束??梢杂新?lián)合主鍵,即兩列及兩個以上的列同時作為一個主鍵。創(chuàng)建約束案例1:現(xiàn)有一個商店的數(shù)據(jù)庫,記錄顧客及其購物情況,由下面三個表組成:商品goods(商品號goodsid,商品名goodsname,單價unitprice,商品類別category,供應商provider);客戶customer(客戶號customerid,姓名name,住址address,電郵,性別sex,身份證cardid);購買purcase(客戶號customerid,商品號goodstid,購買數(shù)量nums);試用SQL語言完成下列功能:1 建表,在定義中要求聲明:(1)每個表的主外鍵;(2)客戶的姓名和商品名不能為空值;(3)單價必須大于0,購買數(shù)量必須再0到30之間;(4)電郵不能夠重復;(5)客戶的性別必須是‘男’或‘女’,默認是‘男’。建商品表create table goods(goodsid char(8) primary key,主鍵goodsname varchar2(30),unitprice number(10,2) check(unitprice0),provider varchar2(30))??蛻舯韈reate table customer(customerid char(8) primary key,name varchar2(50) not null,address varchar2(50), varchar2(50) unique,sex char(2) default 39。男39。 check(sex in (39。男39。,39。女39。)),cardid char(18))。購買表create table purchase(customerid char(8) references customer(customerid), 外鍵(列級定義),foreign key(表級定義)goodsid char(8),address varchar2(50),nums number(10) check(nums between 1 and 30))。案例2:如果在建表時忘記建立必要的約束,但是要注意:增加not null約束時,需要使用modify選項,而增加其它四種約束使用add選項。(1) 每個表的主外鍵;(2) 客戶的姓名不能為空值;增加商品名也不能為空(3) 單價必須大于0,購買數(shù)量必須再0到30之間;(4) 電郵不能夠重復;增加身份證也不能重復(5) 客戶的性別必須是‘男’或‘女’,默認是‘男’;(6) 增加客戶的住址只能是’海淀’,’朝陽’,’東城’,’西城’,’通州’,’崇文’。alter table goods modify goodsname not null。 增加商品名也不能為空alter table customer add constraint cardunique unique(cardid)。 增加身份證也不能重復alter table customer drop column cradid。刪除craid列alter table customer add(cardid char(18))。 增加carid列alter table customer add(constraint addresscheck check(address in(’海淀’,’朝陽’,’東城’,’西城’,’通州’,’崇文’))。刪除約束當不需要某個約束時,可以刪除。alter table 表名 drop constraint 約束名稱;在刪除主鍵約束的時候,可能有錯誤,比如:alter table 表名 drop primary key ;這是因為在兩張表存在主從關系,那么在刪除主表的主鍵約束時,必須帶上cascade選項。如下:alter table 表名 drop primary key cascade ;顯示約束信息通過查詢數(shù)據(jù)字典視圖user_constraints,可以顯示當前用戶所有約束信息Select constraint_name,constraint_type,status,validated from user_constraints where table_name=’表名’;顯示約束列:通過查詢數(shù)據(jù)字典視圖user_cons_columns,可以顯示約束所對應的表列信息。Select column_name,position from user_cons_columns where constraint_name=’約束名’。表級定義和列級定義列級定義是在定義列的同時定義約束如在department表定義主鍵約束, constraint pk_department指給主鍵約束取一個名字Create table department(dept_id number(2) constraint pk_department primaty key,Name varchar2(12)。Loc varchar2(12)。表級定義是指在定義了所有列后,再定義約束,需要注意:not null約束只能在列級上定義。例如:建立employees表時定義主鍵約束和外鍵約束Create table employee(emp_id number(4),name varchar2(15),dept_id number(2),constraint pk_employee primary key (emp_id),constraint fk_department foreign key (dept_id)references department(dept_id))。索引、權限索引創(chuàng)建索引單列索引是基于單個列所建的索引,比如:create index 索引名 on 表名(列名)復合索引是基于兩列或是多列的索引,在同一張表上可以有多個索引,但是要求列的組合必須不同,比如:create index emp_idxl on emp(ename,job)。 先按ename查詢,再job查詢,sql語句從后往前執(zhí)行create index emp_idxl on emp(job,ename)。 先按job查詢,再ename查詢,sql語句從后往前執(zhí)行索引使用原則1)、在大表上建立索引才有意義2)、在where子句或是連接條件上經(jīng)常引用的列上建立索引3)、索引的層次不要超過4層索引缺點分析1)、建立索引。2)、更新數(shù)據(jù)的時候,系統(tǒng)必須要有額外的時間來同時對索引進行更新,以維持數(shù)據(jù)和索引的一致性。3)、不恰當?shù)乃饕坏谑聼o補,反而會降低系統(tǒng)性能,大量的索引在進行插入、修改和刪除操作時比沒有索引花費更多的系統(tǒng)時間。如:很少或從不引用的字段;邏輯型字段(男或女,是或否)等;其他索引按照數(shù)據(jù)存儲方式,可以分為B*樹、反向索引、位圖索引;按照索引列的個數(shù)分類,可以分為單列索引、復合索引;按照索引列值的唯一性,可以分為唯一索引和非唯一索引;此外還有函數(shù)索引,全局索引,分區(qū)索引……在不同的情況會在不同的列上建立索引,甚至建立不同種類的索引,比如:B*樹索引建立在重復值很少的列上,而位圖索引則建立在重復值很多、不同值相對固定的列上。顯示表的所有索引在同一張表上可以有多個索引,通過查詢數(shù)據(jù)字典視圖dba_indexs和user_indexs,可以顯示索引信息,其中dba_indexs用于顯示數(shù)據(jù)庫所有的索引信息,而user_indexs用于顯示當前用戶的索引信息;Select index_name,index_type from user_indexes where table_name=’表名’;顯示索引列:通過查詢數(shù)據(jù)字段視圖user_ind_columns,可以顯示索引對應列的信息,Select table_name,column_name from user_ind_columns where index_name=’ind_ename’。權限權限分為系統(tǒng)權限和對象權限剛建了用戶時,用戶沒有任何權限,也不能執(zhí)行任何操作,如果要執(zhí)行某種特定的數(shù)據(jù)庫操作,則必須為其授予對象的權限,為了簡化權限的管理,可以使用角色。Oracle包含25種角色。每個用戶對應一個方案。系統(tǒng)權限系統(tǒng)權限是指執(zhí)行特定類型sql命令的權利,它用于控制用戶可以執(zhí)行的一個或是一組數(shù)據(jù)庫操作,比如當用戶具有create table權限時,可以在其方案中建表,當用戶具有create any table權限時,可以在任何方案中建表,oracle提供了100多種系統(tǒng)權限。常用系統(tǒng)權限的如下:create session 連接數(shù)據(jù)庫 create table 建表create view 建視圖 create public synonym 建同義詞create procedure 建過程、函數(shù)、包 create trigger 建觸發(fā)器create cluster 建簇顯示系統(tǒng)權限:Oracle提供了100多系統(tǒng)權限,而且oracle得版本越高,提供的系統(tǒng)權限就越多,我們可以查詢數(shù)據(jù)字典視圖system_privilege_map,可以顯示所有系統(tǒng)權限;Select * from system_privilege_map order by name;授予系統(tǒng)權限:一般情況,授予系統(tǒng)權限是由dba完成的,如果用其他用戶來授予系統(tǒng)權限,則要求該用戶必須具有grant any privilege的系統(tǒng)權限在授予系統(tǒng)權限時,可以帶有with admin options選項,這樣被授予權限的用戶或是角色還可以將該系統(tǒng)權限授予其它的用戶或是角色。1)、創(chuàng)建兩個用戶 ken,tom 初始階段他們沒有任何權限,如果登錄就會給出錯誤的信息。Create user ken identified by ken;2)、給用戶ken授權Grant create session,create table to ken with admin options;Grant create view to ken;3)、給用戶tom授權可以通過ken給tom授予create session,create table兩個權限,回收系統(tǒng)權限:一般情況下,回收系統(tǒng)權限時dba來完成的,如果其它的用戶來回收系統(tǒng)權限,要求該用戶必須具有相應系統(tǒng)權限及轉(zhuǎn)授系統(tǒng)權限的選項(with admin option)?;厥障到y(tǒng)權限使用revoke來完成,當回收了系統(tǒng)權限后,用戶就不能執(zhí)行相應的操作了,系統(tǒng)權限不是級聯(lián)收回(即收回二級用戶的權限,不會收回二級用戶授予給其他用戶的權限)。對象權限指訪問其他方案對象的權利,用戶可以直接訪問自己方案的對象,但是如果要訪問別的方案的對象,則必須具有對象的權限,(Scott:方案,emp:表)。常用的對象權限如下:alter 修改(修改表結(jié)構(gòu)),delete 刪除,select 查詢,insert 添加,update 修改(修改表數(shù)據(jù)),index 索引,references引用,execute 執(zhí)行顯示對象權限:通過數(shù)據(jù)字段視圖可以顯示用戶或是角色所具有的對象慶權限,視圖為dba_tab_privsSqlconn system/mangerSqlselect distionct privilege from dba_tab_privs。Sqlselect grantor,owner,table_name,privilege from dba_tab_privs where grantee=’BLAKE’。授予對象權限:在oracle9i前,授予對象權限是由對象的所有者來完成的,如果用其他的用戶來操作,則需要用戶具有相應的(with grant option)權限,從oracle9i開始,dba用戶(sys,system)可以將任何對象上的對象權限授予其它用戶,授予對象權限時用grant命令來完成的。對象權限可以授予用戶,角色和pubic,在授
點擊復制文檔內(nèi)容
醫(yī)療健康相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1