数据库课程设计任务书超市管理系统.doc
枣 庄 学 院信息科学与工程学院课程设计任务书 题目: 超市管理系统 小组成员: 邓金鲤,张山峰,张啸 成员学号: 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数据库应用设计案例汇编.北京:中国铁道出版社, 2007.86-1322童爱红等.Delphi数据库编程.北京:清华大学出版社, 2005.106-1583刘波.基于Delphi的学生成绩管理系统J.四川大学学报,2009,(10):28328目 录1 创建表 1.1创建表6 1.2创建默认约束8 1.3创建已售货物表102 创建外键 2.1 创建外键11 2.2 创建交易历史信息表13 2.3 创建员工信息表153 创建视图 3.1 创建视图213.2 查询表中若干列23 3.3 查询表中所有列24 3.4 合并查询25 3.5嵌套子查询26 3.6聚合查询27 3.7多表查询28一:创建表create database hwglxton primary(name='hwglxt',filename='d:datehwglxt.mdf',size=100mb,maxsize=unlimited,filegrowth=1mb) log on(name='hwglxt_log',filename='d:datehwglxtl_log.ldf',size=15mb,maxsize=unlimited,filegrowth=10%) go 截图:二hwglxt数据库包含五个表,分别为购物车表, 已售货物表, 交易历史信息表, 员工写信息表,仓库表. (1)购物车表sql命令:( 跟踪记录当前钱顾客所购物品)Use hwglxtgocreate 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 hwglxtgoinsert 购物车表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)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 hwglxtgocreate table 已售货物表(交易号 nvarchar(20)not null,品名 nvarchar(12) not null, 货号 varchar(16) not null,单价 money not null,总数 int,折扣 money,总金额 money,交易日期 datetimeprimary key(交易号,货号)Go为已售货物表创建默认约束alter table 已售货物表add constraint yshwb_djl default '0' for 折扣二:创建外键use hwglxtalter table 已售货物表add constraint fk_已售货物表_仓库表foreign key (货号)references 仓库表(货号)gouse hwglxtalter table 已售货物表add constraint fk_已售货物表_交易历史信息表foreign key ( 交易号)references 交易历史信息表(交易号)go输入数据,若是用sql 命令键入表中数据:use hwglxtgoinsert 已售货物表(交易号,品名,货号,单价,总数,折扣,总金额,交易日期)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 hwglxtgocreate table 交易历史信息表(交易号 nvarchar(20)not null,交易时间 datetime,受理人 varchar(12)primary key(交易号,受理人)Go输入数据,若是用sql 命令键入表中数据:use hwglxtgoinsert 交易历史信息表(交易号,交易时间,受理人)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 hwglxtalter table 交易历史信息表add constraint fk_交易历史信息表_员工信息表foreign key ( 受理人)references 员工信息表(Name)go创建默认约束alter table 交易历史信息表add constraint jylsxx_djl default '0' for 交易号4:创建员工信息表Use hwglxtgocreate 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 datetimeprimary key(Name)Go输入数据,若是用sql 命令键入表中数据:use hwglxtgoinsert 员工信息表(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 Position5:创建仓库表Use hwglxtgocreate 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 hwglxtgoinsert 仓库表(品名,货号,数量,供货商,入库时间)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 hwglxtgocreate view 货物视图asSELECT dbo.仓库表.货号, dbo.仓库表.品名, dbo.仓库表.类别, dbo.仓库表.供货商, dbo.已售货物表.交易号, dbo.交易历史信息表.受理人, dbo.员工信息表.Name, dbo.员工信息表.Id, dbo.员工信息表.Sex, dbo.员工信息表.Age, dbo.员工信息表.Add_timeFROM dbo.仓库表INNER JOIN dbo.已售货物表ON dbo.仓库表.货号= dbo.已售货物表.货号INNER JOIN dbo.交易历史信息表ON dbo.已售货物表.交易号= dbo.交易历史信息表.交易号INNER JOIN dbo.员工信息表ON dbo.交易历史信息表.受理人= dbo.员工信息表.Name 1查询表中若干列use hwglxtgoselect 品名,数量 from 仓库表(2)查询表中所有列use hwglxtgoselect * from 仓库表go(3)合并查询use hwglxtgoselect 货号from 购物车表unionselect 品名from 已售货物表go4)嵌套子查询use hwglxtgoselect *from 员工信息表where Age =(select Agefrom 员工信息表where Name = '李楠') and Name <> '李楠'go(5)聚合查询查询数量在135和180之间的use hwglxtgoselect * from 仓库表where 数量between 135 and 180-where数量not between 135 and 180Go(6)多表查询use hwglxtgoselect * from 交易历史信息表left join 员工信息表on 交易历史信息表.交易号= 员工信息表.Idgo