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