1、授课教师:何昌莲,联系方式:1589254660018990960064,VFP可以做什么? 主要用于开发数据库应用系统,如:学生成绩管理系统工资查询系统超市信息管理系统,表单,程序,常用的用于开发数据库应用系统的软件 Access Visual FoxPro SQL Server Oracle DB2,学习目的与要求,1. 过计算机等级考试(二级)笔试上机考试 2. 多做题,自己多上机练习上机总共只有9次,第一、二周不上机,具体安排等候通知,第一章 数据库基础,本章主要介绍一些基本概念和数据库理论的基本知识 1.1 数据、信息和数据处理,1. 数据: 数据泛指一切可被计算机接受和处理的符号。
2、分为:数值型数据 (价格,成绩,年龄等)非数值型数据(人名,文章, 声音,图形) 2. 信息:指数据经过加工处理后得到的有价值的知识。数据可以反映信息.某人身高1.93m信息依靠数据来表达.身高(数据、照片、文字描述),3. 数据处理,定义:数据转换成信息的过程。 数据:班的期末考试成绩; 信息:最高分、平均分、男女生英语哪个好点数据处理主要包括对数据的收集、分类、排序、存储、计算、加工、检索、传输和制表等一系列过程。,1.2 数据管理技术的发展数据管理:是指对数据进行组织、分类、存储、检索和维护等操作。是数据处理的核心。大量数据人事档案、学生成绩、银行帐户等 其发展经历了以下三个阶段:第一阶
3、段:人工管理阶段(20世纪50年代)第二阶段:文件管理阶段(20世纪60年代)第三阶段:数据库系统阶段(20世纪60年代末),1.2.1 第一阶段:人工管理阶段(20世纪50年代),硬件上:没有磁盘,数据存放在卡片、纸带、磁带上。 软件上:没有操作系统,没有专门管理数据的软件。(要使用计算机处理数据,必须人为在程序中设计好数据的逻辑结构和存储结构,数据和程序是一体,相互不能独立) 主要问题:数据不能独立、数据冗余严重、数据不能长期保存、没有专门管理数据的软件。,1.2.2 第二阶段:文件管理阶段(20世纪60年代)(1)硬件上:出现了磁盘、磁鼓等存储设备,数据可以脱离程序独立存储在外存上。(2
4、)软件上:操作系统出现,由专门的文件系统对数据进行管理。主要问题:由于文件系统中的数据没有合理、规范的结构(1)数据的共享性很差、数据冗余大(2)数据没有完全独立(3)数据文件之间缺乏联系,不能实现数据的集中管理。,1.2.3 第三阶段:数据库系统阶段(20世纪60年代末)将所有相关的数据按照一定的结构集中存放到一个数据库中,形成一个数据中心,实施统一管理,用户可通过数据库管理系统共享数据库中的数据。 特点: (1)实现了数据的结构化 (2)实现了数据的共享 (3)实现了数据的独立 (4)实现了数据的统一控制,1.3 数据库系统基本概念,1.3.1 数据库(DataBase-DB) 定义:按一
5、定组织形式存储在一起的相互关联的数据的集合。,1.3.2 数据库管理系统,DataBase Management system-DBMS 定义:是一种负责数据库的定义、建立、操纵、管理、维护的计算机软件。 通过DBMS用户可更为方便地操作数据库。,1.3.3数据库系统,定义:是指计算机系统引入数据库后的系统构成,是一个具有管理数据库功能的计算机硬件综合系统。 主要包括:(1)硬件系统 (2)软件系统(3)数据库 (4)数据库管理系统(5)数据库管理员和用户。 1.3.4数据库应用系统 是在DBMS支持下根据实际问题开发出来的数据库应用软件。如:学生学籍管理系统,1.4 数据模型,数据模型:是对
6、现实世界数据特征的抽象,是用来描述数据及联系的一组概念和定义。事物到数据的抽象过程:现实世界概念模型(信息世界)数据模型(数据世界),1.实体: 客观存在并可相互区分的事物。如,一个学生,一门课,一张桌子2. 属性:用以描述实体的特性。3. 联系:实体集间关系的抽像描述。三种一对一联系(1:1)一对多联系(1:n)多对多联系 (n:m) 例画:系-学生(E-R模型)P7,实体描述相关概念,1.4.1 实体的描述 实体: 客观存在并可相互区分的事物。属性:用以描述实体的特性码:惟一标识实体的一个属性或属性集域:属性的取值范围实体型:实体名及属性名的集合 如: 学生(学号,姓名,性别,出生年月,身
7、高) 实体集:同类型的实体的集合。,1.4 .3几种主要的数据模型,数据模型:即数据库的组织形式,它决定了数据库中数据之间的联系表达方式。 三种主要数据模型 (1) 层次模型 用树型结构来表示实体类型及实体间联系的模型,只能直接表示一对多(包括一对一)的联系。图P8,(2) 网状模型 用网状结构表示实体类型及实体间联系的数据模型。P8支持网状数据模型的数据管理系统称为网状数据库管理系统。,(3)关系模型 用二维表来表示实体及实体之间联系的数据模型。(如“教师”实体与“课程”实体间的联系P13,见授课表、课程表、教师表) 一个关系就是一张二维表 关系模型是目前最流行的数据模型,支持关系数据模型的
8、数据管理系统称为关系数据库管理系统。Visual FoxPro是一个关系数据库管理系统,1.5 关系数据库,1.5.1 关系术语 P9 关系、元组、属性、域、主码、关系模式等,1.5.2 关系的规范化即考虑如何组织这些相关的数据,使得每个数据表即具有独立性,又保持一定的关联关系。 例,如下的关系设计不合理: 学生(学号,姓名,性别,出生年月,教师姓名,教师职称)考试成绩表(学号,姓名,课程号,成绩)课程表(课程号,课程名,课程性质,学时数)关系的规范化:是指关系数据中的每一个关系都必须满足一定的规范要求。根据满足的条件不同,可划分为六个等级,例:从表1-1中找出入校总分大于580分的学生,1)
9、选择运算 从关系(表)中横向选出满足条件的记录(行)的操作,1.5.3 关系运算,2).投影运算 投影运算是从关系中纵向选出若干字段(列)的操作 例:由表1-1作投影运算得表1-3 Copy to 学生成绩表2 fields 学号,姓名,性别,出生日期 3).连接运算 对两个关系(表)通过公共的字段(列)连成一个新关系(表),见下页,Vfp可以使用join命令,实现连接运算.,1.5.4关系数据库,将相关的数据放在一个数据库中,每张数据表具有独立的属性,又依赖于共同的关键字。 查看表1-5 到表1-9,1.5.5 关系的完整性 关系的完整性:指关系中的数据及具有关联关系的数据间必须遵循的制约和
10、依存关系,以保证数据的正确性有效性和相容性。主要包括三部分: (1) 实体完整性 主关键字不能有空值和相同的值 (2)域完整性 对数据表中的字段属性的约束(字段的值域、类型、有效性规则) (3)参照完整性 一个关系属性的取值要参照其它的关系。Eg:表1-7第一条记录的课程号改为c000行否?,1.6 Visual FoxPro概述,Visual FoxPro是一个DBMS 1.6.1 Visual FoxPro的特点 既支持面向过程的程序设计,又支持面向对象的程序设计。 具有良好的用户界面 windows图形界面 强大的数据查询与数据管理功能 命令、函数、SQL 开发与维护更加方便 辅助设计工
11、具、项目管理器 支持网络应用,1.6.2Visual FoxPro处理的文件类型,项目文件 .PJX 表文件 .DBF 数据库文件.DBC 程序文件 .PRG 表单文件 .SCX 索引文件.IDX .CDX 7.内存变量文件 .MEM 8.报表格式文件 .FRX 9. 菜单文件 .MNX .MPR 10. 标签文件 .LBX 11. 文本文件 .TXT 12.可视类库文件 .VCX 13.视图文件 .VUE 14.查询文件 .QPR,1.6.3 VFP表的类型:,数据库是一个容器,它可以把相关的表集合在一起,所以数据库是表的集合。 VFP表的类型: 自由表:没有放入数据库中的表。 数据库表:放
12、入数据库中的表。,1.6.4 Visual FoxPro命令格式 一个命令一般由两部分组成:命令动词、命令子句.命令格式为: 命令动词:用以说明命令的操作功能。 命令子句:用来说明命令的操作对象或操作条件等. 如: use 学生List for 性别=“女“ 说明:VFP命令必须由命令动词开头、VFP命令且由一个命令动词和零个或多个命令子句构成、命令中的字母不区分大小写。书(1),命令格式中约定的符号 书(3) List |display fields for :表明其中的内容为必选项,不能省略。 :表明其中的内容可根据需要决定是否选择。/或|:二选一。:表示省略,多个同类参数重复 注意:实际
13、输入命令时不能输入以上专用符号display listlist alllist for 性别=“女” list for 错display fields 学号,姓名,性别 for 性别=“女“,命令特点(1) 命令动词和其它关键字可使用简写,只写出前4个字母即可.但字母顺序必须与原始命令相同. 如:replace命令可简写为:repl、 repla、replac、 replace (2) 各子句间需用一个或多个空格隔开。 (3) 命令子句的顺序不拘.display fields 学号,姓名,性别 for 性别=“女“display for 性别=“女“ fields 学号,姓名,性别 (8) 一
14、条命令在一行写不完,可在适当的位置键入续行符“ ;”并回车,然后在下一行继续键入该命令,1.7.1 Visual Foxpro的启动与退出P19 1.启动:(1) “开始” “程序” “ Microsoft Visual FoxPro”(2) 双击桌面的VFP的快捷图标(3) 双击与VFP关联的文件 2. 退出:(1)菜单:文件|退出(2)命令窗口:quit命令,1.7 visual FoxPro基本操作,1.7.2 Visual Foxpro的用户界面 图1-51. 标题栏2. 菜单栏 (动态变化)3. 工具栏在进行相应的设计时自动显示(如:新建表单,报表)工具栏的显示/隐藏: “显示“工具
15、栏4. 命令窗口作用:输入、执行VFP命令显示与隐藏命令窗口的方法,5. 工作区窗口(信息窗口): 作用:显示命令或程序的运行结果。clear命令:清除工作窗口显示的信息。 6.状态栏 作用:显示当前操作的有关信息及操作状态,如表文件路径、记录号等。,1.7.3 Visual Foxpro 操作方式,1. 菜单方式直观易懂、操作方便。2. 命令方式 通过在命令窗口中输入并执行命令来完成任务。说明:某些交互式命令可以用命令方式实现,也可以用菜单操作方式实现(相应命令自动显示在命令窗口中)。如:use 学生 brows,在命令窗口操作时,应注意:(1) 一行只能写一条命令,输完后按enter键才会
16、执行该命令;(2) 输入正确的命令动词及关键字呈蓝色。(3) 执行过的命令保留在命令窗中,可供用户修改,重用(enter),以减少命令输入量.(4) 命令中的所有标点符号必须是英文标点 说明:清除命令窗口中的所有命令的方法如下:鼠标右键显示快捷菜单清除,3.程序方式程序是为解决某实际问题而编写的有序的命令的集合。特点:运行程序会自动连续地执行程序中的所有命令。程序可重复执行,且运行效率高。 三种操作方式的说明:有些任务用三种操作方式均可完成,而有些任务只能由命令式或程序方式实现。非交互式命令不能在命令窗口中执行,只能在程序中执行。,1.8 Visual Foxpro可视化设计工具,向导 提供并指导用户完成某些工作的详细步骤 设计器 提供用户进行设计的图形界面 生成器 以简单直观的人机交互操作方式完成应用程序的界面设计,