数据库应用系统设计实例

数据库应用系统设计实例
数据库应用系统设计实例

第八章数据库应用系统设计实例前面章节主要介绍数据库系统的有关理论和方法,开发应用系统是多方面知识和技能的综合运用,本章将以一个高校教学管理系统的设计过程,来说明数据库系统设计的有关理论与实际开发过程的对应关系,使读者更深入地理解理论如何指导实践,从而提高灵活、综合运用知识的系统开发能力。

本章偏重于数据库应用系统的设计,没有涉及应用程序的设计。对此,读者可参考有关开发工具和软件工程方面的相关资料。

本章学习目的和要求:

系统总体需求描述与设计;

利用DFD及DD描述系统需求;

利用ERM设计系统概念模型;

ERM向关系模型转换;

表结构设计;

数据库、表、视图、索引等的创建。

8.1系统总体需求简介

高校教学管理,在不同的高校有其自身的特殊性,业务关系复杂程度各有不同。本章的主要目的,是为了说明应用系统开发过程。由于篇幅有限,将对实际的教学管理系统进行简化,如教师综合业绩的考评和考核、学生综合能力的评价等,都没有考虑。8.1.1用户总体业务结构

高校教学管理业务,包括4个主要部分:学生的学籍及成绩管理、制定教学计划、学生选课管理以及执行教学调度安排。各业务包括的主要内容为:

①学籍及成绩管理包括:各院系的教务员完成学生学籍注册、毕业、学籍异动处理,各授课教师完成所讲授课程成绩的录人,然后由教务员进行学生成绩的审核认可。

②制定教学计划包括:由教务部门完成学生指导性教学计划、培养方案的制定,开设课程的注册以及调整。

③学生选课管理包括:学生根据开设课程和培养计划选择本学期所修课程,教务员对学生所选课程确认处理。

④执行教学调度安排包括:教务员根据本学期所开课程、教师上课情况以及学生选课情况完成排课、调课、考试安排、教室管理。

8.1.2总体安全要求

系统安全的主要目标,是保护系统资源免受毁坏、替换、盗窃和丢失。系统资源包括:设备、存储介质、软件、数据等。具体来说,应达到以下安全要求:

(1)保密性机密或敏感数据在存储、处理、传输过程中要保密,并确保用户在授权后才能访问。

(2)完整性保证系统中的信息处于一种完整和未受损害的状态,防止因非授权访问、部件故障或其他错误而引起的信息篡改、破坏或丢失。学校的教学管理系统的信息,对不同的用户应有不同的访问权限,每个学生只能选修培养计划中的课程,学生只能查询自己的成绩,成绩只能由讲授该门课程的老师录入,经教务人员核实后则不能修改。

(3)可靠性保障系统在复杂的网络环境下提供持续、可靠的服务。

8.2系统总体设计

系统总体设计的主要任务,是从用户的总体需求出发,以现有技术条件为基础,以用户可能接受的投资为基本前提,对系统的整体框架作较为宏观的描述。

其主要内容包括:系统的硬件平台、网络通信设备、网络拓扑结构、软件开发平台以及数据库系统的设计等。应用系统的构建是一个较为复杂的系统工程,是计算机知识的综合运用。这里主要介绍系统的数据库设计,为了展现应用系统设计时所考虑内容的完整性,对其他内容也将简要介绍,相关内容请参考有关参考资料。

8.2.1系统设计考虑的主要内容

应用信息系统设计需要考虑的主要内容包括:用户数量和处理的信息量的多少,它决定系统采用的结构,数据库管理系统和数据库服务器的选择;用户在地理上的分布,决定网络的拓扑结构以及通信设备的选择;安全性方面的要求,决定采用哪些安全措施以及应用软件和数据库表的结构;与现有系统的兼容性,原有系统使用的开发工具和数据库管理系统,将影响到新系统采用的开发工具和数据库系统的选择。

8.2.2系统的体系结构

现有管理信息系统采用的体系结构,可以分为两种:C/S(Client/Server)和B/S(Browser/Server)。

基于C/S二层结构的数据库应用中,应用系统分成客户端和服务器两部分,因此称

为二层结构。其工作过程为:客户端的机器执行应用程序,连接到后端的数据库服务器中,向服务器请求存取数据信息,而数据访问和事务处理由服务端完成。

这种方案实现了功能的分布,即部分处理任务交给了客户端,而数据集中在服务器端。这样可以保证数据的相对安全,并可以保证数据的同步。但是,因为企业的应用逻辑都编写在客户端的应用程序中,造成客户端非常臃肿,且当应用系统需求改变时,所有在客户端的应用程序都必须改变,使维护成本太高;另一方面,应用程序向处理服务器请求数据,并传到客户端进行处理,这需要占用大量的网络通信带宽,这样将加重网络通信负荷。

为了解决c/S结构的缺陷,基于B/S的多层数据库系统结构应运而生。它是基于Internet/Intranet的体系结构模型,由客户端、web服务器、应用服务器和数据库服务器

组成。各组成部分功能如下:

①在客户端采用浏览器,提供用户接口,主要功能是为操作人员提供交互界面,数据输入、输出处理接口;客户端不处理企业核心逻辑,最多只拥有部分不涉及企业核心的、机密的应用逻辑。这样客户端的处理负载较小,只要能运行浏览器的客户端微机即可,因而称为“瘦”客户。

②web服务器接收并处理客户端浏览器的网页请求,需要时可调用应用服务器的应

用程序,接收处理结果,并回送至客户端。

③应用服务器处理企业的业务逻辑,它是应用的主体,其功能是接受输入,处理后返回结果。

④数据库服务器用于存储企业的业务数据,负责管理对数据的读写和维护,以及数

据库的数据访问权限。

此种结构,由客户端通过浏览器向Web服务器发出请求;涉及业务逻辑时,则由web 服务器送至应用服务器,再由应用服务器向数据库服务器发出数据访问请求,接收到数据库服务器的应答后,返回给web服务器;由web服务器以页面形式回送客户端。这样,客户端不直接和数据库服务器发生关系,保证了数据的安全性。

在更复杂的多层体系结构中,“瘦”客户与远程数据库服务器之间,可以加入更多的中间应用服务器,如加入一个中间安全服务器或中间转换服务器,用于对不同平台数据进行处理。分布式多层结构,把整个应用系统的执行分成多个不同部分,并且执行在不同的机器中。其中,应用程序服务器作为中间层集中实现企业逻辑,协调多层之间的请求,并掌握数据集定义的全部细节,与远程数据库服务器进行通信。这样,客户端应用程序就重点放在显示数据和与用户交互的表示逻辑上,客户端应用程序甚至都不需要知道数据的物理位置。

总体说来,多层结构具有以下几个主要优点:

①在一个共享的中间层封装了企业逻辑,不同客户端应用程序可以共享同一个中间层,而不必由每个客户端应用程序单独实现企业逻辑。

②客户端应用程序可以做得很“瘦”,因为很多复杂的工作由应用服务器代劳,客户

端应用程序只需关注用户界面本身,“瘦”客户端应用程序更易发布、安装、配置和维护。

③实现分布式数据处理,均衡系统负载,并提高系统的可靠性。把一个应用程序分布在几个机器上运行,可以提高应用程序的性能。通过冗余配置,还可以保证不会因为局部故障导致整个应用程序崩溃。

④有利于安全。将一些敏感数据功能部分封装在中间层,并授予不同访问权限,可以保证对数据的访问限制。

⑤降低网络通信负载。客户端将系统的处理参数和请求信息,通过WeB服务器传人应用服务器,由应用服务器和数据库服务器进行处理,然后将处理结果返回到客户端,在一定程度上降低了网络的通信负载。至于应用服务器与数据库服务器之间的数据交换所带来的负载,可以通过数据库的存储过程来得到平衡。

在教学管理信息系统中,采用基于B/s的多层体系结构,对于大批量的数据处理具有较大优势;而B/S结构实现了客户端的零维护,使用起来更方便灵活,很适合数据、信息在Internet上的发布和查询,实现信息访问不受地域的限制。

8.2.3系统软件开发平台

1.数据库管理系统选择

SQL Server2000是微软开发的大型关系型数据库系统,是一个可伸缩的、高性能的数据库管理系统,专为分布式客户机/服务器环境而设计,具有丰富的开发环境和高性能数据管理能力。SQI—SerVer2000沿袭了SOL Server7.0的易操作性、易应用性,有数据库基本知识的初学者,都可以轻松上手。从系统的安装、数据库建立直到数据库维护都可以通过图形界面和向导程序完成。SQL Server2000是企业进行大量数据存储、检索、更新的重要系统,它担负着企业内部重要数据的处理,这种操作对数据库的稳定性、效率要求都很高。随着SQI—Server2000不断的发展完善,逐渐在企业的数据处理应用中取得r非常重要的位置。SQL Server2000同其他企业级数据库一样,具有数据库管理图形工具、数据库引擎、完备的帮助系统、数据导入导出、服务器网络使用工具、客户端使用工具等,还包括在IIS 中配置SQL XML的支持。相比SQL Server7.0,SQL Server2000增加了很多新特性:

①XML支持。SQL SerVer2000最吸引人的新特性应该是对XML的支持。随着电子商务的发展,XML在电子商务方面的应用,越来越得到了人们的重视。因此,数据库对XML 的支持也就成了衡量一个数据库好坏的标准。

②SQL Server2000可以从关系型数据库返回XML格式的数据,另外也支持XML格式数据在关系型数据库中的更新和删除操作。另外,通过和IIS的结合,可以直接通过URL 对数据库系统中的数据进行增、删、改操作。数据库系统的存储过程中,也同样支持对XML 数据的处理。可以使用HTTP、ADO、OLE DB处理数据库的XML功能。这些新增加的特

性,可以满足电子商务或其他系统对XMI数据处理的需求。

③图形管理功能增强。SQL Server2000对日志传送、SQL事件探查器、SQL查询分析器、复制数据库向导的图形功能进行了增强。这些增强的图形功能,使得对SQL语句的调试、SQL事件的分析,都变得更加容易,也更加方便。

