数据库第3章(3)

合集下载

数据库习题第三章 习题

数据库习题第三章 习题

CH3关系数据库标准语言SQL一、选择题1、SQL属于()数据库语言A、关系型B、网状型C、层次型D、面向对象型2、SQL中创建基本表应使用()语句A、CREATE INDEXB、CREATE TABLEC、CREATE VIEWD、CREATE DATEBASE3、SQL中创建视图应使用()语句A、CREATE SHCEMAB、CREATE TABLEC、CREATE VIEWD、CREATE DATEBASE4、关系代数中的Π运算对应SELECT语句中的()子句A、SELECTB、FROMC、WHERED、GROUP BY5、关系代数中的σ运算对应SELECT语句中的()子句A、SELECTB、FROMC、WHERED、GROUP BY6、WHERE子句的条件表达式中,可以匹配0个到多个字符的通配是()A、*B、%C、_D、?7、WHERE子句的条件表达式中,可以匹配单个字符的通配是()A、*B、%C、_D、?8、SELECT语句中与HA VING子句同时使用的是()子句A、ORDER BYB、WHEREC、GROUP BYD、无需配合9、与WHERE G BETWEEN 60 AND 100 语句等价的子句是()A、WHERE G>60 AND G<100B、WHERE G>=60 AND G<100C、WHERE G>60 AND G<=100D、WHERE G>=60 AND G<=10010、若用如下的SQL语句创建一个表student:CREATE TABLE student ( NO CHAR(4) NOT NULL,NAME CHAR(8) NOT NULL,SEX CHAR (2),AGE INT)可以插入到student表中的是()A、(‘1031’,‘刘华’,男,23)B、(‘1031’,‘刘华’,NULL,NULL)C、(NULL,‘刘华’,‘男’,‘23’)D、(‘1031’,NULL,‘男’,23)11、SQL语言支持建立聚簇索引,这样可以提高查询效率,但是,并非所有属性列都适宜建立聚簇索引,下面()属性列不适宜建立聚簇索引。

《数据库原理与应用》(第三版) 课件 第3章 数据库设计技术

《数据库原理与应用》(第三版) 课件 第3章 数据库设计技术
再分解了)。自顶向下的SA方法是从整个系统开始,采用逐层分解的方式对系统进行
分析的方法。
2023/9/9

3.2需求分析
2.数据流图(data flow diagram)
◆ SA方法只是对问题分析的一种思想,在具体的分析过程中还需要借助其他 的分析工具,这样才能完成对分析过程和结果的记录、对用户需求的表达
系统调研也称项目调研,即把系统开发当作项目来运作,其主要目的是通过接 触用户以了解并最终明确用户的实际需求。这个过程是一个系统分析人员理解
和掌握用户业务流程的过程,是一个需要不断与用户进行沟通和磋商的过程。
系统调研方法比较灵活,因人、因系统而异。大致过程可以分为以下几个步骤
来完成:
2023/9/9
3.2需求分析
第3章数据库设计技术
· 3.1数据库设计概述
·3.2需求分析
· 3.3数据库结构设计 · 3.4数据库的实施、运行和维护
2023/9/9
第三章数据库设计技术
3.1数据库设计概述
◆数据库设计是指在现有的应用环境下,从建立问题的概念模型开始,
逐步建立和优化问题的逻辑模型,最后建立其高效的物理模型,并据 此建立数据库及其应用系统,使之能够有效地收集、存储和管理数据 ,满足用户的各种应用需求。
的。所有这些结果都应该跟用户确认后予以书面形式确定下来。
2023/9/9
3.2需求分析
3.2.2需求分析的方法
1.SA方法
针对数据库设计,形成用户需求的有效表达,这种表达在说明书中多以数据流图、数
据字典等形式来描述。
为建立用户需求的表达,可以采用多种分析方法来完成。这些方法主要包括自顶向下
和自底向上两种方法,其中常采用的方法是自顶向下的结构化分析方法(structured analysis,SA)。

大学数据库-第3章习题解答

大学数据库-第3章习题解答

