您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 数据库系统开发实验二
2017年9月8日大三暑假小学期数据库系统开发--郭贵锁老师实验报告姓名:学号:班级:实验:售后服务管理系统数据建模时间:2017年9月25日2017年9月8日大三暑假小学期数据库系统开发--郭贵锁老师1目录一、实验目的(通过实验要达到什么样的效果,学到什么东西)二、实验条件(实验使用软件)三、实验内容(实验需要做的具体详细的实验项目)四、实验要求(实验中,我们要注意的实验事项和写实验报告的详细要求)五、实验步骤(实验步骤包括具体的每个实验的实验方法、实验结果和实验结果分析,按照每步遇到的问题,进行分析解决)六、问题解答(回答实验售后服务的相关问题)七、实验感悟(总结实验中遇到的问题,以后该怎么解决)八、附录(由ER图转化而来的SQL语句)2017年9月8日大三暑假小学期数据库系统开发--郭贵锁老师2一、实验目的学会使用ERwinDataModeler数据建模工具,创建企业合同管理的数据模型,将其中的物理模型生成到SQLServer数据库管理系统,进而学会数据库的基本设计方法,为进一步更深的学习打下基础。二、实验条件CAERwinDataModeler和MicrosoftSQLServerManagementStudio三、实验内容仔细阅读合同管理应用需求的说明(参见第9章),在此基础上使用ERwinDataModeler数据建模工具创建企业合同管理的数据模型,并将其中的物理模型生成到SQLServer数据库管理系统,根据完成的内容和过程编写一份数据建模的报告,数据建模的重点放在销售服务部分。需要在报告中将ERwin(也可使用其它数据建模工具)创建的数据模型的ERD放到报告中(可以截图),结合所设计的ERD回答下面问题:(1)如何实现售后服务中的产品服务期限的?(2)如何记录售后服务的产品信息?(3)如何记录技术服务工程师(包括服务专员)的信息?(4)一个完整的服务信息(如维修一个磁盘可能包括第一次打电话咨询、维修等由多个小服务组成一个大服务)是如何记录的?四、实验要求每个小的实验都必须给出具体的实验方法、实验结果与结果分析。在对每个实验结果的分析中要描述产生正确结果或错误的原因,有些可以写出相应的解决方法。五、实验步骤实验方法:1.利用域定义新的数据类型NAME2017年9月8日大三暑假小学期数据库系统开发--郭贵锁老师32.利用新的变量NAME进行定义变量3.绘制ER图(logical)4.将logicalmodel转化为physicalmodel5.在sqlserver中创建数据库CONTRACT2017年9月8日大三暑假小学期数据库系统开发--郭贵锁老师46.由于版本的问题,所以无法直接连接数据库进行实验,而是通过预览sql语句的形式然后,通过sql语句进行实验1)由于实验生成寄存器会影响在数据库CONTRACT中的运行,所以,禁止ERWIN产生触发器2)生成SQL语句3)在输入执行SQL语句时,新定义的NAME类型无法识别,通过把VARCHAR1(32)改成CHAR(18),执行通过4)在生成SQL代码时,注意选择sql不要选择oracle,因为这个原因,我从早上到中午一直找bug。7.新建查询,输入SQL语句,进行创建实验结果:完成实验的ER建模和数据库的构建2017年9月8日大三暑假小学期数据库系统开发--郭贵锁老师5实验分析:仔细阅读实验指导书和认真实验,遇到问题及时解决问题,实验方法和操作没有问题,自然可以完成实验的要求。六、结合所设计的ERD回答下面问题(1)如何实现售后服务中的产品服务期限的?答:实验中,在AFTER_SALE_SERVICE中,设有SERVICE_BEGIN_TIME和SERVICE_END_TIME,我们可以同结束时间减去开始时间,就可以得到产品的服务期限。(2)如何记录售后服务的产品信息?答:根据制定的ER图,我们可以根据实体AFTER_SALE_SERVICE和实体PRODUCT以及ORDER_PRODUCT的联系得到售后服务的产品信息,如可以通过外键PRODUCT_ID和ORDER_HEADER_ID找到对应的订单明细,然后从对应的订单明细中,再通过外键PRODUCT_ID找到对应的那个产品信息。(3)如何记录技术服务工程师(包括服务专员)的信息?答:我们直接可以通过实体AFTER_SALE_SERVICE的EMPLOYEE_ID找到实体EMPLOYEE对应的技术服务工程师的信息也可以找到服务专员的信息。(4)一个完整的服务信息(如维修一个磁盘可能包括第一次打电话咨询、维修等由多个小服务组成一个大服务)是如何记录的?答:一个大服务可以由很多小的小服务来组成,可以建立一个自己到自己的递归联系来记录,比如我们可以建立一个AFTER_SALE_SERVICE到AFTER_SALE_SERVICE的递归联系,然后,我们就可以通过AFTER_SALE_ID进行对小服务的记录和递归查询了。七、实验感悟八、附录:实验中从ER图转变成的SQL语句CREATETABLEAFTER_SALE_SERVICE2017年9月8日大三暑假小学期数据库系统开发--郭贵锁老师6(AFTER_SALE_SERVICE_IDCHAR(18)NOTNULL,SERVICE_BEGIN_TIMECHAR(18)NULL,SERVICE_END_TIMECHAR(18)NULL,SERVICE_TYPECHAR(18)NULL,SERVICE_SPECIALISTCHAR(18)NULL,CONTRACT_IDCHAR(18)NULL,SERVICE_DETAILCHAR(18)NULL,ORGNIZATION_IDCHAR(18)NULL,CUSTOMER_NAMECHAR(18)NULL,CUSTOMER_PHONECHAR(18)NULL);CREATEUNIQUEINDEXXPKAFTER_SALE_SERVICEONAFTER_SALE_SERVICE(AFTER_SALE_SERVICE_IDASC);ALTERTABLEAFTER_SALE_SERVICEADDCONSTRAINTXPKAFTER_SALE_SERVICEPRIMARYKEY(AFTER_SALE_SERVICE_ID);CREATETABLECONTRACT(CONTRACT_IDCHAR(18)NOTNULL,NAMECHAR(18)NULL,AMOUNTCHAR(18)NULL,TECHNICAL_RESULTCHAR(18)NULL,TECHNICAL_DATECHAR(18)NULL,BUSINESS_RESULTCHAR(18)NULL,BUSINESS_DATECHAR(18)NULL,SALE_IDCHAR(18)NOTNULL,TECHNICAL_IDCHAR(18)NULL,BUSINESS_IDCHAR(18)NULL,DECRIPTIONCHAR(18)NULL);CREATEUNIQUEINDEXXPKCONTRACTONCONTRACT(CONTRACT_IDASC);2017年9月8日大三暑假小学期数据库系统开发--郭贵锁老师7ALTERTABLECONTRACTADDCONSTRAINTXPKCONTRACTPRIMARYKEY(CONTRACT_ID);CREATETABLECONTRACT_PRODUCT(PRICECHAR(18)NULL,DISCOUNTCHAR(18)NULL,AMOUNTCHAR(18)NULL,PRODUCT_IDCHAR(18)NOTNULL,CONTRACT_IDCHAR(18)NOTNULL);CREATEUNIQUEINDEXXPKCONTRACT_PRODUCTONCONTRACT_PRODUCT(PRODUCT_IDASC,CONTRACT_IDASC);ALTERTABLECONTRACT_PRODUCTADDCONSTRAINTXPKCONTRACT_PRODUCTPRIMARYKEY(PRODUCT_ID,CONTRACT_ID);CREATETABLECUSTOMER(BANK_ACCOUNT_CREDITCHAR(18)NULL,ORGNIZATION_IDCHAR(18)NOTNULL,CREDITCHAR(18)NULL,CUSTOMER_NAMECHAR(18)NOTNULL,CUSTOMER_PHONECHAR(18)NOTNULL);CREATEUNIQUEINDEXXPKCUSTOMERONCUSTOMER(ORGNIZATION_IDASC,CUSTOMER_NAMEASC,CUSTOMER_PHONEASC);2017年9月8日大三暑假小学期数据库系统开发--郭贵锁老师8ALTERTABLECUSTOMERADDCONSTRAINTXPKCUSTOMERPRIMARYKEY(ORGNIZATION_ID,CUSTOMER_NAME,CUSTOMER_PHONE);CREATETABLEDEPARTMENT(ORGNIZATION_IDCHAR(18)NOTNULL);CREATEUNIQUEINDEXXPKDEPARTMENTONDEPARTMENT(ORGNIZATION_IDASC);ALTERTABLEDEPARTMENTADDCONSTRAINTXPKDEPARTMENTPRIMARYKEY(ORGNIZATION_ID);CREATETABLEEMPLOYEE(EMPLOEE_IDCHAR(18)NOTNULL,MANAGER_IDCHAR(18)NULL,NAMECHAR(18)NULL,PHONECHAR(18)NULL,MOBILECHAR(18)NULL,EMAILCHAR(18)NULL,ORGNIZATION_IDCHAR(18)NULL);CREATEUNIQUEINDEXXPKEMPLOYEEONEMPLOYEE(EMPLOEE_IDASC);ALTERTABLEEMPLOYEEADDCONSTRAINTXPKEMPLOYEEPRIMARYKEY(EMPLOEE_ID);2017年9月8日大三暑假小学期数据库系统开发--郭贵锁老师9CREATETABLEORDER_DETAIL(AMOUNTCHAR(18)NULL,PRICECHAR(18)NULL,DISCOUNTCHAR(18)NULL,PRODUCT_IDCHAR(18)NOTNULL,ORDER_HEADER_IDCHAR(18)NOTNULL,SERVICE_IDCHAR(18)NOTNULL);CREATEUNIQUEINDEXXPKORDER_DETAILONORDER_DETAIL(PRODUCT_IDASC,ORDER_HEADER_IDASC,SERVICE_IDASC);ALTERTABLEORDER_DETAILADDCONSTRAINTXPKORDER_DETAILPRIMARYKEY(PRODUCT_ID,ORDER_HEADER_ID,SERVICE_ID);CREATETABLEORDER_HEADER(ORDER_HEADER_IDCHAR(18)NOTNULL,ORDER_DATECHAR(18)NULL,NAMECHAR(18)NULL,CONTRACT_IDCHAR(18)NULL);CREATEUNIQUEINDEXXPKORDER_HEADERONORDER_HEADER(ORDER_HEADER_IDASC);ALTERTABLEORDER_HEADERADDCONSTRAINTXPKORDER_HEADERPRIMARYKEY(ORDER_HEADER_ID);2017年9月8日大三暑假小学期数据库系统开发--郭贵锁老师10CREATETABLEORGNIZATION(NAMECHAR(18)NULL,ORGNIZATION_IDCHAR(18)NOTNULL,ADDRESSCHAR(18)NULL
本文标题:数据库系统开发实验二
链接地址:https://www.777doc.com/doc-4605256 .html