④数据转换服务(Data Transfer Service,DTS)I曾强。如新的自定义任务、增强的日志设备、将DTS包保存到Visual Basic:文件中等。这些新增加的功能,使用户可以非常方便地操作数据库的数据包,也方便了VB程序员的开发工作。

从上述特征可以看出,SQL Server2000数据库系统适合于作为企业进行大量数据管理。因此,选择SQL Server2000作为高校教学管理系统的RDBMS。

2.开发工具选择及简介

1)企业业务逻辑组件开发工具

COM(Component Object Mc)del)组件是遵循COM规范编写、以Win32动态链接库(DLL)或可执行文件(EXE)形式发布的可执行二进制代码,能够满足对组件架构的所有需求。遵循COM的规范标准,组件与应用、组件与组件之间可以互操作,这为可伸缩的应用系统的建立提供了极其便利的条件。

COM是一种技术标准,其商业品牌则称为ActiveX。c0M组件并不是专为一种windows 平台而设计的,同一COM组件可以在windows95、windows98、Workstation及NT上使用。组件既可以被嵌入动态web页面,又可以在LAN或桌面环境的VB和VC等应用中使用。COM组件之间是彼此独立的。当应用需求发生变更时,可以更换中间层的个别COM组件,但这并不会影响其他组件的继续使用。COM组件具有若干对外接口,根据不同的应用需求,可以有选择地使用。COM组件可以在不同的应用环境中重复使用。COM组件及其较高的可复用性,展示了一种崭新的软件设计思路,以组件对象为中心的设计方法,使得面向对象技术从工具语言层次跃迁到系统的应用层。

Visual Basic是windows环境下面向对象的可视化程序设计语言。它既可以用来开发windows下的各种应用软件,也可以用来开发多媒体应用程序。Visual Basic6.O具有开发COM业务组件的功能。

Visual Basic可以访问多种DBMS的数据库,如Paradox、dBASE、Access等,也可以访问远程数据库服务器上的数据库,如MS SQL Server、Oracle、Sybase、Informix等,或者任何经过ODBC可以访问的RL)BMS中的数据库。

Visual Basic和数据库连接的方式多种多样,既可以通过0DBc应用程序编程接口(API)来开发数据库应用程序,也可以通过数据库存取对象(Data Access Object,DAO)、远程数据库对象(Remote Data Object,RDO)以及OIE DB和ADO(ActiveX DataObject)来开发数据库应用程序。采用Visual Basic:开发的数据库应用程序的体系结构如图8一l所示。

DA0是visual Basic默认的数据库访问方式,它使用自己的内部Jet引擎访问数据库,主要是为Visual Basic应用程序访问本地Access数据库提供数据,但也可以用来访问许多其他数据库,例如dBASE、Paradox,甚至是Oracle和SQI.Server的ODBC数据库。

RDO技术是对DAO技术的进一步完善和发展,它通过ODBC访问数据库,结合了DAO 提供的易编程性和0DBC API提供的高性能,提高了数据库访问的效率,尤其是在访问ODBC 兼容的数据库(如SQL Server)时的性能。

图8-1Visual Basic数据库应用程序体系结构

ADO是专门为使用OLE DB而设计的。OLE DB是一种全新的连接数据存储的方法,它提供了比ODBC更多的灵活性和易用性,而且OLE DB的内部设计使得它能够像存取标准SQL类型的数据那样,容易地访问非SQL的数据存储。微软公司已经将OLEDB定位为0DBC的继承者。

由于Visual Basic提供了强大的数据库访问编程功能,同时也提供了方便的组件开发工具,因此,选用Visual Basic作为教务管理系统的业务组件的开发工具。

2)ASP开发用户界面

Microsoft的动态服务器网页技术(Active Servet Pages,ASP),是用来创建windows服务器平台上的动态Web网页,构建整个网站的Web应用页面的。

ASP是一种服务器端命令执行环境,ASP程序在服务器端工作,并且通过服务器端的编译,动态地送出HTML文件给客户端。当客户端的浏览器向服务器请求一个.asP文件时,服务器会将这个asP文件从头扫描一遍,并利用核心程序ASP.dll加以编译执行,最后送出一个标准的HTML格式文件给客户端。由于送给客户端的是标准的HTML文件,因此可以克服浏览器之间不兼容的问题。

ASP和Microsoft的web服务器软件

IIS(Internet Information Server。)相结合,可以轻

松地建立和执行动态、交互式Web服务器应用程

序。IIS中提供了一个Internet服务器应用编程接

口(Internet Server Application Programming

Interface,ISAPI)。它能够提供比原来的CGI、Perl

引擎等技术更为广泛和快速的对Web服务器和数

据库服务器的访问。ASP使得访问数据库中的数

据,创建动态网页变得更加容易。图8~2为ASP

和IIS动态页面创建技术的结构图。

8.2.4系统的总体功能模块图8-2ASP动态页面创建技术桔构在设计数据库应用程序之前,必须对系统的功能有个清楚的了解,对程序的各功能模块给出合理的划分。划分的主要依据,是用户的总体需求和所完成的业务功能。这种用户需求,主要是第一阶段对用户进行初步的调查而得到的用户需求信息和业务划分,有关调查方法,请读者参考有关软件工程方面的资料。

这里的功能划分,是一个比较初步的划分。随着详细需求调查的进行,功能模块的划分也将随用户需求的进一步明确而进行合理的调整。

根据前面介绍的高校教学管理业务的4个主要部分,可以将系统应用程序划分为对应的4个主要子系统模块。包括:学籍及成绩管理子系统、制定教学计划子系统、学生选课管理子系统以及执行教学调度子系统。根据各业务子系统所包括业务内容,还可将各子系统继续划分为更小的功能模块。划分的准则要遵循模块内的高内聚性和模块问的低耦合性。如图8—3所示为高校教学管理系统功能模块结构图。

图8-3高校教学管理系统功能模块结构图

8.3系统需求描述

数据流图(DFD)和数据字典(DD)是描述用户需求的重要工具。数据流图描述了数据的来源和去向,以及所经过的处理;而数据字典是对数据流图中的数据流、数据存储和处理的进一步描述。不同的应用环境,对数据描述的细致程度也有所不同,要根据实际情况而定。下面将用这两种工具来描述用户需求,以说明它们在实际中的应用方法。

8.3.1系统全局数据流图

系统的全局数据流图,也称第一层或顶层数据流图,主要是从整体上描述系统的数据流,反映系统数据的整体流向,给设计者、开发者和用户一个总体描述。

经过对教学管理的业务调查、数据的收集处理和信息流程分析,明确了该系统的主要功能,分别为:制定学校各专业各年级的教学计划以及课程的设置;学生根据学校对自己所学专业的培养计划以及自己的兴趣,选择自己本学期所要学习的课程;学校的教务部门对新入学的学籍进行学籍注册,对毕业生办理学籍档案的归档管理,任课教师在期末时登记学生的考试成绩;学校教务部门根据教学计划进行课程安排、期末考试时间地点的安排等,如图8—4所示。

图8-4教学管理系统的全局数据流图

8.3.2系统局部数据流图

全局数据流图,从整体上描述了系统的数据流向和加工处理过程。但是,对于一个较为复杂的系统来讲,要较清楚地描述系统数据的流向和加工处理的每个细节,仅用全局数据流图难以完成。因此,需要在全局数据流图的基础上,对全局数据流图中的某些局部进行单独放大,进一步细化,细化可以采用多层的数据流图来描述。在8.4.1小节所讲述的系统的主要功能中,教学调度处理的业务相对比较简单。下面将只对制定教学计划、学籍及成绩管理和选课等处理过程作进一步细化。

制定教学计划处理,主要分为4个子处理过程:教务员根据已有的课程信息,增补新开设的课程信息;修改已调整的课程信息;查看本学期的教学计划;制定新学期的教学计划。任课老师可以查询自己主讲课程的教学计划。其处理过程如图8—5所示。

图8-5制定教学计划的细化数据流图

学籍及成绩管理相对比较复杂,教务员需要完成新学员的学籍注册,毕业生的学籍和成绩的归档管理,任课教师录入学生的期末考试成绩后,需教务员审核认可处理,经确认的学生成绩则不允许修改。其处理过程如图8—6所示。

图8-6学籍和成绩管理的细化数据流图

选课处理中,学生根据学校对本专业制定的教学计划,录入本学期所选课程,教务员对学生所选课程进行审核,经审核的选课则为本学期学生选课。其处理过程如图8—7所示。

图8-7学生选课的细化数据流图

8.3.3系统数据字典

前面的数据流图,描述了教学管理系统的主要数据流向和处理过程,表达了数据和处理的关系。数据字典是系统的数据和处理详细描述的集合。为了节约篇幅,此处只给出如下部分数据字典。

数据流名:(学生)查询请求

来源:需要选课的学生

流向:加工3.1

组成:学生专业+班级

说明:应注意与教务员的查询请求相区别

数据流名:教学计划信息

来源:文件2中的教学计划信息

流向:加工3.1

组成:学生专业+班级+课程名称+开课时间+任课教师

加工处理:查询教学计划

编号:3.1

输入:(学生)选课请求+教学计划信息

输出:(该学生)所学专业的教学计划

加工逻辑:满足查询请求条件

数据文件:教学计划信息

文件组成:学生专业+年级+课程名称+开课时间+任课教师

组织:按专业和年级降序排列

加工处理:选课信息录入

编号:3.2

输入:(学生)选课请求+所学专业教学计划

输出:选课信息

加工逻辑:根据所学专业教学计划选择课程

数据流名:选课信息

来源:加工3.2

流向:学生选课信息存储文件

组成:学号+课程名称+选课时间+修课班号

数据文件:学生选课信息

文件组成:学号+选课时间+{课程名称+修课班号}

组织:按学号升序排列

数据项:学号

数据类型:字符型

数据长度:8位

数据构成:入学年号+顺序号

数据项:选课时间

数据类型:日期型

数据长度:10位

数据构成:年+月+日

数据项:课程名称

数据类型:字符型

数据长度:20位

数据项:修课班号

数据类型:字符型

数据长度:10位

8.4系统概念模型描述