生产厂家的数据有:厂名、地址、向商店提供的商品价格
请设计该百货商店的概念模型,再将概念模型转换为关系模型。注意某些信息可用属性 表示,其他信息可用联系表示。 答:概念模型如图所示。
题 3.22 E-R 图
图中:
职工:职工号,姓名,住址 商品部:商品部号,名称 商品:商品代号,价格,型号,出厂价格 生产厂家:厂名,地址
〖3.19〗 请设计一个图书馆数据库,此数据库中对每个借阅 者保存记录,包括:读者号、姓名、地址、性别、 年龄、单位。对每本书,保存有:书号、书名、作 者、出版社。对每本被借出的书保存有读者号、借 出日期和应还日期。要求:给出该图书馆数据库的 E-R 图,再将其转换为关系模型。
答:该图书馆数据库的 E-R 图如图所示。 其中:
〖3.16〗 为什么要从两层 C/S 结构发展成三层 C/S 结构? 答:为了减轻两层 C/S 结构中客户机的负担,从客户机和服务器各抽一部分功能,组成应用 服务器,成为三层 C/S 结构。 〖3.17〗 叙述数据字典的主要任务。 答:数据字典的任务就是管理有关数据的信息,主要包括:描述数据库系统的所有对象,并 确定其属性;描述数据库系统对象之间的各种交叉联系;登记所有对象的完整性及安全性限 制等;对数据字典本身的维护、保护、查询与输出。 〖3.18〗 现有一个局部应用,包括两个实体“出版社”和“作者”,这两个实体是多对多的
答:概念结构设计的结果用数据库的信息模型表示。信息模型的主要特点和设计策略是:信 息模型是现实世界的一个真实模型,能真实、充分地反映现实世界,能满足用户对数据的处 理要求;信息模型应当易于理解;信息模型应当易于更改,有利于修改和扩充;信息模型易 于向特定的数据模型转换。 〖3.8〗 什么是数据抽象?试举例说明。 答:① 数据抽象就是抽取现实世界的共同特性,忽略非本质的细节,并把这些共同特性用 各种概念精确地加以描述,形成某种数据模型。

数据库 第三章习题参考答案

数据库 第三章习题参考答案

三、设计题1.(1)SELECT BAuth FROM Book, PublishWHERE Book.PNo= Publish.PNo AND BName=’操作系统’ AND PName=’高等教育出版社’(2)查找为作者“张欣”出版全部“小说”类图书的出版社的电话。

SELECT PTel FROM Book, PublishWHERE Book.PNo= Publish.PNo AND BType =’小说’ AND BAuth=’张欣’(3)查询“电子工业出版社”出版的“计算机”类图书的价格,同时输出出版社名称及图书类别。

SELECT BPrice, PName, BType FROM Book, PublishWHERE Book.PNo= Publish.PNo AND PName =’电子工业出版社’ AND BType =’计算机’(4)查找比“人民邮电出版社”出版的“高等数学”价格低的同名书的有关信息。

SELECT * FROM BookWHERE BName =’高等数学’AND BPrice<ANY(SELECT BPrice FROM Book,PublishWHERE Book.PNo= Publish.PNo AND PName =’人民邮电出版社’ AND BName =’高等数学’)AND PName <>’人民邮电出版社’(5)查找书名中有“计算机”一词的图书的书名及作者。

SELECT BName, BAuth FROM BookWHERE BName LIKE’%计算机%’(6)在“图书”表中增加“出版时间”(BDate)项,其数据类型为日期型。

ALTER TABLE BookADD BDate datetime(7)在“图书”表中以“作者”建立一个索引。

CREATE INDEX Name ON Book(BAuth) desc2.(1)建立存书表和销售表。

Access数据库实用教程第三章 表的创建

Access数据库实用教程第三章 表的创建

