《数据库约束C#》PPT课件.ppt

上传人:san****019 文档编号:15717115 上传时间:2020-09-01 格式:PPT 页数:25 大小:226.60KB
收藏 版权申诉 举报 下载
《数据库约束C#》PPT课件.ppt_第1页
第1页 / 共25页
《数据库约束C#》PPT课件.ppt_第2页
第2页 / 共25页
《数据库约束C#》PPT课件.ppt_第3页
第3页 / 共25页
资源描述:

《《数据库约束C#》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数据库约束C#》PPT课件.ppt(25页珍藏版)》请在装配图网上搜索。

1、基础知识复习,5,1,数据库约束,5,2,数据库约束练习,数据库约束,什么是数据库约束 是为了保证数据的完整性而实现的一套机制。将约束放置在列或表上,可以保证数据满足某种完整姓规则。 约束包括: 检查约束(CHECK)、主键约束(PRIMARY KEY)、外键约束(FOREIGN KEY)、唯一约束(UNIQUE)和默认约束(DEFAULT)。,CHECK 约束 通过数据库表里,在字段级或表级加入的检查约束,使其满足特定的要求。比如下面的表定义: 例:在职员表staff中,职员的考勤分数需要大于0。 CRATE TABLE staff( Sno int, SName varchar(10),

2、score int CHECK (scrore 0); 定义考勤分数不能小于等于0。, PRIMARY KEY 约束 列内容不能重复,且不能为空。 UNIQUE约束 定义一个唯一约束但是它并不包括NULL值。直接在字段定义后加入UNIQUE即可定义一个唯一约束。 DEFAULT约束 每列只能有一个 DEFAULT 定义。DEFAULT 定义可以包含常量值、函数、或 NULL。, FOREIGN KEY约束 外键约束是确保数据完整性并显示表之间关系的一种方法。在一张表上添加一个外键,也就是在创建定义外部键的表【参照表(referencing table)】和外部键引用表(referenced t

3、able)之间的信赖关系。定义外键后,插入到参照表中的任何记录要么在引用表的引用列中有记录,要么将外部键列的值设置为NULL。,外键的例子:在学生的成绩系统中,现有学生信息表,学生成绩表。如果学生退学了或其他原因需要删除某学生记录,同时要求删除该学生的成绩记录。 建立的三个表如下: /学生信息表 CREATE TABLE student ( sno nchar(12) primary key, sname nvarchar(50), sphone nchar(15) ),/学生课程表 CREATE TABLE course( cno nvarchar(10) primary key , cna

4、me nvarchar(50), desc1 nvarchar(50) ),CREATE TABLE SC( sno nchar(12)references student, cno nvarchar(10) references course, score int CHECK (score 0) );,CREATE TABLE sc( sno nchar(12)references student ON UPDATE CASCADE ON DELETE CASCADE, /希望在学生记录改变时自动改变分数记录,在删除学生时,级联删除分数记录。 cno nvarchar(10) referen

5、ces course ON UPDATE CASCADE ON DELETE RESTRICT, /希望在改变课程时自动改变分数记录表里关于课程的引用,但是不希望删除课程时级联删除分数。 score int CHECK (score 0) );,约束的创建、查看、删除 增加主键约束 基本语法: ALTER TABLE 表名 ADD CONSTRAINT 主键约束名 PRIMARY KEY CLUSERED|NONCLUSTERED (列名1【,列名2,列名n)】 注意: 如果不指定主键名,系统将自动分配名称。,例1:创建一个表SC,同时使用CONSTRANT子句将sno字段定义为主键,主键名为

6、:PK_Student1。 方法一: CREATE TABLE SC (sno nchar(12) NOT MULL, cno nvarchar(10) NOT MULL, cno int NULL, CONSTRANT PK_Student1 PRIMARY KEY (sno) ),方法二: 1.建表 CREATE TABLE SC (sno nchar(12) NOT MULL, cno nvarchar(10) NOT MULL, score int NULL) 2.增加主键约束 ALTER TABLE score ADD CONSTRAINT PK_student1 PRIMARY K

7、EY (sno),增加外键约束 基本语法: ALTER TABLE 表名 ADD CONSTRAINT 外键约束名 FOREIGN KEY (列名1【,列名2,列名n)】 REFERENCES 关联表(关联列名1,【关联列名2,,关联列名n】,例:将SC表中的cno字段增加为外键,该值参照course表中cno字段的值,外键名为:FK_course1。 ALTER TABLE SC ADD CONSTRAINT FK_course1 FOREIGN KEY (cno) REFERENCES course(cno),增加检查约束 基本表达式: ALTER TABLE 表名 ADD CONSTRA

8、INT 约束名 CHECK NOT FOR REPLICATION 用于指定从其他表中复制数据时,不检查约束条件。 (逻辑表达式),例:使用CREATE TABLE语句建表SC ,同时创建检查约束,定义列score的值大于等于0。 CREATE TABLE SC (sno nchar(12) NOT NULL, cno nvarchar(10) NOT NULL, score float , CONSTRAINT FK_student1 FOREIGN KEY (sno) references student (sno), CONSTRAINT FK_course foreign key (c

9、no) references course (cno), CONSTRAINT CK_score CHECK (cno =0) ),例:使用CREATE TABLE 语句创建表student,同时创建检查约束,定义列Sno只能以大写的两个字母开始,其余几位只能是数字。 CREATE TABLE student (Sno nchar(6) NOT NULL, Sname varchar(10) NOT NULL, Sex varchar(2), CONSTRAINT FK_student PRIMARY KEY CONSTRAINT CK_student CHECK (Sno LIKE A-ZA

10、-Z0-90-90-90-9) ),例:给SC表增加一个检查约束,要求成绩score0. alter table sc add constraint ck_sc check(score=0),增加唯一性约束 基本语法: ALTER TABLE ADD CONSTRAINT 约束名 UNIQUE CLUSTERED | NONCLUSTERED 指定创建聚集或非聚集索引 (列名1【,列名2,列名n】),例:创建表student,将sname列设置唯一性约束。 方法一: CREATE TABLE student (Sno nchar(6) not null, Sname varchar(10),

11、CONSTRAINT PK_student1 PRIMARY KEY(Sno), CONSTRAINT IX_student1 UNIQUE(Sname) ),方法二: 1. CREATE TABLE student (Sno nchar(6) not null, Sname varchar(10)) 2. alter table student add CONSTRAINT IX_student1 UNIQUE(sname),增加默认约束 基本语法: ALTERTABLEtable_name ADDCONSTRAINTconstraint_name DEFAULTdefault_value FORcolumn_name,例:为student表的sbithday建立默认约束,默认为系统日期。 alter table student add constraint df_st default getdate() for sbirthday,删除约束 基本语法如下: ALTER TABLE 表名 DROP CONSTRAINT 约束名 例: ALTER TABLE Student DROP CONSTRAINT PK_student,练习 课堂练习,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!