77范文网 - 专业文章范例文档资料分享平台

实验1,数据定义(3)

来源:网络收集 时间:2019-03-27 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

INSERT INTO Stu_union VALUES (‘S05’,’黄浩’,’F’,25,’EE’); SELECT * FROM Stu_union; COMMIT TRANSACTION T1

② 在查询分析器中输入如下SQL语句:

USE University_Mis

SET XACT_ABORT ON BEGIN TRANSACTION T2

INSERT INTO Stu_union VALUES (‘S07’,’李宁’,’M’,25,’EE’); SELECT * FROM Stu_union;

INSERT INTO Stu_union VALUES (‘S09’,’李靖’,’F’,22,’CS’); COMMIT TRANSACTION T2

③ 在查询分析器中输入如下SQL语句:

USE University_Mis

SELECT * FROM Stu_union;

(5)

① 在查询分析器中输入如下SQL语句:

USE University_Mis

CREATE TABLE Scholarship (

M_ID VARCHAR(10), Stu_id CHAR(8),R_Money INT )

INSERT INTO Scholarship VALUES(‘M01’,’ S07’,5000) INSERT INTO Scholarship VALUES (‘M01’,’ S08’,8000) SELECT * FROM Scholarship

② 在查询分析器中输入如下SQL语句:

USE University_Mis

ALTER TABLE Scholarship ADD

CONSTRAINT PK_Scholarship PRIMARY KEY(M_ID) ③ 在查询分析器中输入如下SQL语句:

USE University_Mis

ALTER TABLE Scholarship ADD

CONSTRAINT FK_Scholarship FOREIGN KEY(Stu_id) Students(Sno)

REFERENCES 11

实验8、参照完整性

8.1 实验目的

学习建立外键,以及利用FOREIGN KEY…REFERENCES子句以及各种约束保证参照完整性。

8.2 实验内容

(1) 为演示参照完整性,建立表Course,令Cno为其主键,并在Stu_Union

中插入数据。为下面的实验步骤做预先准备。

(2) 建立表SC,令Sno和Cno分别为参照Stu_Union表以及Course表的外

键,设定为级联删除,并令(Sno,Cno)为其主键。在不违反参照完整性的前提下,插入数据。

(3) 演示违反参照完整性的插入数据。

(4) 在Stu_Union中删除数据,演示级联删除。 (5) 在Course中删除数据,演示级联删除。

(6) 为了演示多重级联删除,建立Stu_Card表,令Stu_id为参数Stu_Union

表的外键,令Card_id为其主键,并插入数据。

(7) 为了演示多重级联删除,建立ICBC_Card表,令Stu_card_id为参数

Stu_Union表的外键,令Card_id为其主键,并插入数据。

(8) 通过删除Students表中的一条记录,演示三个表的多重级联删除。 (9) 演示事务中进行多重级联删除失败的处理。修改ICBC_Card表的外键

属性,使其变为On delete No action,演示事务中通过删除Students表中的一条记录,多重级联删除失败,整个事务回滚到事务的初始状态。 (10)演示互参考问题及其解决方法。要建立教师授课和课程指定教师听课关

系的两张表,规定一个教师可以授多门课,但是每个课程只能指定一个教师去听课,所以要为两张表建立相互之间的参照关系。 8.3 实验步骤

以系统管理员或sa账号登录查询分析器,在查询分析器窗体中输入如下命令,运行并观察和记录结果。

(1) 在查询分析器中输入如下SQL语句:

USE University_Mis

INSERT Stu_Union Values(‘S01’,’李用’,’0’,24,’FF’) SELECT * FROM Stu_Union; CREATE TABLE Course( Cno CHAR(4) NOT NULL UNIQUE, Cname VARCHAR(50) NOT NULL, Cpoints INT, CONSTRAINT PK PRIMARY KEY(Cno));

INSERT Course VALUES(‘C01’,’ComputerNetworks’,2); INSERT Course VALUES(‘C02’,’ArtificialIntelligence’,3);

12

(2) 在查询分析器中输入如下SQL语句:

USE University_Mis CREATE Table SC( Sno CHAR(5), Cno CHAR(4), Scredit INT,

CONSTRAINT PK_SC PRIMARY KEY(Sno,Cno),

CONSTRAINT FK_SC_Sno FOREIGN KEY(Sno) REFERENCES Stu_Union (Sno) ON DELETE CASCADE,

CONSTRAINT FK_SC_Cno FOREIGN KEY(Cno) REFERENCES Course (Cno) ON DELETE CASCADE );

INSERT INTO SC VALUES('S02','C01',2); INSERT INTO SC VALUES ('S02','C02',2); INSERT INTO SC VALUES ('S01','C01',2); INSERT INTO SC VALUES ('S01','C02',2); SELECT * FROM SC;

