第3章关系数据库标准语言SQL 学习要点 1、SQL语言的基本概念及特点 2、定义表、修改、删除基本表 3、建立索引、删除索引 4、单表、连接、嵌套、集合查询 5、插入、修改、删除数据 6、定义、查询、更新视图 7、数据控制
第3章 关系数据库标准语言SQL 学习要点 1、SQL语言的基本概念及特点 2、定义表、修改、删除基本表 3、建立索引、删除索引 4、单表、连接、嵌套、集合查询 5、插入、修改、删除数据 6、定义、查询、更新视图 7、数据控制
第3章关系数据库标准语言SQL 3.1SQL语言的基本概念及特点 3.2数据定义 3.3查询 3.4数据更新 3.5视图 3.6SQL的数据控制功能 习题及参考答案
第3章 关系数据库标准语言SQL 3.1 SQL语言的基本概念及特点 3.2 数据定义 3.3 查询 3.4 数据更新 3.5 视图 3.6 SQL的数据控制功能 习题及参考答案
第3章关系数据库标准语言SQL 31SQL语言的基本概念及特点 311SQL语言的基本概念 sQL语言支持关系数据库三级模式结构。其中外 模式对应于视图(view)和部分基本表(Base Tabe),模式对应于基本表,内模式对应于存储文 件。 基本表是本身独立存在的表,在SQL中一个关系 就对应一个表。一些基本表对应一个存储文件,一个 表可以带若干索引,索引也存放在存储文件中
第3章 关系数据库标准语言SQL 3.1 SQL语言的基本概念及特点 3.1.1 SQL语言的基本概念 SQL语言支持关系数据库三级模式结构。其中外 模 式 对应 于 视图 ( View) 和 部分 基本 表 ( Base Table),模式对应于基本表,内模式对应于存储文 件。 基本表是本身独立存在的表,在SQL中一个关系 就对应一个表。一些基本表对应一个存储文件,一个 表可以带若干索引,索引也存放在存储文件中
311SQL语言的基本概念 存储文件的逻辑结构组成了关系数据库的 内模式。存储文件的物理文件结构是任意的。 视图是从基本表或其他视图中导出的表, 它本身不独立存储在数据库中,也就是说数据 库中只存放视图的定义,而不存放视图对应的 数据,这些数据仍存放在导出视图的基本表中, 因此视图是一个虚表。用户可以用SQL语言对 视图和基本表进行查询
3.1.1 SQL语言的基本概念 存储文件的逻辑结构组成了关系数据库的 内模式。存储文件的物理文件结构是任意的。 视图是从基本表或其他视图中导出的表, 它本身不独立存储在数据库中,也就是说数据 库中只存放视图的定义,而不存放视图对应的 数据,这些数据仍存放在导出视图的基本表中, 因此视图是一个虚表。 用户可以用SQL语言对 视图和基本表进行查询
312SQL语言的特点 sQL语言之所以能够为用户和业界所接受 并成为国际标准,是因为它是一个综合的、通 用的、功能极强同时又简洁易学的语言。SQL 语言集数据査询( Data Query)、数据操纵 ( Data Manipulation)、数据定义(Data Definition)和数据控制( Data contro)功 能于一体,充分体现了关系数据语言的特点和 优点
3.1.2 SQL语言的特点 SQL语言之所以能够为用户和业界所接受 并成为国际标准,是因为它是一个综合的、通 用的、功能极强同时又简洁易学的语言。SQL 语言集数据查询(Data Query)、数据操纵 (Data Manipulation)、数据定义(Data Definition)和数据控制(Data Control)功 能于一体,充分体现了关系数据语言的特点和 优点
312SQL语言的特点 特点如下: 1.综合统 2.高度非过程化 3.面向集合的操作方式 4.以同一种语法结构提供两种使用方式 5.语言简洁,易学易用
3.1.2 SQL语言的特点 特点如下: 1.综合统一 2.高度非过程化 3.面向集合的操作方式 4.以同一种语法结构提供两种使用方式 5.语言简洁,易学易用
32数据定义 321定义基本表 定义基本表命令的格式为: CREATE TABLE( [列级完整性约束条件][ 其中是所要定义的基本表的名字,它可以由一个 或多个属性(列)组成。建表的同时通常还可以定义与该表有 关的完整性约束条件,这些完整性约束条件被存入系统的数据 字典中,当用户操作表中数据时由DBMS自动检查该操作是否 违背这些完整性约束条件
3.2 数据定义 3.2.1 定义基本表 定义基本表命令的格式为: CREATE TABLE( [列级完整性 约束条件][, [列级完整性约束条件]…][,]; 其中是所要定义的基本表的名字,它可以由一个 或多个属性(列)组成。建表的同时通常还可以定义与该表有 关的完整性约束条件,这些完整性约束条件被存入系统的数据 字典中,当用户操作表中数据时由DBMS自动检查该操作是否 违背这些完整性约束条件
321定义基本表 下面以一个“学生-课程”数据库为例说明 SELECT语句的 各种用法。 “学生-课程”数据库中包括三个表 (1)“学生”表 Student由学号(sno)、姓名 ( Sname)、性别(Ssex)、年龄(Sage)、所在系 Sdept)五个属性组成,可记为 Student(Sno, Sname Ssex Sage Sdept) Sno (2)“课程”表 Course由课程号(cno)、课程名 ( Cname)、先修课号(Pcno)、学分( Ccredit)四个属性 组成,可记为: Course( Cno, cname, Pco, ccredit)cno。 (3)“学生选课”表SC由学号(Sno)、课程号 (cno)、成绩( Grade)三个属性组成,可记为 SC(Sno, Cno, Grade)(Sno, Cno)
3.2.1 定义基本表 下面以一个“学生-课程”数据库为例说明SELECT语句的 各种用法。 “学生-课程”数据库中包括三个表: ( 1 ) “ 学 生 ” 表 Student 由学号 ( Sno ) 、 姓 名 ( Sname ) 、 性 别 ( Ssex ) 、 年 龄 ( Sage) 、 所在系 ( Sdept ) 五个属性组成 , 可记为: Student(Sno,Sname,Ssex,Sage,Sdept) Sno。 (2)“课程”表Course由课程号(Cno)、课程名 (Cname)、先修课号(Pcno)、学分(Ccredit)四个属性 组成,可记为: Course(Cno,Cname,Pcno,Ccredit) Cno。 ( 3) “ 学 生 选课 ”表 SC由学号 ( Sno) 、课 程号 ( Cno ) 、 成 绩 ( Grade ) 三个属性组成 , 可记为: SC(Sno,Cno,Grade) (Sno,Cno)
321定义基本表 【例3-1】建立一个“学生”表 Student,它由学号Sno、姓 名 Sname、性别Ssex、年龄Sage、所在系 Sdept五个属性 组成,其中学号属性不能为空,并且其值是惟一的。 CREATE TABLE Student (Sno CHAR( NOT NULL UNIQUE, Sname CHAR(20 Ssex CHAR(1)I Sage INT, Sdept CHAR(15))
3.2.1 定义基本表 【例3-1】建立一个“学生”表Student,它由学号Sno、姓 名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性 组成,其中学号属性不能为空,并且其值是惟一的。 CREATE TABLE Student (Sno CHAR(5) NOT NULL UNIQUE, Sname CHAR(20), Ssex CHAR(1), Sage INT, Sdept CHAR(15));
士322修改基本表 修改基本表命令的格式为: ALTER TABLE[ADD[完整性约束]DRoP ][ MODIFY ]P 其中指定需要修改的基本表,ADD子 句用于增加新列和新的完整性约束条件,DROP子 句用于删除指定的完整性约束条件, MODIFY子句 用于修改原有的列定义
3.2.2 修改基本表 修改基本表命令的格式为: ALTER TABLE[ADD [完整性约束]][DROP ] [MODIFY ]; 其中指定需要修改的基本表,ADD子 句用于增加新列和新的完整性约束条件,DROP子 句用于删除指定的完整性约束条件,MODIFY子句 用于修改原有的列定义