数据库设计范文

时间:2023-03-21 04:43:21

导语:如何才能写好一篇数据库设计,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。

数据库设计

篇1

【关键词】数据库;关系数据库;面向对象;服务器

1 背景分析

目前,产品化的数据库管理系统是以关系型数据库为主流,技术相对成熟。面向对象的数据库管理系统尽管技术上处于先进,数据库易于研发、维护,但至今为止,还没有成熟的产品。占主导位置的关系型数据库管理系统包括ORACLE、SYBASE、SQL Server、INFORMIX与INGRES,这些产品都支持UNIX、VMS、WINDOWS等不同平台,但支持的程度不一样。

通常系统的设计与研发阶段,设计人员、研发人员与测试人员仅会把工作重点放在系统的功能实现上,而此时因为测试数据较小,难以衡量系统的运行性能的优劣,然而如果系统进入实际运行阶段,大量的业务数据通常会使系统的性能逐步降低,此时再来考虑怎样提升性能则会花费更多的人力及财力。所以,设计出高质量的数据库结构就变得特别关键。

2 数据库服务器选择

对于占主导位置的SQL Server、Oracle、SYBASE、DB2和INFORMIX数据库,分别从性能、运用风险、开放性、易维护性与价格等方面来分析比较。

2.1 性能

SQL Server老版本服务器多用户时性能较差,新版本的性能有了显著的提升,各项处理能力都有了显著的提升,占有数项TPC-C(事务处理性能委员会)纪录,并支持集群。Oracle数据库性能最佳,占有Windows NT平台下的TPC-D(基准测试,衡量联机事务处理系统的一个测试指标)及TPC-C的世界纪录。SYBASE数据库性能较好,满足Sun、IBM、HP、Compaq及Veritas集群设施的性能,达到高可用性;性能比SQL Server稍差,然而在UNIX平台下的并发性要高于SQL Server,适用于安全性要求较高的应用系统。DB2适合于数据仓库与在线事务处理,性能较好,支持胖客户端和应用模式。INFORMIX性能较好,支持集群,达到高可用性,适用于安全性要求极高的应用系统,特别是在金融业、证券行业的应用。

2.2 运用风险

SQL Server属于完全重写的代码,性能及版本兼容性有了较大的改善,同Oracle、DB2的性能差距显著减小。该产品的产生经历了大量用户长期的测试,对产品的安全及稳定进行了全面的检测,安全稳定性有了显著的改善。Oracle长时期的研发经验,完全向下版本兼容,基本没有风险。能够安全的进行系列产品的升级,在企业、政府中获得普遍应用。而且假如在WINNT平台上不能满足数据的要求,能够安全的将数据转移到UNIX平台上来。SYBASE向下版本兼容,然而ct-library程序不易移植。研发周期较长,升级较为复杂,稳定性较佳,数据安全有保障,风险较小。在安全要求极高的金融、证券领域获得了普遍应用。DB2在巨型企业获得普遍的应用,向下版本兼容性较好,应用风险较小。INFORMIX研发周期较长,升级较为复杂,稳定性较佳,数据安全有较高保障,应用风险较小。在安全要求极高的金融、证券领域中获得了普遍应用。

2.3 开放性

SQL Server仅能在Windows平台上部署、运行,C/S结构,操作系统的稳定对数据库是非常关键的。仅支持Windows平台,能够用ADO、DAO、OLEDB、ODBC、JDBC等网络数据库连接技术沟通。Windows平台的可靠性和安全性通过了最高级别的C2认证,在处理大数据量的重要业务时具备较好的性能。Oracle能在所有主流平台上部署、运行(包含 Windows),完全支持目前所有的工业标准。利用完全开放策略,可以进行多层次网络计算,对多种工业规范提供支持,能够用ODBC、JDBC、OCI等网络数据库连接技术沟通。能够使客户选用最适合的解决方案,对开发商完全支持。SYBASE能在所有主流平台上部署、运行,C/S结构,能够用ODBC、JDBC、Jconnect、Ct-library等网络数据库连接技术沟通,在金融业中获得了普遍的应用。但因为早期Sybase同OS集成度不高,所以VERSION11.9.2以下版本需要较多OS及DB级补丁,在多平台的混合环境下会产生一定问题。DB2能在所有主流平台上部署、运行(包含windows)。有较佳的开放性,最适于海量数据。支持跨平台能力和多层结构,支持ODBC、JDBC等类型应用系统,在大型的国际企业中获得最为普遍的应用。IINFORMIX仅运行于UNIX平台,包括SUNOS(Sun的操作系统最初称呼)和HPUX(Hewlett C Packard UNIX的缩写,属于惠普公司的UNIX操作系统),在金融业获得普遍的应用。

2.4 易维护性与价格

SQL Server从易维护性与价格上SQL Server占有较大优势。基于Microsoft产品的一贯风格,SQL Server的图形管理界面导致了显著的易用性,微软的数据库管理员培训工作相对充分,能够轻松的找到技术较好的数据库管理员,数据库管理费用相对低,SQL Server的价格也是较低的。Oracle从易维护性与价格体来说,Oracle的价格是相对高的,管理相对复杂,因为Oracle的应用相当普遍,经验丰富的Oracle数据库管理员能够相对容易的找到,因而实现Oracle的良好管理。所以,Oracle的性价比在商用数据库中是最佳的。SYBASE的价格是相对低的,然而SYBASE的在企业及政府中的应用较少,较难找到经验丰富的管理员,运行管理费用偏高。DB2价格较高,管理员较少,在中国的应用相对少,只在金融业获得一定应用,运行管理费用都非常高,比较适用于大型企业的数据仓库应用。INFORMIX价格在这些数据库服务器中居于中间,同SYBASE类似,在企业及政府中应用相对较少,只在金融业获得了普遍的应用。经验丰富的管理人员偏少,运行管理费用偏高。

3 数据库设计

数据库结构设计在该数据库管理系统研发过程中占据非常关键的地位,下面从数据库设计原则、数据库设计方法与步骤、逻辑数据模型设计等三方面简述该数据库管理系统数据库设计。

3.1 数据库设计原则

该数据库管理系统的数据库参照以下设计原则:

(1)数据库设计要达到标准化与规范化。数据结构的标准化与数据关系的规范化有助于消除冗余数据。

(2)表中数据类型的合理化。合理的数据类型有助于提升该数据库管理系统数据库的运行性能。

(3)数据表命名的规范化。每个关系型数据库对数据表的命名都有一定要求,在对数据表命名时利用大小写敏感的形式,而且数据表命名长度不应过长,这样能够使该数据库管理系统可以应用在多个不同的数据库平台。

(4)数据库性能的完善。在运行环境已经固定的因素下,数据库的性能成为影响该人事数据库管理系统运行性能的主要条件。可以利用两个步骤开展数据库设计:先是进行逻辑设计,而后进行物理设计。逻辑设计要求消除所有的冗余字段,可以完整地说明数据库表之间的关系。然而对于多表之间关联的查询,去除所有冗余会损耗系统性能,也会增大系统研发难度。因此,找到一个平衡点成为数据库设计的关键,在物理设计中开发人员要分析关联数据表的数据量大小与访问频率,并对数据表中用来关联查询的关键字段留存适当的冗余,以提升数据库的性能。

3.2 数据库设计方法与步骤

数据库的建设分成概念数据模型设计、逻辑数据模型设计与物理数据结构设计等三个阶段,其目的是达到合理的数据表结构,使数据的存取操作更为有序,数据的编辑、查询更为方便,从而实现该数据库管理系统数据库的建设。

(1)概念数据模型设计。概念数据模型反映的是系统最终用户对于数据存储的观点,代表了系统用户综合性的信息需求,它用数据类的方式表达企业级的数据需求,数据类描述了在业务环境中聚集起来的几个重要的类别数据。概念数据模型包括主要的实体和实体之间的关系。描述概念数据模型最常用的是“实体-关系”图(即E-R图),E-R图主要是由实体、属性及关系等三个要素组成的。

