《ACCESS数据库基础课件》由会员分享,可在线阅读,更多相关《ACCESS数据库基础课件(64页珍藏版)》请在金锄头文库上搜索。
1、数据库应用技术教程ACCESSACCESS关系数据库关系数据库ACCESS数据库基础目录目录 数据库技术概论数据库技术概论第第1 1章章 创建数据库和表创建数据库和表第第2 2章章 查询查询第第3 3章章 窗体设计窗体设计第第4 4章章 报表报表 第第5 5章章 宏宏第第6 6章章目录目录 数据访问页数据访问页 第第7 7章章 VBAVBA程序设计程序设计第第8 8章章 VBAVBA数据库编程技术数据库编程技术第第9 9章章 菜单与工具栏菜单与工具栏第第1010章章 数据安全数据安全 第第1111章章 WebWeb数据库技术数据库技术第第1212章章第第1 1章章 数据库技术概论数据库技术概论
2、1.1 1.1 数据库与数据库管理系统数据库与数据库管理系统1.2 1.2 关系模型与关系数据库关系模型与关系数据库1.3 1.3 数据库应用系统设计数据库应用系统设计1.4 Microsoft Access1.4 Microsoft Access系统概述系统概述1.1.1 1.1.1 我们身边的数据库应用我们身边的数据库应用v1.1.在超级市场购物在超级市场购物v2.2.用信用卡消费用信用卡消费v3.3.使用图书馆系统使用图书馆系统v4.4.学籍及成绩管理学籍及成绩管理v5.5.基于基于WWWWWW的的WebWeb数据库系统数据库系统用户用户用户用户用户用户应用开发工具应用开发工具DBMS操
3、作系统操作系统应用系统应用系统数据库管理员数据库管理员DB1.1.2 1.1.2 数据库系统的组成数据库系统的组成1.1.2 1.1.2 数据库系统的组成数据库系统的组成v数据库系统(数据库系统(DBS:Data Base SystemDBS:Data Base System)是一个整体)是一个整体的概念,是一个提供数据存储、查询、管理和应用的概念,是一个提供数据存储、查询、管理和应用的软件系统。的软件系统。1.1.2 1.1.2 数据库系统的组成数据库系统的组成v1.1.数据库数据库数据库不仅存放了数据,而且还存放了数据与数据库不仅存放了数据,而且还存放了数据与数据之间的关系。一个数据库系统
4、中通常有多数据之间的关系。一个数据库系统中通常有多个数据库,每个库由若干张表(个数据库,每个库由若干张表(TableTable)组成。)组成。每个表具有预先定义好的结构,它们包含的是每个表具有预先定义好的结构,它们包含的是适合于该结构的数据。表由记录组成,在数据适合于该结构的数据。表由记录组成,在数据库的物理组织中,表以文件形式存储。库的物理组织中,表以文件形式存储。v2.2.数据库管理系统数据库管理系统数据库管理系统(数据库管理系统(Database Management SystemDatabase Management System,DBMSDBMS)是用于描述、管理和维护数据库的软件系
5、统,是)是用于描述、管理和维护数据库的软件系统,是数据库系统的核心组成部分。数据库系统的核心组成部分。对数据库的一切操作都是在对数据库的一切操作都是在DBMSDBMS控制下进行的。无论是控制下进行的。无论是数据库管理员或终端用户,都不能直接对数据库进行访数据库管理员或终端用户,都不能直接对数据库进行访问或操作,而必须利用问或操作,而必须利用DBMSDBMS提供的操作语言来使用或维提供的操作语言来使用或维护数据库中的数据。护数据库中的数据。功能可以概括为下列三个方面:功能可以概括为下列三个方面:(1)(1)描述数据库。描述数据库。(2)(2)管理数据库。管理数据库。(3)(3)维护数据库。维护数
6、据库。1.1.2 1.1.2 数据库系统的组成数据库系统的组成1.1.2 1.1.2 数据库系统的组成数据库系统的组成v3.3.数据库应用系统数据库应用系统数据库应用系统是程序员根据用户需要在数据库应用系统是程序员根据用户需要在DBMSDBMS支持下运行的一类计算机应用系统。支持下运行的一类计算机应用系统。v4.4.数据库用户数据库用户数据库系统中有多种用户,他们分别扮演不同数据库系统中有多种用户,他们分别扮演不同的角色,承担不同的任务。的角色,承担不同的任务。1.1.3 1.1.3 数据库系统的特点数据库系统的特点v1.1.可实现数据共享可实现数据共享v2.2.可减少数据冗余可减少数据冗余
7、数据冗余是指数据之间的重复,或者说是同一数据冗余是指数据之间的重复,或者说是同一数据存储在不同数据文件中的现象。冗余数据数据存储在不同数据文件中的现象。冗余数据和冗余联系容易破坏数据的完整性,给数据库和冗余联系容易破坏数据的完整性,给数据库维护增加困难。维护增加困难。v3.3.可实施标准化可实施标准化v4.4.可保证数据安全可保证数据安全v5.5.可保证数据的完整性可保证数据的完整性1.1.4 1.1.4 数据库系统三级模式结构数据库系统三级模式结构v1.1.外模式外模式v2.2.概念模式概念模式v3.3.内模式内模式SQL视图视图1 1视图视图2 2基本表基本表1 1存储文件存储文件1 1存
8、储文件存储文件2 2基本表基本表2 2基本表基本表3 3基本表基本表4 41.1.4 1.1.4 数据库系统三级模式结构数据库系统三级模式结构数据库系统的三级模式是对数据的三个抽象级别,它把数数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给据的具体组织留给DBMSDBMS管理,使用户能逻辑地抽象地处理管理,使用户能逻辑地抽象地处理数据,从而实现了数据的独立性,即当数据的结构和存储数据,从而实现了数据的独立性,即当数据的结构和存储方式发生变化时,应用程序不受影响。方式发生变化时,应用程序不受影响。1.2.1 1.2.1 由现实世界到数据世界由现实世界到数据世界v1.1.现实世界
9、现实世界现实世界就是人们通常所指的客观世界,事物现实世界就是人们通常所指的客观世界,事物及其联系就处在这个世界中。及其联系就处在这个世界中。v2.2.概念世界概念世界概念世界又称信息世界,是指现实世界的客观概念世界又称信息世界,是指现实世界的客观事物经人们的综合分析后,在头脑中形成的印事物经人们的综合分析后,在头脑中形成的印象与概念。象与概念。1.2.1 1.2.1 由现实世界到数据世界由现实世界到数据世界v3.3.数据世界数据世界数据世界又称机器世界。因为一切信息最终是数据世界又称机器世界。因为一切信息最终是由计算机进行处理的,进入计算机的信息必须由计算机进行处理的,进入计算机的信息必须是数
10、字化的。是数字化的。 现实世界现实世界信息世界信息世界数据世界数据世界抽象化抽象化数据化数据化概念模型(概念模型(ERER模型)模型)DBMSDBMS能够支持的数据模型能够支持的数据模型1.2.2 1.2.2 概念模型的表示方法:概念模型的表示方法:E-RE-R图图v构成构成E-RE-R图的基本要素图的基本要素v1.1.实体实体(Entity)(Entity)v2.2.属性属性(Attribute)(Attribute)v3.3.域域(Domain)(Domain)v4.4.实体集(实体集(Entity SetEntity Set)v5.5.联系联系(Relationship)(Relatio
11、nship)1.2.2 1.2.2 概念模型的表示方法:概念模型的表示方法:E-RE-R图图v两个不同实体集之间的联系有三种类型:两个不同实体集之间的联系有三种类型:一对一联系(一对一联系(1 1:1 1)一对多联系(一对多联系(1 1:n n)多对多联系(多对多联系(m m:n n)班长班长组织组织班级班级1 11 11:11:1联系联系学生学生选修选修课程课程m mn nm:nm:n联系联系班级班级属于属于学生学生1 1n n1:n1:n联系联系姓名姓名班号班号成绩成绩学校学校校长校长聘任聘任任期任期校址校址校名校名占地面积占地面积职称职称年龄年龄办公室电话办公室电话姓名姓名11学校与校长
12、联系的学校与校长联系的E-RE-R图图学生学生学号学号学分学分成绩成绩性别性别年龄年龄姓名姓名课程号课程号课程名课程名课程课程选修选修学生与课程联系的学生与课程联系的ERER图图 MN1.2.2 1.2.2 概念模型的表示方法:概念模型的表示方法:E-RE-R图图1.2.3 1.2.3 数据库模型数据库模型v数据库模型(数据库模型(database modeldatabase model)是数据库系统中用)是数据库系统中用于提供信息表示和操作手段的形式构架。于提供信息表示和操作手段的形式构架。v常用的数据库的概念模型有以下几种类型:常用的数据库的概念模型有以下几种类型:(1)(1)层次模型层次
13、模型最早出现的数据模型。最早出现的数据模型。(2)(2)网状模型网状模型用有向图结构来组织数据。用有向图结构来组织数据。(3)(3)关系模型关系模型用二维表表示实体集、用主键标识实用二维表表示实体集、用主键标识实体、用外键表示实体间联系。体、用外键表示实体间联系。(4)(4)面向对象数据模型面向对象数据模型包括以下几个方面:对象、包括以下几个方面:对象、类、类层次、继承等,面向对象数据库是面向对象技术类、类层次、继承等,面向对象数据库是面向对象技术与数据库技术相结合的产物,以满足一些新的应用需要。与数据库技术相结合的产物,以满足一些新的应用需要。层层 次次 模模 型型v树型结构表示实体之间联系
14、的模型;树型结构表示实体之间联系的模型;v满足两个条件:满足两个条件:有且只有一个结点没有双亲结点,这个结点称有且只有一个结点没有双亲结点,这个结点称为根为根结点根以外的其它结点有且只有一个双亲结点结点根以外的其它结点有且只有一个双亲结点学生学生系编号系编号系名系名 办公地点办公地点教研室教研室教研室编号教研室编号姓名姓名学号学号成绩成绩职工号职工号姓名姓名 研究方向研究方向系系教员教员教研室教研室层层 次次 模模 型型网网 状状 模模 型型满足下面两个条件:满足下面两个条件:允许一个以上的结点无双亲;允许一个以上的结点无双亲;一个结点可以有多于一个的双亲一个结点可以有多于一个的双亲。卫生厅卫
15、生厅教育厅教育厅医科大学医科大学工科大学工科大学机械系机械系建筑系建筑系R1R2R3L1L2R1R2R3R5R4L1L2L5L4L3网网 状状 模模 型型关关 系系 模模 型型关系模型是目前使用最广的数据模型。关系模型是目前使用最广的数据模型。SQL ServerSQL Server、OracleOracle、AccessAccess、FoxProFoxPro等。等。关系模型具有特别强的数据表示能力,可表示关系模型具有特别强的数据表示能力,可表示一对一、一对多和多对多的联系。一对一、一对多和多对多的联系。在关系模型中,用一个二维表格来描述实体及在关系模型中,用一个二维表格来描述实体及其之间的联
16、系。其之间的联系。1.2.4 1.2.4 关系模型的基本概念及性质关系模型的基本概念及性质v1.1.关系模型的基本概念关系模型的基本概念关系关系:表,由行和列组成。:表,由行和列组成。关系名关系名:表名。:表名。元组元组:表中的每一行,对应一个实体。:表中的每一行,对应一个实体。属性属性:表中的每一列。:表中的每一列。值域值域:属性的取值范围。:属性的取值范围。主键主键:又称:又称主码主码,能唯一地定义一个元组,表中的某个,能唯一地定义一个元组,表中的某个属性或某几个属性的组合作为主键。属性或某几个属性的组合作为主键。外键外键:为了实现表与表之间的联系,通常将一个表的主:为了实现表与表之间的联
17、系,通常将一个表的主键作为数据之间联系的纽带放到另一个表中,这个起联键作为数据之间联系的纽带放到另一个表中,这个起联系作用的属性称为外键。系作用的属性称为外键。021985-8-8女女吴玲吴玲01007031984-6-21男男周明周明01006021984-10-5女女陈静陈静01005011983-10-1男男黄伟黄伟01004031986-2-13男男赵力赵力01003011984-7-13女女李英李英01002011985-6-1男男王强王强01001专业号专业号出生年月出生年月性别性别姓名姓名学号学号学生学生关系名关系名属性属性和属和属性名性名(字(字段)段)元元组组主键主键外键外键
18、1986电子电子021989金融金融031985计算机计算机01创建时间创建时间专业名专业名专业号专业号专业专业1.2.4 1.2.4 关系模型的基本概念及性质关系模型的基本概念及性质1.2.4 1.2.4 关系模型的基本概念及性质关系模型的基本概念及性质v2.2.关系模型的性质关系模型的性质(1)(1)每个属性值不可分解。每个属性值不可分解。(2)(2)不允许存在两个完全相同的元组。不允许存在两个完全相同的元组。(3)(3)关系中各列的属性值取自同一个域。关系中各列的属性值取自同一个域。(4)(4)元组的顺序无关紧要。元组的顺序无关紧要。(5)(5)列的次序可以任意交换。列的次序可以任意交换
19、。1.2.4 1.2.4 关系模型的基本概念及性质关系模型的基本概念及性质v3.3.关系模型支持的三种基本运算关系模型支持的三种基本运算(1)(1)选择(选择(SelectionSelection)(2)(2)投影(投影(ProjectionProjection)(3)(3)连接(连接(JoinJoin)电子电子1985-8-8女女吴玲吴玲01007金融金融1984-6-21男男周明周明01006电子电子1984-10-5女女陈静陈静01005计算机计算机1983-10-1男男黄伟黄伟01004金融金融1986-2-13男男赵力赵力01003计算机计算机1984-7-13女女李英李英01002
20、计算机计算机1985-6-1男男王强王强01001专业专业出生年月出生年月性别性别姓名姓名学号学号学生学生从学生表中筛选出从学生表中筛选出“计算机计算机”专业的记录,可用专业的记录,可用SQLSQL语语句表示为:句表示为: SELECT * FROM SELECT * FROM 学生学生 WHERE WHERE 专业专业= = 计算机计算机 电子电子1985-8-8女女吴玲吴玲01007金融金融1984-6-21男男周明周明01006电子电子1984-10-5女女陈静陈静01005计算机计算机1983-10-1男男黄伟黄伟01004金融金融1986-2-13男男赵力赵力01003计算机计算机1
21、984-7-13女女李英李英01002计算机计算机1985-6-1男男王强王强01001专业专业出生年月出生年月性别性别姓名姓名学号学号学生学生从学生表中筛选出所需的列(学号、姓名、专业),可从学生表中筛选出所需的列(学号、姓名、专业),可用用SQLSQL语句表示为:语句表示为: SELECT SELECT 学号,姓名,专业学号,姓名,专业 FROM FROM 学生学生从表中筛选出从表中筛选出“课程号课程号”为为C01C01的列(姓名、课程号、成绩),的列(姓名、课程号、成绩),可用可用SQLSQL语句表示为:语句表示为: SELECT SELECT 姓名,课程号,成绩姓名,课程号,成绩 FR
22、OM FROM 学生,成绩学生,成绩 WHERE WHERE 学生学生. .学号学号= =成绩成绩. .学号学号 AND AND 课程号课程号= C01= C01学号学号姓名姓名专业专业9900199001果果果果金融金融9900299002毛毛毛毛电子电子9900399003妞妞妞妞电子电子9900499004贝贝贝贝计算机计算机学号学号课程号课程号成绩成绩9900199001C01C0195959900199001C03C0387879900299002C01C0167679900399003C01C0190909900399003C02C0254549900399003C04C04777
23、79900499004C02C028585学生表学生表成绩表成绩表1.2.5 1.2.5 关系完整性关系完整性v1.1.实体完整性(实体完整性(Entity IntegrityEntity Integrity)实体完整性是针对基本关系的,一个基本表通实体完整性是针对基本关系的,一个基本表通常对应于现实世界中的一个实体集。常对应于现实世界中的一个实体集。v2.2.参照完整性(参照完整性(Referential IntegrityReferential Integrity)参照完整性实质上反映了参照完整性实质上反映了“主键主键”属性与属性与“外外键键”属性之间的引用规则。属性之间的引用规则。v3.
24、3.用户定义完整性(用户定义完整性(User-defined IntegrityUser-defined Integrity)实体完整性和参照完整性是任何关系数据库系实体完整性和参照完整性是任何关系数据库系统都必须支持的。除此之外,不同的关系数据统都必须支持的。除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一库系统根据其应用环境的不同,往往还需要一些特殊的约束条件,用户定义的完整性就是针些特殊的约束条件,用户定义的完整性就是针对某一具体关系的数据库的约束条件。对某一具体关系的数据库的约束条件。1.3.1 1.3.1 关系数据库设计概述关系数据库设计概述v数据库应用系统的设计是指
25、创建一个性能良好、能数据库应用系统的设计是指创建一个性能良好、能满足不同用户使用要求的、又能被选定的满足不同用户使用要求的、又能被选定的DBMSDBMS所接所接受的数据库以及基于该数据库上的应用程序。受的数据库以及基于该数据库上的应用程序。v关系数据库的设计过程可按以下步骤进行:关系数据库的设计过程可按以下步骤进行:(1)(1)数据库系统需求分析;数据库系统需求分析;(2)(2)概念数据库设计;概念数据库设计;(3)(3)逻辑数据库设计;逻辑数据库设计;(4)(4)关系的规范化;关系的规范化;(5)(5)数据库的创建与维护。数据库的创建与维护。1.3.2 1.3.2 数据库系统需求分析数据库系
26、统需求分析v系统需要分析,是为了了解系统到底需要什么样系统需要分析,是为了了解系统到底需要什么样的数据,以便设计数据库。的数据,以便设计数据库。v学生成绩管理是学校教务管理现代化的重要环节,学生成绩管理是学校教务管理现代化的重要环节,系统的设计目标是为了对学生成绩等相关数据实系统的设计目标是为了对学生成绩等相关数据实现信息化管理,以提高工作效率,方便用户。该现信息化管理,以提高工作效率,方便用户。该系统的基本要求是采用系统的基本要求是采用AccessAccess数据库对学生成绩数据库对学生成绩进行管理,要求能够方便地查询到相关的教学信进行管理,要求能够方便地查询到相关的教学信息,包括学生的基本
27、信息、选课成绩、课程信息、息,包括学生的基本信息、选课成绩、课程信息、教师信息以及专业信息等,并且能够对这些数据教师信息以及专业信息等,并且能够对这些数据进行添加、修改、删除、查询等操作。进行添加、修改、删除、查询等操作。1.3.3 1.3.3 概念数据库设计概念数据库设计v概念设计是对现实世界的一种抽象,它抽取了客观概念设计是对现实世界的一种抽象,它抽取了客观事物中人们所关心的信息、忽略了非本质的细节,事物中人们所关心的信息、忽略了非本质的细节,并对这些信息进行了精确地描述。并对这些信息进行了精确地描述。v在进行数据库概念设计时,应对各种需求分而治之,在进行数据库概念设计时,应对各种需求分而
28、治之,即先分别考虑各个用户的需求,形成局部的概念模即先分别考虑各个用户的需求,形成局部的概念模型,其中包括确定实体、属性。然后再根据实体间型,其中包括确定实体、属性。然后再根据实体间的联系的类型,将它们综合为一个全局的结构。的联系的类型,将它们综合为一个全局的结构。v全局全局E-RE-R模式要支持所有局部模式要支持所有局部E-RE-R模式,合理地表示模式,合理地表示一个完整的、一致的数据库概念结构。一个完整的、一致的数据库概念结构。v经过需求分析,下面给出学习成绩管理系统的全局经过需求分析,下面给出学习成绩管理系统的全局E-RE-R图。图。1.3.3 1.3.3 概念数据库设计概念数据库设计图
29、1-12 学习成绩管理系统的全局E-R图1.3.4 1.3.4 逻辑数据库设计逻辑数据库设计v逻辑数据库设计的主要任务就是将逻辑数据库设计的主要任务就是将E-RE-R模式转化为模式转化为关系数据库模式。关系数据库模式。v将将E-RE-R图转换为关系模型实际上就是要将实体型、图转换为关系模型实际上就是要将实体型、实体的属性和实体型之间的联系转换为关系模式,实体的属性和实体型之间的联系转换为关系模式,这种转换遵循的原则是:一个实体型转换为一个关这种转换遵循的原则是:一个实体型转换为一个关系模式。系模式。v对于实体型间不同类型的联系,转换的规则是:对于实体型间不同类型的联系,转换的规则是:(1 1)
30、若实体间联系是)若实体间联系是1111,可以在两个实体类,可以在两个实体类型转换成的两个关系模式中任意一个关系模式型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性中加入另一个关系模式的键和联系类型的属性。的属性。1.3.4 1.3.4 逻辑数据库设计逻辑数据库设计(2 2)若实体间联系是)若实体间联系是1N1N,则在,则在N N端实体类型端实体类型转换成的关系模式中加入转换成的关系模式中加入1 1端实体类型的键和联端实体类型的键和联系类型的属性。系类型的属性。(3 3)若实体间联系是)若实体间联系是MNMN,则将联系类型也转,则将联系类型也转换成关系模式,
31、其属性为两端实体类型的键加换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。上联系类型的属性,而键为两端实体键的组合。 (4 4)3 3个或个或3 3个以上实体间的一个多元联系可以个以上实体间的一个多元联系可以转换为一个关系模式。转换为一个关系模式。1.3.5 1.3.5 关系的规范化关系的规范化v范式是符合某一种级别的关系模式的集合。范式是符合某一种级别的关系模式的集合。v在关系数据库中,这种规则就是范式(在关系数据库中,这种规则就是范式(Normal Normal FormForm)。)。1.3.5 1.3.5 关系的规范化关系的规范化v1.1.第一范式(第
32、一范式(1NF1NF) 定义:如果一个关系模式定义:如果一个关系模式R R的所有属性都是不可的所有属性都是不可分的基本数据项,则称分的基本数据项,则称R R属于第一范式的关系模属于第一范式的关系模式,记为式,记为RlNFRlNF。v2.2.第二范式(第二范式(2NF2NF) 定义:若关系模式定义:若关系模式RlNF,RlNF,且每一个非主属性都且每一个非主属性都完全函数依赖于主键(或主码)完全函数依赖于主键(或主码), ,则称则称R R属于第属于第二范式的关系模式,记为二范式的关系模式,记为R2NFR2NF。v3.3.第三范式(第三范式(3NF3NF) 定义:若关系模式定义:若关系模式R2NF
33、R2NF,且,且R R中的每一非主属中的每一非主属性都不传递依赖于任何关键字,则称性都不传递依赖于任何关键字,则称R R属于第三属于第三范式的关系模式,记为范式的关系模式,记为R3NFR3NF。 动物名称动物名称动物分类动物分类饲料供应商饲料供应商a1马马b1,苏州市,苏州市a2马马b2,上海市,上海市a3羊羊b3,苏州市,苏州市a4牛牛b4,北京市,北京市属于第几范式?属于第几范式?动物名称动物名称动物分类动物分类饲料供应商饲料供应商供应商供应商地址地址a1马马b1苏州市苏州市a2马马b2上海市上海市a3羊羊b3苏州市苏州市a4牛牛b4北京市北京市属于第几范式?属于第几范式?属于第几范式?属
34、于第几范式?将有关学生简历、选课等数据设计成一关系模式将有关学生简历、选课等数据设计成一关系模式studentstudent(sno,sname,age,sex, (sno,sname,age,sex, class,department,cno,class,department,cno,cname,score, grade)cname,score, grade) 每一属性对应的域为简单域,符合每一属性对应的域为简单域,符合1NF属于第几范式?属于第几范式?student1(sno,sname,age,sex,class,department)student1(sno,sname,age,sex
35、,class,department)course(cno,cname,score)course(cno,cname,score)sc(sno,cno,grade) sc(sno,cno,grade) 非主属性对码完全依赖,均为非主属性对码完全依赖,均为2NF分析模式分析模式student1,存在存在sno-class ,class-sno,class-department所以存在所以存在department(系系)对对sno(学号学号)传递依赖,传递依赖,所以关系模式所以关系模式student1不是第三范式不是第三范式student1student1分解为分解为: :student2(sno,
36、sname,age,sex,class)student2(sno,sname,age,sex,class)class(class,department)class(class,department)总结总结v1NF1NF:一个表中的列是不可再分的(即列的原子性):一个表中的列是不可再分的(即列的原子性)v2NF2NF:一个表中的行是可以唯一标示的,(即表中:一个表中的行是可以唯一标示的,(即表中的行是不可以有重复的)的行是不可以有重复的)v3NF3NF:一个表中列不依赖以另一个表中的非主键的:一个表中列不依赖以另一个表中的非主键的列,也就是不存在传递依赖。列,也就是不存在传递依赖。选课关系选课
37、关系 SCISCI(SNOSNO,CNOCNO,GRADEGRADE,CREDITCREDIT)其中其中SNOSNO为学号,为学号,CNOCNO为课程号,为课程号,GRADEGEGRADEGE为成绩,为成绩,CREDIT CREDIT 为学分。为学分。 关键字为组合关键字(关键字为组合关键字(SNOSNO,CNOCNO) 非关键字属性非关键字属性CREDITCREDIT仅函数依赖于仅函数依赖于CNOCNO,也就是,也就是CREDITCREDIT部分依赖组合关键字(部分依赖组合关键字(SNOSNO,CNOCNO)而不是完)而不是完全依赖。全依赖。 不是不是2NF.2NF.分成两个关系模式分成两个
38、关系模式SC1SC1(SNOSNO,CNOCNO,GRADEGRADE),),C2C2(CNOCNO,CREDITCREDIT) 如如S1S1(SNOSNO,SNAMESNAME,DNODNO,DNAMEDNAME,LOCATIONLOCATION) 各属性分别代表学号,各属性分别代表学号, 姓名,所在系,系名称,系地址。姓名,所在系,系名称,系地址。 2NF 2NF 关系中存在传递依赖造成的。关系中存在传递依赖造成的。即即SNO - DNO, DNO - LOCATION, SNOSNO - DNO, DNO - LOCATION, SNO不直接不直接决定非主属性决定非主属性LOCATION
39、 .LOCATION .分为两个关系分为两个关系 S S(SNOSNO,SNAMESNAME,DNODNO),),D D(DNODNO,DNAMEDNAME,LOCATIONLOCATION) 关系关系S S中不能没有外关键字中不能没有外关键字DNODNO。否则两个关系之。否则两个关系之间失去联系。间失去联系。 3NF 3NF vAccessAccess与其他数据库开发系统之间相当显著的区别与其他数据库开发系统之间相当显著的区别是:可以在很短的时间里开发出一个功能强大而且是:可以在很短的时间里开发出一个功能强大而且相当专业的数据库应用程序,并且这一过程是完全相当专业的数据库应用程序,并且这一过
40、程是完全可视的,如果能给它加上一些简短的可视的,如果能给它加上一些简短的VBAVBA代码,那代码,那么开发出的程序绝不比专业的程序员开发的程序差。么开发出的程序绝不比专业的程序员开发的程序差。1.4.1 Access1.4.1 Access的特点的特点vAccessAccess具有以下特点:具有以下特点:(1)Access(1)Access的使用非常简单。的使用非常简单。(2)(2)提供了大量的向导。提供了大量的向导。(3)Access(3)Access是一个面向对象的、采用事件驱动的是一个面向对象的、采用事件驱动的关系型数据库管理系统。关系型数据库管理系统。 (4)(4)可以处理多种数据信息
41、,能与可以处理多种数据信息,能与OfficeOffice组件中组件中的其他程序进行数据交换,实现数据共享,也的其他程序进行数据交换,实现数据共享,也可以处理其他数据库管理系统的数据库文件。可以处理其他数据库管理系统的数据库文件。 vAccessAccess的主要缺点是:安全性比较低,多用户特性的主要缺点是:安全性比较低,多用户特性比较弱,处理大量数据时效率比较低,适用于一般比较弱,处理大量数据时效率比较低,适用于一般的应用环境。的应用环境。1.4.3 Access 20021.4.3 Access 2002的主界面的主界面图1-14 Access 2002的窗口1.4.5 Access1.4.
42、5 Access的数据库对象的数据库对象v1.1.数据库对象数据库对象数据库对象是数据库对象是AccessAccess最基本的容器对象最基本的容器对象(Container)(Container),它是一些关于某个特定主题或应,它是一些关于某个特定主题或应用的信息集合。用的信息集合。AccessAccess数据库以一个单独的数据库以一个单独的MDBMDB文件存储一个数据库应用系统中包含的所有对文件存储一个数据库应用系统中包含的所有对象,具有管理本数据库中所有信息的功能。象,具有管理本数据库中所有信息的功能。v2.“2.“表表”对象对象表是表是AccessAccess数据库最基本的对象,是具有结构
43、数据库最基本的对象,是具有结构的某个相同主题的数据集合。的某个相同主题的数据集合。在表内可以定义索引,以加快查找速度。一个在表内可以定义索引,以加快查找速度。一个数据库中的多个表并不是孤立存在的,通过有数据库中的多个表并不是孤立存在的,通过有相同内容的字段可在多个表之间建立关联。相同内容的字段可在多个表之间建立关联。1.4.5 Access1.4.5 Access的数据库对象的数据库对象v3.“3.“查询查询”对象对象我们把使用一些限制条件来选取表中的数据我们把使用一些限制条件来选取表中的数据(记录)称之为(记录)称之为“查询查询”。选择查询将按照指定的准则,从一个或多个表选择查询将按照指定的
44、准则,从一个或多个表对象中获取数据,并按照所需的排列次序显示。对象中获取数据,并按照所需的排列次序显示。v4.“4.“窗体窗体”对象对象窗体对象是窗体对象是AccessAccess数据库容器中的一个二级容数据库容器中的一个二级容器对象,其间包含的对象称为窗体控件。窗体器对象,其间包含的对象称为窗体控件。窗体对象的主要功能在于建立一个可以查询、输入、对象的主要功能在于建立一个可以查询、输入、修改、删除数据的操作界面,以便让用户能够修改、删除数据的操作界面,以便让用户能够在最方便的环境中输入或查阅数据。在最方便的环境中输入或查阅数据。1.4.5 Access1.4.5 Access的数据库对象的数
45、据库对象v5.“5.“报表报表”对象对象报表用于将选定的数据以特定的版式显示或打报表用于将选定的数据以特定的版式显示或打印,是表现用户数据的一种有效方式,其内容印,是表现用户数据的一种有效方式,其内容可以来自某一个表也可来自某个查询。可以来自某一个表也可来自某个查询。v6.“6.“宏宏”对象对象宏的意思是指一个或多个操作的集合,其中每宏的意思是指一个或多个操作的集合,其中每个操作实现特定的功能,例如打开某个窗体或个操作实现特定的功能,例如打开某个窗体或打印某个报表。打印某个报表。v7.“7.“模块模块”对象对象1.4.5 Access1.4.5 Access的数据库对象的数据库对象模块就是所谓
46、的模块就是所谓的“程序程序”。模块是由声明、语。模块是由声明、语句和过程组成的集合,它们作为一个已命名的句和过程组成的集合,它们作为一个已命名的单元存储在一起,对单元存储在一起,对 VBAVBA(Visual Basic for Visual Basic for ApplicationApplication)代码进行组织。)代码进行组织。v8.“8.“页页”对象对象AccessAccess的的“页页”对象也称为数据访问页,是特对象也称为数据访问页,是特殊的殊的WebWeb页,是一个二级容器对象。页,是一个二级容器对象。 在信息系在信息系统中设计数据访问页是为了使用户能够查看和统中设计数据访问页
47、是为了使用户能够查看和操作来自操作来自InternetInternet或或IntranetIntranet的数据,而这些的数据,而这些数据是保存在数据是保存在Microsoft AccessMicrosoft Access数据库中的。数据库中的。【本章小结】【本章小结】v数据库技术和系统已经成为信息基础设施的核心技术和重数据库技术和系统已经成为信息基础设施的核心技术和重要基础。数据库技术作为数据管理的最有效的手段,极大要基础。数据库技术作为数据管理的最有效的手段,极大地促进了计算机应用的发展。本章介绍了数据库技术、数地促进了计算机应用的发展。本章介绍了数据库技术、数据库系统、关系数据模型、据库
48、系统、关系数据模型、E-RE-R模型和数据库设计等基础理模型和数据库设计等基础理论知识,为后面各章的学习打下基础。论知识,为后面各章的学习打下基础。v数据库设计是指对于一个给定的应用环境,构造最优的数数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。构造数据库必须遵循储数据,满足各种用户的应用需求。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。数据一定的规则。在关系数据库中,这种规则就是范式。数据库范式规范化目的是使结构更合理,消除存储异常,使数
49、库范式规范化目的是使结构更合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新。据冗余尽量小,便于插入、删除和更新。v这些内容是非计算机专业的学生应该掌握的基本知识,对这些内容是非计算机专业的学生应该掌握的基本知识,对于将来结合专业应用构造数据库系统有着重要的作用。于将来结合专业应用构造数据库系统有着重要的作用。【思考与练习】【思考与练习】v1.1 1.1 数据库系统有哪几部分组成?请解释各组成部分的作数据库系统有哪几部分组成?请解释各组成部分的作用与区别。用与区别。v1.2 1.2 数据库系统的特点有哪些?数据库系统的特点有哪些?v1.3 1.3 数据库系统三级模式结构是什么?数据库系
50、统三级模式结构是什么?v1.4 1.4 构成构成E-RE-R图的基本要素是什么?掌握图的基本要素是什么?掌握E-RE-R图的基本画法。图的基本画法。v1.5 1.5 实体集之间存在哪些联系?各适用什么?实体集之间存在哪些联系?各适用什么?v1.6 1.6 什么是数据库模型?常用的数据模型有哪些?什么是数据库模型?常用的数据模型有哪些?v1.7 1.7 关系模型有什么特点?请解释关系模型的主要术语。关系模型有什么特点?请解释关系模型的主要术语。v1.8 1.8 关系完整性约束包括哪些内容,请举例说明。关系完整性约束包括哪些内容,请举例说明。v1.9 1.9 数据库应用系统的设计包括哪些步骤?数据
51、库应用系统的设计包括哪些步骤?v1.12 1.12 某集团公司下属若干分厂,每个工厂由一名厂长来某集团公司下属若干分厂,每个工厂由一名厂长来管理,厂长的信息用厂长号、姓名、年龄来反映,工厂的管理,厂长的信息用厂长号、姓名、年龄来反映,工厂的情况用厂号、厂名、地点来表示。请根据题意画出情况用厂号、厂名、地点来表示。请根据题意画出E-RE-R图,图,并转化为关系模型。并转化为关系模型。【思考与练习】【思考与练习】v1.13 1.13 某工厂有一个仓库,存放若干种产品,每一个产品某工厂有一个仓库,存放若干种产品,每一个产品都有具体的存放数量,仓库的属性是仓库号、地点、面积,都有具体的存放数量,仓库的
52、属性是仓库号、地点、面积,产品的属性是货号、品名、价格。请根据题意画出产品的属性是货号、品名、价格。请根据题意画出ERER图,图,并转化为关系模型。并转化为关系模型。v1.14 1.14 现有一个局部应用,包括两个实体:现有一个局部应用,包括两个实体:“出版社出版社”和和“作者作者”,这两个实体是多对多的联系,请设计适当的属,这两个实体是多对多的联系,请设计适当的属性,画出性,画出E-RE-R图,再将其转换为关系模型(包括关系名、属图,再将其转换为关系模型(包括关系名、属性名、码和完整性约束条件)。性名、码和完整性约束条件)。v1.15 1.15 设计一个图书馆数据库,此数据库中对每个借阅者设
53、计一个图书馆数据库,此数据库中对每个借阅者保存的数据项包括:读者号,姓名,地址,性别,年龄,保存的数据项包括:读者号,姓名,地址,性别,年龄,单位。对每本书保存的数据项有:书号,书名,作者,出单位。对每本书保存的数据项有:书号,书名,作者,出版社。对每本被借出的书保存有读者号、借出日期和应还版社。对每本被借出的书保存有读者号、借出日期和应还日期。日期。要求给出该图书馆数据库的要求给出该图书馆数据库的E-RE-R图,再将其转换为关系图,再将其转换为关系模型。模型。【思考与练习】【思考与练习】v1.16 1.16 有一家连锁大型超市,已知信息有:有一家连锁大型超市,已知信息有:(1)(1)每个职工
54、的数据有职工号、姓名、地址和他所在的每个职工的数据有职工号、姓名、地址和他所在的商品部。商品部。(2)(2)每一商品部的数据有:所属职工,经理和它经销的每一商品部的数据有:所属职工,经理和它经销的商品。商品。(3)(3)每种经销的商品数据包括:商品名、生产厂家、价每种经销的商品数据包括:商品名、生产厂家、价格、型号(厂家定的)和内部商品代号(商店规定的)。格、型号(厂家定的)和内部商品代号(商店规定的)。(4)(4)每个供应商的数据有:供货商名称、商品名、提供每个供应商的数据有:供货商名称、商品名、提供的商品价格。的商品价格。请设计该超市的概念模型,再将概念模型转换为关系模请设计该超市的概念模型,再将概念模型转换为关系模型。注意某些信息可用属性表示,其他信息可用联系表型。注意某些信息可用属性表示,其他信息可用联系表示。示。v1.17 Access1.17 Access数据库具有哪些特点?数据库具有哪些特点?v1.18 1.18 启动启动Access 2002,Access 2002,认识认识AccessAccess的窗口、工具栏,以的窗口、工具栏,以及数据库对象,然后关闭及数据库对象,然后关闭AccessAccess。 ACCESS数据库基础