主流数据库简介及应用实例什么是数据库?数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。在经济管理的日常工作中,常常需要把某些相关的数据放进这样的“仓库”,并根据管理的需要进行相应的处理。例如,企业或事业单位的人事部门常常要把本单位职工的基本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等)存放在表中,这张表就可以看成是一个数据库。有了这个数据仓库我们就可以根据需要随时查询某职工的基本情况,也可以查询工资在某个范围内的职工人数等等。此外,在财务管理、仓库管理、生产管理中也需要建立众多的这种数据库,使其可以利用计算机实现财务、仓库、生产的自动化管理。数据库就像一个“仓库”什么是关系数据库?关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式的表格作用的实质是装载着数据项的特殊收集体,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库表格。几种关系数据库20世纪80年代以来,计算机厂商推出的数据库管理系统几乎都支持关系模型,数据库领域当前的研究工作大都以关系模型为基础。目前主流的关系数据库有:ORACLEDB2SybaseSQLServerMySQLVisualFoxpro6.0ORACLE数据库系统是美国ORACLE公司提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)体系结构的数据库之一。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。具有可用性强、可扩展性强、数据安全性强、稳定性强等优点。Oracle9i的两种工作模式•Oracle9i提供两种工作模式,一种是客户机/服务器模式,另一种是浏览器/服务器模式。数据库服务器数据库服务器......客户机客户机客户机......客户机/服务器模式客户机客户机客户机......数据库服务器数据库服务器......浏览器后台数据库系统浏览器/服务器模式网络互连Oracle9i的常用工作界面•用户在其中一台上安装数据库服务器,另一台安装客户机管理端,可以通过交换机或集线器等网络连接设备将二者联系构成局域网。•服务器通过管理程序可以管理自己,客户机也可以通过客户机管理端访问和管理服务器特点(1)无范需求式要求,可根据用户的实际系统需求构造数据库。(2)采用标准的SQL语言。(3)具有丰富的开发工具,覆盖开发周期的各阶段。(4)支持大型数据库,数据类型可以支持大至4GB的二进制数据,为数据库的面向存储提供数据支持。(5)具有第四代语言的开发工具。服务器技术执行副总裁Chuck----oracle公司的核心人物(6)具有字符界面和图形界面,易于开发(7)可以控制用户权限,提供数据保护功能,可以监控数据库的运行状态,调整数据缓冲区大小。(8)分布优化查询功能。(9)数据透明、网络透明、支持异种网络、异构数据库系统。(10)支持客户机/服务器体系结构及混合的体系结构。(11)实现了两阶段提交、多线索查询手段特点(12)支持多种操作系统平台(UNIX、Windows、OS/2等)。(13)数据安全保护措施:没有读锁,采取快照SNAP方式完全消除了分布读写冲突自动检测死锁和冲突并解决。(14)数据安全级别为C2及(最高级)。(15)支持多字节码制,支持多种语言文字编码。(16)具有面向制造系统的管理信息系统和财务应用系统。特点DB2IBM公司研制的一种关系型数据库系统。DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于OS/2、Windows等平台下。DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。DB2具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤为适用。2006年7月14日,IBM全球同步发布了一款具有划时代意义的数据库产品——DB29这款新品最大特点即是率先实现了可扩展标记语言(XML)和关系数据间的无缝交互,而无需考虑数据的格式、平台或位置。IBM发布DB29,将数据库领域带入XML时代。XML以其可扩展性、与平台无关性和层次结构等特性,成为构建SOA(服务导向架构)时不同应用间进行数据交换的主流语言。而如何存储和管理几何量级的XML数据、直接支持原生XML文档成为SOA构建效率和质量的关键。在这这种情况下,IBM推出了全面支持OriginalXML的DB29,使XML数据的存储问题迎刃而解,开创了一个新的XML数据库时代。数据库产品——DB29特点(1)支持面向对象的编程。(2)支持多媒体应用程序。(3)具有较强的备份和恢复能力。(4)支持存储过程和触发器,用户可以在建立数据表时定义复杂的完整性规则。(5)支持递归的SQL查询。(6)支持异构分布式数据库访问。(7)支持数据复制。IBM董事长兼ceo彭明盛美国Sybase公司研制的一种关系型数据库系统,是一种典型的UNIX或WindowsNT平台上客户机/服务器环境下的大型数据库系统。Sybase提供了一套应用程序编程接口和库,可以与非Sybase数据源及服务器集成,允许在多个数据库之间复制数据,适于创建多层应用。系统具有完备的触发器、存储过程、规则以及完整性定义,支持优化查询,具有较好的数据安全性。Sybase虽然没有oracle、db2名气响,但是国内许多大企业都使用它,尤其金融企业。(1)Sybase提供了完整的数据库解决方案QuickStartDataMart,具有良好的性能,并支持第三方数据展现工具。(2)从QuickStartDataMart的名称不难看出,它尤其适合于数据集市应用。(3)另外,Sybase可以提供面向电信、金融、保险、医疗保健这4个行业的客户关系管理(CRM)产品,在这4个产品中,有80%的功能是共性的,有20%的功能需要Sybase与合作伙伴针对不同需求共同开发。特点SQLServerSQLServer是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。SQLServer数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,可以构建和管理用于业务的高可用和高性能的数据应用程序。SQLServer数据引擎是很多企业数据管理解决方案的核心。此外,SQLServer结合了分析、报表、集成和通知功能。使企业可以构建和部署经济有效的BI解决方案,数据应用推向业务的各个领域。1.真正的客户机/服务器体系结构。2.图形化用户界面,使系统管理和数据库管理更加直观、简单。3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。4.SQLServer与WindowsNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQLServer也可以很好地与MicrosoftBackOffice产品集成。5.具有很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑到运行Windows2000的大型多处理器等多种平台使用。6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。特点MySQLMySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。其缺点主要为规模小、功能有限、不支持视图、事件等。特点(1)MySQL是开源的。(2)平台独立性。(3)MySQL服务器是一个快速的、可靠的和易于使用的数据库服务器。(4)MySQL使用C和C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。(5)MySQL支持多线程,充分利用CPU资源。(6)MySQL既能够作为一个单独的应用程序应用在客户机/服务器网络环境中,也能够作为一个库而嵌入到其他软件中。(7)提供TCP/IP/ODBC和JDBC等多中数据库连接途径(8)提供用于管理、检查、优化数据库操作的管理工具(9)可以处理拥有上千万条记录的大型数据库。VisualFoxpro•MicrosoftVisualFoxPro关系数据库系统是集数据库结构设计和应用程序开发的一种功能强大的面向对象的开发环境。它源于FoxSoftware公司的FoxBase产品。VisualFoxpro6.0的特点•VisualFoxPro产品使用简单,易于掌握。在中小型公司和企业在数据量不大,数据库的安全性要求不高时往往会选择此软件进行开发设计。•VisualFoxPro6.0是一个功能强大的数据库管理系统,使用户能够迅速而又简单地建立数据库,方便地使用和管理数据。•利用可视化的设计工具和向导,用户可以快速创建表单、查询和打印报表。数据库设计实例——图书管理数据库的设计•现在要求为某学校图书馆设计一个图书管理系统的数据库,背景如下:•该学校是一所多学科、多层次大学,学校有高职生、本科生(含一本、二本、三本)、硕士研究生(含MBA)和博士研究生等多种层次的学生,图书馆为全校学生和教职工提供图书借阅服务。•图书馆按照图书的性质(中文图书、外文图书、新书)将借阅分为不同的借阅种类:中文图书借阅、外文图书借阅和(新书)短期外借;不同的读者对象也有不同的借阅要求。•对每种借阅类型和读者,其借阅册数、借期、是否允许续借、续借期限等不同。不同借阅种类和借阅对象的借阅要求规定如附1所示。–例如:本专科学生可以借中文图书5本,借期30天,可以续借一次,续借15天。•“新书”的概念是相对的,一本新书在上架(或入库)后的60天内只提供短期外借,此后即自动地成为中文图书或者外文图书。•借出的图书不能在当天归还。•每次借阅后读者最多可以续借一册图书一次。•在本馆所借的文献资料,均应在规定的期限内按时归还。逾期不还者,将分别按以下规定处理:–中文图书借阅:每册每天罚款0.2元。–新书借阅和外文图书借阅:每册每天罚款0.5元。–在超期图书归还并缴清罚款之前,读者不可借阅图书;超期图书也不能续借。•对于超期的图书,图书管理系统将自动向读者电子邮箱中发一封电子邮件催还图书。•每个读者都要有一个编号,并记录读者的姓名、性别、类型(学生、教师等)、单位、电子信箱等。•图书馆采编部负责对入库的文献资料按规定进行编目、著录、加工、建库。对每本图书、杂志,要记录其基本信息,如名称、作者、ISBN号、出版地、出版社、出版时间、字数、单价、内容简介、所属分类号等,其中,图书分类按照中图法分类规则进行分类。中图法分类简表见后。•学校有三个校区,相应地,馆藏分布于三个分馆中:A图书馆(侧重于经济管理、综合类)、B图书馆(侧重于理工、计算机类)和C图书馆(侧重于法学、外语、体育、艺术、音乐等方面)。图书馆中每种图书可能采购多册,分布在多个馆中。全校师生可以在任何一个分馆中借阅。•每个分馆中的图书借完为止,如本部图书馆有某图书1本,这本图书借出后,在归还之前,本部图书馆中就查阅到该图书为借出状态,而且,馆藏已空,但是读者可以到其他馆中借阅。•图书的归还遵循属地原则,即从哪个分馆借出的图书必须要在那个分馆中归还。•图书馆管理员有权更改图书到期时间,比如将本来暑假到期的图书的到期时间改为9月10日。•读者可以在网上查询自己的图书借阅情况,一般读者只可以查阅到自己的借阅