欢迎来到速发表网,咨询电话:400-838-9661

关于我们 登录/注册 购物车(0)

期刊 科普 SCI期刊 投稿技巧 学术 出书

首页 > 优秀范文 > 数据库设计论文

数据库设计论文样例十一篇

时间:2023-04-18 18:10:28

数据库设计论文

数据库设计论文例1

2人力资源数据库设计

本文在设计企业战略视角下数据库过程中,对开发工具、数据库对象命名规则、表、Check约束、SQL脚本等进行分析,提出完整的数据库设计方案。第一,本文研究的人力资源数据库设计工具选用的是MicrosoftSQLServer2008,它是一个关系数据库管理系统,它的优点就是可伸缩性比较好,具有较高的集成度,较强的可信性,以及高效性和智能化。

第二,关于数据库对象命名,本文研究的数据库对象命名由四部分构成,即英文字母、数字、下划线和中文。如表“t01_02_组织核心能力评价指标”,其中,01是表所属模块的编号,即核心能力素质管理,02是表所在模块中的顺序,即02号表组织核心能力评价指标表(表1)。再如视图“vw_0102”,代表由“t01_02_组织核心能力评价指标”表构成的视图,而“vw_0102_0103”就是由“t01_02_组织核心能力评价指标”和“t01_03_组织核心能力评分”两个表构成。

