本文出自:http://blog.csdn.net/svitter

实验目标:熟悉实体完整性,参照完整性,事务的处理;

/*1.在数据库school表中建立表Stu_uion,进行主键约束,在没有违反实体完整性的前提下插入并更新一条记录*/
Use school
create table stu_uion
(
sno char(5) not null unique,
sname char(8),
ssex char(1),
sage int,
sdept char(20),
constraint pk_stu_uion primary key (sno)
);
insert stu_uion values('10000', 'Wangmin', '1', 23, 'CS');
update stu_uion set sno = ' '
where sdept = 'CS';
update stu_uion set sno = '92002'
where sname = 'Wangmin';
select * from stu_uion; /*2.3.演示违反实体完整性的插入,更新操作*/
Use school
insert stu_uion values('10000', 'Li hua', '1', 23, 'CS');/*unique*/
update stu_uion set sno = NULL where sno = '10000'; /*not null*/ /*4.演示事务的处理,包括事务的建立,处理,以及出错事务的回退*/
Use school
set xact_abort on
/*设置xact_abort 为on时,如果transaction(事务)语句出现错误,那么整个事务都会回滚
*如果设置其为off时,只回滚出错的语句*/
begin transaction t1
insert into stu_uion values('95009', 'Li yong', 'M', 25, 'EE');
insert into stu_uion values('95003', 'wang hao', '0', 25, 'EE');
insert into stu_uion values('95005', 'wang hao', '0', 25, 'EE');
select * from stu_uion ;
commit transaction t1 /*5.通过建立scholarship表 ,插入数据,演示当前与现有的数据环境不等时,无法建立实体完整性以及参照完整性*/
Use school
Create table Scholarship
(
M_ID varchar(10),
Stu_id char(10),
R_money int
);
insert into scholarship values('0001', '700000', 5000);
insert into scholarship values('0001', '800000', 5000);
select * from scholarship; /*constraint*/
Use school
alter table scholarship add
constraint pk_scholarship primary key(M_ID);/*pk: primary key*/
/*存在两个0001,无法建立主键约束*/ /**scholarship中的数据,不满足stu_id和students表中的sid对应性,创建参照完整性失败*/ Use school
alter table scholarship add
constraint fk_scholarship foreign key (Stu_id) references students(sid);
作者:svitter 发表于2014-5-5 15:12:29 原文链接
阅读:142 评论:0 查看评论

[原]SQL_实验2.1.3 清华大学出版社的更多相关文章

  1. 踢爆IT劣书出版黑幕——由清华大学出版社之《C语言入门很简单》想到的(1)

    1.前言与作者 首先声明,我是由于非常偶然的机会获得<C语言入门很简单>这本书的,绝对不是买的.买这种书实在丢不起那人. 去年这书刚出版时,在CU论坛举行试读推广,我当时随口说了几句(没说 ...

  2. 《C语言入门1.2.3—一个老鸟的C语言学习心得》—清华大学出版社炮制的又一本劣书及伪书

    <C语言入门1.2.3—一个老鸟的C语言学习心得>—清华大学出版社炮制的又一本劣书及伪书 [薛非评] 区区15页,有80多个错误. 最严重的有: 通篇完全是C++代码,根本不是C语言代码. ...

  3. 《JavaWeb从入门到精通》(明日科技,清华大学出版社)

    <JavaWeb从入门到精通>(明日科技,清华大学出版社)

  4. 《Linux企业应用案例精解》一书已由清华大学出版社出版

    <Linux企业应用案例精解>简介 650) this.width=650;" border="0" alt="223754878.jpg" ...

  5. JavaScript从入门到精通(附光盘1张):作者:明日科技出版社:清华大学出版社出版时间:2012年09月

    本书介绍 一:本书 pdf 获取信息 本书下载:请申请加入本群 (QQ群:668345923),   并联系群主. 本群主有:本书pdf 全文教材 及附带的 光盘内容 二:本书目录介绍 第1篇  基 ...

  6. 编译原理--02 自顶向下、自底向上的LR分析复习(清华大学出版社第3版)

    前言 目录 01 文法和语言.词法分析复习 02 自顶向下.自底向上的LR分析复习 03 语法制导翻译和中间代码生成复习 04 符号表.运行时存储组织和代码优化复习 第4章 自顶向下的语法分析方法 确 ...

  7. 清华大学出版社即将推出的又一本挂羊头卖狗肉的劣书 《C语言入门1.2.3—一个老鸟的C语言学习心得》

    http://www.tup.com.cn/book/showbook.asp?CPBH=051892-01

  8. Oracle+PL+SQL从入门到精通.丁士锋.清华大学出版社.2012

    \t第1篇 pl/sql开发入门第1章 oracle 11g数据库系统1.1 关系型数据库系统介绍1.1.1 什么是关系型数据模型1.1.2 数据库系统范式1.1.3 关系型数据库管理系统1.1.4 ...

  9. 《VSTO开发中级教程》刘永富 著 清华大学出版社 在线购买

    现在可以和作者 刘永富 通过“二手书直卖”这个APP直接买书. 二手书直卖 的下载方法: 方法一:加QQ群61840693,群共享中搜索“二手书直卖”,下载后打开即可. 方法二:从本帖下载:二手书直卖 ...

随机推荐

  1. CentOS 防火墙打开和关闭端口(转载)

    From:http://jianzhong5137.blog.163.com/blog/static/982904920126202313376/ http://soft.chinabyte.com/ ...

  2. TableViewCell的分割线显示不全解决方法

    - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath ...

  3. Async/Await - Best Practices in Asynchronous Programming z

    These days there’s a wealth of information about the new async and await support in the Microsoft .N ...

  4. SOAP: java+xfire(web service) + php客户端

    作者: 吴俊杰 web service这项技术暂不说它有多落伍,但是项目中用到了,没法逃避!    xml和json各有各的好处,但是JSON无疑是当今数据交互的主流了.客户soap服务器端用的是 j ...

  5. Hibernate的dialect大全

    RDBMS 方言 DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 org.hibernate.dialect.DB2400Dialect DB2 OS3 ...

  6. C++学习26 运算符重载的概念和语法

    所谓重载,就是赋予新的含义.函数重载(Function Overloading)可以让一个函数名有多种功能,在不同情况下进行不同的操作.运算符重载(Operator Overloading)也是一个道 ...

  7. [ActionScript 3.0] AS3.0根据当天日期获取明天,后天...日期

    const dayTime:Number=24*3600*1000//一天毫秒数 var date:Date = new Date(); trace("今天:"+ date.toD ...

  8. 打印从1到最大的n位数

    //和剑指offer程序基本一致,不过print和进位两部分合并在一个程序中 //如果把其分拆,进行适当的整理,代码会更加整洁 void PrintToMaxOfDigitsN(int n) { ) ...

  9. @SessionAttributes与HttpSession

    SessionAttributes注解将model中与它同名的属性保存在HttpSession中. 在controller的方法执行完毕后处理SessionAttributes注解并保存的,是Hand ...

  10. DP编辑距离

    俄罗斯科学家Vladimir Levenshtein在1965年提出了编辑距离概念. 编辑距离,又称Levenshtein距离,是指两个字符串之间,由一个转成另一个所需的最少编辑操作次数.许可的三种编 ...