1.假設有下面兩個關係模式:
職工(職工號,姓名,年齡,職務,工資,部門號),其中職工號為主碼;
部門(部門號,名稱,經理名,**),其中部門號為主碼;
用sql語言定義這兩個關係模式,要求在模式中完成以下完整性約束條件的定義:
定義每個模式的主碼;定義參照完整性;定義職工年齡不得超過60歲。
答 create table dept
(deptno number(2),
deptname varchar(10),
manager varchar(10),
phonenumber char(12)
constraint pk_sc primary key (deptno));
create table emp
(empno number(4),
ename varchar(10),
age number(2),
constraint c1 check (age《=60),
job varchar(9),
sal number(7,2),
deptno number(2),
constraint fk_deptno
foreign key (deptno)
references dept(deptno));
2.建立乙個名為tr_agede1的觸發器,要求在插入和更新時檢查student表中sage是否在15至60之中,如果不在提示「年齡不合法」。輸入語句:
create database students
use students
create table student
( sno char(10) primary key,
sname char(10),
*** char(10),
age int,
)----------
建立觸發器要求在插入和更新學生年齡時
檢查age是否在15到60之間,如不在15到60,
則彈出「年齡不合法」提示資訊
create trigger s1
on student
for insert,update
asdeclare @newage int
select @newage=age
from student
if(@newage>=15 and @newage<=60)
begin
update student set @newage=@newage
print '更新成功'
endelse
begin
print '年齡不合法'
rollback transaction
end----------------
insert
into student(sno,age)
values(7,5)
年齡不合法
訊息 3609,級別 16,狀態 1,第 1 行
事務在觸發器中結束。批處理已中止。
-------------------
insert
into student(sno,age)
values(1,15)
(1 行受影響)
更新成功
(1 行受影響)
建立觸發器實現刪除學生資訊時,要求自動
備份被刪除的資料到表backuptable中。
create table backuptable
(sno char(10) primary key,
sname char(10),
*** char(10),
age int,
)create trigger s2
on student
for delete
as print '開始備份資料,請稍後......'
insert into backuptable(sno,sname,***,age)
select sno,sname,***,age from deleted
if (@@error = 0)
begin
print '備份資料成功,備份表中的資料為:'
select * from backuptable
print '備份資料成功,交易表中的資料為:'
select * from student
enddelete
from student
where sno='1'
開始備份資料,請稍後......
(1 行受影響)
備份資料成功,備份表中的資料為:
(1 行受影響)
備份資料成功,交易表中的資料為:
(1 行受影響)
(1 行受影響)
資料庫完整性實驗報告
一 實驗學時 2學時二 實驗目的 1 實現資料完整性的概念及實施資料完整性的重要性。2 掌握資料完整性的分類。3 掌握完整性約束的新增 刪除方法。4 掌握通用預設值的建立 實施與刪除方法。5 掌握規則的建立 實施與刪除方法。6 掌握級聯刪除 級聯修改方法。三 實驗要求 刪除預設約束的操作步驟 2 若...
Oracle資料庫實驗報告三 表及完整性定義
by qqc from btbu 實驗目的 1 掌握oracle建立表的方法,包括主鍵 外來鍵的新增等。2 熟悉oracle對完整性約束的定義。實驗內容 開啟命令列啟動oracle服務連線hr使用者 1.表book的結構如下,請在hr使用者下建立該錶 欄位名 中文釋義 資料型別 isbn 圖書編號 ...
資料庫實驗五 完整性
一 實驗目的 1 掌握資料庫約束的概念 2 熟悉 sql server 的完整性約束技術。3 了解 sql server 的違反完整性處理措施。二 實驗環境 windows下的sql 三 實驗內容 1.在前幾次實驗所使用的資料庫中新建乙個教師資訊表,表名為 teacher 字段包括 tno 教師編號...