第三章 数据库的标准语言SQL

合集下载

第三章 关系数据库标准语言SQL语言

第三章 关系数据库标准语言SQL语言

第三章关系数据库标准语言SQL语言一、选择题1. 在SQL语言中授权的操作是通过________________语句实现的。

C A.CREATEB.REVOKEC.GRANTD.INSERT2. 假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。

要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系____。

DA.S B.SC,C C.S,SC D.S,C,SC3. 在 MS SQL Server中建立了表 Student(no,name,sex,birthday),no为表的主码,其他属性的默认值为 null。

表中信息如图所示:能够正确执行的插入操作是________。

A No Name Sex Birthday 101 张丽丽女 1967/05/07 102 李芳女 1970/04/14103 王朋男 1982/10/27 A.INSERT INTO student (no,sex) VALUES(102,′男′) B.INSERT INTO student (name,sex) VALUES(′王中′,′男′)D.INSERT INTO student VALUES(106,′王中′,′男′,′1984/03/08′) C.INSERT INTO stude nt VALUES(102,′男′,′王中′,′1984/03/08′) 4. SQL语言中,删除一个表的命令是________。

B A. DELETE B. DROP C. CLEAR D. REMORE 5. 为数据表创建索引的目的是________ AA.提高查询的检索性能B.创建唯一索引C.创建主键D.归类6. 在SQL语言中,条件“RETWEEN 20 AND 30”表示年龄在20到30之间,且________A. 包括20岁和30岁B. 不包括20岁和30岁C. 包括20岁不包括30岁D. 不包括20岁包括30岁7. 为了使索引键的值在基本表中唯一,在建立索引语句中应使用保留字________ AA. UNIQUEB. COUNTC. DISDINCTD. UNION 8. 下面关于SQL语言的说法中,哪一种说法是错误的? ________ AA. 一个SQL数据库就是一个基本表B. SQL语言支持数据库的三级模式结构C. 一个基本表可以跨多个存储文件存放,一个存储文件可以存放一个或多个基本表D. SQL的一个表可以是一个基本表,也可以是一个视图二、简答题1. 什么是基本表?什么是视图?两者的区别和联系是什么?【解答】基本表是本身独立存在的表,在SQL中一个关系就对应一个表。

sql 课件 第3章 关系数据库标准语言SQL

sql 课件 第3章 关系数据库标准语言SQL

山东财政学院计算机信息工程学院
3、默认文件组
在每个数据库中,同一时间只能有一个文件组是默认 文件组(Default Filegroup)。 当进行数据库操作时,如果不指定文件组,则系统自 动选择默认文件组。 可使用Transact-SQL语句中的alter database语句指 定数据库的默认文件组。 在不特别指定的情况下,系统将主要文件组认定为默 认文件组。
山东财政学院计算机信息工程学院
2、扩展盘区
由8个连续页面组成的数据结构称为一个盘区。 是SQL Server分配给表和索引的基本单位。 扩展盘区可分为统一扩展盘区和混合扩展盘区。 统一扩展盘区由一个数据库对象所有。 混合扩展盘区可以为多个数据库所有,即其中最多 可以放8种数据库对象。
山东财政学院计算机信息工程学院
山东财政学院计算机信息工程学院
例:创建具有两个文件组的数据库bank2
CREATE DATABASE BANK2 ON PRIMARY (NAME=BANK2_1_DAT, FILENAME='d:\bank\bank2_f1dat.mdf', SIZE=20MB, MAXSIZE=50MB, FILEGROWTH=5MB), (NAME=BANK2_2_DAT, FILENAME='d:\bank\bank2_f2dat.ndf', SIZE=10MB, MAXSIZE=40MB, FILEGROWTH=5MB),
山东财政学院计算机信息工程学院
3.2 数据定义
3.2.1 数据库的定义 3.2.2 表的定义 3.2.3 索引的定义
山东财政学院计算机信息工程学院
数据定义
SQL Server数据库由包含数据的表集合和其他对象( 如视图、索引、存储过程、触发器、用户、角色等)组 成,支持三级模式结构。其中用户模式对应于视图,逻 辑模式对应于基本表,物理模式对应于存储文件、索引 等。

