第四章
数据库设计是数据库应用系统的核心部分,它包括两方面的内容:结构特性设计和行为特性设计。
在数据库的两方面设计中,结构特性是静态的,一旦形成轻易不再改变,行为特性是指用户的业务活动,这种活动体现在应用程序中。结构特性设计是指数据库总体概念设计。它应该是具有较小数据冗余的,能反映不同用户数据需求的,能实现数据共享的系统。数据库设计中结构设计是关键。
在数据库设计中,结构特性是在模式和子模式中定义的,而行为特性通过应用程序实现。
数据库设计包括数据库系统的逻辑设计、物理设计、应用程序设计和系统的运行与维护等方面。
数据库逻辑设计分为三个阶段,分别是:收集和分析用户要求、建立E-R模型和数据库模式设计。
主要任务是创建数据库模式。
数据库逻辑设计中的第一阶段收集和分析用户需求是按以下四步进行的:分析用户活动,确定系统范围,分析用户活动所涉及的数据和分析系统数据。
数据流图是一种从数据和对数据的加工两方面表达系统工作过程的图形表示法。含有四种基本成分:带箭头的线段表示数据及其流动方向,圆形框表示对数据的加工,卡片形框表示文件,方框表示源点和终点。
画数据流图应遵循:由外向内、自顶向下原则进行。
数据库系统的生命期可以分为五个阶段,依次是分析、设计、编码、测试、运行。
。所谓分析用户活动所涉及的数据就是以数据流图的形式表示出数据的流向和对数据所进行的加工。
所谓分析系统数据就是对数据流图中的每一个数据流名、每个文件名、每个加工名,都要给出具体定义,都需要用一个条目进行描述。描述后的产物是数据字典。数据流图和数据字典结合在一起,加上必要的说明构成系统说明书。数据字典是对数据流图中的四个成分(数据流、数据项、文件、加工)的描述。
教材中所讲的数据库设计方法称为视图设计法,即从分析用户的活动入手,针对用户的局部视图,然后进行综合,用E-R图表示数据库的概念,进而转换为关系模式。
逻辑设计第二阶段建立E-R模型分两步,首先应进行局部E-R模型设计,然后进行总体E-R模型的设计。
逻辑设计第三阶段在数据库模式设计阶段分两步进行,第一步初步设计:把E-R图转换为关系模型,第二步优化设计:对模式进行调整和改善。
优化是在性能预测的基础上进行的,一般用三方面指标来衡量:1、单位时间内所访问的逻辑记录个数要少,2、单位时间内数据传送量要少;3、系统占用的存储空间尽量要少。
数据库物理设计包括:选择存储结构、确定存取方法、选择存取路径、确定数据的存放位置。主要解决选择文件存储结构和确定文件存取方法的问题。在数据库中访问数据的路径主要表现为如何建立索引。如要直接定位到所要查找的记录,应采用索引方法存取方法(索引表)。顺序表只能从起点进去向后一个个访问记录。数据库的物理实现取决于特定的DBMS,在规划存储结构时主要应考虑存取时间和存储空间,这两者通常是互相矛盾的,要根据实际情况决定。
经过从概念设计→逻辑设计→物理设计,标志着数据库的框架搭设成功。
一般程序设计方法均适用于应用程序设计,如:自顶向下或结合由下而上灵活运用,程序按功能模块化,使模块便于组装和调试,追求程序可读性,不过多采用难以理解的技巧。应用程序设计的依据:数据库逻辑设计。
老化就是对数据库施加各种操作,例如增、删、查、改。
数据库投入运行标志着开发任务的基本完成和维护工作的开始。所谓维护就是整理数据的存储。
数据库维护工作包括:日常维护(指对数据库中的数据随时按需要进行增、删、插入、修改或更新操作),定期维护(重构重组数据库),故障维护(当数据库遭到意外破坏时,把它恢复到破坏前的状态)。
以下关于数据库设计的说法,C不正确。
(A)数据库设计是“反复探寻,逐步求精”的过程(B)数据库设计包括结构特性设计和行为特征设计两个部分
(C)数据库设计中行为特征设计是关键部分(D)数据库设计是数据库应用系统设计中的核心部分。
数据库系统中的技术文档主要有系统说明书、技术说明书和使用说明书。
以下程序调试方法,较为常用。B
(A)通读程序编码,发现错误的命令行(B)在程序中设置断点,观察断点处状态
(C)输入数据,进行人工检验(D)暂时删除无关语句,简化程序编码
10.以下观点中,错误的是。B
(A)关系数据库中记录通常是按到来的先后顺序存放(B)DNMS通常只支持顺序存取方法
(C)数据库访问的路径对效率影响是很大的(D)数据库多半存放在磁盘、光盘或磁带上
第五章
数据管理系统是管理数据库的系统软件,是用户与数据库之间的接口,提供操纵数据库的各种命令。
数据库统是由用户、数据库管理系统和数据库构成的。
Foxpro特点:windows应用程序风格,非编程接口,多用户功能,提供了应用程序开发工具,快速查找机制,提供了真正的编译器,提供了与高级语言接口,提供了对SQL的支持。
FoxPro提供了一个真正的编译器"Distribution Kit",可将FoxPro应用程序编译为直接在操作系统下运行的".exe"文件;提供了一个真正的外部程序接口"Library Construction Kit",允许开发者用C语言创建FoxPro函数。
在FoxPro中每一条记录较多可以有255个字段,较多可以有65000个内存变量。
在FoxPro中,一个二维表即称为一个文件,二维表是以文件的形式存储在磁盘上的,一个关系就是一个文件,这样的文件称为数据库文件。a$b测试字符串a是不是b的子串,a#b=a<>b
Foxpro的各类文件及其扩展名
库文件dbf
备注文件fpt
备注后备文件tbk
后备文件bak
临时文件tmp
索引文件idx
复合索引文件cdx
查询程序文件qpr
编译查询程序文件qpx
Foxdoc文件文件doc
屏幕文件scx
屏幕备注文件sct
屏幕程序文件spr
编译屏幕程序文件spx
配置文件config.fpw
菜单文件mnx
菜单备注文件mnt
菜单程序文件mpr
编译菜单程序文件mpx
资源文件foxuser.fpt
项目文件pjx
项目备注文件pjt
项目程序文件app
项目可执行文件exe
帮助文件foxhelp.dbf
格式文件fmt
编译格式文件frx
报表格式文件frx
报表备注文件frt
帮助备注文件foxhelp.fpt
标签文件lbx
标签备注文件lbt
程序文件prg
编译程序文件fxp
可执行文件exe
视图文件vue
键盘宏文件fky
内存变量文件mem
编译记事文件log
编译出错记录文件err
文本文件txt
窗口文件win
菜单:文件file编辑edit数据库database记录record程序program运行run文字text窗口window帮助help
在FoxPro菜单中,如果菜单右面带有省略号(…),表示选择菜单会弹出一个对话框窗口,如果菜单中某些项呈暗淡的灰色,表示该功能在当前状态下不能使用。ALT或F10调用菜单。
命令窗口的显示与隐藏可通过Window的"Command"和"Hide"选项来控制。
FoxPro的数据类型有七种,它们的名字和简写字母是字符型C、数值型N、浮点型F、逻辑型L、日期型D、备注型M和通用型G,数据库中的字段变量可取其中的七种。内存变量是字符型、数值型、逻辑型、浮点型、屏幕S数据,常量通常只有字符型、数值型、日期型和逻辑型四种数据类型。
变量名不超过10个字母、数字和下划线组成,而且必须以字母开头,但系统变量一般以下划线开头。
字符型字段的较大长度是254个字符长,一个汉字视作2个ASCII码字符,字符型数据可进行大小比较运算和字符连接运算。数值或浮点数据较大宽度为20.逻辑型字段固定的长度为1个字节,逻辑真值可用。T.或。Y.表示,逻辑假值可用。F.或。N.表示。日期型数据宽度固定为8;可以与数值相加减,所得结果为另一个日期,两个日期型数据可以相减,结果为两个日期之间的天数。备注、通用字段的宽度为10个字节,该字段中存放的是指向存放备注内容的地址指针,或指向图形、图像、声音等文件的地址指针。在备注中,备注字段的每个数据,按大小为512个字节的数据块存放。对常量而言,名和值是一致的,对变量而言,名和值是不一致的。字符变量是“”、‘’或〔〕定界,日期变量用{}定界,逻辑常量用……定界。FoxPro的变量有两种,单值的内存变量和多值的字段变量。当字段变量与内存变量同名时,字段变量优先,可通过在内存变量名前加M.或M->来区别。
从内存变量的组织形式上看,它可分为标量与数组,从内存变量的作用域上看,它可分为全局变量和局部变量。
单个常量、变量或函数都是表达式的特殊形式之一。表达式是指通过各种运算符连接的常量、字段变量、内存变量、函数等运算对象所构成的有意义的算式。
Foxpro的运算符有算术、字符串、关系、逻辑。比较运算会产生逻辑结果。字符串运算符有+、-、==、$.。
FoxPro有200多条命令,它一般由命令动词开头,后跟一个或多个限定该动词的子句构成。子句一般由动能短语和表达式构成。FoxPro命令,常见的子句有三种,分别是是范围子句,条件子句,字段列表子句。
<命令名>[<表达式表>][<范围>][FOR<条件>][WHILE<条件>][TO FILE<文件名>|TO PRINTER|TO ARRAY<数组表>|TO<内存变量>][ALL[LIKE|EXCEPT<通配符>]][IN<别名>]][FIELDS<字段列表>]
①[FIELDS<字段列表>子句用于指定被操作数据库文件的字段,是对二维数组表格各列的操作,又称投影操作。
②而[<范围>]子句、[FIELDS<条件>]子句或[<WHILE条件>]子句用于指定被操作记录的范围和被操作记录要满足的要求,对二维表格各行的操作,又称选择操作。其中<条件>是一个逻辑表达式。
③FOR<条件>[WHILE<条件>]这两个条件子句是有区别的,前者能对所有数据库中满足条件的记录操作,后者一旦遇到不满足条件的记录便停止操作。
有个别的命令不是命令动词开头的,而是以特殊符号,例如命令?和@.
FoxPro中,投影操作的子句是字段列表子句,选择操作的子句是范围子句和条件子句。
当数据库一打开(如果不是空库)记录指针指向记录1的位置。
FoxPro共有225个工作区,工作区号为1-255.其中前10个工作区也可命名为A-J.。较近一交换选择的工作区称为当前工作区。调用其它工作区的字段时应按工作区/别名->字段名“或”别名。字段名格式。
一个数组占1个内存变量名额,通过数组定义命令DIMENSION建立,赋值前数组各元素的初值为逻辑假值
进入FoxPro系统时,系统初始选中1号工作区。在FoxPro命令行中同时使用的各个子句,其位置可以交换。
在FoxPro中用户可以使用两种方式执行命令,即立即执行方式和程序方式。
立即方式是一种交互方式。好处是简单方便,缺点是工作量大,易出错,降低了计算机的使用效率。
程序方式又称命令文件方式,这种方式要求用户事先根据任务编写程序。好处是速度快,计算机使用效率高。是Foxpro的主要使用方式。缺点是要求用户学习和掌握程序设计方法。
&&表示其后内容是注释,系统不执行。
下列命令的语法规则中,非法的是D
(A)命令动词可只写前四个字母(B)命令动词后的子句位置可交换
(C)命令动词大小写字母等价(D)各短语和参数要连续输入无空格
对内存变量的叙述,不正确的是D .
(A)内存变量是独立于数据库的变量(B)内存变量有N、C、L、D、S类型
(C)内存变量用赋值语句定义(D)内存变量的形式只有标量
综合:1、变量赋值、表达式运算。2、内存变量赋值、释放、显示、输出、内存变量文件操作。
3函数
4、数组定义、赋值、与数据库文件交换数据