Bài tập thực hành - Cơ sở dữ liệu | Trường Đại học Khoa học Tự nhiên, Đại học Quốc gia Thành phố Hồ Chí Minh

1. Tạo các users John, Joe, Fred, Lynn, Amy, and Beth:
a. Password lần lượt là tên username viết hoa.
Oracle:
Create User John IDENTIFIED By JOHN
Create User Joe IDENTIFIED By JOE
Create User Fred IDENTIFIED By FRED
Create User Amy IDENTIFIED By AMY
Create User Lynn IDENTIFIED By LYNN
Create User Beth IDENTIFIED By BETH

Tài liệu được sưu tầm giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem !

lOMoARcPSD|46342985
lOMoARcPSD|46342985
Lab 3 1
I. Bài tập
1. Tạo các users John, Joe, Fred, Lynn, Amy, and Beth:
a. Password lần lượt là tên username viết hoa. Oracle:
Create User John IDENTIFIED By JOHN
Create User Joe IDENTIFIED By JOE
Create User Fred IDENTIFIED By FRED
Create User Amy IDENTIFIED By AMY
Create User Lynn IDENTIFIED By LYNN
Create User Beth IDENTIFIED By BETH
SQL Sever:
Nên tạo mỗi một user thuộc một login với một password khác nhau
đối với SQL sever 2008 .
Còn có thể thêm thuộc tính ‘with password’ ngay sau create user
Tên_user đối với các phiên bản 2012 trở lên
1.Tạo user John với mật khẩu là chữ hoa có :
Create login Test1 with password =’JOHN’
Create user John for login Test1
Hay : create user John for login Test1 WITH PASSWORD =’JOHN’ đối với
các phiên bản mới.
2.Tạo user Joe với mật khẩu là chữ hoa có :
Create login Test2 with password =’JOE’
Create user Joe for login Test2
3.Tạo user Fred với mật khẩu là chữ hoa có :
Create login Test3 with password =’FRED’
Create user Fred for login Test3
4.Tạo user Lynn với mật khẩu là chữ hoa có :
Create login Test4 with password =’LYNN’
Create user Lynn for login Test4
5.Tạo user Amy với mật khẩu là chữ hoa có :
lOMoARcPSD|46342985
Lab 3 2
Create login Test5 with password =’AMY’
Create user Amy for login Test5
6.Tạo user Beth với mật khẩu là chữ hoa có : Create
login Test6 with password =’BETH’ Create user
Beth for login Test6
b. Đảm bảo các user này có thể tạo bất kỳ bảng nào trong tablespace
với quota 10M.
Oracle :Sau câu lệnh ở phần a.
Alter User John DEFAULT TABLESPACE data , QUOTA 10M ON
data;
Alter User Joe DEFAULT TABLESPACE data , QUOTA 10M ON data; Alter
User Amy DEFAULT TABLESPACE data , QUOTA 10M ON
data;
Alter User Lynn DEFAULT TABLESPACE data , QUOTA 10M ON
data;
Alter User Beth DEFAULT TABLESPACE data , QUOTA 10M ON
data;
SQL sever : không hỗ trợ dung lượng (quota) của bảng
tạo
Grant create table to John
Grant create table to Joe
Grant create table to Amy
Grant create table to Fred
Grant create table to Lynn
Grant create table to Beth
Hay Grant create table to John,Joe,Amy,Fred,Lynn,Beth.
lOMoARcPSD|46342985
Lab 3 3
2. Cho bảng Attendance
(
ID INT PRIMARY KEY,
Name NVARCHAR2
)
Làm các bước sau: Create
table Attendance
(
ID int primary key,Name nvarchar(2)
)
go
a. Tạo các role sau: DataEntry, Supervisor, và Management.
Create ROLE DataEntry
Create ROLE Supervisor
Create ROLE Management
b. Gán John, Joe, và Lynn vào role DataEntry, gán Fred vào role Supervisor,
và gán Amy và Beth vào role Management.
Grant DataEntry to John, Joe, và Lynn.
Hay EXEC sp_addrolemember 'DataEntry','John';
Hay EXEC sp_addrolemember 'DataEntry','Joe';
Hay EXEC sp_addrolemember 'DataEntry','Lynn’;
Grant Supervisor to Fred.
Hay EXEC sp_addrolemember 'Supervisor,'Fred'; Grant
Management to Amy ,Beth.
Hay EXEC sp_addrolemember ' Management ',’Amy'; Hay
EXEC sp_addrolemember ' Management',’Beth';
lOMoARcPSD|46342985
Lab 3 4
c. Cho role DataEntry các quyền SELECT, INSERT, và UPDATE trên bảng
Attendance.
Grant SELECT, INSERT, và UPDATE ON Attendance to DataEntry
d. Cho role Supervisor các quyền SELECT và DELETE trên bảng
Attendance.
Grant SELECT, DELETE ON Attendance to Supervisor
e. Cho role Management quyền SELECT trên bảng Attendance. Grant
SELECT ON Attendance to Supervisor
f. Chưa thực hiện được .dù đã cấp quyền login vào các user riêng nhưng vẫn
chưa thấy khác nhau .Thực hiện được các quyền mà trong
đó user không có quyền đó ví dụ :
không
được cấp quyền xóa nhưng User vẫn xóa
được bảng .Các ví dụ khác tương tự
lOMoARcPSD|46342985
Lab 3 5
3. Tạo một user mới tên NameManager với password là pc123. Gán quyền
update cho user này trên cột Name của bảng Attendance.
Tạo user (với login) tương ứng
Create login Test7 with password =’MANAGE’
Create user NameManager for login Test7
WITH DEFAULT_SCHEMA = Attendance
Gán quyền
Grant Update on Attendance(Name) to NameManager.
4. Thực hiện các yêu cầu sau đối với các view được liệt kê ở phần II (Tự
điển dữ liệu)
a. Tìm quyền mà trong tên của quyền có chữ CONTEXT
SELECT
dbU.[name] AS [user]
, dbGp.[name] AS [Role]
FROM
sys.database_role_members AS dbRM
JOIN sys.database_principals AS dbU ON dbU.[principal_id] =
dbRM.[member_principal_id]
JOIN sys.database_principals AS dbGp ON dbGp.[principal_id] =
dbRM.[role_principal_id]
WHERE
dbGp.[name] LIKE '%CONTEXT%';
b. Liệt kê tất cả user có quyền SELECT ANY TABLE
SELECT
USER_NAME(grantee_principal_id) AS 'User'
, state_desc AS 'Permission'
, permission_name AS 'Action'
, CASE class
WHEN 0 THEN 'Database::' + DB_NAME()
WHEN 1 THEN OBJECT_NAME(major_id)
WHEN 3 THEN 'Schema::' + SCHEMA_NAME(major_id) END AS
'Securable'
FROM sys.database_permissions dp
WHERE class IN (0, 1, 3)
AND minor_id = 0 And permission_name='SELECT';
lOMoARcPSD|46342985
Lab 3 6
5. Thực hiện các bước sau: ( Oracle)
a. Gán password cho role DataEntry ở bài 1 là “mgt”
ALTER ROLE DataEntry IDENTIFIED BY mgt;
b. Cho phép user John quyền cấp quyền cho các user khác ALTER
User John IDENTIFIED BY hoaidinh WITH ADMIN OPTION.
c. Gán tất cả các quyền mà John có cho Beth. Beth có quyền INSERT
và UPDATE trên bảng Attendance không?
John thuộc role dataEntry các quyền select ,insert,update .Nếu John
được cấp quyền với tùy chọn With grant option(SQL sever) hay With admin
option(oracle)
John gán cho Beth thì Beth có quyền như John => Beth có quyền Insert và
Update trên bảng Attendance
| 1/6