表1核心能力管理模块表第三,关于Check约束,在表“t01_01_组织核心能力”中有一个字段为“能力权重”,其主要作用就是比较同一层级各项能力在同一父项能力中的重要性比重(0<能力权重≤1=。比如产品研发作为组织核心能力的一种,它又包含了硬件开发和软件开发两种,那么二者谁更重要一些,于是就需要对能力权重添加Check约束,其SQL脚本为:ALTERTABLEt01_01_组织核心能力ADDCONSTRAINTchk_t01_01_组织核心能力_能力权重CHECK(能力权重>0AND能力权重<=1)

数据库设计论文例2

1.1教学内容分析

学习《数据库技术》课程前学习者已经学习了《计算机技术基础》、《C语言》和《数据结构》等先行课程,“概念结构设计”教学内容安排上是在数据库基本概念、关系数据库、SQL语言和关系数据理论之后,“概念结构设计”部分包括概念结构设计的概念、方法与步骤、数据抽象和视图的集成。本部分内容的重点是概念结构设计的方法。难点是根据具体系统内容的描述设计基本E-R图。

1.2学习者动机分析

“概念结构设计”较抽象,学习者需要从复杂的实际应用中找出数据库设计中的关键因素,学习者尚不知该内容在整个数据库设计中的重要作用,鉴于此内容的难度较大,易使学习者知难而退,对学习者学习的积极性产生负面影响。

2动机策略设计及实施

2.1课程导入

2.1.1教学内容

将49名学习者分为5个小组,利用课前时间每组分别分析淘宝、京东、当当网、1号店、天猫的网上购物流程,并分组进行调查汇报。提出问题:你分析系统中的商品有哪些属性?订单包括哪些内容?订单与客户和商品之间的联系及涉及的实体有哪些?订单有哪些状态?知识回顾:实体、属性和联系的概念,选课E-R模型实例。

2.1.2动机策略应用

注意策略:通过问题引入,让学习者主动思考,引起学习者有意注意。相关策略:通过知识回顾,帮助学习者建立已有的E-R模型与概念结构模型设计之间的联系,建立脚手架从而降低新知识学习难度。自信策略:选取学习者们熟知的购物网站为例,增强学习者信心。

2.2课堂教学

2.2.1教学内容

基础任务:定义购物网站生成订单的事件,通过E-R模型进行概念结构设计。汇总各小组提交的设计结果,总结学习者的概念结构模型设计,如图1所示。来源:黑龙江省哲学社会科学研究规划项目(16EDE07)和哈尔滨师范大学深化教育教学综合改革项目(X2015-2-003)的研究成果。提高任务:上述模型中当客户提交订单但未购买商品将减少商品的库存,如何解决这一问题呢?请学习者思考并提出问题解决办法。教师提示可将多对多的联系拆分为两个一对多的联系,根据订单的状态通过程序确定是否实际减少库存。按照之前分配的小组安排学习者讨论并提出新的设计方案,学习者讨论是教师到各组进行引导和巡视[2]。讨论:经过学习者讨论,分析新概念模型设计的合理性。小组汇报并由教师汇总修改后如图2所示。

2.2.2动机策略

注意策略:教师播放课前录制的网上购物过程的动画,引起学习者注意。自信策略:教师按照基础和提高两类任务进行分层布置,利于搭建脚手架、激发学习者自主思考,增强自信。

3评价

学习者对各自小组设计的E-R模型进行评价,小组间进行设计结果互评,教师对每个模型的设计过程、小组合作情况和设计结果进行总结性评价。满意和自信策略:学习者经过深入思考进行互评,体验设计被认可和逐步求精带来的喜悦。教师的点评认可其设计结果提高学习者信心。

4结论

通过该方法的学习,学习者在练习和期末考试中能够熟练准确的对复杂的需求通过E-R模型进行概念结构设计,因此,ARCS模型应用于《数据库技术》教学有助于激发学习者学习动机,提高学习效果。

作者:韩玲玲 单位:哈尔滨师范大学

数据库设计论文例3

多数据库系统是分布式数据库系统的一个重要分支,是一个新兴的数据库研究领域。随着企业规模的不断扩大,各部门所需信息既相互交错,又相对独立。这就要求各部门所用的数据库既能高度自治地工作,又能进行信息共享。

DM2是采用客户/服务器模型,客户机与服务器,服务器与服务器均通过网络互连,通过消息相互通讯,组成一个紧密耦合的分布式数据库系统。它的工作流程如下:客户机登录到一台服务器上,这台服务器便成为它的服务器;它接收来自客户机的消息,然后根据全局数据字典决定是自己独立完成该操作,还是与其它服务器协作处理这条消息,处理完成之后,再由服务器将处理结果返回给客户机。由于DM2上各个服务器站点的全局字典完全相同,任何全局表的信息都会记入全局字典。若用它来构建一个企业的数据库系统,则大量只对企业某部门有用的信息将会充斥在各部门所有服务器的全局字典中,增加了冗余。而且,当对全局表进行DDL操作时,为了确保全局字典的一致性,须对所有服务器的全局字典进行加锁。DM2对全局字典的封锁方式是采用令牌环方式,即令牌绕虚环(非实环)传输,某个服务器想对全局字典进行操作,必须等令牌到达该服务器才可以执行。每个部门建立的全局表绝大多数只对本部门有用,当对这些表进行DDL操作时,却要对所有服务器的全局字典进行封锁,通过令牌来实现对全局字典的互斥访问。这严重损害了数据库的效率。

为弥补以上不足,在DM2的改进版本DM3中增加了协调器,用以联接各个独立的DM3数据库子系统,并协调各子系统间的各种关系,使各子系统既能高度自治地工作,又能进行有效的信息共享。

一、多数据库体系结构

本系统可看作多个数据库子系统被协调器联起来的,高度自治的一个联邦数据库系统。其中,每个子系统独立处理本系统内部的事务,而子系统间的信息共享由复制技术提供,副本间的一致性由协调器协调处理,处理所需的信息在初始化时写入协调器的组间数据字典中。当对某子系统中的一份数据副本进行修改时,该子系统会将修改通知协调器,由协调器对该数据的其它副本进行修改,从而保证了所有副本的一致性。

由以上可知,子系统彼此并不直接接触,而是各自都与协调器直接相联,由协调器统一管理子系统间的通信。这样,当子系统对副本进行修改时,不必关心相应的子系统处于何种状态,也不必等待回应消息,以及异常处理,所有这些都由协调器进行管理。因此,既提高了系统运行的效率,也保证了子系统的独立性。

协调器主要有三大功能,首先,它对协调器和服务器进行初始化,并将有关信息存入组间字典;其次,它管理不同子系统间的通信,维护副本的一致性;最后,它在子系统出现崩溃时,进行异常管理及恢复工作。

二、多数据库互联机制的主要策略

多个DM3系统间的信息共享是通过副本实现的,副本的一致性是由协调器来维持的,是一种弱一致性。通常,多数据库系统间的一致性是通过协调器周期性地访问服务器的日志来完成的。由于副本的更新带有随机性,因此,若采用这种方法,可能数据被修改多次,但其相对应的副本仍未被修改,这样就损害了数据的一致性;也可能数据并未被修改,但协调器已多次访问了服务器的日志了,这样就降低了系统的效率。

所以,本系统采用的方法是当数据被修改时,由服务器通知协调器有关信息,再由协调器通知相关系统,修改相关数据。这样,数据的修改及时(仍然是弱一致性),而协调器也不会在数据未被修改的情况下访问服务器,提高了准确性。

为了使协调器正常工作,我们对底层数据库管理系统DM2进行了修改。在基表控制块TV_CTRL_BLOCK中增加一项IsReplication。建表时,该项初始化为false;当为该表建立一个副本时,该项赋值为true。具体算法如下。

1、初始化算法。

协调器:从用户或应用程序接收待连接的两个系统中的服务器名,需复制的表名;分别登录到两个系统的服务器上;向存有待复制表的服务器发预复制消息;等待服务器消息;若失败,发一条失败的消息给服务器和用户或应用程序;若成功,从消息中取出待复制表的有关信息,根据这些信息,发一条建表消息给另一个系统的服务器;等待服务器消息;若失败,发一条失败的消息给服务器和用户或应用程序;若成功,调数据转移程序,进行数据复制;将有关信息写入组间字典,退出。服务器:当服务器收到预复制消息后,将基表控制块TV_CTRL_BLOCK中的IsReplication赋为true。同时,取出待复制表的有关信息,组成应答消息发给协调器。当服务器收到失败的消息后,将基表控制块TV_CTRL_BLOCK中的IsReplication赋为false。

2、维护算法。

协调器:从组间字典读出相关信息,根据这些信息,登录到相应系统上;等待消息;从某系统的服务器上收到一条修改消息后,通过查找组间字典,确定该消息的目的地,然后将它转发过去;若失败,定时重发。

数据库设计论文例4

本模块主要是员工具体信息的录入以及修改、员工字段的设置、浏览全部员工信息并可筛选部门输出、人员基本信息的批量导入功能,共包括四个窗口。员工个人信息中以身份证号码为主码,通过Combobox下拉列表框来录入员工的信息例如,性别可以通过“男”或“女”选择录入。如果系统里面录入的身份证号相同,系统则会提示重复录入。记录添加窗口主要用来设置Combobox下拉列表框可选择的信息。例如,职称选项可设置为教授、教授级工程师、副教授、高级工程师、讲师等。人员基本信息批量导入功能主要为减轻管理人员的工作量而设计的,当一个单位职工很多,且每一个职工都有几十条信息需要输入的时候,会给系统管理员带来不小的麻烦。如果有现成的数据,可以通过excel电子表格进行批量导入,大大提高了工作效率。

1.2审核统计模块

本模块主要的功能是用来显示全院教职工的信息以及审核已经注册了的员工的信息,共包括两个窗口。数据统计窗口包含了多个字段统计结果,在该窗口,管理员可以直观地看到常用的一些需要统计的数据,以学历为例,管理员很直观地能看到学历为研究生的有多少人,本科有多少人,大专及大专以下分别有多少人,当然,如果按系部的职工数来统计,可以直观地看到具体的部门所有的人数,比如可以看到计算机科学与技术系有多少人,材料工程系有多少人等等。审核窗口主要用来审核新注册员工的个人信息,通过他自己录入的信息跟档案进行核定,确保信息准确无误,才能审核通过,审核通过的员工可以到登录界面,正常查看自己的个人信息变动情况,如职称以及聘用日期等等信息。

1.3管理用户模块

本模块主要的功能是用来修改让其他教工可看到的管理员个人信息、限制教工用户的一些功能,以及数据库的备份功能,主要包括两个窗口,系统参数设置窗口主要用来公布一些管理员的部门信息,比如联系人、联系方式以及全部教工需要注意的公告等信。其次,用来锁定教工用户、禁止教工用户修改个人信息以及禁止登录系统等。数据库备份窗口主要用来备份全部或选择性的备份部分数据,防止数据全部丢失。

2系统数据库设计

数据库设计是指对于一个给定的应用环境,构造最优的数据库模块,使之能够方便地存储数据,满足用户对数据的存取和调取。数据库选择ACCESS,是应用最广的数据库,对于初学者来说容易上手,操作方便简单。本系统包含的数据表有用户登录信息表、用户登录信息表用来保存用户登录的相关信息,包括用户名、登录密码以及登录时间等信息。

3系统实现

3.1系统登录界面实现

当登录四川工程职业技术学院人事信息管理系统时,会弹出登录界面,教工根据自己的账号、密码和验证码来登录,如果输入的信息其中任何一个有错,将不能登录,直至输入的信息全部正确,则登录成功,进入主窗体。用户分管理员和教工两种同的用户,进入的欢迎界面自然也不会一样。以管理员进入的界面为例,如图2所示。

3.2系统主功能界面的实现

系统的主界面共有3个,分别是浏览管理所有记录、记录添加、字段项目设置,页面左侧有类似任务管理器的功能,主界面如图3所示,下面列出了字段项目设置、新增学习经历功能和数据库链接的一些关键代码。

3.2.1字段项目设置

此页面主要的作用是用来设置常用的一些字段的下拉选项,以字段“职称”为例,在稳步框中输入“教授,教授级工程师,副教授,高级工程师,高级实验师,讲师,工程师,会计师,实验师,助教,助理工程师”,那么在记录添加页面的列表框“职称”下拉选项中将会出现。

3.2.2新增学习经历或工作经历

此功能的作用主要是用来增加或删除学习经历或工作经历,由于我院人事信息当中的学习经历要求从小学填起,所以每个人的学习经历非常多,如果用EXCEL表格来管理学习经历,数据列将会非常长,导致难以管理,如果用系统的方式来管理,不仅易于管理,而且很直观。

4系统的优越性

以前学院单靠一张人事信息表来管理,没有实现数据的共享,人事处所拥有的信息经常和系部等的信息对应不起来,导致信息滞后的现象时有发生,导致不管是给对外还是对学院内部统计的数据时有误差,以前所收集到的信息都是人员报道以后,把纸质的文件交到人事处,然后人事处通过手工录入到人事信息表里,这样对信息的录入、查询非常的不便,由于excel工作表中含有多个单元格,容易出错,通过系统的管理,首先,信息录入首先由本人亲自录入,这样保证的了数据的准确性,因为本人更加的清楚自己的具体信息,然后由系统管理员根据档案审核,审核通过以后,每个教师都可以通过自己的账号查看自己的信息,这样就保证了信息的及时性,再也不需要向人事处打电话或亲自到人事处来查询自己的信息,对提高人事管理员和教师个人的工作效率的作用是不言而喻的。第一次使用系统来管理人员的单位,最头痛的是把现有的信息录入到系统里面,本系统也考虑到了这个问题,专门设置了信息批量导入功能,导入后使得系统能够马上发挥作用,不再需要一个一个的录入,这样比纯录入信息的方式从最开始效率就高出了许多倍。统计数据对每个员工众多的单位来说是个很痛苦的事情,以前统计数据,往往是通过一张表格进行多次筛选才能得到,如果用系统的方式来统计,只需要在复选框中选中需要的字段就可以了,导出的数据会自动选择出需要的字段,大大提高了工作效率。

数据库设计论文例5

2.信息资料子模块信息资料子模块主要实现了专业信息、课程信息、学生基本信息和成绩的增加、修改和删除操作。此功能模块的设计,都是便于信息查询模块的实现,重要的是所有的专业、课程、学生及成绩信息都必须是真实可靠的,否则将会影响到信息查询模块功能的实现,同时,填加学生基本信息时,要考虑到整个系统各个模块之间的联系,因为所有其他信息功能的实现都与学生基本信息有着关联。

3.信息查询子模块(1)课程查询:根据查询内容(按专业、按所属院系、按课程名称)来查询学生的课程信息。(2)学生资料查询:根据查询内容(按学号、按姓名、按专业、按班级)来查询学生的基本信息。(3)成绩查询:根据查询内容(按学号、按姓名、按专业、按课程)来查询学生的成绩信息。

二、数据库设计与实现

数据库设计论文例6

 

一、引言 

编程能力、数据库技术和软件工程思想是现代软件类人才所必需的三大技能,在高校培养软件类人才的课程体系中,数据库课程(名称或有差异)占有举足轻重的地位。本文针对传统的数据库教学中存在的内容不合理[1]教学方法陈旧[2]教学资料单一等问题[3],从数据库课程教学的长效机制、提高学生的实践技能和课程体系设置三个方面入手,在传统的数据库教学模式的基础上进行改革探索并结合实践,试图找出一个适用应用型本科数据库课程教学的新方法 

二、数据库课程的教学目标 

充分利用课程团队丰富的教学和项目实践经验,并结合相关招聘信息中的职位要求和企业实地调研,将数据库课程的教学目的归纳为:在掌握数据库基本概念和理论的基础上让学生掌握三种能力,梯序为一、数据库管理与维护能力,如索引、缓冲池、数据库容灾等;二、实际业务的数据库设计能力,如数据字典、e-r抽取、触发器、数据库安全等;三、基于数据库的应用开发能力,如与各种开发语言相结合的mis等,这三种能力目标所需要学生掌握的综合知识一个比一个要多、要深入,同时对学生动手能力和分析、综合的能力要求也越来越高,因此,要想使得数据库课程教学取得理想的效果,不仅需要完备讲解数据库课程本身的知识点体系,同时还需要将其他课程的知识点系统进行归纳和综合,除此之外,还需要学生在老师的指导下充分发挥主观能动性,积极学习和吸纳课程外的专业知识。 

三、保证教学效果的课程教学三段论 

通过对03级~05级这三界毕业生的毕业设计(包括论文和系统)分析我们发现一个现象,学生做系统的时候数据库设计不太理想,如:e-r图不完善、数据库表设计的随意性、数据库没优化、数据库安全性考虑不充分,甚至个别学生数据库物理设计、逻辑设计等步骤混淆的糟糕情况,究其原因,多种多样,但有一个主要原因我们不容忽视:学生在大二学的数据库,等到大四再进行毕业设计的时候,之前学的知识点忘记得差不多了,甚至,这些现象也出现在一些当时数据库课程学习时比较好的一些同学身上。因此,我们需要一种方法能让学生在长达两年的时间跨度中能巩固和强化数据库技能,基于此,我们提出了三段论,并在培养计划的课程体系做了相应的设置:第一阶段:数据库理论、设计和维护等理论和知识和实践技能的传授阶段,也就是课程学习阶段,时间安排在大二第二学期,实践技能安排在实验课,采用案例式教学方法,让学生从不懂数据库到能根据案例进行设计的设计,重点在于数据库设计的基本流程和方法的掌握。第二阶段:数据库专项训练,安排在大三第二学期末,时间一周,地点实验室,以项目小组形式,在这一阶段,将数据库设计与学生所掌握的某一编程语言进行综合以开发应用系统,重点在于让学生掌握数据库应用开发的基本流程以及数据库与编程语言的结合。第三阶段:综合训练,安排在大四第一学期期末,时间一周,地点实验室,项目小组形式,根据实际题目,从软件工程的角度进行需求分析、概要设计到开发、部署等全流程,使得学生参与到能应用系统开发的整个过程,重点在于让学生掌握软件工程思想去理解和掌握系统的开发功能。这三个阶段在时间上环环相扣,每一阶段都是前一阶段的拓展。通过这三个阶段训练,基本能确保大部分学生的理论和动手能力得到提高。 

四、提高学生数据库技能的三个基本点 

上述的三段论提供了保持据库教学效果长效机制的一种手段,学生的数据库技能是在这三个阶段中进行学习、掌握、巩固和应用的,要想使学生能更好地掌握数据库技能,需要注意如下三点: 

1.案例是基础。案例是学生从不懂数据库到理解和掌握数据库基本知识的一个基础,案例最好简单、易学,但同时要具备系统性,数据库课程的案例要贯穿第一阶段的课程教学,包括需求介绍、数据库设计、建库、建表和sql练习和实践以及数据库的备份和数据安全和和数据库性能维护等专项技能案例,同时案例也要体现第二阶段的综合训练,案例最好就有行业典型性。 

2.指导教师是关键。虽然案例很重要,但指导老师是关键,同样一个案例,如果指导老师具有扎实的理论和丰富的实践,就能很快地发现学生在学习过程中所存在的问题和重点以及难点,并能根据自身的经验给予恰当的学生能接受的解决方法;同时也能给予学生关于课本外、甚至课程外的补充知识的一些指导性的建议,使得学生能尽快地掌握数据库设计和应用开发的技能,我们在主讲教师的选择上全部安排一些理论知识和实践经验都很丰富的教师担任。 

3.第三课堂为必修。要想很好地掌握数据库技术,光靠课程本身的教学和前述的3段论还远远不够,还需要其他知识的补充,如常用的辅助设计工具(powerdesign、e-rwin)、高级网络编程言语、最新的web技术如ajax、以及流行的一些成熟的框架(如java ssh),工作流(如:jbpm)等,而这些在软件公司最常用,但课程教学又几乎不可能全部教授的知识,就需要同学们在第三课堂也就是自学时间自己去参考学习,第三课堂需要学生充分发挥其主观能动性,需要其自觉、主动去学习[4],但重要的是第三课程的学习更需要指导老师指明学习方向和解答学生学习过程中的疑问,这样才能使得学生的自学更具目的、少走弯路,这进一步凸显指导老师的重要性。 

五、以数据库课程为中心的课程群模块设置 

要想使得学生能更好地掌握数据库技能,需要以数据库课程为中心,并围绕这一中心建设一个相关课程群,这些课程群的在知识点上或承前启后,或相互补充,总之它们成为一个系统,课程群的授课形式分为两种:必修课如数据库原理、管理信息系统、软件工程、面向对象程序设计;选修课如javaee应用开发、asp.net应该开发。必修课为主干课,重点偏向单向专业技能的掌握,作为必修课的有效补充,选修课偏向综合应用类型,让学生依据其兴趣和爱好进行选取,作为必修课程的补充,同时也是对数据库技能掌握的进一步提升和完善。 

参考文献: 

[1]叶潮流.《数据库原理与应用》课程体系改革与实践j].巢湖学院学报,2010,(6). 