数据流图和数据字典共同完成对用户需求的描述,它是系统分析人员通过多次与用户交流而形成的。系统所需的数据,都在数据流图和数据字典中得到表现,是后阶段设计的基础和依据。目前,在概念设计阶段,实体、联系模型(ERM)是广泛使用的设计工具。8.4.1构成系统的实体型

要抽象系统的ER模型描述,重要的一步是从数据流图和数据字典中提取出系统的。所有实体型及其属性。划分实体型和属性的两个基本标准如下:

①“属性”必须是不可分割的数据项,属性中不能包括其他的“属性”或“实体型”。

②ER图中的联系是实体型之间的关联,因而“属性”不能与其他实体型之间有关联。

由前面的教学管理系统的数据图和数据字典,可以抽取出系统的6个主要实体,包括:学生、课程、教师、专业、班级和教室。

学生实体型属性有学号、姓名、出生日期、籍贯、性别、家庭住址。

课程实体型属性有课程编码、课程名称、讲授课时、课程学分。

教师实体型属性有教师编号、教师姓名、专业、职称、出生日期、家庭住址。专业实体型属性有专业编码、专业名称、专业性质、专业简称、可授学位。班级实体型属性有班级编码、班级名称、班级简称。

教室实体型属性有教室编码、最大容量、教室类型(是否为多媒体教室)。

图8-8系统局部ER图

8.4.2系统局部ER图

从数据流图和数据字典.分析得出实体型及其属性后,进一步可分析各实体型之间的联系。

学生实体型与课程实体型存在修课的联系。一个学生可以选修多门课程,每门课程可以被多个学生选修,所以它们之间存在多对多联系(m:n),如图8—8(a)所示。

教师实体型与课程实体型存在讲授的联系,一个教师可以讲授多门课程,每门课程可以由多个教师讲授,所以它们之间存在多对多联系(m:n),如图8—8(b)所示。

学生实体型与专业实体型存在学习的联系,一个学生只可学习一个专业,每个专业有多个学生学习,所以专业实体型和学生实体型存在一对多联系(1:n),如图8—8(c)所示。

班级实体型与专业实体型存在属于的联系,一个班级尽可能属于一个专业,每个专业包含多个班级,所以专业实体型和班级实体型存在一对多联系(1:n),如图8—8(d)所示。

学生实体型与班级实体型存在属于的联系,一个学生只可属于一个班级,每个班级有多个学生,所以班级实体型和学生实体型存在一对多联系(1:n),如图8—8(e)所示。

某个教室在某个时段分配给某个教师讲授某一门课或考试用,在特定的时段为1:1联系,但对于整个学期来讲是多对多联系(m:n),采用聚集来描述教室与任课教师和课程的讲授联系型的关系,如图8—8(f)所示。

8.4.3合成全局ER图

系统的局部ER图,只反映局部应用实体型之间的联系,但不能从整体上反映实体型之间的相互关系。另外,对于一个较为复杂的应用来讲,各部分是由多个分析人员分工合作完成的,画出的ER图只能反映各局部应用。各局部ER图之间,可能存在一些冲突和重复的部分,例如,属性和实体型的划分不一致而引起的结构冲突,同一意义上的属性或实体型的命名不一致的命名冲突,属性的数据类型或取值的不一致而导致的域冲突。为减少这些问题,必须根据实体联系在实际应用中的语义,进行综合和调整,得到系统的全局ER图。

从上面的ER图可以看出,学生只能选修某个教师所讲的某门课程。如果使用聚集来描述学生和讲授联系型之问的关系,代替单纯的学生和课程之间的关系,相对更为适合。各局部ER图相互重复的内容比较多,将各局部ER图合并后形成的全局ER图如图8—9所示。

图8-9合成后的全局ER图

8.4.4优化全局ER图

优化全局ER图,是消除全局ER图中的冗余数据和冗余联系。冗余数据,是指能够从其他数据导出的数据;冗余联系,是从其他联系能够导出的联系。例如,学生和专业之间的“学习”联系型,可以由“组成”联系型和“属于”联系型导出。所以,应该消除“学习”联系型。经优化后的全局ER图,如图8—10所示。在实际设计过程中,如果ER图不是特别,复杂时,这一步可以和合成全局ER图一起进行。

图8-10经优化后的全局ER图

8.5系统的逻辑设计

概念设计阶段设计的数据模型,是独立于任何一种商用化的DBMS的信息结构。逻辑设计阶段的主要任务,是把ER图转化为所选用的DBMS产品支持的数据模型。由于该系统采用SQL Servetr2000关系型数据库系统,因此,应将概念设计的:ER模型转化为关系数据模型。

8.5.1转化为关系数据模型

首先,从任课教师实体和课程实体以及它们之间的联系来考虑。任课教师与课程之间的关系是多对多的联系,所以将任课教师和课程以及讲授联系型分别设计成以下关系模式:教师(教师编号,教师姓名,籍贯,性别,所学专业,职称,出生日期,家庭住址)

课程(课程编码,课程名称,讲授课时,课程学分)

讲授(教师编号,课程编码,开课年度,开课学期)

教室实体型与讲授联系型是用聚集来表示的,并且存在两种占用联系,它们之间的关系是多对多的关系,可以划分为以下3个关系模式:

教室(教室编码,最大容量,教室类型)

授课占用(教师编号,课程编码,教室编码,课表时间,授课周次)

考试占用(教师编号,课程编码,教室编码,考试时间,考场人数)

专业实体和班级实体之间的联系是一对多的联系型(1:n),所以可以用以下两个关系模式来表示,其中联系被移动到班级实体中:

班级(班级编码,班级名称,班级简称,专业编码)

专业(专业编码,专业名称,专业性质,专业简称,可授学位)

班级实体和学生实体之间的联系是一对多的联系型(1:n),所以可以用两个关系模式来表示。但是班级已有关系模式“班级(班级编码,班级名称,班级简称,专业编码)”,所以下面只生成一个关系模式,其中联系被移动到学生实体中:

学生(学号,姓名,出生日期,籍贯,性别,家庭住址,班级编码)

学生实体与讲授联系型的关系是用聚集来表示的,它们之间的关系是多对多的关系,可以使用以下关系模式来表示:

修课(课程编码,学号,教师编号,考试成绩)

8.5.2关系数据模型的优化与调整

在进行关系模式设计之后,还需要以规范化理论为指导,以实际应用的需要为参考,对关系模式进行优化,以达到消除异常和提高系统效率的目的。

以规范化理论为指导,其主要方法是消除各数据项问的部分函数依赖、传递函数依赖等。

首先,应确定数据间的依赖关系。确定依赖关系,一般在需求分析时就做了一些工作,ER图中实体间的依赖关系就是数据依赖的一种表现形式。

其次,检查是否存在部分函数依赖、传递函数依赖,然后通过投影分解,消除相应的部分函数依赖和传递函数依赖,来达到所需的范式。

一般说来,关系模式只需满足第三范式即可。从8.6.1小节所述关系模式可以看出,它们满足第三范式,在此就不具体分析。

在实际应用设计中,关系模式的规范化程度并不是越高越好。因为从低范式向高范式转

化时,必须将关系模式分解成多个关系模式。这样,当执行查询时,如果用户所需的信息在多个表中,就需要进行多个表间的连接,这无疑对系统带来较大的时间开销。为了提高系统处理性能,要对相关程度比较高的表进行合并,或者在表中增加相关程度比较高的属性(表的列)。这时,选择较低的第一范式或第二范式可能比较适合。

如果系统某个表的数据记录很多,记录多到数百万条时,系统查询效率将很低。可以通过分析系统数据的使用特点,做相应处理。例如,当某些数据记录仅被某部分用户使用时,可以将数据库表的记录根据用户划分,分解成多个子集放入不同的表中。

前面设计出的教师、课程、教室、班级、专业以及学生等关系模式,都比较适合实际应用,一般不需要作结构上的优化。

对于“讲授(教师编号,课程编码,开课年度,开课学期)”关系模式,既可用作存储教学计划信息,又代表某门课程由某个老师在某年的某学期主讲。当然,同一门课可能在同一学期由多个教师主讲,教师编码和课程编码对于用户不直观,使用教师姓名和课程名称比较直观,要得到教师姓名和课程名称就必须分别和“教师”以及“课程”关系模式进行连接,因而有时问上的开销。另外,要反映“授课和教学计划”的特征,可将关系模式的名字改为“授课一计划”,因此,关系模式改为“授课~计划(教师编号,课程编码,教师姓名,课程名称,开课年度,开课学期)”。

按照上面的方法,可将“授课占用(教师编号,课程编码,教室编码,课表时间,授课周次)”,“考试占用(教师编号,课程编码,教室编码,考试时间,考场人数)”两个关系模式分别改为“授课安排(教师编号,课程编码,教室编码,课表时间,教师姓名,课程名称,课周次)”,“考试安排(教师编号,课程编码,教室编码,考试时间,教师姓名,课程名称,考场人数)”。

对于“修课”关系模式,由于教务员要审核学生选课和考试成绩,因此需增加审核信息属性。因此,“修课”关系模式调整为“修课(学号,课程编码,教师编号,学生姓名,教师姓名,课程名称,选课审核人,考试成绩,成绩审核人)”。

为了增加系统的安全性,需要对教师和学生分别检查密码口令,因此需要在“教师”和“学生”关系模式中增加相应的属性。即“教师(教师编号,教师姓名,籍贯,性别,所学专业,职称,出生日期,家庭住址,登录密码,登录IP,最后登录时间)”,“学生(学号,姓名,出生日期,籍贯,性别,家庭住址,班级编码,登录密码,登录IP,最后登录时间)”。8.5.3数据库表的结构

得出数据库的各个关系模式后,需要根据需求分析阶段数据字典的数据项描述,给出各数据库表结构。考虑到系统的兼容性以及编写程序的方便性,可将关系模式的属性对应为表字段的英文名。同时,考虑到数据依赖关系和数据完整性,需要指出表的主键和外键,以及字段的值域约束和数据类型。不同的数据类型,对系统的效率有较大的影响,例如,对于SQL Server2000中的char和varchar,相同的数据,char比varchar需要更多的磁盘空间,可能需要更多的I/O和其他处理操作。

