第4章(1) 空间数据库 —数据库理论基础 北京建筑工程学院 王文宇
第一节 概述 数据库技术简介 数据库管理系统 数据模型 ER模型设计
一 数据库技术的地位 数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支 数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透 数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志
数据管理技术的发展过程 什么是数据管理 数据管理技术的发展过程 对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题 人工管理阶段(40年代中--50年代中) 文件系统阶段(50年代末--60年代中) 数据库系统阶段(60年代末--现在) 人工管理:时期40年代中--50年代中 产生的背景 应用需求 科学计算 硬件水平 无直接存取存储设备 软件水平 没有操作系统 处理方式 批处理
Example of a Traditional Database Application Suppose we are building a system to store the information about: students courses professors who takes what, who teaches what
Can we do it without a DBMS ? Sure we can! Start by storing the data in files: students.txt courses.txt professors.txt Now write C or Java programs to implement specific tasks
Doing it without a DBMS... Enroll “Mary Johnson” in “CSE444”: Write a C/Java program to do the following: Read ‘students.txt’ Read ‘courses.txt’ Find&update the record “Mary Johnson” Find&update the record “CSE444” Write “students.txt” Write “courses.txt”
Problems without an DBMS... Read ‘students.txt’ Read ‘courses.txt’ Find&update the record “Mary Johnson” Find&update the record “CSE444” Write “students.txt” Write “courses.txt” System crashes: What is the problem ? Large data sets (say 50GB) Why is this a problem ? Simultaneous access by many users Lock students.txt – what is the problem ? CRASH !
Database server (someone else’s C program) Enters a DBMS “Two tier system” or “client-server” connection (ODBC, JDBC) Database server (someone else’s C program) Applications Data files
三 数据库管理系统 什么是数据库管理系统 数据库管理系统是位于用户与操作系统之间的一层数据管理软件。 DBMS的用途 科学地组织和存储数据、高效地获取和维护数据
DBMS的主要功能 The programmer sees SQL, which has two components: Data Definition Language - DDL Data Manipulation Language - DML query language Behind the scenes the DBMS has: Query engine Query optimizer Storage management Transaction Management (concurrency, recovery)
三 数据模型 在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟 数据模型应满足三方面要求 能比较真实地模拟现实世界 容易为人所理解 便于在计算机上实现
数据模型(续) 客观对象的抽象过程---两步抽象 现实世界中的客观对象抽象为概念模型; 概念模型 也称信息模型,它是按用户的观点来对数据和信息建模。 概念模型是现实世界到机器世界的一个中间层次。 把概念模型转换为某一DBMS支持的数据模型。 数据模型 主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。 数据模型分成两个不同的层次 (1) 概念模型 也称信息模型,它是按用户的观点来对数据和信息建模。 (2) 数据模型 主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。
数据模型的组成要素 数据结构 数据结构是对系统静态特性的描述 数据操作 数据的约束条件
四 ER模型设计 概念模型的表示方法很多 基于E-R模型的数据库设计方法 基于3NF的数据库设计方法 实体-联系方法(E-R方法) 基于E-R模型的数据库设计方法是由P.P.S.chen于1976年提出的数据库设计方法,其基本思想是在需求分析的基础上,用E-R(实体—联系)图构造一个反映现实世界实体之间联系的企业模式,然后再将此企业模式转换成基于某一特定的DBMS的概念模式。
ER模型 ER模型的基本元素 实体 联系 属性 ER模型图例 例子 实体 联系 m n 属性 老 师 学 生 教 学号 姓名 专业 班级 职称 性别 职号 属性
例1:学校管理信息系统ER图 社会关系 系 项目 院长 学院 教师 职称 工作量 档案材料 学会 宿舍 教科书 课程 教室 班级 学生 具有 N P M 社会关系 具有 系 聘用 承接 项目 参加 设置 院长 学院 主管 教师 评定 职称 分配 工作量 档案材料 归档 学会 宿舍 住宿 教科书 担任 指导 课程 选修 教室 上课 有 班级 学生 组成 开设 管理
总结 数据库是GIS的后台 数据库技术是GIS的重要技术