(2)逻辑数据模型设计。逻辑数据模型是指系统分析师、设计师对数据存储的见解、看法,是对前一阶段概念数据模型的分解与细化。逻辑数据模型是按照业务规则决定的,是业务对象、业务对象的数据项以及业务对象之间关系的描述。逻辑数据模型包括所有的实体与关系,决定每个实体的属性,指明每个实体的主键和外键。

(3)物理数据模型设计。物理数据模型是对真实数据库的表达。数据库对象包括表,视图、字段、数据类型、长度、主键、外键、索引以及是否可为空,还有默认值。概念数据模型到物理数据模型的转换是将概念模型中的对象转换为物理模型的对象。

4 总结

开发数据库管理系统时,一个优秀的数据库服务器的选择和好的数据库结构设计起到举足轻重的地位。SQL Server属于微软公司研发的大型关系型数据库系统,功能相对全面,效率较高,管理与操作比较简单、方便,整个系统的安全及稳定也较高,并且性能价格比最好,节约企业资金,降低研发成本,是开发人员理想的选择,能够作为中型企业或单位的数据库平台。数据库结构设计在数据库管理系统研发过程中同样占据非常关键的地位,一个好的数据库结构是该数据库管理系统的基础,数据结构设计的优劣将直接影响到该系统的效率以及所要达到的效果。

【参考文献】

篇2

1数据库设计概述

在数据库应用系统中,主要面对的核心问题就是设计出一个能满足用户需求,性能良好的数据库,这就是数据库设计。软件开发的数据库设计主要分为四个阶段:需求分析、概念设计、逻辑设计和物理设计。而目前的软件开发过程中,一般采用生命周期法,将数据库分解为目标独立的若干阶段:需求分析、概念设计、逻辑设计、物理设计、编码阶段、测试阶段、运行阶段和进一步修改阶段。关于数据库设计理念,主要是为了分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。设计者根据实际情况,对某些共同特性和行为的对象可以抽象的作为一个实体。所以数据库是由实体和属性组成的,实体是通过主键表示,属性是通过外键表示。在进行设计时,实体与属性是相对而言的,同一事物在某一种环境中作为属性,在另一种环境中,就必须作为实体。如图1所示。

2软件开发中数据库设计的重要性

数据库作为重要的数据处理技术,大多数的软件开发都必须运用到数据库技术,数据库管理系统就是软件开发的重要成果。它是一种系统软件,分组数据库中的数据组织、操纵、维护、控制及保护和数据服务等功能,特别是它可以定义视图和进行强大的数值计算,能够很好的控制数据库的安全性、完整性以及对数据库的故障进行校正、修复和监控功能。所以它被应用到世界各个领域的机械、医疗、教育等领域中。而且在开发软件时,经常要对很多数据线图和表格进行查找,简单的还可以进行人工查找,如果遇到复杂的数据查找,则会对设计人员造成许多的不便,也很容易出现错误,影响软件产品的质量。而如果运用数据库管理编程,则可以存储许多的数据,当需要时,数据库管理系统则会为用户使用数据中的数据提供方便的查询、插入、修改以及删除数据的功能。

3软件开发中数据库设计应遵循的原则

1)一事一地。建表需描述两个实体之间的联系,避免出现大、杂的设计。如单个主题信息需独立保存、分离,通过在表中分散不同的信息,使数据的维护、组织工作简单化。同时,提高了应用程序的性能。2)避免出现重复的字段。应确保表中能切实放映与其他表的联系,以及外部关键字。另外,要注意避免出现重复的字段,以减小数据冗余,防止删除、插入、更新等操作时,导致数据不一致。3)规范化的命名。对于不同的数据库产品的命名的要求也就不同,设计者在对各对象进行命名操作时,利用大小写字母进行标识,对于编写后台程序代码也要如此,命名长度最好是控制在30字符以下。4)除了个别要求外,禁用游标。如果对大的数据集合使用游标,很容易使得程序出现“漫长等待”或“死机”的现象。如果要使用游标,可以建立一个临时的表,在表中输入所需要的数据,然后对临时表进行游标操作,这在很大程度能够提高游标的性能。5)对庞大的表使用索引。索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。索引分为聚簇索引和非聚簇索引两种,聚簇索引是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了;聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的检索很快。6)事务的使用。指作为单个逻辑工作单元执行的一系列操作,它可以为非事物性单元单元内之外的所有操作的顺利完成提供保障,不断的更新面向数据的资源。7)调整数据库的性能。许多设计员会对数据库设计采用以下两种方法:其一,逻辑设计数据库。调整性能以调整关系、减少连接运算,保持每个关系数量在合理的水平,从而使存取效率提高。时刻通过快照固定,以使查询速度提高;其二,物理设计数据库。主要调整内部物理结构,合理选取存取的路径,以增快访问速度,提高存储空间的利用率。8)合理的选择数据类型。在实际的设计中,必须根据软件开发的产品的规则和要求对数据类型进行选择,从而提高数据库的性能。

4软件开发中的数据库设计的理论分析

1)数据管理系统可在软件开发系统中运行。软件开发系统主要采用VisualC++系统,可直接运行SQL语言。SQL语言是一种可程序设计、数据库和结构化查询的语言,用于数据的查询、存取机更新。同时,可作为脚本文件扩展名。开发应用程序采用VisualC++,不仅进行数据库访问,还可作为开发前段的工具。VisualC++系统的程序开发,能使远程访问的复杂性大大降低,访问效率大大提高。2)数据库在软件开发中的设计,对于数据模型的选择应慎重。数据库中的数据模型可以将复杂的现实世界要求反映到计算机数据库中的物理世界,而在设计时主要注意以下四个方面的因素:其一,数据模型因素。不同软件产品的应用需要不同,所以应该根据实际的情况来选择数据模型,大多数设计者一般都会采用关系模型,因为它是一种非过程性的模型,采用二维表来表示,二维表是由表框架和表的元组组成,当用户进行查询信息时,不必对实际的物理存储路径进行考虑,就能很快、方便获得准确的结果。在大型的数据库管理系统中,必须优化查询、提高关系模型的查询效率;其二,数据库结构因素。数据模型中的数据结构主要的目的是对数据的类型、性质、内容和数据间的联系进行描述,它是数据模型的基础,不同是数据结构操作与约束的也建立在数据结构的基础上,因此必须根据具体数据结构的实际情况分类数据模型;其三,数据约束因素。它主要是对数据结构内数据间的语法、语义联系进行描述,它们之间是制约和依存的关系,所以在具体设计中,应该根据实践情况和数据动态变化的规则,来保证适当的正确、有效与相容;其四,数据操作因素。主要是对相应数据结构上的操作类型、方式进行描述,所以在对数据库进行操作时,应该整体的处理图形,根据实际情况的要求,使接口程序变得简单、灵活,从而使指针占有的空间减小。

5软件开发中的数据库设计的实践分析

软件开发涉及了工业、医疗、教育等各个领域,笔者身为教师,也曾经涉及过在线测试软件的开发设计,下面就以在线测试软件开发为依托,对其数据库设计进行分析:1)对系统的总体设计应引以重视。在对软件进行编制时,系统的总体设计与软件产品项目能否顺利开展以及是否符合软件开发预期的要求有着直接的关联,所以在对在线测试系统进行开发时,应该根据常规软件的开发流程来进行。2)描述从属关系。分析在线测试中教师组卷、学生测试的信息,例如对学科试卷中分为单选题、多选题、填空题、判断题,对这些对象进行系统数据库的组织,从而使得测试题目和学科试卷之间的建立从属的关系,同时,也使得各学科试卷之间建立了复杂的从属关系。所以,建立从属关系主要是考虑空间从属关系和测试的时间顺序。3)合理的实现文本框的窗体视图。主要是利用以单文档的方式来显示表中的数据,它即具有单独使用的文档窗体视图风格,而且当输入监测点数据时,可以很好看到该监测点的属性窗口。同时,该软件具有容错功能,即当用户输入或操作错误时,数据库会自动的提示或取消操作。

