数据库复习资料.doc_第1页
数据库复习资料.doc_第2页
数据库复习资料.doc_第3页
数据库复习资料.doc_第4页
数据库复习资料.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库的基本概念概念模型数据模型分成两个不同的层次(1) 概念模型 也称信息模型,它是按用户的观点来对数据和信息建模。(2) 数据模型 主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。概念模型的用途概念模型用于信息世界的建模 是现实世界到机器世界的一个中间层次是数据库设计的有力工具 数据库设计人员和用户之间进行交流的语言对概念模型的基本要求较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识简单、清晰、易于用户理解。概念模型是现实世界到机器世界的一个中间层次。相关概念:实体、实体型、实体集、联系、码、属性等实体(Entity) 客观存在并可相互区别的事物称为实体。 可以是具体的人、事、物或抽象的概念。实体型(Entity Type) 用实体名及其属性名集合来抽象和刻画 同类实体称为实体型实体集(Entity Set) 同型实体的集合称为实体集联系(Relationship) 现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系实体型间联系 两个实体型 一对一联系(1:1) 三个实体型 一对多联系(1:n) 一个实体型 多对多联系(m:n) 码(Key) 唯一标识实体的属性集称为码。 属性(Attribute) 实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。 表示方法:E-R图数据模型:网状模型:网状模型是一个网络 层次模型实际是网状模型的一个特例网状模型的条件 允许一个以上的结点无父结点 一个结点可以有多于一个的父结点优点能够更为直接地描述现实世界,如一个结点可以有多个双亲具有良好的性能,存取效率较高缺点结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握;DDL、DML语言复杂,用户不容易使用关系模型:优点1、建立在严格的数学概念的基础上2、概念单一。数据结构简单、清晰,用户易懂易用。实体和各类联系都用关系来表示。 对数据的检索结果也是关系。3、关系模型的存取路径对用户透明。具有更高的数据独立性,更好的安全保密性。简化了程序员的工作和数据库开发建立的工作缺点1、存取路径对用户透明导致查询效率往往不如非关系数据模型。2、为提高性能,必须对用户的查询请求进行优化增加了开发数据库管理系统的难度对象模型相关概念:关系、码(主码、外码、候选码)、属性、域、元组等关系(Relation) 一个关系对应通常说的一张表。主码(Key)表中的某个属性组,它可以唯一确定一个元组。也可以称为主键或主关键字。如果一个关系中存在多个可以作为主码,则称这些码为候选码。主码是从候选码中选取出来的。A同时在2张表里,但它不是第一张表的主码而是另一张表的主码,因此,A就是第一张表的外码。属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名(列名)。域(Domain) 属性的取值范围。元组(Tuple) 表中的一行即为一个元组。它相当于一个记录值。表示方法:课程(课程号,课程名,学分) 选修(学号,课程号,成绩)3、现实世界中客观存在并能相互区别的事物称为(A)A.实体B.实体集C.字段D.记录4、现实世界中事物的特性在信息世界中称为(C)A.实体B.实体集C.属性D.码5、采用二维表格结构表达实体类型及实体间联系的数据模型是(D)A.层次模型B.网状模型C.实体模型D.关系模型6、数据库系统达到数据独立性是因为采用了(D)A.层次模型B.网状模型C.关系模型D.三级模式7、在数据库系统中,用(D)描述全部数据的整体逻辑结构。A.外模式B.存储模式C.内模式D.模式8、物理独立性是指(C)A.模式改变,外模式和应用程序不变B.内模式改变,模式和外模式不变C.内模式改变,模式不变D.模式改变,内模式不变9、数据库(DB)、DBMS、DBS之间的关系是(B)A.DB包括DBMS和DBSB. DBS包括DBMS和DBC. DBMS包括DB和DBSD. DBS与DBMS和DB无关关系数据库的理论基础关系运算传统的集合运算(并、交、差、广义笛卡儿集等) 专门的关系运算(选择、投影、连接)并运算:所有至少出现在两个关系中之一的元组集合差运算:所有出现在一个关系而不在另一关系中的元组集合交运算:所有同时出现在两个关系中的元组集合广义笛卡尔积运算:ABab12r CDabbg10102010Eaabbs ABaaaabbbb11112222CDab bgabbg1010201010102010Eaabbaabbr x s选择: 在关系中选择满足条件的元组 例,性别=“女”(S)投影 :选择某些属性列 例,学号、课程号(S) 连接 从两个关系的笛卡儿积中选取属性间满足一定条件的元组,表示为R S,F是条件表达式广义的笛卡儿积运算,例,R S 参照完整性:参照完整性规则:若属性F是关系R的外码,它与关系S的主码K相对应,则对于R中每个元组在F上的值为取空值(F的每个属性均为空值),或者等于S中某个元组的主码值 例子: 课程(课程号,课程名,学分) 选修(学号,课程号,成绩)实体完整性:实体完整性规则:若属性A是基本关系R的主码,则属性A不能取空值 例子: 学生 (学号, 姓名, 性别,年龄) ,学号不能为空用户定义的完整性:用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求 范式函数依赖的种类和表现(能举例说明)函数依赖可能带来的问题掌握如何消除各种函数依赖(要求达到3NF)关系数据库标准语言SQL (P29)查询Select (重点) (P41) 单表查询、连接查询、嵌套查询重点SELECT ALL|DISTINCT , FROM , WHERE GROUP BY HAVING ORDER BY ASC|DESC ;插入、删除、修改数据(掌握)Insert delete updata权限的管理(了解)Grant revoke denySQL Server管理和操作创建数据库 相关数据库文件及其作用创建表 字段类型的选择、主码、外码创建约束 主键、外键、唯一性、默认值、检查、空值创建关系图修改数据(添加、删除、修改)数据库安全管理理解四层安全机制客户机操作系统的安全性 SQLServer登录的安全性数据库使用的安全性 数据库对象使用的安全性登录模式 系统身份验证、SQLServer身份验证、混合模式 系统管理员:sa角色 系统角色、数据库角色登录账号、数据库账号权限的授予、收回和拒绝角色与权限之间的联系数据库保护 备份和恢复 事务及事务的特性索引 索引的作用 创建索引的限制索引的分类如何定义不同类型的索引视图视图的作用和本质 视图如何定义1、单项选择题(30分)2、简答题(20分)3、综合应用题(40分)4、解答题(10分)1、查询成绩在7080分之间的学生的学号、课程号和成绩 select sno,cno,grade from SC where grade between 70 and 802、查询计算机系年龄在1820之间且性别为男的学生的姓名和年龄 select sname,sage from student where sage between 18 and 20 and Sdepartment=计算机系 and Sex=男3、查询计算机系的学生的姓名和年龄。 select sname,sage from student where Sdepartment=计算机系4、查询没有选课的同学的学号 select sno from student where sno not in (select sno from sc)5、查询选修了c02的学生的学号与课程号,以及课程的性质 select sno,cno,xklb from sc where cno=c026、查询计算机系,课程成绩高于80分的同学的学号,姓名,选修课程的课程号,成绩 select student.sno,sname,cno,grade from student,sc where student.sno = sc.sno and Sdepartment=计算机系 and grade807、查询信息系,平均成绩高于70分的同学的学号,平均成绩select * from student,(select sno,avg(grade) gradefrom scgroup by snohaving avg(grade)70) awhere a.sno=student.sno and Sdepartment=信息系8、查询平均成绩高于80分的课程名select cno,avg(grade) from scgroup by cnohaving avg(grade)809、查询总成绩超过180分的学生,要求列出学生的姓名,总成绩,并按照总成绩的高低进行降序排序select sno,sum(grade)from scgroup by snohaving sum(grade)170order by desc10、查询与李勇选修同一门课程的学生的学号、姓名、课程号select sno,cno from scwhere cno in (select cno from student,scwhere student.sno=sc.sno and sname = 李勇)11、查询没有选修数据库基础这门课程同学的姓名,年龄select sname,sage from studentwhere sno not in (select sno from course,scwhere o=o and Cname = 数据库基础)12、查询信息系,选修vb课程的学生人数select count(*) 人数 from studentwhere Sdepartment=信息系and sno in(select sno from course,scwhere o=o and Cname = vb)题1 设有SPJ数据库,包括供应商表S,零件表P,工程项目表J,供应情况表SPJ:S(SNO, SNAME, STATUS, CITY)P(PNO, PNAME, COLOR, WEIGHT)J(JNO, JNAME, CITY)SPJ(SNO, PNO, JNO, QTY)编写以下SQL语句:1、创建表S; create table S (sno char(3), sname char(10),status char(2),city char(10) )2、求供应工程J1的供应商号码SNO;SELECT SNO FROM SPJ WHERE JNO=J1 ;3、求供应工程J1零件P1的供应商号码SNO; SELECT SNO FROM SPJ WHERE JNO=J1 AND PNO=P14、找出所有供应商的姓名和所在城市;SELECT SNAME, CITY FROM S5、找出所有零件的名称、颜色、重量SELECT PNAME,COLOR,WEIGHT FROM P6、找出使用供应商S1所供应零件的工程号SELECT JNO FROM SPJ WHERE SNO=S17、找出工程项目J2使用的各种零件的名称及数量SELECT PNAME,QTY FROM P,SPJ WHERE P.PNO=SPJ.PNO AND SPJ.JNO=J28、求供应工程J1零件为红色的供应商号码SNO;SELECT SNO FROM SPJ WHERE JNO=J1 AND PNO IN (SELECT PNO FROM P WHERE COLOR=红); 或SELECT SNO FROM SPJ,P WHERE JNO=J1 AND SPJ.PNO=P.PNO AND P.COLOR=红;9、上海厂商供应的所有零件号SELECT DISTINCT PNO FROM SPJ WHERE SNO IN (SELECT SNO FROM S WHERE CITY=上海)10、找出使用上海产的零件的工程名称SELECT JNAME FROM J, SPJ, S WHERE J.JNO=SPJ.JNO AND SPJ.SNO=S.SNO AND S.CITY=上海11、找出没有使用天津产的零件的工程号SELECT JNO FROM J WHERE JNO NOT IN (SELECT JNO FROM SPJ, S WHERE SPJ.SNO=S.SNO AND S.CITY=天津)或:SELECT JNO FROM J WHERE NOT EXISTS (SELECT * FROM SPJ, S WHERE SPJ.JNO=J.JNO AND SPJ.SNO=S.SNO AND S.CITY=天津)12、把全部红色零件的颜色改成蓝色UPDATEP SET COLOR=蓝 WHERE COLOR=红13、由S5供给J4的零件P6改成由S3供给UPDATE SPJ SET SNO=S3 WHERE SNO=S5 AND JNO=J4 AND PNO=P614、从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录DELETE FROM SPJ WHERE SNO=S2DELETE FROM S WHERE SNO=S215、将(S2,J6,P4,200)插入供应情况表INSERT INTO SPJ(SNO,JNO,PNO,QTY) VALUES (S2,J6,P4,200)或INSERT INTO SPJ VALUES (S2,J6,P4,200);16、为三建工程项目建立一个供应情况视图,包括SNO,PNO,QTY(三建为工程名)CREATE VIEW V_SPJ AS SELECT SNO,PNO,QTY FROM SPJ WHERE JNO=(SELECT JNO FROM J WHERE JNAME=三建)题2 为管理岗位业务培训信息,建立3个表:S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄C (C#,CN ) C#,CN 分别代表课程编号、课程名称SC ( S#,C#,G ) S#,C#,G 分别代表学号、所选修的课程编号、学习成绩 编写以下SQL语句:1、使用标准SQL嵌套语句查询选修课程名称为税收基础的学员学号和姓名 SELECT SN,SD FROM SWHERE S# IN( SELECT S# FROM C,SC WHERE C.C#=SC.C# AND CN=N税收基础)2、使用标准SQL嵌套语句查询选修课程编号为C2的学员姓名和所属单位 SELECT S.SN,S.SD FROM SWHERE S# IN ( SELECT S# FROM SC WHERE C#=C2 )3、使用标准SQL嵌套语句查询不选修课程编号为C5的学员姓名和所属单位SELECT SN,SD FROM SWHERE S# NOT IN ( SELECT S# FROM SC WHERE C#=C5 ) 4、查询选修了课程的学员人数 SELECT 学员人数=COUNT(DISTINCT S#) FROM SC5、查询选修课程超过5门的学员学号和所属单位 SELECT SN,SD FROM SWHERE S# IN (SELECT S# FROM SCGROUP BY S#HAVING COUNT(DISTINCT C#)5 )题3 已知关系模式:S (SNO,SNAME) 学生关系。

温馨提示

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

评论

0/150

提交评论