资源描述
枣 庄 学 院
信息科学与工程学院课程设计任务书
题目: 超市管理系统
小组成员: 邓金鲤,张山峰,张啸
成员学号: 201512310,201512310245,201512310246
专业班级: 计算机科学与技术、15级升本2班
课 程: 数据库应用
指导教师: 迟庆云
完成时间: 2015年 11月----2015年 12 月
枣庄学院信息科学与工程学院制
2015年11 月15日
开发小组成员分工及职责
邓金鲤:
建模,索引创建,触发器创建。
张山峰:
建表,视图创建,存储过程创建,程序检验。
视图创建,存储过程创建。
张啸:
程序整理分析,触发器创建,建模,存储过程创建。
课程设计任务书及成绩评定
课程设计的任务和具体要求
任务:综合运用数据库原理和SQL Server2008、Power designer的知识,完成一个信息管理系统的底层全面设计,初步掌握数据库设计的基本方法。
具体要求:
1、需求分析:根据自己的选题,绘制的DFD、DD图表以及书写相关的文字说明。
2、概念结构设计、逻辑结构设计:应用Power designer绘制所选题目详细的CDM图,生成的物理数据模型(PDM),并自动生成数据库的数据表;设置实体完整性、域完整性和参照完整性,根据局部应用需要设计外模式。
3、物理结构设计:选定实施环境,存取方法、索引等。
4、数据实施和维护:用SQL Server2008加载数据(可以用Power designer生成测试数据),实现各种查询、链接应用程序,设计数据库中触发器、存储器等对象,并能对数据库做简单的维护操作。
5、设计小结:总结课程设计的过程、体会及建议。
6、其他:参考文献等。
指导教师签字: 迟庆云 日期: 2014-11-10
指导教师评语
成绩:____________ 指导教师签字: 迟庆云 日期: 2015-1-15
课程设计所需软件、硬件等
n 硬件环境:Iterl(R) Core(TM)2 Duo CPU,主频2.31GHz;内存3G;
硬盘320G以上;1024×768显示分辨率
n 软件环境: Power designer、SQL Server2008
课程设计进度计划
起至日期
工作内容
备注
参考文献、资料索引
序号
文献、资料名称
编著者
出版单位
[1]刘宇君.SQL server数据库应用设计案例汇编[M].北京:中国铁道出版社, 2007.86-132
[2]童爱红等.Delphi数据库编程[M].北京:清华大学出版社, 2005.106-158
[3]刘波.基于Delphi的学生成绩管理系统[J].四川大学学报,2009,(10):283
28
目 录
1 创建表
1.1创建表……………………………………………………………6
1.2创建默认约束……………………………………………………8
1.3创建已售货物表…………………………………………………10
2 创建外键
2.1 创建外键………………………………………………………11
2.2 创建交易历史信息表…………………………………………13
2.3 创建员工信息表………………………………………………15
3 创建视图
3.1 创建视图………………………………………………………21
3.2 查询表中若干列………………………………………………23
3.3 查询表中所有列………………………………………………24
3.4 合并查询………………………………………………………25
3.5嵌套子查询……………………………………………………26
3.6聚合查询………………………………………………………27
3.7多表查询………………………………………………………28
一:创建表
create database hwglxt
on primary
(name='hwglxt',
filename='d:\date\hwglxt.mdf',
size=100mb,maxsize=unlimited,
filegrowth=1mb)
log on
(name='hwglxt_log',
filename='d:\date\hwglxtl_log.ldf',
size=15mb,maxsize=unlimited,
filegrowth=10%)
go
截图:
二hwglxt数据库包含五个表,分别为购物车表, 已售货物表, 交易历史信息表, 员工写信息表,仓库表.
(1)购物车表sql命令:( 跟踪记录当前钱顾客所购物品)
Use hwglxt
go
create table 购物车表
(
交易号 varchar (20)not null,
品名 nvarchar(12) not null,
货号 varchar(16) not null,
单价 money not null,
总数 int,
折扣 money,
总金额 money,
交易日期 date
)
Go
创建默认约束
alter table 购物车表
add constraint gwcb_djl default '0' for 折扣
use hwglxt
go
insert 购物车表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (0,'方便面','1234',2,'15',0,'30','2001-4-5')
insert 购物车表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (1,'火腿肠','1235',1,'20',0,'20', '2001-4-5')
insert 购物车表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (2,'可乐','1236',2.5,'15',0,'37', '2001-4-5')
insert 购物车表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (3,'雪碧','1237',3,'15',0,'45', '2001-4-5')
insert 购物车表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values ( 4,'湿巾','1238',2,'30',0,'60', '2001-4-7')
insert 购物车表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (5,'七喜','1239',3,'15',0,'45', '2001-4-7')
insert 购物车表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (6,'美年达','1231',3,'30',0,'90', '2001-4-7')
insert 购物车表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values ( 7,'勺子','1232',1,'30',0,'30', '2001-4-7')
insert 购物车表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (8,'筷子','1233',1,'20',0,'20', '2001-4-7')
insert 购物车表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (9,'毛巾','1241',4,'20',0,'80', '2001-4-8')
insert 购物车表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (0,'酱油' ,'1242',6,'20',0,'120', '2001-4-8')
insert 购物车表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (1,'水饺','1243',8,'20',0,'160', '2001-4-8')
insert 购物车表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (2,'王老吉','1244',3,'20',0,'60', '2001-4-8')
insert 购物车表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (3,'加多宝','1245',3,'200',0,'600','2001-3-28')
insert 购物车表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (4,'和其正','1246',3,'200',0,'600','2001-3-28')
insert 购物车表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (5,'蒙牛','1247',2.5,'200',0,'500','2001-3-28')
insert 购物车表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (6,'伊利','1248',2.5,'200',0,'500','2001-3-28')
insert 购物车表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (8,'三元','1249',2.5,'200',0,'500','2001-3-28')
2:创建已售货物表
Use hwglxt
go
create table 已售货物表
(
交易号 nvarchar(20)not null,
品名 nvarchar(12) not null,
货号 varchar(16) not null,
单价 money not null,
总数 int,
折扣 money,
总金额 money,
交易日期 datetime
primary key(交易号,货号)
)
Go
为已售货物表创建默认约束
alter table 已售货物表
add constraint yshwb_djl default '0' for 折扣
二:创建外键
use hwglxt
alter table 已售货物表
add constraint fk_已售货物表_仓库表foreign key (货号)
references 仓库表(货号)
go
use hwglxt
alter table 已售货物表
add constraint fk_已售货物表_交易历史信息表foreign key ( 交易号)
references 交易历史信息表(交易号)
go
输入数据,若是用sql 命令键入表中数据:
use hwglxt
go
insert 已售货物表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (0,'方便面','1234',2,'15',0,'30','2001-4-5')
insert 已售货物表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (1,'火腿肠','1235',1,'20',0,'20', '2001-4-5')
insert 已售货物表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (2,'可乐','1236',2.5,'15',0,'37', '2001-4-5')
insert 已售货物表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (3,'雪碧','1237',3,'15',0,'45', '2001-4-5')
insert 已售货物表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values ( 4,'湿巾','1238',2,'30',0,'60', '2001-4-7')
insert 已售货物表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (5,'七喜','1239',3,'15',0,'45', '2001-4-7')
insert 已售货物表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (6,'美年达','1231',3,'30',0,'90', '2001-4-7')
insert 已售货物表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values ( 7,'勺子','1232',1,'30',0,'30', '2001-4-7')
insert 已售货物表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (8,'筷子','1233',1,'20',0,'20', '2001-4-7')
insert 已售货物表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (9,'毛巾','1241',4,'20',0,'80', '2001-4-8')
insert 已售货物表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (0,'酱油' ,'1242',6,'20',0,'120', '2001-4-8')
insert 已售货物表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (1,'水饺','1243',8,'20',0,'160', '2001-4-8')
insert 已售货物表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (2,'王老吉','1244',3,'20',0,'60', '2001-4-8')
insert 已售货物表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (3,'加多宝','1245',3,'200',0,'600','2001-3-28')
insert 已售货物表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (4,'和其正','1246',3,'200',0,'600','2001-3-28')
insert 已售货物表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (5,'蒙牛','1247',2.5,'200',0,'500','2001-3-28')
insert 已售货物表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (6,'伊利','1248',2.5,'200',0,'500','2001-3-28')
insert 已售货物表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)
values (8,'三元','1249',2.5,'200',0,'500','2001-3-28')
3:创建交易历史信息表
Use hwglxt
go
create table 交易历史信息表
(
交易号 nvarchar(20)not null,
交易时间 datetime,
受理人 varchar(12)
primary key(交易号,受理人)
)
Go
输入数据,若是用sql 命令键入表中数据:
use hwglxt
go
insert 交易历史信息表(交易号,交易时间,受理人)
values (0, '2001-3-28', 沈克楠)
insert交易历史信息表(交易号,交易时间,受理人)
values(1, , '2001-3-28',王丹)
insert交易历史信息表(交易号,交易时间,受理人)
values (2, '2001-3-28',刘鑫)
insert交易历史信息表(交易号,交易时间,受理人)
values (3, '2001-3-28',张吉)
insert交易历史信息表(交易号,交易时间,受理人)
values ( 4, '2001-3-28',耿娇)
insert交易历史信息表(交易号,交易时间,受理人)
values (5, '2001-3-28',朱丹)
insert交易历史信息表(交易号,交易时间,受理人))
values (6, '2001-3-28',王东)
insert交易历史信息表(交易号,交易时间,受理人))
values ( 7, , '2001-3-28',王楠)
insert交易历史信息表(交易号,交易时间,受理人)
values (8, '2001-3-28',李楠)
insert交易历史信息表(交易号,交易时间,受理人)
values (9, '2001-3-28',王祥俊)
创建外键
use hwglxt
alter table 交易历史信息表
add constraint fk_交易历史信息表_员工信息表foreign key ( 受理人)
references 员工信息表(Name)
go
创建默认约束
alter table 交易历史信息表
add constraint jylsxx_djl default '0' for 交易号
4:创建员工信息表
Use hwglxt
go
create table 员工信息表
(
Name nvarchar(20)not null,
Id varchar(12),
Sex varchar(10),
Secretcold nvarchar(16),
Position nvarchar(16),
Tel nvarchar(16),
Adress ntext,
Email ntext,
Age int,
Add_time datetime
primary key(Name)
)
Go
输入数据,若是用sql 命令键入表中数据:
use hwglxt
go
insert 员工信息表(Name,Id,Sex,Position ,Tel,Age,Add_time)
values ('沈克楠',0,'男','收银员','1234560','20','1998-1-5')
insert 员工信息表(Name,Id,Sex,Position ,Tel,Age,Add_time)
values ('王丹',1,'女','收银员','1234561','21','1999-2-5')
insert 员工信息表(Name,Id,Sex,Position ,Tel,Age,Add_time)
values ('刘鑫',2,'男','收银员','1234562','22','1998-3-5')
insert 员工信息表(Name,Id,Sex,Position ,Tel,Age,Add_time)
values ('张吉',3,'男','收银员','1234563','23','1999-4-5')
insert 员工信息表(Name,Id,Sex,Position ,Tel,Age,Add_time)
values ('耿娇',4,'女','收银员','1234564','21','1998-5-5')
insert 员工信息表(Name,Id,Sex,Position ,Tel,Age,Add_time)
values ('朱丹',5,'女','收银员','1234565','22','1999-6-5')
insert 员工信息表(Name,Id,Sex,Position ,Tel,Age,Add_time)
values ('王东',6,'男','收银员','1234566','23','1998-7-5')
insert 员工信息表(Name,Id,Sex,Position ,Tel,Age,Add_time)
values ('王楠',7,'女','收银员','1234567','23','1999-8-5')
insert 员工信息表(Name,Id,Sex,Position ,Tel,Age,Add_time)
values ('李楠',8,'女','收银员','1234568','22','1998-9-5')
insert 员工信息表(Name,Id,Sex,Position ,Tel,Age,Add_time)
values ('王祥俊',9,'男','收银员','1234569','21','1999-10-5')
为员工信息表创建默认约束
alter table 员工信息表
add constraint ygglb_djl default '收银员' for Position
5:创建仓库表
Use hwglxt
go
create table仓库表
(
货号 varchar(16)not null,
品名 nvarchar(12)not null ,
数量 int not null,
类别 nvarchar(12) not null,
底价 float not null,
供货商 nvarchar(20),
入库时间 datetime,
原价 money not null,
primary key(货号)
)
Go
为仓库表创建默认约束
alter table 仓库表
add constraint ckb_djl default '食品' for 类别
use hwglxt
go
insert 仓库表(品名,货号,数量,供货商,入库时间)
values ('方便面','1234', '135',' 康师傅','2001-3-25')
insert 仓库表(品名,货号,数量,供货商,入库时间)
values ('火腿肠','1235','180','金锣','2001-3-25')
insert 仓库表(品名,货号,数量,供货商,入库时间)
values ('可乐','1236','135','百事','2001-3-25')
insert 仓库表(品名,货号,数量,供货商,入库时间)
values ('雪碧','1237','135','可口','2001-3-26')
insert 仓库表(品名,货号,数量,供货商,入库时间)
values ( '湿巾','1238','270','心心相印','2001-3-26')
insert 仓库表(品名,货号,数量,供货商,入库时间)
values ('七喜','1239','135','百事','2001-3-26')
insert 仓库表(品名,货号,数量,供货商,入库时间)
values ('美年达','1231','270','百事','2001-3-27')
insert 仓库表(品名,货号,数量,供货商,入库时间)
values ( '勺子','1232','270','嘉泰','2001-3-27')
insert 仓库表(品名,货号,数量,供货商,入库时间)
values ('筷子','1233','180','嘉泰','2001-3-27')
insert 仓库表(品名,货号,数量,供货商,入库时间)
values ('毛巾','1241','180','鸿运','2001-3-28')
insert 仓库表(品名,货号,数量,供货商,入库时间)
values ('酱油' ,'1242','180','中粮','2001-3-28')
insert 仓库表(品名,货号,数量,供货商,入库时间)
values ('水饺','1243','180','湾仔码头','2001-3-28')
insert 仓库表(品名,货号,数量,供货商,入库时间)
values ('王老吉','1244','180','中药集团','2001-3-28')
insert 仓库表(品名,货号,数量,供货商,入库时间)
values ('加多宝','1245','180','JBD','2001-3-28')
insert 仓库表(品名,货号,数量,供货商,入库时间)
values ('和其正','1246','180','哇哈哈','2001-3-29')
insert 仓库表(品名,货号,数量,供货商,入库时间)
values ('蒙牛','1247','180','蒙牛','2001-3-29')
insert 仓库表(品名,货号,数量,供货商,入库时间)
values ('伊利','1248','180','伊利','2001-3-30')
insert 仓库表(品名,货号,数量,供货商,入库时间)
values ('三元','1249','180','三元','2001-3-30')
三:创建视图
use hwglxt
go
create view 货物视图
as
SELECT dbo.仓库表.货号, dbo.仓库表.品名, dbo.仓库表.类别, dbo.仓库表.供货商, dbo.已售货物表.交易号, dbo.交易历史信息表.受理人, dbo.员工信息表.Name,
dbo.员工信息表.Id, dbo.员工信息表.Sex, dbo.员工信息表.Age, dbo.员工信息表.Add_time
FROM dbo.仓库表INNER JOIN
dbo.已售货物表ON dbo.仓库表.货号= dbo.已售货物表.货号INNER JOIN
dbo.交易历史信息表ON dbo.已售货物表.交易号= dbo.交易历史信息表.交易号INNER JOIN
dbo.员工信息表ON dbo.交易历史信息表.受理人= dbo.员工信息表.Name
1查询表中若干列
use hwglxt
go
select 品名,数量
from 仓库表
(2)查询表中所有列
use hwglxt
go
select *
from 仓库表
go
(3)合并查询
use hwglxt
go
select 货号from 购物车表
union
select 品名from 已售货物表
go
4)嵌套子查询
use hwglxt
go
select *
from 员工信息表
where Age =
(select Age
from 员工信息表
where Name = '李楠')
and Name <> '李楠'
go
(5)聚合查询——查询数量在135和180之间的
use hwglxt
go
select *
from 仓库表
where 数量between 135 and 180
--where 数量 not between 135 and 180
Go
(6)多表查询
use hwglxt
go
select * from 交易历史信息表
left join 员工信息表
on 交易历史信息表.交易号= 员工信息表.Id
go
展开阅读全文