6数据库设计过程和实例分析

上面介绍了数据库设计的原则,以“教学管理”数据库为例,来分析数据库设计的过程。1)需求分析阶段。对用户的需要进行分析主要包括三个方面的内容:其一,信息需求。即用户要从数据库获得的信息内容。信息需求定义了数据库应用系统应该提供的所有信息,注意描述系统中数据的数据类型;其二,处理要求,即满足数据完成的处理功能、方式的需求,然后定义系统的数据处理操作。在操作执行时,应该考虑场合、操作、频率等因素对数据的影响;其三,安全性、完整性的要求。在对信息、处理需求进行定义的同时,要保证安全性和完整性的约束。在分析过程中,主要是跟数据库的使用人员进行交流,细心的了解现行业务处理流程,熟悉全部数据资料。例如可以对学校教学管理工作进行了解和分析,可以确定教学管理数据库建立的目的是为了解决教学信息的组织和管理问题,主要是包括教师、学生信息管理和选课情况管理。2)概念设计阶段。概念设计的目的是分析数据间内在语义关联,在此基础上监理一个数据的抽象模型,主要是有两种方法:其一,集中式模式设计法。它根据需求由一个统一机构或人员设计一个综合的全局模式,而且设计比较简单,非常适用于小型或不复杂的单位和部门;其二,视图集成设计法。主要是对一个单位进行分解,然后局部的设计分解后的每个部分,建立各个部分的视图,以各视图为基础进行集成。例如,在教学管理中,以师生实体为联系模型,明确学校各个部门的组成实体和属性,然后描述学校各个年级的学籍管理和课程管理的局面环境,再将各个年级教学管理的环境进行集合,形成一个全局的视图,从而使得数据库能真实的反映学校的教学的管理。3)逻辑设计阶段。它主要是对外模式关系视图进行设计,主要表现在三个方面:其一,提供数据逻辑的独立性。使应用程序不受逻辑模式变化的影响,关系视图则让逻辑模式与应用程序之间有隔离墙作用;其二,适应用户对数据的不同需求。每个数据库有一个非常庞大的结构,它用关系视图屏蔽用户所不需要的模式,而仅将用户感兴趣的部分呈现出来;其三,有一定的保密功能。例如,在教学管理数据库,如果有许多的老师和学生共同登录,则采用用户密码登录,互不影响,只看到自己所需要的信息数据。4)物理设计阶段。它主要是对数据库内部物理结构做调整并选择合理的存储路径,而且一般采用索引设计、集簇和分区设计。例如,在教学管理数据库中,它利用物理设计能够很好的修改其中的数据和路径。5)验证设计阶段。任何一个数据库的设计和建立都必须经过循环反复的验证,一旦数据库中的数据、步骤遭到破坏和出错,就必须及时的进行校正恢复。在验证阶段,也为以后的运行和维护提供参考意见。6)软件运行和维护阶段。这是数据库设计的最后环节,主要是在软件开发的数据正式运行后,对其要不断调整和维护。

篇3

【 关键词 】 数据库;敏感数据;安全加密系统;设计

Database “Sensitive” Data Encryption System Design Research

Huang Nan

(Xinxiang Institute HenanXinxiang 453000 )

【 Abstract 】 This paper briefly expounds the data encryption technology, and then from the database " sensitive " data encryption system structure, function module and data encryption module design and the realization of three aspects of " sensitive " data security database encryption system design of related studies.

【 Keywords 】 sensitive data; database; security system; design

0 引言

随着社会科技的不断发展与进步,互联网得到了飞速发展,计算机技术也得到了广泛的应用,但另一方面信息的安全问题却日益突出,信息安全技术应运而生并得到了极大的发展。信息安全技术的核心是数据加密技术,它不仅能够加解密数据,而且还能够鉴别、认证数字签名等,从而使在网络上传输的数据的完整性、确认性及机密性得到了切实的保证。本文将DES算法和RSA算法的优点结合起来,将一个数据加密系统设计了出来,同时将Java安全软件包充分利用起来,实现了数字签名。

1 数据加密技术

1.1 私钥加密体制

私钥加密体制指在加密和解密时所使用的密钥是相同的,由两种类型,分别是分组密码和序列密码。分组密码对明文进行分组的依据是其固定的长度,用同一个密钥加密每一个分组,从而促进等长的密文分组的产生。序列密码又称流密码,因为它将明文数据一次加密一个字节或比特。和序列密码相比,分组密码使用于软件实现,并且具有较快的加密速度,因此在人们的日常工作和生活中得到了极为广泛的运用。

1.2 公钥加密体制

1976年,W.Diffie和Hellman最早提出了公钥体制,利用两个不同的密钥分开加密和解密的能力是该体制最大的特点。公开密钥在加密信息中得到了应用,而使人密钥则在解密信息中得到了应用。通信双方可以直接进行保密通信,而不需要事先交换密钥。同时,在计算机上也不能实现从公开的公钥或密文中将明文或密钥分析出来。

2 数据库“敏感”数据安全加密系统设计

2.1 数据库“敏感”数据安全加密系统的体系结构

该加密系统是在目前较为成熟的仿真网络体系结构HLA的基础上发展起来的,由两部分组成,分别是CA服务器端和客户端。在联邦成员中嵌入加密客户端,可以对各联邦成员之间的“敏感”数据进行加密,CA服务器则可以生成、分发及管理密钥。联邦成员和CA服务器之间及各个联邦成员之间进行通讯的途径是HLA-RTI接口。加密系统体系结构如图1所示。

2.2 数据库“敏感”数据安全加密系统的功能模块

CA服务器端与加密客户端组成了加密系统的功能模块。其中,CA服务器端的主要功能是认证客户端的身份、生成、存储并分发RSA密钥等。密钥是在用户口令字和大数分解理论的基础上生成的,每次有一对密钥(公钥和私钥)产生,用于对会话密钥进行加密和数字签名,也就是对称加密算法AES或DES、 3DES算法的密钥;将生成的密钥对和申请者的用户名联系起来,促进一个关联目录的生成,以方便客户端查找即是密钥的存储;依据客户端的请求信息,在关联目录中将与之相匹配的信息查找出来,如果找到的话,就把密钥向请求的客户端发送即是密钥的分发。

加密客户端的主要功能是完成对文件的加密和解密、传输实时数据的加密和解密密文、管理和传输对称加密算法的密钥及和CA服务器交互等。其中,对称加密算法AES或DES、 3DES及混沌序列加密算法的密钥均在密钥生成模块生成;密钥的加密传输模块主要是使会话密钥的安全得到切实的保障,也就是说,用公钥密码算法RSA的公钥对会话密钥进行加密,然后一起传输加密后的密钥和密文,在解密端,为了得到会话密钥,可以使用TSA的私钥来进行解密;实时数据的加密和解密模块的基础是混沌特性,在加密或解密实时数据时利用混沌序列密码算法。加密系统的功能模块划分如图2所示。

2.3 数据加密模块的设计与实现

混合加密体制是数据加密系统所使用的,它将对称密码算法具有的较快的贾母速度、较高的加密强度、较高效的加解密大量数据等能力进行了充分的运用;公钥密码算法具有较高的加密强度,密钥便于管理。为了弥补传统密码算法中不便于传递密钥的缺点,可以加密明文的密钥。将二者结合起来,可以实现数据传输的安全性。

