第三章 SQL语言

合集下载

第三章 关系数据库查询语言SQL

第三章 关系数据库查询语言SQL

20112011-2-25
主讲:王颂华
9
3.2 数据定义
3.2.3 索引的建立与删除
1.建立索引 1.建立索引 索引是数据库随机检索的常用手段,它实际上是记 录的关键字与其相应地址的对应表。借助于索引结构,可 以迅速查找到某个属性A 以迅速查找到某个属性A具有指定值的那些元组。对一个 基本表,可以按需要建立若干个索引,以便提供多种存取 路径。 建立索引的语句格式为: CREATE[UNIQUE][CLUSTER]INDEX<索引名 CREATE[UNIQUE][CLUSTER]INDEX<索引名 > ON<表名>(<列名1>[<次序>],[<列名2>[<次序 ON<表名>(<列名1>[<次序>],[<列名2>[<次序 >]]… >]]…);
3.2 数据定义
2)主关键字的定义 一个关系可能有多个候选关键字,但在定义基本表 时只能定义一个主关键字。一个关系的主关键字由一个或 几个属性构成,在CREATE TABLE中声明主关键字有两 几个属性构成,在CREATE TABLE中声明主关键字有两 种方法: (1)在列出关系模式的属性时,在属性及其类型后加 上保留字PRIMARY KEY,表示该属性是主关键字。 上保留字PRIMARY KEY,表示该属性是主关键字。 (2)在列出关系模式的所有属性后,再附加一个声明: PRIMARY KEY(<属性1>[,<属性2>,…]) KEY(<属性1 ,<属性2>,… 如果关键字由多个属性构成,则必须使用第二种方 法。
20112011-2-25 主讲:王颂华 12
3.3 数据查询
3.3.1 单表查询

关系数据库标准语言SQL

关系数据库标准语言SQL

第三章关系数据库标准语言SQL1、视图:2、SQL:3、基本表:4、索引:5、下列的SQL语句中,()不是数据定义语句。

A、CREA TE INDEXB、DELETE TABLEC、CREA TE VIEWD、ALTER TABLE6、有关系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#,GRADE)。

其中S#是学生号,SNAME是学生姓名,SEX是性别,C#是课程号,CNAME是课程名称。

要查询选修“数据库”课的全体男生姓名的SQL语句是SELECT SNAME FROM S,C,SC WHERE子句。

这里的WHERE子句的内容是()。

A、S、S# = SC、S# and C、C# = SC、C# and SEX=’男’and CNAME=’数据库’B、S、S# = SC、S# and C、C# = SC、C# and SEX in’男’and CNAME in’数据库’C、SEX ’男’and CNAME ’数据库’D、S、SEX=’男’and CNAME=’数据库’7、在数据库技术中,NULL是指()。

A、0B、空格C、无任何值D、空字符串8、SQL语言中,删除一个视图所用的动词是()。

A、DELETEB、DROPC、CLEARD、REMOVE9、若要在一个查询中联接3个表,则需要()个联接条件。

A、1B、2C、3D、不确定10、假设学生关系S(S#,SNAME,SEX),课程关系C(C#,CNAME),学生选课关系SC (S#,C#,GRADE)。

要查询选修“Computer”课的男生姓名,将涉及到关系()A、SB、S,SCC、C,SCD、S,C,SC11、若要在一个等值连接查询中联接N个表,则需要()个联接条件。

A、N- 1B、NC、N+1D、不确定12、对由SELECT--FROM—WHERE—GROUP--ORDER组成的SQL语句,其在被DBMS处理时,各子句的执行次序为()。

第3章 SQL语言

第3章 SQL语言
17
SELECT SNO, CNO, SCORE FROM SC WHERE CNO=‘C1’ OR CNO= ‘C2’ 利用“NOT IN”可以查询指定集合外的元组。 例11 查询没有选修C1,也没有选修C2的学生的学号、课 程号和成绩。 SELECT SNO, CNO, SCORE FROM SC WHERE CNO NOT IN(‘C1’, ‘C2’) 等价于: SELECT SNO, CNO, SCORE FROM SC WHERE CNO!=‘C1’ AND CNO!= ‘C2’
注意:函数SUM和AVG只能对数值型字段进行计算。
23
例16 求选修C1号课程的最高分、最低分及之间相差的分 数 SELECT MAX(SCORE) AS MaxScore, MIN(SCORE) AS MinScore, MAX(SCORE) - MIN(SCORE) AS Diff FROM SC WHERE (CNO = 'C1') 例17 求计算机系学生的总数 SELECT COUNT(SNO) FROM S WHERE DEPT='计算机'
1. SQL语言类似于英语的自然语言,简洁易用。 2. SQL语言是一种非过程语言,即用户只要提出“干什 么”即可,不必管具体操作过程,也不必了解数据的 存取路径,只要指明所需的数据即可。 3. SQL语言是一种面向集合的语言,每个命令的操作对 象是一个或多个关系,结果也是一个关系。 4. SQL语言既是自含式语言,又是嵌入式语言。可独立 使用,也可嵌入到宿主语言中。 自含式语言可以独立使用交互命令,适用于终端 用户、应用程序员和DBA; 嵌入式语言使其嵌入在高级语言中使用,供应用 程序员开发应用程序。
10
例1 查询全体学生的学号、姓名和年龄。 SELECT SNO, SN, AGE FROM S 例2 查询学生的全部信息。 SELECT * FROM S 用‘ * ’表示S表的全部列名,而不必逐一列出。

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数据库由包含数据的表集合和其他对象( 如视图、索引、存储过程、触发器、用户、角色等)组 成,支持三级模式结构。其中用户模式对应于视图,逻 辑模式对应于基本表,物理模式对应于存储文件、索引 等。

第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 , ,

第三章 SQL

第三章 SQL

12
使用【对象资源管理器】
4.在【连接到数据库】框中键入“Student”,单击【连接】,连接 到服务器。如果已经连接,则将直接返回到对象资源管理器,并将该服 务器设置为当前服务器,如图3.6所示。
图3.6 对象资源管理器窗口
13
第三节 改变窗口布局
SQL Server Management Studio集成了很多组件,组件的展开会占 用屏幕空间。为了腾出更多空间,使屏幕简洁,布局合理、易用, 用户可以关闭、隐藏或移动Management Studio组件,根据自己的需 要,灵活定制窗口布局,来提高工作效率。
第三章 Management Studio
1
LOGO
本章主题
SSMS的组件 如何配置SSMS 如何保护SQL Server 的外围应用,使其免受攻击
Management Studio
SQL Server Management Studio是SQL Server 2005提供的一种集成的 管理平台,它提供了用于数据库管理的图形工具和功能丰富的开发环 境。Management Studio是SQL Server 2005最重要、最常用的管理工具, 所有的SQL Server对象的建立与管理都可以通过它来完成。 本章主要介绍SQL Server Management Studio的工具组件及其使用方 法。
16
(三)设置窗口的布局属性
可以为SQL Server Management Studio设置启动时打开首选配置的设 计图面,步骤如下: (1)在【工具】菜单上,单击【选项】,弹出【选项】对话框,如 图3.9所示。 (2)展开【环境】,单击【常规】。在【启动时】列表中,包含以 下四个选项: 打开对象资源管理器。这是默认选项。 打开新查询窗口。 打开对象资源管理器和新查询。 打开空环境。 (3)单击首选选项,再单击【确定】。 (4)还有其他选项。例如【在对象资源管理器中隐藏系统对象】, 该选项针对【对象资源管理器】是否显示系统对象而设置。

第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),分别用于定义模式、外模式、内模式和进行数据的存取与处置。

DBS第三章_2

DBS第三章_2

[ORDER BY <列名>[ASC DESC] ] 排序子句
第三章
关系数据库语言SQL
3.3
SQL的数据查询
(2)执行过程 P88
④SELECT ①FROM ②WHERE
读取FROM子句中基表、视图的数据,执行‘×‟
选取满足WHERE子句中所给条件表达式的元组 按GROUP BY子句中指定列的值将元组分组
第三章
关系数据库语言SQL
3.3
SQL的数据查询
(3) SELECT子句中目标表的列名或列表达式
[ ALL | DISTINCT] 列名或列表达式序列
* : 所有列
例: SELECT SNAME, O, GRADE →聚集函数(列名) ,不允许对聚集运算复合使用 常数:SELECT sno, „birth_year:‟, year(age) FROM STUDENT,COURSE,SC 例:查询所有女学生的身高(以厘米表示) 例1:求所有学生的平均身高 改名,AS可省 →列名 AS 别名 FROM … WHERE student 例1: SELECT SELECT SNAME , FROM STUDET; sno AS 学号, sname 100*HEIGHT SELECT AVG(HEIGHT) AS 姓名
③GROUP
BY 选满足HAVING子句中组条件表达式的那些组
按SELECT子句中所给的列或列表达式求值输出
③HAVING ⑤ORDER
BY 按ORDER BY子句对输出的目标表进行排序
第三章 关系数据库语言SQL 3.3 SQL的数据查询
三、有关限定 (1) 通常每条语句以 ‘;’ 结束 (2) 表达式的组成及元素
Π A1,…,An (σF(R1 …Rn))

《数据库原理及应用》教学课件 第三章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 中可按如下步骤创建数据库。

第3章 SQL语言习题参考答案

第3章 SQL语言习题参考答案

第3章 SQL语言习题参考答案1.试述SQL语言的特点。

(85页)答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。

2.试述SQL的定义功能。

(87页)答:SQL的数据定义功能包括定义表、定义视图和定义索引3.用SQL语句建立第二章习题5中的四个表。

S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4))零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT I(2))工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4))供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY N(2))4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:(1)求供应工程J1零件的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO=’J1’(2)求供应工程J1零件P1的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'(3)求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='红'(4)求没有使用天津供应商生产的红色零件的工程号JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='红' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。