系统各表的结构,如表8—1至表8—11所示。

8.6数据库的物理设计

数据库物理设计的任务,是将逻辑设计映射到存储介质上,利用可用的硬件和软件功能尽可能快地对数据进行物理访问和维护。物理设计主要考虑的内容包括:使用哪种类型的磁盘硬件,例如,RAID(磁盘冗余阵列)设备;如何将数据放置在磁盘上;在访问数据时,使用哪种索引设计提高查询性能;如何适当设置数据库的所有配置参数,以使数据库高效地运行。

8.6.1存储介质类型的选择

RAID是由多个磁盘驱动器组成的磁盘系统,可为系统提供更高的性能、可靠性、存储容量和更低的成本。从0到5级,容错阵列共分为6个RAID等级,每个等级使用不同的算法实现容错。SQL Server2000一般使用RAID等级0、1和5。

RAlD0等级,是使用数据分割技术实现的磁盘文件系统,它将所有硬盘构成一个磁盘阵列,可以同时对多个硬盘进行读写。RAID O通过在多个磁盘内的并行操作,提高读写性能。例如,一个由两个硬盘组成的RAID0磁盘阵列,把数据的第一和二位写入第一个硬盘,第三和第四位写入第二个硬盘,这样可以提高数据读写速度。但是不具备备份及容错能力,其价格便宜,硬盘使用效率最佳,但是可靠度是最差的。

RAID1等级,使用称为镜像集的磁盘文件系统,因而也称该等级为磁盘镜像。磁盘镜像提供选定磁盘冗余的、完全一样的副本。所有写入主磁盘的数据,均写入镜像磁盘。RAID 1提供容错能力,且一般可提高读取性能,但可能会降低系统写数据的性能。

RAID5等级,也称为带奇偶的数据分割技术,是在设计中最常用的策略。该等级在阵

列内的磁盘中,将数据分割成大块,并在所有磁盘中写入奇偶信息,数据冗余由这些奇偶信

息提供。数据和奇偶信息排列在磁盘阵列上,以使二者始终在不同的磁盘上。带奇偶的数据分割技术,比磁盘镜像(RAID1)提供更好的性能。

为了提高系统的安全性,防止系统因介质的损坏而导致数据丢失的危险,基于windows 2000RAID5卷实现RAID5级磁盘阵列。带奇偶的磁盘数据分割技术,将奇偶信息添加到每个磁盘分区上。这样,可提供与磁盘镜像相当的容错保护,而存放冗余数据所需的空间要少得多。当带奇偶的磁盘块或RAID5卷的某个成员发生严重故障时,可以根据其余成员,新生成这个集成员的数据。创建RAID5卷,至少需要3个物理磁盘。因此,在该系统可以使用4个物理磁盘,为后面将介绍的创建多个数据库文件提供支持。

8.6.2定义数据库

SQL Server2000数据库文件分为3种类型:主数据文件、次数据文件和日志文件。

主数据文件是数据库的起点,指向数据库中文件的其他部分;每个数据库都有一个主

数据文件,其文件扩展名为mdf。

次数据文件包含除主数据文件外的所有数据文件;有些数据库可能没有次数据文件,而有些数据库则有多个次数据文件。次数据文件的扩展名是.ndf。这些次文件,含有不能放到主数据文件中的所有数据。如果主数据文件可以包含数据库中的所有数据,那么数据库就不需要次数据文件。有些数据库可能足够大,故需要多个次数据文件,将数据扩展到多个磁盘。

日志文件包含恢复数据库所需的所有日志信息,每个数据库必须至少有一个日志文件,但可以不止一个,日志文件的扩展名为.1df。

本系统将数据文件分成以下几个文件:一个主数据文件,存放在C:\Educationaladministration\data\Teachdatl.mdf下;两个次文件,分别存放在D:\Edtlcational administration\data\Teachdat2.mdf和E:\Educational admirlistration\data\Teachdat3.mdf 下;日志文件,存放在F:\Educational administration\data\Teachlog.1df下。

这样,系统对4个磁盘进行并行访问,提高系统对磁盘数据的读写效率。其创建数据库的语句如下:

CREATE DATABASE TeachDb

ON

PRIMATY(NAME=Teachfilel,

FILENAME=’C:、\Educational administration\data\Teachdatl mdf’

SIZE=100MB,

MAXSIZE=200,

FILEGROWTH=20),

(NAME=Teachfile2,

FILENAME=’D:\Educational administration\data\Teachdat2.mdr’,

SIZE=100MB,

MAXSIZE=200,

FELEGROWTH=20),

(NAME=Teachfile3,

FILENAME=’E:\Educational administration\data\Teachdat3.mdf’,

SIZE=100MB

MAXSIZE=200,

FILEGROWTH=20)

LOG ON

(NAME=Teacholg,

FILENAME=’F:\Educational administration\data\Teachlong.ldr’,

SIZE=100MB,

MAXSIZE=200,

FILEGROWTH=20)

8.6.3创建表及视图

使用SQL Server2000的数据定义语方,在数据库TeachDb中定义数据库表.其定义数据库表的语句如下:

CREATE TABLE Teachlnfor/*教师信息表*/

(Tcode varchar(10)Not null,/*都是编码*/

Tname varchar(10)Not null,/*教师姓名*/

Nativeplace varchar(12),/*籍贯*/

Sex varchar(4),/*性别*/

Speciality varchar(16)Not null,/*职称*/

Birthday Datetime,/*出生日期*/

Logincode varchar(10),/*家庭住址*/

LoginIP varchar(15),/*登录密码*/

Lastlogin Datetime,/*登录IP*/

Lastlogin Datetime,/*最后登录时间*/

Constraint Tcodekey PRIMARY KEY(Tcode)

)

CREATE TABLE SpeInfor/*专业信息表*/

(Specode varchar(8)Not null,/*专业编码*/

Spename varchar(30)Not null,/*专业名称*/

Spechar varchar(20)/*专业性质*/

Speshort varchar(10),/*专业简称*/

Degree varhar(10),/*可授学位*/

Costraint Specodekey PRIMARY KEY(Specode)

)

8.6.4创建索引

教学管理系统核心的任务,是对学生的学籍信息和考试成绩进行有效的管理。其中,数据量最大和访问频率较高的,是学生修课信息表。因此,需要对学生修课信息表和学生信息表建立索引,以提高系统的查询效率。

如果应用程序执行的一个查询,经常检索给定学生学号范围内的记录,则使用聚集索引可以迅速找到包含开始学号的行,然后检索表中所有相邻的行,直到到达结束学号。这样有助于提高此类查询的性能。

同样,如果对表中检索的数据进行排序时,经常要用到某一列.则可以将该表在该列上聚集(物理排序),避免每次查询该列时都进行排序,从而节省成本。

下面给出学生修课信息表和学生信息表的聚簇索引。

CREATE CLUSTERED1NDEX StudCourseIndex

ON StudCourse(Scode,Tcode,Ccode)

CREATE CLUSTERED INDEX StudInforIndex()N StudInfor(Scode)

8.6.5数据库服务器性能优化

数据库服务器性能优化,主要包括SQL ServeI2000内存优化、I/O系统的优化以及操作系统windows Server2000性能的优化。一般说来,在系统安装时,系统自动配置了相关参数,不需要作太多的调整。

1.与内存有关的参数

1)min server memory

用于指定SQl Server启动时,内存的最小分配量,并且内存低于该值时不会释放内存。可以基于SQL Server的大小及活动,将该参数设置为特定的值。

2)max server memory

用于指定在SQL Server启动及运行时,可以分配的最大内存量。如果知道有多个应用程序与sQL Serlver同时运行所需的最大内存量,则可以将该参数设置为特定的值。如果有一些应用程序,只根据需要请求内存,并且难以估计所需内存的最大量,则SQLServer将根据需要给它们释放内存,因此不要设置该参数。

3)max worker threads

用于指定为用户连接到SQL Server提供支持的线程数。默认设置为255,该选项的大小取决于并发用户数。一般情况下,应将该参数设置为并发连接数,而最大不超过1024。

4)indeX create memory

用于创建索引时,控制排序操作所使用的内存量。一般情况下,创建索引是在系统比较空闲时进行的,增加该值可提高索引创建的性能。但是,最好将min memorory per query保持在较小的值,这样可以在内存较少时,创建索引。

5)min memory per query

用于指定执行查询时所分配的最小内存量。当系统内有许多查询并发执行时,增大min memol-y pei·query的值,有助于提高消耗大量内存的查询性能。但是,一般不要将min memoI-y pez·query设置得太高。因为,当系统较忙时,查询必须等到能确保占有请求的最小内存或等到超过query wait所指定的最大等待值。如果可用内存比执行查询所需的指定最小内存多,当查询能够有效利用现有内存时,则可以使用多出的内存。

2.I/O配置参数

recovery interval用于指定SQL Server2000在每个数据库内发出检查点的时间。默认情况下,SQL server自动确定执行检查点操作的最佳时间。更改该参数以使检查点进程较少出现,通常可以提高这种情况下的总体性能。

3.服务器性能参数

服务器性能主要与最大吞吐量、服务器任务调度优先级以及虚拟内存的大小有很大的关系。

最大系统吞吐量在系统安装时,系统自动设置为最大吞吐量,一般不要改动。SQLServer 服务器可将后台运行的应用程序,设置成与前台应用程序相同的优先级,以提高处理速度。

windows2000虚拟内存大小,应根据计算机上并发运行的服务进行配置,运行Microsoft SQL Server2000时,可考虑将虚拟内存大小设置为计算机中物理内存的1.5倍,如果另外安装了全文检索功能,并打算运行Microsoft搜索服务,以便执行全文索引和查询,将虚拟内存大小至少配置为计算机中物理内存的3倍,则可以将SQL Servet。的max server-memo)ry 设置为物理内存的1.5倍。

数据库系统设计实验报告

数据库系统设计实验报告 ――教务管理系统 学院:计算机科学与技术 专业:软件工程 班级: 学号: 姓名: 指导老师:

一、概述 项目背景:数据库课程设计 系统名称:教务管理系统 开发环境:SQL Server 2008 二、需求分析 1、系统的概述 ?一个学校由很多个学院组成,每个学院有多个专业,每个专业有1个或 者多个班级。一个学生只属于1个班级,学生有姓名、学号、性别、身 份证号、入学时间等属性。 ?每个专业的每个年级都有对应的教学计划。教学计划指定了这个专业这 个年级的某门课程在那个学期上,学分、学时是多少。每个学院都设置 有1个教务秘书,这些信息都由教务秘书进行输入。每个院系的课程都 有自己的唯一编码,比如计算机系上的C语言,和电子系上的C语言, 虽然都是同一门课,但是编码是不同的。但是同一个院系中的相同的课 程,课程代码是唯一的。比如计算机学院的07计算机软件专业和计算机 学院的07计算机科学专业都有C语言课程,这两门课程的课程代码是相 同的。 ?教务秘书在每个学期的中间时刻,为下一个学期进行排课,排课的内容 根据教学计划,比如08计算机软件专业的学生,在2009-2010年第2 学期上的课程,可以通过教学计划得知要上什么课程,然后对这些课程 安排上课教师(比如陈越)、上课时间(比如星期2,第1-2节)和地点 (理工楼234),有的课程是单周上,有的双周,也有是每周都上的。 ?在每个学期期末,学生登录到网站上选择下一个学期需要上的课,选择 的时刻,可以选择是否需要教材,如果某门课程的人数选满了,则不能 给任何学生选择了。 ?学生根据选择的课程进行上课,参加考试。每个老师可以用自己的用户 名和密码登陆网站,选择这个学期自己所教的课程(一个老师可以上多 个班级的课程),输入这个班级的成绩,成绩分为期末考试成绩、期中考 试成绩、平时成绩、实验成绩以及总评成绩。这些成绩都需要进行存储。 ?为了保证安全性,老师输入的成绩并不是直接放到最终的成绩表中,而 是放在一个临时的表中,只有当教务秘书审核过后,才导入到最终的成 绩表中。

数据库管理系统的设计与实现

数据库管理系统的设计与实现 1.DBMS的目标 (1)用户界面友好对一个实用DBMS来说,用户界面的质量直接影响其生命力。DBMS的用户接口应面向应用,采用适合最终用户的交互式、表格式、菜单式、窗口式等界面形式,以方便使用和保持灵活性。一般地说,用户界面应具有可靠性、简单性、灵活性和立即反馈等特性。 (2)功能完备DBMS功能随系统的规模的大小而异。大型DBMS功能齐全,小型DBMS功能弱一些。DBMS主要功能包括数据定义、数据库数据存取、事务控制、数据库组织和存储管理、数据库安全保护等等。我们在下面讨论这些功能的内容。 (3)效率高系统效率包括三个方面:一是计算机系统内部资源的使用效率。能充分利用资源(包括存储空间、设备、CPU等),并注意使各种资源负载均衡以提高整个系统的效率,二是DBMS本身的运行效率。三是用户的生产率。这是指用户学习、使用DBMS和在DBMS基础上开发的应用系统的效率。 2.DBMS的基本功能 (1)数据库定义对数据库的结构进行描述,包括外模式、模式、内模式的定义;数据库完整性的定义;安全保密定义(如用户口令、级别、存取权限);存取路径(如索引)的定义。这些定义存储在数据

字典(亦称为系统目录)中,是DBMS运行的基本依据。为此,提供数据定义语言DDL。 (2)数据存取提供用户对数据的操纵功能,实现对数据库数据的检索、插入、修改和删除。一个好的DBMS应该提供功能强易学易用的数据操纵语言(DML)、方便的操作方式和较高的数据存取效率。DML有两类:一类是宿主型语言,一类是自含型语言。前者的语句不能独立使用而必须嵌入某种主语言,如C语言、COBOL语言中使用。而后者可以独立使用,通常以供终端用户交互使用和批处理方式两种形式使用。 (3)数据库运行管理这是指DBMS运行控制、管理功能。包括多用户环境下的并发控制、安全性检查和存取权限控制、完整性检查和执行、数据加密、运行日志的组织管理、事务的管理和自动恢复(保证事务的正确性),这些功能保证了数据库系统的正常运行。 (4)数据组织、存储和管理DBMS要分门别类地组织、存储各类数据,包括数据字典(亦称系统目录)、用户数据、存取路径等等。要确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系。数据组织和存储的基本目标是提高存储空间利用率,选择合适的存取方法确保较高存取(如随机查找、顺序查找、增、删、改)效率。 (5)数据库的建立和维护包括数据库的初始建立、数据的转换、数据库的转储和恢复、数据库的重组织和重构造以及有性能监测分析等功能。

数据库课程设计图书管理系统的设计与实现要点

计算机工程学院数据库原理及应用 课程设计报告 课题名称: 专业: 班级: 姓名:图书管理系统的设计与实现 信息管理与信息系统 信管1121 杨** 学号:1121807131 指导老师:周泓、金春霞 2013年12月14日

指导教师(签章): 年月日

课程设计评语 学生姓名:杨**班级、学号:信管 1 1 2 1 1121807131 题目:图书管理系统的设计与实现 综合成绩: 教师评语: 教师(签字): 年月日

中文摘要 图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建 立和维护以及前端应用程序的开发两个方面,一方面要求建立起数据一致性和完 整性强、数据安全性好的库另一方面则要求应用程序功能完备易使用等特点。因 此我结合学校图书借阅的要求,对Visual FoxPro数据库管理系统、SQL语言进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。VFP图书管理系统是一个教育单位不可缺少的部分它的内容对于学校的决策者和图书管理者来说都至关重要所以图书管理系统应该能够为教师和学生提供充足的图书信息和快捷的查询手段。 关键词信息管理,VFP,图书管理,数据库

外文摘要

目录 1引言 (1) 1.1选题背景 (1) 1.2系统环境 (1) 2 系统总体分析 (2) 2.1需求分析 (2) 2.1.1 功能需求 (2) 2.1.2 性能需求 (3) 2.1.3 环境需求 (3) 2.2 可行性分析 (3) 2.2.1 经济可行性 (3) 2.2.2 技术可行性 (3) 2.2.3 管理可行性 (4) 2.2.4 用户可行性 (4) 3系统总体设计......‥ (4) 3.1 软件模块结果设计 (4) 3.1.1 系统方案确定 (4) 3.1.2 软件结构设计 (4) 3.2系统模块功能图 (4) 3.3 数据库设计 (5) 3.4 概念结构设计 (6) 3.4.1实体功能图 (6) 3.4.2 E-R图 (8) 3.5 逻辑结构设计 (8) 4系统实现与测试 (10) 4.1 连接数据库的实现 (10) 4.2 模块功能实现 (10) 5备份和还原数据库 (16) 5.1 规划数据库的还原和备份 (16) 5.2 数据库的备份 (16) 5.3 还原数据库 (18) 结论 (20) 致谢 (21) 参考文献 (22)

《数据库系统设计与开发》模拟实习教学大纲

《数据库系统设计与开发》 模拟实习教学大纲 (Database System Design and Development) 制定单位:工学院计算机科学与技术系 制定人:课程组 编写时间:2016年01月06日

第一部分课程概述 一、基本信息 (一)课程代码 课程代码:07110640 (二)课程属性、学分、学时 计算机专业的专业模拟实习、独立实验、2学分、40学时 (三)适用对象 本课程适用的对象为计算机科学与技术专业的本科生 (四)先修课程与知识准备 《C/C++程序设计》,《数据库原理》,《.Net编程》,《软件工程》 二、实验简介 《数据库系统设计与开发》模拟实习以数据库应用系统的设计与开发为主要目标,结合本专业的多门专业课程:《程序设计》、《数据结构》、《数据库原理》、《面向对象程序设计》、《.Net编程》、《软件工程》等开展专业模拟实习。《数据库系统设计与开发》模拟实习将针对一个现有的数据库应用领域,遵照《软件工程》课程中的生命周期法和软件开发规范进行系统分析与设计,按照《数据库原理》中的关系规范化理论进行数据库的模式设计,并结合《.Net编程》所学基于C#语言及.Net集成开发环境进行系统编码与调试,完成一个小型数据库应用系统的开发任务。最后,通过提交实习报告,提高学生科技论文的撰写能力。通过这一完整的实践教学过程,将进一步加强学生实践和动手能力的培养,真正理解和掌握数据库系统设计和开发的方法,提高学习效果,使学生可以学以致用,成为具有专业技能并有一定实际经验的人才。

三、实验项目 实验一:系统需求分析(4学时) (一)实习(实验)类型 综合性实验。 (二)实习(实验)目的和要求 1.理解需求分析在软件工程应用中的重要性 2.熟悉数据库建模的方法 3.掌握如何将客户的实际需求转化为描述性设计语言 (三)实习(实验)内容 为将要开发的系统作出一份明确、详细的需求分析报告。需求分析报告至少应该包含以下几部分: 1.系统的名称; 2.系统概述; 3.系统要实现哪些功能,每个功能的具体描述。 (四)实习(实验)地点 竞秀楼或竞慧楼机房 实验二:系统设计(4学时) (一)实习(实验)类型 综合性实验。 (二)实习(实验)目的和要求 1.掌握SQL Server数据库管理软件的使用,学习CASE工具(Visio或SA2001)的使用,用信息系统开发工具(例如VS2008)设计一个实用的中小型管理信息系统2.掌握系统设计的基本方法,提高解决实际问题、开发信息系统的实践能力 (三)实习(实验)内容 用信息系统开发工具(例如VS2008)设计一个实用的中小型管理信息系统。 1.根据实验时间选择适当规模大小的设计课题 2.根据合理的进度安排,按照软件工程系统开发的流程及方法,进行实验 3.实验过程中,根据选题的具体需求,在开发各环节中撰写相关的技术文档,最后要

数据库应用系统开发报告

《专业技能训练—数据库应用系统开发》 报告 课程设计题目:医药管理信息系统 班级:13科技2班 姓名:詹文宏 学号:201324131251 任课教师:蔡文伟 开始时间:2015年09月7日 结束时间:2015年11月25日

