资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,大学计算机基础,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,1,大学计算机基础,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,18,单击此处编辑母版标题样式,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,世界气候数据中心,内容,概述,数据库系统,关系型数据库,数据库新技术,构建数据库系统,2,7.1,概述,什么是数据库?,全球十大,数据库,美国图书馆,美国中央情报局,世界气候数据,中心,(WDCC),美国国家能源研究科学计算中心,(,简称,NERSC),如果我们需要查询某件事,最好知道到哪儿去找?,数据库也许就是这个问题的答案,数据库:,Database,,,DB,3,什么是数据库,数据库是一个持久数据的构造化集合,是数据的组织和存储,数据库本身可以看作是一个电子文件柜:存放计算机所收集的数据的容器,数据库用户可以进展增加或删除数据库文件,插入、修改、查询、删除数据,数据库系统Database System是计算机应用软件中非常重要的一个领域,数据库技术是应用最广且经久不衰的计算机技术之一,几乎所有较大工程都采用基于效劳器的数据库系统,4,为什么要使用数据库?,文件管理是“平面的,数据库技术是“立体的,多维的,实现了数据的集中管理,保持数据的独立性,支持事务处理,能够保证数据的完整性,减少数据冗余,防止数据的不一致性,能够管理海量数据,可以存放大量的数据,能有效进展数据的组织和管理,可以高速、高效检索数据,数据库的信息可以重组,可以进展各种数据处理,5,7.2,数据库系统,数据库系统是由数据库与使用数据库的用户或程序组成的系统,数据库系统的构造,数据存储,数据库管理系统,数据库应用软件,例:计算机或移动终端上的“客户端Terminal就是使用数据库的一个应用程序,数据库用户,应用程序设计员:编写数据库应用程序,最终用户:数据库的直接使用者,数据库管理员DBA :负责对数据库进展规划、设计、协调、维护、与管理的工作人员,6,数据库管理系统,DBMS, DB Manager System,数据库是一个抽象的概念,不管是 DBA 还是用户,几乎不能直接和“数据库打交道,建立、使用和管理数据库都是在 DBMS下进展的,用户数据库的应用程序DBMS 数据库中的数据,7,DBMS,是软件和数据的结合,数据库构造化了的电子文件柜,DBMS管理这些文件柜的“职员,是软件和数据的结合,如果不严格区分,DBMS就是数据库,DBMS是软件和数据的结合,是进展数据库创立、管理、维护的软件系统,8,DBMS,的功能,数据定义,数据操纵:查询、添加、修改和删除数据库中的数据,数据控制:设置或者更改数据库用户或角色权限,存储过程:数据库的数据处理程序,目的在于能够方便地从系统表中查询信息,或完成更新数据表相关的管理任务,包括系统管理任务,实现对数据库的优化,保证数据的完整性和平安性,能够进展数据恢复和进展并发任务,数据字典:也叫“元数据,它本身也是一个数据库,是数据的数据,9,常见的数据库产品,Oracle,DB2,Sybase,SQL Server,Access,Visual FoxPro,10,各种用户数据库,使用数据库管理系统能够构建各种用于满足用户需求的数据库,主要可分为:,企业数据库,ERP,个人数据库,Outlook,Internet,上的数据库,11,关系型数据库,数据库是最大的计算机应用类软件产品,已经有了标准性的体系构造和数据库模型,数据库的体系构造建立数据库的一个框架,如何组织数据库中的数据,就是DBMS所采用的数据库模型,目前关系型数据库是主流技术,12,数据库的三级体系构造,内层,决定数据在存储器中的实际位置,需要考虑数据的存取方法,与操作系统的存储器管理相关,数据库模型层公共层,定义数据的逻辑构造,把数据库内部的数据以用户能够承受的形式提供给外层,DBMS的主要功能集中在这个层次,外层接口层,提供给用程序和用户的连接,13,数据库模型,数据库模型定义了数据的逻辑关系,也给出了不同类型数据之间的关系,不同的数据模型对应不同类型的数据管理系统:,层次型数据库,使用树状构造来表示数据库中的记录与其联系,网状型数据库,使用有向图网络来表示数据库中的记录与其联系,关系型数据库,用二维表格的形式来表示数据库中的数据与其联系,面向对象型数据库,是面向对象技术与数据库技术相结合的产物,14,关系型数据库,IBM San Jose Research Lab的于1970年提出,关系模型由表Table的集合而成,确切地说是由“关系的集合而成,关系的根本的定义,一个“关系是一个没有重复值的集合,15,关系的几个术语,名称:表名唯一,元组Tuple:关系中的行,也叫记录,属性Property:关系中的列,属性名,属性值,度:关系中属性的数目,基数:关系中行的总数,主码:某个属性组集,可以唯一确定一个元组,16,ID,CourseName,ClassRoom,Teacher,0001,计算机科学基础,203,汤晓丹,0002,微积分,301,李士明,0003,大学英语,204,S John,0004,C,语言程序设计,106,王 维,0005,Java,程序设计,315,范中延,关系例如,CourseTB,关系名,列,属性,主码,行,元组,度:,4,基数:,5,17,关系型数据库,关系型数据库的组成,数据库表记录属性,关系是表与表之间存在的联系,关系型,数据库的外部形态就是表,,但,数据在数据库中,不,是以表的形式存储的,18,关系运算,关系的集合运算双目运算,并Union,交Intersection,差Difference,积Cartesian Product,笛卡尔积 ,合并操作,,形成的新关系包含了两个关系中所有的元组,操作后形成的新关系包含了,同时出现在两个关系中,的元组,找出一个关系中存在的而另一个关系中不存在的元组,两个关系的笛卡尔有序对的集合,19,集合,运算图示,r1,、,r2,为参与运算的原关系,,r3,是运算得到的新关系,20,关系运算,专用的关系运算,选择Select,投影Project,连接Link,除Divide,将两个关系组合成一个新关系,与投影相关,单目操作,,,根据给定的条件从关系,中,元,组,形成一个新,关系,单目操作,,,从关系中选取几个属性,查找,形成,一个新关系,21,专用的,关系运算图示,r1,、,r2,为参与运算的原关系,,r3,是运算得到的新关系,22,SQL,语言,SQL Structured Query Language构造化查询语言,最早是IBM为其关系数据库管理系统System R开发的一种查询语言,目前大多数关系数据库都支持SQL,SQL为关系型数据库的标准语言,SQL/99版本,用户或者为用户编制的访问数据库的应用程序都使用SQL对数据库操作,23,SQL,语言,SQL本质上就是计算机编程语言,惟一的差异就是它专门针对关系型数据库,一般的程序设计语言,如C、Java等语言,缺乏对数据库的操作,但通过嵌入SQL语句就可以扩展其对数据库操作的能力,数据库应用设计根本上采用这个途径,把这样的通用编程语言叫做宿主语言Host Language,24,SQL的四个局部,数据查询语言DQLData Query Language,Select,数据操纵语言DMLData Manipulation Language,InsertUpdateDelete,数据定义语言DDLData Definition Language ,定义和管理数据库中各种对象,Create创立Alter修改Drop删除,数据控制语言DCLData Control Language,DBA用于数据控制操作,GrantDenyRevoke,25,SQL,的特点,非过程化语言,一次处理一个记录,允许用户在高层数据构造上工作,集合输入,集合输出,不要求指定数据存放方法集中精力于要得到的结果,SQL语句使用查询优化器数据存取的快速手段,主要表达在查询功能,所以也叫形式表达,统一的语言,用于所有用户的DB活动DBA、程序员与其他用户,多种功能:查询、数据定义、修改数据、建立确保数据库平安的约束条件等,所有关系数据库的公共语言,用SQL编写的程序都是可以移植的,26,SQL,查询例子,假设有一个表为,title,,其中一列为产品类型,type,,一列是产品价格,price,,现在要将这两列数据按照价格,price,降序排列,使用,SQL,语句编写的程序为:,use title,select top 3 to type,,,price,from title order by price desc,运行结果为:,type price,电视机,收音机,手电筒,700,27,非关系型数据库NoSQL,BigTableGoogle,Cassandra,MongoDB,CouchDB,28,BigTableGoogle,BigTable是一种压缩的、高性能的、高可扩展性的,基于Google文件系统Google ,GFS的数据存储系统,用于存储大规模构造化数据,适用于云计算,MapReduce常通过BigTable来存储或更改数据,BigTable不是传统的关系型数据库,不支持JOIN这样的SQL语法,BigTable更像今日的NoSQL的Table-oriented,优势在于扩展性和性能。BigTable的Table数据构造包括row key、col key和timestamp,其中row key用于存储倒转的URL,例如必须改成com.google.www,29,Cassandra,Apache Cassandra(社区内一般简称为C*)是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与AmazonDynamo的完全分布式架构于一身。Facebook于2021将 Cassandra 开源,此后,由于Cassandra良好的可扩展性和性能,被Digg、Twitter、Hulu、Netflix等知名网站所采用,成为了一种流行的分布式构造化数据存储方案,在数据库排行榜“DB-Engines Ranking中,Cassandra排在第十位,是非关系型数据库中排名第二高的(次于MongoDB),30,MongoDB,MongoDB是一种文件导向数据库管理系统,由C+撰写而成,以此来解决应用程序开发社区中的大量现实问题。2007年10月,MongoDB由10gen团队所开展。2021年2月首度推出,MongoDB可以从开放源代码来建构与安装,更常见的是安装binary文件,目前有Windows,Linux,OS X和Solaris版本。许多Linux包管理系统现在已包含了MongoDB的包,包括CentOS和Fedora,Debian和Ubuntu,Gentoo以与Arch Linux。同样可从官方网站获取,31,CouchDB,Apache CouchDB是一个开源数据库,专注于易用性和成为完全拥抱web的数据库,它是一个使用JSON作为存储格式,JavaScript作为查询语言,MapReduce和HTTP作为API的NoSQL数据,其中一个显著的功能就是多主复制。CouchDB的第一个版本发布在2005年,在2021年成为了Apache的工程,不同于关系型DB,CouchDB没有将数据和关系存储在表格,替代的,每个数据库是一个独立的文档集合,每一个文档维护其自己独立的数据和自包涵的schema,一个应用程序可能会访问多个数据库,比方其中一个位于用户的手机上,另一个位于在远程的效劳器上,文档的元数据包含版本信息,让其能够合并可能因为数据库链接丧失导致的任何差异,32,7.4,数据库新技术,面向对象数据库,对象-关系数据库,通过在关系数据库中增加对象类型,同时将一些对象处理方法参加到SQL语言,以处理这些被增加的数据类型,分布式数据库,基于关系模型,位于网络的多个计算机上,两种根本类型:分割式、复制式,并行数据库Parallel Database System,支持多处理器并行执行查询和事务处理的数据库任务,自然语言数据库,用户可以使用自然语言访问数据库,33,7.4,数据库新技术,决策支持Decision Support,帮助管理者“发现问题、查明原因并进展智能化决策,管理信息系统MIS,联机事务处理OLTP,On-Line Transact Processing,联机分析处理OLAP,On-Line Analytical Processing,数据仓库Data Warehouse,DW,面向主题的、集成的、稳定的、随时间变化的数据存储,用于决策支持,稳定的意义是数据插入后不再改变,但可以被删除,数据集市Data Mart,DM,与数据仓库的区别在于它是特定的和可更新的,34,7.4,数据库新技术,数据挖掘Data Mining,探测型的数据分析,从数据库中找到感兴趣的“模式,建立在数据库已经保存有海量数据记录的根底上,以统计分析为根底,运用人工智能技术,大数据Big Data,存于网络中的海量数据,定义:在限定的时间内无法使用传统的数据处理方法进展筛选、提取、处理和管理的海量数据,大数据处理根底几乎涵盖了目前先进的计算机技术,如并行处理、分布式处理、网络存储系统等,35,构建数据库系统,现代的数据库系统都是基于网络效劳器构造,数据库系统由两个简单的局部组成C/S模式,效劳器Server,客户Client数据库应用程序,一些数据库应用直接使用网络软件如浏览器IE进展数据库的访问,用户不需要专门的数据库应用程序,这种构造那么叫做B/SBrowse/Server模式,36,C/S,模式,效劳器可被认为是DBMS,或者说DBMS安装在效劳器上,客户端程序和效劳器程序安装在同一台机器上单用户构造,如果多个用户使用不同的客户端机器访问多台机器上的数据库效劳器分布式构造,37,Access 2003,数据库,38,新建数据库,39,数据库的建立,/,查询,建立数据库Access数据库中的信息主要是以表的形式来实现的建表,Access中表的模板,或设计视图来设计表,查询的建立对数据库进展操作查询创立可以通过向导,或设计视图,选择查询从某个表中读出所需的信息,追加查询从某表向另一表中增加记录,删除查询在某表中删除某些符合删除条件的记录,生成表查询根据某些表中内容生成一个新表等,40,小结,概述,数据库系统,关系型数据库,数据库新技术,构建数据库系统,41,谢谢欣赏,42,谢谢观赏,
展开阅读全文