1、1,课程名称:数据库技术及其应用主讲人:李康顺 教授、博士后博士生导师联系方式:15013273564 QQ:278828464Email:,2,数据库技术及应用,教材: 数据库技术及应用 实验指导:数据库技术及应用上机实验指导,3,课程综述,本课程包括理论课学习和上机实验2大部分。总学时数:56(其中上课1-16周共32学时,上机24)实验:按课表按排(4-15周 )。实验指导书中含上机实验内容、习题集、期末考试样题、全国计算机等级考试大纲及样题等内容。成绩:理论课期末笔试70%+平时(上机训练、实验报告等)30% (无期中考试)教学要求:上课、实验、纪律,4,课程综述,数据库原理及应用是非
2、计算机专业学生可选必修的计算机基础课程。通过本课程的学习应掌握数据库技术的基本原理、方法及应用技术,掌握至少一种主流关系数据库管理软件,掌握数据库结构的设计方法,能有效使用数据库技术解决数据处理中的实际问题。本课程主要由数据库理论和Access数据库应用软件两部分组成。,5,课程综述,第一章 数据库系统概述 第二章 关系数据库 第三章 Access数据库管理系统 第四章 表的操作 第五章 数据库设计 第六章 数据查询 第七章 关系数据库标准语言SQL 第八章 数据库应用开发技术 第九章 VBA程序设计 第十章 学生信息管理系统综合实例 第十一章 数据库保护 第十二章 数据库技术新进展,6,第一
3、章 数据库系统概述,数据库技术是计算机学科学的一个重要分支,是各种信息系统的核心和基础。借助数据库技术,可以方便有效地存储和管理大量、复杂的数据。本章是数据库的入门,介绍有关数据、数据库、数据库管理系统、数据库系统、数据模型等基本概念。,7,(1) 人工管理阶段:出现在20世纪50年代中期以前,软硬件条件均处于初级阶段,当时计算机主要用于科学与工程计算。,1.1 数据管理技术的产生和发展,从通俗意义上来讲,数据库可以理解为存储数据的基地。下面我们先了解一下数据管理技术的产生和发展过程。,8,在这一管理方式下,用户的应用程序与数据相互结合不可分割,当数据有所变动时程序则随之改变,程序与数据之间不
4、具有独立性;另外,各程序之间的数据不能相互传递,缺少共享性;此外,各应用程序之间存在大量的重复数据,我们称为数据冗余。,1.1 数据管理技术的产生和发展,9,(2) 文件管理阶段50年代后期至60年代中期,大容量存储设备逐渐被投入使用,诞生了操作系统。借助操作系统的文件管理系统可以以文件方式独立地管理数据。,在这一管理方式下,数据可以以文件形式长期保存和处理;应用程序通过文件管理系统对数据文件中的数据进行加工处理,应用程序和数据之间具有了一定的独立性。 一个文件可被多个应用程序使用,一个应用程序也可使用多个数据文件。,10,问题:数据冗余大,同样的数据会在不同文件中出现。数据独立性差;如果存储
5、文件的结构发生变化,就不得不修改程序,程序和数据之间的独立性仍然较差。,文件系统阶段,11,(3) 数据库系统阶段始于60年代末。计算机应用于管理的规模加大,数据量增加,为解决多用户、多个应用程序共享数据的需求,出现了统一管理数据的专门软件系统,即数据库管理系统。,在这一管理方式下,数据被组织到一个结构化的数据库中统一管理,整个组织的数据不是一盘散沙,数据之间是有联系的; 数据间共享性高:数据不再面向某个应用程序而是面向整个系统,所有用户可同时存取库中的数据;数据间独立性强:数据与程序之间相互独立。,12,例如:要建立学生成绩管理系统,系统包含学生(学号、姓名、性别、系别、年龄)、课程(课程号
6、、课程名)、成绩(学号、课程号、成绩)等数据,分别对应三个文件。采用文件处理方式,因为不同文件记录之间无联系,要想查找某个学生的学号、姓名、所选课程的名称和成绩,必须编写程序来实现。而数据库系统不仅描述数据本身,还描述数据之间的联系,上述查询可以非常容易地联机查到。,13,1.2 数据库系统,1. 数据:是描述事物的符号记录。是数据库中存储的基本对象。数据有多种表现形式,它们都可以经过数字化后存入计算机。从计算机的角度看,数据泛指那些可以被计算机接受并能够被计算机处理的符号,数字、文字、 图形、图像、音频、视频等。,2. 数据库(DB):是储存在计算机内、有组织的、可共享的数据集合。数据库中的
7、数据是以文件的形式存储在存储介质上的,它是数据库系统操作的对象和结果。,数据库,14,3. 数据库管理系统(DBMS):是位于用户与操作系统之间的帮助用户建立、使用和管理数据库的数据管理软件。位于用户与操作系统之间的数据管理软件。,4. 数据库系统(DBS):数据库系统是指在计算机系统中引入数据库后构成的系统,除必要的计算机软硬件外,主要包括数据库、数据库管理系统、应用系统、数据库管理员和用户等。,15,数据库系统的特点:(1) 数据间共享性好:数据不再面向某个应用程序而是面向整个系统,所有用户可同时存取库中的数据。(2) 数据间独立性强:数据与程序之间相互独立。无论修改数据结构还是修改程序互
8、相间影响都不大。(3) 数据结构化:按照某种数据模型,将各种数据组织到一个结构化的数据库中,整个组织的数据不是一盘散沙,数据之间是有联系的。(4) 统一的数据控制功能:由DBMS统一管理和控制,具备必要的数据安全保护措施 。,16,数据库系统由五部分组成:除计算机硬件系统外包括数据库、数据库管理系统及相关软件、数据库管理员、数据库应用系统和用户构成。,17,数据库系统的抽象级别:,数据库描述由三级抽象模式组成:逻辑模式、物理模式(也称内模式或存储模式)和外模式。,(1) 逻辑模式:介于内模式与外模式之间,描述存储在数据库中的所有关系,是对数据库中全部数据的逻辑结构和特征的总体描述。,例如:,教
9、师,教研室,系,学院,学院教师数据库,18,(2) 物理模式(内模式):描述逻辑模式中的关系在磁盘和磁带等二级存储设备上是如何实际存储的。一个数据库中只有一个物理模式。物理模式是针对计算机的,用户可不必关心。,19,外模式(用户模式):对应于用户级,是某个或某几个用户所看到的数据库的数据视图,一个逻辑模型可以产生若干个外模式。,例如:,教师,教研室,系,学院,外模式1,外模式2,多种模式,逻辑模式,20,DBMS中的抽象级别:,说明:逻辑模式与外模式是一对多的关系;逻辑模式与物理模式是一对一的关系。,21,1.3 数据模型,从理论上讲,数据模型是指反映事物与事物之间联系的数据组织结构和形式。任
10、何一个数据库管理系统都是基于某种数据模型的。根据模型应用的不同目的,可以将这些模型划分为两类,它们分属于两个不同的层次。第一类是概念模型,第二类是逻辑模型和物理模型。本节主要介绍逻辑模型。,22,两大类数据模型: 概念模型它是按用户的观点来对数据和信息建模,主要用于数据库设计。 逻辑模型和物理模型. 逻辑模型主要包括层次模型、网状模型、关系模型、面向对象模型和对象关系模型等。是按计算机系统的观点对数据建模;. 物理模型是描述数据在磁盘或磁带上的存储方式和存取方法,一般用户可不需考虑物理模型的细节。,23,数据模型的组成,包含三方面的内容: 数据结构数据模型中的数据结构主要描述数据的类型、内容、
11、性质以及数据间的联系等。 数据操作如数据的检索、插入、删除和修改等。 数据约束条件如在学生数据库中,学生的年龄不得超过40岁。,24,层次模型:,层次模型是用树来表示实体与实体之间的联系,主要特征:(1) 有且只有一个结点没有双亲结点,该结点称为根结点;(2) 根以外的其他结点有且只有一个双亲结点。这种父子之间的联系这使得该模型只能处理一对多的联系。,学校-学院-教研室层次模型,25,网状模型:,层次模型是用网状结构表示实体与实体之间的联系,网状模型是层次模型的扩展,表示多个从属关系的层次结构,其主要特征:(1) 允许一个以上的结点无双亲 ;(2) 一个结点可以有多于一个的双亲。该模型可实现一
12、对多和多对多的联系。,学生宿舍-系-学生-教研室-教师网状模型,26,关系模型:,现在主流数据库大都是基于关系模型的数据库系统。关系模型用二维表来表示实体与实体之间的联系,其主要特征是:关系中每一数据项不可再分,是最基本的单位;每一竖列是同属性的;每一行由一个事物的诸多属性构成。,学生关系数据模型,27,面向对象模型和对象关系模型 P7,前者出现于20世纪80年代,后者出现于20世纪90年代,该类模型相对比较复杂,尚未达到关系模型的普及程度。,综合上述,数据模型是数据库系统设计的核心,它规范了数据库中数据的组织形式,表示了数据及数据间的联系,数据模型的好坏直接影响数据库的性能。层次模型和网状模
13、型属早期模型,已逐渐淡出市场,目前流行的数据库软件大多使用关系模型。面向对象模型则是未来的一个发展方向。,28,数据库(DB):是数据库系统的核心部分,是长期储存在计算机内、有组织的、可共享的数据集合。,几个概念小结:,数据库系统(DBS):包括数据库、数据库管理系统及其关软件,数据库管理员(DBA)、数据库应用系统和用户。,数据库管理系统(DBMS):是管理数据库的软件的集合,是用户访问数据库的接口。,数据(Data):是数据库中存储的基本对象。,29,五种模型: 层次模型 网状模型 关系模型 面向对象模型 对象关系模型,数据库系统的抽象级别 : 外模式 逻辑模式 物理模式,30,思考?,有一个学生成绩管理系统,是用VB和Access来完成的,VB是用来开发前台,而Access是用来管理后台的数据库,该数据库的名字叫“学生信息管理”,该数据库下有一个表叫“选课”,由学号,选修课名称,成绩组成。该数据存在学校主机房的一台名为Data的服务器上,由张三专门负责维护。对于以上的描述,请找出什么是数据库,什么是数据库管理系统,什么是应用开发工具,什么是数据库系统。,