目录 第一章系统概述 (3) 1.1 系统开发背景 (3) 1.2.系统开发目的 (3) 1.3.开发环境 (3) 第二章需求分析 (4) 2.1信息需求(基本信息) (4) 2.2功能需求 (4) 2.3数据库数据 (4) 2.4 模块图 (5) 2.5安全性与数据完整性要求 (10) 第三章概念结构设计 (11) 3.1系统E-R图 (11) 3.2逻辑结构设计 (12) 3.3主要模块的设计以及数据库操作 (14) 第四章设计总结 (24) 参考文献 (33)

第一章系统概述 1.1 系统开发背景 随着科技的不断进步,企业都在不断的注重管理的信息化以完善企业管理,增强企业自身的竞争力。医药业也不例外,通过较完善的信息系统实现自身企业对内部管理的方便性、合理性、快捷性、高效性等要求。 以前的手工管理效率低使最明显的缺陷,另外,数据的一致性不好维护,如某个药品信息的记录有所改动(如更改编号),那么该要品的其他记录就与此不一致,造成查询的费时费力。要把全部数据都更改又相当不方便。对药品库存的盘点也很不方便,而且需要较多的人来进行管理操作,而且容易出错,造成数据的不一致。而药品业是关民生的行业,错误信息可能会造成不可收拾的严重后果。因此,运用高效、准确的信息管理系统来替代手工管理是完善医药业管理的有效手段。 1.2.系统开发目的 利用数据库系统可以很好的对数据进行维护,减少由于数据不一致等错误带来的麻烦。方便数据的更新和查询,降低错误率,方便药品信息的维护及库存的盘点。还可以运用较少的人员,高效的完成对医药的管理。由于社会的发展不断趋于信息化,各个行业都要加强自身的信息化程度以适应社会的发展。而管理信息化正迎合了这个趋势,数据库系统在医药业的应用业实现了医药业执行工具、业务管理等的信息化,在这个信息化社会为医药业的发展增加了新的动力。相信随着社会的不断发展对该类系统的需求会越来越高。医药管理信息系统,即服务于个人,又服务于企业,并最终服务于社会,这是让科技为人类服务的最好例证,其开发意义显而易见。 1.3.开发环境 1)数据库管理系统选用Microsoft SQL Server 2005。

数据库应用系统开发案例-程序代码

数据库应用系统开发 数据库系统开发案例—图书现场采购系统系统主窗体的实现 1.数据表结构的实现 经过前面的需求分析和概念结构设计以后,得到了数据库的逻辑结构。现在就可以在SQL Server 2000数据库系统中实现该逻辑结构。可以直接在SQL Server 2000企业管理器中创建表,也可以在SQL查询分析器中创建。下面给出在查询分析器中创建这些表的SQL语句,读者可以将这些表创建在系统的pubs数据库中。 (1)创建书商图书基本信息表bookseller_bookinfo CREATE TABLE bookseller_bookinfo( rec_id Bigint identity(1,1) PRIMARY KEY, isbn varchar(20) null, bookname varchar(200) null, author varchar(50) null, publisher_date varchar(50) null, publisher varchar(50) null, class_name varchar(50) null, book_price numeric DEFAULT 0, book_num int DEFAULT 0, provider varchar(50) null ) (2)创建图书馆图书馆藏基本信息表library_bookinfo CREATE TABLE library_bookinfo ( rec_id Bigint identity(1,1) PRIMARY KEY, isbn varchar(20) null, bookname varchar(200) null, author varchar(50) null, publisher_date varchar(50) null, publisher varchar(50) null, class_name varchar(50) null, book_price numeric DEFAULT 0, book_num int DEFAULT 0, provider varchar(50) null ) (3)创建用户注册表user_info CREATE TABLE user_info ( user_ID varchar(10) PRIMARY KEY , user_PWD varchar(10) null )

i-3 数据库设计报告

基于的火车售票系统数据库设计报告

版本历史

目录 0. 文档介绍 (4) 文档目的 (4) 文档范围 (4) 读者对象 (4) 参考文献 (4) 术语与缩写解释 (5) 1. 数据库环境说明 (6) 2. 数据库的命名规则 (6) 3. 逻辑设计 (6) 4. 物理设计 (7) 表汇总 (8) 表A (8) 表N (8)

5. 安全性设计 (10) 防止用户直接操作数据库的方法 (10) 用户帐号密码的加密方法 (10) 角色与权限 (11) 6. 优化 (11) 7. 数据库管理与维护说明 (11)

0. 文档介绍 文档目的 需求的编写是为了研究火车售票系统软件的开发途径和应用方法。同时它也是进行项目策划、概要设计和详细设计的基础,是维护人员进行内部维护,信息更新,验收和测试的依据。本说明书的预期读者是与和售票系统软件开发有联系的决策人。支持本项目的领导和公司人员,软件验证者。 文档范围 本文档适用于项目开发的设计阶段,在项目开发阶段可按照本文档检验数据库实施情况。 读者对象 1.本系统的开发人员。 2. 本系统的测试人员。 3. 本系统的客户 参考文献 提示:列出本文档的所有参考文献(可以是非正式出版物),格式

如下: [标识符] 作者,文献名称,出版单位(或归属单位),日期 例如: [AAA]作者,《立项建议书》,机构名称,日期 [SPP-PROC-SD] SEPG,系统设计规范,机构名称,日期 [1] [C#专业项目实例开发] Arora,中国水利水电出版社,2007 [2] [数据库原理及应用] 王雯,北京机械工业出版社 [3][数据库基础与实践技术] 何玉洁,,机械工业出版社. [4] [C#数据库系统开发完全手册] 王小科,人们邮电出版社, [5] [C#+sql Server中小型信息系统开发实例精选] 黄明,机械工业出版社. 术语与缩写解释

数据库系统设计说明书

数据库课程设计——学生信息管理系统 学院:机电工程学院 班级:09工业工程 组员:郎建鹏 学号:0911******* 指导老师:李峰平

目录 第一章系统分析 (2) 1 建立新系统的必要性 (2) 2 业务流程分析(业务流程图) (2) 3 数据流程图 (3) 4 数据字典 (4) 第二章系统设计 (4) 1 数据库设计(E-R) (4) 2系统运行环境 (6) 3输入输出设计 (10) 第三章设计总结 (10) 参考文献……………………………………………………………… 图例说明………………………………………………………………

第一章系统分析 1 建立新系统的必要性 这次的课程设计是在学习完《数据库原理》和《delphi程序设计》基础上进行的一次系统性的训练,既是对所学知识的巩固,也是对自己综合运用所学知识解决实际问题的一次锻炼。学生信息管理系统的主要目的是为了方便学校对学生的信息进行录入、修改、查询,提高学校的工作效率。这一系统的开发成功,解决了手写速度慢、容易出错的现状。 学生信息管理可以帮助学校最迅速最准确的完成所需的工作。无论是在适用性、灵活性和易操作性方面都显示出了它的强大功能。 2 业务流程分析(业务流程图)

数据流图是结构化分析中不可缺少的有力工具,它描述了系统的分解,即系统由哪些部分组成,各部分之间有什么联系等。但是,它还不能完整地表达一个系统的全部逻辑特征,特别是有关数据的详细内容。因此,仅仅一套数据流图并不能构成系统说明书,只有对图中出现的每一个成分都给出详细定义以之后,才能全面地描述一个系统。对数据流、数据存储和数据处理的详细描述,需要用数据字典(DD)。它包括数据流、数据存储、外部项和处理过程的详细条目。数据字典中把数据的最小单位定义为数据项,而若干数据项可以组成一个数据结构。数据字典是通过以数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。 第二章系统设计 1 数据库设计(E-R) (1)管理员实体的E-R图 (2)普通用户实体的E-R图

数据库的设计与实现

《数据库原理》课程设计论文 院(系、部)名称: 专业名称: 学生姓名: 学生学号: 指导教师:

系统简介 开发目的和任务 客户信息是个人,机关,企事业等进行业务联系所必需而频繁使用的信息资料,在许多大型应用系统中都有客户信息管理工具,它是企业单位现代化管理的一个重要的组成部分。本系统的任务是制作一个简单,实用的通讯薄,既可以单独使用,也可以作为其他大型应用系统的一个组成部分来使用。 1.系统功能 (1) 总体功能要求 本系统将介绍如何让在Visual FoxPro 6.0开发环境下快速开发数据库和数据表的方法,并在此基础上建立一个表单,通过表单的运行,可以初步体会到什么是程序,什么是数据库应用程序,数据库应用程序是如何进行编辑,修改,增加,删除,查询和退出的. (2) 客户信息管理系统的基本功能 1)登录:本功能主要是为了防止非操作人员对系统随意更改. 2)主界面:为用户提供了一个友好的界面,是维护,查询模块间相互切换的桥梁. 3)维护:本功能模块主要实现数据的浏览,添加,删除,退出等功能. 4)查询:本功能模块主要实现按姓名,职务,出生日期等查询功能. 2. 系统的特点 (1) 数据库设计的考虑 本系统的信息两不太大,因此只涉及一个库,一个表.库名为通讯

录.DBC表名为通讯录.DBF. (2) 提高系统集成化的考虑 为了是系统短小精悍,并最大限度的提高系统设计的效率,在设计中较多的应用了Visual FoxPro 提供的“选项卡”控件和容器控件.除此之外,还采用了页框控件,其目的是在一个窗口上尽可能多的扩展应用空间,容纳最多的信息量. (3)提高可操作性的考虑 由于使用本系统的人员不一定熟悉计算机基本操作,因此要求系统的操作应尽量简单,本系统在设计时已考虑到这一点,尽可能少的使用键盘的地方,要保证用起来“顺手”. 3. 开发工具与运行环境 (1) 开发工具. VFP6.0 为集成开发环境提供了项目管理器,设计器,生成器和向导机制等,使其成为强有力的数据库开发工具. 1)项目管理器. 2)设计器. 3)生成器. 4)向导. (2)运行环境 硬件环境: PⅡ350MHz以上处理器,16MB以上内存,一般需240MB 硬盘空间. 软件环境:Windows 95及以上的操作系统支持.

简单数据库设计实例

