1、数据库简介
学习目标:
1、了解数据库的概念和意义
2、了解不同的数据库软件
学习过程:
一、数据库的作用
1、数据库技术
我们以前使用存储数据的方法写成磁盘文件,保存在文件中,但是随着信息量不断增大,信息的关系也越来越复杂,传统的文件系统已经不能满足人们的需要,
数据库技术应运而生。数据库技术是计算机科学技术的一个重要分支。从20世纪50年代中期开始,计算机应用从科学研究部门扩展到企业管理及*行政部门,人们对数据处理的要求也越来越高。
我们对数据库技术要求主要包括几点:
-
存储大量数据。
-
方便检索和访问。
-
保持数据信息的一致、完整。
-
共享和安全。
-
通过组合分析,产生新的有用信息。
2、数据库的发展史
-
萌芽阶段——文件系统。
-
使用磁盘文件来存储数据。
-
初级阶段——第一代数据库。
-
出现了网状模型、层次模型的数据库。
-
中级阶段——第二代数据库。
-
关系型数据库和结构化查询语言SQL。
-
高级阶段——新一代数据库 “关系-对象”型数据库。
目前占据主流的是关系型数据库,面向对象的数据库由于效率问题一直不能解决,所以应用范围还是不广,至于现在谈得比较多的的“nosql”技术,适用范围有限,大部分企业级的应用还是使用关系型数据库,这也是我们学习的重点。
二、关系型数据库
关系型数据库是建立在关系模型基础上的数据库,它使用关系模型的理论基础:关系代数、关系演算、关系逻辑。所以关系型数据库是有着非常严谨的数学理论基础的。但是我们学习关系型数据库却并不一定要学习这些数学知识,只需要了解即可。
在关系型数据库中用二维表格表示实体集,用关键码进行数据导航的数据模型称为关系模型(relational Model)。这里数据导航(data navigation)是指从已知数据查找未知数据的过程和方法。
仅有数据库保存数据是不够的,必须还要对数据进行关系,所以一般还需要有一个数据库管理系统DBMS。数据库和数据库关系系统的关系如下图:
三、主流数据库的介绍
由于数据库非常重要,所以有很多大公司都有实现了关系型数据库的产品,这里介绍一下比较有名的四种关系型数据库产品:
1、IBM的DB2
历史最悠久的关系型数据库系统。DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于OS/2、Windows等平台下。
2、Microsoft(微软)公司的数据库产品SQL Server
最初是由Microsoft Sybase和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。SQL Server 2008是SQL Server最新的版本,推出了许多新的特性和关键的改进,微软的这个数据平台满足这些数据爆炸和下一代数据驱动应用程序的需求,支持数据平台愿景:关键任务企业数据平台、动态开发、关系数据和商业智能。
3、Oracle数据库产品
是当前数据库技术的典型代表,从Oracle 9i开始,Oracle数据库便发展成为关系-对象型数据库系统产品,并且结合的很好。目前最新版本是oracle11g。
4、MySQL数据库
开源免费的优秀数据库产品,隶属于oracle-sun公司,速度最快。
在这段时间的学习中我们将会主要以oracle产品讲解。
四、Oracle数据库的特点
Oracle数据库可以说是关系数据库的技术标杆,一直引领着数据库的发展。Oracle数据库主要一下几个特点:
1、对象/关系模型:
Oracle使用了对象/关系模型,也就是在完全支持传统关系模型的基础上,为对象机制提供了有限的支持。Oracle不仅能够处理传统的表结构信息,而且能够管理由C++、Smalltalk 以及其他开发工具生成的多媒体数据类型,如文本、视频、图形和空间对象等。这种做法允许现有软件开发产品与工具软件及Oracle应用软件共存,保护了客户的投资。
2、动态可伸缩性:
Oracle引入了连接存储池和多路复用机制,提供了对大型对象的支持,当需要支持一些特殊数据类型时,用户可以创建软件插件来实现。Oracle 8采用了高级网络技术,提高共享池和连接管理器来提高系统的可括性,容量可从几GB到几百TB,可允许10万用户同时并行访问,Oracle的数据库中每个表可以容纳1000列,能满足目前数据库及数据仓库应用的需要。
3、系统的可用性和易用性:
Oracle提供了灵活多样的数据分区功能,一个分区可以是一个大型表,也可以是索引易于管理的小块,可以根据数据的取值分区,有效地提高了系统操作能力及数据可用性,减少I/O瓶颈。Oracle还对并行处理进行了改进,在位图索引、查询、排序、连接和一般索引扫描等操作引入并行处理,提高了单个查询的并行度。 l系统的可管理性和数据安全功能:Oracle提供了自动备份和恢复功能,改进了对大规模和更加细化的分布式操作系统的支持,加强了SQL操作复制的并行性。为了帮助客户有效地管理整个数据库和应用系统,Oracle还提供了企业管理系统,数据库管理员可以从一个集中控制台拖放式图形用户界面管理Oracle的系统环境。
4、对多平台的支持与开放性:
网络结构往往含有多个平台,Oracle可以运行于目前所有主流平台上,如SUN Solarise、Sequent Dynix/PTX、Intel NT、HP UX、DEC UNIX、IBM AIX等。Oracle的异构服务为同其他数据源以及使用SQL和PL/SQL的服务进行通信提供了必要的基础设施。