关系数据库标准查询语言SQL

关系数据库标准查询语言SQL

SELECT Sname, ‘Year of Birth:’, 2008-Sage ,

ISLOWER(Sdept)
FROM Student ; 结果为:
Sname ‘ Yearof Birth:’ 2008-Sage ISLOWER(Sdept)

李勇 Yearof Birth: 1986
第三章关系数据库标准查询语言sql第三章第三章关系数据库标准语言关系数据库标准语言sqlsql结构化查询语言sqlstructuredquerylanguage是一种介于关系代数与关系演算之间的语言它具有查询操纵定义和控制功能是一种通用的功能极强的标准的关系数据库语言
第三章 关系数据库标 准查询语言SQL
例4:删除关于学号必须取唯一值的约束。 ALTER TABLE Student DROP UNIQUE(Sno);

3.删除基本表
基本格式: DROP TABLE〈表名〉
例5. 删除student表 DROP TABLE Student ;
3.2.2.建立与删除索引
1. 建立索引 基本格式: CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名>(<列名>[<次序>[,<列名>[〈次序>]]…..); 次序:ASC,DESC 例 6: 为Student, Course, SC 3个表 建立索引,Student
2.选择表中的若干元组
1).消除重复的行 例6.查询所有选修过课的学生学号。
SELECT Sno
FROM SC ;
Sno
Cno Grade

