《数据库原理》大作业一、作业要求:1.按照《数据库大作业小组分配名单》,选择各自的题目,要求每小组各自独立完成。2.按照大作业评分标准和报告格式,给出完整的数据库设计过程;3.数据库中的数据表不得少于三张,否则认为设计失败;4.对每张数据表输入不少于10条的样本数据用于测试,样本数据要有代表性;5.写出相应的SQL脚本,数据库可选用SQLServer或MySQL等;6.提交结果时应包括电子版的报告和源代码,报告中说明各小组成员的分工;7.大作业检查时间:期末考试前一星期8.作业参看模板格式,每步都有要求,每小组最后交一份作业。二、评分标准1.需求分析(数据流图、数据字典):20分2.数据库设计。2.1概念结构设计(E-R模型):20分2.2逻辑结构设计(关系模式、函数依赖,码等)20分2.3物理结构设计10分3.数据库实现(定义表格和索引等,录入数据)10分4.数据库运行(数据库操作的SQL语句,包括查询、增加、删除、修改)20分三、选题通讯录系统设计设计一个通讯录系统,包含编号、姓名、单位、通信地址、邮箱和联系电话等基本信息,应该具有以下功能:(1)录入信息,将录入的信息导入数据表;(2)删除,将指定的信息(按姓名或分组)删除并保存;(3)修改,将指定的信息(按姓名或分组)修改并保存;(4)浏览,将录入的全部信息显示出来,以便用户查看;(5)查找,按姓名、电话等各种条件查找指定的信息;数据库大作业通讯录系统数据库设计报告班级13级计算机科学技术学院网络工程四班开课学期2015至2016学年第1学期完成时间2015年12月30日I目录一、需求分析...................................................11.1系统目标.................................................11.2业务需求及处理流程.......................................11.3功能需求及数据需求分析...................................11.4业务规则分析.............................错误!未定义书签。1.5数据字典二、概念设计...................................................32.1命名规范.................................................72.2实体集及属性.............................................72.3联系集及属性.............................................82.4系统总ER图..............................................83逻辑设计......................................................83.1关系的设计...............................................83.2关系的优化...............................................93.3数据库基本表设计.........................................94物理设计......................................................94.1关系模式存取方式选择....................................104.2数据库的存储结构........................................105数据库应用设计..............................................105.1数据库脚本.............................................105.2数据库完整性设计.......................................135.3数据库安全性设计.......................................145.4存储过程和触发器设计...................................146系统实现.....................................................147组员分工....................................................158总结..........................................................16《数据库原理》大作业11需求分析1.1系统目标通过该课程设计,学习数据库设计工具的使用,搞清数据库设计的基本方法、步骤和数据库设计各阶段的任务,完成对某一小型数据库设计和相应文档的编写工作。使学生更加深入地掌握数据库系统分析与设计的基本概念和基本方法,提高从事数据库系统建设和管理工作的基本技能和能力。1.2业务需求及处理流程1.2.1业务需求能够对相应的数据进行相应的增删改查,即时录入相应的信息,通讯录能够支持姓名检索、删除不需要的信息、修改人物的信息(包括家庭住址、成员、电话号码)1.2.2处理流程1.3功能需求及数据需求分析1.3.1通讯录系统数据库的数据需求通过与通讯录系统数据库用户交谈等方式以及作者对通讯录使用的分析,可以得到通讯录数据库系统的数据需求。·通讯录有多个功能。每个功能都建立在创建的实体和联系的上面,通过实体和联系来实现添加、删除、修改等操作。·通讯录的使用者通过其各自的实体来标识。通过系统添加并存储《数据库原理》大作业2每个用户的姓名、电话、出生年月及其通讯地址等,用户在变更信息的情况下就修改之前提供的通讯信息。·通讯录在记录个人信息的同时,顺便也保存好家庭住址和办公住址及其对应的电话,以便在未及时修改个人信息的情况下能有其他方式联系用户,做到数据的多元选择。·通讯录使用者在管理通讯录记录时,及时删除无用记录和信息并修改,让通讯录总体结构清晰自然。·通讯录系统以list实体为基础,建立一系列的通讯结构,方便简洁的管理整体的通讯信息。1.3.2通讯录系统数据库的功能需求(1)新建通讯录功能增加一个新的记录,并保存通讯录;(2)搜索通讯录功能按学生学号匹配查询;按学生姓名匹配查询;(3)修改通讯录功能修改编辑通讯录的资料.如果修改有误,还有还原功能.修改表单后,关闭表单,则提示是否保存修改.(4)删除通讯录功能删除一个记录,提供确认机制;《数据库原理》大作业31.4业务规则分析图1通讯录业务规则图1.5数据字典数据结构:list含义说明:是通讯录的主体数据结构,定义了一个记录的有关信息组成:list_name,list_sex,list_mobile_number,list_birthday和list_address数据项:list_name含义说明:唯一标识每个记录别名:姓名类型:字符型《数据库原理》大作业4长度:8取值范围:取值含义:通讯录记录的姓名数据项:list_sex含义说明:唯一标识每个记录别名:性别类型:字符型长度:4取值范围:取值含义:被记录者的性别数据项:list_mobile_number含义说明:唯一标识每个记录别名:手机号码类型:字符型长度:16取值范围:取值含义:被记录者的手机号码,区别于办公电话数据项:list_birthday含义说明:唯一标识每个记录《数据库原理》大作业5别名:生日类型:字符型长度:8取值范围:取值含义:被记录者的生日数据项:list_address含义说明:唯一标识每个记录别名:通讯地址类型:字符型长度:80取值范围:取值含义:被记录者的通讯地址数据结构:family含义说明:是通讯录的主体数据结构,定义了一个记录的有关信息组成:family_family_number和family_family_address数据项:family_family_number含义说明:唯一标识每个记录别名:家庭电话类型:字符型《数据库原理》大作业6长度:16取值范围:取值含义:被记录者的家庭电话数据项:family_family_address含义说明:唯一标识每个记录别名:家庭住址类型:字符型长度:80取值范围:取值含义:被记录者的家庭地址数据结构:office含义说明:是通讯录的主体数据结构,定义了一个记录的有关信息组成:office_office_number,office_office_address和office_e_mail数据项:office_office_number含义说明:唯一标识每个记录别名:办公电话类型:字符型长度:16取值范围:取值含义:被记录者的办公电话《数据库原理》大作业7数据项:office_office_address含义说明:唯一标识每个记录别名:办公地址类型:字符型长度:80取值范围:取值含义:被记录者的办公地址数据项:office_e_mail含义说明:唯一标识每个记录别名:电子邮箱类型:字符型长度:20取值范围:取值含义:被记录者的电子邮箱2概念设计2.1命名规范根据表的属性按照英文命名统一规范.2.2实体集及属性实体集list,具有属性list_name,list_sex,list_mobile_number,list_birthday和list_address。《数据库原理》大作业8实体集family,具有属性family_family_number和family_family_address。实体集office,具有属office_office_number,office_office_address和office_e_mail。2.3联系集及属性ListFamily是list和family间的一个多对一联系集。ListOffice是list和office间的一个多对一联系集。2.4系统总ER图图2通讯录系统的E-R图3逻辑设计3.1关系的设计把图1的E-R图转换为关系模式,如下所示:list=(list_name,list_sex,list_mobile_number,list_birthday,《数据库原理》大作业9list_address),office=(office_office_number,office_office_address,office_e_mail),ListOffice=(list_name,office_office_number)3.2关系的优化根据数据库对范式的定义以及数据库构建,本数据库属于第二范式。3.3数据库基本表设计数据库中的表有:图书信息表、家庭信息表、办公信息表基本表:图书表属性:姓名、性别、手机号码、生日、住址字段名数据类型长度主键非空描述list_nameCHAR8主键否姓名list_sexCHAR4否性别list_mobile_numberCHAR16否手机号码list_birthdayCHAR8否生日list_addressCHAR80否地址家庭表属性:人员数目、住址字段名数据类型长度主键非空描述family_family_numberCHAR16主键否家庭电话《数据库原理》大作业10family_family_addressCHAR80否家庭住址办公室表属性:办公室电话、办公室地址、邮箱字段名数据类型长度主键非空描述office_office_numberCHAR16主键否办公电话office_office_addressCHAR80否办公地址office_e_mailCHAR20否办公邮箱4物理设计4.1关系模式存取方式选择在此说明哪些表建立了什么样的索引。表名索引名索引列索引类型备注4.2数据库的存储