数据库系统课堂提问.ppt_第1页
数据库系统课堂提问.ppt_第2页
数据库系统课堂提问.ppt_第3页
数据库系统课堂提问.ppt_第4页
数据库系统课堂提问.ppt_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,1 ORACLE 2 SQL Server 3 DB2 4 SYBASE 5 INFORMIX 6 SQL ANYWHERE 7 FOXPRO 8 DBASE 9 DOMINAL 10 ACCESS,请说出几个DBMS产品来?,2,1 人 2 数据 3 硬件 4 软件,请说出DBS的主要组成部份?,3,1 数据定义功能 2 数据组织、存储和管理功能 3 数据操纵功能 4 数据库的事务管理和运行管理 5 数据库的建立和维护功能 6 其他功能,DBMS的主要功能有哪些?,4,数据结构化 数据的共享性高,冗余度低,易扩充 数据独立性高 数据由统一管理和控制,数据库系统的特点有哪些?,5,数据的安全性保护 数据的完整性检测 并发控制 数据库恢复,DBMS提供的数据控制功能有哪些?,6,层次模型 网状模型 关系模型 面向对象模型 对象关系模型,按照数据结构的类型,常用的数据模型有哪些?,7,1 概念模型 2 逻辑模型和物理模型,按照应用目的,数据模型可分为什么?,数据结构 数据操作 数据的完整性约束条件,数据模型的组成要素有哪些?,8,一对一联系 一对多联系 多对多联系,实体型间的联系有哪些?,一对多联系,请问班主任和班级之间的联系是什么?,9,请画出题库的E-R图。,题库表,题目编号,类别编号,完整题面,难度系数,主观题答案,备注,题库答案表,题目编号,问题编号,答案序号,答案内容,正确答案否,流水号,1,n,10,1、关系模型中数据的逻辑结构是一张二维表,它由行和列组成。 2、关系模型中键选择并不一定唯一。如果关系模型键的属性数目总数小于关系模型中属性数目总数,则至少整个属性的组合一定是键。,关系模型的逻辑结构是什么,关系模型的键选择是否唯一?为什么?,11,单用户结构 主从式结构 分布式结构 客户/服务器结构 浏览器/应用服务器/数据库服务器多层结构,从数据库最终用户角度看,数据库系统的结构可分为哪些?,12,利用ER图设计用以保存电话本的信息表结构?,13,1、关系数据结构; 2、关系操作(包括查询操作和编辑操作) 3、三类完整性结束 实体完整性 参照完整性 用户定义完整性,关系模型有哪些组成要素?,14,1 主码: (学号,课程号) 2 主属性: 学号, 课程号 3 非码属性: 成绩,设有关系选修(学号,课程号,成绩)?指出主码,主属性, 非码属性分别是什么?,15,不知道 不确定 无意义,某个字段值为空值是什么意思?,什么是实体完整性?,若属性A是基本关系R的主属性,则属性A不能取空值,16,计算:设R,S如下,计算RS, RS, R-S,RS,17,18,计算:设R,S如下,计算Rr.b=s.bS, A(R), B=b2(S),19,20,P38页第12题,21,试证明在学生选课关系中,请证明SC(SNO,CNO,G)2NF,证明 首先每个学生的任何一门课只能有一个成绩,所以码为(SNO,CNO),非主属性为(G)。且属性组(SNO,CNO)函数确定(G)。问题转化为需要证明(G)完全函数依赖于(SNO,CNO)。因为(SNO,CNO)的真子集(SNO),(CNO)都不能函数确定(G),所以(SNO,CNO)完全函数确定(G)。 根据2NF定义, SC(SNO,CNO,G)2NF。,22,简述规范化理论的优缺点。,证明 优点:规范化理论可以减少插入异常、删除异常、数据冗余度高等问题。 缺点:它可能使得查询效率降低,编程工作难度加大,另外分割表时要适可而止,保持适当的数据冗余有助于提高数据的存取效率,23,请问SQL语言的特点有那些?,综合统一 高度的非过程化 面向集合的操作方式 以同一种语法结构提供两种使用方式 语言简捷、易学易用。,24,利用SQL语言,创建数据表T_xsda,包含的属性有Fi_id, Fs_xm, Fs_xb, Fd_csrq, 其中Fi_id做主键。,CREATE TABLE T_xsda ( Fi_id int NOT NULL primary key, Fs_xm varchar(50) NULL, Fs_xb char(2) NULL, Fd_csrq datetime NULL ) ;,25,写一个用户自定义函数Fun_Score,输入的一个参数为整数,当此参数值小于60时,返回不合格;60到74时,返回合格;75到84时,返回良;85到100时,返回优。,CREATE FUNCTION dbo.Fun_Score(FI_Score int) RETURNS Varchar(30) AS BEGIN DECLARE FS_RETURN Varchar(30) IF FI_Score 84 RETURN(优) IF FI_Score 74 RETURN(良) IF FI_Score 59 RETURN(合格) ELSE RETURN(不合格) RETURN(合格) END,26,1 对不同版本的操作系统选择相应版本的SQL Server,并注意其对硬件、软件环境的要求。 2 安装时,注意为SA用户创建密码。 3 二次或升级安装时,应停止SQL的一切服务,并完全删除相应文件和相应的登记注册项,如果相应的数据文件依然有用,应该事先备份。,安装SQL Server时应注意哪些问题?,27,利用SQL语言,删除数据表T_xsda。,DROP TABLE T_xsda;,28,为student增加一个出生日期的字段,名为d_csrq。,alter table student add d_csrq datetime,29,为student创建在字段年龄Sage, 性别Ssex和所在系Sdept的索引,名为i_asd。,create index i_asd on Student(Sage,Ssex,Sdept),30,删除student名为i_asd的索引。,drop index student.i_asd,31,删除student的字段,名为D_csrq。,alter table student drop column d_csrq,32,针对第二章习题5,利用SQL完成如下查询.,Select pname,color,weight From p;,2. 找出所有零件的名称,颜色,重量,33,针对第二章习题5,利用SQL完成如下查询.,Select p.pname,spj.qty From p,spj Where p.pno=spj.pno and spj.jno=J2;,3. 找出工程项目J2使用的各种零件的名称及数量。,34,针对第二章习题5,利用SQL完成如下查询.,Select distinct JNO From SPJ Where SNO=S1;,4.找出使用供应商S1所供应零件的工程号码.,35,编写一个表值返回函数,输入为学生姓氏,输出为该姓氏的所有学生信息。,CREATE FUNCTION ft_name (fs_name varchar(4) RETURNS TABLE AS RETURN ( SELECT * from student where sname like fs_name + % );,36,jobs表中job_desc字段描述了工作性质,查询包含有Manager的所有记录。,Select * from jobs where job_desc like %Manager%,学员成绩表sc中有English, Math, Politic三字段,求这三门课的总成绩total,并按高低进行排序。,Select English+Math+Politic as Total From Sc Order by Total,37,authors表中有au_fname和au_lname字段,查询姓为Dean名为Straight的记录。,Select * From authors where Au_lname = Dean and au_fname = Straight,38,查找student表中,成绩为中间两名的同学的信息,select studentno,sname,point,phone from student except select * from (select * from ( SELECT TOP 5 studentno,sname,point,phone FROM student order by point) a union select * from ( SELECT TOP 5 studentno,sname,point,phone FROM student order by point desc ) b) c,39,查询计算机系年龄在20岁以上(含20),且姓刘的所有同学的姓名。,Select Sname From Student where Sdept = CS and Sage = 20 and Sname like 刘%,40,在学生成绩sc表中,统计学生的总学分以及选课的数目,并按总学分排序。,select sno, count(distinct cno) as 选课数, sum(grade) as 总学分 from sc group by sno order by 总学分,41,在定单orders表中,按船籍shipregion和客户customerid统计其定单数以及运费freight总数。结果按船籍和客户排序。,select shipregion, Customerid, count(*) as 定单数, sum(freight) as 总费用 from orders group by shipregion,CustomerID order by shipregion,customerid,42,在产品表Products中列出了每种产品的供货信息,其中supplierid是供货商编号字段,ProductID是每种产品的编号,并且为主键,统计供货商能够提供的产品种类数,并显示多于2个种类的供货商,结果按供货商编号排序。,select supplierid,供货种类=count(*) from products group by supplierID having count(*) 2 order by supplierid,43,定单表orders中有顾客编号customerID字段,定单编号orderid(主键),运费(freight)等字段,顾客表customers中有顾客编号customerID字段(主键),公司名字companyname,联系电话phone等字段。显示每条定单的编号,运费,联系公司名字及联系电话。,select a.orderid,a.freight, panyname,b.phone from orders a,customers b where a.customerid = b.customerid,44,查询至少选修了学生200215122选修的全部课程的学生号码,select distinct sno from sc scx where not exists (select cno from sc where sno=200215122 except select cno from sc where sc.sno = scx.sno ),45,查询期末成绩比该选修课程平均期末成绩低的学生的学号、课程号和期末成绩,SELECT studentno,score.courseno,final FROM score, (SELECT courseno, AVG(final) avg_final FROM score group by courseno ) b where score.courseno = b.courseno and score.final b.avg_final,46,利用子查询,在定单表orders和顾客表customers中查询城市city为Berlin的顾客的所有定单。,select * from orders where customerid in (select customerid from customers where city =Berlin),47,设学生成绩表t_score,包含的属性有fs_xh, fs_kc, fi_cj, fd_ksrq,写出SQL语句先列表学生的每门课成绩,再统计每个学生的平均成绩,按学号顺序排列。,Select * from( Select * From t_score union Select fs_xh,平均成绩, avg(fi_cj),getdate() From t_score Group by fs_xh) b Order by fs_xh,fd_ksrq,48,设1,2,3班同学的成绩记录表分别为t_1, t_2, t_3,每个表中有学生学号(FS_XH), 成绩(FI_CJ),每门课程成绩为一条记录,则按总成绩顺序统计每个学生的总成绩,并显示总成绩300分的同学,写出相应的SQL语句。,Select fs_xh,sum(fi_cj) fi_zcj From (Select fs_xh,fi_cj From t_1 Union Select fs_xh,fi_cj from t_2 Union Select fs_xh,fi_cj from t_3) c Group by fs_xh Having sum(fi_cj)300 Order by sum(fi_cj),49,找出score表中的非法学生数据,select distinct studentno from score except select distinct studentno from student select distinct studentno from score where not exists ( select * from student where student.studentno = score.studentno ),50,设教师档案表有20条记录,教师基本工资记录表有15条记录,两表中仅有8条记录相对应,请问分别做内联接,教师档案表的左外联接,或右外联接,全外联接时分别应有多少条记录。,内联接:8 左外联接:20 右外联接:15 全外联接:27,51,设有表T1、T2包含有相同的字段(FI_ID,FS_NAME),不考虑主键可能导致的错误,写出SQL语句,请将T1的所有记录输入到T2中,同时向T2输入数据(8,王平)。,insert into t2 select * from t1,insert into t2 values(8,王平),52,写出SQL语句,将T1中的FI_ID=1的记录删除掉,将FI_ID=11的记录号更改为5555,FS_NAME=李彬。,delete from t1 where fi_id = 1 update t1 set fi_id = 5555, fs_name = 李彬 where fi_id = 11,53,设有表T1、T2、T3包含有相同的字段(FI_ID,FS_NAME),使用视图从三个表的并集中按ID编号选取后5条记录,请问应该如操作?,create view v_t123 as select * from t1 union select * from t2 union select * from t3,select top 5 * from v_t123 order by fi_id desc,54,查询score表中,既选修了 c05103又选修了 c05108的学生。,select studentno from score where courseno = c05103 intersect select studentno from score where courseno = c05108,55,查询student表中,男性且姓许的同学,select * FROM student WHERE sex = 男 intersect select * from student where sname like 许%,56,把score表中的final增加5%,如果对应的point高于750分。,update score set final = final *1.05 where studentno in ( select studentno from student where point 750),57,查询选修了全部课程的学生姓名,select studentno from score group by studentno having COUNT(distinct courseno) = ( select COUNT(distinct courseno) from score),58,视图的作用有哪些?,1.视图能够简化用户的操作 2.视图使用户能以多种角度看待同一数据 3.视图对重构数据库提供了一定程度的逻辑独立性 4.视图能够对机密数据提供安全保护,59,计算机系统的安全性可分为哪三大类?,1、技术安全类 2、管理安全类 3、政策法律类,60,计算机系统的安全性的两大标准分别是?,1、TCSEC 可信计算机系统评估准则 2、CC,61,试述实现数据库安全性控制的常用方法和技术?,用户标识和鉴别 存取控制 视图机制 审计 数据加密,62,数据库完整性和安全性有何区别与联系?,完整性是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出。 安全性是保护数据库,防止恶意的破坏和非法的存取。它的防范对象是非法用户和非法操作。,63,把对表S的Insert权限授予用户张勇,并允许他再将此权限授予其他用户.,GRANT INSERT ON TABLE S TO 张勇 With grant option,64,把查询SPJ表和修改QTY属性的权限授给用户李天明.,Grant select,update(qty) On table spj To 李天明,65,把查询SPJ表和修改QTY属性的权限从用户李天明收回。,Revoke select,update(qty) On table spj from 李天明,66,创建用户李天明 创建角色学生 将学生角色授予李天明,Create user 李天明; Create role 学生; Grant 学生 to 李天明,67,68,数据库完整性和安全性有何区别与联系?,完整性是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出。 安全性是保护数据库,防止恶意的破坏和非法的存取。它的防范对象是非法用户和非法操作。,69,数据库的安全性控制主要涉及哪些方面?,用户标识与鉴别 存取控制 自主存取控制 强制存取控制 视图机制 审计 数据加密 统计数据的安全性,70,为SC表增加一个fk_cno的约束,它规定字段cno是SC表的外键,参照于表course表字段cno,并且,如果course某条记录被删除,则SC表中的相应记录也将删除。,Alter table sc add constraint fk_cno foreign key (cno) references course(cno) on delete cascade,71,为SC表增加一个检测grade的约束,名为gr_ck,要求成绩不能低于0分。,alter table sc add constraint gr_ck check (grade=0),72,编写一个数据库触发器,当任何时候某个部门从dept表中删除时,该触发器将从emp表中删除该部门的所有雇员。,CREATE OR REPLACE TRIGGER del_emp_deptno BEFORE DELETE ON dept FOR EACH ROW BEGIN DELETE FROM emp WHERE deptno=:OLD.deptno; END;,73,编写一下触发器,完成功能:如果一个教师还有课上,则不能删除教师的基本信息。,create trigger before_delete on Teacher_info for each row declare numrows INTEGER; begin /* 检测是否授课 */ select count(*) into numrows from T_授课 where :new.FI_ID = T_授课.FI_ID; if (:new.FI_ID is not null and numrows 0) then raise_application_error(-20007, 不能删除,因为相关老师还在上课. ); end if;,74,写一个用户自定义函数Fun_Score,输入的一个参数为整数,当此参数值小于60时,返回不合格;60到74时,返回合格;75到84时,返回良;85到100时,返回优。,CREATE FUNCTION dbo.Fun_Score(FI_Score int) RETURNS Varchar(30) AS BEGIN DECLARE FS_RETURN Varchar(30) IF FI_Score 84 RETURN(优) IF FI_Score 74 RETURN(良) IF FI_Score 59 RETURN(合格) ELSE RETURN(不合格) RETURN(合格) END,75,在ERWin中,表与表之间的关系是靠什么来维护的?有哪些关系?,触发器 包括父表的(删除、插入、更新)触发器 子表的(删除、插入、更新)触发器,76,在ERWin中,有几种模式类型,分别有什么用途?,Logical:用于显示关系数据模式的结构,提供给程序设计人员和一般用户使用,和具体的DBMS无关。 Physical:用于创建物理数据库(表),主要供程序人员使用,它和具体的DBMS有关。,77,数据依赖主要有哪几种?,函数依赖 多值依赖,不好的关系模式主要会有哪些毛病?,插入异常 删除异常 更新异常 数据冗余度高,78,试证明在学生选课关系中,(SNO,CNO)完全函数确定(G),证明 首先每个学生的任何一门课只能有一个成绩,所以(SNO,CNO)函数确定(G)。 另外(SNO,CNO)的真子集(SNO),(CNO)都不能函数确定(G),所以(SNO,CNO)完全函数确定(G)。,79,根据函数依赖的定义,“请问唯一标识一个元组的属性组就称作候选码”这个描述是否正确?如果错误请怎样修改?,如果关系模式R(X,Y,Z),如果(X)(Z) ,则 (X,Y)与(Z)的关系是什么?,(Z)对(X,Y)部份函数依赖。,错误,“唯一标识一个元组的最少属性组就称作候选码” 。,F,80,试证明在学生选课关系中,请证明SC(SNO,CNO,G)2NF,证明 首先每个学生的任何一门课只能有一个成绩,所以码为(SNO,CNO),非主属性为(G)。且属性组(SNO,CNO)函数确定(G)。问题转化为需要证明(G)完全函数依赖于(SNO,CNO)。因为(SNO,CNO)的真子集(SNO),(CNO)都不能函数确定(G),所以(SNO,CNO)完全函数确定(G)。 根据2NF定义, SC(SNO,CNO,G)2NF。,81,在关系模式STJ中,每一教师T只教一门课J,每门课J有若干教师T,某一学生S选定某门课,就对应一个固定的教师T。请证明STJ3NF,但不属于BCNF,证明 首先由定义直接可得(S,J)-T, (S,T)-J, T-J。码为(S,J)或(S,T)。因而此问中没有任何非码属性,不构成任何非码属性对码传递依赖或部份依赖,所以STJ3NF。另外,T-J,但T并非码,更不会含有码,因此STJ不属于BCNF。,82,简述规范化理论的优缺点。,证明 优点:规范化理论可以减少插入异常、删除异常、数据冗余度高等问题。 缺点:它可能使得查询效率降低,编程工作难度加大,另外分割表时要适可而止,保持适当的数据冗余有助于提高数据的存取效率,83,数据库设计的基本步骤有哪些?,需求分析 ; 概念结构设计 ; 逻辑结构设计 ; 物理结构设计 ; 数据库运行和维护;,84,在需要分析中,常用的调查方法有哪些?,(1)跟班作业 (2)开调查会 (3)请专人介绍 (4)询问 (5)设计调查表请用户填写 (6)查阅记录,85,在需要分析中,调查的具体步骤有哪些?,(1)调查组织机构情况 (2)调查各部门的业务活动情况 (3)明确用户对新系统的各种要求 (4)确定新系统的边界,86,在概念结构设计中,常用的方法有哪些?,1)自顶向下。 2)自底向上。 3)逐步扩张。 4)混合策略。,87,数据库的运行和维护主要包括哪些内容?,数据库的转储和恢复 数据库的安全性、完整性控制 数据库性能的监督、分析和改造 数据库的重组织与重构造,数据库视图集成的两种方式是什么?,多个分E-R图一次集成 逐步集成,88,查询处理的步骤有哪些?,查询分析 查询检查 查询优化 代数优化 物理优化 查询执行,89,实际系统对查询优化的具体实现步骤有哪些?,把查询转换成某种内部表示。 把语法树转换成标准(优化)形式。 选择低层的存取路径。 生成查询计划、选择代价最小的。,90,什么是事务,事务的特性有哪些?,事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。 事务的特性包括: 原子性 一致性 隔离性 持续性,91,常见的故障种类有哪些?,1 事务内部的故障 2 系统故障 3 介质故障 4 计算机病毒,92,Oracle中常见的备份方法有哪些?,1 全库备份 2 增量备份 3 累积备份,93,为我校学生选课系统的ORACLE数据库设计一个备份方案。,忙时: 1 每周日晚做一次完全备份 2 周一、二、四、六做增量备份 3 周三、周五做累积备份 闲时 1 每月一号做完全备份 2 每周日做增量备份 3 半月做累积备份,94,什么是日志文件?为什么需要日志文件?,日志文件是用来记

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论