数据库技术讲座精品文稿.ppt
数据库技术讲座第1页,本讲稿共29页主题一主题一数据库应用系统的体系结构数据库应用系统的体系结构第2页,本讲稿共29页数据库应用系统的体系结构数据库应用系统的体系结构单用户结构单用户结构主从式结构主从式结构分布式结构分布式结构客户客户/服务器结构服务器结构浏览器浏览器/应用服务器应用服务器/数据库服务器结构数据库服务器结构第3页,本讲稿共29页单用户数据库系统单用户数据库系统整个数据库系统整个数据库系统(应用程序、应用程序、DBMS、数据、数据)装在一装在一台计算机上,为一个用户独占,不同机器之间不台计算机上,为一个用户独占,不同机器之间不能共享数据能共享数据早期的最简单的数据库系统早期的最简单的数据库系统例如一个企业的各个部门都使用本部门的机器来管理本部例如一个企业的各个部门都使用本部门的机器来管理本部门的数据,各个部门的机器是独立的。由于不同部门之间门的数据,各个部门的机器是独立的。由于不同部门之间不能共享数据,因此企业内部存在大量的冗余数据不能共享数据,因此企业内部存在大量的冗余数据第4页,本讲稿共29页主从式结构的数据库系统(主从式结构的数据库系统(1)一个主机带多个终端的多用户结构一个主机带多个终端的多用户结构l数据库系统(包括应用程序、数据库系统(包括应用程序、DBMS、数据)、数据),都集中存放在主机上,所有处理任务都由,都集中存放在主机上,所有处理任务都由主机来完成主机来完成l各个用户通过主机的终端并发地存取数据库,各个用户通过主机的终端并发地存取数据库,共享数据资源共享数据资源第5页,本讲稿共29页主从式结构的数据库系统(主从式结构的数据库系统(2)优点优点l易于管理、控制与维护易于管理、控制与维护缺点缺点l当当终终端端用用户户数数目目增增加加到到一一定定程程度度后后,主主机机的的任任务务会会过过分分繁繁重重,成成为为瓶瓶颈颈,从从而而使使系系统统性性能下降能下降l系系统统的的可可靠靠性性依依赖赖主主机机,当当主主机机出出现现故故障障时时,整个系统都不能使用整个系统都不能使用第6页,本讲稿共29页分布式结构的数据库系统(分布式结构的数据库系统(1)数据库中的数据在逻辑上是一个整体,但数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上物理地分布在计算机网络的不同结点上l网络中的每个结点都可以独立处理本地数据库网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用中的数据,执行局部应用l同时也可以同时存取和处理多个异地数据库中同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用的数据,执行全局应用第7页,本讲稿共29页分布式结构的数据库系统(分布式结构的数据库系统(2)优点优点l适应了地理上分散的公司、团体和组织对于适应了地理上分散的公司、团体和组织对于数据库应用的需求数据库应用的需求缺点缺点l数据的分布存放给数据的处理、管理与维护数据的分布存放给数据的处理、管理与维护带来困难带来困难l当用户需要经常访问远程数据时,系统效率当用户需要经常访问远程数据时,系统效率会明显地受到网络传输的制约会明显地受到网络传输的制约第8页,本讲稿共29页C/S结构的数据库系统(结构的数据库系统(1)客户服务器客户服务器(Client/Server)l一种特殊的分布式处理,协作完成。把一个计算机系统分一种特殊的分布式处理,协作完成。把一个计算机系统分为三个基本组成:为三个基本组成:l服务器:专门从事提供某项服务功能的计算机系统服务器:专门从事提供某项服务功能的计算机系统l客户机:面向最终用户、完成各自业务处理客户机:面向最终用户、完成各自业务处理l中间件:连接服务器和客户机的部分中间件:连接服务器和客户机的部分C/S结构的数据库系统把结构的数据库系统把DBMS功能和应用分开功能和应用分开l网络中某个(些)结点上的计算机专门用于执行网络中某个(些)结点上的计算机专门用于执行DBMS功能,功能,称为数据库服务器,简称称为数据库服务器,简称服务器服务器l其他结点上的计算机安装其他结点上的计算机安装DBMS的外围应用开发工具,用户的外围应用开发工具,用户的应用系统,称为的应用系统,称为客户机客户机第9页,本讲稿共29页C/S结构数据库系统的种类结构数据库系统的种类集中的服务器结构集中的服务器结构l一台数据库服务器,多台客户机一台数据库服务器,多台客户机分布的服务器结构分布的服务器结构l在网络中有多台数据库服务器在网络中有多台数据库服务器l分布的服务器结构是客户服务器与分布式分布的服务器结构是客户服务器与分布式数据库的结合数据库的结合第10页,本讲稿共29页C/S结构数据库系统的优点结构数据库系统的优点客户端的用户请求被传送到数据库服务器,客户端的用户请求被传送到数据库服务器,数据库服务器进行处理后,只将结果返回数据库服务器进行处理后,只将结果返回给用户,从而显著减少了数据传输量给用户,从而显著减少了数据传输量数据库更加开放数据库更加开放l客户与服务器一般都能在多种不同的硬件和软客户与服务器一般都能在多种不同的硬件和软件平台上运行件平台上运行l可以使用不同厂商的数据库应用开发工具可以使用不同厂商的数据库应用开发工具第11页,本讲稿共29页C/S结构数据库系统的缺点结构数据库系统的缺点“胖客户胖客户”问题:问题:l系统安装复杂,工作量大系统安装复杂,工作量大l应用维护困难,难于保密,造成安全性差应用维护困难,难于保密,造成安全性差l相同的应用程序要重复安装在每一台客户机相同的应用程序要重复安装在每一台客户机上,从系统总体来看,大大浪费了系统资源上,从系统总体来看,大大浪费了系统资源l系统规模达到数百数千台客户机,它们的硬系统规模达到数百数千台客户机,它们的硬件配置、操作系统又常常不同,要为每一个件配置、操作系统又常常不同,要为每一个客户机安装应用程序和相应的工具模块,其客户机安装应用程序和相应的工具模块,其安装维护代价便不可接受了安装维护代价便不可接受了第12页,本讲稿共29页浏览器浏览器/应用服务器应用服务器/数据库服务器结构数据库服务器结构Browser/Server客户端:客户端:l浏览器软件、用户界面浏览器软件、用户界面l浏览器的界面统一,广大用户容易掌握浏览器的界面统一,广大用户容易掌握l大大减少了培训时间与费用大大减少了培训时间与费用服务器端分为两部分:服务器端分为两部分:lWeb服务器、应用服务器服务器、应用服务器l数据库服务器等数据库服务器等l大大减少了系统开发和维护代价大大减少了系统开发和维护代价l能够支持数万甚至更多的用户能够支持数万甚至更多的用户第13页,本讲稿共29页理解理解DBMS的两个问题的两个问题多用户或单用户多用户或单用户数据库可能是集中或分布式的数据库可能是集中或分布式的l两层系统和三层系统两层系统和三层系统l两层系统中客户端和服务器端需要不同的软件两层系统中客户端和服务器端需要不同的软件l三层系统加入了中间件,为一个三层系统加入了中间件,为一个DBMS的客户端的客户端访问另一个访问另一个DBMS的数据提供了一种手段的数据提供了一种手段l分布式分布式DBMS实现的不同方式实现的不同方式l数据在地理上分开数据在地理上分开l多点存储相同数据库多点存储相同数据库第14页,本讲稿共29页应用实例应用实例SOHO族族l通过邮件订单卖产品通过邮件订单卖产品学校董事会学校董事会l集中系统,各个学校可访问中心办公室的服集中系统,各个学校可访问中心办公室的服务器(如果采用分布式呢?)务器(如果采用分布式呢?)汽车连锁店汽车连锁店l运行局部管理者购买不同运行局部管理者购买不同DBMS的权限,可的权限,可以安装和使用以安装和使用DBMS,连接到中心办公室系,连接到中心办公室系统并与之通信统并与之通信第15页,本讲稿共29页主题二主题二数据库主流产品介绍数据库主流产品介绍 第16页,本讲稿共29页关系型数据库主流产品关系型数据库主流产品nIBM DB2nSYBASEnORACLEnMS SQL Servern 市场份额市场份额第17页,本讲稿共29页大型数据库的功能大型数据库的功能基本功能基本功能l使用使用SQLSQL语言管理和维护数据语言管理和维护数据l支持支持Client/ServerClient/Server体系结构体系结构l支持事务处理支持事务处理l数据库加密、设置用户组和用户的密码和权限等安全策略数据库加密、设置用户组和用户的密码和权限等安全策略新功能新功能l能存储所有类型的信息,包括传统的关系型数据、二进制信息、文能存储所有类型的信息,包括传统的关系型数据、二进制信息、文本、图片、多媒体以及与特殊应用有关的信息本、图片、多媒体以及与特殊应用有关的信息l支持服务器端的存储过程快速开发支持服务器端的存储过程快速开发l转换及迁移工具转换及迁移工具l提供多种电子商务整合方案提供多种电子商务整合方案l支持支持WebWeb标准的编程标准的编程l多用户数据仓库管理能力多用户数据仓库管理能力l提供大规模的联机事务处理(提供大规模的联机事务处理(OLTPOLTP)l提供多种电子商务整合方案提供多种电子商务整合方案第18页,本讲稿共29页SQL ServerSQL Server的版本的版本企业版企业版Enterprise Editionl 支持所有的SQL Server 2000 特性,可作为大型Web 站点企业OLTP 联机事务处理以及数据仓库系统等的产品数据库服务器标准版标准版Standard Edition l 用于小型的工作组或部门个人版个人版Personal Edition l 用于单机系统或客户机开发者版开发者版Developer Editionl 用于开发需要SQL Server 2000 作为数据存储设备的应用程序桌面引擎桌面引擎Desktop Engine 和和Windows CE 版版第19页,本讲稿共29页SQL Server 2000SQL Server 2000的系统要求的系统要求第20页,本讲稿共29页主题三主题三数据库应用开发工具数据库应用开发工具第21页,本讲稿共29页数据库应用开发工具数据库应用开发工具PowerBuilderVisual C+Visual BasicDelphiJava 第22页,本讲稿共29页共同的特点共同的特点支持客户机支持客户机/服务器体系结构服务器体系结构,作为数据库,作为数据库应用程序的开发工具在客户机中使用。应用程序的开发工具在客户机中使用。采用采用面向对象和可视化技术面向对象和可视化技术(窗口、菜单、窗口、菜单、控件等对象控件等对象),提供可视化的应用开发环境,提供可视化的应用开发环境,采用采用事件驱动工作方式事件驱动工作方式。可以方便快捷地。可以方便快捷地开发出利用后台服务器中的数据和数据库开发出利用后台服务器中的数据和数据库管理系统的数据库应用程序。管理系统的数据库应用程序。提供对目前流行的大多数关系数据库管理提供对目前流行的大多数关系数据库管理系统的支持系统的支持,即所开发的应用程序是独立,即所开发的应用程序是独立于服务器上的数据库管理系统的。于服务器上的数据库管理系统的。第23页,本讲稿共29页lODBClJDBCl其它:如其它:如RDO,ADO和和OLEDB。这些。这些接口目前并不能代替接口目前并不能代替ODBC。应用程序访问数据库的方式应用程序访问数据库的方式第24页,本讲稿共29页ODBCODBC(Open Database Connectivity),),即开放即开放式数据库连接,是微软公司提出的、式数据库连接,是微软公司提出的、用用C语言实语言实现的现的数据库连接标准。数据库连接标准。通过通过ODBC API,应用程序可以存取保存在多种不同,应用程序可以存取保存在多种不同数据库管理系统(数据库管理系统(DBMS)中的数据,而不论每个)中的数据,而不论每个DBMS使用了何种数据存储格式和编程接口。使用了何种数据存储格式和编程接口。首先利用首先利用WINDOWS下控制面板中的下控制面板中的“ODBC”选选项来创建驱动某种本地或远程数据库的数据源,然项来创建驱动某种本地或远程数据库的数据源,然后就可以在本地计算机中利用定义好的数据源存取后就可以在本地计算机中利用定义好的数据源存取后台数据库中的数据了。后台数据库中的数据了。第25页,本讲稿共29页JDBC是一种可用于执行是一种可用于执行SQL语句的语句的Java API。它由一些。它由一些Java语言编写的类和界面组成。语言编写的类和界面组成。JDBC为数据库应用开发人员、数据库前台工具为数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯使开发人员可以用纯Java语言编写完整的数据库应语言编写完整的数据库应用程序。用程序。第26页,本讲稿共29页比较比较比较比较:可以从可以从Java中使用中使用ODBC,为什么还需要,为什么还需要JDBC?ODBC并不适合在并不适合在Java中直接使用。中直接使用。lODBC是一个是一个C语言实现的语言实现的API,从,从Java程序调用本地的程序调用本地的C程序会带来一系列类似安全性、完整性、健壮性的缺点。程序会带来一系列类似安全性、完整性、健壮性的缺点。完全精确地实现从完全精确地实现从C代码代码ODBC到到Java API写的写的ODBC的翻译也并不令人满意,比如指针。的翻译也并不令人满意,比如指针。ODBC并不容易学习,它将简单特性和复杂特性混杂并不容易学习,它将简单特性和复杂特性混杂在一起,甚至对非常简单的查询都有复杂的选项。而在一起,甚至对非常简单的查询都有复杂的选项。而JDBC刚好相反,它保持了简单事物的简单性,但又刚好相反,它保持了简单事物的简单性,但又允许复杂的特性。允许复杂的特性。第27页,本讲稿共29页JavaAPI对于纯对于纯Java方案来说是必须的。方案来说是必须的。l当使用当使用ODBC时,人们必须在每一台客户机上安装时,人们必须在每一台客户机上安装ODBC驱动驱动器和驱动管理器。器和驱动管理器。l如果如果JDBC驱动器是完全用驱动器是完全用Java语言实现的话,那么语言实现的话,那么JDBC的代的代码就可以自动的下载和安装,并保证其安全性,而且,这将适应从网码就可以自动的下载和安装,并保证其安全性,而且,这将适应从网络计算机到大型主机的任何络计算机到大型主机的任何Java平台。平台。JDBC支持两层模型,也支持三层模型访问数据库。支持两层模型,也支持三层模型访问数据库。第28页,本讲稿共29页小结数据库应用系统的体系结构数据库应用系统的体系结构lC/S,B/S,分布式分布式,数据库新技术发展数据库新技术发展l与其他学科相互融合,应用更广泛与其他学科相互融合,应用更广泛数据库主流产品和应用开发工具数据库主流产品和应用开发工具l前台开发工具和后台数据库平台可灵活组合前台开发工具和后台数据库平台可灵活组合l数据库设计、应用开发和数据库连接是数据数据库设计、应用开发和数据库连接是数据库应用软件开发的必要步骤库应用软件开发的必要步骤第29页,本讲稿共29页