2.3.1 3DES算法的设计与实现

目前,虽然DES具有较为广泛的应用范围,并且人们可以很方便地从公开渠道获取,但是因为DES只有56位的密钥长度,易于攻击,其加密强度已经远远不能满足现代安全的需要,因此可以将两个56位的密钥混合起来使用来完成加解密,这样密钥就达到了112位的长度,从而大大增强了加密强度,这就是3DES。3DES的算法原理如图3所示。

图3中密钥K1、K2是随机产生的。

三重DES算法的实现主要包括DES类和THREE类两个类。其中DES类的主要函数是public static byte [] encrypt(byte [] oword64 , int [] [] iSubKeys ) // 加密;public static byte [] decrypt (byte [] bCipher-text , int [] [] SubKeys ) // 解密。THREE类的主要函数是public static byte [] encrypt(byte [] oword , int [] [] SubKeys1 , int [] [] SubKeys2 ) // 解密;public static byte [] decrypt (byte [] sword , int [] [] SubKeys1, int [] [] SubKeys2) // 加密,返回明文。

2.3.2 RSA算法的设计与实现

大数分解是RSA的安全性赖以存在的基础。公钥和私钥都是两个大素数的函数。RSA算法的实现主要包括三个部分,即生成密钥、加密数据和解密数据。在变量的定义方面,在对p、q、n、e、d、t进行定义时,利用Java中的大数BigInterger();在密钥的生成方面,利用public boolean generatePQNTED(Stringe);在加密数据方面,利用public String Encrypt (String msg 、BigInteger pbkey 、BigIntiger n ) ,在加密的过程中,在对所要加密的字节数组进行分组时,可以利用转换函数copyBytes();在解密数据的过程中,利用之前产生的公钥n与私钥d。把所要解密的数据与公钥n与私钥d作为参数向加密函数public String Decrypt (String msg , BigInteger prikey , BigInteger n ) 传递。

RSA只有在大数运算的基础上才能实现,只有这样才能执行大量的大数加减乘除和模逆、模幂运算。这就导致相对于其他特别是对称密钥算法来说,RSA的实现效率十分低下。本文设计的系统中生成的DES密钥用RSA替代的原因也就是这种速度上的差异。

本文设计的数据库“敏感”数据安全加密系统,将数据的加密技术和签名技术综合了起来,一方面解决了密钥的管理问题,另一方面也使数据的不可否认性及完整性得到了切实的保障,同时也将该系统网络通信的程序设计和界面设计方法提供了出来。本系统将集中主要的加密算法进行了具体的分类,使代码的高效性、可扩展性等得到了有效地增强,有利于以后的再次开发。

参考文献

[1]胡向东,魏琴芳.应用密码学[M].北京:电子工业出版社.2006.

[2]贺雪晨,陈林玲,赵琰.信息对抗与网络安全[M].北京:清华大学出版社.2006.

[3]褚雄,王子敬,王勇.一种基于FPGA的DES加密算法实现[J].江南大学学报(自然科学版),2006,15(6):661—664.

[4]朱作付,徐超,葛红美.基于DES和RSA算法的数据加密传输系统设计[J].通信技术,2010,43(4).

[5]Compag,HewIett-Packard,InteI,Lucent,Microsoft,NEC,PhiIips.UniversaI Bus Specification(Revision 2. 0)[M]. InteI,2000.

[6] Teo Pock Chueng,et al. Implementation of Pipelined Data Encryption

Standard(DES)Using Altera CPLD[J]. IEEE,2OOO,O-78O3-6355-8:III-l7- III-2l.

篇4

【关键词】数据库 连接技术 连接类

1 前言

任何一个稍微有点规模的Web应用都离不开后台数据库系统的支持。商业的数据库系统主流有Oracle、DB2、MS SQL Server和Sybase等,而除了这些商业数据库外还有一些开源免费的数据库系统可以选择,对数据库的使用已经成为一种常态,本文着力于数据库连接技术的探讨,有助于电子商务应用技术的发展。

2 数据库连接的设计

在设计数据库连接的时候我们可以应用纯JAVA的连接,如果应用桥连接的方式效率会被大打折扣。我们可以通过设计专门的用来连接数据库和进行相关数据库操作的类。

数据库的连接使用连接池来实现,有了连接池以后就可以在连接请求来的时候分配给一个连接,当连接用过之后就可以回收到连接池中,这样就提高了效率。

连接池是配置在tomcat路径下面的conf文件夹下面的server.xml文件里面,连接池的实现使用下面的代码来进行的:

unpackWARs="true" autoDeploy="true"

xmlValidation="false" xmlNamespaceAware="false">

auth="Container"

type="javax.sql.DataSource"

maxActive="100"

maxIdle="30"

maxWait="10000"

username="sa"

password="sa"

driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"

url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=yidong"/>

其具体实现方式含有以下功能:

1)服务器的地址为localhost。

2)应用的根路径为webapps。

3)在元素下面指定了连接池的路径为yidong。

4)文本路径为yidong。

5)资源的名称为jdbc/yidong。

6)连接池最大活动连接数为100。

7)最大等待时间为10秒。

8)连接数据库的用户名为sa。

9)密码为sa。

10)驱动为:com.microsoft.jdbc.sqlserver.SQLServerDriver。

11)url为jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=yidong。

3 数据库连接类的实现

下面我们定义两个方法,一个从连接池中获取一个连接,另一个方法用来关闭连接,有两个对象,分别为连接池对象:pool和数据库连接对象:connection。

