资源描述:
《数据库应用实验报告1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、实验目的、目标1、掌握概念结构模型的设计,以及如何把概念结构模型转换成关系模型的原理和方法2、掌握如何在SQLServer2000/2005上进行数据库和表的创建和使用二、实验内容(1)根据系统需求构建ER模型;(2)把构建的ER模型转换为关系模型,并进行优化;(3)在SQLServer2000/2005中建立所需的数据库和表;(4)通过测试数据验证所建表的正确性和有效性。三、实验过程与步骤实验题目:销售管理系统:销售商向客户销售商品,一个销售商可向多个客户销售多个商品,一个客户也可以从多个销售商中购买多个商品;一个商品由一个供应商供应,
2、而一个供应商可供应多个商品。另外,一个客户可多次从同一个销售商中购买多个商品,也需要记录客户购买行为的最高效率比=上次购物总价/(本次购物与上次的间隔天数+1)“示范用例”需要记录以下信息:商品信息:商品号、名称、单价供应商信息:供应商号、名称、法人代表、电话销售商信息:销售商号、名称、地区客户信息:客户编号、姓名、电话、性别、年龄、职业销售除了记录哪个销售商向哪个客户销售哪些商品(数量)第13页共13页外,还需要记录该次销售的单号、日期、备注和发货时间步骤一、根据系统需求构建ER模型:ER模型步骤二、把构建的ER模型转换为关系模型,并进行优
3、化:第13页共13页关系模型步骤三、在SQLServer2000/2005中建立所需的数据库和表:1.新建一个Customer表第13页共13页1.新建一个Provider表2.新建一个Seller表第13页共13页1.新建一个Product表2.新建一个Sale表第13页共13页1.新建一个SaleDetail表2.新建一个Occupation表第13页共13页步骤四、通过测试数据验证所建表的正确性和有效性。1.在Provider表中输入数据2.在表Product中输入数据第13页共13页1.在表Occupation中输入数据2.在表Sel
4、ler中输入数据第13页共13页1.在表Customer中输入数据2.在表Sale中输入数据第13页共13页1.在表SaleDetail中输入数据四、测试数据及运行结果【输入的测试数据,输出的结果】1.Product表中的数据第13页共13页1.Provider表中的数据2.Customer表中的数据3.Occupation表中的数据第13页共13页1.Sale表中的数据2.SaleDetail表中的数据3.Seller表中的数据五、实验总结、经验分享第13页共13页【简单叙述心得,指出本次上机实验的关键环节或关键点;若经多次失败最终成功,请
5、阐述失败之处和导致失败的原因,并简单给出你是如何一步步成功(或经验分享);若本次上机实验最终没有成功,则阐述成败之处及其原因分析。无论何种情况,请进行自我评价】在本次实验的过程中,遇到了三个比较基本却是关键的问题:一、服务器:消息208,级别16,状态1,行1对象名'SaleDetail'无效。问题分析:该问题出现的原因是数据库中不存在这个名字的表,所以在插入数据时会报错,但是最后确定了该表是已经建立了,确切地存在于新建的数据库中,经过老师指导后发现原来是插入的数据库设定成了“master”而不是新建的数据库。解决方法:在选择需要插入的数据库
6、选项中把master更改为新建的数据库二、建立的关系图没有箭头连接问题分析:建立的关系图没有箭头连接是因为各表之间没有建立好关系解决方法:需要在表的关系中设定主键和外键三、仅当使用了列的列表,并且IDENTITY_INSERT为ON时,才能在表'Customer'中为标识列指定显式值问题分析:插入数据时,自增长列是系统自动处理,不需要用户来指定数值。解决方法:只有将IDENTITY_INSERT为ON时插入数据时,自增长列才可以指定一个值比如有一个表PZ,有如下列XH,ID,INX,KMID,FZZID,CODE,JFJE,DFJE,RQ,Z
7、Y其中XH是自增长,正常插入数据时insertPZ(ID,INX,KMID,FZZID,CODE,JFJE,DFJE,RQ,ZY)VALUES(......)不需要指定XH列。如果将IDENTITY_INSERT打开setIDENTITY_INSERTPZON插入数据时就可以给XH列指定值INSERTPZ(XH,ID,INX,KMID,FZZID,CODE,JFJE,DFJE,RQ,ZY)VALUES(指定表中没有的数值,24389,3,1524,1,'0109',0,0,'2011.1.29','JK')关闭IDENTITY_INSERTS
8、ETIDENTITY_INSERTPZOFF第13页共13页