文档库 最新最全的文档下载
当前位置:文档库 › 华科数据库上机作业_(含答案)

华科数据库上机作业_(含答案)

华科数据库上机作业_(含答案)
华科数据库上机作业_(含答案)

1、创建某图书馆借书系统数据库,完成要求的SQL语句

1)创建表书book

create table book

(bno char(8)primary key,

category char(10),

title varchar(40),

press char(3),

year int,

author varchar(20),

price decimal(5,2),

total int,

remains int

)

2)创建表借书证card

create table card

(

cno char(7)primary key,

name varchar(10),

department varchar(40),

type char(1),

days int

)

3)创建表借书记录borrow,建立与book表、card表的外键关系

create table borrow

(

bno char(8)constraint fk_bno foreign key references book(bno), cno char(7)constraint fk_cno foreign key references card(cno), borrow_date date,

return_date date,

constraint pk_borrow primary key (bno,cno)

)

4)用INSERT语句为每个表插入不少于10条记录;

insert into

book(bno,category,title,press,year,author,price,total,remains) values('200001','文学','水浒传','001',2013,'施耐庵',45.2,50,49);

insert into

book(bno,category,title,press,year,author,price,total,remains)

values('200002','文学','西游记','001',2013,'吴承恩',35.7,50,49);

insert into

book(bno,category,title,press,year,author,price,total,remains) values('200003','文学','红楼梦','001',2013,'曹雪芹',68.2,50,49);

insert into

book(bno,category,title,press,year,author,price,total,remains) values('200004','文学','三国演义','001',2013,'罗贯中',41.5,50,49);

insert into

book(bno,category,title,press,year,author,price,total,remains) values('200005','教学','机械设计','002',2013,'张三丰',45.2,50,49);

insert into

book(bno,category,title,press,year,author,price,total,remains) values('200006','教学','机械原理','002',2013,'张无忌',45.2,50,49);

insert into

book(bno,category,title,press,year,author,price,total,remains) values('200007','教育','优化设计','002',2013,'武松',45.2,50,49);

insert into

book(bno,category,title,press,year,author,price,total,remains) values('200008','教育','高等数学','002',2013,'唐三藏',45.2,50,49);

insert into

book(bno,category,title,press,year,author,price,total,remains) values('200009','教育','大学物理','002',2013,'沙和尚',45.2,50,49);

insert into

book(bno,category,title,press,year,author,price,total,remains) values('200010','教育','数学物理方程','002',2013,'白骨精',45.2,50,49);

insert into

book(bno,category,title,press,year,author,price,total,remains) values('200011','小说','一个人的旅行','001',2013,'白骨精',35.2,50,49);

insert into

book(bno,category,title,press,year,author,price,total,remains) values('200012','小说','神机妙扇','001',2013,'铁扇公主',15.2,50,49);

insert into

book(bno,category,title,press,year,author,price,total,remains)

values('200013','小说','除却巫山不是云','001',2013,'扈三娘',25.2,50,49);

insert into

book(bno,category,title,press,year,author,price,total,remains) values('200014','小说','麻辣烫','001',2013,'孙二娘',11.2,50,49);

insert into card(cno,name,department,type,days)

values('S000001','孙悟空','花果山','S',30);

insert into card(cno,name,department,type,days)

values('S000002','林冲','东京','S',30);

insert into card(cno,name,department,type,days)

values('T000001','赤脚大仙','天庭','T',30);

insert into card(cno,name,department,type,days)

values('S000003','鲁智深','五台山','S',30);

insert into card(cno,name,department,type,days)

values('S000004','贾宝玉','大观园','S',30);

insert into card(cno,name,department,type,days)

values('S000005','贾连','大观园','S',30);

insert into card(cno,name,department,type,days)

values('S000006','林黛玉','大观园','S',30);

insert into card(cno,name,department,type,days)

values('S000007','薛宝钗','大观园','S',30);

insert into card(cno,name,department,type,days)

values('S000008','袭人','大观园','S',30);

insert into card(cno,name,department,type,days)

values('S000009','猪八戒','高老庄','S',30);

insert into card(cno,name,department,type,days)

values('S000010','令狐冲','华山','S',30);

insert into borrow values('200001','s000002','2015-05-12',null);

insert into borrow values('200003','s000002','2015-05-12',null);

insert into borrow values('200005','s000002','2015-05-12',null);

insert into borrow values('200007','s000007','2015-05-12',null);

insert into borrow values('200008','s000005','2015-05-12',null);

insert into borrow values('200007','s000008','2015-05-12',null);

insert into borrow values('200009','s000004','2015-05-12',null);

insert into borrow values('200011','s000003','2015-05-12',null);

insert into borrow values('200013','s000008','2015-05-12',null);

insert into borrow values('200012','s000009','2015-05-12',null);

insert into borrow values('200010','s000010','2015-05-12',null);

insert into borrow values('200006','s000001','2015-05-12',null);

5)写SQL语句,查询2008年出版的藏书种数、总册数、最高价、最低价。

select COUNT(*),SUM(total),MAX(price),MIN(price)from book where YEAR= 2018

6)写SQL语句,查询总藏书量有十本以上的书(书号、类别、书名、出版社、年份、作者、价格、总藏书量、现有库存)。

select*from book where total> 10;

7)写SQL语句,查询哪些出版社的总藏书超过5种。

select press from book

group by press

having COUNT(*)>5

8)写SQL语句,查询借书在2本以上的人员姓名。

select https://www.wendangku.net/doc/c37469106.html, from borrow a,card b

where https://www.wendangku.net/doc/c37469106.html,o=https://www.wendangku.net/doc/c37469106.html,o

