第一章,数据库应用基础.doc

第一章 数据库应用基础 第一节 数据库简介 数据处理发展阶段(了解) 人工管理、文件管理、数据库系统、分布式数据库系统、面向对象数据库系统等5个阶段 一、数据库 1.数据(data)是记载客观事物的状态、特征、特性的符号。它包括两类 数值型数据能参与数字运算的;

非数值型数据不能参与数字运算的,如文字、图画、声音、活动图象等。

2.数据库database,缩写DB就是按一定的组织结构存储在计算机内可共享使用的相关数据的集合。它以文件的形式组织,包括一个或多个文件,可以被多个用户所共享。数据库是数据库系统的重要组成部分。

字符数据的最小存取单位。它由字母、数字、汉字和其他符号组成。

字段数据的最小访问单位,具有独立的含义。如 姓名,成绩等 记录由一个或多个字段组成的数据单位。用来描述一个完整的客观事物,如 文件存放在存储介质上的一组记录。

参见下表 学号 姓名 性别 民族 出生日期 入学成绩 091001 王晓 男 汉 02/13/89 540 091002 张飞 男 满 05/14/87 523 091003 王虹 男 汉 12/21/88 488 二、数据库管理系统(DataBase Management System)略写为DBMS 定义数据库管理系统是用来建立、存取、管理和维护数据库的软件系统。它是数据库系统的核心软件,是用户与数据库之间的接口。

例中考填报志愿系统,学籍管理系统,话费查询系统。

三、数据库系统(DataBase System,缩写DBS) 定义 是引用了数据库技术后的完整计算机系统。

组成 数据库 硬件(计算机硬件设备) 软件(数据库管理系统 、操作系统) 数据库 用户(应用程序设计员、终端用户、数据库管理员 ) + 数据库 管理系统 数据库 计算机软硬件系统 用户1 用户2 用户n DBMS DB DBS 图1-1 数据库系统组成 第二节 数据模型 一、实体的描述 1实体客观存在并可相互区别的事物。

实体可以是具体的事物。如一个学生、一个老师、一门课程等;
实体也可以是抽象的概念或关系。如某学生的一次选课、某老师的教学,某产品的销售等。

2属性实体所具有的某一特性。

为了描述某一实体,我们可以通过若干属性刻画。如学生的学号、姓名、性别等。

3属性域属性的取值范围。

每个实体的属性有对应的值,属性值的变化范围称为属性域。如性别的域为男,女。

4实体集具有相同属性的实体的集合。

如学生学号,姓名,性别,出生日期就是一个实体集,它指的不只是某个学生,是全体学生的集合。

5关键字一个实体的各属性中,可以唯一标识实体的属性。

关键字可以是一个,也可以是多个。如学号是学生实体的关键字;
学号与课程号加起来才是学生选课实体的关键字。

6 实体联系实体之间的对应关系。两个实体集之间的联系又可分为3类 一对一联系11 如班长与班级的联系,一个班级只有一个班长,一个班长对应一个班级。

班长 班长-班级 班级 1 1 一对多联系1n 如班长与学生的联系,一个班长对应多个学生,而本班每个学生只对应一个班长。

班长 班长-学生 学生 1 n 多对多联系mn 如教师与学生的联系,一位教师为多个学生授课,每个学生也有多位任课教师。

教师 教师-学生 学生 m n 二、常用数据模型 1 层次模型 2 网状模型 3 关系模型 关系模型Relational Model用二维表结构来表示实体及其联系的模型. 在关系模型中,数据的逻辑结构是一张二维表格,即关系模型是用若干行与若干列数据构成的表格来描述数据集合以及它们之间的联系。每一个这样的表格被称为一个关系。

学号 姓名 性别 出生日期 班级 20050005 张广田 男 1987-10-11 1班 20050010 蜂雪燕 女 1987-7-2 1班 20050015 何芳 女 1987-5-6 1班 关系模型结构与示例 3、关系的基本特点 1关系必须规范化,属性不可再分割。

规范化是指关系模型中每个关系模式都必须满足一定的要求,最基本的要求是关系必须是一张二维表,每个属性值必须是不可分割的最小数据单元,即表中不能再包含表。

2在同一关系中不允许出现相同的属性名字段 3关系中不允许有完全相同的元组记录 4在同一关系中元组及属性的顺序可以任意 5任意交换两个元组或属性的位置,不会改变关系模式。

第三节 关系数据库 一、关系数据库概念 1 关系 一个关系就是一张二维表,每个关系有一个关系名。

每个关系数据库表用一个文件来存储,扩展名为.DBF 2元组记录 二维表的每一行在关系中称为元组。

在VFP中,一个元组对应表中一个记录。

3属性字段 二维表的每一列在关系中称为属性,每个属性都有一个属性名。每个属性都有属性名,数据类型,长度。

在VFP中,一个属性对应表中一个字段,属性名对应字段名。

4 域 属性的取值范围称为域。

例职工的年龄在1860岁,性别的属性域为男、女 5)关键字PK---Primary Key属性或属性的组合,其值能唯一确定一个元组,例学号。

候选关键字满足关键字特性的最小属性组合都叫候选关键字。

注 1.每个关系都必须选择一个候选关键字作为主关键字。关系中主关键字是唯一的。