Preview text:

lOMoARcPSD|46342985 lOMoARcPSD|46342985 Lab 3 1 I. Bài tập 1.
Tạo các users John, Joe, Fred, Lynn, Amy, and Beth: a. P
assword lần lượt là tên username viết hoa. Oracle:
Create User John IDENTIFIED By JOHN
Create User Joe IDENTIFIED By JOE
Create User Fred IDENTIFIED By FRED
Create User Amy IDENTIFIED By AMY
Create User Lynn IDENTIFIED By LYNN
Create User Beth IDENTIFIED By BETH SQL Sever:
Nên tạo mỗi một user thuộc một login với một password khác nhau
đối với SQL sever 2008 .
Còn có thể thêm thuộc tính ‘with password’ ngay sau create user
Tên_user đối với các phiên bản 2012 trở lên
1.Tạo user John với mật khẩu là chữ hoa có :
Create login Test1 with password =’JOHN’
Create user John for login Test1
Hay : create user John for login Test1 WITH PASSWORD =’JOHN’ đối với
các phiên bản mới.
2.Tạo user Joe với mật khẩu là chữ hoa có :
Create login Test2 with password =’JOE’
Create user Joe for login Test2
3.Tạo user Fred với mật khẩu là chữ hoa có :
Create login Test3 with password =’FRED’
Create user Fred for login Test3
4.Tạo user Lynn với mật khẩu là chữ hoa có :
Create login Test4 with password =’LYNN’
Create user Lynn for login Test4
5.Tạo user Amy với mật khẩu là chữ hoa có : lOMoARcPSD|46342985 Lab 3 2
Create login Test5 with password =’AMY’
Create user Amy for login Test5
6.Tạo user Beth với mật khẩu là chữ hoa có : Create
login Test6 with password =’BETH’ Create user Beth for login Test6 b.
Đảm bảo các user này có thể tạo bất kỳ bảng nào trong tablespace với quota 10M.
Oracle :Sau câu lệnh ở phần a.
Alter User John DEFAULT TABLESPACE data , QUOTA 10M ON data;
Alter User Joe DEFAULT TABLESPACE data , QUOTA 10M ON data; Alter
User Amy DEFAULT TABLESPACE data , QUOTA 10M ON data;
Alter User Lynn DEFAULT TABLESPACE data , QUOTA 10M ON data;
Alter User Beth DEFAULT TABLESPACE data , QUOTA 10M ON data;
SQL sever : không hỗ trợ dung lượng (quota) của bảng tạo Grant create table to John Grant create table to Joe Grant create table to Amy Grant create table to Fred Grant create table to Lynn Grant create table to Beth
Hay Grant create table to John,Joe,Amy,Fred,Lynn,Beth. lOMoARcPSD|46342985 Lab 3 3 2. Cho bảng Attendance ( ID INT PRIMARY KEY, Name NVARCHAR2 ) Làm các bước sau: Create table Attendance (
ID int primary key,Name nvarchar(2) ) go a.
Tạo các role sau: DataEntry, Supervisor, và Management. Create ROLE DataEntry Create ROLE Supervisor Create ROLE Management b.
Gán John, Joe, và Lynn vào role DataEntry, gán Fred vào role Supervisor,
và gán Amy và Beth vào role Management.
Grant DataEntry to John, Joe, và Lynn.
Hay EXEC sp_addrolemember 'DataEntry','John';
Hay EXEC sp_addrolemember 'DataEntry','Joe';
Hay EXEC sp_addrolemember 'DataEntry','Lynn’; Grant Supervisor to Fred.
Hay EXEC sp_addrolemember 'Supervisor,'Fred'; Grant Management to Amy ,Beth.
Hay EXEC sp_addrolemember ' Management ',’Amy'; Hay
EXEC sp_addrolemember ' Management',’Beth'; lOMoARcPSD|46342985 Lab 3 4 c.
Cho role DataEntry các quyền SELECT, INSERT, và UPDATE trên bảng Attendance.
Grant SELECT, INSERT, và UPDATE ON Attendance to DataEntry d.
Cho role Supervisor các quyền SELECT và DELETE trên bảng Attendance.
Grant SELECT, DELETE ON Attendance to Supervisor e.
Cho role Management quyền SELECT trên bảng Attendance. Grant
SELECT ON Attendance to Supervisor
f. Chưa thực hiện được .dù đã cấp quyền login vào các user riêng nhưng vẫn
chưa thấy khác nhau .Thực hiện được các quyền mà trong
đó user không có quyền đó ví dụ : Dù không
được cấp quyền xóa nhưng User vẫn xóa
được bảng .Các ví dụ khác tương tự lOMoARcPSD|46342985 Lab 3 5 3.
Tạo một user mới tên NameManager với password là pc123. Gán quyền
update cho user này trên cột Name của bảng Attendance.
Tạo user (với login) tương ứng
Create login Test7 with password =’MANAGE’
Create user NameManager for login Test7
WITH DEFAULT_SCHEMA = Attendance Gán quyền
Grant Update on Attendance(Name) to NameManager. 4.
Thực hiện các yêu cầu sau đối với các view được liệt kê ở phần II (Tự điển dữ liệu) a.
Tìm quyền mà trong tên của quyền có chữ CONTEXT SELECT dbU.[name] AS [user] , dbGp.[name] AS [Role] FROM
sys.database_role_members AS dbRM
JOIN sys.database_principals AS dbU ON dbU.[principal_id] = dbRM.[member_principal_id]
JOIN sys.database_principals AS dbGp ON dbGp.[principal_id] = dbRM.[role_principal_id] WHERE dbGp.[name] LIKE '%CONTEXT%'; b.
Liệt kê tất cả user có quyền SELECT ANY TABLE SELECT
USER_NAME(grantee_principal_id) AS 'User' , state_desc AS 'Permission' , permission_name AS 'Action' , CASE class
WHEN 0 THEN 'Database::' + DB_NAME()
WHEN 1 THEN OBJECT_NAME(major_id)
WHEN 3 THEN 'Schema::' + SCHEMA_NAME(major_id) END AS 'Securable'
FROM sys.database_permissions dp WHERE class IN (0, 1, 3)
AND minor_id = 0 And permission_name='SELECT'; lOMoARcPSD|46342985 Lab 3 6 5.
Thực hiện các bước sau: ( Oracle) a.
Gán password cho role DataEntry ở bài 1 là “mgt”
ALTER ROLE DataEntry IDENTIFIED BY mgt; b.
Cho phép user John quyền cấp quyền cho các user khác ALTER
User John IDENTIFIED BY hoaidinh WITH ADMIN OPTION. c.
Gán tất cả các quyền mà John có cho Beth. Beth có quyền INSERT
và UPDATE trên bảng Attendance không?
John thuộc role dataEntry có các quyền select ,insert,update .Nếu John
được cấp quyền với tùy chọn With grant option(SQL sever) hay With admin option(oracle)
John gán cho Beth thì Beth có quyền như John => Beth có quyền Insert và Update trên bảng Attendance