第3章节DataBase重做.pptVIP

  • 1
  • 0
  • 约2.13万字
  • 约 82页
  • 2017-04-01 发布于四川
  • 举报
第3章节DataBase重做

An Introduction to Database System 内蒙古工业大学信息工程学院计算机系 第三章 关系数据库标准语言SQL 3.1 SQL概述 3.2 数据定义 3.3 查询 3.4 数据更新 3.5 视图 3.6 数据控制 3.7 嵌入式SQL 3.8 小结 3.1 SQL概述 SQL的发展 SQL(Structured Query Language) 1974年提出 1975~1979,关系数据库管理系统原型System R实施了这种语言 该语言最初叫做Sequel(Structured English Query language) 3.1 SQL概述(续) SQL的标准 美国国家标准协会(ANSI)和国际标准化组织(ISO)制定了一系列的SQL标准: SQL-86是第一个SQL标准(ANSI) SQL-89、SQL-92(SQL2)、SQL-99(SQL3) 现状 大部分DBMS产品(System R、SQL/DS、Oracle、Informix、Sybase、INGRES、DB2、FoxPro、Access)都支持SQL, SQL成为操作关系数据库的标准语言 有方言,支持程度不同 3.1 SQL概述(续) SQL的特点 1. 综合统一(DDL、DML、DCL一体) 2. 高度非过程化 3. 面向集合的操作方式 4. 以同一种语法结构提供两种使用方法 5. 语言简洁,易学易用 5. 语言简捷,易学易用 3.1 SQL概述(续) SQL的形式 交互式SQL 一般DBMS都提供联机交互工具 用户可直接键入SQL命令对数据库进行操作 由DBMS来进行解释 嵌入式SQL 能将SQL语句嵌入到高级语言(宿主语言) 使应用程序充分利用SQL访问数据库的能力、宿主语言的过程处理能力 一般需要预编译,将嵌入的SQL语句转化为宿主语言编译器能处理的语句 第三章 关系数据库标准语言SQL 3.1 SQL概述 3.2 数据定义 3.3 查询 3.4 数据更新 3.5 视图 3.6 数据控制 3.7 嵌入式SQL 3.8 小结 3.2 数 据 定 义 3.2.1 定义语句格式 CREATE TABLE 表名 (列名 数据类型[ 列级完整性约束条件 ] [,列名 数据类型[ 列级完整性约束条件] ] … [,表级完整性约束条件 ] ); 表名:所要定义的基本表的名字 列名:组成该表的各个属性(列) 列级完整性约束条件:涉及相应属性列的完整性约束条件 表级完整性约束条件:涉及一个或多个属性列的完整性约束条件 例题 [例1] 建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成。其中学号不能为空,值是唯一的,并且姓名取值也唯一。 CREATE TABLE Student (Sno CHAR(5) NOT NULL UNIQUE, Sname CHAR(20) UNIQUE, Ssex CHAR(1) , Sage INT, Sdept CHAR(15)); 定义基本表(续) 常用完整性约束 主码约束: PRIMARY KEY 唯一性约束:UNIQUE 非空值约束:NOT NULL DEFAULT:给定列的默认值,使用形式为:DEFAULT 常量 CHECK:限制列的取值范围,使用形式为:CHECK(约束表达式) FOREIGN KEY:定义本列为引用其他表的外码.使用形式为:[FOREIGN KEY][] REFERENCES () 完整性约束说明 除NOT NULL和DEFAULT不能在表级完整性约束处定义之外,其他约束均可在表级完整性约束处定义. 但有些约束必须在表级约束处定义: 第一,如果CHECK约束是定义多列之间的取值约束; 第二,如果表的主码由多个列(超过1列)组成; 第三,如果在表级完整性约束处定义外码。 CREATE TABLE Student ( Sno char ( 7 ) PRIMARY KEY, Sname char ( 10 ) NOT NULL, Ssex char (2) CHECK (Ssex = 男 OR Ssex = 女), Sage int CHECK (Sage = 15) ) CREATE TABLE SC ( Sno char(7) NOT NULL, Cno char(10) NOT NULL, Grade int CHECK (Grade = 0 and Grade = 100), P

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档