数据库系统概论(第四版)_王珊_萨师煊_chp3-1

数据库系统概论(第四版)_王珊_萨师煊_chp3-1

课程表:Course(Cno,Cname,Cpno,Ccredit)
学生选课表:SC(Sno,Cno,Grade)
Student表
学 号 Sno
姓 名 Sname
性 别 Ssex
年 龄 Sage
所在系 Sdept
200215121 200215122 200215123 200515125
李勇 刘晨 王敏 张立
查询教师的姓名、职称、应发工资
查询教师的姓名、职称、应发工资 π姓名,职称,应发工资(教师⋈工资)
查询学分大于3的所有课程名称、及其对应的授课 老师姓名和老师所在的系名
查询学分大于3的所有课程名称、及其对应的授课 老师姓名和老师所在的系名 π课程名称,姓名,系名称(σ学分>3(系部⋈教师⋈ 授课⋈ 课程))
3.4.3 嵌套查询
3.4.4 集合查询
3.4.5 Select语句的一般形式
3.4.1 单表查询
查询仅涉及一个表:
一、 选择表中的若干列 二、 选择表中的若干元组 三、 ORDER BY子句 四、 聚集函数 五、 GROUP BY子句
一、 选择表中的若干列
查询指定列
男 女 女 男
20 19 18 19
CS CS MA IS
Course表
课程号 Cno
1 2 3 4 5 6 7
课程名 Cname
数据库 数学 信息系统 操作系统 数据结构 数据处理 PASCAL语言
先行课 Cpno
5 1 6 7 6
学分 Ccredit
4 2 4 3 4 2 4
SC表
学号 Sno
语言简洁,易学易用
SQL语言的动词非常少,主要包括:

第3章:关系数据库标准语言SQL

第3章:关系数据库标准语言SQL

例6:建立一个“课程”表Course. :建立一个“课程” Create table Course (Cno Cpno Char(4) Primary Key, , Char (4) , Cname Char (40) , Ccredit Smallint, , Foreign Key (Cpno) References Course(Cno) );
不论基本表中原来是否已有数据, 不论基本表中原来是否已有数据 , 新增加 的列一律为空值。 的列一律为空值。
例9:将年龄的数据类型改为整型。
ALTER TABLE Student Alter Column Sage Int; ;
修改原有的列定义有可能会破坏已有数据。 修改原有的列定义有可能会破坏已有数据。
group by:此短语将查询结果按某一列或某几 :
列的值进行分组。Having子句用于与group 列的值进行分组。Having子句用于与group by 子句用于与 子句配合使用,用于说明分组条件。 子句配合使用,用于说明分组条件。
查询分类
单表查询 连接查询 嵌套查询 集合查询
CREATE TABLE Student (Sno Ssex Sage Sdept
CHAR(5) NOT NULL UNIQUE,
Sname CHAR(20) UNIQUE, ,
CHAR(1) , INT, , CHAR(15)); ;
修改
Alter table <表名 表名> 表名
Add <新列名> <新列类型> (列宽度)[完整性约束] Drop Column <列名>|<完整性约束名> Alter Column <列名> <列类型> (列宽度) P87例8,例9,例10 , ,

第3章 关系数据库标准语言SQL_第4版(1-3)

