当前位置:文档之家› 数据库大作业设计

数据库大作业设计

任务书实验步骤:超市管数据库E-R图:E-R图转化为关系模型部门表(部门编号,部门名称)供应商表(供应商编号,供应商名称,地址,邮政编码,电话号码,银行账户,开户银行,联系人)会员表(会员编号,姓名,性别,身份证号,消费总额,积分)库存表(库存编号,商品编号,库存量)入库表(入库编号,入库日期,计量单位,入库价格,销售价格,数量,总金额,供应商编号,员工编号,商品编号,)商品表(商品编号,商品名称,所属类别,价格,数量)销售出货单主表(出货单编号,销售日期,总金额,是否现金,是否会员,会员编号,员工编号)销售出货单子表(出货单子编号,数量,单价,折扣比例,金额,出货单编号,商品编号,)员工表(员工编号,姓名,性别,职务,身份证号,部门编号)各表设置如下:(1)部门表(2)供应商表(3)会员表(4)库存表(5)入库表(6)商品表、(7)销售出货单主表(8)销售出货单子表(9)员工表数据库关系图:(1)s elect查询语句查询会员表中的姓名,性别,身份证号,消费总额,积分信息select姓名,性别,身份证号,消费总额,积分from会员表结果:(2)使用where语句:查询员工表中性别‘女’所有信息。

select*from员工表where性别='女'结果:(3)使用逻辑运算符查询会员表中,性别是女,积分小于等于4000人的姓名,性别,身份证号,和积分的信息。

select姓名,性别,身份证号,积分from会员表where性别='女'and not积分>4000结果:(4)使用INSERT语句插入数据在库存表中添加库存编号为‘20‘,商品编号为‘024,’库存量为‘678‘的一条条记录。

insert into库存表values ('20','024','678')结果:(5)使用LIKE条件查询部门表中,部门名称为’人事’的部门编号,部门名称。

select部门编号,部门名称FROM部门表WHERE部门名称LIKE'人事'结果:(6)排序结果集查询部门表中的所有信息,并按部门编号的升序排列。

select*FROM部门表ORDER BY部门编号ASC结果:(7)插入数据在员工表里插入一条员工编号为12,姓名为延陵,性别为男的,职务是职工,身份证好为456666667,部门编号为5的一条记录。

insert into员工表(员工编号,姓名,性别,职务,身份证号,部门编号)VALUES('12','严陵','男','职工','456666667','5')结果:检验结果:(8)更新数据1 、UPDATE、使用,在会员表中更改会员编号为008的积分为8000. UPDATE会员表SET积分='8000'WHERE会员编号='008'结果:2、更新多列,更改会员表中前三列的积分为5000.UPDATE TOP(3)会员表SET积分='5000'结果:检查更新:SELECT*FROM会员表结果:(9)删除数据,删除供应商编号为09和10的记录。

1、DELETE供应商表WHERE供应商编号>08 AND供应商编号<=10结果:检查删除SELECT*FROM供应商表结果:如果要用删除一个表所有行的数据信息,TRUNCATE TABLE语句表不能用于外关键字依赖的表,用TRUNCATE TABLE语句。

如USE 超市信息系统(数据库名称)TRUNCATE TABLE 部门表(表名)否则会出现2、基于其他表中的行,在入库表中删除员工编号为9的记录。

DELETE FROM入库表WHERE员工编号IN(SELECT员工编号FROM员工表WHERE员工表.员工编号='9')结果:(10)查询复杂语句1、基本连接操作,在部门表和员工表中查询部门编号,部门名称,职务,姓名。

SELECT部门表.部门编号,部门名称,员工表.职务,姓名FROM部门表,员工表WHERE部门表.部门编号=员工表.部门编号结果:2、使用别名,将部门表命名为Y,Y员工表命名为B,查询B表中部门编号,部门名称,Y表中的职务,姓名。

SELECT B.部门编号,部门名称,Y.职务,姓名FROM部门表AS B,员工表AS YWHERE B.部门编号=Y.部门编号结果:结果:3、多表连接查询,在会员表,员工表,销售出货单主表中,查询积分,职务,总金额信息。

SELECT会员表.积分,员工表.职务,销售出货单主表.总金额FROM会员表,员工表,销售出货单主表WHERE会员表.会员编号=销售出货单主表.会员编号AND员工表.员工编号=销售出货单主表.员工编号结果:(11)内连接1、等值连接基于员工表,销售出货表单主表的内连接,查询条件为两表中的员工编号相等时返回,显示职务,销售日期并以销售出货单主表的员工编号降序排列。

SELECT员工表.职务,销售出货单主表.销售日期FROM员工表INNER JOIN销售出货单主表ON员工表.员工编号=销售出货单主表.员工编号ORDER BY销售出货单主表.员工编号DESC结果:2、非等值连接查询基于员工表和销售出货单主表查询查询总额在2334和4567的职工信息。

要求结果显示职务和总金额,并按总金额升序排列。