数据库设计论文例7

中图分类号:G250.74 文献标志码:A 文章编号:1674-9324(2013)22-0146-03

一个数据库实例能够以最佳状态运行是以良好的设计为基础并配合合理的硬件部署和软件协助实现的。本文针对占有市场份额很大的数据库产品SQL SERVER,讨论数据库实例设计方面的优化技术。在数据库的设计中,我们可以依据概念结构设计的结果得出数据库的具体模式结构,从而进行合理的部署。数据库的初始大小是设计中的一个关键问题。数据库初始大小过大,会浪费我们不必要的硬盘空间,数据库初始大小过小,SQL Server会经常根据需要进行数据库的扩容,从而增加了系统运行负担,因此数据库的初始大小是优化技术的一个关键。那么数据库的初始大小应该设计为多大合适呢?

SQL SERVER的数据库存储空间的大小由以下几个因素决定:堆或者聚集索引的大小,非聚集索引的大小。本篇仅对堆的大小估算进行讨论。

一、估算堆的大小的步骤

1.估算表中将存储的行数:Num_Rows=表中的行数。

2.指定固定长度和可变长度列的数量,并计算存储所需的空间:计算每组列在数据行中所占据的空间。列的大小取决于数据类型和长度说明。Num_Cols=总列数(固定长度和可变长度);Fixed_Data_Size=所有固定长度列的总字节数;Num_Variable_Cols=可变长度列的数量;Max_Var_Size=所有可变长度列的最大字节数。