group by https://www.wendangku.net/doc/c37469106.html,

having COUNT(*)>2

9)创建一个视图,查询过期未还的卡号、姓名、书号、书名、借期、逾期天数。

create view V_borrowdelay

as

select

https://www.wendangku.net/doc/c37469106.html,o,https://www.wendangku.net/doc/c37469106.html,,a.bno,a.title,

c.borrow_date,datediff(day,c.borrow_date,g etdate())-b.days delay from book a,card b,borrow c

where a.bno=c.bno

and https://www.wendangku.net/doc/c37469106.html,o=https://www.wendangku.net/doc/c37469106.html,o

and datediff(day,c.borrow_date,getdate())-b.days> 0

10)为小明办一张借书证

insert into card values('s000020','小明','数学系','S',30);

11)帮小明借三本书《科学与技术》、《机械加工工艺手册》、《狼图腾》insert into borrow values ('200007','s000020','2015-06-17',null); insert into borrow values ('200008','s000020','2015-06-17',null);

insert into borrow values ('200009','s000020','2015-06-17',null);

12)帮小明还书《科学与技术》、《机械加工工艺手册》、《狼图腾》

update borrow

set return_date='2015-06-17'

where cno='s000020'and bno in('200007','200008','200009');

13)帮小明注销借书证。

Begin transaction

Delete from borrow where cno='s000020';

Delete from card where cno='s000020';

Commit;

数据库上机实验7实验报告

上机实验七——视图的建立及操作 一、实习目的: 掌握创建、删除、和查询视图的方法,验证可更新视图和不可更新视图。 二、实习准备: 1.复习第三章3.6节视图 2. 完成习题三第16题中的各项操作的SQL语句。 3.了解可更新视图和不课更新视图 三、实习内容:验证习题三第16题中的各项操作的SQL语句。 ①建立01311班选修了1号课程的学生视图Stu_01311_1 CREATE VIEW Stu_01311_1 AS SELECT * FROM Grade WHERE Cno='1'AND Sno in( SELECT Sno FROM Student WHERE Clno='01311') WITH CHECK OPTION ②建立01311班选修了1号课程并且成绩不及格的学生视图Stu_01311_2 CREATE VIEW Stu_01311_2 AS SELECT * FROM Grade

