1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,.,*,第1章数据库系统 基本概念,1.1,数据管理技术的发展,1.2,数据库系统的组成,1.3,数据库系统的分级结构,1.4,数据模型,1.5,Access,中表操作,1.6,Access,中查询设计,1.7,关系数据库标准语言,SQL,章节练习,作业,实验内容,重点和难点,.,1.,数据处理,数据,是对事实、概念或指令的一种特殊表达形式,可以用人工的方式或自动化的装置进行通信、翻译转换或者进行加工处理。,它包括两类:一类是能参与数字运算的数值型数据;一类是不能参与数字运算的非数值型数据,如文字、图画、声音、
2、活动图象等。,1.1 数据管理技术的发展,.,数据处理,是对各种类型的数据进行收集、存储、分类、计算、加工、检索与传输的过程。,包括:收集原始数据、编码转换、数据输入、数据处理、数据输出。,2.,发展阶段,人工管理阶段,特点:,数据管理尚无统一的数据管理软件,数据是面向应用程序的,应用程序依赖于数据,不具有数据独立性,1.1 数据管理技术的发展,.,文件系统阶段,特点,数据以文件形式可以长期存放在存储介质上,程序与数据之间具有相对对立性,数据文件组织多样化,1.1 数据管理技术的发展,.,1.1 数据管理技术的发展,数据库系统阶段,特点:,采用数据模型表示复杂的数据结构。,有较高的数据独立性。
3、,提供了数据安全性、完整性等控制方面,以及对数据操作的并发控制、数据的备份与恢复等功能。,为用户提供了方便的用户接口。,.,1.1 数据管理技术的发展,.,数据库系统,DBS,(,DataBase,System),定义:,是以数据库应用为基础的计算机系统。,组成:,数据库,DB,硬件(计算机硬件设备),软件(数据库管理系统,DBMS,、操作系统、应用程序),用户(应用程序设计员、终端用户、数据库管理员,DBA,),1.2 数据库系统的组成,.,数据库(,DataBase),定义:,是以一定的组织形式存放在计算机存储介质上的相互关联的数据的集合。,特点:,具有最小的冗余度,具有数据独立性,可实现
4、数据共享,安全可靠、保密性能好,1.2 数据库系统的组成,.,数据库管理系统(,DataBase Management System),定义,:是操纵和管理数据库的系统软件。,Visual FoxPro,属于一种关系型数据库管理系统。,功能:,数据定义语言(,DDL):,用来建立所需的数据库。,数据操作语言(,DML):,用来对数据库进行查询和,数据的组织和存取管理,数据库运行管理,数据库的维护操作,。,1.2 数据库系统的组成,.,应用程序,用户编写的用来对数据库中数据进行处理的程序,用户:,即与数据库系统打交道的人员。通常有,3,种人员:,对数据库系统进行日常维护的,数据库管理员,。,用数
5、据操作语言和高级语言编制应用程序的,程序员,。,使用数据库中数据的人员(,终端用户,)。,1.2 数据库系统的组成,.,1.,三级模式结构,外部层,是面向单个用户的层次,是数据库的“外部视图”。,内部层,是最接近物理存储的层次,是数据库的“内部视图”或“存储视图”。,概念层,是数据库的“概念视图”,是数据库中所有信息的抽象表示。,1.3 数据库系统的分级结构,.,外部层,(数据库的外模式),概念层,(数据库的模式),内部层,(数据库的内模式),图 1-2 数据库系统三级结构图,1.3 数据库系统的分级结构,2.,三级模式结构与数据库模式的对应关系,.,1.4 数据模型,数据模型的基本概念,问题
6、的提起:,DB,数据,:,应用单位所涉及数据的综合,,反映数据本身的内容,,反映数据之间的联系。,问题,:,数据如何在,DB,中用特定结 构表示?,数据以何种方式进行存储和处理的?,?,.,数据模型,(,续,),由于使用数据库的信息系统是一种计算机软件系统,而计算机是不可能直接处理现实世界中的事物的,.,所以必须通过以下过程来处理数据,:,具体事物及其特征,概念化加工,计算机能够存储处理的数据,DB,计算机不可能直接处理,现实世界中的事物,.,数据模型,(,续,),进一步具体说明,:,客观对象抽象到数据模式描述的结构,客观对象,概念结构,抽象,数据模式,抽象,事物及联系,(现实世界),概念模型
7、,(信息世界),数据模型,(数据世界),DB,(,E-R,图),(二维表),从概念上描述对象和对象间的关联,经过识别,选择,分类等综合分析,形成“概念结构”,(,用实体,-,联系工具,E-R,图表示,.),按计算机系统支持的结构,组织数据,(,数据模式,):,逻辑结构为二维表,存储结构为文件,.,数据模型,(,续,),综上可见,:,概念结构是分析过程中的一个中间结果,它将现实世界中的客观对象和对象间的关联,经过识别,选择,分类等综合分析,形成“概念结构”,(,用实体,-,联系工具,E-R,图,表示,.),数据模型是直接面向计算机系统(即数据库)中数的数据结构,(,包括逻辑结构和存储结构,),。
8、,(,用,数据模型,来描述数据结构,.),.,1.,数据模型,三个领域:,现实世界事物(对象、性质),信息世界实体(对象、属性)概念模型表示,数据世界数据(记录、字段)数据模型表示,概念模型,反映事物联系的实体。,数据模型,描述实体模型的数据。包括实体及实体间联系的,数据结构描述、对数据的操作,以及数据的完整性约束条件。,1.4 数据模型,.,2.,概念模型,是按用户的观点对数据建模,它是对现实世界的第一层抽象,是用户和数据库设计人员之间进行交流的工具。,E-R,模型的基本概念,实体:客观存在的、可以相互区别的事物。,联系:实体集之间关系的抽象表示。,属性:实体或联系所具有的特征。,1.4 数
9、据模型,.,E-R,图,是,E-R,模型的图形表示。,例如:在学校的教学管理系统中存在学生、成绩等实体集。该系统的概念模型表示如下图,1.4 数据模型,.,姓名,学号,学号,课程,学生,成绩,考试,1,m,E-R,实例,1.4 数据模型,.,3.,数据模型的分类,层次模型(采用树型结构),网络模型(采用无向图型结构),关系模型(采用二维表结构),1.4 数据模型,.,数据模型,(,续,),在常见的数据库系统中,根据实体集之间的不同结构,通常把数据模型分为层次模型、网状模型、关系模型和面向对象模型,4,种。,层次模型,网状模型,关系模型,面向对象模型,国内,DBS,普遍采用关系模型,(95%,以
10、上,),课程介绍关系模型,.,.,数据模型,(,续,),层次模型,.,数据模型,(,续,),网状模型,.,数据模型,(,续,),关系模型,主流关系,DBMS,产品简介,.,主流关系,DBMS,产品简介,Oracle,DB2,Sybase,MS-SQL Server,Access,Visual Foxpro,.,1.4 数据模型之关系模型,关系与关系模式:,关系,:以二维表结构来表示实体集及其实体间的联系。一个关系就是一张二维表。,关系模式,:是对关系结构的描述,它包括模式名以及组成该关系的诸属性名。,.,1.4 数据模型,如表1-1是一个关系的实例:,学号,课程代号,成绩,备注,991001,
11、001,89,考试,991002,002,76,考试,991003,003,60,补考,表1-1 关系“成绩,表1-1所示的关系,关系模式可表示为:,成绩(学号,课程代号,成绩,备注),.,基本术语的对照,:,关系模型中的术语来自关系数学,与程序员和用户的习惯说法是相对应的,.,.,基本概念:关键字,超关键字,能唯一确定记录的字段或字段组合,候选关键字:,能唯一确定记录的,最少,字段或字段组合,主关键字:候选关键字中的一个,。,外部关键字,1.4 数据模型,.,外部关键字:,A,表、,B,表有相同的字段,该字段在,A,表中的值唯一,则该字段是,A,表的主关键字,该字段在,B,表中的值有重复,则
12、该字段称为,B,表的外部关键字。,1.4 数据模型,.,关系模型,定义:用二维表表示实体集,通过外部关键字表示实体间联系的数据模型。,组成:,关系模型通过一系列的关系模式来表述数据的结构和属性,一般有三个组成部分:,数据结构、数据操作和完整性规则,。,性质,关系运算,1.4 数据模型,.,关系模型的性质,属性是原子的,不可分解的。,二维表的记录数随数据的增加而改变,但其字段数是相对固定的。,二维表中的每一列均有唯一的字段名,二维表中不允许出现完全相同的两行二维表中行的顺序、列的顺序均可以任意交换,1.4 数据模型,.,关系运算:,传统的集合运算(并、差、交等),专门的关系运算(,选择、投影、联
13、接,),例如,:,从学生登记表,(S),中,选出性别为“男”的学生元组,组成一个新关系“男学生登记表”,1.4 数据模型,.,1.4 数据模型,投影,例如,:,需要了解学生选课情况而不关心其成绩时,可对学生选课成绩表(,SC,)进行相关的投影操作,其结果的每个元组仅包括学号(,SNO,)课程号(,CNO,)两个属性,.,1.4 数据模型,连接,例如,:,学生登记表(,S,)和学生选课成绩表(,SC,)的连接,生成一个信息更全面的关系,.,对于已选课程的学生而言,结果关系包含,S,表原来的信息,并增加了该学生选修课程号(,CNO,)和成绩(,GRADE,)。,.,软件产品,Oracle,DB2,
14、Sybase,MS-SQL Server,Access,Visual FoxPro,1.,7 DBMS,产品,.,启动,Visual FoxPro,Visual,FoxPro,集成开发环境,.,菜单,栏,:,显示所使用的,Visual,FoxPro,命令。,工具栏,主窗口,:,用于显示输出结果。,项目,管理器窗口,:,列出当前,项目,中的,数据和文档、类等。,命令,窗口,:,执行命令操作的系统窗口,。,VFP,概述,.,Visual FoxPro,集成开发环境,.,1.,VFP6.0,的特点,完善了关系型数据库的概念,采用了,Rushmore,技术,,引入了,SQL,命令;支持多种数据交换格式
15、;采用了可视,化的面向对象的程序设计方式;提供了功能完善的集成,环境和丰富的开发工具。,2.,VFP6.0,的特点命令和子句的书写规则,以命令动词开始,各部分之间要用空格隔开,命令、子句、函数名都可简写为前4个字符,大、小写等效。,VFP,概述,.,VFP,概述,一行只能写一条命令,总长度不超过8192个字符,超过屏幕宽度时用续行符“;”,变量名、字段名和文件名应避免与命令动词、关键字或函数名同名,以免运行时发生混乱。,命令格式中的符号约定:,命令中的 、|、符号都不是命令本身的语法成分,使用时不能照原样输入,其中:表示可选项,根据具体情况决定是否选用。,|表示两边的部分只能选用其中的一个.,
16、.,表示可以有任意个类似参数,各参数间用逗号隔开。,表示其中内容要以实际名称或参数代入,3命令工作方式中的常见错误,命令动词写错,格式不符合要求,标点符号不对(一定要用英文标点符号),缺少必需的空格或添加了不该有的空格。,VFP,概述,.,数据类型不一致,要注意字符型、数值型、日期型、逻辑型数据的书写格式。,打不开所需文件:没有正确输入盘符和路径或文件名输错。,4.几个常用命令,“*”和“&”,“?”和“?”,Clear,Dir,VFP,概述,.,基本语法格式:,DIR cPathfileskeleton,MD/RD/CD,COPY FILE/RENAME DELETE FILE,基本语法格式
17、:,COPY FILE FileName1 TO FileName2,RENAME FileName1 TO FileName2,DELETE FILE ,FileName|?RECYCLE,RUN,基本语法格式:,RUN/N MS-DOS Command1|ProgramName,VFP,概述,.,5,VFP,文件类型,扩展名,文件类型,扩展名,文件类型,.,app,生成的应用程序,.,frx,报表,.,exe,可执行程序,.,frt,报表备注,.,pjx,项目,.,lbx,标签,.,pjt,项目备注,.,lbt,标签备注,.,dbc,数据库,.,prg,程序,.,dct,数据库备注,.,f
18、xp,编译后的程序,.,dcx,数据库索引,.,err,编译错误,.,dbf,表,.,mnx,菜单,VFP,概述,.,.,fpt,表备注,.,mnt,菜单备注,.,cdx,复合索引,.,mpr,生成的菜单程序,.,idx,单索引,.,mpx,编译后的菜单程序,.,qpr,生成的查询程序,.,vcx,可视类库,.,qpx,编译后的查询程序,.,vct,可视类库备注,.,scx,表单,.,txt,文本,.,sct,表单备注,.,bak,备份文件,VFP,概述,.,1项目管理器简介,项目:,是一种文件,用于跟踪创建应用系统所需要的所有程序、表单、菜单、库、报表、标签、查询和一些其他类型的文件。,项目
19、文件:,是开发,VFP,应用系统的一个工具,它生成一个项目文件,项目文件的扩展名为.,PJX,,项目备注的扩展名为:.,PJT,项目管理器,.,项目管理器的功能:,组织和管理所有与应用系统有关的各种类型的文件。,数据项(6大类):,全部、数据、文档、类、代码、其他。,2创建项目文件,用菜单方式:,用命令方式:,项目管理器,.,项目管理器,语法:,CREATE PROJECT,功能:打开项目管理器窗口进行应用系统的开发。,3.修改项目文件,用菜单方式:,用命令方式:,语法:,MODIFY PROJECT,功能:打开项目管理器窗口进行应用系统的修改。,.,4项目管理器的操作,添加,删除,修改,移去
20、,连编,包含/排除,设置主文件,重命名,编辑说明和项目信息,项目管理器,.,掌握,数据库系统的基本概念,关系模型的基本内容,ACCESS,表操作,重点和难点,数据库原理,E-R,图,关系运算,.,实验,实验,1.1,和1.2:,VFP,的基本操作,(,实验指导书,),作业,教材上,本章后面练习题,.,课堂练习,二级考试样题,1、下列不属于关系代数运算的是,。,A.,查询,B.,投影,C.,选择,D.,联接,2、实体是信息世界的术语,与之对应的数据库术语是,。,A.,文件,B.,数据库,C.,记录,D.,字段,3、关系模型中,超关键字,。,A.,可由多个任意属性组成,B.,能由一个属性组成,其值
21、能唯一标识该关系模式中任 何一个元组,C,可由一个或多个属性组成,其值能唯一标识该关系模式中任何一个元组,D.,以上都不是,.,课堂练习,二级考试样题,4、在关系模型中,同一个关系中的不同属性,其属性名是,A.,可以相同,B.,不能相同,C.,可以相同,但数据类型不同,D.,必须相同,5、数据库系统由数据库、组成。,A.DBMS、,应用程序、支持数据库运行的软、硬件环境和,DBA,B.DBMS,和,DBA C.DBMS、,应用程序和,DBA,D.DBMS、,应用程序、支持数据库运行的软件环境和,DBA,6、对关系,S,和关系,R,进行集合运算,结果中既包含,S,中元组也包含,R,中元组,这种集
22、合运算称为,A.,并运算,B.,交运算,C.,差运算,D.,积运算,.,课堂练习,二级考试样题,7、数据库要求有最小的,,是指数据尽可能不重复。数据,库的,,是指数据库以最优的方式服务于一个或多个应用,程序;数据库的,,是指数据的存储尽可能独立于使用它,的应用程序。,8、二维表中能唯一确定记录的一列或多列的组合称为,。,若一个超关键字去掉其中任何一个列后不再能唯一确定记录,则,称其为,。,9、关系的基本运算有两类。一是传统的集合计算,包括并、差、,交运算;二是专门的关系运算,包括:选择、,和联结。,冗余度,共享性,独立性,超关键字,侯选关键字,投影,.,表结构(,Table),表的概念,数据表
23、即一张二维表,简称表,(Table),表中的一列为字段,(Field),表中的一行为记录,(Record),建表的步骤:,1,)设计表结构,2,)新建表的结构,3,)保存表文件,4,)输入记录,.,设计表结构,1,确定表的文件名,2,确定表的字段名及字段类型,3,确定字段的宽度及数值型字段的小数位,4,确定表的主键,.,表结构的组成每个字段有六个要素:字段名,(FIELD_NAME):,栏名字段类型,(FIELD_TYPE),:栏内数据类型字段宽度,(FIELD_LEN),:栏内数据的宽度字段小数位,(FIELD_DEC),:数值数据的小数位数字段索引:是否索引,是升还的降序字段是否允许为空,
24、(FIELD_NUL),:是否允许为不确定的值,.,查询,设计查询的一般过程,1,分析题目要求的输出字段,确定查询数据源有哪些表,2,确定题目是否有分组要求,确定分组字段,3,打开查询设计器,按步骤设计查询,添加数据源表,添加输出字段,分组字段,筛选条件,排序,4,运行查询查看运行结果,5,保存查询文件,.,查询示例-单表查询,以实验,17,中 学生成绩,.mdb,为素材,例,1,查询所有男生的学号和姓名,按姓名升序排序,保存为,ex1,例,2,查询所有计算机系或应用数学系的学生学号和姓名,系别,保存为,ex2,例,3,根据,S,表,查询所有,1982-12-31,以后出生的男学生记录,要求输
25、出全部字段,查询保存为保存为,ex3,.,查询示例-多表查询,以实验,17,中 学生成绩,.mdb,为素材,例,4,查询成绩在,85,分及以上的学生学号姓名按学号升序排序,例,5,查询学生的各课程成绩,要求输出学号,姓名,课程名,成绩,例,6,查询选修了数据库课程的学生学号和姓名,课程名,成绩,.,查询示例-汇总查询,例,7,查询统计每个系的学生人数,输出系名,人数,例,8,查询统计学生表中的男生人数、女生人数,输出性别,人数,例,9,查询各系科男生人数、女生人数,输出系别、性别及人数,例,10,查询统计每个学生选课门数、总分及均分,输出学号,姓名,门数,总分,均分,例,11,根据,C,和,S
26、C,表,查询各课程平均分,要求输出,CNO,、,CNAME,、平均分,并按,CNO,升序排序,查询保存为“,Q2”,.,查询示例-汇总查询,以,09,秋上机考试素材,test.mdb,为素材,例,12,基于,院系,、,学生,、,成绩,表,查询各院系学生成绩的均分,要求输出院系代码、院系名称、成绩均分,查询保存为,CX2“,例,13,基于,院系,、,学生,、,成绩,表,查询各院系男女学生成绩合格(,成绩,大于等于,60,分且,选择,得分大于等于,24,分)的人数,要求输出院系名称、性别、人数,查询保存为,CX2,.,查询总结,1,查询的概念,查询与表一样,也可用来保存文件。查询文件实际上是一个小
27、程序。查询程序在表中查找出符合条件的数据后,生成包含这些数据的临时文件。用户可查看结果,但由于它们只是实际表中数据的备份,因而不能在“浏览”窗口中对这些记录进行编辑。,.,2,查询的建立,建立查询文件可用三种方法:用查询设计器建立查询、用“查询向导”建立查询和利用,SQL,语句建立查询。,3,查询设计中注意的问题,(,1,)条件表达式的书写,如,SC.GRADE=85,S.BDATE#1982-12-31#C.CNAME=“,数据库”,(,2,)输入的运算符、标点都是英文状态下的符号,.,关系数据库语言SQL简介,SQL概述,SQL数据查询功能,SQL数据定义功能,SQL数据操作功能,.,一,
28、SQL,概述,1,、,SQL,是结构化查询语言,(Structured Query Language,的缩写,),2,、特点:,是一种一体化语言,是一种高度非过程化语言,非常简洁,可以以命令方式交互使用(也可以作为程序代码),3,、,SQL,的功能,:,数据查询,数据定义,数据操纵,数据控制,.,二,SQL,查询功能,1,、命令格式,SELECT,目标字段名表,FROM,表名,关联语句,WHERE,筛选条件,ORDER BY,排序依据,GROUP BY,分组依据,HAVING,分组限制条件,INTO/TO,查询去向;,“字段”:指定查询所要的数据(可以输入或编辑计算表达式,),。,“联接”连线
29、,:,用于编辑联接条件。,“条件”:用于指定查询条件。,“排序”:用于指定排序的字段和排序方式。,“总计”:用于分组条件。,“查询去向”:用于指定查询去向,“总计”:用于组内记录相关字段的统计,计算。,.,SQL,查询功能,SELECT,语句的执行过程为:,根据,WHERE,子句的连接和检索条件,从,FROM,子句指定的基本表或视图中选取满足条件的元组,再按照,SELECT,子句中指定的列表达式,选出元组中的属性值形成结果表。如果有,GROUP,子句,则将查询结果按照指定,相同的值进行分组,,SELECT,中的函数计算的是每组中的记录的列的 和、最大、最小、平均等;如果,GROUP,子句后有,
30、HAVING,短语,则只输出满足,HAVING,条件的元组;如果有,ORDER,子句,查询结果还要按照指定,的值进行排序。,.,2,、目标字段名表选项,所需字段,*表示所有字段,表名,.,字段名,AS,标题,表名,.,字段名,AS,标题,函数,(,字段名,),支持函数为,:count,sum,avg,max,min,(称为计算查询),指定字段或要计算的结果,COUNT,(*):计算表中记录的个数;,SUM,、,AVG,:求某一列值的总和和平均值(此列必须是数值型),MAX,、,MIN,:求某一列值的最大值、最小值(可以为字符型、数值、日期),.,联接及其类别,联接是关系的横向结合。,关系联接的
31、类别,等值联接,:,按字段值对应相等为条件进行的联接,自然联接,:,去掉重复字段的等值联接,超联接,:,保证一个表中满足条件的记录在结果中,然后与另一表进行联接,.,3,、联接查询,.,自然联接,例,:,求考试合格的学生名单,Select s.sno,s.sname,sc.grade,from s,sc,where s.sno=sc.sno and sc.grade=60,;,.,超联接,例,:,求考试合格的学生名单,Select s.sno,s.sname,sc.grade,from s inner join sc,on s.sno=sc.sno,where sc.grade=60;,.,三
32、,SQL,的数据定义功能,表结构的定义,表结构的修改,表的删除,视图的定义,(表结构的操作),定义功能包括内容,1.,表结构定义:,CREATE TABLE,表名(字段名 类型,(,宽度,小数位,),,字段名 类型,(,宽度,小数位,),),2.,视图的定义:,CREATE VIEW 视图名 字段名清单 AS 查询语句,.,一、操作功能包括的内容,表记录的追加,表记录的删除,表记录的修改,(表记录的操作),四,SQL,数据操作功能,二、操作功能命令格式,表记录的追加,(,插入,),:,INSERT INTO,表名,字段名,1,字段名,2,;,VALUES,(表达式,1,表达式,2,),表记录的删除,:DELETE FROM,数据库名!,表名,WHERE,条件,表记录的修改,(,更新,):,UPDATE ,数据库名!,表名,1,;,SET,字段名,1=,表达式,1,字段名,2=,表达式,2,WHERE,过滤条件,.,