3.保留行中称为空位图的部分以管理列的为空性。计算大小:Null_Bitmap=2+((Num_Cols+7)/8)取整数部分。

4.计算可变长度数据的大小:假设所有可变长度列均百分之百充满。如果表中有可变长度列,确定在行中存储这些列所用的空间:Variable_Data_Size=2+(Num_Variable_Colsx2)+Max_Var_Size如果预计可变长度列占用的存储空间比例较低,可以按照该比例调整Max_Var_Size值,从而对整个表的大小得出一个更准确的估计。如果没有可变长度列,则Variable_Data_Size取值为0。

5.计算总的行大小:Row_Size=Fixed_Data_Size+Variable_Data_Size+Null_Bitmap+4其中的数值4是数据行的行标题开销。

6.计算每页的行数(每页大小为8K,页首的12个字节用于存储页的基本信息,因此有8096可用字节):Rows_Per_Page=8096/(Row_Size+2),由于行的存储不能跨页,因此每页的行数应向下舍入到最接近的整数。公式中的数值2是计算行数时引入的行大小余量。

7.计算存储所有行所需的页数:Num_Pages=Num_Rows/Rows_Per_Page估计的页数应向上舍入到最接近的整数。

8.计算在堆中存储数据所需的空间量(每页的总字节为8192):堆大小(字节)=8192xNum_Pages。

二、下面以employees表为例,估算存储该表所需的堆空间大小

employees表结构如下:

Create table Employees

(EmployeeID int,

LastName nvarchar(20),

FirstName nvarchar(10),

Title nvarchar(30),

Birthday datatime

HireDate datatime

Adress nvarchar(60),

City nvarchar(15),

PostalCard nvarchar(10),

HomePhone nvarchar(12),

其中的固定长度列有EmployeeID,Birthday,HireDate共计3列。

其中可变长度列有LastName,FirstName,Title,Adress,City,PostalCard,HomePhone共计7列。

固定长度列的总字节数:Fixed_Data_Size=(int)4+(datetime)8+(datetime)8=20

假设所有可变长度列均100%充满,Max_Var_Size取表中的Address列的长度60,则可变长度列的总字节数:Variable_Data_Size=2+(7x2)+60=76

保留空位图大小:Null_Bitmap=2+((10+7)/8)=3(下取整)

行的总大小:Row_Size=20+76+3+4=103

每页的行数:Rows_Per_Page=8096/(103+2)=77

假定该表将存储1000条记录,则存储所有行所需的页数:

Num_Pages=1000/77=13(上取整)

该表存储所需的空间量:8K*13=104K。估算出数据库中所有表(堆)的大小求总和就得到数据库的初始大小。假定数据库EMP中还有5张表,每张表的堆大小估算结果分别为,220K,171K,128K,350K,760K。则数据库的初始大小为=104K+220K+171K+128K+350K+760K=1733K,约2M(上取整)。

定义数据库的物理结构

CREATE DATABASE EMP

ON

(name=’EMP_DAT’,

Filename’d:MPfileEMP_DAT.MDF’,

Sieze=2M,

Maxsize=5M,

Filegrowth=1M

LOG ON

(name=’EMP_log’,

Filename’d:EMPfileEMP_LOG.LDF’,

Sieze=1M,

Maxsize=3M,

Filegrowth=1M

三、总结

讨论数据库的初始大小,对于某些实例非常有效。比如数据增加不大的一类管理系统,一旦数据录入结束,后期运行维护时产生的数据非常小,这样数据库基本无扩容,只要确定好数据库的初始大小即可。在确定物理数据库的各文件属性时,SIZE属性就是本文讨论的主要问题。另外,数据库文件的部署(FILENAME属性),数据库的增长方式(Filegrowth属性)也影响数据库实例的运行效率。数据库的增长方式有两种,按M字节增长和按百分比增长,一般情况下,我们将数据库的增长方式设置为按M字节增长较优。如果考虑到数据库的安全性,可以将数据库文件同RAID磁盘阵列技术结合,合理部署数据库文件的fliename属性。将文件部署于不同的磁盘上,既加快了数据库的读写速度,又提高的数据的安全性。合理设计、恰当部署是数据库在设计阶段进行优化的起点,SQL Server的数据库优化技术还体现在诸多方面,比如索引的设计优化、查询的优化等。因篇幅有限,在此不多讨论。

参考文献:

[1]明日科技.SQL SERVER 2005开发技术大全[M].北京:人民邮电出版社,2007.

数据库设计论文例8

同济大学计算机科学与技术专业作为国家教育部第三批高等学校特色专业建设点,秉承“夯实基础、面向应用、培养创新、国际接轨”的办学宗旨,在创造性的“一体两翼”人才培养模式下,完善了本科教育课程体系,完成了学科方向布局、分类分层培养课程体系建设[1]。基于总的学科发展与各级各类专业人才培养规划的目标,我们对主干课程之一的数据库课程进行了教学模式的研究与探索。

数据库技术是计算机信息系统中的核心和基础,是应用最广泛的技术之一,也是计算机科学技术发展最快的领域之一。数据库课程不仅是计算机科学与技术专业、信息安全专业、信息管理专业等的必修课程,也是大部分非计算机专业的选修课程。通过数据库课程的教学,学生应掌握数据库系统的基础理论、基本技术与实践技能。在同济大学计算机系的本科专业必修课数据库课程的教学实践中,一方面由于学科发展和分类分层培养目标的确立,使得该课程的教学实践模式与体系需要进行新的规划与设计;另一方面,数据库课程相关的教学和实践环节中,学生所表现出来的学习兴趣、知识背景、创新能力以及未来的就业取向等多方面的差异,也对于传统的课堂教学模式提出了新的挑战和研究课题。要取得好的教学与实践效果,让学生更好地发挥所长,需要不断的研究与探索课程的教学实践模式。

基于计算机系学科发展与专业人才培养总体规划,根据数据库课程自身的特点、数据库相关研究和应用技术的发展,并参考国际、国内一些主要大学数据库课程的教学资源和科研文献,我们提出一种数据库课程分类分层教学模式:根据培养目标、学习兴趣、知识背景和创新能力的不同将学生分为3种类型,有针对性地调整和完善课程的教学内容和实践环节,对不同类型的学生采用不同的教学方式,侧重不同的教学与实践内容,更好地体现该课程教学的基础性、科学性、先进性与实用性。

1课程的教学对象分类

计算机科学与技术本科专业的培养目标为:培养具备良好的科学素养,系统地掌握计算机科学与技术,包括计算机硬件、软件与应用的基本理论、基本知识和基本技能与方法,能在科研部门、教育单位、企业、事业、技术和行政管理部门从事计算机教学、科学研究和应用的计算机科学与技术学科的高级专门人才[2]。

但是,同一年级同一专业学生的学习兴趣、知识背景和创新能力并不完全相同,如有的学生数学基础好、擅长理论分析,有的学生编程能力强、喜欢软件开发,有的学生则倾向于计算机应用系统的管理。因此,基于计算机科学与技术专业和信息安全专业的人才培养总体规划,根据学生的个体差异,我们将数据库课程的教学对象与培养目标分为以下3种类型:

1) 理论强化型。学生通过课程学习将具备坚实深入的数据库理论知识,掌握扎实的实验技能,具有良好的科学素养和较强的创新能力,能独立开展科研和实际工作。

2) 工程研发型。学生通过课程学习将掌握数据库基础理论和主流数据库软件产品,以及数据库系统分析和设计方法,具备较扎实的研究与开发数据库应用系统的技能,成为国内乃至国际认可的高级研发型工程技术人才。

3) 应用管理型。学生通过课程学习将掌握数据库系统基础理论,以及数据库系统开发与管理的基本方法,熟悉主流数据库软件产品,能较好地设计、管理与评估数据库项目方案。