WHERE Cno='1'AND Gmark<60 AND Sno in( SELECT Sno FROM Student WHERE Clno='01311') WITH CHECK OPTION ③建立视图Stu_year,由学生学号、姓名、出生年份组成 CREATE VIEW Stu_year AS SELECT Sno,Sname,year=2001-Sage FROM Student ④查询1990年以后出生的学生姓名 SELECT Sname FROM Student WHERE 2001-Sage<1990; ⑤查询01311班选修了1号课程并且成绩不及格的学生的学号、姓名、出生年份SELECT Sno,Sname,2014-Sage FROM Student WHERE Clno=01311 AND EXISTS(

SQL第6周数据库上机作业答案

第二次(第6周)上机作业 一、用T-SQL语句在E:\DATA\文件夹中创建一个教师信息数据库teacher,该数据库包含:(界面方式也要会) 1、一个主数据文件逻辑名‘teacherdata1 ’, 物理名‘E:\DATA\tdata1.mdf ’, 初始容量1MB,最大容量10MB,每次增长量为15%。 2、一个辅助数据文件逻辑名‘teacherdata2 ’ 物理名‘E:\DATA\tdata2.ndf ’, 初始容量2MB,最大容量15MB,每次增长量为2MB。 3、两个数据文件不单独创建文件组,即使用默认的PRIMARY组; 4、一个事务日志文件逻辑名‘teacherlog’物理名‘E:\DATA\teacherlog.ldf ’,初始容量500KB,最大容量不受限制,每次增长量为500KB。 先确认E:\DATA\文件夹已创建, CREATE DATABASE teacher ON PRIMARY ( NAME = teacherdata1 , FILENAME = 'E:\DATA\tdata1.mdf' , SIZE =5MB , MAXSIZE= 10 , FILEGROWTH = 15% ) , ( NAME = teacherdata2 , FILENAME = 'E:\DATA\tdata2.ndf' , SIZE = 2 , MAXSIZE= 15 , FILEGROWTH = 2MB ) LOG ON /* 创建事务日志文件*/ ( NAME = teacherlog , FILENAME = 'E:\DATA\teacherlog.LDF', SIZE = 500 KB ,/* 初始容量,KB单位不能省略*/ MAXSIZE = UNLIMITED ,/* 日志文件最大容量不受限制*/ FILEGROWTH = 500 KB/* 增长量KB 不能省略*/ ) 二、修改数据库“teacher”,增加两个文件组,文件组名:Gteacher1和Gteacher2。ALTER DATABASE teacher Add filegroup Gteacher1 ALTER DATABASE teacher Add filegroup Gteacher2 三、增加一个辅助数据文件,文件逻辑名teacherdata3,物理名为:E:\data\ teacherdata3.ndf’,初始大小为20MB,最大100MB,增量10MB,归属于文件组“Gteacher1”。 Alter database teacher Add file

数据库上机实验报告

数据库实验 (第三次) 题目1 实验内容: 1. 检索上海产的零件的工程名称; 2. 检索供应工程J1零件P1的供应商号SNO; 3. 检索供应工程J1零件为红色的供应商号SNO; 4. 检索没有使用天津生产的红色零件的工程号JNO; 5. 检索至少用了供应商S1所供应的全部零件的工程号JNO; 6. 检索购买了零件P1的工程项目号JNO及数量QTY,并要求对查询的结果按数 量QTY降序排列。

1 select jname from j where jno in (select jno from spj where sno in (select sno from s where city ='上海' ) ); 2 select sno from spj where jno ='j1'and pno ='p1' 3

selectdistinct sno from spj where pno in (select pno from p where color='红'and pno in (select pno from spj where jno ='j1' ) ); 4 selectdistinct jno from spj where pno notin (select pno from p where color ='红'and pno in (select pno from spj where sno in (select sno from s where city ='天津' ) ) )

5 select jno from spj where sno ='s1' 6 select jno,qty from spj where pno ='p1' orderby qty desc 四﹑思考题 1.如何提高数据查询和连接速度。 建立视图 2. 试比较连接查询和嵌套查询 有些嵌套查询是可以用连接来代替的,而且使用连接的方式,性能要比 嵌套查询高出很多 当查询涉及多个关系时,用嵌套查询逐步求解结构层次清楚,易于构造,具有结构化程序设计的优点。但是相比于连接运算,目前商用关系数据库管理系统对嵌套查询的优化做的还不够完善,所以在实际应用中,能够用连接运算表达的查询尽可能采用连接运算。

大学物理作业(二)答案

班级___ ___学号____ ____姓名____ _____成绩______________ 一、选择题 1. m 与M 水平桌面间都是光滑接触,为维持m 与M 相对静止,则推动M 的水平力F 为:( B ) (A)(m +M )g ctg θ (B)(m +M )g tg θ (C)mg tg θ (D)Mg tg θ 2. 一质量为m 的质点,自半径为R 的光滑半球形碗口由静止下滑,质点在碗内某处的速率为v ,则质点对该处的压力数值为:( B ) (A)R mv 2 (B)R mv 232 (C)R mv 22 (D)R mv 252 3. 如图,作匀速圆周运动的物体,从A 运动到B 的过程中,物体所受合外力的冲量:( C ) (A) 大小为零 (B ) 大小不等于零,方向与v A 相同 (C) 大小不等于零,方向与v B 相同 (D) 大小不等于零,方向与物体在B 点所受合力相同 二、填空题 1. 已知m A =2kg ,m B =1kg ,m A 、m B 与桌面间的摩擦系数μ=0.5,(1)今用水平力F =10N 推m B ,则m A 与m B 的摩擦力f =_______0______,m A 的加速度a A =_____0_______. (2)今用水平力F =20N 推m B ,则m A 与m B 的摩擦力f =____5N____,m A 的加速度a A =_____1.7____. (g =10m/s 2) 2. 设有三个质量完全相同的物体,在某时刻t 它们的速度分别为v 1、v 2、v 3,并且v 1=v 2=v 3 ,v 1与v 2方向相反,v 3与v 1相垂直,设它们的质量全为m ,试问该时刻三物体组成的系统的总动量为_______m v 3________. 3.两质量分别为m 1、m 2的物体用一倔强系数为K 的轻弹簧相连放在光滑水平桌面上(如图),当两物体相距为x 时,系统由静止释放,已知弹簧的自然长度为x 0,当两物体相距为x 0时,m 1的速度大小为 2 2 121 Km x m m m + . 4. 一弹簧变形量为x 时,其恢复力为F =2ax -3bx 2,现让该弹簧由x =0变形到x =L ,其弹力的功为: 2 3 aL bL - . 5. 如图,质量为m 的小球,拴于不可伸长的轻绳上,在光滑水平桌面上作匀速圆周运动,其半径为R ,角速度为ω,绳的另一端通过光 滑的竖直管用手拉住,如把绳向下拉R /2时角速度ω’为 F m A m B m M F θ A O B R v A v B x m 1 m 2 F m R

数据挖掘期末大作业任务

数据挖掘期末大作业 1.数据挖掘的发展趋势是什么?大数据环境下如何进行数据挖掘。 对于数据挖掘的发展趋势,可以从以下几个方面进行阐述: (1)数据挖掘语言的标准化描述:标准的数据 挖掘语言将有助于数据挖掘的系统化开发。改进多个数据挖掘系统和功能间的互操作,促进其在企业和社会中的使用。 (2)寻求数据挖掘过程中的可视化方法:可视 化要求已经成为数据挖掘系统中必不可少的技术。可以在发现知识的过程中进行很好的人机交互。数据的可视化起到了推动人们主动进行知识发现的作用。 (3)与特定数据存储类型的适应问题:根据不 同的数据存储类型的特点,进行针对性的研究是目前流行以及将来一段时间必须面对的问题。 (4)网络与分布式环境下的KDD问题:随着 Internet的不断发展,网络资源日渐丰富,这就需要分散的技术人员各自独立地处理分离数据库的工作方式应是可协作的。因此,考虑适应分布式与网络环境的工具、技术及系统将是数据挖掘中一个最为重要和繁荣的子领域。 (5)应用的探索:随着数据挖掘的日益普遍,其应用范围也日益扩大,如生物医学、电信业、零售业等 领域。由于数据挖掘在处理特定应用问题时存在局限性,因此,目前的研究趋势是开发针对于特定应用的数据挖掘系统。 (6)数据挖掘与数据库系统和Web数据库系统的集成:数据库系统和Web数据库已经成为信息处 理系统的主流。 2. 从一个3输入、2输出的系统中获取了10条历史数据,另外,最后条数据是系统的输 入,不知道其对应的输出。请使用SQL SERVER 2005的神经网络功能预测最后两条数据的输出。 首先,打开SQL SERVER 2005数据库软件,然后在界面上右键单击树形图中的“数据库”标签,在弹出的快捷菜单中选择“新建数据库”命令,并命名数据库的名称为YxqDatabase,单击确定,如下图所示。 然后,在新建的数据库YxqDatabas中,根据题目要求新建表,相应的表属性见下图所示。

北大数据库原理上机考题练习及参考答案 练习二(商品、顾客、购买)

题目: 现有一个商店的数据库,记录顾客及其购物情况,由下面三个表组成:商品(商品号,商品名,单价,商品类别,供应商); 顾客(顾客号,姓名,住址); 购买(顾客号,商品号,购买数量); 试用SQL语言完成下列功能: 1 建表,在定义中要求声明: (1)每个表的主外码; (2)顾客的姓名和商品名不能为空值; (3)单价必须大于0,购买数量必须再0到20之间; 2 往表中插入数据: 商品(M01,佳洁士,8.00,牙膏,宝洁; M02,高露洁,6.50,牙膏,高露洁; M03,洁诺,5.00,牙膏,联合利华; M04,舒肤佳,3.00,香皂,宝洁; M05,夏士莲,5.00,香皂,联合利华; M06,雕牌,2.50,洗衣粉,纳爱斯 M07,中华,3.50,牙膏,联合利华; M08,汰渍,3.00,洗衣粉,宝洁; M09,碧浪,4.00,洗衣粉,宝洁;) 顾客(C01,Dennis,海淀; C02,John,朝阳; C03,Tom,东城; C04,Jenny,东城; C05,Rick,西城;) 购买 (C01,M01,3;C01,M05,2; C01,M08,2;C02,M02,5; C02,M06,4;C03,M01,1; C03,M05,1;C03,M06,3; C03,M08,1;C04,M03,7; C04,M04,3;C05,M06,2; C05,M07,8;) 商品有9 条,顾客有5条, 购买有5条

3 用SQL语句完成下列查询: (1)求购买了供应商"宝洁"产品的所有顾客; (2)求购买的商品包括了顾客"Dennis"所购买商品的顾客(姓名);(3)求牙膏卖出数量最多的供应商。 4 将所有的牙膏商品单价增加10%。 5 删除从未被购买的商品记录。 参考答案: create table product ( productno char(10) not null, productname char(15) not null, price float(15), sort char(10), supplier char(20), primary key (productno), check (price > 0) ) create table customer ( customerno char(10) not null, customername char(15) not null, address char(10), primary key (customerno) ) create table buy ( customerno char(10) not null, productno char(10) not null, num smallint, primary key (customerno,productno), foreign key (customerno) references customer (customerno), foreign key (productno) references product (productno), check (num between 0 and 20) )

数据库作业 2要点

《数据库技术与管理》上机实验报告 班级:工程管理1101班 姓名: 学号:

实验报告一 《数据库技术与管理》上机实验报告 专业:工程管理学号:姓名:班级:1101班 实验时间2012.11.24 实验地点西配楼 实验内容1.创建数据库 (1) A.使用企业管理器创建数据库 B.在Data上点击鼠标右键,选择新建数据库 C.输入数据库名称,并点击数据文件和事务日志选项卡,分别输入相应信息 D.点击确定后可以看到在SQL Server的数据库中新增加了YGKQ数据库。 (2) 使用SQL语句创建数据库 CREATE DATABASE YGKQ ON (NAME=YGKQ _Data, FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\YGKQ_Data.mdf’ SIZE=10MB, MAXSIZE=50MB, FILEGROWTH=5% ) LOG ON (NAME=YGKQ _log, FILENAME=' C:\Program Files\MicrosoftSQL Server\MSSQL\Data\YGKQ _log.ldf ', SIZE=2MB, MAXSIZE=5MB, FILEGROWTH=1MB ) 2. 创建表 (1) 使用企业管理器创建表 第一步:在YGKQ数据库展开点击表,在所有表的展开上点击右键选择新建表 第二步:按照要求依次输入表的列名、数据类型、长度、是否允许空以及对这一列的描述。 第三步:点击鼠标右键,设置主键 第四步:将所有列信息输入完成后点击保存,输入文件名。第一张表创建完成。 可以在表展开中查看到新建的表 第五步:按照上述方法将其他表新建完成。 (2) 使用SQL语句创建表 第一步:打开事件分析器,输入SQL语句 create table qqxl ( sno char(4) primary key, --员工号 sname char(8) not null,--姓名 absent datetime,--缺勤时间(主键) absent int,--缺勤天数(主键)

SQL数据库期末大作业

学校:北京联合大学 系别:信息管理系 姓名:孙超 学号:2013110444006 《餐饮业信息管理系统的开发》 1、本项目的需求分析 随着今年来中国餐饮行业的日益火爆,在强烈的行业竞争中,一个高效的餐饮信息管理系统的应用,无疑是至关重要的。高效,便捷的管理系统,不仅仅极大的方便了食客的就餐,同时对于餐饮公司的各项信息管理有着很大的帮助,同时,我们的餐饮信息管理系统还能帮助餐厅降低错误率,扩大营业范围,增加知名度等。 为了使得系统在操作的过程中,更加便捷,具有针对性,本次系统设计主要分为:员工登陆操作信息系统,以及店主操作管理信息系统。不同的设计从而达到不同的功能,实现信息的有效传达与管理。 第一:在员工使用本餐饮信息管理系统应可以实现以下功能: 1.添加修改查询客户会员信息(修改客户信息需客户确认) 2.查询菜单 3.添加查询预定信息,为老顾客打折 4.客户可以在自己的会员账户里充值 5.顾客可以用现金买单也可以从会员账户里扣取 第二:管理员使用本餐饮信息管理系统应可以实现以下功能: 1.添加修改查询客户会员信息(修改客户信息需客户确认) 2.添加修改查询菜单信息,最好能看到菜品图片 3.添加查询预定信息,为老顾客打折 4.客户可以在自己的会员账户里充值 5.顾客可以用现金买单也可以从会员账户里扣取 6.设定具体的打折方法 7.添加职员信息,权限也可以定为管理员。 8.可以查询使用者的现金收款金额。 二、餐饮业管理数据库管理系统的E-R模型(概念结构设计) 1.用户(员工)的信息:

编号、密码、类型、姓名、电话、收款金额 2.客户信息: 用户编号、客户编号、姓名、电话、密码、开卡时间、卡内余额 3.食谱: 类型、名称、价格、配料、照片 4.预定: 用户编号、日期、预定时间、客户姓名、类型、预定食谱、桌号5桌台管理: 桌号、使用情况、 6.点餐管理: 用户编号、类型、菜品、数量、价格、照片 7.盈利管理: 日期、日支出金额、店内收入、外卖收入、盈利额度 各对象之间的联系图: 用户E-R图 主要存储一些用户信息,如用户的账号、密码和类型地点等等,主要用于用户登录,添加客户和添加预定时会使用到用户信息。

数据库上机作业

数据库上机实验报告 Ships表 Classes表 Outcomes表 Battles表

a)找出至少有10门炮的军舰类别名和制造国家 SELECT class, country FROM Classes WHERE numGuns >= 10 b)找出所有在1918年以前下水的舰船的名字,并且把结果列名改为ShipName. SELECT name AS ShipName FROM Ships WHERE YEAR(launched)<1918 c)找出所有在战斗中被击沉的船只和那次战斗的名字。 SELECT ship AS ShipName, battle FROM Outcomes WHERE result='sunk' d)找出所有和它的类别名同名的船只。 SELECT name AS ShipName FROM Ships WHERE name = class e)找出所有以“R”字符打头的船只的名字。 SELECT name AS ShipName FROM Ships WHERE name LIKE'R%'