2.关键字的属性值不能取“空值”,所谓空值就是“不知道”或“不确定”的值,因而无法唯一地区分、确定元组。

6)外部关键字FK---Foreign Key如果表中的一个字段不是本表的主关键字或候选关键字,而是另外一个表的主关键字或候选关键字,这个字段就称外部关键字。

C_NO 例 学生表S 成绩表 C S_NO SC_NO S_NOFK C_NOFK SC 二、关系运算(关系操作) 1.选择 Select 定义从关系中找出满足给定条件的元组的操作 条件由逻辑表达式给出 水平方向的选择----- 行(选行操作) 结果是原关系的一个子集 例查询总分在480以上的考生 2.投影 Project 含义从关系模式中指定若干个属性组成新的关系 垂直方向的选择 选列 例 显示学生信息表的特长属性 只产生由学号,姓名,特长,组成的新表 3.联接 join 含义将两个关系模式组合,生成的新关系中包含满足联接条件的元组 两表横向结合 例学生表和成绩表,通过学号连接。

第四节 VFP集成开发环境 1. VFP6.0的特点(了解) VFP6.0是目前应用广泛的数据库管理系统开发工具之一。是一种关系型数据库管理系统。

1. 引入了数据库表的概念 2. 支持面向对象的程序设计 3. 具有强大的查询与管理功能 4. 扩充了对SQL语言的支持 2. 启动与退出 开始→程序 →Microsoft Visual FoxPro 6.0 1. 单击【文件】菜单中的【退出】命令。

2. 单击VFP主窗口的【关闭】按钮。

3. 在【命令】窗口中输入QUIT命令并回车。

4. 单击主窗口左上方的控制图标,在下拉菜单中选择【关闭】,或者按AltF4键。

3、Visual FoxPro用户界面 VFP的用户界面由主窗口与命令窗口两大部分组成。分别完成显示命令执行结果与输入命令的功能。

4、VFP 操作方式 1) 菜单方式 该方式是指利用系统的菜单、工具按钮、对话框等进行交互操作。其突出的优点是操作简单、直观,不需记忆命令的格式与功能,易学易用,是初学者常用的一种工作方式。其不足之处是操作步骤较为繁琐。

2) 命令方式 是指在命令窗口中键入所需的命令,即可在屏幕上显示执行的结果。主要目的是一方面对数据库的操作使用命令比使用菜单或工具栏要快捷而灵活,另一方面熟悉命令操作是程序开发的基础. 因此,命令操作方式为用户提供了一个直接操作的手段,这种方法的优点是能够直接使用系统提供的各种命令和函数,有效地操纵数据库。

3)程序执行方式 所谓程序执行是指将命令编写成一个程序,通过运行这个程序达到操作数据库的目的,解决一些实际应用系统. 程序执行方式的突出特点是效率高,而且编制好的程序可以反复执行。对于一些复杂的数据处理与管理问题通常采用程序执行方式运行。在VFP中,开发人员可以将结构化程序设计方法和面向对象程序设计方法结合并根据具体问题的要求,编制出相应的应用程序。

除上述方法外,VFP提供真正的面向对象程序设计工具,使用它的各种向导、设计器和生成器可以更简便、快捷、灵活地进行应用程序开发。

5、命令的语法规则 1、格式 [][] [FOR][WHILE][TO FILE |TO PRINTER|TO ARRAY|TO ][ALL [LIKE/EXCEPT ]] [IN ] 2、说明 命令格式中的符号约定命令中的[ ] 、| 、、 符号都不是命令本身的语法成分,使用时不能照原样输入,其中 [ ] 表示可选项,根据具体情况决定是否选用 | 表示两边的部分只能选用其中的一个 表示可以有任意个类似参数,各参数间用逗号隔开 表示其中内容要以实际名称或参数代入 3、语法规则 1. 命令动词 所有命令都以命令动词开头,表示要执行的命令功能 2. 命令子句 用来修饰或限制命令 ⑴ 范围子句 指明在哪些记录范围内执行命令,有四种 RECORD 表示指定第N个记录 NEXT 表示从当前记录开始的N个记录 ALL 表示数据库的所有记录 REST 表示从当前记录开始到最后一个记录 ⑵ FIELDS子句 指明对数据表中的哪些字段执行命令 ⑶ FOR/WHILE子句 后面跟一个逻辑表达式,表示仅对符合条件(即表达式的结果为.T.)的记录执行命令操作 例如,显示学生表中所有女生的学号、姓名、出生日期等信息,可使用以下命令 LIST ALL FIELDS 学号,姓名,出生日期 FOR 性别”女” 3. 命令书写规则 ⑴ 必须以命令动词开头,命令中可以含有一个或多个子句,子句的顺序任意 ⑵ 命令动词和各子句之间用空格分开(空格数任意) ⑶ 命令动词可以缩写为前4个字符,且不区分大小写 ⑷ 命令行的最大长度为254个字符,一行写不下时,要在行尾加续行符(西文分号“;”)分行,并在下行继续书写 5 变量名、字段名和文件名应避免与命令动词、关键字或函数名同名,以免运行时发生混乱。

6、VFP的向导、设计器和生成器(了解) 向导是一个交互式程序,能帮助用户快速完成一般性的任务。通过在向导的一系列屏幕显示中回