本文章内容分布:(1)介紹數據庫常見分類(2)關系型數據庫概念(3)Oracle數據庫基本知識介紹(4)Oracle數據庫權限介紹,其中權限的内容涉及範圍較大,權限在本文中和用戶、角色練習較為緊密,角色是權限的集合,屬于Oracle對象,創建用戶需要權限,而新創建的用戶要賦予權限,并且還可以給對象賦予權限。等等這些基本操作都離不開權限,所以在本文中主要學習權限!用戶!角色!
關于用戶與模式:
用戶:對數據庫的訪問,需要以适當用戶身份通過驗證,并具有相關權限來完成一系列動作.SYS用戶,缺省始終創建,且未被鎖定,擁有數據字典及其關聯的所有對象.SYSTEM用戶,缺省始終創建,且未被鎖定,可以訪問數據庫内的所有對象
模式(schema):是某個用戶擁有所有對象的集合。具有創建對象權限并創建了對象的用戶稱為擁有某個模式 注意:創建數據庫對象(視圖,表等)的任一用戶都擁有一個以該用戶名稱開頭的模式,且被視為模式用戶
(關系型)數據庫相關概念
SQL(Structured Query Language)
三大範式(規範):
關于Oracle數據庫簡單介紹
Oracle數據庫相關概念
Oracle服務
數據庫的啟動和關閉
監聽客戶端連接請求,位于服務端的、獨立運行的一個後台進程,一旦建立服務器與客戶端的連接,之後客戶端與服務的通信不再通過它
命令行窗口 → sqlplus:啟動一個SQL*Plus客戶端工具 或 → sqlplus username/password [as sysDBA] 或 → sqlplus /nolog:打開SQL*Plus,但不登錄 → conn username/[email protected]:1521/orcl → disconnect 斷開連接
spool 命令要寫到的文件的路徑;注意:當使用完畢後要使用spool off;
conn /as sysdba 操作系統驗證
Oracle 登錄驗證:操作系統、數據庫驗證、密碼文件
Oracle在剛開始的入門知識方面和mysql在權限方面有着較大的不同,在Oracle中幾乎所有的操作(創建用戶、創建表、删除表等等一些增删改查在沒有獲得權限之前是不允許執行的)在沒有獲得權限之前都不能夠執行,在mysql中則沒有那麼嚴格,所以有必要先了解一下Oracle中權限的分配。
在創建用戶之前,可以登錄系統管理員權限去創建一個用戶(因為系統管理員有這個權限),下面是三種用戶分類:
在登陸的時候,可以選擇下面三種登錄方式:
比如創建一個用戶和給創建的用戶分配權限代碼示例:(下面創建用戶是在系統管理員的身份下創建的,并且系統管理員本身也有這個權限,但是如果沒有賦予普通用戶創建用戶的權限,那麼普通用戶創建用戶這個操作就會失敗。)
(用戶名:zhangsan 密碼:zhangsan, 默認登陸是在users表中,并分配10M的空間)
下面語句可以在sys系統管理員登錄的情況下創建的
系統權限: 允許用戶執行特定的數據庫動作,如創建表、創建索引、連接實例等 對象權限: 允許用戶操縱一些特定的對象,如讀取視圖,可更新某些列、執行存儲過程等
(1)系統權限:
(2)對象權限
grant 權限 on 對象名 to username[with grant option 同時獲得權限分配權];
revoke 權限 on 對象名 from username;
不同的對象具有不同的對象權限,對象的擁有者擁有所有權限,對象的擁有者可以向外分配權限.關于授予系統權限與授予對象權限的語法差異:授予對象權限時需要指定關鍵字ON,從而能夠确定權限所應用的對象.對于表和視圖可以指定特定的列來授權。
對象授權示例
關于用戶常見操作代碼(下面的代碼都是可以運行的,在windows操作系統上大寫小區分不敏感,所以大部分大寫的關鍵命令單詞都可以小寫):
每個Oracle用戶都有一個名字和口令,并擁有一些由其創建的表、視圖和其他資源。Oracle角色(role)就是一組權限(privilege) (或者是每個用戶根據其狀态和條件所需的訪問類型)。用戶可以給角色授予或賦予指定的權限,然後将角色賦給相應的用戶。一個用戶也可以直接給其他用戶授 權。
數據庫系統權限(Database System Privilege)允許用戶執行特定的命令集。例如,CREATE TABLE權限允許用戶創建表,GRANT ANY PRIVILEGE 權限允許用戶授予任何系統權限。
數據庫對象權限(Database Object Privilege)使得用戶能夠對各個對象進行某些操作。例如DELETE權限允許用戶删除表或視圖的行,SELECT權限允許用戶通過select從 表、視圖、序列(sequences)或快照 (snapshots)中查詢信息。
(1)、3種标準角色
Qracle為了兼容以前的版本,提供了三種标準的角色(role):CONNECT、RESOURCE和DBA。
“`
(2)、創建角色
除了前面講到的三種系統角色—-CONNECT、RESOURCE和DBA,用戶還可以在Oracle創建自己的role。用戶創建的role可以由 表或系統權限或兩者的組合構成。為了創建role,用戶必須具有CREATE ROLE系統權限。下面給出一個create role命令的實例:
現在,擁有STUDENT角色的所有用戶都具有對CLASS表的select權限。
(3)、删除角色
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!