下载后可任意编辑实验五 企业销售合同管理数据库建模1.实验目的掌握使用 Erwin data modeler 数据建模工具来创建数据模型,并且能够将物理模型连接到 sql server。2.实验要求认真阅读应用需求的说明,在此基础上使用 ERwin Data Modeler 数据建模工具创建企业合同管理的数据模型,并将其中的物理模型生成到 SQL Server 数据库管理系统(注:SQL Server 的版本不限),根据完成的内容和过程编写一份数据建模的报告,数据建模的重点放在售后服务上。报告的内容与要求如下:(1)需要在报告中将 ERwin 创建的数据模型的 ERD 放到报告中(可以截图),针对ERD 需要作较详细的说明,例如,如何实现售后服务中的产品服务期限的,如何记录售后服务的产品信息、技术服务工程师(包括服务专员)的信息、售后服务的客户信息、一个完整的服务信息(如维修一个磁盘可能包括第一次打电话咨询、维修等由多个小服务组成一个大服务)是如何记录的。(2)说明物理模型生成到数据库管理系统的操作过程。(3)总结。报告还需要说明在数据建模及生成数据库的过程中所遇到的问题、相应的解决方法。3. 实验步骤(1) Erwin 数据建模 这里我们只简单地说明下建模流程,首先是明确模型,有哪些实体,然后是建立实体之间的联系,通过域简化数据类型。然后与 SQL 连接,得到一个完整的数据模型。下载后可任意编辑由于图像有点大,所以只能是分成两部分来显示。如上图,就是这个合同管理的逻辑模型针对我们绘制的 ERD 模型图,有几项信息需要处理:1,如何来处理付款信息 为什么我们选择两个实体 PAYMENT 与 RECEIVED_PAY,这是因为每一个合同可能有多个付款阶段,它们分别表示应付款信息与已付款信息。在实际应用当中,应付款项和已付款项并不是一一对应的。比如,合同中应付款有三项,但客户有可能一次或两次就将款项付清。所以我们引入两个实体。这样,当需要查询一个合同中的已付款信息就可以根据应付款实体 PAYMENT 中的合同编号 CONTRACT_ID 获得,即查询每一项合同的应付款总额:SELECT CONTRACT_ID,SUM(AMOUNT)FROM PAYMENTGROUP 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...