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

实验4

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

实验四:数据完整性

1、实验目的

(1)了解SQL Serer数据库系统中数据完整性控制的基本方法 (2)熟练掌握常用CREATE 或ALTER 在创建或修改表时设置约束 (3)了解触发器的机制和使用 (4)验证数据库系统数据完整性控制

2、实验平台

使用SQL Server数据库管理系统提供的SSMS和查询编辑器。

3 实验内容及要求

结合ST数据库中的各个表,设置相关的约束,要求包括主键约束、外键约束、唯一约束、检查约束、非空约束等,掌握各约束的定义方法。

设置一个触发器,实现学生选课总学分的完整性控制,了解触发器的工作机制。 设计一些示例数据,验证完整性检查机制。 要求包括如下方面的内容:

3.1 使用SQL语句设置约束

使用CREATE或ALTER语句完成如下的操作,包括: 1. 设置各表的主键约束 2. 设置相关表的外键

3. 设置相关属性的非空约束、默认值约束、唯一约束 4. 设置相关属性的CHECK约束

3.2 使用触发器

创建一个触发器,实现如下的完整性约束:

SC Student

学号 010001 010002 010003 姓名 王林 程明 王玉民 … … 总学分 7 3 4 … .. … 学号 010001 010001 010002 … 课程号 106 206 106 … 成绩 80 90 70 … 学分 3 4 3 … … … … ? 当向SC表中插入一行数据时,自动将学分累加到总学分中。 ? 记录修改学分的操作。

3.4 检查约束和触发器

分别向相关表插入若干条记录,检查你设置的完整性约束是否有效:

1. 插入若干条包含正确数据的记录,检查插入情况

2. 分别针对设置的各个约束,插入违反约束的数据,检查操作能否进行 3. 向SC表插入若干行数据,检查触发器能否实现其数据一致性功能。

4 实验报告

要求写出实验的基本过程。解释操作过程中出现的现象。

参考示例:

建立一个学生选课数据库,熟悉约束及触发器的使用方法。

一、声明完整性约束

创建学生选课数据库TEST,包括三个基本表,其中Student表保存学生基本信息,Course

表保存课程信息,SC表保存学生选课信息,其结构如下表:

表1. Student表结构

列名称 Sno Sname Ssex Sage Sdept Sclass Stotal 用途 学号 姓名 性别 年龄 所在系 班级 总学分 类型 字符 字符 字符 整型 字符 字符 整型 8 8 2 20 4 长度 约束 主键 非空 {男,女} 非空 默认值0 备注 表2. Course表结构

列名称 Cno Cname Cpno Ccredit 用途 课程号 课程名 先修课程号 学分 类型 字符 字符 字符 整型 长度 4 40 4 约束 主键 备注 非空,唯一 外键 引用本表的Cno 表3. SC表结构

列名称 Sno Cno Grade

用途 学号 课程号 成绩 类型 字符 字符 整型 长度 8 4 约束 备注 主码属性,外键 引用Student的Sno 主码属性,外键 引用Course的Cno 0<=成绩<=100 1.创建基本表及约束 (1)创建Student表

CREATE TABLE Student

( Sno CHAR(8) PRIMARY KEY, Sname CHAR(8) NOT NULL,

Ssex CHAR(2) CHECK( Ssex in ('男','女')), Sage SMALLINT, Sdept CHAR(20),

Sclass CHAR(4) NOT NULL,

Stotal smallint DEFAULT 0 );

? 掌握主键约束、非空约束、CHECK约束、默认值的定义格式。

(2)创建Course表

CREATE TABLE Course

( Cno CHAR(4) CONSTRAINT FK_Course PRIMARY KEY, Cname CHAR(40), Cpno CHAR(4) , Ccredit SMALLINT );

(3)创建SC表

CREATE TABLE SC

( Sno CHAR(8) FOREIGN KEY (Sno) REFERENCES Student(Sno), Cno CHAR(4),

Grade SMALLINT CONSTRAINT SC_CHECK CHECK(Grade >0 AND Grade<100), PRIMARY KEY (Sno,Cno),

CONSTRAINT FK_SC FOREIGN KEY (Cno) REFERENCES Course(Cno) );

? 掌握多个属性的主键约束、外键约束、CHECK约束的定义格式。 ? 掌握约束的命名方式。

(4)检查表是否创建成功。 2. 插入数据

将如下表格中的数据分别插入到数据库相应的表中:

表4.学生基本信息表

学号 20100001 20100002 姓名 李勇 刘晨 性别 男 女 年龄 20 19 所在系 CS CS 班级 1001 1001 总学分 0 0 20100021 20100031 20100003 20100010 20100022 王敏 张立 刘洋 赵斌 张明明 女 男 女 男 男 18 19 19 19 MA IS IS CS 1002 1003 1001 1005 1002 0 0 0 0 0 表5.课程信息表

课程号 1 2 3 4 5 6 7 课程名 数据库系统原理 高等数学 管理信息系统 操作系统原理 数据结构 数据处理 C语言 先修课程号 56 1 6 7 表6.学生选课信息表

学号 20100001 20100001 20100001 20100002 20100002 20100003 200100010 (1)插入学生信息到Student表

INSERT INTO Student VALUES('20100001','李勇','男',20,'CS','1001',0) INSERT INTO Student VALUES('20100002','刘晨','女',19,'CS','1001',0) 请写出插入其余行的插入语句,并插入数据。 (2)插入到课程信息到Course表

INSERT INTO Course(Cno,Cname,Cpno,Ccredit) VALUES('1','数据库系统原理', '5',4) INSERT INTO Course(Cno,Cname,Cpno,Ccredit) VALUES('2','高等数学', null,2) 请写出插入其余行的插入语句,并插入数据。

课程号 1 2 3 1 2 1 3 成绩 92 85 88 90 80 学分 4 2 4 3 4 2 4

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

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