SQLServer数据库程序设计.docx
- 文档编号:2323029
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:13
- 大小:175.13KB
SQLServer数据库程序设计.docx
《SQLServer数据库程序设计.docx》由会员分享,可在线阅读,更多相关《SQLServer数据库程序设计.docx(13页珍藏版)》请在冰豆网上搜索。
SQLServer数据库程序设计
第一部分、基础实训
项目背景与需求:
本部分以一个简单的销售管理数据库系统为例开展练习。
销售管理要求设计一个软件能够适合各类企事业单位和门店销售管理需要。
软件需要管理:
商品信息、客户信息、订单信息和系统用户信息。
软件功能包括:
1、销售发货;2、销售退货;3、销售收款;4、各种单据的查找、查询、统计汇总;5、销售额、销售数量表分析;6、货品档案、客户档案管理;7、货品类别资料管理。
本次实训只涉及数据库设计、数据库编程,界面程序开发部分建议大家在课后完成。
课题一、数据库操作
练习1.1创建数据库
请企业管理器创建销售数据库(SaleDB),要求如下:
参数
参数值
数据库名称
SaleDB
数据库逻辑文件名
Sale_dat
操作系统数据文件名
d:
\Sales\Sale_dat.mdf
数据文件的初始大小
5MB
数据文件最大大小
50MB
数据文件增长量
原来的20%
日志逻辑文件名
Sale_log
操作系统日志文件名
d:
\Sales\Salelog.ldf
日志文件初始大小
5MB
日志文件的最大大小
25MB
日志文件增长增量
1MB
操作提示:
打开创建数据库对话框后,设定如下参数:
练习1.2:
请试验用SQL创建数据库SaleDB1
参数
参数值
数据库名称
SaleDB1
数据库逻辑文件名
Sale1_dat
操作系统数据文件名
d:
\Sales\Sale1_dat.mdf
数据文件的初始大小
5MB
日志逻辑文件名
Sale1_log
操作系统日志文件名
d:
\Sales\Sale1log.ldf
日志文件初始大小
5MB
日志文件的最大大小
25MB
--创建SaleDB1数据库的SQL脚本
CREATEDATABASE[SaleDB1]ONPRIMARY
(NAME=N'SaleDB1_Data',
FILENAME=N'd:
\Sales\Sale1_dat.mdf',
SIZE=5MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=10%)
LOGON
(NAME=N'SaleDB_Log',
FILENAME=N'd:
\Sales\Sale1_Log.LDF',
SIZE=5MB,
MAXSIZE=25MB,
FILEGROWTH=10%)
课题二、数据库表和数据完整性
通过对系统的需求分析、概念模型分析、逻辑模型分析,得到如下的数据库关系图。
请认真分析数据库关系图,逻辑要建立的数据库表,及其关联。
销售管理数据的关系图如下:
练习2.1用企业管理器中创建[用户]表
要求:
●注意设置[用户ID]字段为主键,并设置为标识(自动产生)。
●为[用户编号]字段,建立唯一约束
●为[用户名称]字段,建立唯一约束
操作提示:
1、打开新建表界面
2、设计表的字段
3、设计[用户编号]字段的唯一约束
4、设计[用户编号]字段的唯一约束
完成建表后,生成[用户]表的创建SQL语句,将SQL语句写在下面空白处。
生成建表SQL的操作提示:
[用户]表的建表SQL:
练习2.2用企业管理器中创建[部门]表
要求:
●注意设置[部门ID]字段为主键,并设置为标识(自动产生)。
●为[部门编号]字段,建立唯一约束
●为[部门名称]字段,建立唯一约束
完成建表后,生成[部门]表的创建SQL语句,将SQL语句写在下面空白处。
[部门]表的建表SQL:
练习2.3在查询窗口用SQL语句创建[产品分类]表
创建的SQL语句如下:
CREATETABLE[产品分类](
[类别ID][int]IDENTITY(1,1)NOTNULLprimarykey,
[类别名称][varchar](50)NOTNULLUNIQUE,
[上级分类ID][int]NULL,
[层次][int]NULL
)
练习2.4在查询窗口用SQL语句创建[产品]表
表的约束有:
●产品ID为关键字,并设置为标识
●产品库存量必须>=0,
●产品价格必须>=0
●外键约束约束:
产品分类ID参展[分类]表的分类ID字段
创建[产品表]的SQL语句如下:
CREATETABLE[产品](
[产品ID][int]IDENTITY(1,1)NOTNULL,
[产品分类ID][int]NOTNULL,
[产品名称][varchar](50)NOTNULL,
[产品条型码][char](48)NULL,
[产品描述][text]NULL,
[照片][image]NULL,
[产品库存量][numeric](18,0)NULL,
[有效标志][char]
(2)NULLCONSTRAINT[DF_产品_有效标志]DEFAULT('是'),
[产品价格][money]NULL,
CONSTRAINT[PK_产品]PRIMARYKEYCLUSTERED
)
GO
修改[产品]表,增加约束:
产品价格必须>=0
ALTERTABLE[dbo].[产品]WITHCHECKADDCONSTRAINT[CK_产品_价格]CHECK(([产品价格]>=0))
GO
ALTERTABLE[dbo].[产品]CHECKCONSTRAINT[CK_产品_价格]
修改[产品]表,增加约束:
产品库存量必须>=0
ALTERTABLE[dbo].[产品]WITHCHECKADDCONSTRAINT[CK_产品]CHECK(([产品库存量]>=0))
GO
ALTERTABLE[dbo].[产品]CHECKCONSTRAINT[CK_产品]
GO
修改[产品]表,增加外键约束约束:
产品分类ID参展[分类]表的分类ID字段
ALTERTABLE[dbo].[产品]WITHNOCHECKADDCONSTRAINT[FK_产品_产品分类]FOREIGNKEY([产品分类ID])
REFERENCES[dbo].[产品分类]([类别ID])
GO
ALTERTABLE[dbo].[产品]CHECKCONSTRAINT[FK_产品_产品分类]
GO
练习2.5在查询窗口用SQL语句创建[客户]表
表的约束有:
●客户ID为关键字,并设置为标识
●客户名称必须唯一
●性别缺省为“男”
创建[产品表]的SQL语句如下:
CREATETABLE[客户](
[客户ID][int]IDENTITY(1,1)NOTNULL,
[客户名称][varchar](50)NULL,
[联系电话][varchar](50)NULL,
[邮件][varchar](50)NULL,
[地址][varchar](200)NULL,
[性别][char]
(2)NULLCONSTRAINT[DF_客户_性别]DEFAULT('男'),
[年龄][int]NULL,
CONSTRAINT[PK_客户]PRIMARYKEYCLUSTERED
CONSTRAINT[IX_客户名称]UNIQUENONCLUSTERED
)
GO
练习2.6在查询窗口用SQL语句创建[订单主表]
表的约束有:
●订单ID为关键字,并设置为标识
●下单时间缺省为当时的机器时间,通过getdate()函数取得
●订单状态有:
下单、送货、完成。
缺省值为“下单”
●客户ID需要建立外键,参考[客户]表的客户ID字段
创建[订单主表]的SQL语句如下:
CREATETABLE[订单主表](
[订单ID][int]IDENTITY(1,1)NOTNULL,
[客户ID][int]NOTNULL,
[下单时间][datetime]NULLCONSTRAINT[DF_订单主表_下单时间]DEFAULT(getdate()),
[备注][text]NULL,
[送货物地址][varchar](200)NULL,
[状态][char](4)NULLCONSTRAINT[DF_订单主表_状态]DEFAULT('下单'),
[订单完成时间][datetime]NULL,
CONSTRAINT[PK_订单主表]PRIMARYKEYCLUSTERED
)
ALTERTABLE[dbo].[订单主表]WITHNOCHECKADDCONSTRAINT[FK_订单主表_客户]FOREIGNKEY([客户ID])
REFERENCES[dbo].[客户]([客户ID])
GO
ALTERTABLE[dbo].[订单主表]CHECKCONSTRAINT[FK_订单主表_客户]
练习2.7在查询窗口用SQL语句创建[订单明细表]
表的约束有:
●订单ID和产品ID为组合关键字
●产品ID需要建立外键,参考[产品]表的产品ID字段
创建[订单明细]的SQL语句如下:
CREATETABLE[订单明细](
[订单ID][int]NOTNULL,
[产品ID][int]NOTNULL,
[数量][numeric](18,0)NULL,
[成交价格][money]NULL,
CONSTRAINT[PK_订单明细]PRIMARYKEYCLUSTERED
)
GO
ALTERTABLE[dbo].[订单明细]WITHNOCHECKADDCONSTRAINT[FK_订单明细_产品]FOREIGNKEY([产品ID])
REFERENCES[dbo].[产品]([产品ID])
GO
ALTERTABLE[dbo].[订单明细]CHECKCONSTRAINT[FK_订单明细_产品]
GO
ALTERTABLE[dbo].[订单明细]WITHCHECKADDCONSTRAINT[FK_订单明细_订单主表]FOREIGNKEY([订单ID])
REFERENCES[dbo].[订单主表]([订单ID])
GO
ALTERTABLE[dbo].[订单明细]CHECKCONSTRAINT[FK_订单明细_订单主表]
练习2.8创建销售管理数据库的数据库关系图。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQLServer 数据库 程序设计
![提示](https://static.bdocx.com/images/bang_tan.gif)