数据库实验2(五篇范例)

时间:2019-05-14 21:02:27下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《数据库实验2》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《数据库实验2》。

第一篇:数据库实验2

山东建筑大学 计算机学院 实验报告

班级: 姓名: 学号: 实验成绩:

课程:数据库系统概论 同组者: 实验日期: 2018.04.24

实验二 数据查询

一.实验目的

1.理解数据库中数据的其他查询方法和应用; 2.学会各种查询要求的实现;

3.学会各种查询的异同及相互之间的转换方法。

二.实验内容

1.实验代码

--1.查询供应商号码为S1的供应商的名称SNAME,所在城市CITY

Select SNAME,CITY FROM S WHERE SNO='S1';

--2.查询颜色为红色的零件号码 select pno from p where color='红';

--3.查询工程所在地为天津的工程名称JNAME select jname from j where city='天津';

--4.查询供应商号和名称,分别用小写字母和大写字母表示供应商代码 select upper(sno)大写,lower(sno)小写, sname from s;

--5.查询零件的详细信息,用结果属性名用中文显示

select pno 零件代码,pname 零件名,color 颜色, weight 重量 from p;

--6.查询供应工程J1零件P1的供应商号SNO select sno from spj where jno='j1' and pno='p1';

--7.查询供应商的名称和所在城市,并按照所在城市升序排序,同一个城市的按照供应商的名称降序排序

select sname,city from s order by city ASC,sname DESC;山东建筑大学 计算机学院 实验报告

班级: 姓名: 学号: 实验成绩:

课程:数据库系统概论 同组者: 实验日期: 2018.04.24--8.查询使用供应商S1所供应零件的工程号码 select jno from spj where sno='s1';

--9.查询各种零件的平均重量 select AVG(weight)from p;

--修改货物表中的P表的weight的数据类型 alter table p alter column weight float;

--10.查询零件的总个数

select sum(QTY)零件总和 from spj;

--11.from p where pname like '螺%';

--12.查询各个供应商供应的零件P3总数量

select sum(qty)from spj where pno='p3';

--13.供应工程J1红色零件的供应商号SNO

select distinct sno from spj, p where p.pno=spj.pno and(jno='j1' and color='红');

--14.工程项目J2使用的各种零件的名称及数量

select distinct pname,qty from p, spj where p.pno=spj.pno and jno='j2';

--15.使用上海产的零件的工程的名称

select distinct jname from s, j, spj where s.city='上海' and(s.sno=spj.sno and j.jno=spj.jno);查询所有以“螺”字开头的零件的零件号、零件名和颜色

select pno,pname,color 山东建筑大学 计算机学院 实验报告

班级: 姓名: 学号: 实验成绩:

课程:数据库系统概论 同组者: 实验日期: 2018.04.24--16.所有项目的使用零件的情况(无论有没有使用零件),包括项目代码、项目名称、零件代码和零件数量

select distinct spj.jno, j.jname, pno, qty from spj, j where spj.jno=j.jno;

--17.供应商S1和S3供应的相同的零件编号

select pno from spj where sno='s1' intersect select pno from spj where sno='s3';

--18.没有使用天津产的零件的工程号码

select distinct jno from spj where sno in((select sno from s where city!= '天津'));--19.没有使用天津供应商生产的红色零件的工程号

select distinct jno from spj where jno not in(select jno from spj,s,p where(s.city='天津' and p.color='红')and(s.sno=spj.sno and p.pno=spj.pno));

--20.至少用了供应商S1所供应的全部零件的工程号Jno

select jno from spj where pno='p1' and jno in(select jno

--21.基于学生选课数据库,验证课本上数据查询相关的示例

select *

from spj where pno='p2');山东建筑大学 计算机学院 实验报告

班级: 姓名: 学号: 实验成绩:

课程:数据库系统概论 同组者: 实验日期: 2018.04.24 from student;

select sname,'Year of Birth:',2014-sage,lower(sdept)from student;

--查询至少选修了学生201215122选修的全部课程的学生号码--不存在这样的课程y,学生201215122选修了y,而学生x没有选 select distinct sno from sc scx where not exists

(select *

select distinct sno from sc scx where not exists

(select scy.cno

--查询选修了课程名为“信息系统”的学生学号和姓名 select sno,sname from student where sno in(select sno

from sc where cno in(select cno

from course

where cname='信息系统'));

from sc scy

where scy.sno='201215122' and scy.cno not in(select scz.cno from sc scz

where scz.sno=scx.sno));

from sc scy

where scy.sno='201215122' and not exists(select *

from sc scz where scz.sno=scx.sno and scz.cno=scy.cno));山东建筑大学 计算机学院 实验报告

班级: 姓名: 学号: 实验成绩:

课程:数据库系统概论 同组者: 实验日期: 2018.04.24

运行结果 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、山东建筑大学 计算机学院 实验报告

班级: 姓名: 学号: 实验成绩:

课程:数据库系统概论 同组者: 实验日期: 2018.04.2417、18、21、19、20、1、2、三. 实验总结

3、通过本次实验,我了解了理解数据库中数据的其他查询方法和应用,学会各种查询要求的实现,学会各种查询的异同及相互之间的转换方法。在实验过山东建筑大学 计算机学院 实验报告

班级: 姓名: 学号: 实验成绩:

课程:数据库系统概论 同组者: 实验日期: 2018.04.24 程中,有的看不懂题意,通过询问同学解决了,也有的不会做,答案也看不懂,最后询问老师,然后自己认真看看,最后解决问题了。

第二篇:重庆邮电大学数据库实验2

二叉树操作 实验日志

指导教师: 黎贵友 实验时间: 2010 年 某 月 某 日 学院 : 计算机科学与技术学院 专业: 计算机科学与技术 班级: 3110903 学号 : 2009214458 姓名: 骆潇龙 实验室: S331-b 实验目的:掌握二叉树的定义、性质及存储方式,各种遍历算法。

实验要求:采用二叉树链表作为存储结构,完成二叉树的建立,先序、中序和后序以及按层次遍历的操作,求所有叶子及结点总数的操作。

实验主要步骤:

1、分析、理解程序 #include“stdio.h” #include“string.h” #include“stdlib.h” #include“ctype.h” #define Max 20

//结点的最大个数 typedef struct node { char data;

struct node *lchild,*rchild;}BinTNode;

//自定义二叉树的结点类型 typedef BinTNode *BinTree;

//定义二叉树的指针

int NodeNum,leaf;

//NodeNum为结点数,leaf为叶子数

//==========基于先序遍历算法创建二叉树============== //=====要求输入先序序列,其中加入虚结点“#”以示空指针的位置===== BinTree CreatBinTree(void){

BinTree T;

char ch;

if((ch=getchar())=='#')return(NULL);

//读入#,返回空指针

else {

T=(BinTNode *)malloc(sizeof(BinTNode));

//生成结点

T->data=ch;

T->lchild=CreatBinTree();

//构造左子树

T->rchild=CreatBinTree();

//构造右子树

{

int hl,hr,max;

if(T){

hl=TreeDepth(T->lchild);

//求左深度

hr=TreeDepth(T->rchild);

//求右深度

max=hl>hr? hl:hr;

//取左右深度的最大值

NodeNum=NodeNum+1;

//求结点数

if(hl==0&&hr==0)

leaf=leaf+1;//若左右深度为0,即为叶子。

return(max+1);

} else return(0);}

//====利用“先进先出”(FIFO)队列,按层次遍历二叉树========== void Levelorder(BinTree T){

int front=0,rear=1;

BinTNode *cq[Max],*p;

//定义结点的指针数组cq

cq[1]=T;

//根入队

while(front!=rear)

{

front=(front+1)%NodeNum;

p=cq[front];

//出队

printf(“%c”,p->data);

//出队,输出结点的值

if(p->lchild!=NULL)

{

rear=(rear+1)%NodeNum;

cq[rear]=p->lchild;

//左子树入队

}

if(p->rchild!=NULL)

{

rear=(rear+1)%NodeNum;

cq[rear]=p->rchild;

//右子树入队

} } }

default: exit(1);

}

printf(“n”);} while(i!=0);}

2、调试程序,设计一棵二叉树,输入完全二叉树的先序序列,用#代表虚结点(空指针),如ABD###CE##F##,建立二叉树,求出先序、中序和后序以及按层次遍历序列,求所有叶子及结点总数.实验结果:

1.当输入测试数据(输入完全二叉树的先序序列,用#代表虚结点,如ABD###CE##F##)时(如图1-1),回车运行时,结果如图1-2所示;

图1-1

图1-2

2.按层次遍历之前,输入数字4(如图2-1,);回车运行时,求出测试数据的深度、结点数及叶子数分别为3,6,3(如图2-2);

图2-1

789-

第三篇:数据库实验2实验报告 2

数据库第二次试验报告

PB10011020 刘思轶

实验内容

本实验有两个可选题目,旅游出行和药品免疫库。本程序即为旅游出行的一个实现。

实验原题摘要如下 数据关系模式:

航班FLIGHTS(String flightNum, int price, int numSeats, int numAvail, String FromCity, StringArivCity);

宾馆房间HOTELS(String location, int price, int numRooms, int numAvail); 出租车CARS(String location, int price, int numCars, int numAvail); 客户CUSTOMERS(String custName);

预订情况RESERVATIONS(String resvKey, String custName, int resvType)系统基本功能:

1.航班,出租车,宾馆房间和客户基础数据的入库,更新(表中的属性也可以根据你的需要添加)。

2.预定航班,出租车,宾馆房间。

3.查询航班,出租车,宾馆房间,客户和预订信息。4.查询某个客户的旅行线路。5.检查预定线路的完整性。6.其他任意你愿意加上的功能。

程序功能

本系统由旅行服务提供商运营,发布在支持PHP + MySQL 的服务器上。系统默认有三个角色,游客、用户和管理员。它们的权限如下

1、游客

查询当前航班、旅馆和出租车的预订情况;

2、注册用户

游客的所用权限; 查询当前预订;

预订航班、旅馆和出租车; 退订航班、旅馆和出租车。打印旅行路线

检查预定路线的完整性。检查航班的完备性

3、管理员

注册用户的所用权限 添加航班、旅馆和出租车信息; 更改航班、旅馆和出租车信息; 注册用户;

更改用户密码和权限; 删除注册用户; 查询用户预订; 取消用户预订; 查询用户旅行线路。

运行平台

本系统在Windows 7 32位 下由PHP-now虚拟的网络运行平台上测试.所需环境为: PHP Apache MySQL PhmyAdmin 环境搭建

打开集成环境php-now文件夹,点击init.cmd,会自动安装所需环境 接着在PHP后台中载入所需要的表

CREATE TABLE FLIGHTS(flightNum varchar(30), price int(6), numSeats int(6), numAvail int(6), FromCity varchar(30), ArivCity varchar(30), PRIMARY KEY(flightNum));CREATE TABLE HOTELS(location varchar(30), price int(6), numRooms int(6), numAvail int(6), PRIMARY KEY(location));CREATE TABLE CARS(location varchar(30), price int(6), numCars int(6), numAvail int(6), PRIMARY KEY(location));CREATE TABLE CUSTOMERS(custName varchar(30), password varchar(50), type varchar(20), PRIMARY KEY(custName));CREATE TABLE RESERVATIONS(resvKey int(20)AUTO_INCREMENT, custName varchar(30), resvType varchar(20), detail varchar(20), PRIMARY KEY(resvKey));

该程序所实现的功能

1.登录功能

登陆者身份分为游客和管理员,在数据库中信息都存放在customer表中,区别为type项不同,管理员为admin,游客为users,决定了权限不同.(1)普通游客登录后界面

(2)管理员登陆后界面

2.查询功能

登入http://127.0.0.1 可以选择查询航班,旅馆和出租车.3.游客-预订功能

4.游客-管理预订信息功能

点击自己的id可进入该功能页面,可以看到自己的旅游路线和预订信息,并可以取消预订.5.游客-检查线路完整性功能

当游客预订了从A到B的机票,则必须检查啊在A定了车(去机场),在B订了车和旅馆(下飞机后坐车和住宿),以此实现完整性检查.在从nanjing to beijing的旅游路线后面点击check,会提示游客还需要在nanjing预订汽车,在beijing预定旅馆。

6.管理员-管理航班,旅馆和出租车表

可以有insert delete 和update 几种操作.delete:

直接点击cancel就可删除相应的信息。insert & update: 点击edit后,程序会自动将想要编辑的行的信息填入供管理员编辑,不用再手动输入。

7.管理员-管理用户表

可以添加新用户,对用户的权限升级,查看用户信息.用户的密码是md5加密保存的。

实验小结

仍然存在的问题: 1.软件界面过于简单,仅仅实现了功能没有在用户可用性上多做考虑。

2.新用户想要登录该系统预订必须要由管理员登入信息后才可操作。缺少了游客注册的功能。

3.不能根据用户的需求点对点得查询相应信息,只能罗列出所有的信息。

实验心得: 1.在搭建PHP环境中遇到了许多问题:如用户权限不够,域名已使用使得Apache-20安装不成功,通过网上查阅资料解决问题。

2.了解到自己对问题的调研还是不足,如旅游系统,各种表之间到底应该怎么建立关系,哪些项是主键,自己建的表中的信息是否已经充足了,参照现实中旅游系统才能不断完善.

第四篇:数据库实验2报告

《数据库系统原理实验报告》

姓名:疏颖 学号:22920152203909 完成日期:2018年4月6日

实验环境:SQLServer2008 实验2.1数据查询 实验要求:

以School数据库为例,在该数据库中存在四张表格,分别为:

 表STUDENTS(sid, sname, email, grade); 表TEACHERS(tid, tname, email, salary); 表COURSES(cid, cname, hour); 表CHOICES(no, sid, tid, cid, score)在数据库中,存在这样的关系:学生可以选择课程,一个课程对应一个教师。在表CHOICES中保存学生的选课记录。

按以下要求对数据库进行查询操作: 实验步骤:

(1)查询年级为2001的所有学生的名称并按编号升序排列。

(2)查询学生的选课成绩合格的课程成绩,并把成绩换算为积点(60分对应积点为1,每增加1分,积点增加0.1)。

(3)查询课时是48或64的课程的名称。

(4)查询所有课程名称中含有data的课程编号。

(5)查询所有选课记录的课程号(不重复显示)。

(6)统计所有教师的平均工资。

(7)查询所有教师的编号及选修其课程的学生的平均成绩,按平均成绩降序

排列。

(8)统计各个课程的选课人数和平均成绩。

(9)查询至少选修了三门课程的学生编号。

(10)查询编号800009026的学生所选的全部课程的课程名和成绩。

(11)查询所有选修了database的学生的编号。

(12)求出选择了同一个课程的学生数。

(13)求出至少被两名学生选修的课程编号。

(14)查询选修了编号80009026的学生所选的某个课程的学生编号。

(15)查询学生的基本信息及选修课程编号和成绩。

(16)查询学号850955252的学生的姓名和选修的课程名及成绩。

(17)查询与学号850955252的学生同年级的所有学生资料。

(18)查询所有有选课的学生的详细信息。

(19)查询没有学生选的课程的编号。

(20)查询课程名为C++的课时一样课程名称。

(21)找出选修课程成绩最好的选课记录。

(22)找出和课程UML或课程C++的课时一样课程名称。

(23)查询所有选修编号10001的课程的学生的姓名。

(24)查询选修了所有课程的学生姓名。

(25)利用集合运算,查询选修课程C++或选修课程Java的学生的编号。

(26)实现集合交运算,查询既选修课程C++又选修课程Java的学生的编号。

(27)实现集合减运算,查询选修课程C++而没有选修课程Java的学生的编号。

实验2.2空值和空集的处理

1.实验步骤:

(1)查询所有选课记录的成绩并将它换算为五分制(满分5分,合格3分),注意SCORE取NULL值的情况。

(2)通过查询选修编号10028的课程的学生的人数,其中成绩合格的学生人数,不合格的学生人数,讨论NULL值的特殊含义。

取null值的数据在含有运算操作的选择语句中不被选择。

(3)通过实验检验在使用ORDER BY进行排序时,取NULL的项是否出现在结果中?如果有,在什么位置?

取null值的数据会出出现在结果中,按最小值进行排序

(4)在上面的查询过程中如果加上保留字DISTINCT会有什么效果?

所有的null值选项只会出现一行。

(5)通过实验说明使用分组GROUP BY对取值为NULL的项的处理。

(6)结合分组,使用集合函数求每个同学的平均分、总的选课侸、最高成绩、最低成绩和总成绩。

(7)查询成绩小于60的选课记录,统计总数、平均分、最大值和最小值。

(8)采用嵌套查询的方式,利用比较运算符和谓词ALL的结合来查询表COURSES中最少的课时。假设数据库中只有一个记录的时候,使用前面的方法会得到什么结果,为什么?

(9)创建一个学生表S(NO,SID,SNAME),教师表T(NO,TID,TNAME)作为实验用的表。其中NO分别是这两个表的主键,其他键允许为空。向S插入元组(1,0129871001,王小明)、(2,0129871002,李兰)、(3,0129871005,NULL)、(4,0129871004,关红); 向T插入元组1,100189,王小明)(2,、100180,李小)(3,、100121,NULL)、(4,100128,NULL)。

对这两个表作对姓名的等值连接运算,找出既是老师又是学生的人员的学生编号和老师编号。

实验总结:

本次实验主要考察的是查询语句,相比于上次的实验,这次难度有所增加,涉及到了嵌套查询等查询方法,having语句和where语句用的最多,有时会混乱,还需要多加练习。实验二中对于取null值的选项的关注也让我意识到在以后的实际操作过程中需要注意对于库里数据的处理。

第五篇:数据库实验

实验1.1 使用SQL Server工具(Microsoft SQL Server Management Studio Express)管理数据库 实验内容:

(1)使用SSMS(SQL Server Management Studio)加入实验数据库。(2)使用SSMS可视化建立、修改和删除数据库、表。(3)使用SSMS对数据库进行备份和恢复。

(4)使用SSMS对表进行查询、插入、修改、删除。实验步骤:

(1)加入School数据库。(2)建立Test数据库。

(3)在数据库中建立人员表PERSON(P#,Pname,Page)。更改表设置P#为主键,增加属性Ptype(类型是CHAR,长度是10)。

(4)用SSMS的查询功能(新建查询)对PERSON表进行查询、插入、修改、删除等操作:首先插入两条记录;修改第二条记录;删除第二条记录。(5)备份Test数据库。(6)删除表PERSON。(7)恢复Test数据库。(8)删除Test数据库。

下载数据库实验2(五篇范例)word格式文档
下载数据库实验2(五篇范例).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    数据库实验

    3.实验步骤 在学生选课数据库中实现其查询操作,写出T-SQL语句(注:学生选课数据库为前三次实验课所建立的数 据库) 一、简单查询实验 (1)查询选修了课程的学生学号。 (2)查询选修课程......

    云南大学软件学院数据库实验2

    云南大学软件学院 实验报告课程: 数据库原理与实用技术实验学期: 2012-2013学年 第 二 学期任课教师:专业:学号:姓名:成绩:实验2使用向导创建并管理数据库一、实验目的理解数据库的......

    数据库实验答案范文大全

    实验四 五、实验方法和步骤: 1.向数据库的USERS表空间添加一个大小为10M的数据文件userdata02.dbf。 Alter tablespace users add datafile ‘c:oracleoradataorcluserda......

    Access数据库实验

    实验一 ACCESS之表的操作 一、实验目的 1、熟悉Access用户操作界面。 2、掌握创建表的方法。 3、掌握创建主键和索引的方法。 4、掌握表结构的编辑和表中数据的操作方法。 5......

    数据库实验心得

    我在sql server 索引基础知识系列中,第一篇就讲了记录数据的基本格式。那里主要讲解的是,数据库的最小读存单元:数据页。一个数据页是8k大小。对于数据库来说,它不会每次有一个......

    数据库实验心得体会

    数据库实验心得体会 有关于数据库实验的心得体会,总的来说,受益匪浅。在这些天中,我们学到了很多东西,包括建表,导入数据,查询,插入。最重要的是我们有机会用电脑自己进行实践,没接......

    数据库实验总结

    实验总结 在上一个星期,我们用数据库做了一个学生管理系统,分别实现了学生管理系统的添加学生信息、删除学生信息、修改学生信息退出等几大功能。 在这次项目中,我们都很用心去......

    数据库实验一五篇范文

    实验一:认识DBMS 系统 1、实验目的 (1)通过对SQL Server 2005/2008 数据库管理系统的使用,了解DBMS 的工作原理和系统 构架。 (2)熟悉SQL Server 提供的管理工具 (3)熟悉使用SQL Ser......