a)找出重量超过35000吨的船只。 SELECT https://www.wendangku.net/doc/c37469106.html, FROM Ships , Classes WHERE Ships.class = Classes.class AND Classes.displacement>35000 b)找出参加Guadalcanal战斗的船只的名字、排水量和火炮数量。 SELECT https://www.wendangku.net/doc/c37469106.html,, C.displacement, C.numGuns FROM Ships S, Outcomes O, Classes C WHERE https://www.wendangku.net/doc/c37469106.html,=O.ship AND S.class =C.class AND O.battle ='Guadalcanal' c)列出数据库在抗洪提到的所有船只。 SELECT name ShipName FROM Ships UNION SELECT ship ShipName FROM Outcomes d)找出同时拥有战列舰和巡洋舰的国家。 SELECT C1.country FROM Classes C1, Classes C2 WHERE C1.country = C2.country AND C1.type='bb'AND C2.type='bc';

SQL数据库期末大作业91411

Hefei University 《数据库期末大作业》 餐饮业信息管理系统的开发 专业:电子信息工程 班级:13电子1班 姓名:李云 学号:1305011005

指导老师:史俊朗 完成时间:2016-12-28 一、本项目的需求分析 随着今年来中国餐饮行业的日益火爆,在强烈的行业竞争中,一个高效的餐饮信息管理系统的应用,无疑是至关重要的。高效,便捷的管理系统,不仅仅极大的方便了食客的就餐,同时对于餐饮公司的各项信息管理有着很大的帮助,同时,我们的餐饮信息管理系统还能帮助餐厅降低错误率,扩大营业范围,增加知名度等。 为了使得系统在操作的过程中,更加便捷,具有针对性,本次系统设计主要分为:员工登陆操作信息系统,以及店主操作管理信息系统。不同的设计从而达到不同的功能,实现信息的有效传达与管理。 第一:在员工使用本餐饮信息管理系统应可以实现以下功能: 1.添加修改查询客户会员信息(修改客户信息需客户确认) 2.查询菜单 3.添加查询预定信息,为老顾客打折 4.客户可以在自己的会员账户里充值 5.顾客可以用现金买单也可以从会员账户里扣取 第二:管理员使用本餐饮信息管理系统应可以实现以下功能: 1.添加修改查询客户会员信息(修改客户信息需客户确认) 2.添加修改查询菜单信息,最好能看到菜品图片