SELECT员工表.职务,销售出货单主表.总金额FROM销售出货单主表INNER JOIN员工表ON员工表.员工编号=销售出货单主表.员工编号AND销售出货单主表.总金额BETWEEN'2334.000'AND' 4567.0000'ORDER BY销售出货单主表.总金额结果:3、自然连接。

基于员工表,销售出货表单主表的内连接,查询条件为两表中的员工编号相等时返回,显示职务,销售日期并以销售出货单主表的员工编号降序排列。

SELECT员工表.职务,销售日期FROM员工表INNER JOIN销售出货单主表ON员工表.员工编号=销售出货单主表.员工编号ORDER BY销售出货单主表.员工编号DESC结果:(12)、外连接1、左外连接查询,基于库存表和商品表,销售出货单子表使用左外连接,要求结果显示库存表的所有信息,和销售出货单子表的单价。

SELECT库存表.*,销售出货单子表.单价FROM库存表LEFT OUTER JOIN商品表ON库存表.商品编号=商品表.商品编号LEFT OUTER JOIN销售出货单子表ON销售出货单子表.商品编号=商品表.商品编号结果:2、右外连接查询,基于库存表和商品表,销售出货单子表使用右外连接,要求结果显示库存表的所有信息,和销售出货单子表的单价。

SELECT库存表.*,销售出货单子表.单价FROM库存表RIGHT OUTER JOIN商品表ON库存表.商品编号=商品表.商品编号RIGHT OUTER JOIN销售出货单子表ON销售出货单子表.商品编号=商品表.商品编号结果:3、完全外连接查询,基于库存表和商品表,销售出货单子表使用完全外连接查询,要求结果显示库存表的所有信息,和销售出货单子表的单价。

SELECT库存表.*,销售出货单子表.单价FROM库存表FULL OUTER JOIN商品表ON库存表.商品编号=商品表.商品编号FULL OUTER JOIN销售出货单子表ON销售出货单子表.商品编号=商品表.商品编号结果:(13)交叉查询1、不用WHERE子句的交叉连接查询,查询库存表和商品表的所有数据库信息。

SELECT库存表.库存编号,库存表.商品编号,库存表.库存量,商品表.*FROM库存表CROSS JOIN商品表结果:2、使用WHERE子句的交叉连接查询,对库存表和商品表进行交叉连接查询,要求查询返回商品表.商品编号为011'的学生的库存编号,商品编号库存量和商品编号,商品名称,所属类别,价格,数量信息。

SELECT库存表.库存编号,库存表.商品编号,库存表.库存量,商品表.*FROM库存表CROSS JOIN商品表WHERE商品表.商品编号='011'ORDER BY库存表.商品编号DESC结果:(14)自然连接,SELECT A.员工编号,A.职务,B.职务FROM员工表AS AINNER JOIN员工表AS BON A.员工编号=B.员工编号结果:(15)联合查询,在员工表中,查询性别为女的员工的员工编号和职务信息,并为其新增列“当前位置”,新列的内容为“员工表”。

在入库表中查询所有的员工编号,计量单位信息,并为其新增列的内容为“入库信息表“。

在使用UNION关键字进行联合查询时,应保证每个联合查询语句的选择列表中具有相同数量的属性列,否则会出错。

SELECT员工表.员工编号,员工表.职务,'员工表'AS当前位置FROM员工表WHERE员工表.性别='女'UNIONSELECT入库表.员工编号,入库表.计量单位,'入库信息表'FROM入库表结果:(16)子查询,在员工表中查询小强同类性别的员工所有信息。

1、使用IN关键字结果:2、使用 EXISTS 关键字,查询出货单编号为0002员工的所有信息。

结果:3、使用比较运算符,查询性别为‘女‘员工信息。

结果:4、嵌套查询SELECT入库表.总金额,入库表.数量,库存表.库存量FROM入库表,库存表WHERE入库表.入库编号IN(SELECT员工表.部门编号FROM员工表WHERE员工表.员工编号='10') AND库存表.商品编号IN(SELECT供应商表.供应商编号FROM供应商表WHERE供应商表.供应商名称IN(SELECT员工表.部门编号FROM员工表WHERE员工表.员工编号='10'))结果:(17)创建视图,点数据库下面的视图,添加表,选择要输出地列,重点截图如下:(18)创建索引,在表的下面选择索引,索引类型选择所要的类型,即可,重点截图如下:(19)对于数据库备份在对于数据进行备份时,有四种数据库备份,我们要针对不同的情况进行不同的步骤,完整备份是针对在某一时间点,以时间点作为恢复数据库的基点,在用户在备份频繁修改的数据库时,需要最小化备份时间时,使用差异备份。

事务日志备份只有在完整恢复模式和大容量模式下才会有事务日志备份,文件组的备份可以使用户仅还原已损坏的文件,减少恢复时间。

(20)需求分析无论是公司还是企业对于货物都实行了信息化管理,以提高管理水平和工作效率,同时也可以最大限度地减少手工操作带来的错误。

相关主题