public class DbConnection {

static private DataSource pool = null; // 声明连接池

private Connection connection = null; // 声明一个连接

// 初始化连接池

public DbConnection(String dataSourceName) throws NamingException, SQLException {

//保证只有第一次使用才会建立连接池

if (pool == null) {

Context env = (Context) new InitialContext()

.lookup("java:comp/env");// 获得当前的JNDI对象

pool = (DataSource) env.lookup(dataSourceName);//获得连接池

}

connection=pool.getConnection();//获得一个数据库连接

}

// 关闭连接

public void close() throws SQLException {

if (connection != null) {

connection.close();

}

}

public Connection getConnection() {

return connection;

}

4 前文总结

本文探讨了数据库连接技术的实现,给出了一种效率很高的数据库的连接技术,可以在各行各业的电子商务应用中被采用。

作者简介

夏小翔(1973-),男,湖北省鄂州市人,鄂州职业大学计算机系讲师,硕士,研究方向为群体智能算法。

篇5

主要包括按模拟企业、时间、商品、市场等不同类别统计各项经营数据,如模拟企业资产、库存、销售收入、市场占用等数据,通过所存储的大量数据分析企业经营效果,总结得失,并能够为调整学员的经营方案和验证管理理论提供有价值的参考数据。

2、概念结构设计

概念结构也称为概念模型,是对用户所提供的原始数据进行综合,抽象出数据库系统所要研究的数据,将现实世界中的事物及其联系,转换成信息世界中的实体及其联系。概念结构设计必须将需求分析得到的用户数据和需求抽象为反映用户观点的概念模型,是用户与数据库人员之间进行交流的工具,其主要表现形式为E-R模型图。图中矩形框表示实体集;菱形框表示实体集之间的联系。

3、逻辑结构设计

逻辑结构设计主要任务是综合考虑关系型DBMS的性能和所设计模拟系统的功能复杂程度,将概念结构转换为逻辑模式,即各个关系模式的结构设计,包括各关系模式的名称、每一关系模式中各属性的名称、数据类型和取值范围等内容。将E-R模型转换成初始的关系模型,然后分析每一个关系模式的合理性,通过关系模式的规范化消除其中不合理模式。E-R模型中的实体和联系经过规范化处理转换为关系模式如下:(1)学员(学号、姓名、担任角色、性别、企业代码),学员通过学号标识。(2)门店(门店编码、容积、最低购买价、最低租赁价、等级、信息化程度、企业代码、获取时间、获取方式、金额),门店通过门店编码标识。(3)模拟企业(企业代码、登录密码、名称、人数),模拟企业通过企业代码标识。(4)商品(商品代码、名称、采购价、容积需求、采购提前期),商品通过商品代码标识。(5)客户订单(订单编码、需求商品、数量、账期、企业代码、市场代码、签约时间、售价、其他要求),客户订单通过订单编码标识。(6)市场(市场代码、类别、开发时间、开发资金),市场通过市场代码标识。(7)现金流量表(编号、时间、收支类别、项目名称、金额),现金流量表通过编号标识。(8)市场开发(市场代码、企业代码、时间、金额),市场开发通过市场代码和企业代码组合标识。(9)采购(企业代码、商品代码、时间、数量),采购通过商品代码和企业代码组合标识。(10)配货(企业代码、商品代码、门店编码、时间、数量、定价),配货通过商品代码、门店编码和企业代码组合标识。

4、数据库实现

4.1建立存储过程由于使用的是关系型数据库,数据处理都是通过SQL语言完成的,其中有大量数据的插入、更新与删除,甚至还需要进行大量的运算,所以直接提交SQL语句并让DBMS进行编译再执行的话,处理的效率较低,而建立存储过程是一种有效解决手段。存储过程是一种存储在数据库服务器上的SQL操作[3],这样很多数据处理流程都在后台以存储过程的方式来实现,即有利于提高系统的运行效率,又可提高系统的可维护性和可扩展性。

4.2设计索引在模拟经营中各模拟企业经常性的要查询公共信息,而且这种查询的时间性非常明显,所以设计索引可以显而易见的优化系统性能,对所有用于时间排序的列创建索引,可以避免整表扫描或访问。在不改变表物理结构的情况下,直接访问特定的数据列以减少数据存取时间;把数据分散到不同的页面上,可以分散插入的数据;主键自动建立了唯一索引,能确保数据的唯一性。

5、结语

篇6

辽宁省为加强对水利工程建设项目的全过程动态监管,在借鉴探索的基础上,对监管内容全覆盖、信息共享、标准化、面向对象、约束机制、查询统计等层面进行设计,建立了多方认可、程序严密、动静结合、报管分离的水利工程建设项目动态数据库,为实现水利建设项目信息化监督管理奠定了坚实的基础。

[关键词]

水利工程;数据库;设计;动态管理;辽宁省

近年来,水利基础设施建设力度不断加大,病险水库除险加固、饮水安全、灌区节水改造、泵站更新改造、水土保持、引输水工程等建设项目呈现出点多、面广、量大,管理主体分散,管理对象多样化等特征,水利建设管理呈现出投资强度高、建设任务重、管理要求高、工作责任大等新的特点[1]。在新的形式下,辽宁省为全面做好水利工程建设与管理工作,在借鉴探索的基础上,提出开展水利工程建设项目动态管理系统建设,重点研究了水利工程建设项目动态数据库建设工作,现将设计要点进行交流分享。

1设计要点

数据库设计是应用系统设计的根基,数据库设计关乎系统功能实现度、稳定性、扩展性等多个方面的内容[2]。为确保水利工程建设项目动态数据库达到“把数据管起来,将数据用起来,使数据活起来的”的预期目标,特对数据库在内容覆盖、信息共享、标准化、面向对象、约束条件、查询统计等方面进行了重点设计。

1.1全过程覆盖依据辽宁水利建设项目管理经验,将水利建设项目管理有关字段按照建设过程进行科学划分,按项目实施过程划分为前期工作、项目基本信息管理、建设过程管理三大阶段,按项目管理内容分为前期工作、项目基本情况、项目招投标、参建单位及人员履行合同情况、进度管理、计划和资金管理、质量管理、安全管理、检查稽察督查审计及整改情况、竣工验收等10个环节[3],对管理内容进行全面覆盖。

1.2信息互联共享在辽宁水利信息化整合建设的背景下,严格执行数据来源唯一性的原则,充分利用现有系统的权威数据。与水利建设项目管理有关的设计、施工等单位和人员信息,采取“同存异消”的方针,对辽宁省水利建设市场信用信息平台系统中的数据字段进行整理,作为水利建设项目动态管理系统数据库的字段内容,确保此类信息同源权威;同时结合质检处等有关处室意见,合理设置数据字段,为今后相关处室新建或改建系统提供数据接口。

1.3标准化处理设计标准化是组织现代化生产的重要手段,是科学管理的重要组成部分,加强数据库建设的标准化处理在数据库建设中尤为重要[4]。水利建设项目面广类多,主要可分为水库、水闸、泵站等工程建设项目、水土保持治理项目、移民后期扶持项目、水文测站项目、农村电气化项目以及河流治理项目等几大类别。为保障水利工程建设项目动态管理数据库标准统一,特采取“求大同存小异”的方针,对全部项目的前期工作、项目信息管理、除进度管理以外的过程管理进行规范化处理,在字段设计上统筹兼顾,归一化处理,形成统一标准;因不同项目在进度管理中体现的指标不一样,比如农村电气化项目主要体现在发电设备采购、安装方面,水土保持治理项目体现在鱼鳞坑、截水沟、植被绿化的数量、长度和面积上,水库、水闸等工程项目体现在土石挖方、混凝土浇筑体积上,特采取先差异化后标准化进行处理。通过标准化处理设计,大大提高数据库的兼容和共享,提高数据库的通用性,特别利用降低建设成本和方便数据库用户使用。

1.4面向对象设计数据是系统的灵魂,活的数据是系统生命的保证。水利工程项目动态管理数据涉及到项目法人,设计、施工、监理单位及人员、质检处、安监处、建设与管理处等众多机构和人员,这些信息都需要纳入数据库中,为保障数据更新及时、稳定,就必须面向对象来设计。考虑到项目法人在整个项目中的主导作用和稳定性,数据更新以项目法人为主导、质检处辅助来进行设计。不同对象对项目管理的侧重点也不同,考虑用户在系统使用过程中的权限分配,在对数据库表的处理上,按照项目法人、参建单位、监督机构、建管机构、管理员等5类人员进行分类标识,支撑系统交互界面的设计与调用。

1.5约束机制设计提供约束条件机制、完整性检查方法、违约处理是维护数据库完整性的充分必要条件。水利工程建设项目动态管理数据库在约束机制上主要体现在以下几个方面:1)对数值的自动求和计算方面,避免人工录入出现计算错误;2)对参建单位人员方面,系统自动调取辽宁省水利建设市场信用信息平台中的入库资料供填报人员选取,确保各类人员符合相关资格;3)对持证上岗人员出现一员多岗现象及失信惩戒人员进行红色警示。

1.6查询统计设计数据检索与查询也是数据库的主要功能之一[5]。为便于对水利工程建设项目进行统计查询,特在数据库设计上充分考虑查询或统计的口径,结合辽宁水利建设管理需要,设计了年度、工程类别、业务处室、行政区划、投资来源等5类统计口径。其中工程类别和业务处室划分要与辽宁省水利投资统计软件相衔接,确保水利建设投资统计结果与本库中的建设进度统计能对应分析。

2结语

辽宁省水利工程建设项目动态数据库设计是对辽宁水利工程建设监督管理的一次全方位梳理。经过查阅了大量的法规文件,多次征集有关部门意见,仔细分析数据上报程序,形成了多方认可、程序严密、动静结合、报管分离的水利工程建设动态数据库,以此库为基础,研发辽宁省水利工程建设项目动态管理信息系统,将高效支撑和提升辽宁水利建设与管理效能,为水利建设管理改革发展提供新的起点。

[参考文献]

[1]陈雷.坚持改革创新强化建设管理努力开创水利建设与管理工作新局面[EB/OL].