第3章 SQL语言基础及数据定义功能

第3章 SQL语言基础及数据定义功能

Create Table SC (学号 char(7) References S(学号), 课程号 char(2) Not Null, 成绩 smallint Check(成绩>=0), Primary Key(学号, 课程号) Foreign Key(课程号) References C(课程号) ) (2)删除数据表 格式:Drop Table 表名, … 功能:删除数据表。 例:删除数据表text,语句为 Drop Table text
(3)删除数据库 格式:Drop DataBase 数据库名 功能:删除指定数据库。 例:删除学生管理数据库student 。 Drop DataBase student 3.3.1 数据表建立和删除 (1)建立数据表 格式:Create Table 数据表名 (列名 类型 [完整性约束] ,… [,完整性约束])
SQL语言的命令动词 SQL功能
数据查询 数据定义 数据操纵 数据控制 SELECT CREATE、DROP、ALTER INSERT、UPDATE、DELETE GRANT、REVOKE
命令动词
P27表3-1
3.2 SQL数据类型
在定义表结构时,每个字段都要指明它的数据类 型,SQL提供了丰富的数据类型。 每个数据类型都有它的特点和取值范围,用户使 用时可以根据实际需要进行选择。 3.2.1 数值型 1. 准确型 指在计算机中能精确存储的数据类型。 有bigint、int、smallint、tinyint、bit、nume ric(p,q)、decimal(p,q)等。
3.3.2 修改表结构 格式:Alter Table 表名 [Alter Column 列名 新类型 |Add 新列名 类型 [完整性约束] |Drop Column 列名] 功能:修改列类型、添加新列、删除列。 例2:为表SC添加新列修课类别。 Alter Table SC Add 修课类别 char(4) 例3:修改表SC中修课类别的类型。 Alter Table SC Alter Column 修课类别 char(6)