目前,国内已有许多高校,以不同形式的实验班或培训课程,对不同类型的学生分别培养。如清华大学的“计算机科学实验班”、北京大学的“元培计划实验班”、同济大学的“图灵班”和“卓越工程师班”等。在数据库课程分类教学与实践模式研究探索中,我们把计算机系特色教学的“图灵班”、“卓越工程师班”和其他学生分别作为数据库课程教学的理论强化型、工程研发型和应用管理型对象。

2课程的分类教学与实践模式

对于上述3种不同培养目标的学生,我们在数据库课程的教学总纲基础上,有针对性地设计不同的教学方案,调整课堂授课内容的广度和深度,选用不同教材,安排不同的课程实验与课程设计,开展不同的课后活动,引导学生研究与解决不同的开放思考问题,尽量充分调动不同类型学生的学习积极性和主动性,使学生能根据自身的发展目标、研发能力和学习兴趣等在各自擅长和需要拓展的领域内得到更充分的发展。

2.1分类调整授课内容

数据库课程的基本教学内容主要包括:数据库基本概念、关系数据库基础理论、关系数据库标准语言SQL、数据库安全性、数据库完整性、关系查询处理和查询优化、数据库恢复技术、并发控制、数据库设计与实现以及数据库技术的新进展等。对于不同类型的学生,我们有针对性地拓展和加强不同部分的知识。

1) 对于理论强化型学生,拓展和加强关系数据库理论知识,强化数据库管理系统(DBMS)原理与相关算法实现,如存储、索引、查询处理及其优化、事务处理、并发控制、数据库恢复等的机制与主要算法。教材上倾向于国外原版教材,即《Database System Concepts》[3] 辅之以《Database Management Systems》[4]和《Database Systems: The Complete Book》[5]。

2) 对于工程研发型学生,在关系数据库理论知识基础上,强化DBMS的底层算法实现与数据库系统工程设计方法,介绍基于一种主流数据库产品的应用系统设计与实现。教材上使用国内经典教材结合国外原版教材,即《数据库系统概论》[6] 辅之以《Database System Concepts》[3]和《Database: Principles, Program- ming, and Performance》[7]。

3) 对于应用管理型学生,则在关系数据库理论知识基础上,强化关系数据库的查询优化技术、数据库事务处理技术、数据恢复和并发控制技术、DBMS的安全技术和完整性检查技术,介绍基于主流数据库产品的应用系统设计、开发与管理技术。教材上使用国内经典教材,即《数据库系统概论》[6]辅之以《Database System Concepts》[3]和《数据库系统原理》[8]。

2.2分类安排课程实验

数据库课程的实验内容主要包括:数据库安装与配置、数据库使用、SQL语言使用、数据库安全性、数据库完整性和数据库编程等。对于不同类型的学生,我们在课程实验中有针对性地安排了不同的内容。

1) 对于理论强化型学生,课程实验将完成6~8个DBMS底层算法的研究与实现,主要包括存储、索引、查询处理、查询优化、事务处理、并发控制、数据库恢复等算法,另外还有一个理论方法探索或实际应用系统研发的综合大作业。

2) 对于工程研发型学生,课程实验将完成4~5个DBMS底层算法的实现,如存储、索引、查询处理与优化等的算法,完成1~2个通过ODBC访问数据库、数据库设计与应用开发实验,一个实际系统工程研发相关的综合大作业。

3) 对于应用管理型学生,课程实验将完成6~8个数据库应用系统设计与管理相关的部分实验,主要包括安装了解DBMS、SQL数据定义与查询、SQL更新与视图,数据库事务处理、数据恢复与并发控制、数据安全性与完整性以及一个实际应用开发管理相关的综合大作业。

2.3分类进行课程设计

数据库课程设计的目的是让学生加深对数据库系统基础理论知识的理解,提高数据库应用系统设计与开发的实践能力,全面拓展数据库原理课程相关的综合研发能力。通过课程设计实现一个实际的数据库应用系统,熟悉并能灵活运用所学基础理论,掌握数据库应用系统的设计方法、开发技术,提高分析问题和解决问题的能力,强化动手能力,进一步了解和研究分析DBMS的体系结构与主要技术,并在一定程度上把握课程相关的理论技术发展与前沿动态。数据库课程设计的主要内容包括3个方面。

1) 数据库应用系统的研发:综合运用数据库理论与技术方法设计一个较完善的有实际意义的数据库;掌握流行数据库管理系统SQL Server/ORACLE/ DB2等的应用与开发技术;利用高级语言开发完整的数据库应用系统。

2)DBMS研究分析以及功能实现与扩展:以开源代码的DBMS为基础熟悉并研究分析DBMS的体系结构、基本功能及其实现,完成一些系统功能的实现和进行相应的可扩展性研发,形成系统分析报告、算法实现软件包和技术文档。

3) 领域研究综述与热点问题研究探讨:跟踪数据库相关领域的理论与技术发展,完成相关的前沿研究或技术问题的综述,对领域热点问题开展研究探讨,形成综述报告、技术报告或研究论文。

对于不同类型的学生,我们开展不同主题的课程设计,有不同的考查侧重:

1) 对于理论强化型学生,课程设计更强调在开源代码的数据库系统如Postgres上,针对DBMS底层实现做进一步研究与扩展,以3~5人的课题小组为单位,分析开源DBMS的体系结构和主要的技术方法,并对其中某方面进行重点研究与扩展实现;此外,强调对领域前沿的了解,对某方面理论与技术研究的综合把握与研究分析,并能对一些领域热点问题展开研究探讨,完成领域某方面的综述报告和研究论文。

2) 对于工程研发型学生,课程设计强调在Oracle或SQL Server等数据库产品基础上,以实际应用为背景,以3~5人的课题小组为单位,设计一个中等规模的数据库应用系统,并要求对系统研发过程中的各个设计与技术实现环节能够有较全面的把握;此外,强调对领域技术动态的了解,并能对领域技术和应用有较全面的认识和分析,对实际系统研发能形成有效的技术方案和分析报告。

3) 对于应用管理型学生,课程设计将以3~5人的课题小组为单位,在Oracle或SQL Server等数据库产品基础上,构建一个实用的数据库系统,强调数据库的设计方法和过程的全面把握,以及对项目研发过程中各个实践环节的全面调度与管理;此外,强调对领域研究与技术动态的了解,对系统开发与应用相关的知识体系和管理模式有较全面的认识和分析,能对实际项目开发与管理形成有效的方案和分析评估报告。

2.4分类开展课后活动

数据库课程以各种形式的课后活动,培养不同类型学生对课程的学习兴趣,是对课堂教学的有益补充。

1) 对于理论强化型学生,增加一些相关的领域研究现状和动态的介绍,提出一些开放思考问题,引导学生更深入、广泛地了解相关理论与技术的研究和发展现状,培养学生对本学科的学术前沿的研究热情和研究能力。由教师引导学生去找寻一些课程相关的理论与技术热点或难点问题,主要追踪数据库领域的重要国际会议与国际期刊,国际会议如SIGMOD/PODS、VLDB、ICDE等,国际期刊如ACM Transactions on Database Systems (TODS)、IEEE Transactions on Knowledge and Data Engineering (TKDE)、VLDB Journal等,以及追踪国际国内一些著名的数据库研究小组,学生以自由组合小组形式展开针对某个主题的研究探讨,完成领域综述以及研究论文,并在讨论课上做口头报告;更进一步鼓励学生加盟数据库相关领域导师的实验室和课题组,参与相关的实际科研项目的研究。