[2]伞颖,高辉.浅谈数据库设计在系统设计中的重要性[J].中国校外教育,2013(24):168—169.

[3]中华人民共和国水利部.SL223-2008,水利水电建设工程验收规程[S].北京:中国水利水电出版社,2008:1—10.

[4]雷跻华,孙宏琦.数据库建设管理之我见[J].情报杂志,1997,16(3):72—73.

篇7

关键词:网上书店;数据库设计;MS SQL Server2000

中图分类号:TP3文献标识码:A文章编号:1673-0992(2011)01-0370-02

书店作为一种信息资源的集散地,图书和顾客的各种数据繁多。在现今飞速发展的信息时代,各行各业都离不开使用计算机进行信息数据的管理。其优点:1、可以解决基于文本、表格等纸介质的手工处理,快速处理图书销售情况(如销量、库存)的统计与核实,查看顾客的消费记录,图书销量排行榜等,大大提高了工作效率。2、数据存储量大,易保存,易查找,安全可靠。3、对历史数据的查询,翻阅比手工记录方便快捷,提高了准确性。4、使工作更加有规律,更加系统,能够对图书及顾客的各种情况进行及时、准确、有效的处理。本系统就是为了管理好书店信息而设计的

一、应用需求分析

网上书店系统需满足三方面的需求,分别是消费者,书店工作人员和书店管理人员。消费者的需求:1、查询书店所有书籍(如名称、作者、价格等);2、查看个人消费记录(书本价格、购买数量、账户余额等);3、修改个人信息(如姓名、地址、联系方式等)。书店工作人员的需求:1、对消费者的注册信息进行审核,管理;2、对消费者的咨询进行解答并对购买信息进行确认;3、形成购书报表供书店管理人员查看确认。书店管理人员的需求:1、对书店工作人员、消费者、图书的各项信息进行管理和维护;2、维护并生成各种报表,掌握书店的各种信息,以便下一步操作(如进货或促销等)。

消费者应该可以直接查看书店的各种图书信息,可以根据本人id和密码登录系统,进行购买图书、查看历史购买记录和个人信息的查看、修改。为保护消费者的个人隐私,消费者只可查询和维护自己的各种信息。

书店工作人员可以修改书店所有图书的资料信息、有权限修改消费者提交后的购书情况。

书店管理人员要实现对图书、消费者、总体销售情况的信息进行管理和统计,以及工作人员和管理人员信息的查看和维护。书店管理人员不仅可以查询、修改、添加、删除和统计图书的基本信息,还可以查询、修改、添加、删除和统计图书消费者的基本信息,但限制不能修改、添加和删除销售信息。

图1 网上书店应用需求的总结

二、系统数据流图

根据以上所做的需求分析,并略掉一些细节(如不考虑书店工作人员和管理员的登录;对记录的维护),得出以下两层数据流图。

三、系统数据库设计

I备拍钌杓篇

在概念设计的阶段中,应从用户的视角看待数据及处理要求和约束,产生一个概念模式来反映用户观点。再将概念模式转换为逻辑模式。在设计过程中把概念设计独立出来,便可以相对单一化各阶段的任务,大大降低设计复杂程度,并且不受特定DBMS的限制。

数据库的概念设计可以利用ER方法,将其分成三个步骤:首先,设计局部ER模式;接着,将各局部ER模式综合为一个全局模式,最后优化全局ER模式,得到一个最终模式,即概念模式。

1本植E-R图的设计

E-R(Entity-Relationship)又称实体关系图。E-R模型的三个基本要素是实体、属性和联系。针对每一对象画出该对象信息的局部E―R图,确定该对象视图的实体、属性和联系。实体,一般是名词,即数据对象。本数据库中的图书、顾客等都为实体。属性,一般是名词,即实体的各个特征,一个实体存在多个属性。例如:图书实体中包括编号、名称、作者、价格等多个属性。联系是实体间的关联集合,一般是动词。如顾客和图书两个实体通过查询进行联系。需要注意的是:联系的种类分为一对一联系(1:1)、一对多联系(1:n)、多对多联系(m:n)。若有联系,不管是实体内部之间的联系,还是两个实体之间存在联系,或多个实体之间存在联系,需要进一步确定为哪种联系。

根据需求。定义实体与属性如下:

图书(图书编号,图书名称,作者,出版社,出版日期,类别,书目,价格)

顾客(id,密码,姓名,性别,身份证,电话,地址,余额)

账目(时间,id,图书编号,数量,金额)

库存(图书编号,数量,购入时间)

2闭体E-R图的设计

所有局部E-R图都设计完成后,综合局部E―R图成为一个单一的全局概念结构,生成总体E―R图。在综合过程中去掉不必要的联系,同时要消除冗余。整体E―R图必须体现出所有局部E-R图(包括实体、属性和联系),而且必须是一个合理的、完整的、一致的数据库概念结构。具体步骤如下:

1奔觳楦魇堤逡约捌渲械氖粜裕确认属性中哪个是唯一标识(在这个实体中是唯一存在的),哪一个属性作为公共实体类型(作为实体与实体间合并的基础)。这一步可以通过设立主、外键,来体现实体本身、实体与实体之间的映射关系。

2倍跃植E-R图进行合并。通过公共实体类型即表中的主、外键,进行两两合并,并加入独立的局部结构,然后进行优化,消除冲突、冗余(如属性冲突、结构冲突、命名冲突),使之成为一个通用的并被接受的概念模型。

3弊詈蠖哉体E-R图进行优化。除了要满足用户所有的功能需求外,还要尽量简洁,以提高数据库系统的利用率。

综合以上所述,“网上书店数据库系统”的全局ER模式如图4所示。

II惫叵凳据库的设计

数据库管理系统(DBMS)大多数是建立在关系模型上的,因此又称为关系型数据库管理系统。关系型数据库实际上是一些相关的表和其它数据库对象的集合。在设计过程中,一个实体或实体间的联系就是一个表,每个表又包含行(记录)和列(字段);表与表之间是相互关联的,通过主键和外键建立关系;一个关系数据库中不仅有多个表,还有其他对象,如视图、索引、存储过程等。数据库的设计过程就是把完整的整体E-R图转化为关系模式的过程。通过关系数据库的设计原则和设计步骤,并加以优化得到如下一组关系模型:

1背跏脊叵的P酮

book(图书编号,图书名称,作者,出版社,出版日期,类别,书目,价格)

class(类别,类别名,类别信息)

user(id,密码,姓名,性别,身份证,电话,地址,余额)

sale(时间,id,图书编号,数量,金额)

stock(图书编号,数量,购入时间)

2备据设计中出现的问题,本文特加入两个关系模式:

1)发货:用于工作人员在顾客购买成功后临时存储顾客和所买图书信息,以便尽快将图书送达。

2)缺货:用于存储已经卖空但顾客还要购买的图书,以便书店管理员能够尽快发现缺货图书并及时进货。

III笔据库的实现

本文的数据库设计使用的是Microsoft SQL Server2000(企业版)。首先创建四个基本数据库表如表1-7所示,然后根据整体E-R图,建立各表之间的联系,如图5所示。

表1 顾客基本信息表的结构(User)?

表2 图书信息表的结构(Book)

表3 图书类别信息表的结构(Class)

表4 销售记录信息表的结构(sale)

表5 库存信息表的结构(stock)

表6 发货情况临时存储信息表的结构(mail)

mail(id,姓名,电话,地址,图书编号,图书名称,数量)

表7 缺货信息表的结构(none)

none(图书编号,图书名称,出版社)

图5 数据库表间联系图

随着网络普及,电子商务的飞速发展,本文通过人们熟悉网上购物,通过结合数据库的理论基础以及MS SQL Server2000软件的应用,来展示一个数据库从最初构架到最终完成所需的一系列步骤,对整个流程有一个了解。本文仍有很多不足以及错误,希望可以指出改正。