第三章 SQL语言练习题和答案

第三章 SQL语言练习题和答案

第三章SQL语言一、选择题1. SQL语言是(B )的语言,容易学习。

A.过程化B. 非过程化C.格式化D. 导航式2. SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE、DELETE等。

其中最重要的,也是使用最频繁的语句是(A)。

A. SELECTB. INSERTC. UPDATED. DELETE3. 在视图上不能完成的操作是()。

A. 更新视图B. 查询C. 在视图上定义新的表D. 在视图上定义新的视图4. SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能()。

A. 数据查询B. 数据操纵C. 数据定义D. 数据控制5. SQL语言中,删除一个视图的命令是()。

A.DELETEB.DROPC.CLEARD.REMOVE6. 在SQL语言中的视图VIEW是数据库的()。

A. 外模式B. 模式C. 内模式D. 存储模式7. 下列的SQL语句中,()不是数据定义语句。

A. CREATE TABLEB. DROP VIEWC. CREATE VIEWD. GRANT8. 若要撤销数据库中已经存在的表S,可用()。

A. DELETE TABLE SB. DELETE SC. DROP TABLE SD. DROP S9. 若要在基本表S中增加一列CN(课程名),可用()。

A.ADD TABLE S(CN CHAR(8))B.ADD TABLE S ALTER(CN CHAR(8))C.ALTER TABLE S ADD(CN CHAR(8))D.ALTER TABLE S (ADD CN CHAR(8))10. 学生关系模式S(S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。

要在表S中删除一个属性“年龄”,可选用的SQL语句是()。

A. DELETE Age from SB. ALTER TABLE S DROP AgeC. UPDATE S AgeD. ALTER TABLE S …Age‟11. 有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。

第3章数据库的标准语言SQL 一简答题 1试述SQL语言的特点 2.doc

第3章数据库的标准语言SQL 一简答题 1试述SQL语言的特点 2.doc

第3章数据库的标准语言SQL一、简答题1.试述SQL语言的特点。

2.试述SQL的定义功能。

3.在嵌入式SQL中,如何区分SQL语句和主语言语句?4.在嵌入式SQL中,如何解决数据库工作单元与源程序工作单元之间的通信?5.在嵌入式SQL中,如何协调SQL语言的集合处理方式和主语言的单记录处理方式?6.什么是基本表?什么是视图?两者的区别和联系是什么?7.试述视图的优点。

8.设有三个关系,A (AttANAMEWQTYCITY) , B (BWBNAMEPRICE) , AB (A#B#QTY)。

其中各属性含义如下:A# (商店代号)、ANAMR (商店名)、WQTY (店员人数)、CITY (所在城市)、B# (商品号)、BNAME (商品名称)、PRICE (价格)、QTY (商品数量)。

试用SQL 语言写出下列查询。

(1)找出店员为人数不超过100人或者在长沙市的所有商店的代号和商店名9.题干同8, (2)找出供应书包的商店名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为成绩。

(1)检索所有比“王华”年龄大的学生姓名、年龄和性别。

11.题干同10, (2)检索选修课程“C2”的学生中成绩最高的学生的学号。

12.题干同10, (3)检索学生姓名及其所选修课程的课程号和成绩。

13.题干同10, (4)检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。

14.设有关系模式:SB(SN, SNAME, CITY) , SB表示供应商,SN为供应商代号,SNAME为供应商名字,CITY 为供应商所在城市,主关键字为SN。

(3)取出重量最的零件代17.题干同(4)取出为工程J1提供零件的供应商18.题干同(5)取出为工种J1提供零件P1的供应19.题干同(6)取出由供应商S1提供零件的工程20.题干同(7)取出供应商S1提供的零件的21.题干同(8)取出为工程J1和J2提供零件的供应22.题干同(9)取出为工程J1提供红色零件的供应23. 题干同(10)取为所在城市为上海的工程提供零件的供应24.题干同(11)取出为所在城市为上海或北京的工程提供红色零件的号25. 题干同(12)取出供应商与工程所在城市相同的供应商提供的零26. 题干同(13)取出上海的供应商提供给上海的任一工程的零件27. 题干同(14)取出至少由一个和工程不在同一城市的供应商提供零28. 题干同(15)取出上海供应商不提供任何零件的工程29. 题干同(16)取出这样一些供应商代号,它们能够提供至少一种山16.题干同PB (PN, PNAME, COLOR, WEIGHT) , PB 表示零件,PN 为零件代号,PNAME 为零件名字, COLOR 为零件颜色,WEIGHT 为零件重量,主关键字为PN 。

(完整版)第3章SQL语言习题参考答案(新)

(完整版)第3章SQL语言习题参考答案(新)

第3章 SQL语言习题参考答案1.试述SQL语言的特点。

(85页)答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。

2.试述SQL的定义功能。

(87页)答:SQL的数据定义功能包括定义表、定义视图和定义索引3.用SQL语句建立第二章习题5中的四个表。

S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4))零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT I(2))工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8),CITY C(4))供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2),QTY N(2))4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:(1)求供应工程J1零件的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO=’J1’(2)求供应工程J1零件P1的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1' (3)求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='红'(4)求没有使用天津供应商生产的红色零件的工程号JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='红' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。

