Bài giảng Quản lý người dùng (Bản đẹp)
Bạn đang xem tài liệu "Bài giảng Quản lý người dùng (Bản đẹp)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_quan_ly_nguoi_dung_ban_dep.pdf
Nội dung text: Bài giảng Quản lý người dùng (Bản đẹp)
- 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 [ 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 Các quyền thông dụng CREATE TABLE CREATE ANY TABLE ALTER ANY TABLE TABLE DROP ANY TABLE SELECT ANY TABLE UPDATE ANY TABLE DELETE ANY TABLE SESSION CREATE SESSION ALTER SESSION RESTRICTED SESSION CREATE TABLESPACE 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 View Procedu re ALTER X DELETE X 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 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
- 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 [ .] ( [DEFAULT ] [Các ràng buộc trên 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 [, ] ; ● 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 [( )] VALUES ( ) ; ● Lệnh cập nhật record trong bảng ● Cú pháp UPDATE tbl_name SET = , . . . , = [WHERE ]; ● Lệnh xóa record trong bảng ● Cú pháp: DELETE FROM tbl_name [WHERE ];
- Sequence ● Tạo Sequence ● Cú pháp: CREATE SEQUENCE 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 INCREMENT BY integer START WITH integer [MAXVALUE integer] [MINVALUE integer] [CYCLE/NO CYCLE]; ● Xóa Sequence ● Cú pháp DROP SEQUENCE ;
- 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 đi ̣nh da ̣ng thể hiê ̣n ngày của hê ̣ thống) Char Ký tự có đô ̣ dài ô nhớ cố đi ̣nh và tối đa là 255 ký '50% complete.' tự (không hỗ trợ Unicode) Nchar Ký tự có đô ̣ dài ô nhớ cố đi ̣nh và tối đa là 255 ký ‘Nguyễn Văn Minh’ tự (hỗ trợ Unicode) ‘Lương Tâm’ Varchar2 Ký tự có đô ̣ dài ô nhớ không cố đi ̣nh và tối đa là '50% complete.' 2000 ký tự (không hỗ trợ Unicode) Nvarchar2 Ký tự có đô ̣ dài ô nhớ không cố đi ̣nh và tối đa là ‘Nguyễn Văn Minh’ 2000 ký tự (hỗ trợ Unicode) ‘Lương Tâm’