ch5 数据库系统概念(第6版)第五章高级SQL
- 格式:pdf
- 大小:1.88 MB
- 文档页数:96
Chapter 5 数据库完整性
数据库的完整性是指数据的正确性和相容性
DBMS必须能够:
1.定义完整性
定义完整性时可给完整性条件取个名字
2.完整性检查
3.违约处理
拒绝,级连操作,设置空值
一.实体完整性
1.实体完整性定义
2.实体完整性检查和违约处理
二.参照完整性
1.参照完整性定义
2.参照完整性检查和违约处理
三.用户定义的完整性
1.属性上的约束条件的定义
①不允许取空值
②列值唯一
③用check指定列值应该满足的条
件
a)S表中属性ssex只允许取‘男’或
'女'
b)SC表中属性grade的值应在
0~100之间
c)S表中,计算机系(‘CS’)的学生年
龄应在16~25之间,其他系的
学生年龄应在16~35之间
2.约束条件检查和违约处理
拒绝执行
¾触发器
¾问题:
当用户输入一个修改表的语句给DBMS,DBMS做什么?
①检查语法
②检查用户权限
③检查此修改是否违反某个完整性
约束条件
④对相应数据项加锁
⑤执行修改操作
上机六
1.增加表SC对S、C的外键约束
2.将system.C中的值插入你的C
3.增加表C中cpno对cno的外键约束
4.在表SC中插入system.SC的相应记录
5.在表S中增加完整性约束:性别只允许
取‘男’或‘女’, 男学生的年龄在17~28之间,女学生的年龄在16~30之间6.在表S中将你的年龄改为16。
82第5章结构化查询语言SQL在Visual FoxPro 数据库管理系统中,除了具有Visual FoxPro 命令外,还支持结构化查询语言SQL 。
SQL 是关系数据库的标准语言。
查询是SQL 语言的重要组成部分,但不是全部,SQL 还包含数据定义、数据操纵和数据控制等功能。
本章将从数据查询、数据定义、数据修改这3个方面来介绍Visual FoxPro 支持的SQL 语言。
5.1 SQL 简介SQL 来源于20世纪70年代IBM 的一个被称为SEQUEL (Structured English Query Language )的研究项目。
20世纪80年代,SQL 由美国国家标准局(简称ANSI )进行了标准化。
1989年,国际标准化组织ISO 将SQL 定为国际标准,推荐它为标准关系数据库语言。
1990年,我国也颁布了《信息处理系统数据库语言SQL 》,将其定为中国国家标准。
现在,SQL 语言已广泛应用于各大、中、小数据库,如Oracle 、Access 、Sybase 、SQL Server 、FoxPro 等。
SQL 语言的主要特点如下。
(1)SQL 是一种一体化语言,它包括数据定义、数据查询、数据操纵和数据控制等方面的功能,可以完成数据库活动中的全部工作。
包括对表结构的定义、修改,记录的插入、更新、删除和查询以及安全性控制等一系列操作,为数据库应用系统的开发提供了良好的环境。
(2)SQL 是一种高度非过程化语言,它没有必要一步步告诉计算机“如何”去做,而只需要描述清楚用户要“做什么”,SQL 语言就可以将要求交给系统,系统自动完成全部工作。
(3)SQL 语言简洁,易学易用。
虽然SQL 语言功能很强,但它只有为数不多的几条命令,表5.1给出了分类的命令动词。
另外,SQL 的语法也非常简单,接近于自然语言(英语),容易学习与掌握。
(4)统一的语法格式,不同的工作方式。
不仅可以直接以命令的方式交互使用SQL ,也可以嵌入到程序设计语言中以程序方式使用SQL 。