参考文献:

[1]萨师煊,王珊。数据库系统概论(第三版)。高等教育出版社。

[2]张晨曦,王志英,戴葵,朱海滨。计算机体系结构。高等教育出版社。

篇8

[关键词]UML 面向对象 关系型数据库

中图分类号:TaxB 文献标识码:A 文章编号:1009-914X(2014)17-0243-01

1、引言

在传统的数据库设计中,E-R图一直作为一门十分重要的工具来对数据进行建模,但是随着数据库规模的扩大,简单的E-R模型结构无法清晰地分析和描述问题,导致系统开发难度系数增大。为了更好的解决这一问题,近年来UML建模技术被广泛的应用于数据库设计领域。UML是最为广泛使用的面向对象系统的标准建模方法,采用UML的分析方法设计数据库,能够使数据库模型清晰易懂,能够更加清晰地反映系统结构,易于开发,缩短了系统开发周期。另一方面,现在的开发环境大多是面向对象的,而存储机制往往是基于功能分解的关系型数据库,支持的数据库模型中,关系型数据库是最普遍的。事实上,目前较为流行的对象关系数据库模型也是关系数据库模型的一个扩展,因此,在关系数据库设计中,UML可以完成标准ER模型的所有建模工作,而且可以描述ER模型所不能表示的关系。用UML进行数据库设计使商务和应用团队可以共享公共的语言,并与数据库团队进行有效沟通。

本文先简单介绍一些基本的概念,接着讨论将UML类图中的数及其对象映射成关系型数据库中的表的方法。最后结合一个实例来说明从UML模型关系数据库之间的转化。

2、属性、类以及类之间的关系

2.1 属性。对象属性对应于数据库表的字段,对象属性类型对应数据库表的域。

2.2 类。将问题域中的实体抽象为对象模型,在对象模型的基础上进一步抽象为类并将类映射为数据库的概念模型,是关系数据库设计的关键所在。将类名、属性以及对属性进行的相关操作组成一个完整的类模型。

3.2 属性类型映射为域。类的属性描述了其所有对象共有的特性。属性的类型可以是基本数据类型,如整数、实数、布尔型等,也要以是用户自定义类型。属性类型对应于数据库中的域,域的使用可使数据库设计更具一致性,优化了数据库应用的移植性。一般来说,实现简单域比较方便,只须定义相应的数据类型和空间大小。对于每个属性所联关系等原因,需要在表中增加一些新的列。

3.3 类映射为表。通常,一个类映射为一张类表,类的属性映射为表的各列,类的对象则映射为表中的各个记录。但是我们还要注意以下两种特殊情况:

(1)如果类的属性中某些属性只是暂时性使用,不需要在数据库中永久保存,则该类属性无须映射。

篇9

【关键词】数据库应用 数据库设计规范 数据库设计流程

引言

随着计算机技术与网络通信技术的发展,数据库技术已成为信息社会中对大量数据进行组织与管理的重要技术手段及软件技术。数据库的应用领域非常广泛,不管是家庭、公司或大型企业,还是政府部门,都需要使用数据库来存储数据信息。目前关系型数据库已成为主流,下面也是针对关系型数据库进行论述的。

一、规范数据库设计的必要性

数据库设计,简单地说就是规划和结构化数据库中数据对象以及这些对象之间关系的过程。良好的数据设计能够节省数据库的存储空间,能够保证数据的完整性,方便进行数据库应用系统的开发。无论是SQL Server还是Oracle数据库,通过进行规范化的数据库设计,都可以使你的程序更具有可读性,更容易扩展,从而也会提升项目的应用性能。

二、数据库设计的流程

目前设计数据库系统主要采用的是以逻辑数据库设计和物理数据库设计为核心的规范设计方法。其中逻辑数据库设计是根据用户要求和特定数据库管理系统的具体特点,以数据库设计理论为依据,设计数据库的全局逻辑结构和每个用户的局部逻辑结构。物理数据库设计是在逻辑结构确定之后,设计数据库的存储结构及其他实现细节。一般将数据库设计分为以下六个阶段:需求分析阶段、概要设计阶段、逻辑设计阶段、物理设计阶段、数据库实施阶段、数据库运行维护阶段。这里重点讨论在各个阶段的数据库设计过程。

1.需求分析阶段

主要是分析客户的业务和数据处理需求。

需求分析阶段的重点是调查、收集并分析客户业务数据需求、处理需求、安全性与完整性需求等。

常用的需求调查方法有:在客户的单位跟班实习、组织召开调查会、邀请专人介绍、设计调查表并请用户填写、查阅业务相关记录等。

常用的需求分析方法有:调查客户的单位组织情况、各部门的业务需求情况、协助客户分析系统的各种业务需求、确定新系统的边界。无论数据库的大小和复杂程序如何,在进行数据库的系统分析时,都可以参考下列基本步骤:收集信息、标识实体、标识每个对象需要存储的详细信息、标识对象之间的关系。

2.概要设计阶段

主要是绘制E-R图,用于在项目团队内部、设计人员和客户之间进行沟通,确认需求信息的正确和完整。

在需求阶段解决了客户的业务和数据处理需求后,就进入了概要设计阶段,此时需要和项目团队的其他成员以及客户沟通,讨论数据库的设计是否满足客户的业务和数据处理需求。与机械行业需要机械制图、建筑行业需要施工图纸一样,数据库设计也需要图形化的表达式——E-R实体关系图,它也包括一些具有特定含义的图形符号,分两个步骤完成:

确定“实体-关系”模型;

绘制E-R图。

3.逻辑设计阶段

将E-R图转换为多张表,进行逻辑设计,确认各表的主外键,并应用数据数据库的3大规范进行审核。

(1)将E-R图转换为表。

将各实体转换为对应的表,将各属性转换为各表的对应的列。

标识每个表的主键列,需要注意的是:对没有主键的表添加ID编号列,它没有实际含义,只用作主健或外键。

在表之间体现实体之间的映射关系。

(2)规范设计要求

第一范式(1NF)。第一范式的目标是确保每列的原子性,即每个列都是不可分的最小数据单元。

第二范式(2NF)。第二范式在第一范式的基本上,更进一层,其目标是确保表中的每列都和主键相关:如果一个关系满足了第一范式(1NF),并且除了主键以外的其他列,都依赖于该主键,则满足第二范式(2NF)。

第三范式(3NF)。第三范式在第二范式的基础上,更进一层,第三范式的目标是确保每列都和主键直接相关,而不是间接相关;如果一个关系满足不了第二范式(2NF),并且除了主键(或组合键)以外的其他列都不依赖于主键(或组合键),则满足第三范式(3NF)。

4.物理设计阶段

逻辑数据模型要选取一个具体的工作环境,这个工作环境提供了数据存储结构与存取方法,这个过程就是数据库的物理设计。物理结构依赖于给定的DBMS和和硬件系统,因此设计人员必须充分了解所用RDBMS的内部特征、存储结构、存取方法。数据库的物理设计通常分为两步,第一,确定数据库的物理结构,第二,评价实施空间效率和时间效率。数据库物理设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,选择一个优化方案作为数据库物理结构。在数据库物理设计中,最有效的方式是集中地存储和检索对象。物理设计完成之后,就应该得到详细的磁盘分配方案、存储方案、各种基表的详细信息等。根据这些信息就可以建立数据库了。

5.数据库实施阶段

数据库的实施,就是组织数据入库、编制应用程序、试运行。包括建立数据库、创建数据表、增加约束和创建视图、触发器和存储过程等。为了完成相应的操作和检索,需要编制很多程序,形成一个程序系统来使用该数据库,这部分是程序设计的任务。一切就绪之后,就可以试运行数据库了。

