第8章 数据库基础知识
- 格式:ppt
- 大小:1.46 MB
- 文档页数:57
VFP基础知识第一章:1.数据管理经历了以下几个阶段:手工管理、文件系统、数据库系统、分布式数据库系统、面向对象的数据库系统,其中数据开始独立于程序的阶段是:数据库系统,数据库系统的高级阶段是:面向对象的数据库系统.2.数据库是相关的数据的集合,管理的是表及表之间的联系,一个具体的数据库就是一个实际的关系模型.3.实体:客观存在而又相互区别的事物,可以是具体的事物,也可以是抽象的概念.例如:学生,学生选课实体型:抽象实体的外型,是属性的集合,是一种实体类型,相当于表的结构.实体集:同类实体的集合,相当于一个表中的所有的记录.4.实体或称表之间的联系的类型分为三种:一对一,一对多,多对多.要建立两个表多对多的关系,只需要建立第三立表--纽带表,来实现两个一对多的关系.5.关系术语:a.关系:二维表.在vfp中表现为一个扩展名为.dbf的表文件.b.关系模式:对应于关系的结构,相当于表结构.c.元组:二维表水平方向的行,在vfp中,又叫记录.d.属性:二维表垂直方向的列,又叫记录.e.域:属性的取值范围.例如逻辑型字段的域:逻辑真或者是逻辑假.f.关键字:能够唯一标记一个元组的属性或者是属性的组合(字段或者是字段的组合),分为两种:主关键字和候选关键字.主关键字不仅可以体现主关键字的特征,而且还用于和其它表发生联系.g.外部关键字:不是本表的关键字,却是另外一个表的关键字(主关键字或者是候选关键字),这个字段就是外部关键字,一般用外部关键字来保证表之间的联系.6.关系的特点:a.关系必须规范化.(关系模式必须满足一定的要求),最基本的要求是表中的属性不可分割,即表中不能再包含表.b.关系中不能有相同的元组或者是属性(重复记录或者重名的字段)c.关系中的元组和属性的次序无关紧要(对表中排序体现了关系的特点---表中的记录的顺序无关紧要)7.数据模型分为三种:层次模型、网状模型、关系模型(用二维表来描述实体与实体之间的联系)8.关系的基本运算有两类:传统的集合运算(并,交,差),专门的关系运算(选择,投影,联接)传统的集合运算:并、交、差,要求参与运算的两个关系(表)必须具有相同的关系模式(表结构) 并:包含两个表中的所有的记录.(查询的并运算的运算符为union)交:两个关系(表)中都有的元组(记录)差:从一个关系中去掉另一个关系中也有的元组,剩下的元组(记录)专门的关系运算:选择、投影和联接.选择:从关系(表)中找出条件满足的元组(记录).在sql select 中主要用where 条件来实现选择操作.投影:从关系(表)中找出若干属性(字段).在sql select 中用select 来实现关系的投影操作.联接:两个或者是多个关系的横向组合,即形成一个更大的关系.在sql select 中主要用join 来实现其操作.等值联接:两个表根据公共字段相等进行的联接.(inner join)自然联接:去掉重复属性值的等值联接.9.数据库设计的步骤:需求分析、确定所需要的表、确定所需的字段、确定表之间的联系、设计求精.10.visual foxfro 是一个32位关系数据库管理系统,是一个可运行于windows95,windows98,windowsNT的可视化,面向对象的编辑语言.第二章:1.Visual Foxpro 有三种工作方式:1.用菜单或者是工具栏2.在命令窗口直接输入命令3.利用各种生成器来自动产生程序,或者是编写foxpro程序(命令文件)来执行它.2.菜单项后面有"...",表示会弹出一个对话框.3.用dir 命令可以显示当前目录下的表的信息.用clear 命令表示清除主屏幕的内容.4.ctrl+F2表示显示命令窗口.ctrl+F4表示隐藏命令窗口.5.项目管理器的各个选项卡的功能:数据:管理数据库各个选项卡的功能.文档:管理表单、报表、标签代码:管理是程序、API库、应用程序.其它:管理菜单、文本文件和其它文件.6.有关工具栏的操作:均在显示菜单下的工具栏实现.a.显示和隐藏工具栏.b.可以新建一全用户自己的工具栏.c.可以修改(定制)用户和系统的工具栏d.可以删除用户自己的工具栏,但是不能删除系统的工具栏.e.可以重置(恢复)系统的工具栏.7.可以定制vfp的运行环境,通过工具/选项下进行.区域选项卡:设置日期和时间的显示方式,小数位以及货币的符号.表单:可以设置表单的默认大小.语法着色:可以设置程序代码的颜色.文件位置:可以设置默认目录和帮助文件.这种设置可以是永久的,也可以是临时的.当设置完毕后,直接按确定,这种设置只在本次运行vfp时有效,因为它是保存在内存中,内存在每次退出vfp时自动释放,当设置完毕后,设置为默认值后,再按确定,这种设置永久有效,因为它保存在windows注册表中.8.vfp新增了很多向导,有新的应用程序向导,新的连接向导,新的数据库向导,新的Web发布向导,新的示例向导.9.打开不同文件时,系统会自动调出相应的设计器.第四章:1.表分为两种:数据库表和自由表.数据库表可以设计长表名,长字段名,可以设置字段有效性规则,违反规则时的提示信息,默认值,格式,输入掩码以及在浏览时显示的标题和记录级规则.数据库长表名可以长达128个字符,自由表的字段名和表名最长只能为10个字符.2.记录查找的命令:locate for ...定位到条件满足的第一条记录continue ...定位到条件满足的下一条记录seek 值---索引查找都可以用found()函数来测试是否找到结果.3.索引分为四种:主索引,候选索引,唯一索引,普通索引.主索引:体现主关键字的功能,索引字段不能重复,一般用于其它表建立联系.自由表没有主关键字,因此自由表不能建立主索引.候选索引:体现候选关键字的功能,索引字段也不能重复.唯一索引:索引字段值重复的记录,在索引项中只出现第一条记录(一般用来统计类别)普通索引:一般默认情况下建立的索引,都是普通索引,索引字段可以重复,一般用于建立一对多的联系体现外部关键字的功能.4.索引根据参与索引的字段的多少,又可以分为单项索引,复合字段索引.单项索引参与索引的字段只有一个,可以通过选择字段之后的一种索引顺序,然后转到索引选项卡中中去改其索引的类型和索引名.复合字段索引:参与索引的字段有多个.建立索引时,必须在索引选项卡中输入,而且索引表达式是:字段1+字段2+字段3...(要求字段1,字段2,字段3...具有相同的类型,如果不是同种类型,必须将其转换为同种类型)5.索引文件:存放索引的文件.根据其中索引的个数,可以将其分为单索引文件,复合索引文件(又分为结构索引文件和非结构索引)单索引文件:(里面只包含一个索引),扩展名为.idx,这种文件不会随着表随表文件打开而打开. 复合索引文件:扩展名为.cdx,文件名和表文件名同名的索引文件为结构索引文件这种文件会随着表文件的打开而打开.另一种文件名和表文件名不同名,扩展名为.cdx,这种文件不会随着表文件打开而打开.单索引文件和非结构复合索引文件在使用其中的索引项时,必须首先用命令打开.set index to 索引文件名(单索引文件名或者是非结构复合索引文件名)6.如何设置当前索引:set order to 索引名7.使所有的索引项都不成为当前索引:set order to8.建立索引:(新建的索引自动成为当前索引)index on 索引表达式tag 索引名[unique]/[candidate]unique:表示建立的索引为唯一索引.candidate:表示建立的索引为候选索引.没有这两个选项表示建立的索引为普通索引,用命令方式不能建立主索引,自由表不能建立主索引.9.删除索引项:delete tag 索引名&&删除指定的索引delete tag all &&删除表中的所有的索引.10.数据完整性分为三种:实体完整性,域完整性,参照完整性.实体完整性:即保证表中的记录的唯一性,主要通过关键字来保证的.关键字的功能通过索引来实现.域完整性:表中的字段在哪些范围内有意义.一般来说,表中有关字段的定义(类型,宽度,小数位,规则等)都属于域完整性.参照完整性:建立了联系的表之间在进行某些操作(更新,删除,插入)时,必须满足的条件.主要分为更新规则,删除规则和插入规则.(更新规则,删除规则又分为级联,限制,忽略.插入规则又分为限制规则和忽略)11.工作区:总共有32767个作区,一个工作区同一时刻只能打开一个表,因此同一时刻可以打开32767个表.工作区号从1--32767,每个工作区都有一个工作区别名1--10:工作区别名为A-J,11-32767工作区别名为WH-W32767.12.可以通过set relation 命令建立两个表之间的临时关联,通过这种关联可以实现A 表的指针带动B 表指针的移动.第五章:1.sql语言的全称:structured query language(结构化查询语言),它有四种功能:数据查询:(select 语句),数据定义(create,alter,drop),数据操作(insert,update,delete),数据控制,其中sql的核心是查询.2.集合的并运算的运算符为union.3.能够表示存在结果的谓词是exists.4.量词any 和some 是同一种意思,表示任意一个,而all代表所有.5.利用空值查询应该是: 字段is null6.超联接查询:(vfp 自身联接)有四种内联接(inner join),左联接(left join),右联接(right join),全联接(full join),这种联接条件是出现在on 短语中.7.查询去向有:表(into table <表名>),临时表( into cursor 临时表名),文本文件( to file 文件文件名),屏幕(to screen),数组(into array 数组名).当to 短语和into 短语同时出现时,优先考虑into 短语,即忽略to 短语.8.要查询前几条记录:使用top n 短语,当查询前n%的记录,用top n percent,注意:top n [percent] 必须与order by 连用.9.删除表的命令是: drop table 表名.删除视图的命令是: drop view 视图名.第六章:1.查询是一个预先定义好的select 语句,扩展名为.qpr,是一个只读文件.2.视图是一个由基本表导出的虑表,只是作为视图的一个浏览窗口,实际并不存储数据,在磁盘上没有文件,因此在对视图进行任何操作时,必须首先打开数据库,视图可以像表一样用use 命令打开,可以用use 命令关闭,可以用browse 命令浏览,可以用select 语句检索,但是不能用modify structure 修改结构.3.视图不仅可以查询基本表,还可以更新基本表,(通过更新条件)但是必须发送sql更新.4.查询设计器不能设计所有的查询.(它只能建立简单查询和多个表之间的联接查询,但是不能设计嵌套等查询)5.查询和视图的区别:查询有查询去向,视图没有.视图有更新条件,而查询没有.(视图更新基本表,查询不能更新) 第七章:1.注释行以NOTE 或*开头,在命令行后面添加注释用&&2.set talk off --关闭人机对话.3.cancel:强行终止程序执行,返回到命令窗口.return:结束当前程序的执行,返回到调用点.quit:退出vfp(释放内存)4.用do 命令执行程序文件时,如果没有指定扩展名,系统执行程序文件的先后顺序是:.exe(可执行文件),.app(应用程序文件),.fxp(程序编译文件),.prg(程序文件)5.简单的输入输出命令有三种:input,accept,waitinput 可以接受所有类型的数据,因此在输入时,必须加上相应的数据类型的定界符.accept :只能接受字符型的数据,在输入时,不需要加定界符,系统会自动为其加上字符型的定界符.如果输入的数据中含有字符型的("",'',[]),系统会将其认为是字符串本身的一部分.wait只能接受单个字符.如果要求一个命令接受一个字符型的数据(不是单个字符),这时优先考虑用accept.6.程序的基本结构:顺序结构,选择结构,循环结构.选择结构:if...else...endif,do case...case...endcase,选择结构本身也是一种顺序结构.循环结构:do while...enddofor...endfor(计数循环)scan for...endscan(扫描循环)在for ...endfor 中当步长缺省为1,循环变量,初值,终值只在循环最初被计算一次:当步长为正数时,循环变量小于等于(<=)终值时,循环条件为.t.当步长为负数时,循环变量大于等于(>=)终值时,循环条件为.t.在循环体中可以有loop ,exitloop:是提前结束本次循环,进入下一次循环(即在本次循环中不执行loop 后面的语句,而是直接转到do while 处重新判断条件是否为.t.exit:表示强制性的终止(跳出)循环,转到enddo 的后面.7.参数传递,变量的作用域:请大家看笔记.第八章:请大家在上机过程中总结,并且看一下有关控件的一些属性和一些方法,以及一些常用的事件. 第九章:1.vfp的菜单分为两种:条形菜单和弹出式菜单.无论是哪一种类型的菜单,当选择其中的某个菜单项时,会有一定的动作(结果):可以是执行一条命令,可以是执行一个过程,激活子菜单.2.典型的菜单系统一般是一个下拉式菜单,由一个条形菜单加一组弹出式菜单组成.其中条形菜单为主菜单,弹出式菜单作为子菜单.快捷菜单是由一个或一组弹出式菜单构成.3.可以通过set sysmenu 命令可以允许或者是禁止在程序执行时访问系统菜单,也可以重新配置系统菜单.set sysmenu on 允许程序执行时访问系统文件.set sysmenu off 禁止程序执行时访问系统菜单.set sysmenu to default :恢复系统菜单.set sysmenu save:将当前菜单设置成系统菜单.set sysmenu nosave:系统菜单恢复成标准配置要想返回到vfp的系统菜单的标准配置,可以首先执行set sysmenu nosave 然后执行set sysmenu to default 命令.4.在菜单设计器的窗口,可以定义一个菜单,其中有三列:菜单名称,结果,选项.菜单名称列:指定菜单项的名称,也就是标题.可以为菜单设置一个热键(即在菜单名称的前面或者是后面加上:\<字母) 可以为菜单之间添加分组线:即在两个菜单项之间插入新菜单项,菜单项名称列中输入"\-" 结果列:选择菜单项时引发的结果:子菜单(submenu),菜单项(pad name),过程(procedure),命令(command) 选择列:可以为菜单项设置快捷键.(选中键标签,按下相应的快捷键即可),可以为菜单项设置跳过条件(即当此条件为.t.时,菜单项为灰色,不可使用), 可以为菜单项设置在状态栏上的功能提示.5.如何从下级返回到上一级,选择菜单级中的菜单栏,如何从上级进入下级,选择子菜单,编辑即可.6.如何插入一个标准系统菜单命令:(插入栏) 选中某个菜单项,选择"插入栏"按钮,在其中选择菜单命令,确定即可.(只能在弹出式菜单中插入栏)7.如何为顶层表章添加菜单:(假设菜单,表单都已建立)a.在菜单设计器中,将"显示"菜单下的"常规选项"中的"顶层表单"复选框选中,使其归顶层表单调用.b.将表单的showwindow 属性设计为2,使其作为顶层表单(即作为一个单独的窗口)c.在表单的init 事件中调用菜单: do 菜单程序文件名.mpr with thisd.在表单的destroy 事件中书写释放(清除)菜单的命令: release menu 菜单文件名8.快捷菜单一般在对象(控件)的rightclick事件中调用: do 快捷菜单程序文件名.mpr9.释放快捷菜单是在菜单设计器中的"显示"菜单下"常规选项"的"清理"事件中书写: release popups 快捷菜单程序文件名10.数据环境的对象会随着表单或者报表的打开而打开,关闭而关闭.第十章:1.报表设计主要包括两部分内容:数据源和布局. 报表数据源:可以是数据库表或者是自由表,视图查询或者是临时表. 常用报表布局有四种:列报表,行报表,一对多报表和多栏报表.2.如何为报表设计数据源:只需要将报表的数据源添加到数据环境中即可.报表中用于排序和分组字段(表达式)必须建立索引,而且要成立当前索引.要想成为当前索引,只需要在数据环境设计器中右键单击表,选属性,再选order 属性,将order 属性设置为当前索引的索引项.3.标签:用于在报表上显示一些不需要改变的文字.域控件:用于显示字段,内存变量或者是表达式的值.图片/activex绑定控件:用于显示图片或者是通过型字段的内容.4.如何设计分栏报表:"文件"菜单下的"页面设置",将列数改为>1,列数及栏数.或者是用向导建立报表时,改变列数.第十一章:请大家参考要求大家记录的内容.大家必须将所有的课后习题弄清楚,笔试15套及机试40套.新增:1.类分为容器类和控件类.2.所有类均有的属性是类的最小属性集.有class 属性(类名),baseclass--(基类名,即祖先),parentclass--(父类名,父母亲), classlibrary 属性:(类库文件名,基类为系统自动携带的,不存在于类库文件中,因此classlibrary 属生为空(串).)3.所有类都会发生的事件叫类的最小事件集: init 事件,error 事件,destroy 事件.init 事件:初始化事件.即在对象生成的时候引发.error 事件:对象运行出错时产生.(生病的事件)destroy 事件:对象释放或者是关闭时引发.(死亡的事件)4.对于由系统引发的事件中的先生顺序:load-->init-->destroy-->unload容器(例如: 表单)后生成,先释放.对象(例如: 表单中的命令按钮),先生成,后释放.unload:是对象释放的最后一个事件.5.enabled:控件是否可用.visible:指定控件是否可见.对于表格的数据源,如果题目要求是显示表或者是视图的所有内容,而又没有说明必须是0-表,那么一律将表或者是视图添加到数据环境,然后往上拖,根据需要改表格的一些属性.而对于其它要求,只能自己添加一个表格控件,设置recordsourcetype,recordsource以及name等属性.。
数据库原理及应用教案第一章:数据库基础知识1.1 数据库概念介绍数据库的定义、特点和作用解释数据库管理系统(DBMS)的作用1.2 数据模型介绍实体-关系模型、关系模型和对象-关系模型解释模型中的概念,如实体、属性、关系等1.3 数据库设计介绍数据库设计的过程和方法解释需求分析、概念设计、逻辑设计和物理设计的关系第二章:SQL语言2.1 SQL概述介绍SQL的作用和特点解释SQL的基本语法和命令2.2 数据定义介绍数据表的创建、修改和删除命令解释字段数据类型的选择和约束条件的设置2.3 数据操作介绍数据插入、更新、删除和查询命令解释SQL语句中的条件筛选和排序功能第三章:关系数据库管理3.1 关系数据库概述介绍关系数据库的概念和特点解释关系数据库管理系统(RDBMS)的作用3.2 关系代数和元组演算介绍关系代数和元组演算的基本操作解释选择、投影、连接和除法等操作的含义和应用3.3 数据库事务管理介绍事务的概念和属性解释事务管理的基本操作,如提交、回滚和隔离级别第四章:数据库安全与性能优化4.1 数据库安全介绍数据库安全的重要性解释访问控制、用户身份验证和加密等安全措施4.2 数据库性能优化介绍数据库性能优化的目标和方法解释查询优化、索引创建和数据分区等技术的作用和应用4.3 数据库备份与恢复介绍数据库备份和恢复的概念和重要性解释备份策略、恢复模式和故障转移等操作的实现方法第五章:数据库应用系统设计与实现5.1 数据库应用系统概述介绍数据库应用系统的概念和组成部分解释系统分析、设计和实现的关系和流程5.2 数据库应用系统设计介绍数据库应用系统设计的方法和步骤解释需求分析、系统架构设计、界面设计和数据访问设计等内容5.3 数据库应用系统实现介绍数据库应用系统实现的工具和技术解释编程语言的选择、数据库连接和业务逻辑实现等步骤第六章:关系数据库高级功能6.1 函数依赖与规范化介绍函数依赖的概念和分类解释规范化理论及其应用,包括第一范式至第三范式6.2 数据库模式设计介绍模式设计的原则和方法解释如何进行模式分解和模式重构6.3 数据库触发器和存储过程介绍触发器和存储过程的概念和作用解释它们的语法和应用场景第七章:数据库编程技术7.1 数据库访问接口介绍ODBC、JDBC等数据库访问接口的概念和作用解释如何使用这些接口进行数据库编程7.2 参数化查询与预编译语句介绍参数化查询和预编译语句的概念解释它们的优点和编程实现方法7.3 事务处理与并发控制介绍事务的概念和并发控制的重要性解释事务处理和并发控制的技术,如锁定和乐观并发控制第八章:XML数据库和大数据技术8.1 XML数据库概述介绍XML数据库的概念和特点解释XML数据模型和XML查询语言8.2 大数据技术简介介绍大数据的概念、特征和挑战解释大数据处理技术,如Hadoop和Spark8.3 NoSQL数据库技术介绍NoSQL数据库的概念和分类解释非关系型数据库的优缺点和应用场景第九章:数据库系统的案例分析9.1 企业级数据库应用案例分析企业级数据库应用的典型案例解释案例中的数据库设计、性能优化和安全性考虑9.2 云计算环境下的数据库应用介绍云计算对数据库技术的影响分析云计算环境下的数据库部署和运维策略9.3 移动数据库应用案例探讨移动数据库的特点和挑战分析移动数据库在特定应用场景下的解决方案第十章:数据库发展趋势与未来10.1 数据库技术的发展趋势分析数据库技术的发展方向讨论新兴技术如NewSQL、图数据库等的发展状况10.2 数据库未来的挑战与机遇讨论数据库技术在未来的挑战探讨应对挑战的可能解决方案和发展机遇10.3 数据库教育的未来分析数据库教育在未来的发展需求讨论如何培养适应未来数据库技术发展的人才重点和难点解析重点环节1:数据库概念和特点数据库的定义和作用是理解数据库原理的基础,需要重点关注。
数据库原理及应用教程电子教案第一章:数据库基础知识1.1 数据库概念数据库的定义数据库的用途数据库的发展历程1.2 数据模型概念模型关系模型面向对象模型1.3 数据库体系结构数据库三级模式结构数据库二级映像第二章:关系数据库2.1 关系数据库概述关系数据库的基本概念关系数据库的组成2.2 关系运算选择投影连接2.3 关系数据库设计关系模型规范化第三章:SQL语言3.1 SQL概述SQL的定义SQL的特点3.2 数据定义语言创建表修改表删除表3.3 数据操作语言插入数据查询数据更新数据第四章:数据库设计4.1 需求分析收集需求分析需求4.2 概念设计实体-关系模型实体属性的确定4.3 逻辑设计视图设计4.4 物理设计文件组织索引设计第五章:数据库安全与保护5.1 数据库安全用户权限管理数据加密5.2 完整性约束实体完整性参照完整性5.3 数据库备份与恢复备份策略恢复策略5.4 数据库性能优化查询优化索引优化数据库原理及应用教程电子教案第六章:数据库管理系统的使用6.1 数据库管理系统的功能数据定义数据操纵数据查询6.2 常见数据库管理系统OracleMySQLMicrosoft SQL Server6.3 数据库管理系统的使用实例Oracle SQLPlus的使用MySQL命令行的使用第七章:事务管理7.1 事务概述事务的定义事务的属性7.2 事务管理事务的并发控制事务的隔离级别7.3 事务的持久化事务日志事务恢复第八章:分布式数据库8.1 分布式数据库概述分布式数据库的概念分布式数据库的优点8.2 分布式数据库的体系结构客户机/服务器结构对等网络结构8.3 分布式数据库的数据一致性数据复制数据分片第九章:大数据技术9.1 大数据概述大数据的定义大数据的特点9.2 大数据技术架构HadoopSpark9.3 大数据处理技术数据采集数据存储数据分析第十章:数据库发展趋势10.1 数据库技术的未来新型数据库技术数据库技术与其他技术的融合10.2 数据库技术在领域的应用机器学习自然语言处理10.3 数据库技术在物联网领域的应用物联网的数据管理物联网的数据分析重点和难点解析重点环节1:数据库概念与用途数据库的定义:重点掌握数据库作为一种长期存储在计算机内的、有组织的、可共享的数据集合。