3.3 自定义表
【例3-3】设计一张“学生”表,用于记录学生的基 本信息,各字段的具体要求见下表。
字段 字段类 名称 型 学号 文本 name 文本 要 求
(1)字段大小:8。(2)显示要求:右对齐。 (3)设置为主键。 (1)字段大小:10。(2)显示要求:“name”字段名的 显示字样为“姓名”;该字段数据显示要求:当输入了名 字后,正常显示名字;没有输入数据时,显示“noname”, 以表示还没有输入姓名。 (1)字段大小:1。(2)数据输入要求:新建记录时该字 段的默认值为“男”;利用查阅列表框选择输入“男”或 “女”。 (1)数据输入要求:在“____年-__月-__日”格式中输入 日期。(2)显示格式:如“1965年03月12日”所示。
符号 .(英文句号) ,(英文逗号) 0 # $ % 小数分隔符 千位分隔符 数字占位符。显示一个数字或 0 数字占位符。显示一个数字或不显示 美元符号 百分比。数字将乘以 100,并附加一个百分比符 号 说明
E-或e-
科学记数法,在负数指数后面加上一个减号 (-) , 在正数指数后不加符号。该符号必须与其他 符号一起使用,如 0.00E -00 或 0.00E00。
符号
@ &
说明
要求文本字符(字符或空格) 不要求文本字符
<
> ! -
使所有字符变为小写
使所有字符变为大写 数据左对齐 数据右对齐
自定义格式(分两节):<格式符号>;<字符串> 【例3-6】设置例题3-3中的“name”字段的“格式” 属性,实现如下要求:当输入了名字后,正常 显示名字;没有输入名字时,显示“noname”。 (4)“是/否”型字段格式 ①预定义格式 对于“是/否”型数据类型,可以将“格 式”属性设置为“真/假”、“是/否”或“开 /关”三种预定义格式之一 。 注意:表中数据的显示形式还要受到“查阅” 选项卡的“显示控件”属性的限制。

数据库第三章习题

数据库第三章习题

第3章 SQL语言习题一、单项选择题1.SQL语言是()的语言,易学习。

A.过程化 B.非过程化 C.格式化 D.导航式2.SQL语言是()语言。

A.层次数据库B.网络数据库C.关系数据库D.非数据库3.SQL语言具有()的功能。

A.关系规范化、数据操纵、数据控制B数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制D.数据定义、关系规范化、数据操纵4.关于SQL语言,下列说法正确的是()。

A 数据控制功能不是SQL语言的功能之一B SQL采用的是面向记录的操作方式,以记录为单位进行操作C SQL 是非过程化的语言,用户无须指定存取路径D SQL作为嵌入式语言语法与独立的语言有较大差别5.对表中数据进行删除的操作是()。

D.DELETE A.DROP B.ALTERC.UPDATE6.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。

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

A.SELECTB.INSERTC.UPDATED.DELETE7.SQL语言具有两种使用方式,分别称为交互式SQL和()。

解释式SQL A.提示式SQL B.用户式SQL C.嵌入式SQLD.8.SQL语言中,实现数据检索的语句是()。

C.UPDATEB.INSERTD.DELETE A.SELECT9.下列SQL语句中,修改表结构的是()。

B.CREATEC.UPDATE D .DELETE A.ALTER10.在SQL中,用户可以直接操作的是()。

B 视图 D 基本表和视图C 存储文件 A 基本表11.在SQL的查询语句中,对应关系代数中“投影”运算的语句是()。

B FROM A WHEREC SELECTD HAVING12.在SELECT语句中,需对分组情况满足的条件进行判断时,应使用()。

B GROUP BYC ORDER BY A WHERED HAVING13.SQL中,与“NOT IN”等价的操作符是()。

数据库第三章习题及答案

数据库第三章习题及答案

第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为成绩。

数据库答案 第三章习题参考答案

