860 likes | 1k Views
南京信息工程大学 计算机与软件学院. 数据库技术及应用. 南京信息工程大学 计算机与软件学院. 第一章 数据库系统及 Visual FoxPro 概述. 数据库技术及应用. 本章学习要求. 教学目的. 了解数据管理的发展过程。 理解数据模型的概念,重点掌握关系模型。 理解掌握关系数据库系统的概念。 了解 VFP 的编程环境。 掌握项目管理器的概念及作用。. 教学重点与难点. 教学重点 数据库系统的定义,数据库的特点,数据库系统,关系模型, DBMS ,项目管理器。 教学难点
E N D
南京信息工程大学 计算机与软件学院 数据库技术及应用
南京信息工程大学 计算机与软件学院 第一章 数据库系统及Visual FoxPro概述 数据库技术及应用
本章学习要求 教学目的 • 了解数据管理的发展过程。 • 理解数据模型的概念,重点掌握关系模型。 • 理解掌握关系数据库系统的概念。 • 了解VFP的编程环境。 • 掌握项目管理器的概念及作用。 主讲: 南京信息工程大学计算机与软件学院
教学重点与难点 • 教学重点 数据库系统的定义,数据库的特点,数据库系统,关系模型,DBMS,项目管理器。 • 教学难点 数据库系统的定义,数据库的特点,关系模型,关系数据库系统。 主讲: 南京信息工程大学计算机与软件学院
1.1.1 数据和信息 • 数据(Data)是数据库中存储的基本对象 • 数据的定义 • 描述事物的符号记录 • 数据的种类 • 文本、数值、图形、图像、音频、视频等 主讲: 南京信息工程大学计算机与软件学院
1.1.1 数据和信息 • 信息 信息是关于现实世界事物的存在方式或运动形态反映的综合,信息是一种已经被加工为特定形式的数据,这种数据形式对接收者来说是有意义的,而且对当前和将来的决策具有明显的或实际的价值。 信息的特征 • 信息是有价值的,是可以被感知的。 • 信息可以通过载体传递,可以通过信息处理工具进行存储、加 工、传播、再生和增值。 主讲: 南京信息工程大学计算机与软件学院
1.1.2 数据管理技术的发展 • 什么是数据管理 对数据进行分类、组织、编码、存储、检索和维护等操作。 主讲: 南京信息工程大学计算机与软件学院
数据管理技术的发展过程 1.1.2 数据管理技术的发展 • 人工管理阶段(20世纪40年代中--50年代中) • 文件系统阶段(20世纪50年代末--60年代中) • 数据库系统阶段(20世纪60年代末--现在) 主讲: 南京信息工程大学计算机与软件学院
1.1.2 数据管理技术的发展 • 数据管理技术的发展动力 • 应用需求的推动 • 计算机硬件的发展 • 计算机软件的发展 主讲: 南京信息工程大学计算机与软件学院
一、人工管理阶段 1.1.2 数据管理技术的发展 • 时期 • 20世纪40年代中--50年代中 • 产生的背景 • 应用需求 科学计算 • 硬件水平 无直接存取存储设备 • 软件水平 没有操作系统 主讲: 南京信息工程大学计算机与软件学院
人工管理阶段(续) 1.1.2 数据管理技术的发展 • 特点 • 数据不保存; • 数据冗余度大; • 数据与程序之间依赖性大 主讲: 南京信息工程大学计算机与软件学院
...… ...… 应用程序1 数据集1 应用程序2 数据集2 应用程序n 数据集n 应用程序与数据的对应关系(人工管理阶段) 1.1.2 数据管理技术的发展 人工管理阶段应用程序与数据之间的对应关系 主讲: 南京信息工程大学计算机与软件学院
二、文件系统阶段 1.1.2 数据管理技术的发展 • 时期 • 20世纪50年代末--60年代中 • 产生的背景 • 应用需求 科学计算、管理 • 硬件水平 磁盘、磁鼓 • 软件水平 有文件系统 主讲: 南京信息工程大学计算机与软件学院
文件系统阶段(续) 1.1.2 数据管理技术的发展 • 特点 • 数据以文件形式保存; • 数据冗余度较大; • 易造成数据的不一致性; • 程序与数据相互依赖。 主讲: 南京信息工程大学计算机与软件学院
应用程序1 文件1 应用程序2 文件2 存取方法 ...… ...… 文件n 应用程序n 应用程序与数据的对应关系(文件系统阶段) 1.1.2 数据管理技术的发展 文件系统阶段应用程序与数据之间的对应关系 主讲: 南京信息工程大学计算机与软件学院
三、数据库系统阶段 1.1.2 数据管理技术的发展 • 时期 • 20世纪60年代末以来 • 产生的背景 • 应用背景 大规模管理 • 硬件背景 大容量磁盘、磁盘阵列 • 软件背景 有数据库管理系统 主讲: 南京信息工程大学计算机与软件学院
应用程序1 数据库 DBMS 应用程序2 … 应用程序与数据的对应关系(数据库系统) 1.1.2 数据管理技术的发展 数据库系统阶段应用程序与数据之间的对应关系 主讲: 南京信息工程大学计算机与软件学院
数据库系统阶段 1.1.2 数据管理技术的发展 • 特点 • 数据结构化 • 实现数据共享 • 减少数据冗余度 • 数据独立性 • 统一的数据安全保护 主讲: 南京信息工程大学计算机与软件学院
1.1.3 数据库系统的组成 基本概念 • 数据库(Database) • 数据库管理系统(DBMS) • 数据库系统(DBS) 主讲: 南京信息工程大学计算机与软件学院
一、数据库 1.1.3 数据库系统的组成 • 数据库的定义 • 数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。 • 数据库的基本特征 • 数据按一定的数据模型组织、描述和储存 • 可为各种用户共享 • 冗余度较小 • 数据独立性较高 • 易扩展 主讲: 南京信息工程大学计算机与软件学院
二、数据库管理系统 1.1.3 数据库系统的组成 • 什么是DBMS • 位于用户与操作系统之间的一层数据管理软件。 • 是基础软件,是一个大型复杂的软件系统 • DBMS的用途 • 科学地组织和存储数据、高效地获取和维护数据 主讲: 南京信息工程大学计算机与软件学院
DBMS的主要功能 1.1.3 数据库系统的组成 • 数据定义功能 • 提供数据定义语言(DDL) • 定义数据库中的数据对象 • 数据操纵功能 提供数据操纵语言(DML) 实现对数据库的基本操作 (查询、插入、删除和修改) 主讲: 南京信息工程大学计算机与软件学院
DBMS的主要功能 1.1.3 数据库系统的组成 • 数据组织、存储和管理 • 数据库的事务管理和运行管理 • 数据库的建立和维护功能 主讲: 南京信息工程大学计算机与软件学院
三、数据库系统 1.1.3 数据库系统的组成 • 什么是数据库系统(Database System,简称DBS) 在计算机系统中引入数据库后的系统构成 • 数据库系统的构成 • 数据库 • 数据库管理系统(及其开发工具) • 应用系统 • 数据库管理员 主讲: 南京信息工程大学计算机与软件学院
各种应用程序 数据库管理系统 操作系统 数据库 数据库管理员 1.1.3 数据库系统的组成 图1-1 数据库系统示意图 主讲: 南京信息工程大学计算机与软件学院
数据库系统的特点 1.1.3 数据库系统的组成 • 数据结构化 • 数据的共享性高,冗余度低,易扩充 • 数据独立性高 • 数据由DBMS统一管理和控制 主讲: 南京信息工程大学计算机与软件学院
1.2 数据模型 • 在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。数据模型就是现实世界的模拟。 • 数据模型应满足三方面要求 • 能比较真实地模拟现实世界 • 容易为人所理解 • 便于在计算机上实现 主讲: 南京信息工程大学计算机与软件学院
1.2.1 两大类数据模型 • 数据模型分为两类(分属两个不同的层次) (1) 概念模型 也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。 (2) 数据模型 按计算机系统的观点对数据建模,用于DBMS实现。 主要包括网状模型、层次模型、关系模型等。 主讲: 南京信息工程大学计算机与软件学院
两大类数据模型 (续) 1.2.1 两大类数据模型 • 客观对象的抽象过程---两步抽象 • 现实世界中的客观对象抽象为概念模型; • 把概念模型转换为某一DBMS支持的数据模型。 主讲: 南京信息工程大学计算机与软件学院
现实世界 认识 抽象 信息世界 概念模型 DBMS支持的数据模型 数据世界 两大类数据模型 1.2.1 两大类数据模型 现实世界中客观对象的抽象过程 主讲: 南京信息工程大学计算机与软件学院
一、信息世界中的基本概念 1.2.1 两大类数据模型 (1) 实体(Entity) 客观存在并可相互区别的事物称为实体。 可以是具体的人、事、物或抽象的概念。 (2) 属性(Attribute) 实体所具有的某一特性称为属性。 一个实体可以由若干个属性来刻画。 (3) 码(Key) 唯一标识实体的属性集称为码。 主讲: 南京信息工程大学计算机与软件学院
信息世界中的基本概念(续) 1.2.1 两大类数据模型 (4) 域(Domain) 属性的取值范围称为该属性的域。 (5) 实体型(Entity Type) 用实体名及其属性名集合来抽象和刻画同类实体称为实体型 (6) 实体集(Entity Set) 同一类型实体的集合称为实体集 学生(学号,姓名,性别,年龄,系名) 主讲: 南京信息工程大学计算机与软件学院
信息世界中的基本概念(续) (7) 联系(Relationship) • 现实世界中事物内部以及事物之间的联系在信息世界 中反映为实体内部的联系和实体之间的联系。 • 实体之间的联系通常是指不同实体集之间的联系 主讲: 南京信息工程大学计算机与软件学院
实体型A 实体型A 实体型A m 1 1 联系名 联系名 联系名 n 1 n 实体型B 实体型B 实体型B m:n联系 1:1联系 1:n联系 1.2.1 两大类数据模型 二、两个实体型之间的联系 用图形来表示两个实体型之间的这三类联系 主讲: 南京信息工程大学计算机与软件学院
班级 1 班级-班长 1 班长 1:1联系 二、两个实体型之间的联系 • 一对一联系(1:1) 定义: 如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1 实例 :一个班级只有一个正班长 一个班长只在一个班中任职 主讲: 南京信息工程大学计算机与软件学院
班级 1 组成 n 学生 1:n联系 两个实体型之间的联系 (续) 1.2.1 两大类数据模型 • 一对多联系(1:n) 定义: 如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:n 实例 : 一个班级中有若干名学生, 每个学生只在一个班级中学习 主讲: 南京信息工程大学计算机与软件学院
课程 m 选修 n 学生 m:n联系 两个实体型之间的联系 (续) 1.2.1 两大类数据模型 • 多对多联系(m:n) 定义:如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体B具有多对多联系,记为m:n • 实例 :课程与学生之间的联系: 一门课程同时有若干个学生选修 一个学生可以同时选修多门课程 主讲: 南京信息工程大学计算机与软件学院
概念模型的一种表示方法 1.2.1 两大类数据模型 • 实体-联系方法(E-R方法) • 用E-R图来描述现实世界的概念模型 • E-R方法也称为E-R模型 主讲: 南京信息工程大学计算机与软件学院
学生 年龄 学号 姓名 性别 E-R图 1.2.1 两大类数据模型 • 实体型 用矩形表示,矩形框内写明实体名。 • 属性 用椭圆形表示,并用无向边将其与相应的实体连接起来 学生 教师 主讲: 南京信息工程大学计算机与软件学院
E-R图(续) 1.2.1 两大类数据模型 • 联系 • 联系本身: 用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n) 主讲: 南京信息工程大学计算机与软件学院
实体型A 实体型A 实体型A m 1 1 联系名 联系名 联系名 n 1 n 实体型B 实体型B 实体型B m:n联系 1:1联系 1:n联系 1.2.1 两大类数据模型 联系的表示方法 主讲: 南京信息工程大学计算机与软件学院
课程 班级 班级 m 1 1 选修 班级-班长 组成 n n 1 学生 班长 学生 1:1联系 1:n联系 m:n联系 1.2.1 两大类数据模型 联系的表示方法示例 主讲: 南京信息工程大学计算机与软件学院
课程 m 成绩 选修 n 学生 联系的属性 1.2.1 两大类数据模型 • 联系的属性: 联系本身也是一种实体型,也 可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来 主讲: 南京信息工程大学计算机与软件学院
班级号 专业名称 年级 姓名 性别 班 级 学号 籍贯 有 学 生 课程号 课程名 选修课程 成绩 课 程 课时数 学分 1.2.1 两大类数据模型 E-R模型例子 1 n m n 主讲: 南京信息工程大学计算机与软件学院
1.3 关系数据库 • 关系数据库系统采用关系模型作为数据的组织方式 • 1970年美国IBM公司的研究员E.F.Codd首次提出了数据库系统的关系模型 • 计算机厂商新推出的数据库管理系统几乎都支持关系模型 主讲: 南京信息工程大学计算机与软件学院
关系数据模型的基本术语 1.3 关系数据库 • 在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。 属性(列) 元组 (行) 学生关系 主讲: 南京信息工程大学计算机与软件学院
1.3 关系数据库 • 课程关系 主讲: 南京信息工程大学计算机与软件学院
1.3 关系数据库 选修关系 主讲: 南京信息工程大学计算机与软件学院
关系数据模型的基本术语 1.3 关系数据库 • 关系(Relation) 一个关系对应通常说的一张表 • 元组(Tuple) 表中的一行即为一个元组 • 属性(Attribute) 表中的一列即为一个属性,给每一个属性起一个名称即属性名 主讲: 南京信息工程大学计算机与软件学院
关系数据模型的基本术语 1.3 关系数据库 • 主码(Key) 表中的某个属性组,它可以唯一确定一个元组。 • 域(Domain) 属性的取值范围。 • 分量 元组中的一个属性值。 • 关系模式 对关系的描述 关系名(属性1,属性2,…,属性n) 如:学生(学号,姓名,年龄,性别,系,年级) 主讲: 南京信息工程大学计算机与软件学院