数据库考试大纲说明第一章数据库基础§1.1数据库的基本概念§1.1.1数据与数据处理1.数据与信息2.数据处理§1.1.2数据库系统1.数据库:DB2.数据库管理系统:DBMS3.数据库系统:DBS§1.2数据模型•§1.2.1数据模型的概念•§1.2.2概念模型:•概念模型中的一些名词:实体,属性,码,实体集,联系,•两个实体型之间的联系可以分成三种:•1)一对一的联系:班级与班主任之间是一对一的联系。记为1:1。•2)一对多的联系:班级与学生之间是一对多的联系。记为1:n。•3)多对多的联系:学生与课程之间是多对多的联系。记为m:n。§1.2.3E-R图•属性用椭圆表示,椭圆中写明属性项目的名称,用连线与相应实体型连起来。联系用菱形表示,菱形中写明联系的名称,用连线与它联系的两个实体型连起来。•从E-R图中导出关系模型•学校里每名学生可以学习多门课程,且每门课程可以被多名学生学;每一门课程可以由多名教师讲授,但是每一名教师只能讲授一门课程。•学生学习课程有成绩;教师讲授课程有评价。学生的属性有学号,姓名,性别;教师的属性有工号和姓名;课程的属性有课号,课程名,学分。•(1)根据上述语义画出ER图,在ER图中需注明实体的属性、联系的类型及实体的标识符。•(2)将ER模型转换成关系模型,并指出每个关系模式的主键和外键。•学生(学号,姓名,性别)主键:学号•教师(工号,姓名,课号,评价)•主键:工号外键:课号•课程(课号,课程名,学分)•主键:课号•学习(学号,课号,成绩)•主键:(学号,课号)外键:学号,课号§1.2.4关系数据模型•关于关系,有以下几个名词:关系、元组、属性、分量、主码(Key)、域、关系模式•关系模型的三类完整性:实体完整性、参照完整性(外码)、用户定义完整性•关系代数(举例说明)•现有如下关系:职工(职工号,姓名,性别,职务)部门(部门编号,部门名称,职工号,姓名,部门地址,电话)其中,部门关系中的外码是()。A、部门编号B、姓名C、职工号D、职工号,姓名返回针对下列关系模式,用关系代数完成下列操作Student(Sno,Sname,Ssex,Sage,Sdept)Course(Cno,Cname,Cpno,Ccredit)SC(Sno,Cno,Grade)1、查询信息系(IS系)学生中年龄小于20岁的学号和年龄;2、查询选修了3号课程的学生的姓名和性别;3、查询成绩在90分以上的学生学号和课程名。(1)πSno,Sage(σSdept=‘IS’∧Sage20(Student))(2)πSname,Ssex(σCno=‘3’(SC)∞(Student))(3)πcname,Sno(σGrade90(SC)∞πCno,Cname(Course)§1.2.5SQL语句重点:1掌握数据定义(表的定义、修改、删除)2重点掌握数据查询(语句格式、单表、多表、嵌套查询、分组、排序、集函数的应用)3重点掌握数据操纵(记录的增、删、改)4掌握视图(视图的作用、视图的定义、查询)用SQL语言完成下列操作。1、查询选修了一门其直接先行课为6号课程的学生姓名。2、查询选修了数学课且成绩在90分以上的学生学号和姓名。3、计算3号课程的学生平均成绩。(1)SELECTStudent.Sno,SnameFROMStudent,SC,CourseWHEREStudent.Sno=SC.SnoANDSC.Cno=Course.CnoANDCourse.Cpno=“6”(2)SELECTStudent.Sno,SnameFROMStudent,SCWHEREStudent.Sno=SC.SnoANDSC.Cname=‘数学’ANDSC.Grade〉90(3)SELECTAVG(Grade)FROMSCWHERECno=‘3’第二章Foxpro数据库管理系统概述§2.1.1Foxpro数据组织方式1.数据库与自由表:2.数据表:3.表字段:(1)字段名:(2)字段宽度:规定字段值的取值方式和最大存储长度。(3)字段类型1)字符型(C):2)数值型(N):3)日期型(D):4)逻辑型(L):5)备注型(M):6)通用型(G):7)双精度型8)整型9)货币型10)日期时间型只有字符型和数值型字段的长度需要用户确定,其它类型系统自然给出。最常用的几个表例:学生表:XS.DBF(xh,xm,xb,csrq,zy,rxzf,zf,photo,bz)选课表:XK.DBF(xh,kcbh,cj)课程表:KC.DBF(kcbh,kcmc,xs,xf)职工表:ZG.DBF(bh,xm,xb,csrq,hf,bm,jbgz)职工工资表:GZ.DBF(bh,jbgz,jj,sbf,bt,gjj,ylgz,kc,slgz)4.Foxpro命令格式Foxpro命令的一般格式为:命令动词+若干子句。§2.1.2数据表文件的打开与关闭•(1)USE[IN工作区号]功能:关闭当前工作区或指定工作区的数据表文件。•(2)CLOSEDATABASES功能:关闭所有打开的数据库文件、索引文件、备注文件等,并指定1号工作区为当前工作区。•(3)CLOSEALL功能:关闭所有工作区的所有文件及其相关窗口,并指定1号工作区为当前工作区。•(4)CLEARALL功能:除了具有CLOSEDATABASES的功能,还删除用户定义的所有内存变量。§2.1.3数据表结构的操作1.显示数据表结构:•(1)DISPLAYSTRUCTURE•(2)LISTSTRUCTURE2.修改数据表结构:MODIFYSTRUCTURE3.复制数据表结构:•COPYSTRUCTURETO新数据表名[FIELDS字段名表]§2.2数据表记录的输入与显示§2.2.1数据表记录的输入1.立即录入:2.追加录入:APPEND[BLANK]3.从其它数据表文件中读取:APPENDFROM源数据表名[FIELDS字段名表][FOR条件表达式]§2.2.2数据表记录的显示(1)LIST[FIELDS字段名表][范围][FOR条件表达式][WHILE条件表达式][OFF][TOPRINTER|TOFILE文件名](2)DISPLAY[FIELDS字段名表][范围][FOR条件表达式][WHILE条件表达式][OFF][TOPRINTER|TOFILE文件名]§2.3数据表记录的编辑§2.3.1记录指针1.指针测试函数:EOF():BOF():RECCOUNT():RECNO():2.绝对移动指针命令GOTO:GOTOTOP|BOTTOM[IN工作区号]GOTO数值表达式[IN工作区号]3.相对移动指针命令SKIP:SKIP[数值表达式][IN工作区号]§2.3.2数据表记录的修改1.打开浏览/编辑窗口修改:BROWSE|CHANGE2.成批替换修改:REPLACE字段1WITH表达式1[ADDITIVE][,字段2WITH表达式2[ADDITIVE]...][范围][FOR条件表达式]§2.3.3数据表记录的删除1.逻辑删除:DELETE[范围][FOR条件表达式][WHILE条件表达式]2.恢复被逻辑删除的记录:RECALL[范围][FOR条件表达式][WHILE条件表达式]3.物理删除记录:PACK4.全部删除:ZAP第三章FOXPRO基本元素§3.1Foxpro数据类型§3.1.1数据类型§3.1.2常量与变量1.常量:2.变量:内存变量名最好不要与当前库表中字段变量名相同。在二者同名时,字段变量的优先级高,即用此名总是调出字段变量的值。这时如果要调出内存变量的值,则应该在内存变量名的前面加上m-或m.符号。•假设职员表已在当前工作区打开,其当前记录的“姓名”字段值为“张三”(字符型,宽度为6)。在命令窗口输入并执行如下命令:姓名=姓名-“您好”?姓名那么主窗口中将显示•A)张三B)张三您好•C)张三您好D)出错§3.2内存变量及操作§3.2.1内存变量的建立和显示1.内存变量建立:(1)内存变量名=表达式(2)STORE表达式TO内存变量表2.内存变量显示:(1)?|??表达式表●?换行显示,??不换行显示。(2)DISPLAYMEMORY[LIKE通配符]•下列语句中,能够正确赋给内存变量ML逻辑假值的命令是______。A)ML=”.F.”B)STORE“F”TOMLC)ML=FALSED)STORE.F.TOML§3.3函数§3.3.1数值运算函数§3.3.2字符处理函数§3.3.3日期时间函数§3.3.4类型转换函数§3.3.5测试函数§3.3.6宏替换函数•执行下列命令后,显示结果是__A_____。S=”软件学院”?SUBSTR(S,(LEN(S)/2-3),4)A)软件B)件学C)学院D)软院•函数IIF(32,AT(技术,计算机科学与技术),LEN(技术))的显示值是___C____。A)2B)7C)13D)4§3.4表达式§3.4.1数值表达式略§3.4.2字符表达式(1)完全连结运算:将两个字符串连接在一起。运算符是+。(2)不完全连结运算:将前一字串尾部的空格移到后一字串的尾部,然后再将两个字串完全连接。运算符是-。(3)包含运算:运算符是$。如果运算符左边的字符串出现在右边的字符串中,则运算结果为.T.(真);否则为.F.(假)§3.4.3日期表达式(1)日期加法:。运算符是+。(2)日期减法:。运算符是-。§3.4.4关系表达式●关系运算符:、、=、=、=等于==完全等于、或!=不等于§3.4.5逻辑表达式●逻辑运算符:逻辑非.NOT.、逻辑与.AND.、逻辑或.OR.。也可以写作:NOT、AND、OR。§3.4.6混合运算第四章数据表的统计与计算§4.1记录个数统计1.RECCOUNT()函数:RECCOUNT([工作区号])2.条件统计:COUNT[范围][FOR条件表达式][WHILE条件表达式][TO内存变量]§4.2数值字段求统计值1.横向计算:REPLACE字段1WITH表达式1[ADDITIVE][,字段2WITH表达式2[ADDITIVE]...][范围][FOR条件表达式]2.纵向计算:•COUNT、SUM、AVERAGE命令每次只能对数据表进行单一种类的统计操作,CALCULATE可以同时进行多种类的统计操作。原因是它可以调用一批统计函数:AVG(数值表达式)---计算平均值CNT()---------------统计记录个数SUM(数值表达式)---求和MAX(表达式)-------求表达式最大值MIN(表达式)-------求表达式最小值第五章数据表排序、索引与查询§5.1排序§5.2.1索引的概念与类型1.索引文件的概念:略2.索引文件的类型:(1)单索引文件:单索引文件的扩展名为IDX。(2)复合索引文件:复合索引文件的扩展名为CDX。复合索引文件又分成:独立复合索引文件和结构复合索引文件。§5.2.2索引文件的建立(1)INDEXON索引表达式TOidx单索引文件名[FOR逻辑表达式](2)INDEXON索引表达式TAG索引标识符OFcdx独立复合索引文件名[FOR逻辑表达式](3)INDEXON索引表达式TAG索引标识符[FOR逻辑表达式]§5.2.3索引文件的打开1.用USE命令打开:2.用SETINDEXTO打开:§5.2.4改变主索引1.打开索引文件时改变主索引:2.利用改变主索引命令:SETORDERTO§5.2.5索引文件重建、关闭与删除1.重建索引:REINDEX2.关闭索引文件:3.删除索引§5.3查询§5.3.1顺序查询1.LOCATE命令2.CONTINUE命令§5.3.2索引查询索引查询有两个命令:FIND和SEEK。二者功能相同而用法有些不同。1.F