收藏 分销(赏)

实验五-企业销售合同管理数据库建模.doc

上传人:胜**** 文档编号:3310901 上传时间:2024-07-01 格式:DOC 页数:3 大小:287.50KB
下载 相关 举报
实验五-企业销售合同管理数据库建模.doc_第1页
第1页 / 共3页
实验五-企业销售合同管理数据库建模.doc_第2页
第2页 / 共3页
实验五-企业销售合同管理数据库建模.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、实验五 企业销售合同管理数据库建模1. 实验目的掌握使用Erwin data modeler数据建模工具来创建数据模型,并且能够将物理模型连接到sql server。2. 实验要求仔细阅读应用需求的说明,在此基础上使用ERwin Data Modeler数据建模工具创建企业合同管理的数据模型,并将其中的物理模型生成到SQL Server数据库管理系统(注:SQL Server的版本不限),根据完成的内容和过程编写一份数据建模的报告,数据建模的重点放在售后服务上。报告的内容与要求如下:(1) 需要在报告中将ERwin创建的数据模型的ERD放到报告中(可以截图),针对ERD需要作较详细的说明,例如

2、,如何实现售后服务中的产品服务期限的,如何记录售后服务的产品信息、技术服务工程师(包括服务专员)的信息、售后服务的客户信息、一个完整的服务信息(如维修一个磁盘可能包括第一次打电话咨询、维修等由多个小服务组成一个大服务)是如何记录的。(2) 说明物理模型生成到数据库管理系统的操作过程。(3) 总结。报告还需要说明在数据建模及生成数据库的过程中所遇到的问题、相应的解决方法。3. 实验步骤(1) Erwin数据建模 这里我们只简单地说明下建模流程,首先是明确模型,有哪些实体,然后是建立实体之间的联系,通过域简化数据类型。然后与SQL连接,得到一个完整的数据模型。由于图像有点大,所以只能是分成两部分来

3、显示。如上图,就是这个合同管理的逻辑模型针对我们绘制的ERD模型图,有几项信息需要处理:1,如何来处理付款信息 为什么我们选择两个实体PAYMENT与RECEIVED_PAY,这是因为每一个合同可能有多个付款阶段,它们分别表示应付款信息与已付款信息。在实际应用当中,应付款项和已付款项并不是一一对应的。比如,合同中应付款有三项,但客户有可能一次或两次就将款项付清。所以我们引入两个实体。这样,当需要查询一个合同中的已付款信息就可以根据应付款实体PAYMENT中的合同编号CONTRACT_ID获得,即查询每一项合同的应付款总额:SELECT CONTRACT_ID,SUM(AMOUNT)FROM P

4、AYMENTGROUP BY CONTRACT_ID如果还需要查询哪些合同未完成付款,输出对应的销售人员姓名和合同编号,则可以使用下面的查询SELECT EMPLOYEE.NAME,C.CONTRACT_ID FROM EMPLOYEE,CONTRACT C WHERE C.SALE_ID=EMPLOYEE.EMPLOYEE_ID AND (SELECT SUM(AMOUT) FROM PAYMENT WHERE PAYMENT.CONTRACT_ID=C.CONTRACT_ID)(SELECT SUM(AMOUT) FROM RECEIVED_PAY WHERE RECEIVED_PAY.C

5、ONTRACT_ID=C.CONTRACT_ID)2,如何处理合同中的产品信息在一个合同里会订购若干个产品,而每一笔记录都会有产品的编号,产品的数量以及产品的价格。为什么要这样做呢,这是因为产品基本信息中的产品价格是不断变化的,合同签订时的产品价格可以从产品信息表中查询,但随着时间的变化,产品信息中的价格就发生了变化。因此,需要合同信息中记录产品当时的销售价格。并且,也会有产品信息中写出产品的公开价格与折扣情况。3,如何处理订单信息在上面的图中,我们有两个实体ORDER_HEADER和ORDER_DETAIL,它们分别用来记录订单概要信息与订单明细,在订单概要信息中记录订单里的基本信息如订单的

6、日期等,在订单明细中记录订单的产品信息。那为什么不直接从合同里的产品查询订单的产品呢,这样处理的是因为实际当中合同里的产品与订单的产品有时是不一一对应的,比如,有时合同中的产品是公司已经有的产品(可能是以前购买,也可能是自己生产的)。因此我们选择这种模型。4,如何处理售后服务实际当中,我们比较关心的就是如何进行有效地售后服务,这样才能大大地满足用户的需求。比如,合同所签的产品的保修期为2年,那么我们就在CONTRACT_PRODUCT表里添加一个属性,SERVICE_TIME,对此产品增值为2,表示保修期为2年,以及购买时间,这样一推算,就可以知道此产品是否还在服务期限内,而且我们完全可以查询

7、PRODUCT来获得当时购买时的产品信息,如价格,折扣情况,数量等;另外一方面,有的产品在合同中是没有这些服务的,那么我们就需要查询下所签订的合同当中是否有这些产品,是过期还是本来就没有。5,如何了解技术服务工程师的信息 我们可以在CONTRACT表里看到有一项TECHNICAL项,在这三个属性里,通过CONTRACT_ID可以获得这些信息,然后与EMPLOYEE表连接,这样就知道了技术工程师的姓名及联系方式等。(2)将数据模型导入数据库具体步骤1, 在SQL SERVER中创建一个数据库CONTRACT2, 在Erwin中将数据模型转为物理模型,因为只有物理模型才能导入到数据库中3, 在Er

8、win中选择Database/Database Connection连接数据库,选择使用Windows身份验证,输入数据库名CONTRACT,服务器为当前你使用的服务器。4, 选择Tools/forward Engineer/Schema Generation,这时就会打开对话框,单击Generate生成数据模型。这样就把物理模型导入数据库了。4,实验总结这次的实验虽然有一些困难,但是更多的是收获。通过这次实验学会了如何使用Erwin来进行数据建模,并且与SQL连接导入数据库,由于我使用的是Erwin7,而SQL是2008的,有一些不支持,所以只能是把生成好的数据模型文件导入到SQL 2005里进行操作。另外一方面,开始我用的Erwin4,版本太低,没有对分类联系这方面的功能,所以重新安装了Erwin7,由于对Erwin陌生,在创建分类联系时,上网查一些资料,花了很长时间才学会创建方法。正确的做法是先建立两个之间的对应关系,然后再往里添加其他实体。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服