数据库答案  第三章习题参考答案
7
7. 找出没有使用天津产的零件的工程项目代码。 找出没有使用天津产的零件的工程项目代码。 Select jno from j where not exists (Select * from spj where spj.jno=j.jno and sno in (Select sno from s where city=‘天津’) city=‘天津了供应商 所供应的全部零件的工程号 求至少用了供应商S1所供应的全部零件的工程号 求至少用了供应商 所供应的全部零件的工程号JNO。 。 即查找:不存在这样的零件y,供应商S1供应了 供应了y,而工程x 即查找:不存在这样的零件 ,供应商 供应了 ,而工程 为选用y。 为选用 。 Select distinct jno From spj z Where not exists (select * from spj x where sno=‘S1’ and not exists (select * from spj y where y.pno=x.pno and y.jno=z.jno));
习题三
Select sno from spj Where jno=‘J1’;
第 4题
1.求供应工程 零件的供应商号码 求供应工程J1零件的供应商号码 求供应工程 零件的供应商号码SNO。 。
2.求供应工程 零件 的供应商号码 求供应工程J1零件 的供应商号码SNO。 求供应工程 零件P1的供应商号码 。 Select sno from spj Where jno=‘J1’ and pno=‘P1’;
1
3.求供应工程 零件为红色的供应商号码。 求供应工程J1零件为红色的供应商号码 求供应工程 零件为红色的供应商号码。 Select sno from spj, p Where spj.pno=p.pno and jno=‘J1’ and color=‘红 color=‘红’; 或: Select sno from spj Where jno =‘J1’ and pno in (Select pno from p where color=‘红’ ); color=‘红
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

值的个数 值的类型
武汉科技大学 陈彬
插入子查询结果(续)
[例4] 对每一个系,求学生的平均年龄,并把结果 存入数据库。 第一步:建表
CREATE TABLE Dept_age (Sdept CHAR(15) /* 系名*/ Avg_age SMALLINT); /*学生平均年龄*/
武汉科技大学 陈彬
功能
将新元组插入指定表中
武汉科技大学 陈彬
插入元组(续)
INTO子句 属性列的顺序可与表定义中的顺序不一致 没有指定属性列 指定部分属性列

VALUES子句

提供的值必须与INTO子句匹配
值的个数 值的类型
武汉科技大学 陈彬
插入元组(续)
[例1] 将一个新学生元组(学号:200215128;姓名:陈 冬;性别:男;所在系:IS;年龄:18岁)插入到 Student表中。
武汉科技大学 陈彬
3.5 数 据 更 新
3.5.1 插入数据 3.5.2 修改数据 3.5.3 删除数据
武汉科技大学 陈彬
3.5.1 插入数据
两种插入数据方式
1. 插入元组
2. 插入子查询结果
可以一次插入多个元组
武汉科技大学 陈彬
一、插入元组
语句格式
INSERT INTO <表名> [(<属性列1>[,<属性列2 >…)] VALUES (<常量1> [,<常量2>] … )
RDBMS在执行修改语句时会检查修改操作
是否破坏表上已定义的完整性规则

实体完整性
主码不允许修改 用户定义的完整性
NOT NULL约束 UNIQUE约束 值域约束
武汉科技大学 陈彬
3.5 数 据 更 新
3.5.1 插入数据 3.5.2 修改数据
3.5.3 删除数据
武汉科技大学 陈彬
武汉科技大学 陈彬
建立视图(续)
[例2]建立信息系学生的视图,并要求进行修改和插入操作
时仍需保证该视图只有信息系的学生 。
CREATE VIEW IS_Student
AS
SELECT Sno,Sname,Sage FROM Student
WHERE Sdept= 'IS'
WITH CHECK OPTION;
功能

修改指定表中满足WHERE子句条件的元组
武汉科技大学 陈彬
修改数据(续)

SET子句
指定修改方式
要修改的列
修改后取值

WHERE子句
指定要修改的元组 缺省表示要修改表中的所有元组
武汉科技大学 陈彬
修改数据(续)
三种修改方式
1. 修改某一个元组的值
2. 修改多个元组的值
3. 带子查询的修改语句
武汉科技大学 陈彬
1. 修改某一个元组的值
[例5] 将学生200215121的年龄改为22岁
UPDATE Student
SET Sage=22
WHERE Sno=' 200215121 ';
武汉科技大学 陈彬
2. 修改多个元组的值
[例6] 将所有学生的年龄增加1岁
UPDATE Student SET Sage= Sage+1;
3.5.3 删除数据
语句格式
DELETE FROM <表名>
[WHERE <条件>];
功能

删除指定表中满足WHERE子句条件的元组 指定要删除的元组 缺省表示要删除表中的全部元组,表的定义仍在字典中
武汉科技大学 陈彬
WHERE子句

删除数据(续)
三种删除方式
1. 删除某一个元组的值
CREAT VIEW S_G(Sno,Gavg) AS
SELECT Sno,AVG(Grade)
FROM SC GROUP BY Sno;
武汉科技大学 陈彬
建立视图(续)
不指定属性列
[例7]将Student表中所有女生记录定义为一个视图 CREATE VIEW F_Student(F_Sno,name,sex,age,dept) AS SELECT * FROM Student WHERE Ssex=‘女’; 缺点: 修改基表Student的结构后,Student表与F_Student视图的映象关系被
武汉科技大学 陈彬
删除视图(续)
[例8] 删除视图BT_S: DROP VIEW BT_S;
删除视图IS_S1:DROP VIEW IS_S1;
拒绝执行 级联删除: DROP VIEW IS_S1 CASCADE;
武汉科技大学 陈彬
3.6 视 图
3.6.1 定义视图 3.6.2 查询视图 3.6.3 更新视图
SELECT Sno,Sage FROM IS_Student WHERE Sage<20;
IS_Student视图的定义 (参见视图定义例1)
[例5] 定义一个反映学生出生年份的视图。
CREATE VIEW BT_S(Sno,Sname,Sbirth) AS SELECT Sno,Sname,2000-Sage
FROM Student;
武汉科技大学 陈彬
建立视图(续)
分组视图
[例6] 将学生的学号及他的平均成绩定义为一个视图 假设SC表中“成绩”列Grade为数字型
武汉科技大学 陈彬
建立视图(续)
基于视图的视图
[例4] 建立信息系选修了1号课程且成绩在90分以上的学
生的视图。
CREATE VIEW IS_S2 AS SELECT Sno,Sname,Grade FROM IS_S1 WHERE Grade>=90;
武汉科技大学 陈彬
建立视图(续)
带表达式的视图
武汉科技大学 陈彬
3. 带子查询的修改语句
[例7] 将计算机科学系全体学生的成绩置零。 UPDATE SC SET Grade=0 WHERE 'CS'= (SELETE Sdept FROM Student WHERE Student.Sno = SC.Sno);
武汉科技大学 陈彬
修改数据(续)
破坏,导致该视图不能正确工作。
武汉科技大学 陈彬
二、删除视图
语句的格式: DROP VIEW <视图名>;
该语句从数据字典中删除指定的视图定义 如果该视图上还导出了其他视图,使用CASCADE级联 删除语句,把该视图和由它导出的所有视图一起删除 删除基表时,由该基表导出的所有视图定义都必须显 式地使用DROP VIEW语句删除
义存入数据字典,并不执行其中的SELECT语句。
在对视图查询时,按视图的定义从基本表中将数
据查出。
武汉科技大学 陈彬
建立视图(续)
[例1] 建立信息系学生的视图。
CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept= 'IS';
武汉科技大学 陈彬
建立视图(续)
基于多个基表的视图
[例3] 建立信息系选修了1号课程的学生视图。
CREATE VIEW IS_S1(Sno,Sname,Grade)
AS SELECT Student.Sno,Sname,Grade FROM Student,SC WHERE Sdept= 'IS' AND Student.Sno=SC.Sno AND o= '1';
数据库系统概论
An Introduction to Database System
第三章 关系数据库标准语言SQL
(续2)
武汉科技大学信息学院
武汉科技大学 陈彬
第三章 关系数据库标准语言SQL
3.1 SQL概述
3.2 学生-课程数据库
3.3 数据定义
3.4 数据查询
3.5 数据更新
3.6 视图
3.7 小结
武汉科技大学 陈彬
二、插入子查询结果
语句格式 INSERT INTO <表名> [(<属性列1> [,<属性列2>… 子查询; 功能 将子查询结果插入指定表中
)]
武汉科技大学 陈彬
插入子ห้องสมุดไป่ตู้询结果(续)
INTO子句(与插入元组类似)
子查询 SELECT子句目标列必须与INTO子句匹配
武汉科技大学 陈彬
3.6 视
基于视图的操作
查询

删除 受限更新 定义基于该视图的新视图
武汉科技大学 陈彬
3.6 视
3.6.1 定义视图 3.6.2 查询视图 3.6.3 更新视图 3.6.4 视图的作用

武汉科技大学 陈彬
3.6.1 定义视图
建立视图 删除视图
武汉科技大学 陈彬
一、建立视图
语句格式
CREATE VIEW <视图名> [(<列名> [,<列名>]…)] AS <子查询> [WITH CHECK OPTION];
组成视图的属性列名:全部省略或全部指定
子查询不允许含有ORDER BY子句和DISTINCT 短语
武汉科技大学 陈彬
建立视图(续)
RDBMS执行CREATE VIEW语句时只是把视图定
3.6.4 视图的作用
武汉科技大学 陈彬
3.6.2 查询视图
用户角度:查询视图与查询基本表相同
RDBMS实现视图查询的方法 视图消解法(View Resolution) • 进行有效性检查 • 转换成等价的对基本表的查询
相关文档
最新文档