本文出自: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. 用block响应button的点击事件

    1.继承UIButton : 2.在自己定义的button类中的方法 addTarget:(id)target action:(SEL)action forControlEvents:(UIContr ...

  2. 集成paypal支付

    https://developer.paypal.com cocoapods 管理 引入 pod 'PayPal-iOS-SDK' 1.在appdelegate #import <PayPalM ...

  3. ASPxGridView中DetailRow的使用

    ASPxGridView是一个方便的数据显示控件,可是自动的绑定我们所需要的数据,但是有时,当数据属性过多时,我们并不一定要把所有的信息提供给所有的人,当有人需要这些数据时可以自动的进行查看,这时就可 ...

  4. Replace JSON.NET with Jil JSON serializer in ASP.NET Web API

    I have recently come across a comparison of fast JSON serializers in .NET, which shows that Jil JSON ...

  5. Innosetup中将bat文件压缩到压缩包中

      有时候在安装的过程中需要调用某些文件(bat或者exe等文件),但是只需要使用一次,然后就可以删掉该文件, 在Innosetup中应该这样操作: 1.在.iss脚本的[Files]章节写下: So ...

  6. Inno Setup命令行安装卸载参数

    安装命令行参数安装程序接受可选的命令行参数.这些对于系统管理员以及其它程序调用安装程序时有用./SP- 在安装开始时禁用“这将安装... 你想继续吗?”的提示,当然,如果 [Setup] 段的指令 D ...

  7. LaTex学习笔记

    常见符号大全:http://ia.wikipedia.org/wiki/Wikipedia:LaTeX_symbols 字体加粗: \textbf{} 换页:\newpage 大于等于,小于等于    ...

  8. hive处理hbase数据

    CREATE EXTERNAL TABLE table1( key string, zoneid int, result int, ) STORED BY 'org.apache.hadoop.hiv ...

  9. 产生library cache latch原因

    产生library cache latch原因The library cache latches protect the cached SQL statements and objects' defi ...

  10. php 判断数组是否为空的几种方法

    php数组为空我们可以通过很多php自带函数来实现了,比如count函数,empty函数等都可以判断数组是否为空,下面小编就为各位整理了不少的判断数组是否为空的函数,希望对各位会带来帮助. PHP判断 ...