作業系統程序分配

2023-01-23 16:00:02 字數 3930 閱讀 4358

5.1 實驗目的

熟悉sql的資料控制功能,能夠使用sql語句來向使用者授予和收回許可權。

5.2 實驗內容

(1) 使用grant語句來對使用者授權,對單個使用者或多個使用者授權,或使用保留字public對所有使用者授權。對不同的操作物件包括資料庫、檢視、基本表等進行不同許可權的授權。

(2) 使用with grant option字句授予使用者傳播該許可權的權利。

(3) 當在授權時發生迴圈授權,考察dbs能否發現這個錯誤。如果不能,結合取消許可權操作,檢視dbs對迴圈授權的控制。

(4) 使用revoke子句收回授權,取消授權的級聯反應。

5.3 實驗步驟

用企業管理器在資料庫university_mis中建立三個使用者user1、user2和user3,他們在資料庫中的角色是public。請按以下要求,分別以管理員身份或這三個使用者的身份登陸到資料庫中,進行操作,並記錄操作結果。

(1) 授予所有使用者對錶courses的查詢許可權。

grant select

on liangyx_courses to user1,user2,user3

以user1的身份登陸查詢分析器,用sql語言查詢courses和students表,查詢結果如何?

對course的查詢

select * from liangyx_courses

對student

select * from liangyx_students

不能訪問

原因:在一開始只授予了course的權利。

(2) 授予使用者user1對錶students插入和更新的許可權,但不授予刪除許可權,並且授予使用者user1傳播這兩個許可權的權利。以user?的身。。。

grant insert , update

on liangyx_students

to user1

with grant option

(3) 允許使用者user2在表reports中插入元組,更新score列,可以查詢除了sno以外的所有列。以user?的身。。。

(4) 使用者user1授予使用者user2對錶students插入和更新的許可權,並且授予使用者user2傳播插入和更新操作的權利。以user?的身。。。

grant insert ,update

on liangyx_students

to users

with grant option

(5) 收回對使用者user1對錶courses查詢許可權的授權。以user?的身。。。

revoke select

on liangyx_courses

from user1

(6) 由上面(2)和(4)的授權,再由使用者user2對使用者user3授予表students插入和更新的許可權,並且授予使用者user3傳播插入操作的權力。

grant insert ,update

on liangyx_students

to user3

with grant option

這時候,如果由user3對user1授予表students的插入和更新許可權是否能得到成功?

如果能夠成功,那麼如果有使用者user2取消user3的許可權,對user1會有什麼影響? user1的許可權也會被連級取消,但是由於它有管理員賦予的權利,因此實際還保留了該許可權。

如果再由dba取消user1的許可權,對user2有什麼影響?

此時由於user1沒有了許可權,因此連級的user2也將失去該許可權

10.1 實驗目的

通過實驗使學生加深對資料完整性的理解,學會建立和使用觸發器。

10.2 實驗內容 (用實驗9的teacher表)

(1) 為teacher表建立觸發器t1,當插入或使更新表中的資料時,保證所操作的紀錄的tage值大於0。

(2) 為teacher表建立觸發器t2,禁止刪除編號為00001的ceo。

(3) teacher表中的人員的編號是唯一且不可更變的,建立觸發器t3實現更新中編號的不可改變性。

(4) 演示違反t1觸發器的約束的插入操作。

(5) 演示違反t1觸發器的約束的更新操作。

(6) 演示違反t2觸發器的約束的插入操作。

(7) 演示違反t2觸發器的約束的更新操作。

10.3 實驗步驟

(1) 仍然使用自定義完整性實驗中的teacher表。為此表建立觸發器t1,當插入或使更新表中的資料時,保證所操作的紀錄的tage值大於0。

在查詢分析器中輸入如下sql語句

use university_mis

gocreate trigger t1 on teacher

for insert,update

asif(select tage from inserted)<1

begin

print 『職工年齡必須是大於0的整數! 操作失敗!』

rollback transaction

end (2) 為teacher表建立觸發器t2,禁止刪除編號為s01的ceo。

在查詢分析器中輸入如下sql語句

use university_mis

gocreate trigger t2 on teacher

for delete

asif(select tno from deleted)=』t01』

begin

print 『此人是ceo! 刪除操作失敗!』

rollback transaction

end(3) teacher表中的人員的編號是唯一且不可更變的,建立觸發器t3實現更新中編號的不可改變性。

在查詢分析器中輸入如下sql語句

use university_mis

gocreate trigger t3 on teacher

for update

asif update(tno)

begin

print 『職工編號不能修改!』

rollback transaction

end(4) 在查詢分析器中輸入如下sql語句

use university_mis

insert into teacher values(『t03』,』 李巨集』,』f』,-10,』開發部』)

(5) 在查詢分析器中輸入如下sql語句

use university_mis

update teacher set tage=-7 where tno=』t01』

(6) 在查詢分析器中輸入如下sql語句

use university_mis

delete from teacher where tname=』李用』

(7) 在查詢分析器中輸入如下sql語句

use university_mis

update teacher set tno=』t07』 where t***=』f』

11.1 實驗目的

通過實驗使學生學會建立和使用儲存過程。

11.2 實驗內容

(1)建立儲存過程p1,根據輸入引數資訊,查詢reports表。

(2)演示使用儲存過程p1。

(3)完成儲存過程p2的建立,根據輸入引數資訊,查詢和顯示選課結果。

11.3 實驗步驟

(1)建立儲存過程p1,根據輸入引數資訊,查詢reports表。

在查詢分析器中輸入如下sql語句

use university_mis

gocreate procedure p1 @student_no varchar(8), @course_no varchar(8)

asselect *

from reports

where and

go(2) 在查詢分析器中輸入如下sql語句

use university_mis

exec p1 @student_no = 's02', @course_no = 'c02'

(3)建立和執行儲存過程p2,根據輸入的學號s01和課程號c01,查詢得到學生名、課程名和成績。

作業系統程序管理

處理機管理的主要任務是對處理機的分配和執行實時有效的管理,從傳統意義上將,程序是處理機和資源分配的基本單位,因此對處理機的管理可以歸納為對程序的管理。1 程序的概述 2 程序的定義及特徵 3 程序的狀態及描述 4 程序控制 5 程序同步 6 程序通訊 7 程序排程 8 執行緒 9 死鎖 零測試在計算...

作業系統實驗記憶體分配

實驗四儲存器管理 一 實驗名稱 儲存器管理 二 實驗目的 在tc vb delphi c builder等語言與開發環境中,模擬作業系統的記憶體管理 通過程式執行所顯示的記憶體使用的各項指標,加深對記憶體管理的理解。三 實驗內容 實現主儲存器空間的分配和 本實驗有兩個題,學生可選擇其中的一題做實驗。...

電腦大全 XP系統 作業系統程序描述

電腦資料大全 xp系統 作業系統程序描述.txt25愛是一盞燈,黑暗中照亮前行的遠方 愛是一首詩,冰冷中溫暖渴求的心房 愛是夏日的風,是冬日的陽,是春日的雨,是秋日的果。電腦資料大全 xp系統 作業系統程序描述 system process 程序檔案 system process or system...