1第六章数据库基础26.1数据库技术概述•1.数据库(DataBase,DB)数据库是长期保存在计算机外存上的、有结构的、可共享的数据集合。•2.数据库管理系统(DataBaseManagementSystem,DBMS)数据库管理系统是指数据库系统中对数据库进行管理的软件系统。它是数据库系统的核心组成部分,数据库的一切操作,如查询、更新、插入、删除以及各种控制,都是通过数据库管理系统进行的。3•3.数据库系统(DataBaseSystem,DBS)数据库系统是指拥有数据库技术的计算机系统。数据库系统不仅包括数据库本身,即实际存储在计算机中的数据,还包括相应的硬件、软件和各类人员。数据库系统一般由数据库、数据库管理系统、应用系统、数据库管理员(DataBaseAdministrator,DBA)和用户构成。4•4.数据库管理系统功能(1)数据定义功能:提供数据定义语言(DataDefinitionLanguage,DDL),用户通过它可以方便地定义数据库的结构、数据完整性和其他约束条件。(2)数据操纵功能:提供数据操纵语言(DataManipulationLanguage,DML),用户通过它可以实现对数据库中的数据进行增删改和查询等基本操作。5•4.数据库管理系统功能(3)数据库运行控制功能:实现数据的安全控制、完整性检查和多用户环境下的并发访问控制。(4)数据库维护功能:提供对数据的装载、转储、恢复以及数据库的性能分析和监测。(5)数据字典:用于存放数据库各级模式结构的描述。6数据管理技术的发展随着计算机硬件和软件技术发展,数据管理技术经历了人工管理、文件系统管理和数据库系统三个阶段。1.人工管理阶段这一阶段主要指20世纪50年代中期以前。这一阶段数据管理的主要特点是:(1)数据不保存,程序开始时输入数据,结束时输出数据;(2)数据与程序不可分割,没有专门的软件进行数据管理;(3)各程序所使用的数据彼此独立,数据之间没有联系,程序和程序之间存在大量的数据冗余。72.文件管理阶段这一阶段是20世纪50年代后期到60年代中期。这一阶段数据管理的主要特点是:(1)程序和数据有了一定的独立性,数据以文件的形式长期保存在外存储器上;(2)数据文件的存取由操作系统通过文件名来实现;(3)一个应用程序可以使用多个数据文件,而一个数据文件也可以被多个应用程序所使用,实现了数据的共享;(4)数据文件之间彼此缺乏联系,存在数据的重复存储,当数据进行更新时极有可能造成数据的不一致性。83.数据库管理阶段这一阶段开始于20世纪60年代后期。这一阶段数据管理的主要特点是:(1)程序和数据之间彼此独立,数据不再面向某个特定的应用程序,而是面向整个系统,实现了数据的共享,并且避免了数据的不一致性;(2)数据以数据库的形式保存,在数据库中,数据按一定的模型进行组织,可以最大限度地减少数据的冗余;(3)对数据库进行建立、管理有了专门的软件,即数据库管理系统。94.数据库发展近几年,随着数据库技术的不断发展和应用领域的拓展出现了一些新型的数据库系统:(1)分布式数据库分布式数据库是一种数据在多个不同地理位置存储的数据库。(2)面向对象数据库面向对象数据库系统是面向对象技术与数据库技术进行有机结合而形成的新型数据库系统(3)多媒体数据库(4)空间数据库10•数据结构化且统一管理。数据库管理系统既管理数据的物理结构,也管理数据的逻辑结构。•数据具有最低的冗余度。数据库系统是从整体上看待和描述数据的,数据不仅面向某个应用而且面向整体应用,从而大大减少了数据冗余,节省了存储空间,避免了数据之间的不一致性。11•数据具有较高独立性。数据独立性是指用户应用程序与存储在外存上数据库中数据的相互独立性。数据独立性有物理独立性和逻辑独立性。•数据的共享性好。•数据控制功能强。数据库系统提供了并发控制、恢复、数据安全性和数据完整性四个方面的控制功能。•与手工操作和文件系统相比,数据库系统可以实现快速而准确的查询。12数据模型数据模型是数据库中数据的存储方式,是数据库系统的核心和基础。•层次模型。其特征是:(1)有且仅有一个结点,没有父结点,它就是根结点;(2)除了根节点,其它结点有且仅有一个父结点。•网状模型。其特征是:(1)允许结点有多于一个的父结点;(2)可以有一个以上的结点没有父结点。•关系模型。关系模型是用二维表格结构来表示实体以及实体之间联系的数据模型。136.2关系数据库关系数据库采用关系模型作为数据的组织方式,建立在严格的数学理论基础上。1.基本概念(1)关系:一个关系就是一张二维表,每个关系有一个关系名。(2)关系模式:是对关系的描述,它包括关系名、组成该关系的属性名、属性到域的映像。一般形式为:关系名(属性名1,属性名2,…,属性名n)。14(3)记录:二维表中水平方向的行,又称元组。(4)属性:二维表中垂直方向的列。(5)域:一个属性的取值范围。(6)分量:记录中的一个属性值,又称数据项。(7)关键字:如果二维表中的某个属性(组)可以惟一地标识一条记录,则称该属性(组)为关键字。(8)主键:一个表中可能存在多个关键字,但在实际应用中只能选择一个,被选用的关键字为主键。152.关系运算(1)选择(Selection)操作:是指在关系中选择满足某些条件的记录(元组)。(2)投影(Projection)操作:是在关系中选择若干属性列组成新的关系。(3)连接(Join)操作:是将不同的两个关系连接成为一个关系。16结构化查询语言SQLSQL(StructuredQueryLanguage,结构化查询语言)是由美国加利福尼亚SanJose的IBM实验室于70年代后期开发出来的。SQL是一种非过程语言,也称为第四代语言(4GL)。SQL语言简洁,为完成其核心功能只用了六个动词:SELECT、CREATE、INSERT、UPDATE、DELETE、GRANT(REVOKE)。17结构化查询语言SQLSQL可以用于控制DBMS提供给用户的所有功能,包括数据定义、数据操纵、数据控制。1.SQL的数据定义功能:定义基本表,定义视图和定义索引。2.SQL的数据操纵功能:检索和更新(包括增、删、改)两部分功能。3.SQL的数据控制功能:控制用户对数据的存储权力,由SQL语句GRANT和REVOKE来完成。186.4Access2000•提供了便捷的可视化操作工具和向导。•与Word、Excel等办公软件进行数据交换与共享。提供了许多宏操作。•提供了大量的函数,如数字函数、财务函数、日期和时间函数等。•提供了程序设计语言VBA(VisualBasicforApplications)。•增强了在因特网上进行数据交换的功能,增加了使用Web信息发布向导和用HTML格式导出对象的功能,能够更方便地在不同平台之间进行数据转换。19Access2000启动与退出•Access2000的启动:利用“开始”菜单、通过快捷方式、关联启动等。•退出Access2000:菜单中的“文件|退出”命令、控制菜单按钮、Alt+F4、标题栏右侧的“关闭”按钮等。20Access2000数据库对象•表对象(table):是数据库的核心,是整个数据库系统的基础。•查询对象(query):按照一定的条件或准则从一个或多个表(或查询)中选择数据,形成一个新的动态数据集。•窗体对象(form):窗体是一种主要用于在数据库中输入和显示数据的数据库对象,是数据库与用户进行交互操作的最好界面。21Access2000数据库对象•报表对象(report):将数据库中需要的数据提取出来进行分析、整理和计算,并以格式化的方式进行打印或显示。•数据访问页对象:页就是Web页,通过Web页可以将文件作为Web发布程序存储到指定文件夹,或复制到Web服务器上,以便在网上发布信息。•宏对象:宏是由一系列命令组成,每个宏都有宏名,宏的基本操作有编辑宏和运行宏。在Access2000中,宏对象是一个或多个宏操作的集合,其中的每一个宏操作都能实现特定的功能。•模块对象:模块是利用VBA语言编写的程序。Access有两种类型的模块:类模块和标准模块22数据库设计方法•确定创建数据库所要完成的目的。•确定创建数据库中所需要的表。•确定表中所需要的字段。•明确有惟一值的主关键字段。•确定表之间的关系。•优化设计。•输入数据并创建其他数据库对象。23创建数据库创建空白数据库和利用数据库向导创建数据库。直接创建空白数据库可以完全按照自己的要求来建立数据库,而使用Access2000为用户提供的数据库向导建立数据库,则更为简单、方便一些。24打开和关闭数据库1.打开数据库需要注意的是,在任何时刻,Access2000只能打开一个数据库。如果要打开另一个数据库,需要首先关闭目前已经打开的数据库。2.关闭数据库用户完成了对数据库全部操作并且不再需要使用它时,应将其关闭。需要注意的是,关闭数据库与前面的退出Access2000是不同的。25数据库转换•在Access2000中打开或转换旧版本的数据库•将Access2000数据库转换为Access97格式26创建表1.三种创建表方法(1)利用表向导创建表(2)通过输入数据直接创建表(3)使用表设计器创建表2.字段的数据类型Access2000中表结构是由若干字段及其属性构成,设计表结构即确定表中各字段的名称、类型、属性等。在Access2000中,字段的数据类型共有以下10种:文本型、数字型、备注型、日期和时间、货币、自动编号、逻辑型、OLE对象、超链接、查阅向导。27创建表3.字段的属性字段的属性用来限制字段的取值范围、存储特性以及显示方式。常用字段属性有:字段大小、格式、小数位数、标题、有效性规则、有效性文本、掩码、默认值、索引、输入法模式。4.设置主键字段在Access2000中可以定义3种主键:自动编号、单字段(无重复或空值)和多字段。28创建表5.设置索引索引可以帮助用户快速查找所需的数据,并能够提高查找和排序记录的速度。在Access2000中,允许用户基于单个字段或多个字段创建记录的索引。29建立表间关系1.关系的类型关系数据库可以同时拥有多个表,多个表之间通常具有一些联系,这种联系被称作为“关系”,它表示在两个表的公共字段(列)之间所建立的联系。在Access2000数据库中,关系的主要类型有三种:(1)一对一关系(2)一对多关系(3)多对多关系30建立表间关系2.定义表间的关系为了建立表之间关系,必须在两个表中拥有相同数据类型的字段。需要注意的是,在Access2000中不允许在已打开的表之间创建或修改关系,所以要创建表之间关系需要关闭所有已打开的表。如果要删除关系,可在“关系”窗口中单击需要删除的关系线使其变粗,然后选择“编辑”菜单中的“删除”命令或者按Delde键即可。31记录的基本操作•添加记录、编辑记录和删除记录•记录定位•查找与替换•记录排序•记录筛选:在Access2000中,可以通过多种方式进行数据记录的筛选,如按选定内容筛选、内容排除筛选、按窗体筛选以及高级筛选等。32查询概念1.选择查询:从一个或多个表中查询数据。2.参数查询:参数查询是在执行某个查询时能够显示对话框来提示用户输入查询准则,系统以该准则作为查询条件。3.交叉表查询:利用表格的行标题和列标题以及交叉点信息来显示来自多个表的数据,显示来源于表中的某个字段的总计值(如合计、计数及平均等),并将它们分组,一组列在数据表的左侧,另一组列在数据表的上方。4.操作查询:查询结果将对其数据源产生影响或更改表中的原始记录。操作查询分为生成表查询、追加查询、删除查询和更新查询四类。33查询的视图方式1.设计视图:用来建立查询。设计视图由“表/查询显示窗口”、“窗口分隔条”以及“示例查询设计(QBE)窗口”三部分组成,包含了创建查询所需要的各个组件。2.数据表视图:用于显示查询的结果。在数据表视图中,用户可以编辑、添加、删除字段或查找数据。3.SQL视图:SQL视图是一个用于显示当前查询的SQL语句窗口,用户也可以使