160 likes | 254 Views
数据库系统. 数据组织管理的常用模式. ( 1 )以程序为核心的独立文件管理。 Word/DOC , Excel/XLS , AutoCAD/DWG ( 2 )文件管理系统。 Shapefile ( 3 )专用数据库。 ArcGIS 提供 File Geodatabase ( 4 )通用数据库。 Oracle, DB2, Informix, SQL Server, Access, Foxpro 不同模式的界限往往是模糊的,四种模式长期共存,发挥各自的特点。在很多场合,数据量大、内容复杂,多种模式会并存使用。
E N D
数据组织管理的常用模式 • (1)以程序为核心的独立文件管理。Word/DOC ,Excel/XLS ,AutoCAD/DWG • (2)文件管理系统。 Shapefile • (3)专用数据库。ArcGIS 提供 File Geodatabase • (4)通用数据库。Oracle, DB2, Informix, SQL Server, Access, Foxpro • 不同模式的界限往往是模糊的,四种模式长期共存,发挥各自的特点。在很多场合,数据量大、内容复杂,多种模式会并存使用。 • 现实中,采用文件系统管理的大量数据,往往也称“数据库”。
从文件系统到数据库系统的主要原因 • 数据量增大,相互联系复杂,数据持久保存,多用户应用。 • 数据库系统的特点 • (1)数据共享。 • (2)减少冗余。 • (3)并发控制。 • (4)数据独立性较高。 • (5)安全防范性好。 • (6)其他,如:数据完整性检查。分布式运行、计算机故障恢复、等等。
DBMS处于数据库系统的核心地位 • 数据库系统的构成: • (1)软件(DBMS为核心), • (2)数据(量很大,有组织地存放), • (3)硬件(主要是通用的计算机及其相关设备,也有一定专用性,如:数据库服务器), • (4)管理人员(大型数据库由专门的集体管理)。 • 数据库管理系统(Database Management System)是一种软件,对数据库进行集成式管理。有无DBMS是文件系统和数据库系统的主要区别。
基于关系模型的数据库系统 基本特点 表状结构:列(属性项、数据项、域、字段),行(记录、元组)。属性值可以灵活修改,列的名称不能重复,允许增减,不同列组成行结构(记录格式),行数可灵活增减。
关系型数据库最常用的三项查询功能 关系数据库有各种操纵,也有各种数据约束功能。数据查询是最重要的应用,根据关系代数原理,可以在5个基本操作的基础上进一步组合,实现各种查询。但在实际使用中,最常用的查询功能为3种: (1)投影。从表中指定某些列,形成新表。(ArcMap中字段的可见性) (2)选择。从表中选出满足某些条件的行,形成新表。(Select By Attribute) (3)连接。按满足某种条件(往往是属性值相等),从两个表中选出对应的行,组合成新表。(Join / Relate / Relationship) 上述三种功能可满足现实生活中绝大多数查询需要,其他查询功能相对偶然,暂不讨论,查询的结果在逻辑上依然是关系(表)。 表和表的连接有一对一、多对一、一对多3种方式。 数据库维护:行、列、表的添加、删除,属性值的修改,访问权限的设置,等等。
常用查询功能举例 查询一:来自四川的学生,分布在哪些学院,主修什么专业,姓名是什么。在“学生情况表”中针对属性“籍贯”,选择属性值等于“四川”,投影“姓名”、“主修专业”、“所属学院”,得到临时表,该表仅3列,为学生情况表的子集,所有行均对应四川籍的学生。
查询二:职称为教授的教师,主讲哪些课程。在“教师情况表”中选出“职称”等于“教授”的行,投影“职员号”,连接到“课程情况表”中的“主讲教师号”,用等于连接,再投影“课程名”,得到的临时表仅有一列:“课程名”,是课程情况表的子集。本项查询的连接功能逻辑上为一对多的关系,一位教师主讲的课程可能是多门,或者是一门,也可能没有。查询二:职称为教授的教师,主讲哪些课程。在“教师情况表”中选出“职称”等于“教授”的行,投影“职员号”,连接到“课程情况表”中的“主讲教师号”,用等于连接,再投影“课程名”,得到的临时表仅有一列:“课程名”,是课程情况表的子集。本项查询的连接功能逻辑上为一对多的关系,一位教师主讲的课程可能是多门,或者是一门,也可能没有。 常用查询功能举例
常用查询功能举例 查询三:选修普通化学课程,有哪些学生。在“课程情况表”中,选出“课程名”等于“普通化学”,投影“课程号”,连接到“选课注册表”的“课程号”,再投影到“学号”,连接到“学生情况表”中的“学号”,投影到“姓名”。本项查询有两次连接,跨越3个表,第一次连接是一对多,每门课会有多个学生注册,第二次连接是一对一,同一个学生不能在同一学期重复注册同一门课程。
常用查询功能举例 查询四:机械制造专业的学生,所选课程中有哪些主讲教师,查出课程名称,教师姓名。在“学生情况表”中选择“主修专业”等于“机械制造”,投影“学号”,连接到“选课注册表”中的“学号”,投影到“课程号”,作第二次连接,连接到“课程情况表”的“课程号”,再投影到“课程名称”、“主讲教师”,用“主讲教师”和“教师情况表”中的“职员号”连接,投影到“姓名”,查询结果也是临时表,有“课程名称”、教师“姓名”两列,是课程情况表、教师情况表两个的子集之并。
关系数据库的优缺点 优点: (1)数据结构简单、概念单一。 (2)使用方便。 (3)功能较强。 (4)数据独立性高(同样的存储方式能适应多种应用)。 缺点: (1)查询效率较低。对复杂查询,相互连接的表一多,计算机处理量激增。 (2)复杂事物表述能力弱。单一的表结构较难适应结构复杂的应用对象。 针对关系数据库的结构化查询语言(Structured Query Language,SQL)是通用国际标准。可用SQL编程序,也可命令方式输入,即可查询,又可维护。 关系型数据库系统在一般事物处理领域得到广泛应用,成为数据库的主流。
调整字段的可见性、假名:投影条件组合查询:选择Join和Relate:连接条件组合查询(Select By Attributes)对应SQL
地理信息系统数据管理的模式 • 在地理信息系统领域,提出了地理-关系数据模型,刚开始阶段,空间数据用文件系统管理,属性数据用关系型数据库管理。后来发展成集成式地理-关系数据库系统,空间、属性数据由一个DBMS集成管理。
GIS数据管理软件的实现 • Shapefile是地理-关系数据模型,但是文件系统。 • Personal Geodatabase是小规模的集成式地理-关系数据库系统。矢量坐标用大二进制单字段(Binary Large Object,BLOB)。 • File Geodatabase是中等规模的集成式地理-关系数据库。 • 基于对象-关系模型的数据库系统(Object Oriented-Relational Database System, ORDBS)。有多种软件产品可以利用对象—关系数据库管理矢量型空间、属性数据。 • 面向对象软件技术最初是推行面向对象的程序设计语言。后来也影响到数据库技术的发展,产生了面向对象数据模型为基础的数据库管理系统(OODBMS)。基于面向对象模型的数据库主要是为了满足三方面的需求: • (1)构造比较复杂的数结构,还允许用户自行扩充。既解决关系数据库难以构造复杂数据结构的问题,又可克服专用数据库适性面窄的问题。 • (2)具有特别操作功能。超越一般查询、添加、删除、修改等基本操作,使数据库管理系统除了常规管理功能,具有数据处理能力,允许用户进一步组合,简化应用开发,提高处理效率。 • (3)操作和数据可以相互集成。访问数据时可实现对数据的操作,执行操作时可自然对应所需的数据。 • 完全的面向对象数据库管理系统未得到推广,吸取面向对象思想的关系型数据库系统(ORDBS)却获得了初步成功,而且进入了地理信息系统领域。 • 对象-关系模型应用效果较明显的领域有:市政、公用设施管理,土地、房产管理。
地理-关系模型主要针对矢量,某些情况下也可用于栅格。地理-关系模型主要针对矢量,某些情况下也可用于栅格。
小 结 • 数据量大、管理复杂而产生了数据库系统。 • 目前通用的数据库系统普遍基于关系模型,以表状结构为基础,特别适合属性数据的查询、管理。 • 选择、投影、连接是关系型数据库最常用的三种功能。具体操作顺序往往是灵活的,并不影响查询结果的正确性。软件的界面也是多变的,但是内在功能是按关系数据库理论而实现的,而且往往用SQL语言实现。 • 矢量型地理信息系统普遍采用地理—关系模型,空间、属性数据可以是文件系统,也可以是数据库系统。为了采用数据库系统,在地理-关系模型的基础上发展出了集成式地理-关系模型,对象关系模型。 • 栅格、不规则三角网一般用文件系统,也可用数据库系统。 • 面向对象是软件开发的方法,原先侧重在编程语言、程序设计,带来了软件开发的可重用性、灵活性优势,目前也进入数据库领域,使数据库管理系统具有更强的处理能力、存储结构比较复杂的数据。但对使用软件的一般用户来说,仅感受到使用方便,二次开发简便,软件更新节奏加快,不一定直接体会到面向对象有什么特殊性。