2) 对于工程研发型学生,增强数据库前沿理论研究与应用技术的介绍,培养学生对本学科的理论与技术前沿的研究探索热情和研发能力,由教师或企业研发人士引导学生去探讨一些相关的理论与技术热点问题,完成领域技术分析报告以及研究或技术型论文,并在实验课上做口头报告;鼓励学生参与相关导师的实验室和课题组,具体开展一些相关实际课题的研发;引导学生在小学期的企业实习期间有效地参与和完成实践项目的调研和分析设计与实现工作。

3) 对于应用管理型学生,加强数据库软件产品和应用案例的介绍,培养学生对本学科技术前沿的研究探索热情和应用管理能力,邀请企业数据库工程师举行讲座,引导学生去思考一些相关的技术热点问题,完成领域综述以及数据库系统开发案例分析报告,并在实验课上做口头报告;鼓励学生参与相关导师的实际项目研发;引导学生在小学期的企业实习期间有效地参与相关企业项目的研发与管理实践的调研分析。

3结语

数据库课程分类教学与实践模式是计算机本科专业课程教学的一种新模式的探索,通过对学生个体

差异的分析,有针对性地分类采用不同的教学内容、集中实验以及课程设计和课外辅导,因材施教。在数据库课程教学研究与实践中,我们针对计算机科学与技术专业和信息安全专业的本科生探索和逐步应用分类教学和实践模式,在课堂教学、实验教学、课程设计、课外实践等多方面进行了探索,从学生们的课程作业、实验报告、技术分析报告、应用系统设计、DBMS分析报告、领域综述报告、研究或技术论文、参与相关导师的研讨班与课题工作、期中和期末考试等情况来看,分类教学和实践模式在较大程度上激发了学生的学习和研究的热情与潜力,大部分同学取得了较好的学习和实践效果。当然,我们还需要不断研究数据库课程教学与实践各个环节,特别是课程自身的体系与数据库日益发展的相关领域的研究与技术应用间的关联,以探索更合理、更优化的教学实践模式。

参考文献:

[1] 蒋昌俊,苗夺谦,王晓国,等.“一体两翼”的创新人才培养模式[EB/OL]. [2009-02-19]. 高教教学参考,2009,3(1):1. /Model1024.asp?id=1425.

[2] 同济大学计算机科学与技术系. 计算机科学与技术专业培养计划(2006修订)[EB/OL]. [2009-09-30]. cs.tongji. /prog/InforWeb/publish/newsdetail.jsp?newsno=904.

[3] Abraham Silberschatz,Henry F. Korth,S. Sudarshan. Database System Concepts(影印版)[M]. 5th ed. New York:McGraw- Hill,2006.

[4] Raghu Ramakrishnan,Johannes Gehrke. Database Management Systems[M]. 3rd ed. New York:McGraw-Hill,2002.

[5] Hector Garcia-Molina,Jeffrey D. Ullman,Jennifer D. Widom. Database Systems:The Complete Book[M]. New Jersey: Prentice Hall,2002.

[6] 王珊,萨师煊. 数据库系统概论[M]. 4版. 北京:高等教育出版社,2006.

[7] Patrick O’Neil,Elizabeth O’Neil. Database:Principles,Programming,and Performance[M]. 2nd ed. San Fransisco: Morgan Kaufmann,2001.

[8] 李建中,王珊. 数据库系统原理[M]. 2版. 北京:电子工业出版社,2004.

Classified Teaching and Its Practice Model for Database System Course

GUAN Ji-hong1, WEI Qing-ting1, 2

(1.Department of Computer Science and Technology, Tongji University, Shanghai 201804, China;

数据库设计论文例9

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2016)07-0264-02

现代计算机信息技术与网络技术的飞速发展,加速了数据库技术的广泛应用和发展。各类信息系统和动态网站的开发都需要后台数据库的支持,大量信息数据都是利用数据库进行存储和管理的,数据库技术成为系统开发不可或缺的一部分。数据库原理及应用是我国高等院校计算机专业必修的专业基础课,是兼有理论和实践的综合性课程,是学习软件工程、WEB程序开发以及人工智能等课程的重要基础课程。在相关课程中起到承上启下的桥梁作用,尤其是本科计算机专业的学生构建整个专业知识体系的基础,关系到软件开发人才的专业素质和软件开发质量。所以,不断地探索数据库原理与应用的教学改革思路具有重要的意义。

一、数据库原理与应用课程教学上存在的问题

这几年,数据库技术课程体系一直在进行变革,取得了一定的进展。在教学内容和实践环节上也实施了很多改革措施,教学效果有了一定的改善。但仍然存在不尽如人意的地方。

1.理论案例与实践案例衔接不紧密,导致知识掌握不扎实,不能很好地应用到实践中。虽然数据库理论的课时和实践应用的课时都进行了有效的调整,但由于其中的案例在每一门课中都是独立的,而不是将一个完整的案例贯穿始终,学生对于数据库设计的理解就割裂开来,没有形成系统合一的结果。最终理论还是理论,实践应用中并没有延续理论分析的结果,没有透彻地理解数据库设计原理,那么在实际设计数据库时会出现很多不完善的地方。

2.在数据库应用中过度重视应用软件的作用,忽视理论的结合。加大数据库应用课程的学时后,教师教学重心偏向数据库软件平台的应用方法,虽然以案例为驱动进行讲授,但忽视了相关理论应用的讲解。学生的时间和精力会更多的应用在SQL语言的应用上,而忽视了数据库关系模式建立的正确性,实践脱离了理论的指导,导致设计内容的理论依据不完整,出现失误和偏差,给后续的学习带来了隐患。

3.考核方式不合理,使实践环节不被重视,无法激发学生学习的主动积极性。数据库原理及应用是一门理论性和实践性都很强的课程,传统的考核方式比较单一,只有单独的理论考试,会导致学生为应付考试而对相关理论知识死记硬背,出现“高分低能”现象,这与该课程培养应用型人才的目标是相悖的。数据库原理和应用分成两门课后,还只是试卷考核,没有上机考核。虽然实践课上学生也动手实际操作了,但由于缺乏激励机制,只是停留在浅尝则止的状态,更多的会采用死记硬背的方法来学习。

4.教学手段始终不变。目前,高等院校计算机专业数据库原理及应课程的授课大多采用多媒体课件。教师在授课时没有针对课程内容适时调整授课手段,始终如一依赖课件,给课程的教学质量带来了一些问题。如在涉及关系数库和关系数据理论知识的教学中,学生需要较长间理解这些知识点,而用多媒体课件进行讲授,加快了演示的节奏,学生的思维难以与之同步,从而影响教学效果。

因此,为了解决上述存在的问题,让学生更加积极有效地真正学好数据库技术,我们提出了数据库相关课程的一些改革方案。

二、数据库课程体系改革方案

数据库设计论文例10

中图分类号:TP311.13

一般来说数据库的设计与系统运行的效率有很大关系,一定要全面顾及到数据的统一性、全面性、可靠性以及其延伸性。数据库设计需达到的一个标准,达到这些标准的数据库都有下述一些共同的优点:结构分明、简洁,而且不会出现插入、删除以及更新等操作问题。我将数据库设计经验以及技巧作为切入点,进行深入的分析,相关内容如下所述。

1 数据库的类型

一般都会按照使用的需求去选用相应的数据库。在目前的市场中,基本将数据库分为下述几类:大型数据库,中小型数据库以及小型数据库。

其基本原则为下述:

(1)系统数据量较多,对相关的性能需求较高,数据的密级高,要顾及到优化等问题,这样的情况一般使用大型数据库。

(2)系统数据信息不多,容易进行操作且方便管理,数据库基本可以保持稳定,这样一般都会使用中小型数据库。

(3)系统数据量很小,其系统投资少,这样就可以选择使用小型数据库。

2 数据库对象以及物理模型设计技巧

