2011-2012年第一学期《数据库管理系统》复习提纲
一、数据库基础
1.数据管理的发展:
人工管理、文件管理、数据库管理
(数据共享、数据独立性逐步提高)
2.数据库DB、数据库管理系统DBMS、数据库系统DBS,其中DBMS
是核心。
3.数据模型
(1)实体的概念(entity)及属性
(2)实体之间的联系(relationship)
1)一对一联系2)一对多联系3)多对对联系
(3)数据模型的类别
1)层次模型(树型):不能直接表示多对多关系
2)网状模型:可以表示多对多关系,但是结构复杂
3)关系数据模型:二维表
4.关系模型的术语
(1)关系
(2)行:记录、元组
(3)列:字段、属性
(4)域
(5)关键字
(6)外部关键字
5.关系运算(灵活运用)
(1)传统运算:
并、交、差:针对同属性、同域
(2)专门运算:
1)选择:对行的操作,结果仍是原来关系,并且不会出现重复记录。
2)投影:对列的操作,结果是新的关系,会出现重复记录。
3)连接:自然连接,等值连接
二、Vfp数据基础(*)
1.数据类型及定界符:字符(C)、数值(N)、日期(D)、日期时间
(T)、逻辑(L)、货币(Y)、通用(G)、备注(M)(哪些数据类
型是定长的?)
2.变量
(1)分类:字段变量、内存变量。
当两者出现重名时,默认字段变量,此时若要使用字段变量需用m.或者m—>
(2)变量的赋值:=(一次为一个变量赋值)、store(一次可为多个变量赋相同的值)
(3)变量的显示
1)?和??
2)display memory或者list meomery;其中对于Like后通配符*和?
的使用要与SQL中的通配符区分开来。
(4)数组变量
1)声明:declare或者dimension,没有赋值之前其中值默认为.f.,这与全局变量、局部变量的声明类似。
2)二维数组变量可以转换为一维。
3.表达式
(1)数值表达式:能将日常使用的运算转换为可输入的运算表达式,同时注意运算符的优先级。
(2)字符表达式:+、-,两者都是对字符串的连接,只有当运算符前的字符串末尾有空格时候会出现不同。
(3)日期时间表达式
1)日期时间与数值运算:结果是日期型几天之前或者之后的日期、日期时间型几秒之前或者之后的日期时间
2)日期时间与日期时间:只能是相减,结果是日期型之间相差的天数、日期时间型之间相差的秒数
(4)关系表达式
1)数值、货币型
2)日期、日期时间型:越晚的越大
3)逻辑型:真大于假
4)子串包含:$
5)字符串比较
A、大小比较:set collate to “pinyin”(machine、stroke)
B、相等比较:set exact on(off)
(5)逻辑表达式:not、and、or
(6)运算符优先级:(1)(2)(3)>(4)>(5)
4.函数
(1)数值运算函数:
求整函数:int,ceiling,floor
绝对值函数:abs,符号函数sign
平方根函数:sqrt
指数函数:exp
对数函数:log
四舍五入函数:round
最值函数:max,min
求余函数:mod
(3)字符函数:
字符串长度函数:len()
大小写转换:lower,upper
空格:space
删除前后空格:trim,ltrim,alltrim
取字串:left,right,substr
计算字串出现次数:occurs
取字串位置:at,atc
子串替换:stuff
字符替换:chartran
字符串匹配:like
(4)日期时间函数:
系统时间:date,time,datetime
取年份、月份和天数:year,month,day
取时、分和秒:hour,minute,sec
星期函数:dow,cdow
(5)数据类型转换函数:
数值转换为字符串:str
字符串转换为数值:val
字符串转换为日期或日期时间:ctod,ctot
日期时间转换为字符串:dtoc,ttoc
宏代换:&
(6)测试函数:
Between
Isnull
Empty
Vartype
Eof,bof,recno,reccount
Iif
三、数据库及其操作
1.数据库扩展名dbc
2.数据库创建、打开、修改:create database;open database;modify
database
四、表的创建及操作(*)
1.表的创建:字段类型、备注型和通用型存储(FPT文件)、字段
有效性(规则、信息和默认的输入)
2.表的打开:use
3.表结构的修改:modify structure(非sql修改表结构的命令)
4.表记录的定位:绝对定位、相对定位、条件定位(locate for与
continue的配合使用)
5.表记录的显示和浏览:list、browse
6.表记录的添加:insert、append
7.表记录的删除:逻辑删除(delete)、物理删除(pack)、全部删除
(zap)
8.表记录的修改:replace all…with..for
五、索引、排序(*)
1.排序:sort(物理性)
2.索引(逻辑性)
(1)索引分类:主索引、候选索引、惟一索引、普通索引(注意各自的特征)
(2)索引的建立
1)主索引,必须通过表设计器才能创建
2)Index on ………
of单项索引(idx),of非结构化复合索引(cdx)、tag结
构化复合索引(cdx与表同名)
(3)索引的使用
1)单项索引和非结构化复合索引使用之前必须先打开:set index to 2)设置当前索引:set order to
(4)索引查询:seek、find
3.多表操作
(1)工作区的使用:
Select…..(注意select 0)和use…..in…
(2)表的关联
1)临时性关联(命令式):设置工作区、设置索引、建立关联(set relation to)
2)永久性关联:父表(主索引)、子表(普通索引)、建立一对多的关系
4.数据完整性:实体完整性(主索引和候选索引)、域完整性(规则)、
参照完整性(永久联系)
5.数据表和自由表的区别
六、结构化查询SQL(*)
1.数据查询select
1)简单查询:无条件和条件(distinct、别名、top、between…and、like、in)
2)排序查询:order by
3)连接查询:内连接、左外连接、右外连接、全外连接
4)嵌套查询:any、all等的使用
5)分组查询:group by与having
6)统计查询:count、sum、max、min、avg
7)查询去向:数组、永久表、临时表、文本文件
2.数据定义
1)create table(格式、关键词)、
2)alter table
3)drop table
3.数据操作
1)insert into(格式)
2)delete from
3)update….set……..
七、查询和视图(其概念主要区别、设计器区别)
八、程序设计基础(*)
1.程序:扩展名prg
2.程序建立:modify command(file)
3.程序执行:do <文件名>
4.输入语句:input、accept、wait它们之间的区别
5.注释语句:note、*、&&
6.程序控制语句(理解掌握)
(1)顺序
(2)分支:if、case(与iif直接转换)
(3)循环:for、do while(基本编程以及与表结合的操作)
7.子程序以及调用
8.参数传递(值传递和引用传递)
9.变量的作用域(全局、局部、私有)
九、表单设计与使用
1.面向对象的基本概念:对象、类的基本概念及特征
2.Vfp基类及基本属性(class,baseclass,parentclass)
3.Vfp对象的引用(this,thisform,parent)
4.表单创建:create form(scx)
5.表单执行:do form
6.表单修改:modify form
7.表单的基本属性和方法:caption,show,hide,release,refresh
8.常用控件:label,textbox,commandbutton,editbox,listbox,combo,
checkbox等基本属性
9.容器类控件:commandgroup、optiongroup、grid、pageframe基本
属性。
十、菜单的设计与使用
1.菜单的创建:modify menu
2.菜单的设计:菜单文件mnx;菜单程序mpr
3.菜单的执行:do **.mpr
4.为顶层表单设置菜单的步骤
5.快捷式菜单的设计
十一、报表设计基础
1.报表的设计:frx
2.默认情况下,“报表设计器”显示三个带区:页标头、细节和页注
脚
3.报表控件:标签、域控件、ole控件的使用
4.报表的打印和预览:
Report form…..[preview]。