Tải bản đầy đủ (.pdf) (17 trang)

Bài giảng bài 2 quản lý người dùng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (235.98 KB, 17 trang )

Bài 2
QUẢN LÝ NGƯỜI DÙNG


Mục tiêu


Sau buổi thực hành này sinh viên sẽ hiể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.


Nội dung








Quản lý người dùng
Quản lý quyền hệ thống
Quản lý quyền đối tượng
Quản lý nhóm (ROLE)
Cú pháp các lệnh DDL
Các kiểu dữ liệu trong Oracle


Quả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


Quả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 ] ... ]


Quả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


Quản lý quyền hệ thống (1)


Các loại quyền hệ thống
Phân loại

TABLE

SESSION

TABLESPACE

Các quyền thông dụng

CREATE TABLE
CREATE ANY TABLE
ALTER ANY TABLE
DROP ANY TABLE
SELECT ANY TABLE
UPDATE ANY TABLE
DELETE ANY TABLE
CREATE SESSION
ALTER SESSION
RESTRICTED SESSION
CREATE TABLESPACE
ALTER TABLESPACE
DROP TABLESPACE
UNLIMITED TABLESPACE


Quả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


Quản lý quyền đối tượng (1)


Quyền trên các đối
tượng

Quyền

Table

ALTER

X

DELETE

X

View

Procedu
re

X

EXECUTE

X

INSERT

X

X

SELECT


X

X

UPDATE

X

X


Giớ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


Giớ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
CONNECT

Diễn giải
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


Quả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.
Tên view

Diễn giải

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


Bả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>
<đinh
̣ nghı ̃a thay đổ i> [,<đinh
̣ nghı ̃a thay đổ i>] ... ;



Lệnh xó a bả ng dữ liệu
● Cú pháp:


DROP TABLE tbl_name [, tbl_name] ... [CASCADE
CONSTRAINTS]


Bảng dữ liệu (tt)


Lệnh chèn record vào bảng
● Cú pháp
INSERT INTO tbl_name [(<column i, . . . , column j>)]
VALUES (<value i, . . . , value j>) ;



Lệnh cập nhật record trong bảng
● Cú pháp
UPDATE tbl_name SET <column i> = <expression i>, . . . ,
<column j> = <expression j>

[WHERE <condition>];



Lệnh xóa record trong bảng
● Cú pháp:
DELETE FROM tbl_name [WHERE <condition>];


Sequence


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






Sửa Sequence




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.

Cú pháp
ALTER SEQUENCE <sequence_name>
INCREMENT BY integer
START WITH integer
[MAXVALUE integer]
[MINVALUE integer]
[CYCLE/NO CYCLE];

Xóa Sequence


Cú pháp
DROP SEQUENCE <sequence_name>;


Index


Cú pháp:
CREATE INDEX index_name
ON TABLE ( column [,column...]);



Các kiểu dữ liệu trong Oracle
Tên kiể u

Giả i thı́ch

Biể u diễn hằ ng

number(p,s)

Kiể u số thâ ̣p phân (10-84 → 10127)

1894.1204

Integer

Kiể u số nguyên, tương đương vớ i Number(38)

1, 20

Float

Kiể u số thực, tương đương vớ i Number

101.5E5, 0.5E-2

Date

Ngà y thá ng (1/1/-4712 → 31/12/9999)


'10-FEB-04', '10/02/04'
(tù y và o đinh
̣ da ̣ng thể hiê ̣n
ngà y củ a hê ̣ thố ng)

Char

Ký tự có đô ̣ dà i ô nhớ cố đinh
̣ và tố i đa là 255 ký
tự (không hỗ trơ ̣ Unicode)

'50% complete.'

Nchar

Ký tự có đô ̣ dà i ô nhớ cố đinh
̣ và tố i đa là 255 ký
tự (hỗ trơ ̣ Unicode)

‘Nguyễn Văn Minh’
‘Lương Tâm’

Varchar2

Ký tự có đô ̣ dà i ô nhớ không cố đinh
̣ và tố i đa là
2000 ký tự (không hỗ trơ ̣ Unicode)

'50% complete.'


Nvarchar2

Ký tự có đô ̣ dà i ô nhớ không cố đinh
̣ và tố i đa là
2000 ký tự (hỗ trơ ̣ Unicode)

‘Nguyễn Văn Minh’
‘Lương Tâm’



×