3.添加查询预定信息,为老顾客打折 4.客户可以在自己的会员账户里充值 5.顾客可以用现金买单也可以从会员账户里扣取 6.设定具体的打折方法 7.添加职员信息,权限也可以定为管理员。 8.可以查询使用者的现金收款金额。 二、餐饮业管理数据库管理系统的E-R模型(概念结构设计) 1.用户(员工)的信息: 编号、密码、类型、姓名、电话、收款金额 2.客户信息: 用户编号、客户编号、姓名、电话、密码、开卡时间、卡内余额 3.食谱: 类型、名称、价格、配料、照片 4.预定: 用户编号、日期、预定时间、客户姓名、类型、预定食谱、桌号5桌台管理: 桌号、使用情况、 6.点餐管理: 用户编号、类型、菜品、数量、价格、照片 7.盈利管理: 日期、日支出金额、店内收入、外卖收入、盈利额度 各对象之间的联系图:

数据库上机答案

数据库上机1 1、新建工厂数据库factory。 create database factory on( name=factory_data, filename='d:\factory.mdf') log on(name=factory_log, filename='d:\factory.ldf') 2、数据库factory包括职工表worker、部门表depart和职工工资表salary。用SQL语句建立这三个表并输入数据,其表结构及用例数据分别如下: 职工表结构为: 职工号:int; 姓名:char(8) ; 性别:char(2) ; 出生日期:datetime; 党员否:char(2) ; 参加工作:datetime; 部门号:int; 其中职工号为主码。 部门表结构为:

部门号:int; 部门名:char(10); 其中部门号为主码。 职工工资表结构为: 职工号:int; 日期:datetime; 工资:decimal(6,1) ; 其中职工号和日期为主码。

create table worker ( 职工号int primary key, 姓名char(8) , 性别char(2), 出生日期datetime, 党员否char(2), 参加工作datetime, 部门号int ) create table depart ( 部门号int primary key, 部门名char(10)

) create table salary ( 职工号int, 日期datetime, 工资decimal(6,1), Primary key(职工号,日期) ) 3. 显示部门的详细信息。 select * from depart 4.查询3号职工的工资单。 select * from salary where职工号=3 5.显示所有职工的姓名及年龄,并按姓名升序显示。 select 姓名, 2015-year(出生日期) '年龄' from worker order by姓名6. 求出各部门的部门号及党员人数。 select 部门号,count(党员否) '党员人数' from worker where 党员否='是' group by 部门号 7. 在worker表的“姓名”列创建唯一索引nameindex。 create unique index nameindex on worker (姓名) 数据库上机2 1. 查询12月份过生日的名单。 答:select 姓名from worker where month(出生日期)= 12 2. 查询所有姓刘的职工信息。 select * from worker where 姓名like ‘刘%’ 3. 显示所有职工的职工号和2011年2月份的工资数。 select 职工号,工资from salary where year(日期)=2011 and month(日期)=2 4. 查询1号部门所有职工的姓名和工资,并按工资降序排列。

数据库上机实验报告4

数据库上机实验报告 4 学号:姓名:日期:年月日 实验目的:(1)练习连接查询;(2)练习视图的创建与使用;(3)学习使用ODBC的方法;(4)体验T-SQL的功能;体验存储过程的功能;体验表值函数、标量值函数的作用;体验ranking等功能。 1 练习视图及连接查询。 (1)创建一个视图,视图名为viNF,视图内容为select id,count(*) as nf from friends group by id。执行成功后,将SQL语句复制到下方。 (2)基于viNF视图,查找拥有最多好友的用户、最少好友的用户。执行成功后,将SQL语句复制到下方。 (3)基于users表和viNF视图进行连接查询。分别进行内连接、全外连接、左外连接、右外连接四种操作。执行成功后,将SQL语句复制到下方,并回答:四种结果表,哪两个的结果是一致的,为什么? (4)将题(3)中全外连接保存为一个新的视图viUAF。 2 通过ODBC用Excel打开users表。 3 体验T-SQL。 回顾实验2中的题目: 定义最低价格为成本价;依据此成本价做如下计算: 连接Goods,Goods_Extent,Sellers表,按照总利润,输出前10名;要求输出表的格式为(商品名称,卖家名称,商品价格,运费,卖家信誉,卖家好评率,历史销量,历史利润,期内销量,期内利润,总销量,总利润) 利用如下语句进行查询,体会和之前有什么不同。如感兴趣,自己可以仿照写一个变量定义、赋值及应用的例子。 declare @cost as float; select @cost=min(good_price)from goods; select top 10 good_name as商品名称, goods.seller_name as卖家名称, good_price as商品价格, good_shipping as运费,

数据库大作业期末

测绘专业数据库原理及应用期末大作业 一、要求 1、需求分析。 2、数据库设计。 2.1 概念结构设计(由需求得到E-R模型) 2.2 逻辑结构设计(把E-R模型转换为关系模型) 2.3 物理结构设计(根据关系模型设计表的结构和字段属性及约束) 3、数据库实现。(定义表格和索引等,录入数据,每个表格不少于8条数据) 4、数据库运行。(数据库操作的相关SQL语句,包括查询、增加、删除、修改等,不少 于20条,其中查询需覆盖简单、连接及嵌套三种语句) 5、18周之前交 二、可选题目 1.机票预定信息系统 系统功能基本要求: 能够实现多种关联查询 航班基本信息的录入:航班的编号、飞机名称、机舱等级等; 机票信息:票价、折扣、当前预售状态及经受业务员等; 客户基本信息:姓名、联系方式、证件及号码、付款情况等; 按照一定条件查询、统计符合条件的航班、机票等; 2.学校人事信息管理系统 系统功能基本要求: 能够实现多种关联查询 教职工基本信息:编号、姓名、性别、学历、所属部门、毕业院校、健康情况、职称、职务、奖惩等; 教师教学信息的录入:教师编号、姓名、课程编号、课程名称、课程时数、学分、课程性质等; 科研信息的录入:教师编号、研究方向、课题研究情况、专利、论文及著作发表情况等。 3.论坛管理信息系统 系统功能基本要求: 能够实现多种关联查询 作者信息:昵称、性别、年龄、职业、爱好等; 帖子信息:帖子编号、发帖日期、时间、等级等; 回复信息:回复作者昵称、回复时间等。 4.药品存销信息管理系统 系统功能基本要求:

能够实现多种关联查询 药品信息:药品编号、药品名称、生产厂家、生产日期、保质期、用途、价格、数 量、经手人等; 员工信息:包括员工编号、姓名、性别、年龄、学历、职务等; 客户信息:客户编号、姓名、联系方式、购买时间、购买药品编号、名称、数量等; 入库和出库信息:库存信息、药品存放位置、入库量、出库量。 5.职工考勤管理信息系统 系统功能基本要求: 能够实现多种关联查询 职工信息:包括职工编号、职工信息、性别、年龄、职称等; 出勤记录信息:上班打卡时间、下班打卡时间、缺勤记录等; 出差信息:出差起始时间、结束时间、统计总共天数等; 请假信息:请假开始时间,结束时间,统计请假天数等; 加班信息:加班开始时间、结束时间、统计加班时间等; 6.自选题目。具有一定实际意义,基本表不少于3个,能够实现多种关联查询。 报告格式模板见附录

数据库上机实验(有答案)

数据库上机实验内容及要求(第二部分) 1.建立工厂管理数据库 工厂(包括厂名和厂长名)需要建立一个管理数据库存储以下信息: (1)一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和联系电话; (2)一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种; (3)一个车间生产多种产品,产品有产品号和价格;每种产品只能由一个车间生产; (4)一个车间制造多种零件,一种零件也可能为多个车间制造。零件有零件号、重量和价格; (5)一种产品可由多种零件组成,一种零件也可以装配出多种产品; (6)产品和零件均存入仓库; (7)厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。 根据以上需求分析结果,按照下述要求,设计并建立工厂管理数据库。 ◆分析实体及联系,设计E-R图。 ◆将E-R图转换成关系模式,并规范化到3NF。 ◆在Microsoft SQL Server2000中基于“企业管理器”建立数据库及相关对象(主 码,外码,索引,约束等)。 ◆测试数据入库 2.基于“查询分析器”,完成并保存下述题目的SQL脚本 (1)建立“工种”是“钳工”的所有职工详细信息的视图; create view View_工人_钳工 as select* from职工表 where工种='钳工' with check option (2)建立“车间号”是“CJ01”的钳工详细信息的视图; create view View_钳工_CJ01 as select* from View_工人_钳工 where车间号='CJ01' (3)建立使用了“零件号”是“LJ0002”的所有产品详细信息的视图; create view View_产品_零件LJ0002 as select产品表.产品号,价格,车间号,仓库号 from装配表,产品表 where装配表.产品号=产品表.产品号and零件号='LJ0002'(4)对零件表按照“零件号”建立唯一索引; create unique index Index_U_零件号on零件表(零件号) (5)对职工表按照“性别”建立聚簇索引; create clustered index Index_C_性别on职工表(性别) (6)查询使用了“零件号”是“LJ0002”的产品的生产车间号;

数据库上机(实验一)作业

在订单数据库OrderDB中,完成如下的查询: (1)查询员工的姓名、职务和薪水。 select employeeName 员工姓名,headShip 职务,salary 薪水 from Employee (2)查询姓名中含有“有限”的客户名称和所在地。 select customerName 客户名称,address 所在地 from customer where customerName like'%有限%' (3)查询出姓“张”并且姓名的最后一个字为“梅”的员工。 select employeeNo 编号,sex 性别,birthday 出生日期,address 地址,telephone 联系电话,employeeName 员工姓名,headShip 职务,salary 薪水 from Employee where employeeName like'张%梅' (4)查询住址中含有“上海”或“南昌”的女员工,并显示其姓名、所属部门、职务、住址、出生日期和性别。如果出生日期为空,则显示“不祥”,否则按格式 “yyyy—mm—dd”显示,性别用“男”和“女”显示。 select employeeName 员工姓名,department 所属部门,headShip 职务,address 地址, case sex when'F'then'女' when'M'then'男' end性别, isnull(convert(char(10),birthday,120),'不详')出生日期 from Employee where sex like'F'and address like'上海%'or sex like'F'and address like'南昌%' (5)查询出职务为“职员”或职务为“科长”的女员工的信息。 select employeeNo 员工编号,employeeName 员工姓名, case sex when'F'then'女' when'M'then'男' end性别,birthday 出生日期,address 地址,telephone 联系电话,hireDate 雇佣时间,department 所属部门,headShip 职务,salary 薪水 from Employee where sex like'F'and headShip like'职员'or sex like'F'and headShip like'科长' (6)选取编号不在C20050001~C20050004之间的客户编号、客户名称、客户地址。 select customerNo 客户编号,customerName 客户名称,address 地址 from Customer where customerNo not between'C20050001'and'C20050004' (7)在表OrderMaster中挑选出销售金额大于等于5000元的订单。 先统计订单主表中的订单金额,使用命令:

武汉轻工大学数据库选修期末作业

武汉轻工大学数据库选 修期末作业 文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-MG129]

武汉工业学院校公选课 ————《数据库应用》大作业 姓名:李晓华 学号: 院(系):机械工程学院 专业:过控 2013年11月19日 一、建立包含学籍管理相关信息的数据库和表 (1)学生基本信息表 (2)课程表 (3)成绩表 二、建立查询 (1)输出所有不及格学生的名单 在SQL查询中输入以下程序: SELECT学生基本信息表.姓名AS不及格学生名单FROM学生基本信息表,课程表,成绩表WHERE学生基本信息表.学号[成绩表].[学号])AND((课程表.课程 号)=[成绩表].[课程号])AND((成绩表.分数)<60)); (2)输入学生姓名,能查阅指定学生的成绩信息 在SQL查询中输入以下程序:

SELECT学生基本信息表.姓名,课程表.课程名,成绩表.分数FROM学生基本信息表,课程表,成绩表WHERE(((学生基本信息表.姓名)=[请输入学生姓 名])AND((学生基本信息表.学号)=[成绩表].[学号])AND((成绩表.课程 号)=[课程表].[课程号])); (3)输入课程名,能查阅指定课程的成绩信息 在SQL查询中输入以下程序: SELECT课程表.课程号,课程表.课程名,课程表.学时数,课程表.学分,课程表.开课学期,课程表.考试考查标志FROM课程表WHERE(((课程表.课程名)=[请输入课程名])); (4)输入班级名,能查阅指定班级所有学生的成绩信息 在SQL查询中输入以下程序: SELECT课程表.课程号,课程表.课程名,课程表.学时数,课程表.学分,课程表.开课学期,课程表.考试考查标志FROM课程表WHERE(((课程表.课程名)=[请输入课程名])); 三、思考题 1.确保数据库的实体完整性与参照完整性有什么作用? 关系的完整性主要包括域完整性、实体完整性和参照完整性三种。 1.域(列)完整性 域完整性是对数据表中字段属性的约束,通常指数据的有效性,它包括字段的值域、字段的类型及字段的有效规则等约束,它是由确定关系结构时所定义的字段的属性决定的。限制数据类型,缺省值,规则,约束,是否可以为空,域完整性可以确保不会输入无效的值.。

全国计算机三级数据库技术上机试题100道

1.【考点分析】本题考查对4位整数的排序。考查的知识点主要包括:数组元素的排序算法,if判断语句和逻辑表达式,以及求余算术运算。 【解题思路】此题属于4位数排序问题。本题需主要解决3个问题:问题1如何取4位数的后3位进行比较;问题2如何按照题目要求的条件(按照每个数的后3位的大小进行降序排列,如果后3位相等,则按照原始4位数的大小进行升序排列)排序;问题3如何将排完序的前10个数存到数组bb中去。 本题的解题思路为:使用双循环对数组按条件进行排序,然后将排完序的前10个数存到数组bb中。对于问题1可以通过算术运算的取余运算实现(aa[i]%1000);问题2通过包含if判断语句的起泡排序法就可以实现。 【参考答案】 void jsSort() { int i,j; /*定义循环控制变量*/ int temp; /*定义数据交换时的暂存变量*/ for(i=0;i<199;i++) /*用选择法对数组进行排序*/ for(j=i+1;j<200;j++) { if(aa[i]%1000aa[j]) /*则要按原4位数的值进行升序排序*/ { temp=aa[i]; aa[i]=aa[j]; aa[j]=temp; } } for(i=0;i<10;i++) /*将排序后的前10个数存入数组b中*/ bb[i]=aa[i]; } 【易错提示】取4位数后三位的算法,if判断语句中逻辑表达式的比较运算符。 2.【考点分析】本题主要考查的知识点包括:C语言循环结构,if判断语句和逻辑表达式,以及分解多位整数的算术运算。 【解题思路】分析题干,本题除给出条件"SIX+SIX+SIX = NINE+NINE"之外,还可得出2个隐含的条件:条件1:SIX和NINE分别是3位和4位的正整数;条件2:SIX的十位数字等于NINE的百位数字,NINE的千位数字和十位数字相等。 本题解题思路:通过嵌套的循环结构可以遍历到所有的3位和4位数,对于每一个3位数及4位数的组合进行题设条件(SIX+SIX+SIX = NINE+NINE)的判断,满足条件的对其分解得到各数位的数字,再进一步判断各位数字是否满足本题隐含的条件(条件1及条件2),如果满足则个数加1,并将该3位数及4位数添加到和值中。 【参考答案】 void countValue() { int i,j; int s2; int n2,n3,n4; for(i=100;i<1000;i++)

云南大学数据库期末大作业:数据库设计

云南大学软件学院实验报告 课程:数据库原理与实用技术实验学期:任课教师: 专业:学号:姓名:成绩: 期末大作业:Electronic Ventor 数据库设计 一、实验目的 (1)掌握数据库设计的基本方法 (2)掌握各种数据库对象的设计方法 (3)熟练掌握DBA必须具备的技能 二、实验内容 1、根据项目的应用和项目的需求说明文档,进行详细的需求分析,给出需求分析的结果。 (1)客户可以在网站上注册,注册的客户要提供客户的姓名、电话、地址,以方便售后和联系,姓名即作为用户名,和密码一起用于注册和登录,客户编号可唯一识别用户,卡号可网上支付。其中地址、电话以方便联系和寄货; (2)网站管理员可以登记各种商品,供客户查询,订购。登记商品时要提供商品的名称、价格,商店中现有商品量,商品编号可唯一识别商品; (3)类别表示商品所属类别,类别编号可唯一识别类别,其中包含了,商品类别名称和制造厂商,可以对商品进行分类售卖; (4)客户可以在网上下订单,也可以到实体店购物,其在订单上所选择的支付方式不同(信用卡、借记卡、现金,现金代表实体店购物),网站管理员可以查看订单,并及时将订单的处理情况更新(比如货物已寄出的信息,订单状态:0:未处理,1:已处理,2:已发货);订单编号可唯一识别订单,订单中包含订单产生时间,订单状态,支付方式和支付总额; (5)实体商店有自己的店名,卖多种商品,每个商店都有固定的地址,顾客可以到店中买商品,(注:在实体店中购买商品的顾客一律将顾客名默认为佚名),当商店中的库存量小于10时会有提醒到仓库中拿货; (6)配送单中包含查询号可唯一识别配送单,配送人,联系方式; (7)仓库中仓库编号可唯一识别仓库,其中每个仓库都有区号,代表其地址。 (8)各实体间关系 1)一个客户可以购买多种商品,一种商品可以被多个客户购买; 2)一个商品属于且仅属于一种类别,一种类别的商品可以包含多个商品或没有; 3)一种商品放在多个商店中销售,一个商店至少销售一种或销售多种商品; 4)一个订单对应一个客户,一个客户对应多个订单; 5)一个订单对应至少有一件商品或多件,一个商品对应多个订单; 6)一个订单可以有一个商品配送单 7)一个仓库可以存放多种商品,一种商品可以存放在一个仓库;

相关文档
相关文档 最新文档