第3章 关系数据库标准语言SQL_第4版(1-3)
1 6 7 6
学分 Ccredit 4 2 4 3 4 2 4
SC表
学号 Sno
200215121 200215121 200215121 200215122 200215122
课程号 Cno
1 2 3 2 3
成绩 Grade
92 85 88 90 80
§3.3 数据定义
SQL的数据定义功能: 模式定义、表定义、视图 和索引的定义
被参照建立一个“学生选课”表SC CREATE TABLE SC Cno CHAR(4), Grade SMALLINT, 列级完整性约束条件, Sno是外码,被参照表是 Student
(Sno CHAR(9) REFERENCES Student(Sno) , 主码由两个属性构 成,必须作为表级 完整性进行定义

用户数据库投入运行后,可根据需要随时逐步修 改模式,不影响数据的运行。 数据操作符统一
2.高度非过程化

非关系数据模型的数据操纵语言“面向过程”,
必须制定存取路径

SQL只要提出“做什么”,无须了解存取路径。 存取路径的选择以及SQL的操作过程由系统自动 完成。
3.面向集合的操作方式

SQL
数据流(Data) 元数据流(Meta Data) 对应于视图和部 分基本表
视图1
视图2
外模式
对应于基本表
基本表1 基本表2 基本表3 基本表4
数据词典
(元数据)
模式
对应于存储 文件
存储文件1 存储文件2 内模式
SQL的基本概念(续)

基本表(BASE TABLE):
是独立存在的表, 一个关系对应一个基本表,
嵌入式语言:嵌入高级语言如C,COBOL, FORTRAN,PB等

数据库的标准语言SQL

数据库的标准语言SQL

学时数:12学时课程类型:理论课程章节:第三章 数据库的标准语言SQL§3.1SQL查询§3.2 SQL数据定义§3.3 SQL数据操作§3.4 SQL数据控制§3.5数据字典教学目的:了解SQL的背景知识掌握SQL查询语句掌握SQL数据定义语句CREATE、DROP、ALTER掌握数据操纵语句INSERT、DELETE、UPDATE掌握数据控制语句GRANT、REVOKE教学要求:牢记有关概念,掌握SQL查询教学重点:1. SQL数据定义:基本表、视图、别名,建立索引2. SQL数据操纵:插入、更新、删除3. SQL数据查询教学难点:SQL查询:简单查询、联接查询、嵌套查询、库函数查询、集合运算教学手段:讲解、分组讨论、习题主要教学内容:1.SQL查询:简单查询、联接查询、嵌套查询、库函数查询、集合运算2.SQL数据定义:基本表、视图、别名,建立索引3.SQL数据操作:插入、更新、删除4.SQL数据控制5.数据字典第三章 数据库的标准语言SQLSQL是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询。

SQL是一个通用的、功能极强的关系数据库语言。

SQL的特点SQL语言之所以能够为用户和业界所接受,并成为国际标准,是因为它是一个综合的、功能极强同时又简捷易学的语言。

SQL语言集数据查询(Data Query)、数据操纵(Data Manipulation)、数据定义(Data Definition)和数据控制(Data Control)功能于一体,主要特点包括:1.综合统一数据库系统的主要功能是通过数据库支持的数据语言来实现的。

非关系模型(层次模型、网状模型)的数据语言一般都分为模式数据定义语言(Schema Data Definition Language,简称模式DDL)、外模式数据定义语言(Subschema Data Definition Language,简称外模式DDL或子模式DDL)、与数据存储有关的描述语言(Data Storage Description Language,简称DSDL)及数据操纵语言(Data Manipulation Language,简称DML),分别用于定义模式、外模式、内模式和进行数据的存取与处置。

数据库第三章习题及答案

数据库第三章习题及答案

第3章关系数据库标准语言SQL一、选择题1、SQL语言是的语言,易学习。

A.过程化 B.非过程化 C.格式化 D.导航式答案:B2、SQL语言是语言。

A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库答案:C3、SQL语言具有的功能。

A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵答案:B4、SQL语言具有两种使用方式,分别称为交互式SQL和。

A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL 答案:C5、假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。

要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系。

A.S B.SC,C C.S,SC D.S,C,SC 答案:D6、若用如下的SQL语句创建一个student表:CREATE TABLE student(NO C(4) NOT NULL,NAME C(8) NOT NULL,SEX C(2),AGE N(2))可以插入到student表中的是。

A.(‘1031’,‘曾华’,男,23) B.(‘1031’,‘曾华’,NULL,NULL)C.(NULL,‘曾华’,‘男’,‘23’) D.(‘1031’,NULL,‘男’,23) 答案:B7、当两个子查询的结果时,可以执行并,交,差操作.A.结构完全不一致 B.结构完全一致C.结构部分一致D.主键一致答案:B第8到第10题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。

《数据库原理及应用》教学课件 第三章SQL基础

《数据库原理及应用》教学课件 第三章SQL基础
数据库原理及应用
第三章 SQL基础
本章导读
结构化查询语言(Structured Query Language,SQL) 是关系数据库的标准语言,是集数据查询、数据操纵、数 据定义与数据控制于一体的综合性语言。在关系数据库 中,可以通过它完成数据库内的所有操作。本章首先介绍 SQL的发展及特点,然后通过实例介绍数据库和数据表的 基本操作。
④ MODIFY FILE:指定要修改的文 件。
⑤ ADD FILEGROUP:向数据库中 添加文件组。
⑥ REMOVE FILEGROUP:从数据 库中删除文件组。若文件组不为空,则 无法删除。
⑦ “[ , … N]”表示在前一语句后可 接N个同格式语句。
⑧ “|”表示用其隔开的语句在一次 命令中不可同时选用。
20
3.2 数据库基本操作
3.2.4 修改数据库
【例3-2】 将数据库 test 的名称改为 test1。 ALTER DATABASE test MODIFY NAME=test1
【例3-3】 将数据库SRS的日志文件最大容量改为100 MB。
ALTER DATABASE SRS MODIFY FILE (NAME=SRS_Data, MAXSIZE=100MB)
系列 1, 锐系普列PP2T, 锐, 2普.8 PPT, 2.8
日志文件由一系列日志记录组成,它 记录了数据库的更新情况和用户对数据库 的修改操作等。
当数据库发生损坏时,可以通过日志 文件分析出错原因;当数据丢失时,也可 以使用日志文件恢复数据库。

16
3.2 数据库基本操作
3.2.3 创建数据库
02 用SSMS创建数据库
在 SSMS 中可按如下步骤创建数据库。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3
数据库的标准语言SQL 第三章 数据库的标准语言SQL
教学重点
• SQL数据定义:基本表、视图、别名,建立索引 • SQL数据操纵:插入、更新、删除 • SQL数据查询
教学难点
SQL查询:简单查询、联接查询、嵌套查询、库函数查询、集合运算
2010-12-31
天津中德职业技术学院 信息工程系
4
数据库的标准语言SQL 第三章 数据库的标准语言SQL
SQL的特点 SQL语言集数据查询(Data Query)、数据操纵(Data Manipulation)、数据定义(Data Definition)和数据 控制(Data Control)功能于一体,主要特点包括: 1.综合统一 2.高度非过程化 3.面向集合的操作方式 4.以同一种语法结构提供两种使用方式 5.语言简捷,易学易用
注:列名IS [NOT] NULL不能写成 列名=NULL 列名IS NOT] NULL不能写成 列名=
2010-12-31
天津中德职业技术学院 信息工程系
18
数据库的标准语言SQL 第三章 数据库的标准语言SQL
3.1.2 联接查询
查询目标涉及到两个或几个关系 1.等值与非等值连接查询 连接查询中用来连接两个表的条件称为连接条件或连接谓词。 2.自身连接 连接操作不仅可以在两个表之间进行,也可以是一个表与其自 己进行连接,称为表的自身连接。 3.外连接 在通常的连接操作中,只有满足连接条件的元组才能作为结果 输出。 4.复合条件连接 上面各个连接查询中,WHERE子句中只有一个条件,即连接谓词。 WHERE子句中可以有多个连接条件,称为复合条件连接。
天津中德职业技术学院 信息工程系
16
数据库的标准语言SQL 第三章 数据库的标准语言SQL
例8:检索借了总编号为500088和100909两本书的借书证号 SELECT X.借书证号 FROM 借阅 X,借阅 Y WHERE X.借书证号=Y.借书证号 AND X.总编号=”500088” AND Y.总编号=”100909”;

