1《数据库系统概论》(王珊.第五版)★第一章绪论本章内容:数据库系统概述、数据模型、数据库系统结构本章主要考点:数据、数据库、★数据库管理系统的概念、概念模型、★ER图、三种数据模型、数据库的三级模式结构1、试述数据、数据库、数据库系统、数据库管理系统的概念(1)数据(Data):描述事物的符号记录称为数据。(2)数据库(DataBase,简称DB):数据库是长期储存在计算机内的、有组织的、可共享的数据集合。(3)数据库系统(DataBaseSystem,简称DBS):数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。(4)数据库管理系统(DataBaseManagementSystem,简称DBMS):数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。2、对于DB、DBS、DBMS的关系,下列哪一种描述是正确的(B)A、DB包括DBS、DBMSB、DBS包括DB、DBMSC、DBMS包括DBS、DBD、以上都不对3、概念模型中的术语:实体、属性、码、域、实体型、实体集实体:客观存在并可以相互区分的事物叫实体。属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。码:惟一标识实体的属性集称为码。域:域是一组具有相同数据类型的值的集合。实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。实体集:同型实、体的集合称为实体集。4、目前数据库领域中最常用的逻辑数据模型有层次模型、网状模型、关系模型等。5、数据库管理系统的主要功能有哪些?(冷叶顷)(1)数据库定义功能(2)数据存取功能(3)数据库运行管理(4)数据库的建立和维护功能。★6、实体联系图(E—R图)实体型:用矩形表示,矩形框内写明实体名;属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1或1:n或m:n)。▲例:假设教学管理规定:①一个学生可选修多门课,一门课有若干学生选修;②一个教师可讲授多门课,一门课只有一个教师讲授;③一个学生选修一门课,仅有一个成绩。学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。要求:根据上述语义画出ER图,要求在图中画出实体的属性并注明联系的类型;解:根据以上规则画出对于的E—R图如下27、数据库系统的三级模式结构:外模式:亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。模式:亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部逻辑结构,通常是模式的子集。内模式:亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。8、对数据库中进行增加记录类型或增加数据项,通过调整下列哪一级映像,可以使应用程序尽可能保持不变,便达到了哪一种数据的独立性(A)A、外模式/模式映像,逻辑数据独立性B、外模式/模式映像,物理数据独立性C、模式/内模式映像,逻辑数据独立性D、模式/内模式映像,物理数据独立性9、数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是(D)A.外模式B.内模式C.存储模式D.模式10、层次模型不能直接表示(C)。A.1:1关系B.1:m关系C.m:n关系D.1:1和1:m关系★第二章关系数据库(重点)本章内容:关系数据结构及形式化定义、关系操作、关系的完整性、关系代数本章主要考点:概念、关系的完整性、★★关系代数31、关系数据库管理系统应能实现的专门关系运算包括(B)。A.排序、索引、统B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表2、自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的(D)。A.元组B.行C.记录D.属性3、关系运算中花费时间可能最长的运算是(C)。A.投影B.选择C.笛卡尔积D.除4、关系模式的任何属性(A)。A.不可再分B.可再分C.命名在该关系模式中可以不惟一D.以上都不是5、在关系代数运算中,五种基本运算为(C)。A.并、差、选择、投影、自然连接B.并、差、交、选择、投影C.并、差、选择、投影、乘积D.并、差、交、选择、乘积6、要求学生的年龄在15至40岁之间,是关系模型的哪一种完整性规则(C)A.参照完整性B.实体完整性C.用户定义的完整性规则D.以上都不是7、关系R的元数为5,关系S的元数是4,则RS可以等价于下列哪一种(B)2﹥3A.2﹥3(R×S)B.2﹥7(R×S)C.RSD.6<2(R×S)8、关系的三类完整性约束:实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值参照完整性规则:若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:●或者取空值(F的每个属性值均为空值)●或者等于S中某个元组的主码值用户定义的完整性:针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求★★9、关系代数(冷叶顷)(1)R∪S仍为n目关系,由属于R或属于S的元组组成(2)R-S仍为n目关系,由属于R而不属于S的所有元组组成4(3)R∩S仍为n目关系,由既属于R又属于S的元组组成(4)笛卡尔积:R×S列:(n+m)列元组的集合,元组的前n列是关系R的一个元组,后m列是关系S的一个元组,行:k1×k2个元组(5)选择:选择运算符的含义:在关系R中选择满足给定条件的诸元组σF(R)={t|tR∧F(t)='真'}F:选择条件,是一个逻辑表达式例如:查询信息系(IS系)全体学生σSdept='IS'(Student)(6)投影:投影运算符的含义:从R中选择出若干属性列组成新的关系πA(R)={t[A]|tR}A是R中的属性列例如:查询学生的姓名和所在系,即求Student关系上学生姓名和所在系两个属性上的投影πSname,Sdept(Student)(7)连接:连接运算的含义:从两个关系的笛卡尔积中选取属性间满足一定条件的元组分为等值连接、一般连接、自然连接例如:关系R和关系S如下所示:5(8)除:给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合,记作:R÷S={tr[X]|trR∧πY(S)Yx}例如:设关系R、S分别为下图的(a)和(b),R÷S的结果为图(c)★例:设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商号码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项6目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。试用关系代数完成如下查询:(1)求供应工程J1零件的供应商号码SNO;(2)求供应工程J1零件P1的供应商号码SNO;(3)求供应工程J1零件为红色的供应商号码SNO;(4)求没有使用天津供应商生产的红色零件的工程号JNO;(5)求至少用了供应商S1所供应的全部零件的工程号JNO。解:(1)求供应工程J1零件的供应商号码SNO:πSno(σJno=‘J1’(SPJ))(2)求供应工程J1零件P1的供应商号码SNO:πSno(σJno=‘J1’∧Pno=‘P1‘(SPJ))(3)求供应工程J1零件为红色的供应商号码SNO:πSno(σJno=‘J1‘(σCOLOR=’红‘(P)SPJ))或πSno(σJno=‘J1‘(SPJ)(σCOLOR=’红‘(P))(4)求没有使用天津供应商生产的红色零件的工程号JNO:πJno(SPJ)-πJNO(σcity=‘天津’∧Color=‘红‘(SSPJP))或πJno(SPJ)-πJNO(σcity=‘天津’(S)SPJσColor=‘红‘(P))(5)求至少用了供应商S1所供应的全部零件的工程号JNO:πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ))★第三章关系数据库标准语言SQL(重点)本章内容:SQL概述、数据定义、数据查询、数据更新、视图本章主要考点:基本概念、★★数据查询的基本语句操作、数据更新语句1、SQL语言是(C)语言。A.层次数据库B.网络数据库C.关系数据库D.非数据库2、SQL语言具有两种使用方式,分别称为交互式SQL和(C)。A.提示式SQLB.多用户SQLC.嵌入式SQLD.解释式SQL3、假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系(D)。A.SB.SC,CC.S,SCD.S,C,SC4、如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作(B)不能执行。A.从职工表中删除行(‘025’,‘王芳’,‘03’,720)B.将行(‘005,’,‘乔兴’,‘04’,750)插入到职工表中C.将职工号为,‘001’的工资改为700D.将职工号为,’038’的部门号改为‘03’5、在SQL语言中,用来测试一个集合里是否有重复元组存在,使用下列哪一个关键字(A)A.UNIQUEB.DISTINCTC.EXISTSD.NOTIN★★6、SQL数据查询语句(冷叶顷)SELECT语句格式:SELECT[ALL|DISTINCT]目标列表达式[,目标列表达式]…FROM表名或视图名[,表名或视图名]…[WHERE条件表达式]7[GROUPBY列名1[HAVING条件表达式]][ORDERBY列名2[ASC|DESC]];(注:SQL语句中不区分大小写)①单表查询(1)选择表中的若干列:查询指定列:例:查询全体学生的学号与姓名SELECTSno,SnameFROMStudent;查询所有列:(将目标列表达式指定为*)例:查询全体学生的详细记录。SELECT*FROMStudent;查询结果计算的值:例:查全体学生的姓名及其出生年份。SELECTSname,2012-Sage/*假定当年的年份为2012年,减去年龄即得出生年份*/FROMStudent;(2)选择表中的若干元组取消取值重复的行:(指定DISTINCT关键词,去掉表中重复的行)例:查询选修了课程的学生号码SELECTDISTINCTSno(使用DISTINCT关键词取消了重复学号的行)FROMSC;查询满足条件的行:(WHERE语句)例:查询计算机科学系全体学生的名单。(比较)SELECTSnameFRO