针对对象的模型设计,要与客户进行交流,深入地了解客户所想要的,且要顾及到客户的需求延伸。基于IPO设计理念进行工作,深化功能模块的处理、输出以及输入,且具体到所有属性,全面地掌握和本系统有关的外部接口以及数据。用建模工具构建ER图表,且在每一字段细致地做出标注以及详解,对对象命名进行规范化处理,以便进行维护。

表设计的标准以及规范化。数据的硬性指标是以范式去定义的,常规的数据库设计都是依附于第三范式,由于第三范式被认为在延伸性、数据全面性以及性能等方面都达到最佳的平衡。不过很多时候,为了其效率与特殊的需求,可以选择非常规范式指标的设计。

第一点,编码与参数要利用表维护,字段命名要构建相同命名的规范,中文详解要尽可能地细致。

第二点,顾及到一些改变。在构建数据库表字段的时候,要全面顾及到哪些字段以后会出现变更的情况。

第三点,选择自定义出现次数多的字段,这样以便于进行修改以及调整。比如日期、备注以及金额等。

第四点,设计那些较为常用的隐藏字段去实现一些特殊要求,如加设删除标记的字段、数据构建的日期以及数据调整的日期等。

一般的视图是为应用程序对数据抽象而构建的,全面利用视图能够深化数据库设计的多元性。针对视图构建要防止非关联查询操作。一般的视图设计要采用相应的数据库性能分析软件,从根本整合视图性能,持续地去改进。

较为繁重的数据运算、业务参数处理一般都是利用存储过程去完成的,因为性能较为优异、处理效率高以及易于修改。存储环节编写要利用性能分析软件实施检测并予以分析,持续优化存储。针对核心代码,要予以必要的加密功能。

不要轻易使用触发器,那样会在调试环节为你造成很多不必要的麻烦。一般设计过程中要了解触发的先决条件,通过一定的分析而去选择触发模式,而且还要顾及到此表的操作是不是影响到其余表。

3 文件管理

一般来说数据库配置文件可以把数据与日志文件放到系统可靠并有一定空间的位置;数据文件可以设置成增量扩展,而且还能按照数据量的多少予以设置;可以将数据库设置成差异备份,按时进行较为全面的备份。

4 对数据进行全面性设计技巧

要实体全面性。利用主键以及联合主键进行控制,可以使用系统编码,而不是使用业务编号进行控制。父表里的插入、删除以及更新数据。删除方式要利用级联删除,权限删除以及置空值等;插入操作则利用权限插入以及递归插入方法;对数据进行更新则利用级联更新,权限更新以及置空值等技巧。用户定义的全面性,NOT NULL,触发器以及CHECK。针对松散耦合数据,不需要利用数据库设计去确保数据的全面性以及完整性,尤其是业务的约束,利用应用程序去完成,从而不会因为系统受到过多的局限,而发生数据库异常的情况。

5 针对表设计相应技巧

经常对应很多编码的字段,如果应用十分繁杂,且数据量较多,那么就要考虑在表中加设冗余字段,可以加上设备的编号,也可以增加设备的命名字段等,从而就能够防止过多的操作其他表,以便于程序的编写以及提升系统的运行效率。加设记录日志以及数据版本的字段,这样有利于系统实施管理与跟踪,按照相应的实际情况进行设计。针对数据量多,且需保存的数据库表,可以使用历史表,从而去保存出现的数据,以便提供数据的备份以及对现有数据的使用。

6 检查数据库设计以及帮助文档的技巧

在数据库的设计过程里,都会选择一些数据库设计软件,其中包括Power Desiger,数据库表设计结束后,要有检查数据库表设计的良好习惯。

数据库设计工作者要深化经常查阅数据库帮助文档的工作习惯,认真地比对以及检查相应功能函数与设计措施的迥异。

7 总结

针对数据库设计过程中的侧重点,是要在数据库设计的过程里去感受、对比、总结以及分析的。一个优秀的系统与数据库的设计密不可分,所以数据库工作者对数据库的设计要有较为深入的认识以及灵活多变的设计技巧。

参考文献:

[1]姚卿达.汉字情报检索系统CCIRS研究报告(Ⅱ)――数据库设计的多级方法[J].中山大学学报(自然科学版),2010,14(22):1814-1819.

[2]申玉静,谭业武.数据库案例教学在计算机专业专科教育职业化改革中的应用与研究[J].福建电脑,2010,12(16):1031-1036.

[3]姜卉芝,钱丽瑾.LotusNotes数据库设计[A].数据库研究进展2012――第十四届全国数据库学术会议论文集(下),2012,11(12):1004-1006.

[4]王正山.在ASP中利用SQL语句实现动态网页与WEB数据库的连接[J].安庆师范学院学报(自然科学版),2011,13(03):293-295.

[5]马垣,张红云,李晓瑞,刘刚,张小平,马文胜.关系数据库中基于拓扑空间的聚类方法[A].第十八届全国数据库学术会议论文集(研究报告篇),2011,17(04):372-373.

[6]吴连喜.农化服务关系型数据库的设计[A].青年学者论土壤与植物营养科学――第七届全国青年土壤暨第二届全国青年植物营养科学工作者学术讨论会论文集,2013,11(02):178-181.

数据库设计论文例11

中图分类号:G64 文献标识码:A 文章编号:1009-3044(2015)05-0141-03

Reform and Practice of Course Design of Database based on CDIO

LU Lu, LING Jie

(School of Computer Science and Technology, Guangdong University of Technology, Guangzhou 510006, China)

Abstract: Aiming at the problems of the shortcomings of the traditional pattern of traditional course design of database,Based on the concept of the CDIO engineering education, combining with the present teaching situation of course design of database of computer-related specialty in an university of Guangdong, the specific measures on the teaching system and evaluation for course design of database is expounded. The practice results show the teaching reform expands the students' open minds,stimulates students' initiative and raises the students' practical abilities .

Key words: CDIO engineering education; Course Design of Database; teaching reform

CDIO工程教育模式是近年来国际工程教育改革的最新成果。从2000年起,麻省理工学院和瑞典皇家工学院等四所大学经过四年的探索研究,创立了CDIO工程教育理念。CDIO代表构思(conceive)、设计(design)、实施(im-plement)、运行(operate),它是“做中学”和“基于项目教育和学习”(Project based education and learning)的集中概括和抽象表达。它体现了现代工程师所应具备的服务于现代工业产品从构思、设计、实现到运行的全过程所必须拥有的基本能力。CDIO培养大纲将工程毕业生的能力分为工程基础知识、 个人能力、 人际团队能力和工程系统能力四个层面[1-2]。然而我国工科的教育实践中还存在不少问题,如重理论轻实践、忽视团队协作精神等问题。国内外的经验表明CDIO的理念和方法是先进可行的,适合于工科教育的教学改革。

1 数据库课程设计传统教学模式培养现状

数据库课程是计算机及其相关专业课程体系中的核心和基础;而数据库课程设计是数据库课程的实践科目,其特点是综合性强,对动手操作能力要求比较高。但是,传统数据库课程设计的教学模式,往往偏重理论,这会让学生处于课堂教育与实践操作严重脱节的尴尬境地。因此,针对计算机专业人才培养的现实需求,数据库课程设计教学改革势在必行。

2 数据库课程设计教学改革研究

为了达到让学生主动学习的目的,基于CDIO的模式理念,本文构建了数据库课程设计教学内容体系。该体系自始至终与数据库理论内容以及CDIO模式相结合,通过项目驱动,让学生参与其中,按照数据库设计的每个阶段由学生自发独立的发现问题以及解决问题,最终完成课程设计的各个内容。

2.1 数据库原理教学内容以及传统数据库课程设计教学安排

数据库原理针对计算机相关专业本科教学内容主要涉及关系数据库、关系数据库标准语言SQL,数据库安全性完整性、关系数据理论、数据库设计、查询优化、数据库恢复和并发技术[3]。

以广东某高校计算机学院为例,数据库原理理论教学56课时,授课时间为学期第1周至第16周。数据库课程设计16课时,课程设计准备工作主要集中在第13周到16周,设计完成以及检查时间为第17周。(教学内容与进度如图1所示)

