数据库上机实验报告

合集下载

数据库上机实验报告

数据库上机实验报告

数据库上机实验报告数据库上机实验网络1002 3100610055一、实验目的1.通过上机操作,加深对数据库理论知识的理解。

2.通过使用具体的微机DBMS(SQL Server),了解一种实际的数据库管理系统,并掌握其操作技术。

3.通过实际题目的上机实验,提高动手能力,提高分析问题和解决问题的能力。

二﹑实验题目某供应商(S)供应(SPJ)某种零件(P)给某个工程项目(J),其中一个供应商可以供给多个项目零件,而每个项目可以使用多个供应商供应的零件,每种零件可由不同供应商供给,S﹑P﹑J﹑SPJ的数据见附表1。

三、实验报告实验报告按照各实验的实验报告内容来整理。

实验报告提交地址:ftp://202.195.168.13/(在“up”文件夹里的“《数据库系统原理A》上机实验”文件夹中找到班级文件夹)用户名:nianyi密码:123456实验报告命名规则:班级+学号+姓名,如“软件080101王鹏晓”。

四、考核上机实验采用书面分析、平时实验和最后抽查考核相结合的方法评定成绩。

实验一数据库的定义和建立一、实验目的要求学生熟练掌握和使用T-SQL﹑SQL Server对象资源管理器创建数据库﹑基本表和修改表结构,及向数据库输入数据的操作,学会创建和使用表的主码、外码和约束。

二、实验内容1﹑利用SQL Server对象资源管理器创建数据库和查看数据库属性;2﹑利用T-SQL创建基本表﹑确定表的主码、外码和相应的约束;3﹑利用SQL Server对象资源管理器创建表之间的关系图;4﹑利用T-SQL向数据库输入数据。

三、注意事项1﹑输入数据时要注意数据类型、主码和数据约束的限制。

2﹑注意数据库的主码﹑外码和数据约束的定义。

3、注意参照表和被参照表之间的关系,主码和外码间的关系。

四、实验报告内容1﹑创建基本表(包括表的主码、外码和相应的约束)的SQL语句;3﹑输入数据的SQL语句。

create table s(sno char(8) primary key,sname char(20) unique,statuss smallint,city char(20));create table p(pno char(8) primary key,pname char(20),color char(8),weightt smallint);create table j(jno char(8) primary key,jname char(20),city char(20));create table spj(sno char(8),pno char(8),jno char(8),qty smallint,primary key(sno,pno,jno),foreign key(sno) references s(sno),foreign key(pno) references p(pno), foreign key(jno) references j(jno));insertinto svalues('s1','精益','20','天津');insertinto svalues('s2','盛锡','10','北京');insertinto svalues('s3','东方红','30','北京'); insertinto svalues('s4','丰泰盛','20','天津'); insertinto svalues('s5','为民','30','上海');select*from s;insertinto pvalues('p1','螺母','红','12');insertinto pvalues('p2','螺栓','绿','17');into pvalues('p3','螺丝刀','蓝','14'); insert into pvalues('p4','螺丝刀','红','14'); insert into pvalues('p5','凸轮','蓝','40'); insert into pvalues('p6','齿轮','红','30'); select* from p;into jvalues('j1','三建','北京'); insert into jvalues('j2','一汽','长春'); insert into jvalues('j3','弹簧厂','天津'); insert into jvalues('j4','造船厂','天津'); insert into jvalues('j5','机车厂','唐山'); insert into jvalues('j6','无线电厂','常州');into jvalues('j7','半导体厂','南京'); select* from j;insertinto spjvalues('s1','p1','j1','200'); insertvalues('s1','p1','j3','100'); insert into spjvalues('s1','p1','j4','700'); insert into spjvalues('s1','p2','j2','100'); insert into spjvalues('s2','p3','j1','400'); insert into spjvalues('s2','p3','j2','200'); insert into spjvalues('s2','p3','j4','500'); insert into spjvalues('s2','p3','j5','400'); insert into spjvalues('s2','p5','j1','400'); insert into spjvalues('s2','p5','j2','100'); insert into spjvalues('s3','p1','j1','200'); insert into spjvalues('s3','p3','j1','200'); insert into spjvalues('s4','p5','j1','100'); insert into spjvalues('s4','p6','j3','300'); insert into spjvalues('s4','p6','j4','200'); insert into spjvalues('s5','p2','j4','100'); insertvalues('s5','p3','j1','200'); insert into spjvalues('s5','p6','j2','200'); insert into spjvalues('s5','p6','j4','500'); select* from spj;2﹑表之间的关系图;4、总结实验过程中遇到的问题及解决。

上机实验报告模板

上机实验报告模板

一、实验名称(此处填写实验名称)二、实验目的(此处填写实验目的,例如:掌握某种编程语言的语法规则,了解数据库的基本操作等)三、实验时间(此处填写实验时间,例如:2023年10月26日)四、实验地点(此处填写实验地点,例如:计算机实验室)五、实验器材(此处填写实验所需器材,例如:计算机、编程软件、数据库等)六、实验原理(此处简要介绍实验的理论基础,例如:介绍实验所涉及到的算法、公式、原理等)七、实验步骤1. 准备工作- 确认实验环境已准备好。

- 检查实验器材是否齐全。

- 熟悉实验软件和工具。

2. 实验步骤一- (详细描述第一步的操作,例如:编写程序的第一行代码,设置数据库连接等)- (描述预期结果)3. 实验步骤二- (详细描述第二步的操作,例如:编写程序的循环结构,查询数据库等)- (描述预期结果)4. 实验步骤三- (详细描述第三步的操作,例如:编写程序的函数,优化数据库查询等)- (描述预期结果)5. 实验步骤四- (详细描述第四步的操作,例如:测试程序功能,调整数据库配置等)- (描述预期结果)八、实验数据(此处填写实验过程中收集的数据,例如:程序运行结果截图、数据库查询结果截图等)九、实验结果分析(此处分析实验结果,包括实验是否达到预期目标,实验过程中遇到的问题及解决方法等)十、实验总结1. 实验收获- (总结实验中学到的知识和技能,例如:掌握了某种编程语言的语法规则,了解了数据库的基本操作等)2. 实验不足- (分析实验中存在的不足,例如:程序运行效率有待提高,数据库设计不够优化等)3. 改进措施- (提出改进实验的方法和建议,例如:优化代码结构,调整数据库索引等)十一、附录1. 代码示例- (附上实验中编写的关键代码)2. 实验图片- (附上实验过程中的截图,如程序运行结果、数据库查询结果等)十二、参考文献(此处列出实验过程中参考的书籍、文章、网站等)---注意事项:1. 实验报告应结构清晰,内容完整。

数据库实验报告(通用3篇)

数据库实验报告(通用3篇)

数据库实验报告(通用3篇)数据库试验报告篇1一、实训时间:20_年5月13日至5月24日二、实训地点:三、实训目的与意义:1,这次实习可以使我们在课本上学到的学问用于实践增加了我对电脑技巧的一些认知。

2,通过这次实习也可以让我体验到上班族的生活为我将来毕业后找工作打下了基础。

3,并且这次实习可以非常好的关心我完成将来的毕业论文。

四、实训感悟:还依旧记得来的第一天对这里很茫然,不知道实习要做些什么。

然后经过老师的急躁讲解,熟悉了自己实习要做些什么,得到了许多心理熟悉,对许多问题都有了一些更深的了解。

同时,我熟识了河北玛世电子商务有限公司,总部位于国家命名的“中国丝网之乡”、“中国丝网产业基地”、中国丝网产销基地“、”中国丝网出口基地“—河北省安平县。

使我们队公司有了更进一步的了解实习,就是在实践中学习。

经过这半个月的实习训练,我了解到自己所学的如何在实践中运用。

当然学的更多的是如何在更新网站内容和添加商品,每天不厌其烦的更新添加,观察自己的胜利更多的是兴奋。

还有发布了一些关于公司产品的博客,比如新浪,网易。

而后又尝试在百度知道上提问与回答,在回答问题的过程中,通过网站搜寻相关内容来回答各种丝网问题,通过百度知道这个平台,我对公司又了更一步的了解。

经过半个月的实训我学到了许多之前没有学过没有接触到的东西,熟悉到自己的不足,需要更加努力,才能尽快的学会在社会上生活,敢于面对社会的压力,使自己可以在社会上成长进展。

数据库试验报告篇2由于平常接触的都是一些私人项目,这些项目大都是一些类库,其他人的沟通相对可以忽视不计,因此也就不考虑规范化的文档。

实际上从学习的经受来看,我们接触的学问体系都是属于比较老或比较传统的,与现在进展快速的IT行业相比许多状况已不再适用,尤其是当开源模式渐渐走近开发者后更是如此。

虽然这次是一个数据库课程设计,由于本人在选择项目的时候是本着对自己有实际应用价值的角度考虑的,所以其中也涉及到一些数据库以外的设计。

数据库上机实验报告

数据库上机实验报告

数据库上机实验报告数据库上机实验报告试验内容1、数据表的建立基本表《简单的》带有主键带有外码约束的(外码来自其他表或者本表)2、数据表的修改添加删除列修改列属性类型添加删除约束(约束名)元组的添加,修改,删除删除数据表试验过程1、create table student(sno char(9) primary key , /*sn o是主码列级完整性约束条件*/sname char(20) unique, /*sname 取唯一值*/ssex char(2),sage smallint, /*类型为smallint*/sdept char(20)/*所在系*/);create table course(cno char(4) primary key, /*列级完整性约束条件,cno是主码*/cname char(40),cpno char(4),/*cpno的含义是先行课*/ccredit smallint,foreign key (cpno) references course(cno)/*表级完整性约束条件,cpno是外码,被参照表是course,被参照列是cno*/);create table sc(sno char(9),cno char(4),grade smallint,primary key (sno,cno),/*主码有两个属性构成,必须作为表级完整性进行定义*/foreign key (sno) references student(sno),/*表级完整性约束条件,sno是外码,被参照表是student*/foreign key (cno) references course(cno),/*表级完整性约束条件,cno是外码,被参照表示course*/);例1、create table s(cno varchar(3), /*变长的字符串,输入2个字符就是两个字符不会补空格*/sname varchar(20),status int,city varchar(20),constraint pk_sno primary key(sno), /*约束条件的名字为pk_sno*/);create table p(pno varchar(3),pname varchar(20),color varchar(3),weight int,constraint pk_pno primary key (pno), /*约束条件的名字是pk_pno*/);create table j(jno varchar(3),jname varchar(20),city varchar(20),constraint pk_jno primary key(jno) /*约束条件的名字为pk_jno*/);例2、create table spj(sno varchar(3), /*第一个表中的主码*/pno varchar(3),jno varchar(3),qty int, /*数量*/constraint pk_spj primary key(sno,pno,jno), /*主码由3个属性组成*/foreign key(sno) references s(sno),/*表级完整性约束条件,sno是外码,被参照表是s*/foreign key(pno) references p(pno),/*表级完整性约束条件,pno是外码,被参照表是p*/foreign key(jno) references j(jno),/*表级完整性约束条件,jno是外码,被参照表是j*/);2、数据表的更改在s表中添加一个concat 列alter table s add concat varchar(20)在s表中删除concat 列alter table s drop column concat更改s表concat列的属性把长度由20改为30alter table s alter column concat varchar(30)联系方式名字为concat 修改属性为唯一的属性名为con_concatalter table s add constraint con_concat uniqu e(concat)删除约束关系con_concatalter table s drop constraint con_concat/*插入一个元组*/insert into s valus(‘s1’,’精益’,20,’天津’) /*20不能写成’20’*/试验中的问题的排除与总结:1、在创建spj时有三个实体所以从3个实体中取主码,还有一个数量属性也要写上主码由那3个主码确定2、更改一个数据库中数据表时一定要先使该数据库处于正在使用状态3、constraint是可选关键字,表示primary key、not null、unique、foreign key 或check 约束定义的开始。

数据库上机实验报告+总结

数据库上机实验报告+总结

Access数据库上机实验报告陶瓷公司管理信息系统项目1 实验目的1.了解信息系统开发的主要过程,体会在系统开发中系统实施的主要步骤。

2.掌握使用Access的表、查询、窗体、报表等工具开发一个小型信息系统的主要方法。

3.通过此系统开发实践,理解数据库的基础知识,软件开发工具的知识以及管理信息系统得知识,了解如何将它们融会贯通。

同时通过实践培养学生综合运用知识和开发应用系统的能力。

2 实验内容1、以“陶瓷公司管理信息系统”的名称创建数据库。

2、根据给定的字段信息,创建散件表、套件表、陶瓷组成表、制造商表。

3、录入数据根据给定的excel文件,利用导入功能将数据导入到相应的表中。

4、建立查询先建立散件表与制造商表的中相同字段“制造商编号”对应关系。

通过向导完成制造商散件库存量查询。

5、开发报表使用报表向导设计报表,通过添加散件成本、散件出售价格、散件编号、散件名称、库存、制造商名称完成字段分组。

6、窗体设计通过窗体设计向导,绘制界面,并定义功能键的操作功能。

添加文本框,并定义数据源,完成表的数据关联,定义好查询、添加等按钮的功能。

3 实验结果实验总结在短暂的学习中设计视图,Aceess简单查询向导,交叉表查询向导,引入数据等操作。

学习数据库的过程中感觉跟学习其他课程一样,也有丰富的知识。

查询的创建共有五种创建查询的方法,习惯采用的是设计查询和向导的查询。

设置查询方面的知识:添加表/查询,更改表或查询间的关系,删除表/查询。

设置查询结果的排序,设置字段的显示属性等等。

感谢这次教学实验,使我对数据库有了更深的了解,希望在以后的学习中,数据库的运用可以对我有更大的帮助。

数据库上机实验报告

数据库上机实验报告

数据库实验
(第二次)
实验一数据库的定义和建立实验
一截图
二思考题
1﹑为什么要建立索引?在你的数据库中建立多少索引合适?
当表的数据量比较大时,查询操作会比较耗时。

建立索引是加快查询速度的有效手段。

只需在spj表里分别对pno,sno,jno建立索引即可。

2﹑索引和视图能否修改吗?为什么?
视图不可以,因为视图是是一个虚表,如果修改需要对基本表进行操作。

索引可以,索引是将表中的部分属性按照某种排序重新建立的表.
3﹑为什么不能随意删除被参考表中的主码?
这样会破坏数据库的参照完整性。

数据库上机实验报告范文1-2_sql上机实验报告范文

数据库上机实验报告范文1-2_sql上机实验报告范文

数据库上机实验报告范文1-2_sql上机实验报告范文数据库上机实验报告1-2学号:姓名:日期:20年月日实验目的:(1)编写修改数据库表的SQL语句(2)[选做]编写修改数据库完整性约束的SQL语句(3)删除数据库中数据及表的语句(2)修改department表,将chool的类型改为varchar(30)方法:例如altertabletetaddGPAnumeric(3,2),GPBnumeric(3,2);altertableintruc toraltercolumndept_namevarchar(50)要求:完成后,在下方提供SQL语句2(1)创建如下表chool(chool_namevarchar(30)notnull,budgetnumeric(18,2),deanvarch ar(50))(2)删除列budget方法:例如altertabletudentdropcolumnGPA,GPB要求:完成后,在下方提供SQL语句3(1)[选做]为chool表增加主键约束:chool_name(2)[选做]为chool表增加外键约束:deanreferenceintructor.ID方法:例如altertabletudentaltercolumnidchar(5)notnull;altertabletudentaddp rimarykey(id),foreignkey(dept_name)referencedepartment;或者例如:altertabletudentaddcontraintpk_tudentprimarykey(id),contraintfk_ tudent_deptforeignkey(dept_name)referencedepartment;不同之处在于,这两条语句提供了约束名(contraintname)要求:完成后,在下方提供SQL语句4(1)[选做]删除chool表的主键约束(2)[选做]删除chool表的外键约束方法:如不知道约束名,在“键”中找到并复制约束名,然后执行类似如下的语句:altertableintructor_1dropcontraintPK_intructor_1,FK__intructo__d ept要求:完成后,在下方提供SQL语句5(1)用inert语句在chool表中插入任意两条数据(2)删除chool表中的全部数据(3)删除chool表要求:完成后,在下方提供SQL语句。

数据库上机报告

数据库上机报告

数据库上机报告一、实验目的本次实验旨在让学生熟悉基本的SQL语句,了解数据库的基本概念,掌握数据库设计的基本思路和方法。

二、实验环境1.软件环境:操作系统:Windows 10数据库:MySQL编辑器:Navicat2.硬件环境:CPU:Intel Core i5内存:8GB三、实验步骤1.创建数据库和数据表使用Navicat连接MySQL数据库,在Query Editor中输入以下SQL语句创建数据库和数据表:CREATE DATABASE experiment;USE experiment;CREATE TABLE student(id INT PRIMARY KEY,name VARCHAR(20),age INT,gender VARCHAR(2),);2.插入数据在Query Editor中输入以下SQL语句插入数据:INSERT INTO student(id,name,age,gender) VALUES(1,'Tom',22,'男'),(2,'Lucy',20,'女'),(3,'Mike',25,'男'),(4,'Susan',23,'女');3.查询数据在Query Editor中输入以下SQL语句查询数据:SELECT * FROM student;4.更新数据在Query Editor中输入以下SQL语句更新数据:UPDATE student SET age=26 WHERE name='Mike';5.删除数据在Query Editor中输入以下SQL语句删除数据:DELETE FROM student WHERE name='Susan';四、实验总结通过本次实验,我掌握了SQL语句的基本使用方法,了解了数据库的基本概念,学会了使用Navicat进行数据库操作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库实验
(第三次)
题目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实验内容:
1.把全部红色零件颜色改为粉红色;
2.由S1供给J1的零件P1今改为由S2供应,作必要修改;
3.删去全部蓝色零件及相应的SPJ记录;
4.把全部螺母的重量置为0;
5.为SPJ表的QTY字段设计CHECK约束:0〈QTY〈1000;
6.实现对SPJ表的操作权限管理的使用。

1
update p
set COLOR='粉红'
where pno in
(select pno
from P
where COLOR='红')
2
update spj
set sno ='s2'
where sno ='s1'and pno ='p1'and jno ='j1' 3
delete
from spj
where pno ='p3'or pno ='p5'
delete
from p
where color ='蓝'
4
update p
setweight='1'
where pname ='螺母'
5
altertable spj
addconstraint c1 check(qty between 0 and 1000 ) createtrigger spj_count
afterINSERTON spj
referencing
new tableas delta
for each statement
insertinto spjinsertlog(numbers)
select count(*)from delta
6
createrole user1
grantselect,update,delete,insert
on spj
to user1
四、思考题
1.为什么不能随意删除被参考表中的主码。

破坏了数据的完整性
2.数据库中一般不允许更改主码数据。

如果需要更改主码数据时,怎样处理?
需要查看是否该表的主码别的表的外码并被依赖,如果是需要先将另一个表中跟需要删除的信息有关的元组,然后再更改主码数据。

3.两种SQL Server的安全认证模式及特点。

混合模式,就是使用windos集成的身份验证也可以,使用SQL Server独立认证
可以。

这种方式验证方式较宽,安全性跟兼容性是较为平衡的。

Windows集成身份验证,仅仅支持windos集成的身份,这种方式比较不安全,因为没有SQL Server的独立授权,与Windows自身的权限可能出现交叉问题,会造成安全问题。

4.什么是触发器?主要功能时什么?
触发器是用户定义在关系表上的一类由事件驱动的特殊过程。

任何用户对表的增,删,改操作均由服务器自动激活相应的触发器,在关系数据库管理系统核心层进行集中的完整性控制。

触发器类似于约束,但是比约束更加灵活,可以实现复杂的检查和操作,具有更精细和更强大的数据控制能力。

相关文档
最新文档