830 likes | 965 Views
第 1 章 Visual FoxPro 基础. 1 . 1 数据库基础知识 1 . 2 关系数据库 1 . 3 数据库设计 1 . 4 Visual FoxPro 概述. 1 . 1 数据库基础知识. 数据库管理系统是处理数据的有效工具,在此首先需要了解数据、数据处理的概念和计算机数据管理的发展历程。 1 . 1 . 1 数据库的基本概念 1 .信息与数据的概念 信息: 是客观事物属性(特征)的反映,所反映的是关于某一客观系统中某一事物的某一方面属性或某一时刻的表现形式,如姓名、性别、年龄等是人的基本信息。它提供了有关现实世界事物的消息和知识。.
E N D
1.1 数据库基础知识 • 1.2 关系数据库 • 1.3 数据库设计 • 1.4 Visual FoxPro概述
1.1数据库基础知识 数据库管理系统是处理数据的有效工具,在此首先需要了解数据、数据处理的概念和计算机数据管理的发展历程。 1.1.1数据库的基本概念 1.信息与数据的概念 信息:是客观事物属性(特征)的反映,所反映的是关于某一客观系统中某一事物的某一方面属性或某一时刻的表现形式,如姓名、性别、年龄等是人的基本信息。它提供了有关现实世界事物的消息和知识。
数据:指存储在某一种媒体上能够识别的物理符号。 数据是信息的载体,是对客观事物属性(特征)的记录是用一定的物理符号(如数字、符号、声音、图形、图像等)来表达的,因此说数据是信息的具体表现形式。
数据的概念包括两个方面:即数据内容和数据形式。 数据内容是指所描述客观事物的具体特性,也就是通常所说数据的“值”。 数据形式是指数据内容存储在媒体上的具体形式,也就是通常所说数据的“类型”。数据主要有数字、文字、声音、图形和图像等多种形式。
例如,描述同学的基本信息:“姓名”、“性别”等属性用文字型数据形式描述,“出生日期”属性用日期型数据形式描述;“邮政编码”属性用数字型数据形式描述,“照片”属性用图片型数据形式描述。例如,描述同学的基本信息:“姓名”、“性别”等属性用文字型数据形式描述,“出生日期”属性用日期型数据形式描述;“邮政编码”属性用数字型数据形式描述,“照片”属性用图片型数据形式描述。 而对于一个具体的同学来讲: 其“姓名”的值为“于文竹”、“性别”的值为“女”、“出生日期”的值为{^1990-06-13}、“照片”的值为其照片文件。
注意:对于数据可以选择不同的类型表示,实际上根据数据管理和数据处理的具体要求来确定。注意:对于数据可以选择不同的类型表示,实际上根据数据管理和数据处理的具体要求来确定。 例如,性别这一数据,可以用“男”、“女”文字表示,也可用1、2数字表示。
信息与数据的关系: 数据是信息的表达形式,信息是数据所表达的有用含义。信息是通过数据符号来传播的,数据如不具有知识性和有用性则不能称其为信息。 信息=数据+意义
数据处理: 数据处理就是将数据转换为信息的过程。 数据处理的内容主要包括:数据的收集、整理、存储、加工、分类、维护、排序、检索和传输等一系列活动的总和。 数据处理的目的是从大量的数据中,根据数据自身的规律和及其相互联系,通过分析、归纳、推理等科学方法,利用计算机技术、数据库技术等技术手段,提取有效的信息资源,为进一步分析、管理、决策提供依据。 数据处理也称信息处理。
例如,学生各门成绩为原始数据,经过计算得出平均成绩和总成绩等信息,计算处理的过程就是数据处理。 而对课程进行编号,对于学生各门课程成绩如何存放,如何录入、修改等,属于数据管理。
2.计算机数据管理 • 自1946年电子计算机诞生后,人们开始用计算机进行数据处理与管理。大致经历了三个发展阶段:
人工管理阶段 应用程序 1 数据组 1 数据组 2 应用程序2 应用程序 n 数据组 n 图1.1 人工管理阶段数据与程序的关系
应用程序 1 数据组 1 应用程序 2 数据组 2 存取方法 数据组 n 应用程序 n • 文件系统管理阶段 图1.2 文件管理阶段数据与程序的关系
应用程序 1 数据库 DB 应用程序 2 数据库 管理系统 DBMS 应用程序 n 用户 • 数据库系统管理阶段 图1.3 数据库系统中数据与程序的关系
3.有关数据库的概念 ①数据库(DB) 数据库(DataBase)是存储在计算机存储设备上,结构化的相关数据集合。它不仅包括描述事物的数据本身,而且还包括相关事物之间的联系。数据库中的数据是面向多种个用户和多个应用程序共享。其数据结构独立于应用程序,对于数据的增加、删除、修改和检索由系统软件进 行统一的控制。
②数据库管理系统(DBMS) 开发一个成功的数据库应用系统需要一个专门的软件系统对数据实行专门管理,以提供安全性和完整性等统一控制机制,方便用户使用。这个专门的软件系统就是数据库管理系统(DBMS),DBMS对数据库的建立、使用和维护进行管理。
③数据库应用系统(DBAS) 利用数据库系统资源开发的面向某一类实际应用的应用软件系统。 一个DBAS通常由数据库和应用程序两部分构成,它们都需要在数据库管理系统DBMS支持下开发和工作。 例如:学生成绩管理系统,财务管理系统等等。 学习Visual FoxPro的主要目的是开发数据库应用系统
④数据库管理员(DBA) 负责全面管理和实施数据库控制和维护的技术人员。DBA应该懂得和掌握数据库全局工作,并作为设计和管理数据库的核心人员来承担。
数据库系统(DataBase System,DBS):是指引进数据库技术后的计算机系统,包括硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员及用户等五部分。 数据库系统最终面对的是用户。 其中:硬件系统是指运行数据库系统需要的计算机硬件,包括主机、显示器、打印机等。
用户 用户 用户 应用系统 应用开发工具 数据库管理员 数据库管理系统 操作系统 数据库 图1.4 数据库系统层次示意图
2. 数据库系统的特点 ①实现数据共享,减少数据冗余 数据的最小访问单位是字段,既可以按字段的名称存取库中某一个或某一组字段,也可以存取一条记录或一组记录。 ②采用特定的数据模型 ③具有较高的数据独立性 ④有统一的数据控制功能 数据库可以被多个用户或应用程序共享,数据的存取往往是并发的,即多个用户同时使 用同一个数据库。
1.1.2数据模型 在现实世界中,事物和事物是存在联系的,为了反映事物本身及事物之间的各种联系,数据库中的数据必须有一定的结构,这种结构用数据模型来表示。 例如,学校教学系统中的教师、学生、课程、成绩等都是相互关联的。 实体-----事物本身 数据模型-----结构 实体之间的联系----事物之间的各种联系
数据库系统的核心问题是: 数据模型
1.实体的描述 ①实体 客观存在并且可以相互区别的事物称为实体。 实体可以是实际的事物,也可能是抽象的事件。 比如: 人、图书等属于实际事物; 借阅图书、比赛等活动是比较抽象的事件。 在建立实体模型时,实体要逐一命名以示区别。 例如:学生,教师,课程,学生选课
②实体的属性和属性值 描述实体的特性称为属性。 每个属性也要逐一命名。 例如,职工实体用(职工号,姓名,性别,出生口期,职称) 等若干个属性来描述;图书实体用(总编号,分类号,书名,作者,单价)等多个属性来描述。
每个属性都有特定的取值范围即值域。 例如:“性别”属性的值域为男或女。 属性值:属性的具体取值。 例如:某个学生的 “性别”属性值为“男”
③实体集和实体型 属性值的集合表示一个实体,而属性的集合表示一种实体的类型,称为实体型。 实体型就是实体的结构描述,通常是实体名和属性名的集合。具有相同属性的实体,有相同的实体型。 例如“学生”实体型,学号、姓名、出生日期、性别等是学生的几个属性,一般描述为:学生(学号,姓名,出生日期,性别)。
由若干属性的属性值所组成的集合表征了一个具体的实体,称为实体值。由若干属性的属性值所组成的集合表征了一个具体的实体,称为实体值。 例如:某一学生其学号为2012010005、姓名为张三、出生日期为1991年6月18日、性别为男是上述几个属性所取的某一个值:(2012010005,李天一,1991年6月18日,男)。 这是一个实体值,是一个具体的客观事物。
实体集是具有相同类型及相同性质(或属性)的实体集合。实体集是具有相同类型及相同性质(或属性)的实体集合。 例如,某个学校的所有学生的集合可以被定义为实体集Students。 在Visual FoxPro中,用“表”来存放同一类实体,即实体集。例如,职工表、图书表等。一个“表”包含若干个字段,“表”中所包含的“字段”就是实体的属性。字段值的集合组成表中的一条记录,代表一个具体的实体,即每‘条记录表示一个实体。
2.实体间联系及联系的种类 实体之间的对应关系称为联系,它反映现实世界事物之间的相互关联。如,一位读者可 以借阅若干本图书;同一本书可以相继被几个读者借阅。实体间联系的种类是指一个实体型中可能出现的每一个实体与另一个实体型中多少个具体实体存在联系。 两个实体间的联系可以归结为三种类型: ①一对一联系 ②一对多联系 ③多对多联系
公司 总经理 ①一对一联系 在Visual FoxPro中,一对一的联系表现为主表中的每一条记录只与相关表中的一条记录相关联。例如,一个单位的职工表和工资表之间就存在一对一的联系。 定义:实体集A中的一个实体至多与实体集B中的一个实体相对应(相关联),反之亦然,则称实体集A与实体集B的联系为一对一的联系。
部门 职工1 职工n ②一对多联系 定义:实体集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的一个实体至多与实体集A中的一个实体相对应,则称实体集A与实体集B的联系为一对多的联系 在Visual FoxPro中,一对多的联系表现为主表中的每一条记录与相关表中的多条记录相关联。即表A的一个记录在表B中可以有多个记录与之对应,但表B中的一个记录最多只能有一个表A的记录与之对应。 一对多联系是最普遍的联系。也可以把一对一的联系看作一对多联系的一个特殊情况。
学生1 学生n 课程1 课程n ③多对多联系 定义:实体集A中的一个实体与实体集B中的多个实体相对应,而实体集B中的一个实体与实体集A中的多个实体相对应,则称实体集A与实体集B的联系为多对多的联系。 在Visual FoxPro中,多对多的联系表现为一个表中的多个记录在相关表中同样有多个记录与其匹配。即表A的一条记录在表B中可以对应多条记录,而表B的一条记录在表A中也可以对应多条记录。
3.数据模型简介 数据库中的数据必须有一定的结构,这种结构用数据模型来表示。数据模型是数据库管理系统用来表示实体及实体间联系的方法。 数据库管理系统所支持的数据模型为三种: 层次模型 网状模型 关系模型 树形结构 网状结构 二维表结构
A B C D E F G 1. 层次模型 层次模型的结构是树型结构,树的节(结)点是实体,树的枝是联系,从上到下为一对多的联系。每个实体由“根”开始沿着不同的分支放在不同的层次上。如果不再向下分支,则此分支中最后的节点称为“叶”。
系 系编号 系名 地址 教研窒 教研室编号 教研室名 学生 学号 姓名 成绩 教员 职工号 姓名 研究方向 层次模型示例
支持层次模型的数据库管理系统称为层次数据库管理系统,其中的数据库称为层次数据库。支持层次模型的数据库管理系统称为层次数据库管理系统,其中的数据库称为层次数据库。 层次模型可以直接方便地表示一对一联系和一对多联系,但不能用它直接表示多对多联系。
A D B C E F G 2. 网状模型 用网形结构表示实体及其之间的联系的模型称为网状模型。在网状模型中,每一个节点代表一个实体,并且允许节点有多于一个的“父”节点。这样网状模型代表了多对多的联系类型,如下图所示。
院系 教研室 课程 学生 选课 任课 教师 支持网状模型的数据库管理系统称为网状数据库管理系统,其中的数据库称为网状数据库。
3. 关系模型 关系模型是以数学理论为基础构造的数据模型,它用二维表格来表示实体集中实体之间的联系。 在关系模型中,操作的对象和结果都是二维表(即关系),表格与表格之间通过相同的栏目建立联系。
关系模型有很强的数据表示能力和坚实的数学理论,且结构单一,数据操作方便,最易被用户接受,以关系模型建立的关系数据库是目前应用最广泛的数据库。关系模型有很强的数据表示能力和坚实的数学理论,且结构单一,数据操作方便,最易被用户接受,以关系模型建立的关系数据库是目前应用最广泛的数据库。
1.2关系数据库 自20世纪80年代以来,新推出的数据库管理系统几乎都是基于关系模型。 Visual FoxPro就是一种关系数据库管理系统 1.2.1关系模型 关系模型的用户界面非常简单,一个关系的逻辑结构就是一张二维表。这种用二维表的形式表示实体和实体间联系的数据模型称为关系数据模型。
1.2.1 关系模型 • 一个关系的逻辑结构就是一张二维表 表1.1 学生表
表中的列称为属性,每一列有一个属性名 属性 属性或属性组合,其值能惟一标识一个元组 关键字 外部关键字 1.关系术语 关系 一个关系就是一张二维表,每个关系有一个关系名 。 表中的行称为元组 元组 域 属性的取值范围 如表中的一个字段不是本表的主关键字或候选关键字,而是另外一个表的主关键字或候选关键字, 对关系的描述称为关系模式,格式为:关系名(属性名1,属性名2,…,属性名n), 关系模式
一个关系模式对应一个关系的结构,其格式为:关系名(属性名1,属性名2….,属性名n)一个关系模式对应一个关系的结构,其格式为:关系名(属性名1,属性名2….,属性名n) • 在Visual FoxPro中表示为表结构: 表名(字段名1,字段名2….,字段名”)
②元组:在一个二维表中,水平方向的行称为元组。元组对应存储文件中的一条记录。②元组:在一个二维表中,水平方向的行称为元组。元组对应存储文件中的一条记录。 ③属性:二维表中垂直方向的列称为属性,在vlsuaI FoxPr中表示为字段名。 ①表名 ⑤关键字:字段或字段的组合,其值能够惟一地标识一个元组,不可为空值。 ④域:字段的取值范围。
一个具体的关系模型由若干个关系模式组成。 • 如学生成绩管理系统存在关系: • 学生(学号,姓名,性别,年龄,院系); • 课程(课程号,课程名称); • 选课(学号,课程号,成绩)。 • 学号是“学生”关系模式的主关键字;课程号是“课程”关系模式的主关键字;(学号,课程号)是“选课”关系模式的主关键字;学号和课程号是“选课”关系模式的外部关键字。 • 在关系数据库中,基本的数据结构是二维表,表之间的联系常通过不同表之间的公共字段来体现。 • 例如,要查询某个学生张三所选修的课程,首先可以在学生表找到他的学号,再到“选课”表中找到所选修的全部课程。
学生 课程 学生选课
2.关系的性质 • 在表中,以二维表表示的关系有如下的性质: ① 每一列中的数据均不可再分,即表中不能再包含表,如表1.2所示的复合关系是不规范的。 ② 同一个关系中不能有相同的属性名,Visual FoxPro不允许同一个表中有相同的字段。 ③ 同一个关系中不能有完全相同的元组,Visual FoxPro不允许同一个表中有相同的记录。 ④ 同一个关系中行和列的排列次序是无关紧要的。 表1.2 复合关系