6.系统管理和维护

数据库试运行结果符合设计目标后就可以真正投入运行了。数据库投入运行标志着开发任务基本完成和维护工作开始,并不意味着设计过程的终结。由于应用环境在不断地变化,数据库运行过程中物理存储也不会不断变化。对数据库设计进行评价、调整、修改等维护工作是一项长期的任务,也是设计工作的继续和改进。

篇10

【关键词】VFP数据库;教学模式;微课设计

1.引言

S着网络技术与通信技术的不断发展,微课作为新型的教学资源模式,具有用时少,内容精、生动性强、可在网络上点击播放、不受教学时间和空间的约束等特点。在当今社会中,对于教育者来说运用微课进行教学,是必不可少的,微课程创始人戴维.彭罗斯曾把微课程称为“知识脉冲”[1]。他认为微型的知识脉冲只要在相应的作业与讨论的支持下,能够与传统的长时间授课取得相同的效果,将成为一种知识挖掘框架。微课提供的知识挖掘平台,允许学生对自己的学习有更多的主动权,自主地挖掘所需的知识点、有针对性地开展学习,这不仅提高了学生的学习效率,节约了时间,而且极大地激发了学生学习的兴趣。

所谓“微课”是指以视频为主要载体,记录教师在课堂内外教育教学过程中围绕某个知识点(重点难点疑点)或教学环节而开展的精彩教与学活动全过程[2]。

VFP数据库是高等院校非计算机专业学生必修的公共课,其理论性和实践性都很强,信息量大、且较为抽象,并且具有一定的难度,学生在学习时普遍存在一定的畏惧心理,导致对VFP数据库的学习兴趣不浓,进而影响到后续课程的学习。对此,教师应积极转变教学观念,运用微课这一新型的教学模式,优化VFP数据库课程教学势在必行。将微课技术用于VFP数据库课程的教学中,针对VFP数据库各个知识点或教学环节,运用各种教学资源,以教学视频为主要方式呈现给学生,将极大激发学生学习VFP数据库的兴趣,帮助教师补充和延伸VFP数据库课程的教学过程,从而实现较好的教学效果。基于微课程的优势,本文从VFP数据库教学现状、VFP数据库微课的设计、VFP数据库微课的实现三个方面,对VFP数据库教学模式进行探讨。

2.VFP数据库教学现状

目前,在VFP数据库教学中,学生们的普遍反映是:

(1)纸制教材对学生的吸引力较低。VFP数据库教材中大量的概念、定义、表格、命令、控件、数字、代码等,使得大部分学生犯晕,再加上呆板的章节形式,对学生吸引力较低。

(2)教材选用与学生需求的吻合度较差。纸制教材虽然具有重点突出、通俗易懂、详略得当等特点,但缺乏趣味性、时尚性,这不仅反映了目前大学生的心理追求,也说明了VFP数据库教材建设滞后于教学需求。

(3)学生对VFP数据库课程中的重点、难点的理解不够透彻。在VFP数据库课程中,知识点多,重点、难点多,例如数据模型、参照完整性等概念,都是十分重要且非常抽象。老师讲清楚了,学生当时可能也听明白了,但不一定就是掌握了,短短的课堂时间无法达到领会、理解、掌握的教学效果。

(4)教师教学努力方向与学生的兴趣点不能完全一致。当代的大学生思维比较活跃,兴趣广泛,他们的兴趣点在于新和乐上,如果教师还按照传统的教学模式按部就班,扎扎实实,一步一个脚印按照教学大纲要求向学生传授知识,学生对学习VFP数据库的意愿、兴趣点与教师教学努力方向不一致,没有形成教学上的合力,教学效果事倍功半。

3. VFP数据库微课的设计

基于VFP数据库特点及教学现状,可以通过设计VFP数据库微课来补充和丰富教学过程,从而实现更好教学效果。

(1)内容的选取与设计。VFP数据库微课的设计首先应从选题开始,只有题选好了,教师才能借“题”发挥。如果选题太大、太复杂,在有限的时间内无法把问题讲述清楚,就会影响教学效果。因此,在教学实践中,应选择VFP数据库中常见、典型、有代表性的知识点或针对某一个难点、重点问题进行微课设计,内容尽量“小而精”。时间一般控制在5-8分钟,最长不宜超过10分钟。譬如,VFP数据库课程中的“字段有效性”是VFP数据库中的一个重点、难点,它能保证数据库中数据的正确性。教师可以基于该知识点进行微课设计。

(2) VFP数据库微课导入环节的设计。一个好的微课,关键在于导入。微课教学时间短,不应在导入环节花费过多时间,所以切入主题必须迅速,力求做到新颖独到、引人注目。导入的方法很多,可以开门见山进入主题,可以设置一个疑问、悬念等引入主题,也可以从之前的基本内容引入主题,还可以通过一些实际问题引入主题。但不管采用哪种方法,都要与课堂教学内容紧密关联。

如前所述的“字段有效性”的微课中,导入方法上可根据实际生活中“学生成绩采用百分制,在0-100之间”,直接给学生展示一张表。让学生很快明白微课要解决的问题,做到了切题迅速,目的明确。

(3)VFP数据库微课教学过程的设计。微课通常只有一条主线,解决的是一个或一类问题或方法。因此在内容的安排上要围绕一条线索展开,主题要鲜明,突出重点内容,由浅入深,层次分明,巧妙运用启发式、问题式等方法,设计问题,激发学生学习兴趣,营造学生参与教学的氛围,提高学生积极学习、自主学习的热情。在VFP数据库微课教学过程设计中,每一个画面都配上感染力极强的精炼语言,在视觉受到强烈冲击的同时,听觉上也产生强烈共鸣,进而使主题深入学生内心。升华主题,精彩总结。一个好的微课要有一个好的结语。提纲挈领,升华主题是好的结语的具体表现。这样可以让学生清晰地感觉到学到的东西,加深对所学内容的印象,减轻记忆负担。

4.VFP数据库微课的实现

VFP数据库微课的质量直接影响到微课教学效果。因此,对于相关课件PPT的设计、教师魅力的展现、录制视频的方式等每一个环节都十分重要。

(1)VFP数据库课件制作。制作课件的总体原则是,在说明问题的前提下,越简单越好。教师应紧紧围绕选题的内容,制作图文并茂、动静结合的PPT课件。课件应尽可能利用图片、图表、表格、插图等[3]。课件动画设计以帮助学生理解问题为目的,夸张适度,恰如其分。课件字体、字号选择得当,颜色搭配不能过于复杂,强调协调和合理。图片和文字的使用不是越多越好,图片要清晰美观,有视觉震撼力;文字要言简意赅,感染力强。高质量的PPT课件为高质量的VFP数据库微课的教学打下坚实基础。

(2)VFP数据库微课视频制作。在视频制作方式的选择上, VFP数据库教师一定要根据内容的需要确定。要有团队合作意识,例如课堂教学可以用录屏软件录制,再配上摄像头和麦克风,也可以让一部分学生旁听,开展课堂互动,将老师讲课的激情体现出来。也可以用数码摄像机实时记录教学过程中老师、学生交流等实景画面,然后对视频进行后期的编辑制作、美化。

(3)VFP数据库教师精彩的讲解。教师精彩的讲解应该是VFP数据库微课的一个亮点,在讲解过程中教师要做到为人师表,教学语言要规范、清晰,有意识地完善自己的教学,实现教师的人格魅力。

5.结语

将微课引入VFP数据库课程中,改变了传统的教学方式、学习方式,打破了学生学习的地域限制和时空限制,满足了学生个性化学习和碎片化学习要求,对提高教学质量和提升学生自学能力都能起到促进作用。

参考文献:

[1] 胡铁生.“微课”:区域教育信息资源发展的新趋势[J].中国电化教育,2011,(10): 61-65.