第三章利用SQL语言操作数据库

第三章利用SQL语言操作数据库
单元三 利用标准SQL语句对数据库操作
任务一 认知标准SQL语言 任务二 利用SELECT语句从数据表中提取数据 任务三 利用INSERT语句向数据表中插入数据 任务四 利用DELETE语句在数据表中删除数据 任务五 利用UPDATE语句更新(修改)数据表中的数据
任务六 利用数据定义语言(DDL)创建和删除数据库
任务七 认知数据控制语言(DCL)*
小结
单元三 利用标准SQL语句对数据库操作
任务一 认知SQL语言
SQL是Structured Query Language的缩写,其汉语意思为结构化查询语言。 SQL是一种介于关系代数与关系演算之间的语言,它集数据定义语言(Data Definition Language,简称DDL)、数据操纵语言(Data Manipulation Language,简称DML)、数 据控制语言(Data Control Language,简称DCL)于一体,是一个综合的、通用的、功 能极强又简洁易学的关系数据库语言。 数据操纵语言(database manufacture language,简称DML)具有数据查询 (SELECT)、插入(INSERT)、删除(DELETE)和修改(UPDATE)等功能,是 动态网页设计和信息管理系统开发方面必备的知识。 SQL语言是一种非过程化语言,它允许用户在高层的数据结构上操作,而不对单 个记录进行操作。在使用SQL语言的过程中,用户完全不用考虑诸如数据的存储格式、 数据的存储路径等复杂的问题。用户所需要做的只是使用SQL语言提出自己的要求, 至于如何实现这些要求,则是关系数据库管理系统的任务。
二、使用“*”查询表中的所有列 当需要显示表中所有列的数据时,有些表的列多达十几个甚至几十个,如果把 这些列的名称全部书写在SELECT语句中,不仅工作量大,而且容易出现错误,可使 用“*”来表示表中的所有列,这样简洁方便。 【例3.2】查询XSGL数据库的XS表中所有列的信息。 可在SQL Query标签页中输入并执行如下的SQL语句: USE XSGL SELECT * FROM XS GO

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

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

