实验4推荐文档Word格式文档下载.docx
- 文档编号:18737621
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:15
- 大小:88.67KB
实验4推荐文档Word格式文档下载.docx
《实验4推荐文档Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《实验4推荐文档Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
●客户属性有客户号,客户名称,客户电话,客户地址
●供应商属性有供应商号,供应商名称,供应商电话,供应商地址,供应商品类型
●商品属性有商品号,商品名称,商品数量,商品类型,商品单价
●订单属性有订单号,订购客户,订购商品,订购数量,订购总价
●商品类型属性有商品类型号,商品类型名
●信誉等级属性有客户号,信誉度
实体间的联系如下:
1.一个客户可以下多个订单,一个订单对应一个客户,所以,客户与订单之间是1对多的关系。
2.一个客户对应一个信誉等级,所以,客户与信誉等级之间是1对1的关系。
3.一个供应商可以提供多个商品,一个商品对应一个供应商,所以,供应商与商品之间的关系式1对多的关系。
4.一个商品类型包括多个商品,一个商品包含在一个商品类型里边,所以,商品类型与商品之间的关系式1对多的关系。
5.一个订单可以订购多个商品,一个商品可以被多个订单订购,所以,订单和商品之间的关系式多对多的关系。
6.一个供应商对应多个商品类型,一个商品类型对应多个供应商,所以,供应商和商品类型之间为多对多的关系。
b)下面给出销售管理系统的E-R图:
c)所需数据库表
创建customer表(客户表)
字段名
代码
类型
约束
客户号
Cno
Char(8)
主键
客户名称
Cname
非空
客户电话
Cphone
Char(11)
客户地址
Caddress
Char(40)
创建supplier表(供应商表)
供应商号
Sno
Char(7)
供应商名称
Sname
供应商电话
Sphone
供应商地址
Saddress
供应商品类型
Gtype
Char(6)
外键
创建goods表(商品信息表)
商品号
Gno
Char(10)
商品名称
Gname
Char(20)
商品数量
Gamount
商品类型
商品供应商
商品单价
Gprice
创建orader表里(订单表)
订单号
Ono
订购商品
外键,非空
订购客户
订购数量
Oamount
订购总价
Oprice
创建creditgrade表(信誉等级表)
主键,与customer表中Cno外键关联,级联删除
信誉度
Credit
Char(4)
创建goodstype表(商品类型表)
商品类型号
商品类型名
Gtypename
d)创建数据库和表。
1、创建数据库代码:
CREATEDATABASESALES;
2、创建表
创建customer表:
USESALES
GO
CREATETABLEcustomer
(
Cnochar(8)PRIMARYKEY,
Cnamechar(8)UNIQUE,
Cphonechar(11),
Caddresschar(40)
);
查询视图SQL语句及执行结果截图
创建supplier表:
CREATETABLEsupplier
Snochar(7)PRIMARYKEY,
Snamechar(8)UNIQUE,
Sphonechar(11),
Saddresschar(40),
Gtypechar(6),
FOREIGNKEY(Gtype)REFERENCESgoodstype(Gtype)
创建goods表:
CREATETABLEgoods
Gnochar(10)PRIMARYKEY,
Gnamechar(20)UNIQUE,
Gamountchar(10),
Snochar(7),
FOREIGNKEY(Gtype)REFERENCESgoodstype(Gtype),
FOREIGNKEY(Sno)REFERENCESsupplier(Sno)
创建orader表里:
CREATETABLEorader
Onochar(8)PRIMARYKEY,
Gnochar(10)UNIQUE,
Cnochar(8)UNIQUE,
Oamountchar(6)UNIQUE,
FOREIGNKEY(Gno)REFERENCESgoods(Gno),
FOREIGNKEY(Cno)REFERENCEScustomer(Cno)
创建creditgrade表:
CREATETABLEcreditgrade
Creditchar(4),
ONDELETECASCADE
ONUPDATECASCADE
创建goodstype表:
CREATETABLEgoodstype
Gtypechar(6)PRIMARYKEY,
Gtypenamechar(20)UNIQUE
3、数据库关系模式图:
4、插入5组数据进各个表里边
插入customer表:
INSERTINTOcustomer
SELECT'
20101101'
'
小张'
39343301'
广州市'
UNIONALL
20101102'
小李'
39342211'
20101103'
小新'
39341105'
东莞市'
20101104'
小红'
39343310'
深圳市'
20101105'
小曾'
39345566'
插入supplier表:
INSERTINTOsupplier
1111001'
欧莱雅'
66921234'
北京市'
00000'
1111002'
红苹果'
33942321'
00004'
1111003'
联想'
42574321'
00002'
1111004'
以纯'
22008800'
福州市'
00003'
1111005'
汇源'
12005678'
00001'
插入goods表:
INSERTINTOgoods
000001100'
爽肤水'
333'
50'
000011100'
椰汁'
12450'
3'
000021100'
手机'
500'
700'
000031100'
上衣'
2000'
30'
000041100'
床单'
120'
40'
插入orader表:
INSERTINTOorader
2010101'
110'
5500'
2010102'
6000'
2010103'
140'
98000'
2010104'
240'
7200'
2010105'
60'
2400'
插入creditgrade表:
INSERTINTOcreditgrade
良好'
一般'
差'
插入goodstype表:
INSERTINTOgoodstype
美容'
食品'
数码'
服装'
家居'
5、创建视图:
(1)、创建一个包含广州客户信息的视图customer_guangzhou
创建视图的SQL语句:
CREATEVIEWcustomer_guangzhou
AS
SELECTCno,Cname,Cphone,Caddress
FROMcustomer
WHERECaddress='
(2)、创建一个视图ordersum_goods,其中的内容是每种商品的名称和每种商品的订单金额的总和。
创建视图的SQL语句:
CREATEVIEWordersum_goods
SELECTGname,Oprice
FROMgoods,orader
WHEREgoods.Gno=orader.Gno
6、创建和执行存储过程
(1)、创建一个存储过程proc_hub,用来查看“hub”商品的所有订货情况
CREATEPROCEDUREproc_hub
@Gnochar(10)
AS
SELECTgoods.Gno,Gname,Oamount
WHEREgoods.Gno=orader.Gno
AND@Gno=goods.Gno
EXECproc_hub'
(2)、创建一个带参数的存储过程proc_gooods,参数为商品名称,通过该存储过程可查看任何指定商品订单信息。
CREATEPROCEDUREproc_goods
@gnamechar(20)
SELECTGname,Oamount,Oprice
AND@gname=goods.Gname
EXECproc_gooods'
5、遇到的问题与其解决方法
开始做需求分析和设计E-R图时花费点时间,不过还是找到各个图之间的关系。
因为一开始没注意,后边才发现需要添加商品的金额和订单的总额两个属性,又因为表已经创建好了,重新再创建过表花费时间较多,在已经了解如何添加属性的情况下,我通过数据库直接添加上去,并重新附上了代码。
订单总额可以通过商品金额乘以商品数量来计算的,不过因为做起来,数据量太大,怕修改错误,故先直接把订单的总额计算出来再入录数据库的orader表。
我发现商品的数量和订单的数量应该是有关系的,订单的数量应该不超过商品的数量,不过再数据库中不知怎么解决这一问题,后来,同学说这些可以通过程序语言来判断,故不做比较。
至于其他的一些数据库的创建,表格、视图、存储过程的创建,因为有前边3个实验的经验,没遇到太多的问题就得以解决了。
在整体上来说,本次的数据库实验并不算很好,不过,都是自己亲手做的,做的不好的,以后会慢慢改进。
6、思考题(要求完成2~3题,第1题没做)
2、数据库设计时应考虑哪些事项?
答:
1、数据库的用途及该用途将如何影响设计,应创建符合用途的数据库计划。
2、数据库规范化规则,防止数据库设计中出现错误。
3、对数据完整性的保护。
4、数据库和用户权限的安全要求。
5、应用程序的性能需求。
6、维护。
7、估计数据库大小。
3、试述数据库概念结构设计的重要性
数据库概念设计师整个数据库设计的关键,将在需求分析阶段所得到的应用需求先抽象为概念结构,以此作为各种数据模型的基础,从而能更好地、更准确地用某个DBMS实现这些需求。
4、数据字典的内容和作用是什么?
数据字典是系统中各类数据的最小单位,数据字典的内容包括数据项、数据结构、数据流、数据存储、处理过程5个部分。
其中,数据项是组成数据的最小单位,若干数据项可以组成一个数据结构。
数据字典是通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
数据字典的作用:
数据字典是关于数据库中数据的一种描述,建立于需求分析的阶段,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实和完善。
5、为什么要视图集成?
视图集成的方法是什么?
在DBMS对DBS进行概念结构设计时一般采用自底向上的设计方法,把繁杂的大系统分解为子系统。
首先设计各子系统的局部视图,然后通过视图集成的方法,将各子系统有机融合起来,综合成一个系统的总视图,这样设计清晰有简到繁,由于数据库系统是从整体角度看待和描述数据的,因此数据不在面向某个应用而是整个系统,所以必须进行视图集成,使得数据库能被全系统的多个应用共享使用。
各子系统的分E-R图设计好以后,下一步就是要将所有的分E-R图综合成一个系统的总E-R图。
一般说,视图集成可以有两种方式:
●多个分E-R图一次集成。
●逐步集成,用累加的方式一次集成两个分E-R图。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 推荐 文档
![提示](https://static.bdocx.com/images/bang_tan.gif)