数据库设计实例 数据库设计是数据库应用系统设计的一个组成部分,其核心是针对于特定的应用环境,设计合理的数据模型,创建数据库及其应用系统,使之能够有效地存储和处理数据,以满足用户的应用需求。从实用角度出发,数据库设计可分为如下几个步骤: 第一步:创建概念数据模型 ◆确定实体和关系 ◆确定属性 ◆规化数据 第二步:生成物理数据模型 第三步:验证设计 为便于学习者理解和掌握,下面结合具体的实例来讲解和展示数据库设计的详细过程。假定我们要开发一个小型的ERP系统,以管理公司部资源,其应用业务场景描述如下: v512工作室由IT业界专业人士组成,在提供高端IT培训业务的同时,还自主制作并免费发布大量公益性学习资源,工作室以公司形式运营,目前共拥有18名员工,这些员工分属于4个部门,且员工之间存在上下级管理关系。计划将来根据业务的发展设立更多的部门,聘用更多的员工。为保证质量,工作室对其成员的各项专业技能进行了级别评定。 8.5.1 确定实体和关系 1. 确定高级别的活动 要确定本ERP系统数据库设计中的实体和实体间关系,首先应明确要基于该数据库执行的高级别活动,这里所谓的高级别活动是指从用户的视角出发,确定本数据库设计中系统所涉及到的业务活动。比如,存储和维护员工的个人信息等。 在前述的应用业务场景中,v512工作室需要考虑的高级别活动包括: -聘用新员工 -解雇现有员工 -维护员工的个人信息 -增设新部门 -裁撤现有部门 -维护部门信息 -维护工作室业务相关的技能信息 -维护各员工的业务技能掌握情况 2. 确定实体 接下来要确定的是,针对上述的高级别活动需要记录和维护有关哪些事物的信息,这些事物将被转换为实体。其中,员工相关信息可抽象为“Employee”实体、部门相关信息可抽象为“Department”实体、技能相关信息抽象为“Skill”实体,为规和方便起见,这些实体均采用英文命名,并尽量在名称中体现其含义。 3. 确定关系 进一步对上述高级活动进行分析,以确定实体间存在何种关系。具体包括: -Employee-Department实体之间存在隶属关系 员工必须且只能隶属于某一个特定的部门,一个部门可以包含0~多名员工,此为一对多关系。 这种从两个方向上对同一个关系的细化描述被称为关系的角色,每个关系都对应两种角色。

数据库管理系统设计报告

数据库原理课程设计报告学生学籍管理系统 学生学号: 学生姓名: 所在学院: 专业年级: 年月日

前言 随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求; 信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径. 校园网信息系统建设的重要性越来越为成人高校所重视. 利用计算机支持教学高效率,完成教学管理的日常事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化的必要条件;而教学管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行教学管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点. 例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,与世界接轨的件。 在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数计成为软件开发的核心,程序的设计要服从数据,因此教学管理系统的数据库设计尤其重要。这里主要介绍教学管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述。

目录 前言 (2) 1.需求分析 (4) 1.1需求分析的任务 (4) 1.2需求分析的工程 (4) 1.3数据字典 (5) 2.概念结构设计 (6) 2.1E-R图设计方法及关键技术 (6) 2.2学生学籍管理E-R图 (7) 3.逻辑结构设计 (8) 4.数据库实施 (9) 4.1建表 (9) 4.2 SQL语句查增删改操作 (10) 4.3建立条件查询 (12) 4.4窗体的建立 (13) 4.5登陆、查询操作 (16) 4.6增删改操作 (16) 5.数据库运行与维护 (17) 5.1数据库的运行 (17) 5.2数据库的维护 (17) 6.总结 (18)

数据库系统课程设计--实例

摘要 数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一。其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础。 随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求; 信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径. 校园网信息系统建设的重要性越来越为成人高校所重视. 利用计算机支持教学高效率,完成教学管理的日常事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化的必要条件;而教学管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行教学管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,与世界接轨的件。在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数据设计成为软件开发的核心,程序的设计要服从数据,因此教学管理系统的数据库设计尤其重要。 本文主要介绍教学管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述。本系统利用IBM DB2企业版本开发出来的。DB2是IBM公司开发的关系关系数据库管理系统,它把SQL语言作为查询语言。 本文的分为5章。其中第1章主要是课题简介及设计的内容与目的。第2章是需求分析,此阶段是数据库设计的起点。第3章是概念设计,它是将需求分析的用户需求抽象为信息结构,这是整个数据库设计最困难的阶段。第4章是逻辑结构设计,它将概念模型转换为某个DBMS所支持的数据模型。第5章是数据库的实施与运行,它包括数据的载入及数据库的运行。 关键词:SQL语言;IBM DB2;数据库设计;教学管理系统 I

基于C#的数据库系统开发

基于C# 的数据库系统开发 图书馆管理系统

? ?第一讲认识数据库和掌握C#基本语法

什么是数据库 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。

主流数据库有哪些 ?微软:sql server 和access;瑞典:AB公司mysql;IBM公司:db2;美国Sybase公司:Sybase;IBM公司:informix;美国oracle公司:oracle; ?小型数据库:access、foxbase; ?中型数据库:sql server 、mysql、informix; ?大型数据库:db2、Oracle、Sybase。

数据库管理系统(DBMS) 数据库管理系统(database management system)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称dbms。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过dbms访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。DBMS提供数据定义语言DDL(Data Definition Language)与数据操作语言DML(Data Manipulation Language),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。

c(sharp)#语言简介 ?C#是一种安全的、稳定的、简单的、优雅的,由C 和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特 性(例如:没有宏和模版,不允许多重继承)。 ?C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的 语言特性和便捷的面向组件编程的支持成为.NET 开发的首选语言。 ?C#成为ECMA与ISO标准规范。C#看似基于C++写成,但又融入其它语言如Pascal、Java、VB等。

数据库设计实例—教学管理系统

数据库课程设计报告 教学管理系统 数据库设计 课程设计题目教学管理系统学院软件学院 班级软件技术四班年级2013级 姓名彭超李新徐彤(2014 年11月)

用5行左右的文字对系统进行简要介绍 对教学管理信息统一规范整理,实现各种信息的自动管理。为便于信息的查询,找出各种信息的关联性,根据各种需求设计出合理的报表。 减轻教学日常信息管理的负担,方便学生、教师查询信息和学校对所有信息的管理。以简单便捷的操作获取详尽的信息。 一、数据需求分析 某学校设计学生教学管理系统。学生实体包括学号、姓名、性别、生日、民族、籍贯、简历、登记照,每名学生选择一个主修专业,专业包括专业编号、名称和类别,一个专业属于一个学院,一个学院可以有若干个专业。学院信息要存储学院号、学院名、院长。教学管理还要管理课程表和学生成绩。课程表包括课程号、课程名、学分,每门课程由一个学院开设。学生选修的每门课程获得一个成绩。另外,为了管理教师教学安排,教师包括编号、姓名、年龄、职称,一个教师只能属于一个学院,一名教师可以上若干门课程,一门课程可以有多名老师来上,每个教师所上的每门课都有一个课堂号和课时数。 本系统数据字典如下: 数据项表

数据流 数据流表 二、概念结构设计 1.首先确定系统中的实体 从以上数据需求可以看出,系统共包括5个实体:学生、专业、学院、教师、课程。

2.再确定系统中实体间的关系 根据数据需求描述推出:专业与学生是1对多关系;学生与课程是多对多关系;课程与老师是多对多关系;课程与学院是多对1关系;学院与专业是1对多关系;学院与教师是1对多关系。 3.转化成E-R图 图1 实体-属性图 图2 教学管理ER图 三、逻辑结构设计

数据库设计报告

《数据库系统概论》课程设计报告 课程名称:数据库系统概论 院系年级:14级电气信息工程系 专业班级:计算机科学与技术1班 学号: 姓名: 联系电话: 指导教师: 安徽马鞍山

2016年6月 第一章相关方法技术 1.1数据库应用特点 数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。数据库技术研究和解决了计算机信息处理过程中大量数据有效地组织和存储的问题,在数据库系统中减少数据存储冗余、实现数据共享、保障数据安全以及高效地检索数据和处理数据。随着计算机技术与网络通信技术的发展,数据库技术已成为信息社会中对大量数据进行组织与管理的重要技术手段及软件技术,是网络信息化管理系统的基础。 1.2数据与处理 以处理为中心 根据处理功能设计数据文件,处理功能需要什么数据就创建什么数据文件。处理功能是主动的,数据结构是依赖的。势必导致数据的冗余存储,潜在数据的不一致性。只适合科学计算,不适合数据密集型的事务处理系统。 以数据为中心 只要应用领域内的业务内容不变,其信息结构是稳定,多变的是处理功能。主张设计稳定的数据结构,自动适应处理程序的多变性。凡是数据库应用系统,适合采用以数据为中心的应用模式。 1.3数据库设计方法 (1)功能驱动方法: 这个方法设计依赖处理中心强调先根据功能要求画出分层的数据流程图从数据流程图当中收集数据项及其数据存储以及数据字典依据数字字典分析提取出数据库相关的各种信息类。 (2)E-R建模方法: 采用以数据为中心的设计策略在初步了解领域当中各种业务需求和处理过程基础上 1.4数据库设计步骤 按照规范化设计方法,从数据库应用系统设计和开发的全过程来考虑,将数据库及其应用软件系统的生命周期可以细分为七 个阶段:规划、需求分析、概念结构设计、逻辑结构设计、物理结构设计、实施及运行维护。 各阶段需完成的工作分别为: 1、应用规划 规划阶段进行系统的必要性和可行性分析,确定数据库系统在整个管理系统中的地位。 规划阶段必须要完成的任务包括:确定系统的范围;确定开发工作所需的资源(人员、硬件和软件);估算软件开发的成本;确定项目进度。

数据库系统的设计步骤

