] ● Xóa người dùng DROP USER username [CASCADE] ● Thông tin về người dùng ● Ta có thể lấy các thông tin liên quan tới user trong data dictionary DBA_USERS và DBA_TS_QUOTAS.. ● Với mỗi n
Trang 1Bài 2
QUẢN LÝ NGƯỜI DÙNG
Trang 2Mục tiêu
được:
● Quản trị người dùng.
● Các quyền hệ thống và quyền đối tượng.
● Cấp quyền và thu hồi quyền.
● Quản trị nhóm (role).
● Tạo/xóa/thay đổi bảng dữ liệu, tạo chỉ mục.
● Thêm/xóa/thay đổi dữ liệu trong một bảng
Trang 3Nội dung
Trang 4Quản lý người dùng (1)
● Tạo mới người dùng
● Các bước tạo mới người dùng
● Lựa chọn username (tên user dùng để truy cập database) và cơ chế xác nhận đối với user này
● Chỉ ra các tablespaces cho user dùng để lưu trữ dữ liệu
● Phân bổ hạn mức sử dụng trên từng tablespace
● Gán các default tablespace và temporary tablespace
● Phân quyền truy nhập (privileges - quyền; roles) cho user vừa tạo lập
Trang 5Quản lý người dùng (2)
● Tạo mới người dùng
CREATE USER username
IDENTIFIED {BY password | EXTERNALLY}
[ DEFAULT TABLESPACE tablespace]
[ TEMPORARY TABLESPACE tablespace]
[ QUOTA {integer [K | M] | UNLIMITED } ON tablespace
[ QUOTA {integer [K | M] | UNLIMITED } ON tablespace ] ]
Trang 6Quản lý người dùng (3)
● Thay đổi mật khẩu của người dùng
● ALTER USER <username> [ IDENTIFIED {BY password | EXTERNALLY }]
● Thay đổi hạn mức (quota) sử dụng tablespace
ALTER USER user
[ DEFAULT TABLESPACE tablespace]
[ TEMPORARY TABLESPACE tablespace]
[ QUOTA {integer [K | M] | UNLIMITED } ON tablespace
[ QUOTA {integer [K | M] | UNLIMITED } ON tablespace ] ]
● Xóa người dùng
DROP USER username [CASCADE]
● Thông tin về người dùng
● Ta có thể lấy các thông tin liên quan tới user trong data dictionary DBA_USERS và DBA_TS_QUOTAS
● Với mỗi người dùng, ta có thể xác định được các thông tin về hạn mức
sử dụng
● Hoặc ta cũng có thể lấy các thông tin về tài khoản của người dùng
Trang 7Quản lý quyền hệ thống (1)
● Các loại quyền hệ thống
Phân loại Các quyền thông dụng
TABLE
CREATE TABLE CREATE ANY TABLE ALTER ANY TABLE DROP ANY TABLE SELECT ANY TABLE UPDATE ANY TABLE DELETE ANY TABLE
ALTER SESSION RESTRICTED SESSION
TABLESPACE
CREATE TABLESPACE ALTER TABLESPACE DROP TABLESPACE UNLIMITED TABLESPACE
Trang 8Quản lý quyền hệ thống (2)
● Gán các quyền hệ thống
● Cú pháp
GRANT {system_priv|role}[,{system_priv|role} ]
TO {user|role|PUBLIC}[, {user|role|PUBLIC} ]
[WITH ADMIN OPTION]
● Thu hồi các quyền hệ thống
● Cú pháp
REVOKE {system_priv|role}[, {system_priv|role} ]
FROM {user|role|PUBLIC}[, {user|role|PUBLIC} ]
● Xem thông tin về các quyền
● Cú pháp:
● Thông tin về các quyền được lấy từ các view của data dictionary: DBA_SYS_PRIVS và SESSION_PRIVS
● Các thông tin bao gồm:
▪ DBA_SYS_PRIVS: GRANTEE, PRIVILEGE, ADMIN OPTION
▪ SESSION_PRIVS: PRIVILEGE
Trang 9Quản lý quyền đối tượng (1)
tượng
Quyền Table View Procedu
re
ALTER X
DELETE X X
INSERT X X
SELECT X X
UPDATE X X
Trang 10Giới thiệu về quản lý ROLE
● Role trong database
● Oracle cung cấp công cụ cho phép quản lý một cách dễ dàng các quyền thông qua việc sử dụng nhóm (Role).
● Role là một nhóm các quyền được gán cho các user hay Role khác
Trang 11Giới thiệu về quản lý Role (tt)
● Lợi ích của việc sử dụng Role
● Giảm công việc gán các quyền:
● Quản lý các quyền một cách linh động
● Giới thiệu về các Role được định nghĩa sẵn
Tên Role Diễn giải
CONNECT Role cung cấp sẵn để tương thích với các phiên bản
trước đó RESOURCE
DBA Tất cả các quyền hệ thống, có tuỳ chọn: WITH
ADMIN OPTION EXP_FULL_DATABASE Quyền export dữ liệu của database
IMP_FULL_DATABASE Quyền import dữ liệu vào database
DELETE_CATALOG_ROLE Quyền xoá dữ liệu
EXECUTE_CATALOG_ROLE Quyền thực hiện một thủ tục
SELECT_CATALOG_ROLE Quyền lấy dữ liệu
Trang 12Quản lý Role (tt)
● Thông tin về các Role:
● Được lấy trong data dictionary
● Có rất nhiều tables và views chứa thông tin về các quyền được gán cho user.
DBA_ROLES Tất cả các Role trong CSDL
DBA_ROLE_PRIVS Các Role đã được gán quyền cho user hay Role khác ROLE_PRIVS Các Role đã được gán quyền cho Role khác
DBA_SYS_PRIVS Quyền hệ thống gán cho user hay Role
ROLE_SYS_PRIVS Quyền hệ thống gán cho Role
ROLE_TAB_PRIVS Quyền trên table được gán cho Role
SESSION_ROLES Các Role được phép của user hiện thời
Trang 13Bảng dữ liệu
● Lệnh tạo bảng dữ liệu
● Cú pháp:
CREATE [GLOBAL TEMPORARY] TABLE [<tên schema>.] <tên table> ( <tên cột> <kiểu cột> [DEFAULT <biểu thức mặc định>] [Các ràng buộc trên cột[,<tên cột> <kiểu cột> [, ]][, Các ràng buộc trên bảng] )
● Lệnh sửa đổi bảng dữ liệu
● Cú pháp:
ALTER TABLE <tên bảng>
<đi ̣nh nghı ̃a thay đổi> [,<đi ̣nh nghı ̃a thay đổi>] ;
● Lệnh xóa bảng dữ liệu
● Cú pháp:
▪ DROP TABLE tbl_name [, tbl_name] [CASCADE CONSTRAINTS]
Trang 14Bảng dữ liệu (tt)
● Lệnh chèn record vào bảng
INSERT INTO tbl_name [(<column i, , column j>)]
VALUES (<value i, , value j>) ;
● Lệnh cập nhật record trong bảng
UPDATE tbl_name SET <column i> = <expression i>, , <column j> = <expression j>
[WHERE <condition>];
● Lệnh xóa record trong bảng
DELETE FROM tbl_name [WHERE <condition>];
Trang 15Sequence
● Tạo Sequence
● Cú pháp:
CREATE SEQUENCE <sequence_name> INCREMENT BY integer
START WITH integer [MAXVALUE integer][MINVALUE integer][CYCLE/NO CYCLE][CACHE integer/NOCACHE];
● Sử dụng Sequence
● Để làm việc với các sequence, dùng lệnh SQL với các cột giả sau
▪ CURRVAL Cho giá tri hiện thời của sequence.
▪ NEXTVAL Tăng giá tri hiện thời của sequence và cho giá trị sau khi tăng.
● Sửa Sequence
● Cú pháp
ALTER SEQUENCE <sequence_name>
INCREMENT BY integer
START WITH integer
[MAXVALUE integer]
[MINVALUE integer]
[CYCLE/NO CYCLE];
● Cú pháp
DROP SEQUENCE <sequence_name>;
Trang 16CREATE INDEX index_name
ON TABLE ( column [,column ]);
Trang 17Các kiểu dữ liệu trong Oracle
Tên kiểu Giải thı́ch Biểu diễn hằng
(tùy vào đi ̣nh da ̣ng thể hiê ̣n ngày của hê ̣ thống)
tư ̣ (không hỗ trơ ̣ Unicode)
'50% complete.'
tư ̣ (hỗ trơ ̣ Unicode)
‘Nguyễn Văn Minh’
‘Lương Tâm’
2000 ký tư ̣ (không hỗ trơ ̣ Unicode)
'50% complete.'
2000 ký tư ̣ (hỗ trơ ̣ Unicode)
‘Nguyễn Văn Minh’
‘Lương Tâm’