语句 CREATE
功能 创建数据库或数据库对象
ALTER
修改数据库或数据库对象
DROP
删除数据库或数据库对象
说明 不同数据库对象参数不同 不同数据库对象参数不同 不同数据库对象参数不同
SQL的组成(续) ❖ 数据操纵语言DML(Data Manipulation Language):用于执行对数据库检索和更新。
定义基本表(续)
❖ 表的完整性约束条件 创建表时可指定表的完整性约束条件,也称为约束: 列级完整性约束条件 完整性约束条件涉及到该表的当前一个属性列 表级完整性约束条件 完整性约束条件涉及到该表的一个或多个属性列
➢ RDBMS自动检查对表的操作是否违背表的完整性约束条件
学生表Student
数据库 模式
表 视图
模式 表
索引
定义模式(续)
❖ 基本格式: CREATE SCHEMA [<模式名>] AUTHORIZATION <用户名> CREATE、SCHEMA 、AUTHORIZATION为保留字 保留字习惯使用大写 CREATE SCHEMA 为定义模式的语句 <模式名>为所创建的模式的名称 尖括号表示用户提供的参数 方括号表示参数可选 AUTHORIZATION <用户名> 子句用于指定模式的所有者 <用户名>指定一个用户
❖ 也可以使用带指定参数值的命令创建数据库
3.3 数据定义
3.3.1 模式的定义与删除 3.3.2 基本表的定义、删除与修改 3.3.3 索引的建立与删除
定义模式
❖ 模式(SCHEMA) 定义模式实际上是定义了一个命名空间(或容器)。 在这个空间中可以定义该模式包含的数据库对象 例如基本表、视图、索引、存储过程等。 定义模式能更好的管理数据库中的对象
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL Server 数据类型 money 说明
8字节,存储的货币数据值介于–263 与 263-1 字节,存储的货币数据值介于– 之间,精确到货币单位的千分之十。 之间,精确到货币单位的千分之十。最多可以 包含19 19位数字 包含19位数字 4字节,存储的货币数据值介于 – 字节, 之间, 214,748.3648 与 +214,748.3647 之间,精确 到货币单位的千分之十 返回首页 下一页 上一页
返回首页
下一页
上一页
3.3 数据定义功能
基本表的创建 表的创建: 一、 基本表的创建: Create Table
格式: 表名( 格式:CREATE TABLE 表名( 类型(长度) 列级完整性约束定义] 列名 类型(长度) [列级完整性约束定义] 类型(长度) 列级完整性约束定义] {, 列名 类型(长度) [列级完整性约束定义] … } [, 表级完整性约束定义 ] ) 在列级完整性约束定义处可以定义如下约束: 在列级完整性约束定义处可以定义如下约束: NULL: NOT NULL:限制列取值非空 DEFAULT:给定列的默认值,使用形式为: DEFAULT:给定列的默认值,使用形式为:DEFAULT 常量 UNIQUE: UNIQUE:限制列取值不重复 CHECK:限制列的取值范围,使用形式为:CHECK(约束表达式) CHECK:限制列的取值范围,使用形式为:CHECK(约束表达式) KEY: PRIMARY KEY:指定本列为主码 KEY:定义本列为引用其他表的外码。使用形式为: FOREIGN KEY:定义本列为引用其他表的外码。使用形式为: KEY][ 列名> ][< <外表名 外表名> 外表列名> [FOREIGN KEY][<列名>] REFERENCES <外表名>(<外表列名>) 返回首页 下一页 上一页
三、 SQL语言功能 语言功能
SQL按其功能可分为四大部分:数据定义功能、数据控制 按其功能可分为四大部分:数据定义功能、 按其功能可分为四大部分 功能、数据查询功能和数据操纵功能。 功能、数据查询功能和数据操纵功能。
Sql功能 功能
数据定义 数据查询 数据操纵 数据控制
命令动词
CREATE DROP ALTER SELECT INSERT UPDATE DELETE GRANT REVOKE
返回首页
下一页
上一页
二、 SQL语言特点 语言特点
高度非过程化的语言:用户只需提出“干什么” 至于“ 1. 高度非过程化的语言:用户只需提出“干什么”,至于“怎 么干” DBMS解决 用户只需要在查询语句中提出需要什么, 解决; 么干”由DBMS解决;用户只需要在查询语句中提出需要什么, DBMS即可按路径存取 并把结果返回给用户。 即可按路径存取, DBMS即可按路径存取,并把结果返回给用户。 面向集合的语言:每一个SQL的操作对象是一个或多个关系, SQL的操作对象是一个或多个关系 2. 面向集合的语言:每一个SQL的操作对象是一个或多个关系, 操作的结果也是一个关系。 操作的结果也是一个关系。 3.能以多种方式使用:即可以直接以命令方式交互使用,又可嵌 3.能以多种方式使用:即可以直接以命令方式交互使用,又可嵌 能以多种方式使用 命令方式交互使用 入到宿主语言(高级程序设计语言)中使用。 入到宿主语言(高级程序设计语言)中使用。 具有查询、操作、定义和控制四种语言一体化的特点。 4. 具有查询、操作、定义和控制四种语言一体化的特点。它只 向用户提供一种语言,但该语言具有上述多种功能, 向用户提供一种语言,但该语言具有上述多种功能,且每种 操作只需一种操作符。 操作只需一种操作符。 5.语言简洁、易学易用:功能只有9个动词,语法简单,接近核 5.语言简洁、易学易用:功能只有9个动词,语法简单,接近核 语言简洁 英语。 返回首页 下一页 上一页 心英语。
numeric(p,q) numeric(p,q) decimal decimal(p,q) 或decimal(p,q)
返回首页
下一页
上一页
一、数值型 近似型:用于表示浮点型数据的近似数据类型。 近似型:用于表示ห้องสมุดไป่ตู้点型数据的近似数据类型。
SQL Server 数据类型 float real SQL92或SQL99数据类 型 float 说明 8字节,存储从 –1.79E + 308 1.79E 字节, 1.79E 到 1.79E + 308 范围的浮点型数 3.40E 4字节,存储从 –3.40E + 38 到 字节, 3.40E 3.40E + 38 范围的浮点型数
说明: 说明:
NULL和DEFAULT不能在表级完整性约束处定义之外 不能在表级完整性约束处定义之外, 除NOT NULL和DEFAULT不能在表级完整性约束处定义之外, 其他约束均可在表级完整性约束处定义。 其他约束均可在表级完整性约束处定义。但有些约束必须在 表级约束处定义: 表级约束处定义: 如果CHECK约束是定义多列之间的取值约束; 如果CHECK约束是定义多列之间的取值约束; CHECK约束是定义多列之间的取值约束 如果表的主码由多个列(超过1 如果表的主码由多个列(超过1列)组成; 组成; 如果在表级完整性约束处定义外码, KEY和 如果在表级完整性约束处定义外码,则 FOREIGN KEY和< 列名>均不能省, 列名>必须用括号括起来。 列名>均不能省,且<列名>必须用括号括起来。
返回首页 下一页 上一页
3.2 SQL的数据类型 的数据类型
数值型 字符串型 日期时间类型 货币类型
返回首页
下一页
上一页
一、数值型
准确型:指在计算机中能够精确存储的数据。 准确型:指在计算机中能够精确存储的数据。
SQL Server 数据类型 Bigint Int Smallint Tinyint Bit Bit Integer Smallint SQL92或 SQL99数据 类型 说明
第 3 章 SQL语言 语言
SQL概述 3.1 SQL概述 SQL的数据类型 3.2 SQL的数据类型 3.3 数据定义功能 3.4 数据查询功能 3.5 数据更改功能 3.6 视图 3.7 嵌入式SQL 嵌入式SQL
返回首页
下一页
上一页
3.1 SQL语言概述 SQL语言概述
SQL语言的发展 语言的发展 SQL语言特点 语言特点 SQL语言功能概述 语言功能概述
返回首页
下一页
上一页
一、 SQL语言发展 语言发展
SQL是 SQL是Structured Query Language的缩写,意思为结构化查询 Language的缩写 意思为结构化查询 的缩写, 语言。 语言。 最早版本是由美国IBM公司提出的, 最早版本是由美国IBM公司提出的,该语言的最初名称为 IBM公司提出的 Sequel。 Sequel。 SQL是关系型数据库管理系统的标准语言。 SQL是关系型数据库管理系统的标准语言。 是关系型数据库管理系统的标准语言 SQL语句可以用来对数据库进行各种各样的操作。 SQL语句可以用来对数据库进行各种各样的操作。 语句可以用来对数据库进行各种各样的操作 SQL-86(SQL1)是第一个SQL标准 SQL-86(SQL1)是第一个SQL标准 是第一个SQL SQLSQL-89 SQL-92(SQL2) SQLSQLSQL-99(SQL3)
SQL Server 数据类型 Datetime 说明 占用8字节空间,存储从1753年 占用8字节空间,存储从1753年1月1日到9999 1753 日到9999 12月31日的日期和时间数据 日的日期和时间数据, 年12月31日的日期和时间数据,精确到百分之 三秒(或 3.33 毫秒) 三秒( 毫秒) 占用4字节空间,存储从1900年 占用4字节空间,存储从1900年1月1日到2079 1900 日到2079 日的日期和时间数据, 年6月6日的日期和时间数据,精确到分钟
image
binary
固定长度的二进制字符数据, 表示最大长度, 固定长度的二进制字符数据,n表示最大长度, 取值范围为1 取值范围为1~8000 大容量的、可变长度的二进制字符数据,可以存 大容量的、可变长度的二进制字符数据, 储多种格式的文件, Word、Excel、BMP、 储多种格式的文件,如:Word、Excel、BMP、 GIF和JPEG文件数据等 最多可存储2 文件数据等。 个字节, GIF和JPEG文件数据等。最多可存储231-1 个字节, 约为2 约为2GB
数据定义功能用于定义、删除和修改数据库中的对象; 数据定义功能用于定义、删除和修改数据库中的对象; 定义 数据库中的对象 数据查询功能用于实现查询数据的功能 实现查询数据的功能; 数据查询功能用于实现查询数据的功能; 数据操纵功能用于实现对数据库数据的增加 删除和修改; 实现对数据库数据的增加、 数据操纵功能用于实现对数据库数据的增加、删除和修改; 数据控制功能用于实现控制用户对数据库的操作权限 数据控制功能用于实现控制用户对数据库的操作权限
8字节,存储从–263 到263-1 范围的整数。 字节,存储从 2 范围的整数。 字节 4字节,存储从–231到231-1 字节,存储从 范围的整数
2字节,存储从–215到215-1 范围的整数 字节,存储从 存储从 0 到 255 之间的整数 存储1 存储1或0 定点精度和小数位数。使用最大精度时, 定点精度和小数位数。使用最大精度时,有效值从 –1038 其中, 为精度, +1 到 1038 -1。其中,p为精度,指定小数点左边和右边可 以存储的十进制数字的最大个数。 为小数位数, 以存储的十进制数字的最大个数。q为小数位数,指定小数点 右边可以存储的十进制数字的最大个数, 右边可以存储的十进制数字的最大个数,
四、货币型
货币数据类型表示货币值。 货币数据类型表示货币值。货币数据存储的精确度固定为 表示货币值 四位小数,实际上货币类型的数据都是有4 四位小数,实际上货币类型的数据都是有4位小数的 decimal类型的数据 SQL92或SQL99没有对应的货币类型 类型的数据。 没有对应的货币类型。 decimal类型的数据。SQL92或SQL99没有对应的货币类型。
相关文档
最新文档