数据库课程设计报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据库课程设计报告学号:20121004357姓名:李世荣班级:191123指导老师:胡霍真邮件管理系统摘要21世纪是网络飞速发展的时代,电子邮件已经成为热门话题。随着网络技术的不断发展,网络应用已经渗透到人类社会的各个角落。作为网络世界信息传输的支撑点的电子邮件,更是人们关注的焦点。通过电子邮件无论朋友在何方,都可以通过电子邮件方便的联系交流,电子邮件开辟网络世界里的一片天地。电脑的日益普及,大大改变了各行各业的工作方式和人们的生活方式,越来越多的人开始进入到电脑的世界。电脑的普及化,进而促进了互联网的进一步的发展和完善,而作为互联网上基本的存在电子邮件给予了上网的电脑用户另一个别样的空间。因此,这次我们采用了Oracle12c数据库,使用VisualC++数据库编程的方法以及MFCODBC数据库开发技术来开发一个简单的邮件管理系统。我们可以通过这个系统来管理我们的邮件,让我们之间的邮件交流更加的方便快捷。关键字:Oracle12c,VisualC++,MFCODBC,管理邮件。一、系统需求分析进行系统设计,首先要对系统的现状进行分析。根据系统的目标、需求和功能,制定和选择一个较好的系统方案,从而达到一个合理的优化系统。需求分析是在于要弄清用户对开发的数据库应用系统的确切要求。数据库设计的第一步是明确数据库的目的和如何使用,也就是说需要从数据库中得到哪些信息。明确目的之后,就可以确定您需要保存哪些主题的信息,以及每个主题需要保存哪些信息。在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。这样,就把一个大的系统分解成了几个小系统。(1)本系统是为了更好地管理我们的邮件,更方便的交流,因此我认为可以分为以下几个小系统:用户登录,联系人信息的管理,邮件类型管理,邮件记录管理。能够实现以下功能:1、联系人的增删修改;2、邮件的新建,发送,查询;3、邮件类型的增删修改;4、邮件记录的查询删除。(2)数据处理对象:1、联系人信息:联系人ID,联系人姓名,联系人E-mail地址;2、邮件类型信息:邮件类型ID,邮件类型名称;3、邮件记录信息:记录ID,收件人ID,发送时间,是否有附件,邮件类型ID,邮件内容;(3)系统处理的功能及要求:1、能够储存一定数量的联系人信息,并能对其进行相关的操作,包括联系人的增加,修改,删除;2、能够储存一定数量的邮件类型信息,并能对其进行相关操作,包括类型的增加,删除,修改;3、能够储存一定数量的邮件记录信息,并能对其进行相关操作,包括邮件的发送,查询邮件记录,删除记录;4、能够与数据库连接,并且有一定的安全机制,保证数据库的授权访问,防止他人随意访问,造成个人隐私的泄露。(4)邮件管理系统功能结构图如下:(5)业务流程图:(6)数据流程图:顶层数据流程图:用户管理联系人信息数据流程图:用户管理邮件类型信息数据流程图:用户管理及查询邮件记录数据流程图:二、E-R图联系人信息实体-关系图邮件类型信息实体-关系图邮件记录信息实体-关系图联系人-邮件记录关系图邮件类型-邮件记录关系图三、系统详细设计1、根据上述概念模型设计得出的E-R图,可以得出系统中涉及的主要实体有三个,其结构如下:、联系人:contact_info_tab(contact_id,contact_name,E-mail)、邮件类型:email_type_tab(type_id,type_name)、邮件记录:email_record_tab(record_id,contact_id,send_date,is_fujian,type_id,email_info)进而设计并完善表格如下联系人基本信息表(contact_info_tab)中文名字段名字段类型是否空约束联系人IDcontact_idnumber否主键联系人姓名contact_namevarchar2(16)否无E-maile_mailvarchar2(24)否无邮件类型信息表(email_type_tab)中文名字段名字段类型是否空约束类型IDtype_idnumber否主键类型名称type_namevachae2(16)否无邮件记录基本信息表(email_record_tab)中文名字段名字段类型是否空约束记录IDrecord_idNumber否主键收件人IDcontact_idNumber否外键发送日期send_dateDate否无是否有附件is_fujianNumber否无邮件类型IDtype_idNumber否外键邮件内容email_infoVarchar2(128)否无2、数据库实施阶段(1)、建立数据库Createdatabaseemail;(2)、建立数据表创建联系人信息表Createtablecontact_info_tab(Contact_idnumberprimarykey,Contact_namevarchar2(16)notnull,E_mailvarchar2(24)notnull);创建邮件类型信息表Createtableemail_type_tab(Type_idnumberprimarykey,Type_namevarchar2(16)notnull);创建邮件记录信息表Createtableemail_record_tab(Record_idnumberprimarykey,Contact_idnumberreferencescontact_info_tab(contact_id)notnull,Send_datedatenotnull,Is_fujiannumbernotnullcheck(is_fujianin(0,1)),Type_idnumberreferencesemail_type_tab(type_id),Email_infovarchar2(128)notnull);(3)自行设计好主界面后,在主界面上添加控件,并设置属性使其可用,为各个控件添加变量或类,注意要将各控件的ID进行修改。利用InitListControl这个函数负责添加控件的显示列。读取数据库中的信息添加到主界面,需要在类中定义一个InitListData私有函数,负责从数据库中读取数据并显示到列表控件中,同时还需定义三个分别读取数据到列表控件中de函数。连接数据库时需先配置ODBC数据源,配置添加的用户,配置成功后,在主类中创建CDatabase的对象m_db,之后在OnBtnConn函数中处理数据库的连接,即可完成用户与数据库的连接。在连接数据库成功后,即可对联系人信息管理和邮件记录管理的对话框进行设计,并添加对话框控件以及各个控件的变量和函数,之后完善添加、修改、删除联系人的代码,并调试成功。四、遇到的问题及解决1、在第二章的SQLdeveloper里边改变用户默认表空间时,在/assysdba弹出的工作表里输入语句“alteruserc##hannahdefaulttablespaceusers;”,运行语句后脚本里并未输出“userC##HANNAH已变更。”在询问了同学之后,找到了解决方法。就是先把C##HANNAH的三个表删除,再重新创建,最后解决了这个问题。2、在添加控件显示列的时候,运行后,无法跳出界面在联系人信息管理、邮件信息管理、邮件类型管理三块添加的listcontrol控件的view属性改成Report,改完之后出现了界面。3、由于课本上的代码是VC6.0环境下的代码,所以有时出现的问题确实找不到原因,经过不断地查找和同学交流之后,才知道VS2012和VC6.0的环境不同,所以有些代码的需要小小的改动。五、课程设计心得体会1、这次课程设计加深了我对数据库系统概论相关知识的理解。例如对建立基本表、视图、索引、存储过程等,都比以前更加的熟练。并在解决遇到的各种问题的过程中,学到了很多新的知识。比如在导入\导出数据时,由于外键约束的存在,经常会出现错误,这就要注意各个表导入的顺序问题。一般是先导入主键表,后导入外键表,这样可以避免很多的错误。2、我进一步掌握了相关的SQL语句方面的知识。不但纠正了以前的错误认识和理解,而且学会了建立存储过程和触发器。通过查阅资料,我还明白了存储过程是编译后放在服务器端的程序,它可以被别的模块调用,且不需要重新编译,这样就大大减轻了客户端的负担,且有效的提高了系统执行的效率。3、当然,在实习的过程中也存在一些问题。由于需求分析阶段的工作完成的不是很充分,在后面的设计过程中,前后时常会出现矛盾,不一致现象,因此要反复的修改前面的结果,导致整个工作进行的不是很顺利。我觉得在这次课程设计中,需求分析阶段是致关重要的,但由于同学们都是第一次做这样的系统设计,都不是很熟悉需求分析的主要方法和主要任务,所以都很盲目,认为随便从网上搜点相关的知识就可以了,但其实,这直接影响着后面的各个阶段的工作的进行。参考文献:1、数据库系统概念,AbrahamSilberschatz,HenryF.Korth,S.Sudarshan著,杨冬青,李红燕,唐世渭译,机械工业出版社;2、数据库课程设计实验教程,胡霍真,朱莉著,中国地质大学出版社;3、软件开发与指导,人民邮电出版社。

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功