第3章 关系数据库标准语言SQL_1
第三章 关系数据库查询语言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
第三章关系数据库标准语言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处理时,各子句的执行次序为()。
数据库系统概论习题及答案-其它题
数据库系统概论复习资料:第一章假定教课管理规定:①一个学生可选修多门课,一门课有若干学生选修;②一个教师可讲解多门课,一门课只有一个教师讲解;③一个学生选修一门课,仅有一个成绩。
学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。
要求:依据上述语义画出ER 图,要求在图中画出实体的属性并注明联系的种类;解答:课程号课程名学号m n选修学生课程姓名n成绩讲解1教师教师编号教师姓名第 2 章关系数据库1、设有以下所示的关系S(S#,SNAME,AGE,SEX) 、C(C#,CNAME,TEACHER)和 SC(S#,C#,GRADE) ,试用关系代数表达式表示以下查问语句:(1) 检索“程军”老师所讲课程的课程号(C#) 和课程名 (CNAME) 。
(2)检索年纪大于 21 的男学生学号 (S#)和姓名 (SNAME) 。
(3) 检索起码选修“程军”老师所授所有课程的学生姓名(SNAME) 。
(4)检索”李强”同学不学课程的课程号(C#) 。
(5)检索起码选修两门课程的学生学号(S#)。
(6) 检索所有学生都选修的课程的课程号(C#) 和课程名 (CNAME) 。
(7) 检索选修课程包含“程军”老师所讲课程之一的学生学号(S#)。
(8)检索选修课程号为 k1 和 k5 的学生学号 (S#)。
(9)检索选修所有课程的学生姓名 (SNAME) 。
(10)检索选修课程包含学号为 2 的学生所修课程的学生学号 (S#)。
(11)检索选修课程名为“ C 语言”的学生学号 (S#)和姓名 (SNAME) 。
解:此题各个查问语句对应的关系代数表达式表示以下:(1). ∏ C#,CNAME( σ TEACHER= ‘程军’ (C))(2). ∏ S#,SNAME( σAGE>21 ∧ SEX= ”男” (C))(3). ∏ SNAME{s[ ∏S#,C#( sc)÷∏ C#( σ TEACHER= ‘程军’ (C))]}(4). ∏ C#(C)- ∏ C#( σ SNAME= ‘李强’ (S) SC)(5). ∏ S#(σ[1]=[4] ∧ [2] ≠ [5] (SC × SC))(6). ∏ C#,CNAME(C(∏ S#,C#(sc)÷∏ S#(S)))(7). ∏ S#(SC∏ C#(σ TEACHER=‘程军’ (C)))(8). ∏ S#,C#( sc)÷∏ C#(σ C#= ’k1’∨ C#=’ k5’ (C))(9). ∏ SNAME{s[ ∏S#,C#( sc)÷∏ C#(C)]}(10). ∏ S#,C#( sc)÷∏ C#(σ S#=’2’ (SC))(11). ∏S#,SNAME{s[∏ S#(SCσ CNAME=‘ C语言’(C))]}2、关系 R 和 S 以以下图所示,试计算R÷S。
《数据库应用》全套PPT电子课件教案-第三章(关系数据库标准语言SQL)
库文件。
16
第3章 关系数据库标准语言SQL
3.3 数据查询
SQL的核心是查询。SQL的查询命令也称作SELECT命令,它 的基本形式由SELECT-FROM-WHERE查询块组成,多个查 询块可以嵌套执行。SQL查询命令格式:
DISTINCT短语的作用是去掉查询结果中的重复值.
19
第3章 关系数据库标准语言SQL
SELECT * FROM 仓库 其中“*”是通配符,表示所有属性,即字段,这里的命令 等同于:
SELECT 仓库号,城市,面积 FROM 仓库 SELECT DISTINCT 仓库号 FROM 职工 WHERE 工资 > 1210
SQL语言是当前最为成功、应用最为广泛的关 系数据库语言,其主要特点包括:
1. SQL语言非常简洁 2. 综合统一 3. 高度非过程化 4. 面向集合的操作方式 5. 以同一种语法结构提供两种使用方式
4
第3章 关系数据库标准语言SQL
3.1.2 SQL语言功能概述
SQL功能可分为四大部分:数据定义功能、数据 控制功能、数据查询功能和数据操纵功能。
21
第3章 关系数据库标准语言SQL
匹配串中可包含如下四种通配符: _(下划线):匹配任意一个字符。 %(百分号):匹配0个或多个字符。 [ ]:匹配[ ]中的任意一个字符。如[abcd]表示匹配a、b、
c和d中的任何一个。 [^]:不匹配[ ]中的任意一个字符。如[abcd]表示不匹配
a、b、c和d。
SELECT 职工号,城市 FROM 仓库,职工 WHERE ( 面积 > 400) AND
第三章 关系数据库标准语言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
山东财政学院计算机信息工程学院
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
课程表: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
例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)
学分 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等
数据库系统概论实验指导书1-7章选择题解答
1—7章选择题解答二、选择题1.数据库系统的基本特征是A)数据的统一控制B)数据共享性和统一控制C)数据共享性、数据独立性和冗余度小D)数据共享性和数据独立性2.在数据库系统中,多种应用、多种语言互相覆盖地同时使用数据集合并且易于扩充,则称之为数据的A)安全性 B)独立性 C)完整性 D)共享性3. 在文件系统中,数据是面向A)机器 B)全组织 C)系统软件D)特定应用4. 在数据库系统的三级模式结构中,用___描述数据的全局逻辑结构A)子模式 B)用户模式C)模式 D)存储模式5.数据库的概念模型独立于A)具体的机器和DBMS B)E-R图C)信息世界 D)现实世界6. 下列不属于 DBMS 的主要功能是A)数据存取 B)数据库定义C)运行管理 D)报表书写7.要保证数据库的数据独立性,需要修改的是A)三层模式之间的两种映射B)模式与内模式C)模式与外模式D)三层模式8.在数据库技术中,为提高数据库的逻辑独立性和物理独立性,数据库的结构被划分成用户级、_________、和存储级三个层次。
A)管理员级 B)外部级C)概念级 D)内部级9.在三个模式中真正存储数据的是A)模式 B)内模式 C)外模式 D)上述三者10.数据库管理系统DBMS是。
A、数学软件B、应用软件C、计算机辅助设计D、系统软件第2章关系数据库一、单项选择题1.关系数据模型通常由三部分组成,它们是_______。
A)数据结构、数据通信、关系操作B) 数据结构、关系操作、完整性约束C) 数据通信、关系操作、完整性约束D)数据结构、数据通信、完整性约束2.关系模型实体完整性约束是指__________A)限制外键的属性值不能为空值B)限制主键的属性值不能为空值C)限制非主属性值不能为空值D)限制元组中任何属性值不能为空3.五种基本关系代数运算是_______。
A)∪,-,×,π和σB)∪,-,∞,π和σC)∪,∩,×,π和σD)∪,∩,∞,π和σ4.设关系R和S的结构相同,并且各有80个元组,假如这两个关系作交运算,其运算结果的元组个数为_________。
数据库第三章习题及答案
第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为成绩。
数据库系统概论第四版复习试题及答案
数据库系统概论复习资料:第一章:一选择题:1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
在这几个阶段中,数据独立性最高的是阶段。
A.数据库系统B.文件系统 C.人工管理 D.数据项管理答案:A2.数据库的概念模型独立于。
A.具体的机器和DBMS B.E-R图 C.信息世界 D.现实世界答案:A3.数据库的基本特点是。
A.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余大,易移植 (4)统一管理和控制B.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制C.(1)数据可以共享(或数据结构化) (2)数据互换性 (3)数据冗余小,易扩充 (4)统一管理和控制D.(1)数据非结构化 (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制答案:B4. 是存储在计算机内有结构的数据的集合。
A.数据库系统B.数据库 C.数据库管理系统 D.数据结构答案:B5.数据库中存储的是。
A.数据 B.数据模型 C.数据以及数据之间的联系 D.信息答案:C6. 数据库中,数据的物理独立性是指。
A.数据库与数据库管理系统的相互独立B.用户程序与DBMS的相互独立C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的D.应用程序与数据库中数据的逻辑结构相互独立答案:C7. .数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指。
A.同一个应用中的多个程序共享一个数据集合B.多个用户、同一种语言共享数据C.多个用户共享一个数据文件D.多种应用、多种语言、多个用户相互覆盖地使用数据集合答案:D8.据库系统的核心是。
A.数据库B.数据库管理系统 C.数据模型 D.软件工具答案:B9. 下述关于数据库系统的正确叙述是。
A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据答案:A10. 数将数据库的结构划分成多个层次,是为了提高数据库的①和②。
王珊《数据库系统概论》课后习题(关系数据库标准语言SQL)【圣才出品】
王珊《数据库系统概论》课后习题(关系数据库标准语⾔SQL)【圣才出品】第3章关系数据库标准语⾔SQL1.试述SQL的特点。
答:SQL有以下五个特点:(l)综合统⼀:SQL语⾔集数据定义语⾔DDL、数据操纵语⾔DML、数据控制语⾔DCL的功能于⼀体。
在关系模型中实体和实体间的联系均⽤关系表⽰,这种数据结构的单⼀性带来了数据操作符的统⼀性,查找、插⼊、删除、更新等每⼀种操作都只需⼀种操作符,从⽽克服了⾮关系系统由于信息表⽰⽅式的多样性带来的操作复杂性。
(2)⾼度⾮过程化:⽤SQL语⾔进⾏数据操作,只要提出“做什么”,⽽⽆需指明“怎么做”,因此⽆需了解存取路径、存取路径的选择以及SQL语句的操作过程。
这有利于提⾼数据独⽴性。
(3)⾯向集合的操作⽅式:SQL语⾔采⽤集合操作⽅式,不仅操作对象和查找结果可以是元组的集合,⽽且插⼊、删除、更新操作的对象也可以是元组的集合。
(4)以同⼀种语法结构提供两种使⽤⽅式:SQL语⾔既是⾃含式语⾔,⼜是嵌⼊式语⾔。
作为⾃含式语⾔,它能够独⽴地⽤于联机交互的使⽤⽅式;作为嵌⼊式语⾔,它能够嵌⼊到⾼级语⾔程序中,供程序员设计程序时使⽤。
(5)语⾔简捷,易学易⽤。
2.试述SQL的定义功能。
答:SQL的数据定义功能包括定义表、视图和索引。
(1)SQL语⾔使⽤CREATE TABLE语句建⽴基本表,ALTER TABLE语句修改基本表定义,DROP TABLE语句删除基本表,其⼀般格式为:DROP TABLE<表名>[RESTRICT | CASCADE];(2)使⽤CREATE INDEX语句建⽴索引,DROP INDEX语句删除索引;(3)使⽤CREATE VIEW语句建⽴视图,DROP VIEW语句删除视图。
3.⽤SQL语句建⽴第⼆章习题5中的4个表。
答:建⽴S表:S(SNO,SNAME,STATUS,CITY);CREATE TABLE S(SNO char(2)UNIQUE,SNAME char(6),STATUS char(2),CITY char(4));建⽴P表:P(PNO,PNAME,COLOR,WEIGHT);CREATE TABLE P(PNO char(2)UNIQUE,PNAME char(6),COLOR char(2),WEIGHT INT);建⽴J表:J(JNO,JNAME,CITY);CREATE TABLE J(JNO char(2)UNIQUE,JNAME char(8),CITY char(4));建⽴SPJ表:SPJ(SNO,PNO,JNO,QTY);CREATE TABLE SPJ(SNO char(2),PNO char(2),JNO char(2),QTY INT);4.针对上题中建⽴的四个表试⽤SQL完成第⼆章习题5中的查询。
(完整版)数据库原理课后题答案
第1章1.试恳数据、数据库、数据库系统、数据库管理系统的概念。
答:(1)数据:描述事物的符号记录成为数据。
数据的种类有数字、文字、图形、图像、声音、正文等。
数据与其语义是不可分的。
(2)数据库:数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
数据库中的数据按照一定的数据模型组织。
描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
(3)数据库系统:数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发人具)、应用系统、数据库管理员构成。
(4)数据库管理系统:数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。
DBMS的主要功能包括数据定义功能、数据操作功能、数据库的建立和维护功能。
6. 试述数据库系统三级模式结构,这种结构的优点是什么?答:数据库系统的三级模式机构由外模式、模式和内模式组成。
外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
模式亦称逻辑模式,是数据库中全体数据呃逻辑结构和特征的描述,是所有用户的公共数据视图。
模式描述的是数据的全局逻辑结构。
外模式涉及的是数据的内部逻辑结构,通常是模式的子集。
内模式,亦称存储模式,是数据在数据库内部的表示,即对数据的物理结构和存储方式的描述。
数据库系统的三级模式是对数据的三个抽象级别,它对数据的具体组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。
为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。
正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
7. 定义并解释下列术语。
数据库系统概论基础填空题
数据库系统概论期末复习填空题第1章绪论1.数据管理技术经历了人工管理、文件系统和数据库系统三个阶段。
2.数据库是长期存储在计算机内、有组织的、可共享的数据集合。
3.DBMS是指数据库管理系统它是位于用户和操作系统之间的一层管理软件。
4.数据库管理系统的主要功能有数据定义功能、数据操纵功能、数据库的运行管理和数据库的建立以及维护等4个方面。
5.数据独立性又可分为逻辑数据独立性和物理数据独立性。
6.当数据的物理存储改变了,应用程序不变,而由DBMS处理这种改变,这是指数据的物理独立性。
答案:物理独立性7.数据模型是由数据结构、数据操作和完整性约束三部分组成的。
8.数据结构是对数据系统的静态特性的描述,数据操作是对数据库系统的动态特性的描述。
答案:①数据结构②数据操作9.数据库体系结构按照模式、外模式和内模式三级结构进行组织。
10.实体之间的联系可抽象为三类,它们是1∶1 、 1∶m 和 m∶n 。
11.数据冗余可能导致的问题有浪费存储空间及修改麻烦和潜在的数据不一致性。
12.数据库管理系统是数据库系统的一个重要组成部分,它的功能包括数据定义功能、13.数据操纵功能、数据组织存储和管理_、数据库运行管理和事物管理、数据库的建立和维护功能。
14.数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、15.数据库管理系统、应用软件和数据库管理员构成16.数据库,数据库管理系统(及其开发工具),数据库管理员,应用系统17..数据库具有数据结构化、最小的冗余度、较高的数据独立性等特点。
18..三级模式之间的两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和19.数据独立性。
20.数据模型的三要素是指数据结构化,数据操作,数据的完整性约束条件。
实际数据库系统中21.所支持的主要数据模型是层次模型,网状模型,关系数据模型。
22._ 关系模型___是目前最常用也是最重要的一种数据模型。
采用该模型作为数据的组织方式的数据库系统称为关系数据库。
第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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
<表名>:要修改的基本表
ADD子句:增加新列和新的完整性约束条件
DROP子句:删除指定列和完整性约束条件 ALTER COLUMN子句:用于修改列名和数据类型
22
3.3.2 基本表的定义、删除与修改
修改基本表
[例6] 向Student表中增加“入学时间”列,其数据 类型为日期型。 ALTER TABLE Student ADD Scome DATE; 不论基本表中原来是否已有数据,新增加的列一律为 空值。
PRIMARY KEY(Sno,Cno),
FOREIGN KEY (Sno) REFERENCES Student(Sno), FOREIGN KEY (Cno) REFERENCES Course(Cno));
20
3.3.2 基本表的定义、删除与修改
定义基本表
常用完整性约束
实体完整性约束:PRIMARY KEY 参照完整性约束:FOREIGN KEY 用户自定义的完整性约束:
[例9] 增加/删除课程名称必须取唯一值的约束 ALTER TABLE Course ADD UNIQUE(Cname); ALTER TABLE Course DROP UQ__C__7D78A4E7;
24
3.3.2 基本表的定义、删除与修改
删除基本表
DROP TABLE <表名> <RESTRICT|CASCADE>
Ssex CHAR(2),
Sage SMALLINT, Sdept CHAR(20) );
18
3.3.2 基本表的定义、删除与修改
定义基本表
[例4] 建立一个“课程”表Course CREATE TABLE Course (Cno CHAR(4) PRIMARY KEY, Cname CHAR(40), Cpno CHAR(4) REFERENCES Course(Cno),
姓名 Sname
李勇 刘晨 王敏 张立
性别 Ssex
男 女 女 男
年龄 Sage
20 19 18 19
所在系 Sdept
CS IS MA IS
8
3.2 学生-课程数据库
Course表 课程号 Cno 1 2 3 4 5 6 7 课程名 Cname 数据库 数学 信息系统 操作系统 数据结构 数据处理 PASCAL语言 6 1 6 7 先行课 Cpno 5 学分 Cdredit 4 2 4 3 4 2 4
23
3.3.2 基本表的定义、删除与修改
修改基本表
[例7] 将Student表中属性列Scome删除
ALTER TABLE Student DROP COLUMN Scome; [例8] 将年龄的数据类型改为整型 ALTER TABLE Student ALTER COLUMN Sage INT; 注:修改原有的列定义有可能会破坏已有数据
CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名>(<列名>[<次序>][,<列名>[<次序>] ]…);
用<表名>指定要建索引的基本表名字 索引可以建立在该表的一列或多列上,各列名之间用逗号分 隔 用<次序>指定索引值的排列次序,升序:ASC,降序:DESC。 缺省值:ASC UNIQUE表明此索引的每一个索引值只对应唯一的数据记录 CLUSTER表示要建立的索引是聚簇索引。
确保用户具有创建数据库的权限 [例1] 定义学生-课程数据库S_T CREATE DATABASE S_T;
14
3.3.1 数据库的定义与删除
定义数据库
CREATE DATABASE S_T ON PRIMARY ( NAME = 'S_T_data1', FILENAME = 'D:\data\S_T_data1.mdf', SIZE = 20 MB, MAXSIZE = UNLIMITED, FILEGROWTH = 10% ) LOG ON ( NAME = 'S_T_log1', FILENAME = 'D:\data\S_T_log1.ldf', SIZE = 50 MB, MAXSIZE = 100 MB, FILEGROWTH = 10 MB );
3
3.1 SQL概述
SQL标准从1986年公布以来随着数据库技术的发 展而不断发展和丰富。
标准
大致页数 120页 622页 1700页 3600页
发布日期 1986年10月 1989年 1992年 1999年 2003年
SQL/86 SQL/89 SQL/92 SQL/99 SQL2003
9
3.2 学生-课程数据库
SC表 学号 Sno 200215121 200215121 200215121 200215122 200215122 课程号 Cno 1 2 3 2 3 成绩 Grade 92 85 88 90 80
10
第三章 关系数据库标准语言SQL
3.1 SQL概述
3.2 学生-课程数据库
第三章 关系数据库标准语言SQL
第三章 关系数据库标准语言SQL
3.1 SQL概述
3.2 学生-课程数据库
3.3 数据定义
3.4 数据查询 3.5 数据更新 3.6 视图
1
第三章 关系数据库标准语言SQL
3.1 SQL概述
3.2 学生-课程数据库
3.3 数据定义
3.4 数据查询 3.5 数据更新 3.6 视图
4
3.1 SQL概述
作为关系数据库的标准语言,SQL已被众多商用 数据库管理系统产品所采用,而不同的数据库管 理系统在其实践过程中都对SQL规范做了某些改 变和扩充。 实际上,不同数据库管理系统之间的SQL语言不 能完全通用。
微软公司的MS SQL Server支持的是T-SQL,而甲 骨文公司的Oracle 数据库所使用的SQL语言则是 PL-SQL。
<表名>:所要定义的基本表的名字
<列名>:组成该表的各个属性(列)
<列级完整性约束条件>:涉及相应属性列的完整性约束条件 <表级完整性约束条件>:涉及一个或多个属性列的完整性约
束条件
17
3.3.2 基本表的定义、删除与修改
定义基本表
[例3] 建立一个“学生”表Student,学号是主码, 姓名取值唯一。 CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20) UNIQUE,
27
3.3.2 基本表的定义、删除与修改
删除基本表
[例12] 若表上建有视图,选择CASCADE时可以删除表, 视图也自动被删除 DROP TABLE Student CASCADE; 注意:不同的数据库产品在遵循SQL标准的基础上具体 实现细节和处理策略上会与标准有差别
28
3.3.3 索引的建立与删除
2
3.1 SQL概述
SQL(Structured Query Language)
结构化查询语言,是关系数据库的标准语言。 1974年由Boyce和Chamberlin提出,并在IBM公司研制 的关系数据库管理系统原型System R上实现。 由于SQL简单易学,功能丰富,深受用户及计算机工 业界欢迎,因此被数据库厂商所采用。经各公司的不 断修改、扩充和完善,SQL得到业界的认可。 1986年10月美国国家标准局(ANSI)的数据库委员会 X3H2批准了SQL作为关系数据库语言的美国标准。
Ccredit SMALLINT,
FOREIGN KEY (Cpno) REFERENCES Course(Cno) );
19
3.3.2 基本表的定义、删除与修改
定义基本表
[例5] 建立学生选课表SC,成绩取值在1-100之间。 CREATE TABLE SC (Sno CHAR(9), Cno CHAR(4), Grade SMALLINT check(Grade>=1 and Grade<=100),
3.3 数据定义
3.4 数据查询 3.5 数据更新 3.6 视图
11
3.3 数据定义
SQL的数据定义功能包括数据库定义、表定义、 视图和索引定义。
SQL的数据定义语句 操作方式 操作对象 创建 数据库 CREATE DATABASE 删除 DROP DATABASE 修改
表
视图 索引
CREATE TABLE
15
3.3.1 数据库的定义与删除
删除数据库
DROP DATABASE <数据库名>
[例2] 删除学生-课程数据库S_T DROP DATABASE S_T;
16
3.3.2 基本表的定义、删除与修改
定义基本表
CREATE TABLE <表名> (<列名><数据类型>[<列级完整性约束条件>] [,<列名><数据类型>[<列级完整性约束条件>]] … [,<表级完整性约束条件>]);
学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 课程表:Course(Cno,Cname,Cpno,Ccredit)