http://blog.163.com/db_teacher/blog/static/194540298201110723712407/
实验(七)、第五章 数据库完整性
2011-11-07 14:37:12| 分类: 默认分类 | 标签: |字号大中小 订阅
一、实验目的
1.熟悉通过SQL语句对数据进行完整性控制
2.完成《数据库系统概论》一书中第五章例题的上机练习
二、实验平台
MS SQL Server 2000
三、实验要求
使用SQL语句对数据进行完整性控制,包括3类完整性约束、CHECK短语、CONSTRAINT子句、触发器。通过实验证实,当操作违法完整性约束条件时,系统是如何处理的。
四、实验内容及完成情况
在本次实验中,对数据完整性进行上机练习。包括3类完整性、CHECK短语、CONSTRAINT子句、触发器。因为完整性约束绝大部分是在定义表结构时进行的,因此可能需要多次重复定义同一张表。如果表名发生重复,则需要先删除旧表后再重新建立。
在开始实验之前,先创建一个名为Practice7的数据库,下面所有的SQL语句都是在Practice7这个数据库内执行的
1.在数据库Practice7中创建教材P82的student, course, sc三张表,先不设置主键,检查能否向表中插入重复值。
<记录下验证的过程,需要自己完成>
2.实体完整性:删除上一步创建的3张表,重新创建,对每张表都设置主键,先不为SC 表设置外键。再次检查能否向表中插入重复值,能否在SC表中插入不存在的学号(Sno)或者课程号(Cno)
3. 参照完整性:删除上一步创建的SC表,重新创建SC表并为其设置主键和外键。再次验证能否在SC表中插入不存在的学号(Sno)或者课程号(Cno)
4. 用户定义的完整性:完成教材 P158[例10],并通过插入数据进行验证。
5.触发器的使用(选做)
创建一个名为Tab的表,它仅包含一整数列(列名为col)。在表Tab上定义触发器Tri,在对Tab表插入或者更新前进行检查,如果插入或更新的值在60~100之间,将值设置为60;如果大于100,则给出新值不允许大于100的提示信息。
五、出现的问题及解决方案
<记录下自己在实验过程中出现的问题及解决方法,需要自己完成>
附录:本次实验参考解答

http://blog.163.com/db_teacher/blog/static/194540298201110723712407/的更多相关文章
- http://blog.163.com/zhangmihuo_2007/blog/static/27011075201392685751232/
http://blog.163.com/zhangmihuo_2007/blog/static/27011075201392685751232/
- IOS绘图详解(http://blog.163.com/wkyuyang_001/blog/static/10802122820133190545227/)
14.1 Quartz概述 Quartz是Mac OS X的Darwin核心之上的绘图层,有时候也认为是CoreGraphics.共有两种部分组成Quartz: Quartz Compositor,合 ...
- EIGRP认证 配置 (仅仅是命令 原理自己去看书) 转自:http://blog.163.com/s_u/blog/static/13308367201111771831631/
EIGRP认证 目的:掌握EIGRP的MD5认证 拓扑:这里IP配置我就不写出来了,应该对大家来说是非常简单的事了,就要细心一点就可以了.首先我们在R1上启用MD5认证R1(config)#key c ...
- stm单片机之STM32F4-Discovery资料汇总 (转载自http://blog.163.com/thinki_cao/blog/static/83944875201362493134992/)
STM32F4的资料大部分都在这里: http://www.stmcu.org/download/index.php?act=ziliao&id=150 根据个人的理解对这些资料作了一些规律, ...
- windows下安装nginx (转载自:http://blog.163.com/njut_wangjian/blog/static/1657964252013327103716818/)
1. 到nginx官网上下载相应的安装包,http://nginx.org/en/download.html:下载进行解压,将解压后的文件放到自己心仪的目录下,我的解压文件放在了d盘根目录下,如下图 ...
- http://love3400wind.blog.163.com/blog/static/7963080120132794359703/
http://love3400wind.blog.163.com/blog/static/7963080120132794359703/
- http://blog.163.com/eugeneheen_chen@126/blog/static/120812157201291994916866/
http://blog.163.com/eugeneheen_chen@126/blog/static/120812157201291994916866/
- 组合,关联,聚合的区别(转自http://jimmyleeee.blog.163.com/blog/static/9309618200932014422932/)
类间关系 在类图中,除了需要描述单独的类的名称.属性和操作外,我们还需要描述类之间的联系,因为没有类是单独存在的,它们通常需要和别的类协作,创造比单独工作更大的语义.在UML类图中,关系用类框之间的连 ...
- C,C++经典笔试题(答案)转自:http://blog.163.com/jianhuali0118@126/blog/static/377499702008230104125229/
一.请填写BOOL , float, 指针变量 与“零值”比较的 if 语句.(10分) 请写出 BOOL flag 与“零值”比较的 if 语句.(3分) 标准答案: if ( fla ...
随机推荐
- Git学习之添加远程仓库
好久没有写过博客了,只因人生世事无常! 前言:说实话,早就听说了Git这个代码管理工具的NB之处,却一直没有时间好好学习下.现在终于有时间学习一下这个伟大的工具,在此写下在学习过程中遇到的问题! 推荐 ...
- POJ 1228 Grandpa's Estate(凸包)
Grandpa's Estate Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 11289 Accepted: 3117 ...
- Android Xutils 框架
XUtils是git上比较活跃 功能比较完善的一个框架,是基于afinal开发的,比afinal稳定性提高了不少,下面是介绍: 鉴于大家的热情,我又写了一篇Android 最火框架XUtils之注解机 ...
- uva 1391 Astronauts(2-SAT)
/*翻译好题意 n个变量 不超过m*2句话*/ #include<iostream> #include<cstdio> #include<cstring> #inc ...
- My.Ioc 代码示例——使用条件绑定和元数据(可选)构建插件树
本文旨在通过创建一棵插件树来演示条件绑定和元数据的用法. 说“插件树”也许不大妥当,因为在一般观念中,谈到插件树,我们很容易会想到 Winform/Wpf 中的菜单.举例来说,如果要在 Winform ...
- application/json IE 兼容问题
由于IE系列浏览器把application/json响应视为文件,并尝试下载在网上看了一下,大致了解,只要修改返回的内容的类型(ContentType)即可解决问题. 由于ajax请求,返回类型默认就 ...
- crud的意识
CRUD说的就是增查改删C:Create 增加对应CREATE TBL ...: ADD TBL IN (...) VALUES (...)R:Retrieve查询SELECT * from TBLU ...
- iOS之多线程开发NSThread、NSOperation、GCD
原文出处: 容芳志的博客 欢迎分享原创到伯乐头条 简介iOS有三种多线程编程的技术,分别是:(一)NSThread(二)Cocoa NSOperation(三)GCD(全称:Grand Centr ...
- 【USACO 2.1.2】法雷序列
[问题描述] 对任意给定的一个自然数 n(n<=160), 将分母小于等于 n 的不可约的真分数按上升的次序排序 , 并且在第一个分数前加上 0/1, 而在最后一个分数后加上 1/1, ...
- linux之umask函数解析
[lingyun@localhost umask_1]$ vim umask.c + umask.c ...