1、全国二级VF数据库程序设计第1讲VF数据库基础数据库基础本讲主要内容计算机数据管理的发展计算机数据管理的发展数据库系统数据库系统数据模型数据模型关系模型关系模型关系运算关系运算一、计算机数据管理的发展计算机数据管理的发展数据(数据(DataData):):是存储在某一种媒体上能够识别是存储在某一种媒体上能够识别的物理符号。的物理符号。在计算机科学中,数据泛指一切可在计算机科学中,数据泛指一切可以被计算机接受并处理的符号(如:数值、字符、以被计算机接受并处理的符号(如:数值、字符、图象、声音和视频等。通过编码,这些数据最终图象、声音和视频等。通过编码,这些数据最终都以都以0 0和和1 1的形式存
2、储在计算机中)的形式存储在计算机中)一、计算机数据管理的发展计算机数据管理的发展信息(信息(InformationInformation):):信息是抽象的。它是客观信息是抽象的。它是客观事物(或描述客观事物的数据)在人们头脑中的事物(或描述客观事物的数据)在人们头脑中的综合反映。综合反映。编号编号姓名姓名 性别性别 工资工资001李四李四女女850002王五王五男男750003赵六赵六女女920004钱七钱七男男680为什么工资最为什么工资最低的总是我?低的总是我?一、计算机数据管理的发展计算机数据管理的发展数据处理(数据处理(Data ProcessingData Processing):
3、):数据处理的目的数据处理的目的是获得新信息,所以我们把数据处理定义为是获得新信息,所以我们把数据处理定义为“将将数据转换成信息的过程数据转换成信息的过程”。编号编号姓名姓名性别性别工资工资001李四李四女女850002王五王五男男750003赵六赵六女女920004钱七钱七男男680原来还有三个原来还有三个人比我更霉!人比我更霉!编号编号姓名姓名性别性别工资工资188张月张月女女450177刘刚刘刚男男550095钱二钱二男男650004钱七钱七男男680按工资升序排列按工资升序排列一、计算机数据管理的发展计算机数据管理的发展数据处理的中心问题是数据管理。数据处理的中心问题是数据管理。计算机
4、对数据计算机对数据的管理是指对数据的组织、分类、编码、存储、的管理是指对数据的组织、分类、编码、存储、检索和维护提供操作手段。数据管理大体经历了检索和维护提供操作手段。数据管理大体经历了如下几个阶段:如下几个阶段:1 人工管理阶段人工管理阶段特点:程序和数据相互依赖,数据不能共享特点:程序和数据相互依赖,数据不能共享2 文件系统阶段文件系统阶段特点:程序用文件系统进行数据处理,数据分散,通用性差特点:程序用文件系统进行数据处理,数据分散,通用性差3 数据库系统阶段数据库系统阶段特点:数据独立于程序,实现数据共享特点:数据独立于程序,实现数据共享4 分布式数据库系统分布式数据库系统特点:数据库技
5、术特点:数据库技术+计算机网络技术计算机网络技术5 面向对象数据库系统面向对象数据库系统特点:数据库技术特点:数据库技术+面向对象技术面向对象技术二、数据库系统数据库(数据库(DBDB):):是存储在计算机存储设备是存储在计算机存储设备上的结构化的相关数据集合。上的结构化的相关数据集合。从定义中我从定义中我们可以看出,数据库不仅包含描述事物的们可以看出,数据库不仅包含描述事物的数据本身,还包含相关事物之间的联系。数据本身,还包含相关事物之间的联系。学生买书图书选课课程数据联系数据库数据库二、数据库系统数据库管理系统(数据库管理系统(DBMSDBMS):): 数据库管理系统数据库管理系统是用来创
6、建、存取、控制和维护数据是用来创建、存取、控制和维护数据的计算机系统软件。的计算机系统软件。目前使用最广泛的数据库管理系目前使用最广泛的数据库管理系统有四个:统有四个:小小 型型DBMSDBMS:ACCESSACCESS中中 型型DBMSDBMS:VISUAL FOXPROVISUAL FOXPRO大中型大中型DBMSDBMS:SQL SERVERSQL SERVER大大 型型DBMSDBMS:ORACLEORACLE二、数据库系统数据库应用系统数据库应用系统(DBAS)(DBAS)数据库管理员数据库管理员(DBA)(DBA)二、数据库系统数据库系统数据库系统( (DBS):DBS):引入数据
7、库技术的计算机引入数据库技术的计算机系统。系统。裸机操作系统DBMSDBDBAS用户DBA数据库系统数据库系统 DBSDBMS是DBS的核心二、数据库系统数据库系统的特点:数据库系统的特点:实现数据共享,减少数据冗余实现数据共享,减少数据冗余采用特定的数据模型采用特定的数据模型具有较高的数据独立性具有较高的数据独立性有统一的数据控制功能有统一的数据控制功能三、数据模型为了将复杂的客观事物以计算机能接受的形式反映为了将复杂的客观事物以计算机能接受的形式反映到数据库中,需要经历到数据库中,需要经历3个阶段:现实世界阶段;个阶段:现实世界阶段;信息世界阶段;计算机世界阶段信息世界阶段;计算机世界阶段
8、要将客观事物用计算机软件来表示,需要建立信息要将客观事物用计算机软件来表示,需要建立信息模型和数据模型。模型和数据模型。三、数据模型客观存在并且可以相互区别的事物称为客观存在并且可以相互区别的事物称为实体实体(Entity)描述实体的特性称为描述实体的特性称为属性属性(Attribute)同类型实体的集合称为同类型实体的集合称为实体集实体集为了将信息规范化,达到建立信息模型的目的,我们必须找为了将信息规范化,达到建立信息模型的目的,我们必须找出出“实体间的联系实体间的联系(Relationship)” 。一对一联系一对一联系( (one to one relationship)one to o
9、ne relationship) 定义定义 两个实体集两个实体集A A和和B B,若若A A中的一个实体只与中的一个实体只与B B中的一个实体有联系,中的一个实体有联系, 反之亦然,那么反之亦然,那么A A与与B B称为一对一联系,记作称为一对一联系,记作1 1:1 1一对多联系一对多联系( (one to many relationship)one to many relationship) 定义定义 两个实体集两个实体集A A和和B B,若若A A中的一个实体与中的一个实体与B B中的多个实体有联系,中的多个实体有联系, 反之,反之,B B中的一个实体只与中的一个实体只与A A中的一个实体
10、有联系,那么中的一个实体有联系,那么A A与与B B称为称为 一对多联系,记作一对多联系,记作1 1:N N多对多联系多对多联系( (many to many relationship)many to many relationship) 定义定义 两个实体集两个实体集A A和和B B,若若A A中的一个实体与中的一个实体与B B中的多个实体有联系,中的多个实体有联系, 反之亦然,那么反之亦然,那么A A与与B B称为多对多联系,记作称为多对多联系,记作M M:N N三、数据模型电影票号电影票号 座位座位 1001 一排一号一排一号 1002 一排二号一排二号1003一排三号一排三号1004
11、一排四号一排四号1005 一排五号一排五号电影票号电影票号 姓名姓名 性别性别1001 刘伟箭刘伟箭 男男 1002 刘简捷刘简捷 男男 1003藤波海藤波海 男男 1004 杨行东杨行东 男男 1005 林慧繁林慧繁 女女一对一一对一观众座位三、数据模型学校专业学校编号学校编号 专专 业业 001 信息技术信息技术 001 外语贸易外语贸易 001 酒店管理酒店管理 002 信息技术信息技术 002 旅游管理旅游管理学校编号学校编号 校名校名 001 四川烹专四川烹专 002 四川商专四川商专 003 四川纺专四川纺专 多对多多对多三、数据模型E-R模型模型E-R模型规定:用矩形表示实体;用
12、椭圆表示实体的模型规定:用矩形表示实体;用椭圆表示实体的属性;用菱形表示实体之间的联系。属性;用菱形表示实体之间的联系。学生学生课程课程MN学号学号姓名姓名性别性别课号课号课名课名学分学分三、数据模型从理论上讲,数据模型是指反映客观事物及客观事物间联系的数据组织的结构和形式。客观事物是千变万化的,各种客观事物的数据模型也是千差万别的,但也有其共同性。常用的数据模型有层次模型、网状模型和关系模型三种。三、数据模型 层次模型(hierarchical model)表示数据间的从属关系结构,是一种以记录某一事物的类型为根结点的树结构。 层次模型象一棵倒置的树,根结点在上,层次最高;子结点在下,逐层排
13、列。 其主要特征如下: 仅有一个无双亲的根结点。 根结点以外的子结点,向上仅有一个父结点,向下有若干子结点。 层次模型表示的是从根结点到子结点的一个结点对多个结点,或从子结点到父结点的多个结点对一个结点的数据间的联系。三、数据模型层次模型的示例如图层次模型的示例如图 :学院教务处基础部经管系教材科数学教研室化学教研室财会教研室西经教研室三、数据模型网状模型(network model)是层次模型的扩展表示多个从属关系的层次结构,呈现一种交叉关系的网状结构。 其主要特征如下: 有一个以上的结点无双亲。 至少有一个结点有多个双亲。 网状模型可以表示较复杂的数据结构,即可以表示数据间的纵向关系与横向
14、关系。这种数据模型在概念上、结构上都比较复杂,操作上也有很多不便。三、数据模型网状模型的示例如图:教师 年龄 职称课程号 课程名 学时数学号 姓名 系名课程号 学号 成绩三、数据模型关系模型(relational model)是以关系数学理论为基础的,用二维表格来表示实体之间联系的模型。 三、数据模型学号姓名性别出生年月入学成绩三好生M0201101王小平男10/23/1986590FM0201102张林强男08/12/1986568TM0201103刘雨欣女01/02/1987565FM0201104江 涛男07/24/1986570FM0201105吴 红女05/12/1986595FM0
15、201106杜林海男12/12/1985578FM0201107金阳明女11/07/1985550TM0201108张爱敏女09/30/1986586FM0201109杨 光男02/15/1987569FM0201110郭 晨男03/18/1985592F三、数据模型课程号课程名课时C110数学建模80C120计算机网络60C130日语80C140数据库60C150商务会计70C160电子商务50三、数据模型学号课程号成绩M0201101C12087M0201102C11080M0201103C13094M0201104C11076M0201105C12082M0201106C15080M02
16、01107C13090M0201108C14086M0201109C14076M0201110C16090四、关系模型(1)关系的基本概念 通常将一个没有重复行、重复列的二维表看成一个关系,每一个关系都有一个关系名。 (2)关系的基本特点在关系模型中,关系具有以下基本特点:l 关系必须规范化,属性不可再分割l 在同一关系中不允许出现相同的属性名l 关系中不允许有完全相同的元组l 在同一关系中元组及列的顺序可以任意四、关系模型2元组 二维表的每一行在关系中称为元组。在Visual FoxPro中,一个元组对应表中的一个记录。3属性 二维表的每一列在关系中称为属性,每个属性都有一个属性名,属性值则
17、是各个元组属性的取值。在Visual FoxPro中,一个属性对应表中的一个字段,属性名对应字段名,属性值对应于各个记录的字段值。4域 属性的取值范围称为域。域作为属性值的集合,其类型与范围具体由属性的性质及其所表示的意义确定。如 “性别”属性的域是男,女。同一属性只能在相同域中取值。四、关系模型5关键字 关系中能惟一区分、确定不同元组的属性或属性组合称为该关系的一个关键字。单个属性组成的关键字称为单关键字,多个属性组合的关键字称为组合关键字。需要强调的是,关键字的属性值不能取“空值”,因为无法惟一区分、确定元组。6候选关键字关系中能够成为关键字的属性或属性组合可能不是惟一的。凡在关系中能够惟
18、一区分、确定不同元组的属性或属性组合都称为候选关键字。7主关键字在候选关键字中选定一个作为关键字,称为该关系的主关键字。关系中主关键字是惟一的。四、关系模型8外部关键字 关系中某个属性或属性组合并非关键字,但却是另一个关系的主关键字,称此属性或属性组合为本关系的外部关键字。关系之间的联系是通过外部关键字实现的。9关系模式对关系的描述称为关系模式,其格式为:关系名(属性名1,属性名2,属性名n)关系既可以用二维表格描述,也可以用数学形式的关系模式来描述。一个关系模式对应一个关系的数据结构,也就是表的数据结构。 五、关系运算 关系的基本运算有两类:一类是传统的集合运算,包括并、差、交;另一类是专门
19、的关系运算,包括选择、投影和连接。 1传统的集合运算 进行并、差、交集合运算的两个关系必须是具有相同的关系模式,既结构相同。(1).并: 两个相同结构关系的并是有属于这两个关系的元组(记录)组成的集合。(2).差: 有关系R和关系S,是有属于R而不属于S的元组组成的集合,从R中去掉S中也有的元组。(3).交: 有关系R和关系S,既属于R又属于S的元组组成的集合。五、关系运算2专门的关系运算 在关系数据库中查询用户所需数据时,需要对关系进行一定的关系运算。关系运算主要有选择、投影和连接三种。 (1). 选择 从关系中找出满足条件的记录。是一种横向的操作,它可以根据用户的要求从关系中筛选出满足一定
20、条件的记录,这种运算可以得到一个新的关系,但其中的元组是原关系的一个子集,但不影响关系的结构。五、关系运算 (2). 投影 从关系中选取若干属性组成新的关系。是一种列的操作,它可以根据用户的要求从关系中选出若干个字段组成新的关系,字段的个数或顺序往往不同。(3). 连接 将两个关系通过公共属性名连接成一个新的关系。连接运算可以实现两个关系的横向合并,在新的关系中可以反映出原来关系之间的联系。 (4). 自然连接 在连接运算中,按照字段值对应相等为条件进行的连接操作称为等值连接。自然连接是去掉重复属性的等值连接。p 经常不断地学习,你就什么都知道。你知道得越多,你就越有力量p Study Constantly, And You Will Know Everything. The More You Know, The More Powerful You Will Be写在最后谢谢你的到来学习并没有结束,希望大家继续努力Learning Is Not Over. I Hope You Will Continue To Work Hard演讲人:XXXXXX 时 间:XX年XX月XX日