数据库系统的设计步骤 数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。下面小编整理了数据库系统的设计步骤,供大家参考! 进行数据库设计首先必须准确了解和分析用户需求。需求分析是整个设计过程的基础,也是最困难,最耗时的一步。需求分析是否做得充分和准确,决定了在其上构建数据库大厦的速度与质量。需求分析做的不好,会导致整个数据库设计返工重做。 需求分析的任务,是通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种需求,然后在此基础上确定新的系统功能,新系统还得充分考虑今后可能的扩充与改变,不仅仅能够按当前应用需求来设计。 调查的重点是,数据与处理。达到信息要求,处理要求,安全性和完整性要求。 分析方法常用SA(Structured Analysis) 结构化分析方法,SA方法从最上层的系统组织结构入手,采用自顶向下,逐层分解的方式分析系统。 数据流图表达了数据和处理过程的关系,在SA方法中,处理过程的处理逻辑常常借助判定表或判定树来描述。在处理功能逐步分解的同事,系统中的数据也逐级分解,形成若

干层次的数据流图。系统中的数据则借助数据字典来描述。数据字典是系统中各类数据描述的集合,数据字典通常包括数据项,数据结构,数据流,数据存储,和处理过程5个阶段。 概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合,归纳与抽象,形成了一个独立于具体DBMS 的概念模型。 设计概念结构通常有四类方法: 自顶向下。即首先定义全局概念结构的框架,再逐步细化。 自底向上。即首先定义各局部应用的概念结构,然后再将他们集成起来,得到全局概念结构。 逐步扩张。首先定义最重要的核心概念结构,然后向外扩张,以滚雪球的方式逐步生成其他的概念结构,直至总体概念结构。 混合策略。即自顶向下和自底向上相结合。 逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并将进行优化。 在这阶段,E-R图显得异常重要。大家要学会各个实体定义的属性来画出总体的E-R图。 各分E-R图之间的冲突主要有三类:属性冲突,命名冲突,和结构冲突。

SQL SERVER数据库系统设计与实现实验报告

SQL SERVER数据库系统设计与实现实验报告 编制教师傅荣会 (适用于计算机科学学院各专业) 计算机科学学院

实验一:数据库的定义、建立和维护指导教师: 实验日期:年月日实验地点:成绩: 实验目的: 了解SQL Server数据库的逻辑结构和物理结构; 了解表的结构特点; 了解SQL Server的基本数据类型; 了解空值概念; 学会在“对象资源管理器”中创建数据库和表; 学会使用T-SQL语句创建数据库和表。 实验内容及基本要求: l、创建一个新的数据库。 创建用于企业管理的员工管理数据库,数据库名为YGGL。 数据库YGGL的逻辑文件初始大小为10MB,最大大小50MB,数据库自动增长,增长方式是按5%比例增长。日志文件初始大小为2MB,最大可增长为5MB(默认为不限制),按1MB增长(默认是按5%比例增长)。 数据库的逻辑文件名和物理文件名均采用缺省值。 事务日志的逻辑文件名和物理文件名也均采用缺省值。 要求分别使用“对象资源管理器”和T-SQL命令完成数据库的创建工作。 2、在创建好的数据库YGGL中创建数据表。 考虑到数据库YGGL要求包含员工的信息、部门信息以及员工的薪水信息,所以数据库YGGL 应包含下列3个表:Employees(员工信息)表、Departments(部门信息)表、Salary(员工薪水情况)表。各表的结构分别为表T2.1、T2.2和表T2.3所示。 表T2.1 Employees表结构 表T2.2 Departments表结构

表T2.3 Salary表结构 要求分别使用“对象资源管理器”和T-SQL语句完成数据表的创建工作。基本要求: 1.写出实验步骤 2.写出实验中遇到的问题及解决的方法

VFP数据库系统开发实例(附图)

VFP基本数据库系统开发实例(附图) 西南大学计信院 导学 在Visual Foxpro中开发一个应用系统应该包括需求分析、项目创建、模块设计、运行调试、保存发布到建立帮助等,下面介绍如何把各个模块集成起来,并创建一个应用程序。 11.1 系统需求分析 传统的学生成绩管理方法不仅浪效率低,而且由于管理不规范容易导致各种错误的发生。因此实现一个智能化、系统化的公共计算机成绩管理系统是十分必要和不可缺少的。它将大大减轻管理者的劳动强度,降低出错率,提高管理的效率。该系统可以实现如下功能: 1. 数据需求 通过调查,总结出该应用程序对数据的需求大致有如下这些: (1) 学生信息 包括学号,姓名,性别,出生日期,系科,备注,照片 (2) 管理员信息 包括用户名,密码,管理员姓名,权限,说明信息 (3) 学生成绩信息 主要包括学号, 课程编号,平时成绩,笔试成绩,上机成绩,总评成绩,审核否 (4) 课程信息 包括课程编号,课程名称 2. 功能需求 功能分析的任务是了解用户对数据的处理方法和输出格式。 (1) 基本数据录入 基本数据包括学生信息、管理员信息、学生成绩休息和课程信息等。要求系统能够录入这些数据,并且可以进行修改。在数据录入和修改过程中应保持数据的参照完整性。 (2) 查询 能够查询出学生成绩,和补考人员名单等。 (3) 学生和管理员信息的维护 要求能够根据需要对学生和管理员信息进行维护修改等。 (4)成绩的审核 根据学生的总评成绩审核学生的计算机成绩是否通过。 (5) 打印输出 打印学生成绩表和补考人员名单等。 11.2 系统设计 1. 程序总体结构设计 在开始程序设计之前,首先应该将程序的总体结构以层次图的形式表示出来,便于对程序分

数据库分析与设计报告(车辆管理系统)

1.需求分析 2.概念结构设计 3.逻辑结构设计 4.物理结构设计 5.数据库的建立和测试 6.数据库运行和维护 《车辆管理系统》数据库设计 班级:11计算机转 学号:1116939040 姓名:王湘萍 一.需求分析 1.1可行性分析 现在随着企业规模的扩大以及车辆作为最为普遍的交通工具,在企业中已经不是单一的存在,由于单位车辆数目的急剧增加,与之相对应的问题随之而生,比如车辆的使用权问题,车辆的费用问题等,不再是简单的少量的数据。为了解决这一系列的问题,我们必须借助于电脑的强大的数据处理能力和存储能力,如此可以减少人力财力来维护这些数据,可以用更少的投入来换取更佳的数据管理。因此,在这样的情况下,开发单位车辆管理系统是可行的,是必要的。如今,MIS开发已经慢慢的驱向成熟,车辆管理系统也有部分开发,但是都还不是十分完善。现今已经开发的车辆管理系统都是针对以运营为主的具有盈利目的的单位。比如,公交管理、出租车管理、运输公司管理、汽车站点的管理,而这些管理最主要是针对盈利的管理,很少有针对各种汽车使用权、车辆调配等各种普通单位,不是以车辆运营为盈利手段的车辆管理,针对这点,此系统就是适合如今大多数企业管理的车辆管理系统。 通过计算机系统对学校进行全面的管理,满足了学校的现代化管理的要求。 1)经济性 ①系统建设不需要很大的投入;

②可缩减人员编制,减少人力费用; ③人员利用率的改进; 2)技术性 ①处理速度快,准确; ②通过权限的设置,数据的安全性好; ③方便查询; ④控制精度或生产能力的提高 3)社会性 ①可降低工作人员工作强度,提高效率,会得到上下员工的一致同意的; ②可引进先进的管理系统开发方案,从而达到充分利用现有资源 1.2需求分析 现代信息技术特别是计算机网络技术的飞速发展,使我们的管理模式产生了质的飞跃,网络化管理将成为信息时代的重要标志和组成部分。探索、研究并构建适宜于在计算机网络环境下的管理模式,是我们责无旁贷的使命。 通过调查,要求系统需要具有以下功能: 1)由于操作人员的计算机知识普遍较差,要求有良好的人机界面。 2)由于该系统的使用对象多,要求有较好的权限管理。 3)方便的数据查询,支持多条件查询。 4)基础信息管理与查询(包括车辆信息、用车记录、部门信息)。 5)通过计算机,能够直接“透视”仓库存储情况。 6)数据计算自动完成,尽量减少人工干预。 7)系统退出。

基于web的数据库系统开发与应用

基于web的数据库系统开发与应用 摘要:伴随着网络技术的迅速发展,基于Web的数据库应用也变得越来越广,本文从系统的用户特点和主要功能入手,结合实际应用,深入分析了Web数据库体系结构的发展,分析了其关键因素体系结构的升级对系统开发产生的影响。最后提出了数据库各种体系结构的工作原理及存在的问题, 关键词:Web;教学系统;数据库;设计 随着计算机技术的飞速发展, 社会信息化程度迅速提高, 作为信息系统核心和基础的数据库技术得到越来越广泛的应用, 甚至在计算机应用的各个领域, 数据库都起着至关重要的作用。然而, 在计算机网络技术和数据库技术的不断发展下, 原来基于主机的数据库技术应用程序已不能满足人们的需求, 因此, 基于的数据库应用越来越广, 数据库与网络技术的优势得到进一步发挥。 1 WEB 计算模式 目前,利用Web 计算模式来组织和发布单位内的信息资源已经成为网络应用中的发展方向,其目标是把Web 浏览器作为用户浏览单位内部信息的统一界面,允许用户对存放在任何平台服务器中的信息进行访问。由于历史和技术的原因,在单位中存在大量的各式各样的计算机和服务器,甚至还会存在不同类型的网络,从而使得单位网的结构非常复杂。同时,单位网中含有的信息量以及信息的重要程度也在不断增加。单位中各个部门地理上的分散以及MIS 产品的多样性,造成网络中的数据不集中,数据格式不统一,部门间的数据很难在更大规模上实现共享。为了保持市场竞争力,单位结构正朝着更精简、更灵活的方向转变。单位对信息的需求与日俱增,并且要求能够跨部门共享和传递信息。决策者在市场竞争的压力下需要利用最简单的方式获得单位的整体信息。 Web 技术的出现,使单位应用系统能有一个简化、低廉、以Web 为基础的客户端,并重建一个高效率的、节约的服务器端。Web 是一种新型的、以服务器为中心的结构体系,它使单位摆脱了以往那种需密集人力资源的、高成本的操作及管理方式,而转向Web 服务器(也有人称之为应用服务器),把注意

相关文档
最新文档