数据库应用实验报告1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库应用实验报告1

一、实验目的、目标

1、掌握概念结构模型的设计,以及如何把概念结构模型转换成关系模型的原理和方法

2、掌握如何在SQL Server 2000/2005上进行数据库和表的创建和使用

二、实验内容

(1)根据系统需求构建ER模型;

(2)把构建的ER模型转换为关系模型,并进行优化;

(3)在SQL Server 2000/2005中建立所需的数据库和表;

(4)通过测试数据验证所建表的正确性和有效性。

三、实验过程与步骤

实验题目:销售管理系统:销售商向客户销售商品,一个销售商可向多个客户销售多个商品,一个客户也可以从多个销售商中购买多个商品;一个商品由一个供应商供应,而一个供应商可供应多个商品。另外,一个客户可多次从同一个销售商中购买多个商品,也需要记录客户购买行为的最高效率比=上次购物总价/(本次购物与上次的间隔天数+1) “示范用例” 需要记录以下信息:

商品信息:商品号、名称、单价

供应商信息:供应商号、名称、法人代表、电话

销售商信息:销售商号、名称、地区

客户信息:客户编号、姓名、电话、性别、年龄、职业

销售除了记录哪个销售商向哪个客户销售哪些商品(数量)外,还需要记录该次销售的单号、日期、备注和发货时间

步骤一、根据系统需求构建ER模型:

ER模型

步骤二、把构建的ER模型转换为关系模型,并进行优化:

关系模型

步骤三、在SQL Server 2000/2005中建立所需的数据库和表:1.新建一个Customer表

2.新建一个Provider表

3.新建一个Seller表

4.新建一个Product表

5.新建一个Sale表

6.新建一个SaleDetail表

7.新建一个Occupation表

步骤四、通过测试数据验证所建表的正确性和有效性。

1.在Provider表中输入数据

2.在表Product中输入数据

3.在表Occupation中输入数据

4.在表Seller中输入数据

5.在表Customer中输入数据

6.在表Sale中输入数据

7.在表SaleDetail中输入数据

四、测试数据及运行结果

【输入的测试数据,输出的结果】1.Product表中的数据

2.Provider表中的数据

3.Customer表中的数据

4.Occupation表中的数据

5.Sale表中的数据

6.SaleDetail表中的数据

7.Seller表中的数据

五、实验总结、经验分享

【简单叙述心得,指出本次上机实验的关键环节或关键点;若经多次失败最终成功,请阐述失败之处和导致失败的原因,并简单给出你是如何一步步成功(或经验分享);若本次上机实验最终没有成功,则阐述成败之处及其原因分析。无论何种情况,请进行自我评价】

在本次实验的过程中,遇到了三个比较基本却是关键的问题:

一、

服务器: 消息208,级别16,状态1,行1

对象名'SaleDetail' 无效。

问题分析:该问题出现的原因是数据库中不存在这个名字的表,所以在插入数据时会报错,但是最后确定了该表是已经建立了,确切地存在于新建的数据库中,经过老师指导后发现原来是插入的数据库设定成了“master”而不是新建的数据库。

解决方法:在选择需要插入的数据库选项中把master更改为新建的数据库

二、

建立的关系图没有箭头连接

问题分析:建立的关系图没有箭头连接是因为各表之间没有建立好关系

解决方法:需要在表的关系中设定主键和外键

三、

仅当使用了列的列表,并且IDENTITY_INSERT 为ON 时,才能在表'Customer' 中为标识列指定显式值

问题分析:插入数据时,自增长列是系统自动处理,不需要用户来指定数值。

解决方法:只有将IDENTITY_INSERT 为ON 时插入数据时,自增长列才可以指定一个值

比如有一个表PZ,有如下列XH,ID,INX,KMID,FZZID,CODE ,JFJE,DFJE,RQ,ZY其中XH是自增长,正常插入数据时

insert PZ (ID,INX,KMID,FZZID,CODE ,JFJE,DFJE,RQ,ZY) V ALUES(......)不需要指定XH列。如果将IDENTITY_INSERT打开

set IDENTITY_INSERT PZ ON

插入数据时就可以给XH列指定值

INSERT PZ (XH,ID,INX,KMID,FZZID,CODE ,JFJE,DFJE,RQ,ZY) V ALUES(指定表中没有的数值,24389,3,1524,1,'0109',0,0,'2011.1.29','JK')

关闭IDENTITY_INSERT

SET IDENTITY_INSERT PZ OFF

相关文档
最新文档