您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 2016数据库设计讲义
数据库系统设计与开发讲义浙江大学城市学院第1章数据库系统实例剖析本章以基于Java语言和MySql数据库的图书管理系统为例,分析其功能实现形式,帮助读者建立数据库应用系统基本形式的概念、组成部分、以及DBMS和应用程序在应用系统中的地位的概念;通过分析图书管理系统的开发步骤,引出后续章节的安排:数据库逻辑结构设计(以数据建模为目的)数据库实施和管理(数据库的设计在MySql数据库中的实施)数据库应用程序设计开发(Java应用程序如何存取数据库中的数据)数据库物理结构优化(以提高系统性能为目的进行数据库优化设计)。1.1图书管理系统功能剖析作为教材的第一个例子,旨在向读者介绍数据库系统的一般组成以及开发数据库系统的一般过程;为此,我们选择了读者耳熟能详的图书管理系统。该系统能完成图书的上架、借阅、归还、下架等基本功能;并实现读者信息的管理功能。系统的用户包括图书馆工作人员、系统管理员和读者,其中,工作人员和系统管理统称为系统用户,其功能如下图所示。图1-1图书管理系统功能视图用户必须登陆后才能使用相关功能,其中系统管理员可以使用“系统管理模块”和“查询统计模块”,图书馆工作人员可以使用“图书借阅模块”和“查询统计模块”,读者可以使用“读者查询模块”。1.1.1系统管理模块1.系统用户管理功能概述:实现对系统管理员和图书馆工作人员的管理功能。包括用户的添加、密码重置、用户注销等,其主界面如下图所示。系统管理员可通过上方的工具栏进行相关操作。图书管理系统系统管理模块读者查询模块借阅模块查询统计模块系统用户管理读者类别管理读者信息管理出版社管理图书信息管理图书借阅管理图书归还管理图书信息查询借阅记录查询借阅情况统计借阅情况查询图1-2系统用户管理功能剖析:该模块是一个典型的增删改模块,完成系统用户信息的增加(用户的添加)、删除(注销用户)和修改(密码重置)。该功能反映到数据库中,就是完成系统用户表记录的增加、删除、修改。2.读者类别管理功能概述:读者按类别进行管理,如,某图书馆将读者分为本科生、研究生、教师等。可以为不同类别的读者设定默认的可借图书数量。图1-3读者类别管理功能剖析:该模块也是一个典型的增、删、改模块,其操作也直接反映为对应数据库表的增删改操作。同时,这里还体现了数据之间的关联,删除某读者类别时,如果已经存在该类别的读者,系统应如何进行响应?这是典型的外码违例处理模式,请读者思考。3.读者信息管理功能概述:实现读者的注册、读者信息的修改、读者的注销、密码重置、挂失等功能。图1-4读者管理功能剖析:该模块和系统用户管理模块功能非常类似,也是完成读者信息表的记录增删改;需要注意的是,录入读者信息时,读者类别需要用户选择,而读者类别信息来自读者类别表;另外,选择读者类别后,应自动将读者的可借图书数量设置为读者类别中预定义的数量。4.出版社管理功能概述:所有图书都属于指定的出版社,为简化例子,这里只列出了出版社的一小部分信息。图1-5出版社管理功能剖析:该模块也是一个实现简单增、删、改功能的模块,同样需要注意删除出版社时,如果该出版社下已经存在图书时的系统处理方式。5.图书信息管理功能概述:完成图书的上架(也就是录入图书信息)、图书信息的修改、图书的下架(也就是图书信息的删除)。我们约定每本图书都是不同的,具有唯一的编号;对于同种书籍,每一本的编号也是不同的。已经借阅在外的图书不能进行下架。图书下架后不能进行借阅。所有的图书信息都不删除(即使已经下架,数据也保留在数据库中),方便后续查询。图1-6图书管理功能剖析:该模块和读者管理模块非常类似,用于完成图书信息表的数据维护。1.1.2图书借阅模块图书借阅模块由图书馆工作人员操作,借书和还书工作一般由不同的人进行操作。因此将借阅和归还操作在两个模块中进行。1.图书借阅管理功能概述:借阅时,首先通过条码扫描枪读取读者证号,系统立即显示该读者的基本信息,包括姓名和状态;并在下方显示该读者已经借阅的图书信息。然后由工作人员逐本扫描图书条码(图书编号),同时显示相应图书的信息,确认后点击“借阅”按钮完成图书的借阅。图1-7图书借阅功能剖析:图书借阅时,对数据库的操作可以概括为,增加一条借阅记录,修改图书的状态信息。这些操作将涉及多张表,因此,需要注意采用数据库事务的方式实现功能。2.图书归还管理功能概述:图书的归还操作更为简单,只要扫描或输入图书编号,系统自动显示该图书的信息,以及借阅读者的信息(包括该读者借阅的所有图书信息)。如果该图书为超期未还图书,则自动计算出滞纳金。确认后,点击“还书”按钮即可完成还书操作。图1-8图书归还功能剖析:为能在图书归还后能查阅借阅记录,图书归还时,对数据库的操作可以概括为,修改借阅记录(写入归还时间和滞纳金),修改图书的状态信息。这些操作将涉及多张表,因此,需要注意采用数据库事务的方式实现功能。1.1.3查询模块1.图书借阅情况查询功能概述:图书借阅情况查询模块提供按图书条码查询图书借阅情况的功能。图1-9图书查询功能剖析:这是一个典型的查询模块,需用程序利用界面中输入的数据,组织SQL语句进行数据库内容查询。2.读者借阅情况查询功能概述:该模块查询读者的历史借阅数据。图1-10读者借阅记录功能剖析:这是也是一个典型的查询模块,需用程序利用界面中输入的数据,组织SQL语句进行数据库内容查询。1.1.4统计模块1.图书借阅统计功能概述:允许图书馆工作人员和系统管理员按统计所有图书的借阅情况。图1-11图书借阅情况统计2.读者借阅统计功能概述:允许图书馆工作人员和系统管理员统计读者的借阅情况。图1-12读者借阅情况统计功能剖析:首先组织SQL语句查询相关内容。1.2图书管理系统的组成前面一节,我们从用户的角度分析了图书管理系统的基本功能和组成部分。那么,站在开发者的角度,我们又应该怎么来看待这个系统?一般认为:软件=数据+程序也就是说:图书管理系统=图书管理系统相关的数据+图书管理系统应用程序因此,我们可以从程序和数据两个方面来剖析这个系统。在数据库系统原理课程中,我们已经学习了数据库系统的一般组成,以及通过数据库存储、处理数据的基本方法。即,通过数据库管理系统(DBMS)统一进行数据的管理。而应用程序的目的就是为用户提供操作界面、从DBMS中提取数据、将处理后的数据存储到DBMS中。当然,为实现这些功能,还需要在一定的应用开发环境中完成相关的程序设计。1.2.1数据库系统开发涉及的知识体系《数据库系统原理》是第一门数据库系统相关的课程,其侧重点是让读者理解数据库内部的逻辑结构,以及如何通过DBMS进行数据定义、管理,这是建设数据库系统的基础知识。从上一节的例子中可以看出,几乎所有功能最终都体现为对数据库的操作,即利用SQL语句完成数据库记录的增、删、改等。“数据库设计”的知识一般也在数据库系统原理课程中进行介绍,其核心目的是设计数据库的逻辑结构。只有在设计了合理的数据库逻辑结构的基础上,才能通过SQL语句实现各种业务逻辑。“数据库应用程序设计”是实现数据库系统的一个重要步骤,通常情况下,数据库应用程序负责通过界面采集用户的输入信息,并将这些信息以及业务特点,组织成SQL语句,并递交DBMS执行后实现业务逻辑。图1-13数据库系统开发涉及的知识体系1.2.2图书管理系统中的数据库管理系统数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和查询数据库。DBMS提供数据定义语言DDL与数据操作语言DML,供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。目前,典型的数据库管理有甲骨文的Oracle系列、微软的SQLServer系列、IBM公司的DB2系列、开源的MySql等数据库管理系统。图书管理系统采用MySql作为数据库服务器,下面简单介绍图书管理系统数据库的部署过程。外模式外模式外模式数据库模式C/S应用程序浏览器Web服务器ODBC/JDBC/OLEDBDBMSDB安全性控制完整性限制并发控制故障恢复数据定义语言DDL数据库设计应用程序开发数据库原理1.MySql数据库服务器的安装配置,下载最新的MySql数据库服务器安装程序,目前的最新版本为5.6。读者可自行在MySql官方网站下载。下面以随书光盘中的32位windows版的MySql安装为例介绍安装配置过程。第一步:运行光盘中的mysql-installer-community-5.6.15.0.msi程序,并在下图界面中,点击第一项:”installmysqlproducts”,并在下一界面中选择同意Licenseterms,并点击“下一步”按钮;再下一界面中,提示用户是否进行新版本提醒,直接点击”Execute”进行数据安装。图开始安装MySql第二步:选择安装选项,如下图所示,选择安装类别(采用默认);安装位置等,请根据自身计算机情况选择。点击“Next”,并在下一界面中不做任何更改,直接点击“Execute”开始安装。图Mysql安装选项图MySql安装第三步:MySql基本配置。安装完成后,点击“Next”按钮显示如下界面进行配置。一般情况下不需要修改配置。点击“next”进入MySql用户配置。图MySql基本配置第四步:MySql用户配置,在如下界面中设置数据库用户信息。其中默认管理员用户为“root”,请在此界面中设置其密码。如果需要添加其他用户用户,则请读者在界面的下方自行添加。图MySql用户配置第五步:配置MySql的windows服务名。用户配置完成后,点击下一步,进行windows服务配置,一般采用默认配置即可,如下图所示。图MySqlWindows服务配置2.图书管理系统数据库实施第一步:MySql数据库安装完成后,可通过“MySqlWorkbench”工具进行数据管理。在下图中,打开数据库服务器(点击左侧的“LocalinstanceMySql56”后,输入安装时设置的root账户密码)。第二步:建立图书管理系统数据库(booklib)。进入数据库服务器管理界面后,通过创建Schema工具栏建立新数据库。如下图所示。图创建booklib数据库第三步:执行booklib库的建库脚本,并内建默认用户admin。打开随书光盘中的booklib.sql文件,如下图所示,并执行该脚本。图建库脚本图刷新后数据库表1.2.3数据库应用系统的基本架构开发一个数据库应用系统首先要确定系统的总体结构。目前主要有两大体系结构:一是基于操作系统平台的客户机/服务器(Client/Server,C/S)结构,二是基于浏览器的浏览器/服务器结构。1.客户机/服务器结构C/S模式是20世纪80年代逐渐发展起来的系统模式,该系统模式将与DBMS相关的工作量分为两部分:服务器和客户机。客户机和服务器典型地是运行在不同的系统中的。在客户机和服务器之间如何划分DBMS功能有不同的方案。大多数关系DBMS产品采用的方案是在服务器中包含集中式DBMS功能,为客户机提供一个SQL服务器,负责管理数据并进行事务管理;每一个客户机必须配置合适的SQL查询,并为用户提供用户接口和编程语言接口功能。客户机可以引用存在在各种SQL服务器中的包含数据分布信息的数据字典,还可以访问一些功能模块,将一个全局查询分解为若干可以在不同站点上执行的局部查询。由于系统扩展性、维护成本、安全性等问题,两层客户机/服务器技术正逐步被三层体系结构所取代,尤其在Web应用中。如图1-14所示,在三层客户机/服务器体系结构中,有以下3个层次:图1-14三层客户机/服务器体系结构表示层(客户层):这一层提供了用户界面并同用户进行交互。应用层(业务逻辑层):该层对应用逻辑进行编程,也是表示层和数据库服务器层的桥梁,它响应表示层的用户请求,从数据库服务器层抓取
本文标题:2016数据库设计讲义
链接地址:https://www.777doc.com/doc-2944892 .html