注:这里*代表图书和借阅两个关系联接后的所有属性 这里*
2010-12-31
天津中德职业技术学院 信息工程系
21
数据库的标准语言SQL 第三章 数据库的标准语言SQL
3.1.3 嵌套查询
在SQL语言中,一个SELECT-FROM-WHERE语句称为一个查询块。将一个查询块 嵌套在另一个查询块的WHERE子句或HAVING短语的条件中的查询称为嵌套查询。 1.带有IN谓词的子查询 在嵌套查询中,子查询的结果往往是一个集合,所以谓词IN是嵌套查询中最 经常使用的谓词。 2.带有比较运算符的子查询 带有比较运算符的子查询是指父查询与子查询之间用比较运算符进行连接。 3.带有ANY或ALL谓词的子查询 子查询返回单值时可以用比较运算符 ,而使用ANY或ALL谓词时则必须同时 使用比较运算符。 4.带有EXISTS谓词的子查询 EXISTS代表存在量词 $。带有EXISTS谓词的子查询不返回任何数据,只产生 逻辑真值“true”或逻辑假值“false”。
教学要求
• 牢记有关概念,掌握SQL查询
2010-12-31
天津中德职业技术学院 信息工程系
2
数据库的标准语言SQL 第三章 数据库的标准语言SQL
课程章节
§3.1 SQL查询 §3.2 SQL数据定义 §3.3 SQL数据操作 §3.4 SQL数据控制 §3.5 数据字典
2010-12-31
天津中德职业技术学院 信息工程系
例6:查出人民出版社的所有图书及单价,结果按单价 降序排列 SELECT 书名,出版单位,单价 FROM 图书; WHERE 出版单位=“人民出版社” ORDER BY 单价 DESC;
2010-12-31
天津中德职业技术学院 信息工程系
15
数据库的标准语言SQL 第三章 数据库的标准语言SQL
例7:查找价格介于10和20元之间的图书,结果按分类号和单价升序排列 方法一: SELECT 书名,作者,单价,分类号 FROM 图书 WHERE 单价 BETWEEN 10 AND 20 ORDER BY 分类号,单价[ASC]; 方法二: SELECT 书名,作者,单价,分类号 FROM 图书 WHERE 单价>=10 AND 单价<=20 ORDER BY 分类号,单价[ASC];
注:用ORDER BY可对查询结果排序 BY可对查询结果排序 DESC(descending)降序 DESC(descending) ASC(ascending)升序 ASC(ascending) 多重排序:主关键字,次关键字,关键字3,…… 多重排序:主关键字,次关键字,关键字3
2010-12-31
2010-12-31
天津中德职业技术学院 信息工程系
9
数据库的标准语言SQL 第三章 数据库的标准语言SQL
8.测试空值 • IS NULL:为空时为真; • IS NOT NULL:不为空时为真。 9. GROUP BY子句将查询结果表按某一列或多列值分组,值相等的 为一组。 10. 对查询结果排序 用户可以用ORDER BY子句对查询结果按照 一个或多个属性列的升序(ASC)或降序(DESC)排列,缺省值为 升序。
例3:查找人民出版社和科学出版社的所有图书及作者 方法一: SELECT 书名,作者,出版单位 FROM 图书 WHERE 出版单位=“人民出版社” OR 出版单位=“科学出版 社”; 方法二: SELECT 书名,作者,出版单位 FROM 图书 WHERE 出版单位 IN (“人民出版社”,“科学出版社”);
2010-12-31
天津中德职业技术学院 信息工程系
13
数据库的标准语言SQL 第三章 数据库的标准语言SQL
例4:查找书名以“数据库”打头的所有图书及作者 SELECT 书名,作者 FROM 图书 WHERE 书名 LIKE “数据库%”;
注:谓词LIKE后面必须是字符串常量,其中可以使用两个通配符: 谓词LIKE后面必须是字符串常量,其中可以使用两个通配符: LIKE后面必须是字符串常量 _ 下划线 任何一个字符 任何多个字符(包括0个) % 任何多个字符(包括0
第三章 数据库的标准语言SQL 数据库的标准语言
学时数:12学时 课程类型:理论
数据库的标准语言SQL 第三章 数据库的标准语言SQL
教学目的
• • • • • 了解SQL的背景知识 掌握SQL查询语句 掌握SQL数据定义语句CREATE、DROP、ALTER 掌握数据操纵语句INSERT、DELETE、UPDATE 掌握数据控制语句GRANT、REVOKE
2010-12-31
天津中德职业技术学院 信息工程系
10
数据库的标准语言SQL 第三章 数据库的标准语言SQL
查询实例
例题:设图书管理关系数据模型的三个关系模式: 图书(总编号,分类号,书名,作者,出版单位,单价) 读者(借书证号,姓名,性别,单位,职称,地址) 借阅(借书证号,总编号,借阅日期,备注)
例2:查看所有读者的全部情况 : SELECT * FROM 读者;
注:SELECT子句中的*表示全部属性的通配符 子句中的* 在查询中无条件限制时,可省略WHERE子句 在查询中无条件限制时,
2010-12-31
天津中德职业技术学院 信息工程系
12
数据库的标准语言SQL 第三章 数据库的标准语言SQL
例5:列出图书馆中所有藏书的书名及出版单位 SELECT DISTINCT 书名,出版单位 FROM 图书;
注:DISTINCT从查询结果中去掉重复元组 DISTINCT从查询结果中去掉重复元组
2010-12-31 14
天津中德职业技术学院 信息工程系
数据库的标准语言SQL 第三章 数据库的标准语言SQL
注:同一个关系借阅在一个查询模块中出现两次,则必须引入 同一个关系借阅在一个查询模块中出现两次, 别名X,Y 别名X 用相同属性时用“.”分开 用相同属性时用“
2010-12-31
天津中德职业技术学院 信息工程系
17
数据库的标准语言SQL 第三章 数据库的标准语言SQL
例9:求缺少职称的读者姓名
SELECT姓名 FROM 读者 WHERE 职称 IS NULL;
2010-12-31
天津中德职业技术学院 信息工程系
8
数据库的标准语言SQL 第三章 数据库的标准语言SQL
5.集合成员资格的确认 IN:当指定元素在集合中时为真; NOT IN:当指定元素不在集合中时为真。
6.集合的比较 SOME:“至少比一个……”; ALL:“比所有的都……”。
7.集合基数的测试 (1)测试一个子查询的结构是否为空 EXISTS:子查询的结果不为空时为真; NOT EXISTS:子查询的结果为空时为真。 (2)测试一个子查询的结果是否存在重复元组 UNIQUE:子查询的结果不存在重复元组时为真; NOT UNIQUE:子查询的结果存在重复元组时为真。
2010-12-31
天津中德职业技术学院 信息工程系
6
数据库的标准语言SQL 第三章 数据库的标准语言SQL
注释: 注释:
1. 选择表中的全部列或部分列,这就是投影运算。 2. 消除取值重复的行 两个本来并不完全相同的 元组,投影到指定的某些列上后,可能变成相同的行了。 3. 如果指定DISTINCT短语,则表示在计算时要取消指定列中的重 复值。如果不指定DISTINCT短语或指定ALL短语(ALL为缺省 值),则表示不取消重复值。
2010-12-31
天津中德职业技术学院 信息工程系
7
数据库的标准语言SQL 第三章 数据库的标准语言SQL
4.条件表达式 (1)关系运算 (2)逻辑运算 (3)谓词 (4)几种特殊的
相关文档
最新文档