这种传统教学的弊端主要体现在:

1)理论教学与实践操作相互脱节。学生不能发挥主动学习的积极性;

2)课程设计实践操作部分学时少,准备不够充分;

3)课时分布不均匀,前松后紧,学生动手实践部分大多放在学期末,容易造成学生在期末考试的压力中忽略动手能力的提高和培养,眉毛胡子一把抓;

4)单凭一个课程设计报告和程序很难衡量学生对知识的理解和掌握程度;

鉴于以上的内容,本文提出了基于CDIO模式的新的数据库课程设计教学体系。

2.2 数据库课程设计教学模式改革

数据库课程设计教学模式改革主要体现在:课程设计在理论教学中贯穿始终。基于CDIO的数据库课程设计教学改革内容如图2所示。

2.2.1 课前准备

CDIO模式不仅重视个人能力的培养,同时也关注团队协作的能力培养。因此,团队协作也作为数据库课程设计教学改革的一个重要内容。为了学生沟通方便,每个行政班中以寝室为单位(4个学生)组成若干个开发团队,选取组长,并且向老师上报各个组员的分工情况,之后各个开发小组可以根据老师给出的备选题目进行选题。

2.2.2构思(Conceive)

CDIO的精髓在于让学生“做中学”。但是对于没有任何数据库基础知识的学生来说,课程开始就投入到实践中是不现实的,所以范例教学十分重要。在理论教学开始时教师利用大概2周的时间,讲解数据模型、数据库系统结构、数据库系统的组成、数据库技术的研究领域以及前沿的知识体系、开发工具,让学生对该领域的知识产生浓厚的兴趣。然后,教师可以从典型案例着手――以学生管理系统为例,讲解如何进行业务流程分析、功能分析和数据需求分析,如何绘制用例图,在数据库设计过程中如何完成数据流图和数据字典分析,让学生在范例讲解中一步步的学会如何绘制ER图,如何设计数据字典中的各项内容。该阶段是构建系统蓝图的阶段,所以,教师要引导学生立足于不同项目的实际需求,通过调查问卷、查阅资料、客户走访等形式,深入探析软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件各项有效的需求,与此同时,在确定需求过程中,团队成员之间的磨合与沟通也是必不可少的。通过各个成员的协调,才能最终确定该团队共同的软件需求以及数据库整体规划策略。该阶段的汇报成果即是各团队小组的需求分析报告。

2.2.3设计(Design)

数据库设计包括概念结构设计、逻辑机构设计和物理结构设计,所涵盖的理论知识点比较多。传统数据库原理教学和数据库课程设计在设计阶段几乎是相互脱节的,见图1。为了能让学生提高完成项目的主动性以及自我认知性,数据库课程设计调整幅度也相对比较大。

1)课堂学习关系数据库时,引导学生以课程设计中的选题项目为基础,编制相关的关系代数的演算

2)课堂学习关系型数据库标准语言SQL时,引导学生以课程设计为基础,利用SQL语句解决数据的增删改查的一系列问题,并且针对需求分析中不同的设计模块,设计不同的SQL操作,其中包括单表查询、多表查询、模糊查询、相关子查询、不相关子查询、多表更新操作、视图操作等。

3)课堂学习数据库的安全性和完整性时,通过一系列反例,例如违反实体完整性的数据操作会带来怎样的后果;违反了参照完整性的操作会有哪些危害等等,让学生强烈感知如何能设计出效率高、安全性较好的数据库基本表。此时,可以让学生根据项目选题设计出系统的各个分ER图并且形成初步ER图,在合并过程中找出冲突和问题所在,为后续内容做准备。

4)课堂学习规范化理论时,利用循序渐进的方法,举例说明,让学生利用范式的思想,对项目中的表格进行规范化分析,判断属于第几范式,有什么样的优缺点,能否进行优化。此时,课程设计的概念结构设计,逻辑结构设计已经初具雏形。

5)课堂学习第七章数据库设计时,结合实例,让学生独立完成概念机构设计中的消除冲突与优化,完成由基于项目的初步ER图到基本ER图的转变;同时结合需求分析中的数据字典,根据联系转换为关系表的知识点以及规范化理论,对初步的逻辑结构表进行修改和完善。

该阶段的汇报成果是各团队小组的概要设计报告。

2.2.4实现(Implement)

设计阶段其实是将任务离散化,那么实施阶段就是将项目综合化。该阶段中,书本上的重点内容已经基本结束,学生可以根据学过的基础知识自由发挥,将之前的需求文档以及概要设计文档进行拓展和完善,并且将自己设计的关系代数以及SQL语句转换成高级程序语言中的数据库操作的语句。这时候,有能力的同学也可以根据老师上课讲授的查询优化等内容针对具体项目实际进行查询算术优化和物理优化,并且对比执行效率,感受在不同的实际应用中对不同问题的处理方式。

该阶段的汇报成果是各团队小组成员的详细设计报告的综合文档。

2.2.5运作(Operate)

系统模型建立好之后,要进行软件的各项测试。学生可以通过学习恢复和并发控制等内容,对系统的完整性、安全性等性能进行进一步的改善,完善详细设计报告,补充系统测试内容以及使用系统安装使用说明。最后,通过小组的公开答辩,向老师和全班同学展示系统的设计思路、完成过程以及跟同学们交流心得和体会,并由其他非小组成员的同学作为评委进行点评。

2.3 课程设计考核评价改革

课程设计是一门衡量学生动手操作能力、综合运用能力的科目,所以这门课程更要体现对学生是实践能力的检验。数据库课程设计考核评价改革主要体现在:改变单一的评分标准为多角度综合性评价标准(如图3所示)。

2.3.1 项目文档(分数比例50%)

项目文档包括需求分析报告、概要设计报告、详细设计报告。

1)需求分析报告(分数比例10%),内容包括:

①可行性分析;

②拟采用的开发工具;

③用例图;

④数据字典,包括数据项,数据结构

⑤软件模块初步设想以及每个模块可能进行的操作。

2)概要设计报告(分数比例20%):

①数据库设计方面:分ER图和总体基本ER图(标明各实体之间联系的类型)、逻辑结构设计(有完整性约束说明,标明主码、外码,分析范式类型)、物理结构设计(索引、存储路径等)、数据库完整性设计(违反实体、参照完整性时的解决办法,比如触发器、存储过程等)

②软件设计方面:功能结构图以及各功能模块主要功能(明确小组成员的分工)

3)详细设计报告(分数比例20%),内容包括:

①系统与后台数据库连接的执行过程;

②系统各模块的主要界面和UI接口;

③系统各个模块的流程图以及详细实现过程;

④关键问题的解决方案;

⑤总结系统后续有待优化和改善的方面。

2.3.2 项目成果演示(分数比例40%)

该类别主要考核的方面如下:

1)系统运行正确;

2)功能完善:有增、删、改、查功能,输入、输出功能;

3)有基本的统计、报表功能;

4)有多表连接查询、自身连接查询、字符串匹配查询、模糊查询、分组查询等;

5)工作量饱满,系统实现技术的难度;

6)是否符合软件开发规范;

2.3.3 团队综合素质(分数比例10%)

该类别主要通过系统演示、课题答辩以及团队的出勤和会议纪要等信息考核团队成员的协同合作的能力,而且,尤其要注意有些同学过分依赖他人的思想。所以答辩过程中要求每个小组成员都要对自己所做的内容进行阐述和说明。

3 结束语

通过一系列的基于CDIO模式课程设计教学改革,使得每一个同学都有公平的主动参与的机会,同学们从这门课程开始就主动思考项目中各种实际问题,由“学中做”转变为“做中学”,极大发挥了学生的积极性和创造力,从而使得数据库课程设计的实践教学取得了非常好的教学效果。很多同学都对数据库产生了浓厚的兴趣,而且也有一部分同学毕业之后选择了数据库相关的行业。

参考文献: