您好,欢迎访问三七文档
1云南大学软件学院实验报告课程:数据库原理与实用技术实验学期:任课教师:专业:学号:姓名:成绩:期末大作业:家电售后维修管理数据库设计一、实验目的(1)掌握数据库设计的基本方法(2)掌握各种数据库对象的设计方法二、实验内容1.数据库概要设计:用文字简要描述实体之间的联系,画出E-R图(标出各联系中实体的基数)。(1)、包含以下数据表:a.客户表b.维修申请表c.员工表d.报价表e.维修情况记录表f.商品表h.零件表(2)、实体之间的逻辑关系为:客户撰写维修申请表,员工对商品(包含组成商品的零件)进行维修,同时员工记录维修情况,将报价表反馈给客户客户表和维修申请表:维修申请表和员工表:2员工表和商品表:商品表和零件表:员工表和维修情况记录表:员工表和报价比表:3客户表和报价比表:(3)E-R图形式1:4(3)E-R图形式2:clientMa_singleemployeeproductpartsrepairmentquoationcphonebuytimecnamelimitedtimecidcidpidMaideageegenderenameeidephonepidcidcphoneretypepaymentPidpnamep_pricegua_limitpideidpaymentpaidcidcphonejuger_timer_statepaidpanameNumberpa_commoditypa_pricepa_Manufacturequotesendwriteptyperepairuserecord52、数据表设计:将E-R图转换为数据表,给出创建各表的SQL语句。创建数据库:客户表:6维修申请表:员工表:7报价表:商品表:8零件表:维修情况记录表:93、完整性约束:根据需要给数据表添加数据完整性,并说明添加的理由。(1)报价表的外键关系(2)零件表的外键关系10(3)维修表的外键关系(4)员工性别约束性别约束测试11(5)完整性约束之客户电话号码约束(6)完整性约束之员工电话号码约束员工电话号码约束测试4、存储过程、触发器和视图:根据需要给数据库添加几个实用的存储过程、触发器和视图,并说明它们各自的功能。各表数据的填入:客户表12维修申请表13员工表报价表14商品表零件表15维修情况记录表存储过程1:创建存储过程,查询employee表中所有员工姓名16存储过程2:创建存储过程,查询客户表中具体客户,若无所查姓名,则返回‘查无此人信息’存储过程2测试存储过程3:创建存储过程,通过比较使用时间和保修时间,判断维修用户的商品是否在维修期,并将在保修期内商品的juge列更新为“是”,反之,更新为“不是”17存储过程4:创建存储过程,得出上述juge=“不是”的用户的维修金额。具体分为三种情况,当retype=“整机更换”,维修金额为商品价格;当retype=“零件更换”,维修金额为零件单价乘以数量;当retype=“部分维修”,维修金额为员工的expenses18触发器1:创建触发器trig_update,返回对client进行更新操作后,被更新的记录条数触发器1测试19触发器2:在parts中创建触发器,当执行delete操作时,该触发器被触发,禁止删除记录触发器3:在product表中建立触发器,实现product和parts表的联级删除视图1:20视图2:5、实验小结。(1)、通过本次实验,对于数据库设计的基本方法、步骤有了更深入的了解和认识。学会用整体性的思维来构思设计数据库,注意到了数据库中各个数据项之间的联系,以及其与整个数据库之间的联系。(2)从创建数据库,运用代码实现各个数据表的构建再到约束性条件的实现,运用存储过程、触发器对表进行一系列的操作,都让我们对之前实验与SQL相关的部分进行了回顾。同时通过这个数据库的建立和完善,将诸多实验中零散的知识点联系在一起。(3)在实验过程中遇到许多问题,通过查阅资料,翻阅书籍,和同学讨论等方法解决了问题。学会了整体性思维,在很多次的修改之后完成实验内容,收获颇丰。(4)能够根据题目的具体要求,有拓展,有延伸,更进一步掌握了存储过程、触发器、视图的相关概念,对知识层次的认知更进一步。
本文标题:数据库期末大作业
链接地址:https://www.777doc.com/doc-2289111 .html