(3) 在查询分析器中输入如下SQL语句:

USE University_Mis

INSERT INTO SC VALUES(‘S99’,’C99’,2);

(4) 在查询分析器中输入如下SQL语句:

USE University_Mis

DELETE FROM Stu_Union WHERE Sno=’S01’; SELECT * FROM SC;

(5) 在查询分析器中输入如下SQL语句:

USE University_Mis

DELETE FROM Course WHERE Cno=’C02’; SELECT * FROM SC;

(6) 在查询分析器中输入如下SQL语句:

USE University_Mis

CREATE TABLE Stu_Card( Card_id CHAR(14), Sno CHAR(8),

Remained_money DECIMAL(10,2),

Constraint PK_Stu_Card PRIMARY KEY(Card_id),

Constraint FK_Stu_Card_Sno FOREIGN KEY(Sno) REFERENCES Students(Sno) ON DELETE CASCADE )

INSERT INTO Stu_Card VALUES('05212567','S03',400.25);

13

INSERT INTO Stu_Card VALUES('05212222','S09',600.50); SELECT * FROM Stu_card;

(7) 在查询分析器中输入如下SQL语句:

USE University_Mis

CREATE TABLE ICBC_Card( Bank_id CHAR(20), Stu_card_id CHAR(14),

Restored_money DECIMAL(10,2),

constraint PK_ICBC_Card PRIMARY KEY(Bank_id), constraint FK_ICBC_Card_Stu_id FOREIGN KEY(Stu_card_id) REFERENCES Stu_card(card_id) ON DELETE CASCADE )

INSERT INTO ICBC_Card VALUES('9558844022312','05212567',15000.1); INSERT INTO ICBC_Card VALUES('9558844023645','05212222',50000.3); SELECT * FROM ICBC_Card;

(8) 在查询分析器中输入如下SQL语句:

USE University_Mis

ALTER TABLE Reports DROP [FK_Reports_Sno]; ALTER TABLE Reports ADD

CONSTRAINT [FK_Reports_Students] FOREIGN KEY ( [Sno] ) REFERENCES [dbo].[Students] ( [Sno] ) ON DELETE CASCADE;

DELETE FROM Students WHERE Sno=’S03’; SELECT * FROM Stu_card; SELECT * FROM ICBC_Card;

(9) 在查询分析器中输入如下SQL语句:

ALTER TABLE ICBC_Card

DROP CONSTRAINT FK_ICBC_Card_Stu_id; ALTER TABLE ICBC_Card

ADD CONSTRAINT FK_ICBC_Card_Stu_id FOREIGN KEY (Stu_card_id) REFERENCES Stu_card(Card_id) ON DELETE NO ACTION;

在查询分析器中输入如下SQL语句: Begin Transaction Del

DELETE FROM Stu_Card WHERE Card_id =’05212222’; SELECT * FROM Stu_card; SELECT * FROM ICBC_card; Commit Transaction Del

在查询分析器中输入如下SQL语句:

14

USE University_Mis

SELECT * FROM Stu_card; SELECT * FROM ICBC_card;

(10) 在查询分析器中输入如下SQL语句:

USE University_Mis

CREATE TABLE Listen_course( Tno CHAR(6),Tname VARCHAR(20),Cno CHAR(4) CONSTRAINT PK_listen_course PRIMARY KEY(Tno) CONSTRAINT FK_listen_course FOREIGN KEY(Cno) REFERENCES Teach_course(Cno) )

CREATE TABLE Teach_course( Cno CHAR(4),Cname VARCHAR(30),Tno CHAR(6) CONSTRAINT PK_Teach_course PRIMARY KEY(Cno) CONSTRAINT FK_Teach_course FOREIGN KEY(Tno) REFERENCES Listen_course(Tno) )

在查询分析器中输入如下SQL语句: USE University_Mis

CREATE TABLE Listen_course( Tno CHAR(6),Tname VARCHAR(20),Cno CHAR(4) CONSTRAINT PK_listen_Course PRIMARY KEY(Tno) )

在查询分析器中输入如下SQL语句: USE University_Mis

CREATE TABLE Teach_course( Cno CHAR(4),Cname VARCHAR(30),Tno CHAR(6) CONSTRAINT PK_teach_course PRIMARY KEY(Cno) CONSTRAINT FK_teach_course FOREIGN KEY(Tno) REFERENCES Listen_course(Tno) )

ALTER TABLE Listen_course ADD CONSTRAINT FK_listen_course FOREIGN KEY(Cno) REFERENCES Teach_course(Cno);

15

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库实验1,数据定义(3)在线全文阅读。

实验1,数据定义(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/546237.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: