数据库上机实验五
数据库上机实验报告
数据库上机实验报告数据库上机实验网络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、总结实验过程中遇到的问题及解决。
数据库上机实验4、5
实验四:一、实习目的:掌握SELECT的基本使用格式,能使用SQL Server对表作简单的查询。
二、准备:1.复习3.4节中SELECT的基本使用格式;2.复习SQL中五种集函数:AVG、SUM、MAX、MIN、COUNT;3.完成习题3第12题中各项操作的SQL语句。
三、实习内容:1.验证习题3第12题中各项操作的SQL语句。
2.验证以下语句是否正确:SELECT eno,basepay,serviceFROM salaryWHERE basepay<AVG(basepay);四、实验报告:1.1)找出所有被学生选修了的课程号:select distinct Cno 课程号from Grade2)找出01311班女生的个人信息:select * from Studentwhere Clno='01311' and Ssex='女'3)找出01311班和01312班的学生姓名性别出生年份select sname 学生姓名,ssex 性别,2016-sage 出生年份from Studentwhere Clno='01311' or Clno='01312'4)找出所有姓李的学生的个人信息select * from Studentwhere Sname like '李%'5)找出李勇所在班级的学生人数select COUNT(*) from Studentwhere Clno in(select Clno from Studentwhere Sname='李勇')6)找出课程名为操作系统的平均成绩最高分最低分select AVG(Gmark) 平均成绩,MAX(Gmark) 最高分,MIN(Gmark) 最低分from Gradewhere Cno in(select Cno from Coursewhere Cname='操作系统')7)选修了课程的学生人数;select COUNT(distinct sno) 学生人数fromGrade8)选修了操作系统的学生人数:select COUNT(distinct sno) 学生人数from Gradewhere Cno in(select Cno from Coursewhere Cname='操作系统')9)找出2000级计算机软件班的成绩为空的学生姓名:2.错误。
数据库上机实验报告
数据库上机实验报告一、实验目的。
本次数据库上机实验的主要目的是帮助学生熟悉数据库的基本操作和SQL语句的使用,通过实际操作加深对数据库管理系统的理解,提高学生的实际操作能力和解决问题的能力。
二、实验环境。
本次实验使用的数据库管理系统为MySQL,操作系统为Windows 10。
实验中使用的工具包括MySQL Workbench和命令行工具。
实验中使用的数据库为一个包含学生信息、课程信息和成绩信息的简单数据库。
三、实验内容。
1. 创建数据库和表格。
首先,我们使用SQL语句在MySQL中创建一个名为“student”的数据库,并在该数据库中创建三个表格:student、course和score。
表格的结构如下:student表格包括学生的学号、姓名和性别信息;course表格包括课程的编号、名称和学分信息;score表格包括学生的学号、课程的编号和成绩信息。
2. 插入数据。
接下来,我们使用SQL语句向创建好的表格中插入一些示例数据,以便后续的操作和查询。
我们插入了一些学生、课程和成绩的信息,以便后续的查询和操作。
3. 查询操作。
在插入数据之后,我们进行了一系列的查询操作,包括简单的SELECT查询、带有条件的查询、多表连接查询等。
通过这些查询操作,我们可以对数据库中的数据进行检索和分析,了解数据库中数据的结构和关联关系。
4. 更新操作。
除了查询操作,我们还进行了一些更新操作,包括UPDATE语句和DELETE语句。
通过这些更新操作,我们可以对数据库中的数据进行修改和删除,保持数据的一致性和准确性。
5. 索引和视图。
最后,我们学习了如何在数据库中创建索引和视图,以提高数据库的查询性能和数据的可视化展示。
四、实验总结。
通过本次数据库上机实验,我们对数据库的基本操作和SQL语句的使用有了更深入的了解和掌握。
我们学会了如何创建数据库和表格,如何插入和查询数据,以及如何进行更新操作和创建索引和视图。
这些知识和技能对我们日后的数据库管理和应用开发都将有很大的帮助。
数据库上机实验报告
数据库上机实验报告摘要:本次数据库上机实验主要介绍了SQL语言在数据库中的应用,通过实际操作掌握了SQL语言的基本语法和常用命令,同时实践了数据库的建立、数据表的创建、数据插入、修改、删除、以及查询等操作。
本文将详细介绍实验中所使用的数据结构和算法,以及实验数据和结果的分析与总结。
一、实验目的本次实验的目的是对数据库相关的运用做一次实践操作,包括了数据库的建立、数据表的创建、数据插入、修改、删除、以及查询等操作。
力求将理论知识与实践经验相结合,为今后的数据库实践奠定基础。
二、实验原理本次实验中主要使用的是SQL语言对数据库进行管理。
SQL是一种结构化查询语言,可以对数据库进行查询、操作、管理等。
通过SQL语言对数据库中的数据进行增、删、改、查等操作,可以实现对数据的有效管理。
三、实验步骤1. 建立数据库首先在本地电脑建立数据库,可以通过使用全局管理工具进行实现。
2. 创建数据表在数据库中创建数据表,可以用CREATE TABLE命令来实现。
首先需要指定表的名称,其次需要指定表的字段名及其数据类型。
3. 插入数据表创建好之后,可以向表中插入数据。
可以使用INSERT命令将数据插入到表中,INSERT后面接表名和插入的数据。
4. 数据查询对于已经插入到数据库中的数据,可以进行查询操作。
可以通过SELECT语句对数据库进行查询。
SELECT后面需要指定要查询的字段名或者使用星号表示要查询全部字段。
5. 数据修改在数据库中,数据的修改一般是使用UPDATE命令来实现。
通过UPDATE语句可以修改已经存在的数据信息。
6. 数据删除表中的某个项不再需要时,可以通过DELETE语句来删除数据库中的数据项。
DELETE命令后面跟上要删除的数据。
四、实验结果通过SQL的基本命令,我们在本地电脑中成功的建立起了一个数据库,并把相关的数据插入到该数据库中。
在查询过程中,SQL可以只按照需要查询的数据来进行操作,使得数据的处理过程更加高效。
数据库上机实验报告
数据库上机实验报告数据库上机实验报告引言:数据库是现代信息技术中非常重要的一个组成部分,它可以帮助我们有效地存储、管理和检索大量的数据。
本次上机实验旨在通过实际操作,加深对数据库的理解,并掌握一些基本的数据库操作技巧。
实验环境:本次实验使用的是MySQL数据库管理系统,通过MySQL Workbench进行操作。
数据库中包含了一个学生信息表,其中包括学生的学号、姓名、性别、年龄等信息。
实验内容:1. 创建数据库首先,我们需要创建一个数据库来存储学生信息。
通过在MySQL Workbench中执行CREATE DATABASE语句,我们成功创建了一个名为"student"的数据库。
2. 创建数据表接下来,我们需要在数据库中创建一个数据表来存储学生信息。
通过执行CREATE TABLE语句,我们定义了一个名为"student_info"的数据表,并指定了各个字段的名称和数据类型。
例如,学号字段的数据类型为INT,姓名字段的数据类型为VARCHAR(20)等。
3. 插入数据在数据表创建完成后,我们需要向其中插入一些数据。
通过执行INSERT INTO语句,我们成功插入了几条学生信息记录。
例如,学号为1001的学生姓名为张三,性别为男,年龄为20岁。
4. 查询数据数据库的一个重要功能就是能够快速检索和查询数据。
通过执行SELECT语句,我们可以根据特定的条件来查询数据。
例如,我们可以查询所有性别为女的学生信息,或者查询年龄在18岁以上的学生信息。
5. 更新数据有时候,我们需要修改已有的数据。
通过执行UPDATE语句,我们可以更新数据表中的记录。
例如,我们可以将学号为1001的学生姓名由张三修改为李四。
6. 删除数据如果某条数据不再需要,我们可以通过执行DELETE语句将其从数据表中删除。
例如,我们可以删除学号为1001的学生信息记录。
实验总结:通过本次实验,我对数据库的基本概念和操作有了更深入的理解。
数据库课程实验报告_实验五_学生、选课、成绩简易管理系统
实验五编程实施学生、选课、成绩简易管理系统一.目的与要求1.通过编程扩展“学生选课系统”的功能。
2.进一步掌握调试程序的基本步骤和方法。
二.实验内容1.使学生、教师和课程表具有增加、修改、删除和查询数据的功能。
2.学生根据开设的课程进行选课.3.教师根据学生所选课程进行成绩登录。
4.各类统计分析,比如平均成绩。
系统说明:学生:可以进行选课、退课、查分、查看学生自己的信息、修改自己的密码。
教师:可以查询已选学生、登分、查看教师自己的信息、修改自己的密码。
管理员:可以增加和删除课程、学生、教师等信息,可以查看和修改学生、教师密码,可以注册和注消学生、教师,有所有学生的功能,能够查询教师信息。
部分窗口如下:部分代码如下:如查分代码如下:通过datawindow中通过学号可以查看自己成绩。
dw_1.reset()dw_1.settransobject(SQLCA)dw_1.retrieve(user)dw_1.object.datawindow.readonly="yes"三.上机体会。
进一步掌握了开发管理系统的基本方法;掌握了使用PowerBuilder开发环境提供的工具建立应用程序的步骤和方法;掌握应用PowerBuilder提供的调试程序进行应用程序的调试。
实验六SQL Server 2000高级技术的使用一.目的与要求1.练习存储过程的建立和使用。
2.学会触发器的使用。
二.实验内容1.存储过程的建立和使用。
(1)创建存储过程,使其具有如下功能:根据所提供的学号参数,返回该学生的学习情况信息。
(2)查看和修改存储过程;(3)使用存储过程;(4)删除存储过程。
2.触发器的建立和使用(1)创建两个触发器,分别具有如下功能:a.将删除的学生选课信息转移到存档学生选课表中;b.在修改学生成绩时,要求修改后的成绩一定要比原来的成绩高;(2)查看和修改触发器;(3)使用触发器;(4)删除触发器;3.为实验五设计存储过程和触发器,通过调试验证其正确性。
数据库上机实验报告
数据库上机实验报告引言:数据库是一种用于存储和管理数据的工具,它在现代社会中的重要性无可忽视。
本次实验旨在通过实际上机操作,加深对数据库的理解,并熟悉其相关操作和功能。
一、实验背景在信息时代的大背景下,各种类型的数据呈现指数级增长。
为了有效地存储和管理这些数据,数据库被广泛采用。
数据库管理系统(DBMS)是一套软件工具,用于定义、创建、管理和检索数据库。
本次实验将使用一款流行的开源DBMS工具MySQL。
二、实验目的1. 了解数据库的基本概念和原理;2. 掌握数据库的基本操作;3. 理解并应用SQL语言;4. 通过实际操作,熟悉数据库的增删改查功能。
三、实验过程1. 数据库的创建与连接首先,在MySQL中创建一个新的数据库,并通过合适的用户名和密码连接到该数据库。
数据库连接作为与数据库通信的接口,是进行各种操作的基础。
2. 数据表的创建与设置创建数据表是数据库设计的核心部分。
在实验过程中,我们选择创建一个学生信息表格。
通过指定各个字段的数据类型、长度以及约束,定义了学生信息表的结构。
3. 数据的插入与查询在学生信息表中插入若干条测试数据,包括学生姓名、年龄、性别、学号等信息。
通过SQL语句,我们可以灵活地插入、查询和过滤数据。
例如,查询年龄大于20岁的学生或者查询特定学号的学生等。
4. 数据的更新与删除数据库的更新和删除操作是不可或缺的。
我们可以通过SQL语句,修改特定记录的字段值,或者删除某些记录,以实现数据的动态维护和管理。
四、实验结果与分析通过实验操作,我们成功创建了学生信息表格,并插入了若干测试数据。
在查询功能上,我们能够根据不同的条件,按照要求查询指定的学生信息。
此外,我们还尝试了数据的更新和删除操作,成功地修改了一部分学生的年龄和性别,并删除了一些无效的记录。
五、实验总结通过本次数据库上机实验,我对数据库的基本概念、原理和操作有了更深入的了解。
在实践中,我能熟练地使用创建数据库、创建数据表、插入数据、查询数据以及修改和删除数据等功能。
数据库实验5答案
实验五:数据库综合查询一、实验目的1.掌握SELECT语句的基本语法和查询条件表示方法;2.掌握查询条件种类和表示方法;3.掌握连接查询的表示及使用;4.掌握嵌套查询的表示及使用;5.了解集合查询的表示及使用。
二、实验环境已安装SQL Server企业版的计算机(120台);具有局域网环境,有固定IP;三、实验学时2学时四、实验要求1.了解SELECT语句的基本语法格式和执行方法;2.了解连接查询的表示及使用;3.了解嵌套查询的表示及使用;4.了解集合查询的表示及使用;5.完成实验报告;五、实验内容及步骤1.利用Transact-SQL嵌套语句实现下列数据查询操作。
1) 查询选修了计算机体系结构的学生的基本信息。
select*from studentwhere Sno in(select Sno from coursewhere Cno in(select Cno from sc where Cname='计算机体系结构'))2) 查询年龄比李勇小的学生的学号和成绩。
select a.sno,grade from student a,coursewhere a.sno=course.sno and sage<(select sage from student where sname='李勇')3) 查询其他系中比系编号为‘D1’的学生中年龄最小者要大的学生的信息。
select*from student where dnum<>'D1'AND SAGE>(select min(sage)from student where dnum='D1')4) 查询其他系中比系编号为‘D3’的学生年龄都大的学生的姓名。
select*from student where dnum<>'D3'AND SAGE>all(selectsage from student where dnum='D3')5) 查询‘C1’课程的成绩高于70的学生姓名。
数据库上机实验表 项目五
Grant select,update,insert
On table student
To r3
4.建立视图,写语句实现如下功能:辅导员不能修改学生成绩,专业教师不能修改除成绩之处的学生信息。
CREATE VIEW update1
AS
SELECT update1 u1, u2, u3
3.服务器:消息156,级别15,状态1,行3
4.在关键字'table'附近有语法错误。
5.视图不能实现。
解决方案(列出遇到的问题和解决办法,列出没有解决的问题):
1.改过数据库后,运行通过。
2.视图创建未角色不对,更过数据库后,运行通过。
《数据库原理及应用》上机实验报告表
题目
数据安全性控制
姓名
丁建东
日期
2010-4-22
实验环境
操作系统为Microsoft Windows2000、数据库管理系统为Microsoft SQL Server2000标准版或企业版
实验内容与完成情况(备注:若纸张不够可以另外加页)
1.创建教辅人员角色,授予学生成绩表的查询权限
2.创建专业教师角色,授予所教课程的成绩读写权限
exec sp_addlogin 'u2','123','school'
create role r2;
grant update
on table score,student
to r2
3.创建学生角色,授予学生信息表读写权限,其余表的只读权限
exec sp_addlogin 'u3','123','school'
数据库 实验五
数据库实验五在学习数据库的过程中,实验是巩固理论知识、提高实践能力的重要环节。
本次实验五主要围绕数据库的某些关键操作和应用展开,通过实际动手操作,让我们对数据库的理解更加深入和全面。
本次实验的环境是常见的数据库管理系统,如 MySQL 或 SQL Server 等。
实验的目的是让我们熟练掌握数据库的查询、更新、插入和删除等基本操作,同时能够运用这些操作解决一些实际的问题。
实验的第一个任务是进行数据的查询操作。
查询是从数据库中获取所需信息的重要手段。
我们需要根据给定的条件,从数据表中筛选出符合要求的数据。
这就涉及到了使用 WHERE 子句来设定条件,以及各种运算符如等于(=)、大于(>)、小于(<)、不等于(<>)等的运用。
同时,还需要掌握连接(JOIN)操作,将多个相关的数据表连接起来,以获取更全面和准确的信息。
例如,在一个学生成绩管理系统中,要查询某个班级中数学成绩大于 80 分的学生名单,就需要先从学生表中获取班级信息,再从成绩表中筛选出数学成绩符合条件的记录,最后通过学生学号将两个表连接起来,得到最终的结果。
接下来是数据的更新操作。
这包括对已有数据的修改和删除。
在进行更新操作时,必须格外小心,因为一旦操作失误,可能会导致数据的丢失或错误。
在修改数据时,同样要使用 WHERE 子句来指定要修改的记录。
例如,要将某个学生的数学成绩从 80 分修改为 90 分,就需要明确指定该学生的学号或其他唯一标识。
而删除数据则需要更加谨慎,通常建议先进行查询,确认要删除的记录准确无误后,再执行删除操作。
数据的插入操作也是实验的重要部分。
插入新的数据可以增加数据库的信息量。
在插入数据时,需要注意数据的类型和格式要与数据表的定义相匹配。
比如,一个学生信息表中,学号是整数类型,姓名是字符串类型,出生日期是日期类型,如果插入的数据类型不正确,就会导致插入失败。
在实验过程中,我也遇到了一些问题和挑战。
比如,在进行复杂的查询操作时,由于条件设置不当,导致查询结果不准确。
数据库上机实验五
实验五SQL语言综合实验一、实验目的利用SQL语言的9个动词以及相关语法解决综合问题;体会SQL语言在数据库系统设计、实现过程中的作用。
二、实验内容及步骤特别说明:实验过程中所有的SQL语句的都需要保存到一个word文件或文本文档中,实验结束前需将SQL语句粘贴到网络课程中提交;数据库文件需分离后压缩提交FTP。
以下操作均在查询分析器中实现:1、建立以dbszh+“学号”命名的数据库,如dbszh101 //设1班01号学生。
2、在第一步建立的数据库中建立S,C,SC基本表❖S(sno,sname,sex,bdate,height) 030920311 王义平男1984-08-20 1.71❖C(cno,lhour,credit,semester) cs-201 80 4 秋❖Sc(sno,cno,grade) 030920311 cs-201 80.0 各字段数据类型请参考示例元组设定,定义S表的主码为sno,定义C表的主码为cno,定义SC表的主码为(sno,cno),定义sno为SC表的外码,定义cno为SC表的外码。
3、修改基本表(1)在C表中增加一个新的属性“cname”,char(8)型,允许为空值。
(2)将C表中的cname属性类型改为char(20)型。
(3)删除C表中的cname属性。
4、建立索引(1)在SC表的多个字段建立索引,以“INDEX+自己的学号”命名索引名(如:index101),先按学号升序索引,然后按成绩降序索引。
(2)删除刚才建立的索引。
5、更新数据(1)利用INSERT语句插入元组:S表中:030920311 王义平男1984-08-20 1.71050620312 张三男1984-04-20 1.9“你的学号”“你的姓名”“你的性别”“你的出生日期”“你的身高”C表中:(课程号cno值的前两位表示开课系)cs-201 80 4 秋cs-202 60 4 春dj-101 30 2 秋Sc表中:030920311 cs-201 75“你的学号”cs-202 68“你的学号”dj-101(2)利用UPDATE修改元组将SC表中你自己的成绩都改为90分。
数据库实验报告:实验五
数据库实验报告:实验五一、实验目的本次数据库实验五的主要目的是深入了解和掌握数据库的高级操作,包括存储过程的创建与使用、视图的定义和应用、以及事务处理的原理和实践。
通过这些实验内容,提高我们对数据库系统的综合运用能力,为解决实际的数据库管理问题打下坚实的基础。
二、实验环境本次实验使用的数据库管理系统是 MySQL 80,开发工具为 Navicat Premium 12。
操作系统为 Windows 10 专业版。
三、实验内容及步骤(一)存储过程的创建与使用1、创建一个名为`get_student_info` 的存储过程,用于根据学生学号查询学生的基本信息(包括学号、姓名、年龄、性别和专业)。
```sqlDELIMITER //CREATE PROCEDURE get_student_info(IN student_id INT)BEGINSELECT FROM students WHERE student_id = student_id;END //DELIMITER ;```2、调用上述存储过程,查询学号为 1001 的学生信息。
```sqlCALL get_student_info(1001);```(二)视图的定义和应用1、创建一个名为`student_grade_view` 的视图,用于显示学生的学号、姓名和平均成绩。
```sqlCREATE VIEW student_grade_view ASSELECT sstudent_id, sname, AVG(ggrade) AS average_gradeFROM students sJOIN grades g ON sstudent_id = gstudent_idGROUP BY sstudent_id, sname;```2、查询上述视图,获取所有学生的平均成绩信息。
```sqlSELECT FROM student_grade_view;```(三)事务处理1、开启一个事务,向学生表中插入一条新的学生记录(学号:1005,姓名:_____,年龄:20,性别:男,专业:计算机科学)。
数据库应用技术上机报告
数据库应用技术上机报告实验五:T-SQL编程姓名:刘运凯学号:10070050班级:10计科2一、实验目的与要求1、掌握用户自定义类型的使用;2、掌握变量的分类及其使用;3、掌握各种运算符的使用;4、掌握各种控制语句的使用;5、掌握系统函数及用户自定义函数的使用;二、实验准备1、了解T-SQL支持的各种基本数据类型;2、了解自定义数据类型使用的一般步骤;3、了解T-SQL各种运算符、控制语句的功能及使用方法;4、了解系统函数的调用方法;5、了解用户自定义函数使用的一般步骤;三、实验内容1、已知数据库YGGL中有3个基本表Employees、Departments和Salary,其表结构分别如下:列名数据类型长度是否可空EmployeeID定长字符串型(char)6×Name定长字符串型(char)10×Education定长字符串型(char)4×Birthday日期型(datetime)系统默认×Sex位型(bit)系统默认×WorkYear整数型(tinyint)系统默认√Address不定长字符串型(varchar)40√PhoneNumber 定长字符串型(char)12 √DepartmentID 定长字符串型(char) 3 ×表1 Employees表的结构列名数据类型长度可空DepartmentID定长字符串型(char)3×DepartmentName定长字符串型(char)16×Note不定长字符串型(varchar)1√表2 Departments表的结构列名数据类型长度可空EmployeeID定长字符串型(char)3×InCome浮点型(float)20×OutCome浮点型(float)100×表3 Salary表的结构在数据库YGGL按要求完成以下题目1、T-SQL编程(必做题)【1】变量的使用:定义一个变量,用于获取‘102201’员工的电话号码DECLARE @varl char(10)SET @varl='102201'SELECT PhoneNumberFROM EmployeesWHERE EmployeeID=@varl【2】流程控制语句的使用:判断姓名为王林的员工实际收入是否高于3000,如果是则显示其收入,否则显示‘收入低于3000IF(SELECT InComeFROM Salary,EmployeesWHERE Salary.EmployeeID=Employees.EmployeeIDAND Name='王林')>=3000SELECT InComeFROM Salary,EmployeesWHERE Salary.EmployeeID=Employees.EmployeeIDAND Name='王林'ELSESELECT'收入低于3000'【3】使用系统内置函数完成下列操作(1)删除字符串“MICROSOFT SQL SERVER”左边的空格,显示结果。
数据库上机实验报告
实验一:建立数据库及基本表一、实验目的1、了解SQL Server数据库的逻辑结构和物理结构;2、了解SQL Server的基本数据类型;3、学会在企业管理器中创建数据库和表;4、使用SQL查询分析器用CREATE、DROP、ALTER语句创建和删除数据库,创建、删除、更新基本表。
二、实验内容1、创建数据库和查看数据库属性。
2、创建表。
3、查看和修改表结构。
4、熟悉企业管理器和查询分析器工具的使用方法三、实验步骤1、在企业管理器中创建数据库和数据表。
(1) 使用企业管理器建立图书管理数据库,数据库名为BM,初始大小为 10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。
数据库的逻辑文件名和物理文件名均采用默认值。
详细步骤:(2) 在企业管理器中查看图书管理数据库的属性,并进行修改,使之符合要求。
(3) 通过企业管理器,在建好了图书管理数据库BM中建立图书(book)、读者(reader)和借阅(borrow)3个表,其结构为:图书(书号,类别,出版社,作者,书名,定价);读者(编号,姓名,单位,性别,电话);借阅(书号,读者编号,借阅日期)。
三个表各个字段的数据类型:(4) 利用企业管理器向表中输入数据。
2、在查询分析器中创建数据库和数据表(1) 创建数据库S-C 的sql语句:create database s_c(2) 在数据库S-C下,创建基本表学生表student(sno,sname,ssex,sage,sdept)的sql语句:create table student( sno c(8),sname c(10),ssex c(2),sage(4),sdept c(8) )创建基本表课程表course(cno,cname, ccredit)的sql语句:create table course( cno c(4),cname c(10),ccredit c(2) )创建基本表成绩表sc(sno,cno,grade)的sql语句:create table sc( sno c(8),cno c(4),grade n(4) )(3) 在窗口下分别键入DROP TABLE Student及DROP TABLE SC命令,运行后观察结果。
数据库上机实验报告
数据库上机实验报告
本次数据库上机实验主要涉及到数据库的设计、创建和查询,通过对实验内容的学习和实践,我对数据库的相关知识有了更深入的理解和掌握。
首先,我们学习了数据库的设计原理和方法。
在数据库设计的过程中,需要考虑到数据的完整性、一致性和安全性等因素,通过对实际案例的分析和设计,我了解到了如何根据需求确定实体、属性和关系,并进行逻辑设计和物理设计。
在实验中,我使用了ER图和关系模式图等工具,对数据库的结构和关系进行了清晰的描述和设计。
其次,实验中我们学习了数据库的创建和管理。
通过使用SQL语句,我成功创建了数据库和表,并进行了数据的插入、修改和删除操作。
在实验过程中,我深入了解了SQL语句的语法和用法,掌握了如何利用SQL语句对数据库进行有效的管理和操作。
最后,我们进行了数据库的查询操作。
通过学习和实践,我掌握了SQL语句中的SELECT语句的用法,能够实现对数据库中数据的查询和统计。
在实验中,我通过编写SQL语句,成功实现了对数据库中数据的查询和分析,对于复杂的查询需求也能够进行有效的处理和实现。
通过本次数据库上机实验,我不仅加深了对数据库设计、创建和查询的理解,还提高了对SQL语句的掌握和运用能力。
我相信这些知识和技能对我的未来学习和工作都将有很大的帮助。
总的来说,本次数据库上机实验内容丰富、操作性强,通过实际操作和实践,我对数据库的相关知识有了更深入的理解和掌握。
我相信这些知识和技能对我的未来学习和工作都将有很大的帮助。
希望通过不断的学习和实践,能够进一步提高自己的数据库技能,为将来的工作做好准备。
数据库上机实验报告(5)
《Access数据库技术及应用》上机实验报告(4)一、实验地点: E203 日期:2011-05-30二、实验环境:硬件系统:电脑型号联想操作系统 Windows 7 旗舰版 32位处理器英特尔 core i5 650内存 2 GB软件系统:操作系统:Windows 7使用软件:Microsoft Office Access 2007三、实验内容:查询练习(我们以“产品销售”数据库为例)1、查找最贵的两种产品。
在查询对象里打开在设计视图中创建查询。
把显示表里的产品标添加到来源区。
然后按要求在字段内一步步按所要运用的函数公式输入进去,注意,因为是最贵的两种产品,一定把产品表单价按照降序进行排列。
所有的步骤输入完成过后,点击运行按钮就行了。
运行结果:2、显示2000年的总销售额Select sum([单价]*[销售量]) as 总销售额from 产品表inner join 销售表on 产品表.产品编号=销售表.产品编号where year([销售日期])=2000步骤:在查询对象里打开在设计视图中创建查询。
把显示表里的销售表和产品表添加到来源区。
然后按要求在字段内一步步按所要运用的函数公式输入进去,注意,在这个题中,有一个牵涉条件的步骤就是年份的限定。
所以,我们有必要在条件区加上年份函数Year()函数,同时,这是一个条件,需要在条件区中调出总计一栏才可以进行条件设置。
如下图:运行结果见下图:同样,我们可以用SQL语句(此题的SQL语句见下:)SELECT Sum([单价]*[销售量]) AS 总销售额FROM 产品表INNER JOIN 销售表ON 产品表.产品编号= 销售表.产品编号WHERE (((Year([销售日期]))=2000));3、建立交叉表查询,显示不同客户不同设备的租金。
步骤:对象里打开在设计视图中创建查询。
把显示表里的客户表、设备表、租赁表添加到来源区。
然后按照要求一步步把所需要的函数公式输入到条件区,如下图所示注意,在这里有一个交叉表查询的问题。
数据库实验五实验报告
数据库实验五实验报告一、实验目的本实验旨在通过学习数据库的索引和优化,掌握数据库索引的使用和优化方法,进一步提升数据库的查询性能。
二、实验要求1.理解数据库索引的概念及作用。
2.熟悉索引的创建、删除和修改操作。
3.了解索引的类型及适用场景,并能选取合适的索引类型。
4.能通过观察执行计划和使用适当的策略对查询进行优化。
三、实验步骤1.索引的创建和删除首先,在已创建的数据库中选择适合创建索引的表。
通过如下语句创建一个测试表:CREATE TABLE test_table(id INT PRIMARY KEY,name VARCHAR(50),age INT);然后,可以在表的字段上创建索引,通过如下语句创建一个索引:CREATE INDEX idx_name ON test_table(name);索引创建完成后,可以通过如下语句删除索引:DROP INDEX idx_name ON test_table;2.索引的修改可以使用ALTER TABLE语句对已创建的索引进行修改。
例如,修改索引的名称:ALTER INDEX idx_name RENAME TO new_idx_name;或者修改索引的定义:ALTER INDEX idx_name RENAME COLUMN new_column_name;3.选择合适的索引类型在创建索引时,需要选择合适的索引类型。
常见的索引类型包括B树索引、哈希索引和全文索引。
- B树索引:适用于等值查询、范围查询和排序场景。
- 哈希索引:适用于等值查询,不支持范围查询和排序。
- 全文索引:适用于全文搜索场景。
4.查询优化在进行数据库查询时,可以通过观察执行计划来判断查询是否有优化空间。
执行计划是数据库在执行查询时生成的查询执行步骤和顺序图,可以根据执行计划优化查询。
另外,还可以通过以下策略对查询进行优化:- 使用合适的索引类型- 避免使用LIKE操作符- 避免使用SELECT *查询所有字段- 避免多表连接查询- 使用JOIN代替子查询- 避免使用不必要的DISTINCT操作符- 分页查询时,使用LIMIT关键字限制结果数量四、实验结果与分析通过实验,我们成功创建了一个测试表,并在该表的字段上创建了索引。
数据库上机实验五篇范文
数据库上机实验五篇范文第一篇:数据库上机实验创建数据表与数据输入Part I.使用SQL Server Management Studio创建数据表和输入数据 1.在SQL Server Management Studio中创建数据表 P69 1.(1)-(6)2.为数据表输入数据 P76 4.(1)-(4)3.数据浏览P771.(1)-(2)2.(1)-(3)Part II.使用SQL语句创建数据表和输入数据 1.使用SQL语句创建数据表 P72.例3-22.使用SQL语句输入数据 P82.例3.8习题:P.105(1)(2)insert 数据操作Insert、Update、DeleteP105 3.上机练习题(2)(4)Insert(100001, 1000, 2002-12-18 0:00:00)(100002, 2000, 2010-3-20 0:00:00)Update(100001, 1500, 2002-12-18 0:00:00)(100002, 2000, 2012-9-25 0:00:00)Delete Transact-SQL语句基础1 1.将teaching数据库中score 表的studentno列设置为引用表student的外键。
ALTER TABLE Score ADD CONSTRAINT FK_score_student FOREIGN KEY(studentno)REFERENCES student(studentno)2.将teaching数据库中class表的classname创建UNIQUE约束。
ALTER TABLE class ADD CONSTRAINT UQ_class UNIQUE(classname)执行如下插入语句,查看提示信息INSERT INTO class VALUES(‘090602’, ’计算机0902’, ’计算机学院’, ’马文斐’)3.为teaching数据库中student表的birthday列创建CHECK约束,规定学生的年龄在17-25岁之间。
数据库上机实验报告
数据库上机实验报告实验名称:数据库上机实验报告实验目的:通过在数据库环境下进行上机实验,掌握数据库的基本操作和SQL语言的使用。
实验内容:1. 创建数据库首先创建一个数据库,可以使用MySQL、Oracle或其他数据库管理系统的命令行或可视化工具创建。
命名为“example”。
2. 创建表在“example”数据库中创建一个新表,表名为“students”。
定义表结构,包括学生的学号、姓名、性别、年龄、班级等字段。
3. 插入数据向“students”表中插入若干条学生数据,包括学号、姓名、性别、年龄、班级等信息。
4. 查询数据使用SQL语句查询“students”表中的数据,例如查询年龄小于20岁的学生、查询班级为一班的学生等。
5. 更新数据使用SQL语句更新“students”表中的数据,例如将年龄小于18岁的学生的班级改为2班。
6. 删除数据使用SQL语句删除“students”表中的数据,例如删除性别为女的学生、删除班级为三班的学生等。
7. 关闭数据库使用命令或可视化工具关闭数据库连接。
实验步骤:1. 打开MySQL命令行或可视化工具,创建名为“example”的数据库。
2. 通过CREATE TABLE语句在“example”数据库中创建名为“students”的表,并定义表结构。
3. 使用INSERT INTO语句向“students”表中插入学生数据。
4. 使用SELECT语句查询“students”表中的数据。
5. 使用UPDATE语句更新“students”表中的数据。
6. 使用DELETE语句删除“students”表中的数据。
7. 关闭MySQL连接。
实验结果:1. 创建“example”数据库成功。
2. 创建“students”表成功,包括学生的学号、姓名、性别、年龄、班级等字段。
3. 成功插入若干条学生数据。
4. 成功查询“students”表中的数据,符合查询条件的学生数据被正确显示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五SQL语言综合实验
一、实验目的
利用SQL语言的9个动词以及相关语法解决综合问题;体会SQL语言在数据库系统设计、实现过程中的作用。
二、实验内容及步骤
特别说明:实验过程中所有的SQL语句的都需要保存到一个word文件或文本文档中,实验结束前需将SQL语句粘贴到网络课程中提交;数据库文件需分离后压缩提交FTP。
以下操作均在查询分析器中实现:
1、建立以dbszh+“学号”命名的数据库,如dbszh101 //设1班01号学生。
2、在第一步建立的数据库中建立S,C,SC基本表
❖S(sno,sname,sex,bdate,height) 030920311 王义平男1984-08-20 1.71
❖C(cno,lhour,credit,semester) cs-201 80 4 秋
❖Sc(sno,cno,grade) 030920311 cs-201 80.0 各字段数据类型请参考示例元组设定,定义S表的主码为sno,定义C表的主码为cno,定义SC表的主码为(sno,cno),定义sno为SC表的外码,定义cno为SC表的外码。
3、修改基本表
(1)在C表中增加一个新的属性“cname”,char(8)型,允许为空值。
(2)将C表中的cname属性类型改为char(20)型。
(3)删除C表中的cname属性。
4、建立索引
(1)在SC表的多个字段建立索引,以“INDEX+自己的学号”命名索引名(如:index101),先按学号升序索引,然后按成绩降序索引。
(2)删除刚才建立的索引。
5、更新数据
(1)利用INSERT语句插入元组:
S表中:
030920311 王义平男1984-08-20 1.71
050620312 张三男1984-04-20 1.9
“你的学号”“你的姓名”“你的性别”“你的出生日期”“你的身高”
C表中:(课程号cno值的前两位表示开课系)
cs-201 80 4 秋
cs-202 60 4 春
dj-101 30 2 秋
Sc表中:
030920311 cs-201 75
“你的学号”cs-202 68
“你的学号”dj-101
(2)利用UPDATE修改元组
将SC表中你自己的成绩都改为90分。
6、查询
(1)查询选修计算机系秋季所开课程的男生姓名、课程号、学分数、成绩(2)查询至少选修一门电机系课程的女生的姓名
(3)查询每位学生已选课程的门数和总平均成绩
(4)查询缺成绩的学生的姓名、缺成绩的课程号及其学分数
7、视图
(1)创建视图,以“V+你的学号”命名(如:V101),提供计算机系秋季所开课程的课程号和学分数。
(2)利用第1步创建的视图和给定的3个基本表,查询出选修计算机系秋季所开课程的男生的姓名、课程号、学分数、成绩。
8、删除
(1)删除你自己的所有选课记录。
(2)删除SC表。
--实验五
--1
create database dbszh113
--2
--s表
create table s
(sno char(10) primary key,
sname char(20),
sex char(2)check(sex in ('男','女')), bdate datetime,。
height float
);
--c表
create table c
(cno char(10)primary key,
lhour int,
credit int,
semester char(4)
);
--sc表
create table sc
(sno char(10),
cno char(10),
grade float,
primary key(sno,cno),
foreign key (sno)references s(sno), foreign key (cno)references c(cno)
);
--3
--1
alter table c
add cname char(8);
--2
alter table c
alter column cname char(20);
--3
alter table c
drop column cname;
--4
--1
create unique index index113 on sc(sno asc,cno desc);
--2
drop index index113 on sc ;
--5
--1.1
insert
into s
values('030920311','王平义','男','1984-08-20',1.71);
insert
into s
values('050620312','张三','男','1984-04-20',1.9);
insert
into s
values('110303113','叶惠','女','1992-02-01',1.69);
--1.2
insert
into c
values('cs-201','80','4','秋');
insert
into c
values('cs-202','60','4','春');
insert
into c
values('dj-101','30','2','秋');
--1.3
insert
into sc
values('030920311','cs-201','75');
insert
into sc
values('110303113','cs-202','68');
insert
into sc
values('110303113','dj-101',null);
--3
update sc
set grade=90
where sno='110303113';
--6
--1
select sname,o,credit,grade
from s,c,sc
where s.sno=sc.sno and o=o
and o like'cs%' and semester='秋' and sex='男';
--2
select sname
from s,sc
where sc.sno=s.sno and o like'dj%' and sex='女';
--3
select sno,count(cno),avg(grade)
from sc
group by sno;
--4
select sname,o,credit
from s,c,sc
where s.sno=sc.sno and o=o
and grade is null;
--7
--1
create view v113
as
select cno,credit
from c
where cno like'cs%' and semester='秋';
--2
select sname,o,v113.credit,grade
from s,sc,v113
where s.sno=sc.sno and o=o and sex='男';
--8
--1
delete
from sc
where sno='110303113';
--2
drop table sc;
THANKS !!!
致力为企业和个人提供合同协议,策划案计划书,学习课件等等
打造全网一站式需求
欢迎您的下载,资料仅供参考。