数据库上机实验

合集下载

mysql数据库实验上机作业

mysql数据库实验上机作业

以下是一个MySQL数据库实验上机作业的示例:1. 创建一个名为“students”的数据库,并选择该数据库。

```sqlCREATE DATABASE students;USE students;```2. 创建一个名为“students_table”的表,包含以下列:id(主键,自动递增),name(文本),age(整数),gender(文本),major (文本)。

```sqlCREATE TABLE students_table (id INT AUTO_INCREMENT PRIMARY KEY,name V ARCHAR(100),age INT,gender V ARCHAR(10),major V ARCHAR(100));```3. 向“students_table”表中插入一些数据。

```sqlINSERT INTO students_table (name, age, gender, major) V ALUES ('John', 20, 'Male', 'Computer Science'),('Jane', 22, 'Female', 'Mathematics'),('Bob', 21, 'Male', 'Physics');```4. 查询所有学生的信息。

```sqlSELECT * FROM students_table;```5. 查询所有年龄大于等于20岁的学生信息。

```sqlSELECT * FROM students_table WHERE age >= 20;```6. 查询所有计算机科学专业的女学生信息。

```sqlSELECT * FROM students_table WHERE major = 'Computer Science' AND gender = 'Female';```7. 更新表中某个学生的信息。

数据库上机实验4、5

数据库上机实验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语言实验目的:熟悉上机环境,创建数据库,在数据库上建立关系模式,插入数据,进行相应的查询操作。

实验内容:具体包括如下三部分。

一、熟悉上机环境。

客户/服务器结构,数据库服务器在一台NT服务器上,同学们通过客户机(操作系统为Windows 2000)上安装的SQL Server客户端程序, 使用SQL Server数据库服务器。

具体包括:1.了解SQL Server 环境。

鼠标点击开始,进入“Microsoft SQL Server→企业管理器”,点击SQL Server组下的数据库服务器(服务器名称为NEUC-201S(Windows NT)), 可以看到服务器上的圆形标志变为绿色,说明客户端程序已与服务器连接成功。

点击服务器(NEUC-201S(Windows NT))下的数据库,可以看到服务器上已建立的数据库,你可访问你有权访问的数据库,并进行相应的操作功能。

因为,数据库服务器上建有许多数据库, 每个数据库都有一些合法的用户。

2.鼠标点击开始,进入“Microsoft SQL Server→查询分析器”,输入用户名和口令,进入SQL查询分析器。

如:你登录的客户机为27号,那么请以用户名user27,口令为user27登录,登录后缺省连到数据库user27上,user27/user27是数据库user27的创建者,因此用户user27/ user27具有在数据库user27上创建表等一切权力。

3.在SQL查询分析器环境下,你就可进行SQL命令语句操作了。

二、在数据库useri上创建学生选课有关关系模式,并插入相应的数据,实现有关查询。

1.描述学生、课程情况的E-R图如下,请将其转化为用关系数据模型描述的关系模式CREA TE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));CREA TE TABLE Course(Cno CHAR(4) PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4),Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno) );CREA TE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno) REFERENCES Student(Sno), FOREIGN KEY(Cno) REFERENCES Course(Cno) );4在已建立的关系模式之上(已插入一些数据)建立主键约束,参照约束和用户定义的约束(要求学生年龄不小于14岁,不大于35岁),如果约束不能建立,请分析原因,修改后建立上述约束。

数据库原理及应用(MySQL版) 实验教案 第7次课(上机)数据库的备份与恢复

数据库原理及应用(MySQL版) 实验教案 第7次课(上机)数据库的备份与恢复
数案首页
(以
课 序
授课日期
授课班次
授课教师
批准人
7
课题
实验七数据库的备份与复
目的要求
1.了解备份和恢复的基本概念。
2.掌握使用MySQL命令进行数据库备份的操作方法。
3.掌握使用MySQL命令进行数据库恢复的操作方法。
教学内容
LMySQL命令进行数据库备份的操作。
2. MySQL命令进行数据库恢复的操作。
8.删除数据库Studentl的curriculum表中全部记录。
使用LoAD DATA INFILE语句将c.txt文件中的数据导入到Studentl的curriculum表中。
9.使用二进制日志恢复数据库。
(1)完全备份数据库。使用mysqldump命令备份所有数据库到D:\ft\J all_db.sqL (2)册IJ除Studentsdb数据库SludentJnfo表的所有记录。
2.在MySQL服务器上创建数据库StUdentl,使用mysql命令将备份文件a∏jables.sql恢复到数据库student 1中。
3.使用mysqldumρ命令备份数据库Studentsdb的所有表,存于D:\下,文件名 为s_c.sqL
4.在MySQL服务器上创建数据库SUIdent2,使用mysql命令将备份文件s.c.sql恢复到数据库sludent2中。
重点难点
备份及恢复操作
教学方法
手 段
教学方法:实验教学法
手 段:机器演示
教学步骤
1.内容讲解
2.上机练习
3.针对问题进一步讲解
复习
提问题
作业题目
完成实验指导书中要求的上机作业
预习内容
课时分配(以分钟计算)

数据库上机实验报告

数据库上机实验报告

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

1select jnamefrom jwhere jno in(select jnofrom spjwhere sno in(select snofrom swhere city ='上海'));2select snofrom spjwhere jno ='j1'and pno ='p1'3selectdistinct snofrom spjwhere pno in(select pnofrom pwhere color='红'and pno in (select pnofrom spjwhere jno ='j1'));4selectdistinct jnofrom spjwhere pno notin(select pnofrom pwhere color ='红'and pno in (select pnofrom spjwhere sno in(select snofrom swhere city ='天津')))5select jnofrom spjwhere sno ='s1'6select jno,qtyfrom spjwhere pno ='p1'orderby qty desc四﹑思考题1. 如何提高数据查询和连接速度。

建立视图2. 试比较连接查询和嵌套查询有些嵌套查询是可以用连接来代替的,而且使用连接的方式,性能要比嵌套查询高出很多当查询涉及多个关系时,用嵌套查询逐步求解结构层次清楚,易于构造,具有结构化程序设计的优点。

数据库上机实验

数据库上机实验

附录C 上机实验第4章上机实验下列实验均使用SQL Server 的SSMS工具实现。

1.用图形化方法创建符合如下条件的数据库(创建数据库的方法可参见本书附录A):数据库名为:学生数据库主要数据文件的逻辑文件名为:Students_data,存放在D:\Data文件夹下(若D:盘中无此文件夹,请先建立此文件夹,然后再创建数据库。

),初始大小为:5MB,增长方式为自动增长,每次增加1MB。

日志文件的逻辑文件名字为:Students_log,也存放在D:\Data文件夹下,初始大小为:2MB,增长方式为自动增长,每次增加10%。

2.选用已建立的“学生数据库”,写出创建满足表C-1到4-4条件的表的SQL语句,并执行所写代码。

(注:“说明”部分不作为表定义内容)列名说明数据类型约束Sno学号普通编码定长字符串,长度为7主键Sname姓名普通编码定长字符串,长度为10非空Ssex性别普通编码定长字符串,长度为2取值范围:{男,女}Sage年龄微整型(tinyint)取值范围:15-45Sdept所在系普通编码不定长字符串,长度为20默认值为“计算机系”Sid身份证号普通编码定长字符串,长度为10取值不重Sdate入学日期日期默认为系统当前日期列名说明数据类型约束Cno课程号普通编码定长字符串,长度为10主键Cname课程名普通编码不定长字符串,长度为20非空Credit学时数整型取值大于0Semester学分小整型列名说明数据类型约束Sno学号普通编码定长字符串,长度为7主键,引用Student的外键Cno课程号普通编码定长字符串,长度为10主键,引用Course的外键Grade成绩小整型取值范围为0-100列名说明数据类型约束3. 写出实现如下功能的SQL语句,并执行所写代码,查看执行结果。

(1)在Teacher表中添加一个职称列,列名为:Title,类型为nchar(4)。

(2)为Teacher表中的Title列增加取值范围约束,取值范围为:{教授,副教授,讲师}。

数据库上机作业(学生学籍管理)

数据库上机作业(学生学籍管理)

上机实验-1Access2003基本操作一、实验目的1.掌握Access2003数据库的构成;2.熟悉Access2003的用户界面。

二、实验内容在Access2003中打开罗斯文示例数据库,结合该数据库来了解Access 数据库的构成,并熟悉Access2003的用户界面。

1.单击“开始”按钮,指向“程序”,然后单击“Microsoft Access”,启动Access2003。

2.在启动对话框中,单击“打开已有文件”下的“罗斯文示例数据库”。

罗斯文示例数据库通常位于“Program Files\Microsoft Office\Office\Samples”文件夹中,文件名为“Northwind.mdb”。

3.在“数据库”窗口中,单击“对象”栏下的“表”,单击“产品”表对象,然后单击“数据库”窗口的工具栏上的“打开”按钮,在“数据表”视图中查看表中的数据记录。

4.从“视图”菜单中选择“设计视图”命令,以切换到设计视图下,查看表中各个字段的定义,例如字段名、数据类型、字段大小等,然后关闭设计视图窗口。

5.在“数据库”窗口中单击“对象”栏下的“查询”,单击“各类产品”查询对象,然后单击“数据库”窗口工具栏上的“打开”按钮,在“数据表”视图下查看运行查询所返回的记录集合。

6.从“视图”菜单中选择“设计视图”命令,以查看创建和修改查询时的用户界面。

7.从“视图”菜单中选择“SQL视图”命令,以查看创建查询时所生成的SQL语句,然后关闭SQL视图窗口。

8.在“数据库”窗口中单击“对象”栏下的“窗体”,单击“产品”窗体对象,然后单击“数据库”窗口工具栏上的“打开”按钮,在窗体视图下查看窗体的运行结果,并单击窗体下方的箭头按钮,在不同记录之间移动。

9.从“视图”菜单中选择“设计视图”命令,以查看设计窗体时的用户界面。

10.从“视图”菜单中选择“数据表视图”命令,以查看存储在基础表中的数据记录,然后关闭数据表视图窗口。

数据库上机实习心得体会4篇

数据库上机实习心得体会4篇

数据库上机实习心得体会4篇数据库上机实习心得体会4篇数据库上机实习心得体会1SQL是Structured Query Language(结构化查询语言)的缩写。

SQL 是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。

在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。

SQL功能强大、简洁易学、使用便利,已经成为了数据库操作的基础,并且现在几乎全部的数据库均支持SQL。

它的强大功能以前就听人说过,所以就选了这门课。

经过一个学期的数据库课程的学习,我们把握了创建数据库以及对数据库的操作的基础学问。

幸老师的教学急躁细致,课堂上我们有不理解的地方老师都反复讲解,使我们的基础学问把握的比较结实。

数据库这门课涉及到以前的学问不多,是一门从头学起的课程,即使基础不是很好,只要认真听讲、复习功课,还是一门比较简洁把握的课。

通过学习,我对数据库没有了奇妙感,简洁的说下我对数据库的理解吧。

我觉得它就是创建一些表格,然后再用一些语句依据他们之间的关系,把它们组合在一起。

最基本的就是子查询了。

我的子查询阅历就是先写出select * 我们要找什么,然后写条件,我们要找的东西有什么条件,然后在写条件,我们的条件涉及那些表,那些字段,再在这些字段中通过我们学过的简洁select语句选出来,有时候还要用到几层子查询,不过无所谓,只要思路是清晰的就没什么问题了。

接下来,关联查询之类的,学起来也是不难的,但有一点必需留意,那就是上课必需跟着老师的进度走,确定要留意听讲,勤做笔记.这样,你学起来就会得心应手,没什么困难。

总之,这是一门很值得学的课程,自己学过获益匪浅,就算自己将来不从事这个行业,但是至少对数据不再生疏,甚至还略知一二。

呵呵…感谢老师~!数据库上机实习心得体会2一个月的数据库实训就转瞬间就上完了,期间讲解了一个同学管理系统,最终还做了一个小的数据库链接作业。

现在就说说关于vb链接的数据库的一些方法。

数据库实验报告

数据库实验报告

数据库实验报告实验⼀创建数据库及关系表⼀、实验⽬的1. 掌握SQL Server数据库管理系统的使⽤,能够中该环境中进⾏⽇常数据库操作;2. 掌握在SQL Server中使⽤图形化⼯具创建数据库的⽅法;3.掌握建⽴关系表的语句,掌握定义主码约束及外码约束的语句;4.掌握修改表结构的语句。

⼆、实验要求1.了解SQL Server数据库的组成,会使⽤图形化⼯具创建数据库。

2.编写建⽴表及主、外码约束的T-SQL语句,并执⾏这些语句,在数据库中建⽴符合要求的关系表。

3.编写修改表结构的语句。

三、实验内容和步骤1.创建符合如下条件的数据库:数据库的名字为:Students数据⽂件的逻辑⽂件名为:Students_dat,存放在D:\Test录下(若D:盘中⽆此⼦⽬录,可先建⽴此⽬录,然后再创建数据库。

);⽂件的初始⼤⼩为:5MB;增长⽅式为⾃动增长,每次增加1MB。

⽇志⽂件的逻辑⽂件名字为:Students_log,也存放在D:\Test⽬录下;⽇志⽂件的初始⼤⼩为:2MB;⽇志⽂件的增长⽅式为⾃动增长,每次增加10%。

2.在已建⽴的Students数据库中,写出创建满⾜下述条件的四张表的SQL 语句,并查看执⾏结果。

Teacher表结构Create table student (Sno char(7)primary key,Sname nchar(10)not null,Ssex nchar(2),Sage tinyint,Sdept nvarchar(20),Spec char(10))create table course(Cno char(10),Cname nvarchar(20)not null,Credit int,Semester tinyint,Primary key(Cno))create table sc(Sno char(7)not null,Cno char(10)not null,Grade tinyint,primary key(Sno,Cno),foreign key(Sno )references Student(Sno), foreign key(Cno )references Course(Cno), ) create table teacher(Tno char(8)not null,Tname char(10)not null,Dept nvarchar(20),Salary numeric(6,2),Birthery smalldatetime)执⾏结果:2.写出实现如下操作的SQL语句,并查看执⾏结果:(1)在SC表中添加⼀个新的修课类别列:列名为:XKLB,类型为char(4)。

数据库上机实验题目和答案

数据库上机实验题目和答案

数据库上机实验题目和答案试用SQL的查询语句表达下列查询:1.检索王丽同学所学课程的课程号和课程名。

select Cno ,Cname from c where Cno in(select cno from sc where sno in (select sno from s where sname='王丽' ))2.检索年龄大于23岁的男学生的学号和姓名。

select sno,sname from swhere sex='男' and age>233.检索‘c01’课程中一门课程的女学生姓名select sname from swhere sex='女' and sno in(select sno from sc where cno='c01')4.检索s01同学不学的课程的课程号。

select cno from cwhere cno not in (select cno from sc where sno ='s01')5.检索至少选修两门课程的学生学号。

select sc.sno from s,scwhere s.sno=sc.snogroup by sc.snohaving count(/doc/1411529677.html,o)>=26.每个学生选修的课程门数。

解法一:select so.sno sno,/doc/1411529677.html,ount,s.sname from(select sc.sno sno,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno ) so,swhere s.sno=so.sno解法二:select sc.sno sno,s.sname,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno,sname7.求选修C4课程的学生的平均分。

数据库上机实习报告

数据库上机实习报告

一、实习背景随着计算机技术的不断发展,数据库技术已经成为现代信息技术中不可或缺的一部分。

为了使我对数据库技术有更深入的了解,提高我的实际操作能力,我参加了本次数据库上机实习。

本次实习主要基于SQL Server数据库管理系统,通过实际操作,使我掌握了数据库的基本概念、设计方法以及SQL语言的使用。

二、实习目的1. 熟悉数据库管理系统的基本操作,包括数据库的创建、修改、删除等。

2. 掌握数据库设计的基本方法,包括实体-联系模型、关系模型等。

3. 学会使用SQL语言进行数据库的查询、插入、删除、更新等操作。

4. 提高数据库的实际应用能力,为今后的工作打下基础。

三、实习内容1. 数据库管理系统简介数据库管理系统(Database Management System,简称DBMS)是一种软件系统,用于管理数据库中的数据。

常见的数据库管理系统有SQL Server、MySQL、Oracle 等。

本实习主要使用SQL Server数据库管理系统。

2. 数据库设计数据库设计是数据库应用开发过程中的重要环节,主要包括以下步骤:(1)需求分析:了解用户对数据库的需求,包括数据类型、数据量、数据之间的关系等。

(2)概念设计:根据需求分析结果,设计实体-联系模型,描述实体及其之间的关系。

(3)逻辑设计:将概念设计转换为关系模型,确定表结构、字段类型、约束等。

(4)物理设计:根据逻辑设计结果,确定数据库的存储结构,如索引、分区等。

3. 数据库操作(1)创建数据库:使用CREATE DATABASE语句创建数据库。

(2)修改数据库:使用ALTER DATABASE语句修改数据库。

(3)删除数据库:使用DROP DATABASE语句删除数据库。

(4)创建表:使用CREATE TABLE语句创建表。

(5)修改表:使用ALTER TABLE语句修改表。

(6)删除表:使用DROP TABLE语句删除表。

(7)插入数据:使用INSERT INTO语句插入数据。

数据库上机实验操作步骤

数据库上机实验操作步骤

数据库系统原理上机实验预备知识一、本实验指导书采用的数据库例子(见本课程参考用书《数据库系统概论》(第三版)P59) Student-Course-SC数据库:一个学生可以修多门课程,一门课程可以被多个学生选修,则学生、课程之间的E-R图如下:转化为关系数据模型:Student(Sno, Sname,Ssex,Sage,Sdept)Course(Cno,Cname,Cpno,Ccredit)SC(Sno,Cno,Grade)物理数据模型如下:数据库名MySC表名Student实体名学生属性名列名(字段名)数据类型长度允许空描述学号Sno char 5否学生的学号(主键)姓名Sname char 8否学生的姓名性别Ssex char 2学生的性别年龄Sage:tinyint l学生的年龄所在系Sdept char 2学生所在系数据库名MySC表名Course实体名课程属性名列名(字段名)数据类型长度允许空描述课程号Cno char 1否课程的编号(主键)课程名Cname char 20否课程的名称先行课Cpno char L课程先行课的编号学分Ccredit tinyint 1课程的年学分数据库名MySC表名SC实体名学生选课属性名列名(字段名)数据类型长度允许空描述学号Sno char 5否学生的学号(外键)课程号Cno char 3否谍程的编号(外键)成绩Grade tinyint 1学生该门课的成绩主键 (Sno.Cno)索引:对表Course中的字段Ccredit创建降序索引,索引名为IX_Course_Ccredit;检查约束:对表Student中的字段Sno创建检查约束LEN(Sno)>4,约束名为CK_Student_Sno;图表:建立名为“SC_Diagrame1”的图表,反映“SC”、“Student”、“Course”三张表间的备份和维护计划:为自己所建立的数据库创建备份和维护计划。

数据库原理及应用最全上机实验及实验答案

数据库原理及应用最全上机实验及实验答案

实验一 SQL Server 2005 的安装和环境介绍一.实验目的与要求:1.掌握SQL Server 2005 服务器的安装方法2.了解SQL Server 2005 的环境3.了解数据库及其对象二.实验准备1.了解SQL Server 2005的版本2.了解SQL Server 2005各版本对硬件和软件的需求三.实验要求1.写出SQL SERVER 2005的功能与特点, 使用方法, 应用状况的报告2.完成SQL SERVER 2005的安装、启动、登录。

四.实验内容1.安装SQL Server 2005实验一 SQL Server 2005 的安装和环境介绍●实验指导——安装SQL Server 20051.根据安装机器软硬件的要求,选择一个合适的版本,以下以开发版为例2.将 SQL Server 2005 DVD 插入 DVD 驱动器。

如果DVD驱动器的自动运行功能无法启动安装程序无法启动安装程序,请导航到 DVD 的根目录然后启动splash.hta。

3.在自动运行的对话框中,单击“运行 SQL Server 安装向导”。

4.在“最终用户许可协议”页上,阅读许可协议,再选中相应的复选框以接受许可条款和条件。

接受许可协议后即可激活“下一步”按钮。

若要继续,请单击“下一步”若要结束安装程序,请单击“取消”。

如下图:5.在“SQL Server 组件更新”页上,安装程序将安装 SQL Server 2005 的必需软件。

有关组件要求的详细信息,请单击该页底部的“帮助”按钮。

若要开始执行组件更新,请单击“安装”。

更新完成之后若要继续,请单击“完成”。

6.在 SQL Server 安装向导的“欢迎”页上,单击“下一步”以继续安装。

7.在“系统配置检查 (SCC)”页上,将扫描安装计算机,以检查是否存在可能妨碍安装程序的条件。

8.在“注册信息”页上的“姓名”和“公司”文本框中,输入相应的信息。

数据库上机实验指导

数据库上机实验指导

数据库原理实验指导书实验1 数据库模式设计及建立一、实验目的:(1)掌握数据库模式设计,依据实际要求设计表结构,建立表的关系; 比较SQL命令方式和可视化环境管理器方式设计的异同点。

(2)掌握SQL Server查询分析器的使用方法,加深对SQL和SQL语言的查询语句的理解。

熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。

二、实验内容:1、分别用sql查询分析器和企业管理器创建表,并设定相应的约束。

要求:在学生管理数据库XSGL中创建如下三个表。

创建名为student(学生信息)的表,表中的各列要求如下:2、创建score –>student表,以及score –>course表的外部键。

3、增加、修改和删除字段,要求:1) 给student表增加一个memo(备注)字段,类型为varchar(200)。

2) 将memo字段的类型修改为varchar(300)。

3) 删除memo 字段。

4、简单查询操作。

该实验包括投影、选择条件表达,数据排序,使用临时表等。

具体完成以下题目,将它们转换为SQL语句表示,在学生选课数据库中实现其数据查询操作。

1)求数学系学生的学号和姓名2)求选修了课程的学生学号3)求选修课程号为‘C1’的学生号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同按学号的升序排列。

4)求选修课程号为‘C1’且成绩在80~90之间的学生学号和成绩,并成绩乘以0.8输出。

5)求数学系或计算机系姓张的学生的信息。

6)求缺少了成绩的学生的学号和课程号5、连接查询操作。

该实验包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。

1)查询每个学生的情况以及他所选修的课程2)求学生的学号、姓名、选修的课程及成绩3)求选修课程号为‘C1’且成绩在90以上的学生学号、姓名和成绩4)查询每一门课程的间接先行课(即先行课的先行课)三、实验方法将查询需求用SQL语言表示;在SQL Server查询分析器的输入区中输入SQL查询语句;设置查询分析器的结果区为Standard Execute(标准执行)或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。

数据库系统和应用上机实验报告

数据库系统和应用上机实验报告
(name=test3_dat6,
filename='e:\DB\data\test3dat6.ndf')
log on
(name=test3_log,
filename='f:\DB\data\test3log.ldf')
--4
alter database test1
add file
(name=test1new_dat,
--13
select * from客户where客户名称not like '%商场'
--14
select * from产品order by单价
--15
select *
from产品
order by产品名称,单价
--16
select COUNT(产品号)
from产品
--17
select SUM(数量)
from订单名细
[[from<表名>] where<逻辑表达式>]
删除:DELETE FROM <表名>
[[FROM <表名>]WHERE <逻辑表达式>]
完整性约束影响插入、更新和删除等操作
实验4
一、实验目的:熟练掌握SQL SELECT语句,能够运用该语句完成各种查询。
二、实验内容:用SQL SELECT语句完成各种数据查询。
insert into客户values('C002','B公司','小李','上海','234567','146389045634')
insert into客户(客户号,客户名称) values('C009','J商场')

数据库上机实验

数据库上机实验

附录C上机实验C.1第4章上机实验下列实验均使用SQL Server的SSMST具实现。

1. 用图形化方法创建符合如下条件的数据库(创建数据库的方法可参见本书附录A): 数据库名为:学生数据库主要数据文件的逻辑文件名为:Students_data ,存放在D:\Data文件夹下(若D:盘中无此文件夹,请先建立此文件夹,然后再创建数据库。

),初始大小为:5MB 增长方式为自动增长,每次增加1MB日志文件的逻辑文件名字为:Students」og ,也存放在D:\Data文件夹下,初始大小为:2MB增长方式为自动增长,每次增加10%2•选用已建立的“学生数据库”,写出创建满足表C-1到4-4条件的表的SQL语句,并执行所写代码。

(注:“说明”部分不作为表定义内容)表C-4Teacher表结构3. 写出实现如下功能的SQL语句,并执行所写代码,查看执行结果。

(1)在Teacher表中添加一个职称列,列名为:Title ,类型为nchar(4)。

(2)为Teacher表中的Title列增加取值范围约束,取值范围为:{教授,副教授,讲师}。

(3)将Course表中Credit列的类型改为:tinyint 。

(4)删除Student表中的Sid和Sdate列。

(5)为Teacher表添加主键约束,其主键为:Tno。

C.2第5章上机实验本实验均在SQL Server的SSMS工具中实现。

首先在已创建的“学生数据库”中创建本章表5-1~5-3所示的Student、Course和SC表,并插入表5-4~5-6所示数据,然后编写实现如下操作的SQL语句,执行所写的语句,并查看执行结果。

1. 查询SC表中的全部数据。

2. 查询计算机系学生的姓名和年龄。

3. 查询成绩在70〜80分的学生的学号、课程号和成绩。

4. 查询计算机系年龄在18〜20岁的男生姓名和年龄。

5. 查询C001课程的最高分。

6. 查询计算机系学生的最大年龄和最小年龄。

sql数据库系统原理上机实验(综合版)

sql数据库系统原理上机实验(综合版)

《数据库原理》实验指导书《数据库原理》上机实验上机学时:8学时一、上机性质、目的及任务:通过上机实践,配合课堂教学内容加深对数据库的基本概念和基本技术的理解,掌握数据库系统设计的基本思想和基本步骤,熟悉关系数据库的标准语言SQL,并对典型的关系数据库管理系统有较深入的了解,使学生的动手能力有较大的提高。

二、面向专业:计算机类各专业三、实验指导书:见下页四、实验内容:实验一SQL数据定义 (3)实验二SQL简单查询 (6)实验三SQL 复杂查询 (7)实验四SQL 数据更新 (8)实验一SQL数据定义一、实验目的(1)认识几种常见的数据库管理系统,熟悉它们的使用界面;(2)熟练掌握建立数据库和表,向数据库输入数据、修改数据和删除数据的操作。

(3)熟悉SQL数据定义语言(DDL)二、实验内容(1)分别在Access 和SQL SERVER2005 中建立数据库并设计各表,输入多条实际数据,并实现数据的增、删、改操作。

(2)用SQL语言进行基本表结构的定义、修改、删除,索引的建立和删除三、实验步骤:分别在ACCESS数据库管理系统和SQL SERVR 2005环境下利用图形操作界面(非SQL语句)实现以下操作:1、创建用于学生管理的数据库,数据库名为XSGL,包含学生信息,课程信息和选课信息。

数据库XSGL包含下列3 个表:(l)student:学生基本信息。

(2)course:课程信息表。

(3)sc:学生选课表。

各表的结构分别如表1、表2和表3 所示。

表1 学生信息表:student列名数据类型长度完整性约束sno 字符(文本)型8 主键sname 字符(文本)型 4 不为空ssex 字符(文本)型 1sage 整数(数值)型sdept 字符型10表2 课程信息表:course列名数据类型长度完整性约束cno 字符(文本)型 2 主键cname 字符(文本)型30credit 整数(数值)型cpno 字符(文本)型 3表3 学生选课表:sc列名数据类型长度完整性约束sno 字符(文本)型8 主属性,外键cno 字符(文本)型 2 主属性,外键grade 整数(数值)型是提示:在不使用SQL语句创建表的情况下,可通过ACCESS中的关系(菜单—工具—关系)和SQL SERVER 2005中的数据库关系图(数据库节点展开—数据库关系图)实现外键的创建。

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

数据库上机实验集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)附录C 上机实验C.1 第4章上机实验下列实验均使用SQL Server 的SSMS工具实现。

1.用图形化方法创建符合如下条件的数据库(创建数据库的方法可参见本书附录A):数据库名为:学生数据库主要数据文件的逻辑文件名为:Students_data,存放在D:\Data文件夹下(若D:盘中无此文件夹,请先建立此文件夹,然后再创建数据库。

),初始大小为:5MB,增长方式为自动增长,每次增加1MB。

日志文件的逻辑文件名字为:Students_log,也存放在D:\Data文件夹下,初始大小为:2MB,增长方式为自动增长,每次增加10%。

2.选用已建立的“学生数据库”,写出创建满足表C-1到4-4条件的表的SQL语句,并执行所写代码。

(注:“说明”部分不作为表定义内容)列名说明数据类型约束Sno学号普通编码定长字符串,长度为7主键Sname姓名普通编码定长字符串,长度为10非空Ssex性别普通编码定长字符串,长度为2取值范围:{男,女}3. 写出实现如下功能的SQL语句,并执行所写代码,查看执行结果。

(1)在Teacher表中添加一个职称列,列名为:Title,类型为nchar(4)。

(2)为Teacher表中的Title列增加取值范围约束,取值范围为:{教授,副教授,讲师}。

(3)将Course表中Credit列的类型改为:tinyint。

(4)删除Student表中的Sid和Sdate列。

(5)为Teacher表添加主键约束,其主键为:Tno。

C.2 第5章上机实验本实验均在SQL Server 的SSMS工具中实现。

首先在已创建的“学生数据库”中创建本章表5-1~5-3所示的Student、Course和SC表,并插入表5-4~5-6所示数据,然后编写实现如下操作的SQL语句,执行所写的语句,并查看执行结果。

1.查询SC表中的全部数据。

2.查询计算机系学生的姓名和年龄。

3.查询成绩在70~80分的学生的学号、课程号和成绩。

4.查询计算机系年龄在18~20岁的男生姓名和年龄。

5.查询C001课程的最高分。

6.查询计算机系学生的最大年龄和最小年龄。

7.统计每个系的学生人数。

8.统计每门课程的选课人数和最高成绩。

9.统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。

10.列出总成绩超过200的学生的学号和总成绩。

11.查询选了C002课程的学生姓名和所在系。

12.查询考试成绩80分以上的学生姓名、课程号和成绩,并按成绩降序排列结果。

13.查询与VB在同一学期开设的课程的课程名和开课学期。

14.查询与李勇年龄相同的学生的姓名、所在系和年龄。

15.查询哪些课程没有学生选修,列出课程号和课程名。

16.查询每个学生的选课情况,包括未选课的学生,列出学生的学号、姓名、选的课程号。

17.查询计算机系哪些学生没有选课,列出学生姓名。

18.查询计算机系年龄最大的三个学生的姓名和年龄。

19.列出“VB”课程考试成绩前三名的学生的学号、姓名、所在系和VB成绩。

20.查询选课门数最多的前2位学生,列出学号和选课门数。

21.查询计算机系学生姓名、年龄和年龄情况,其中年龄情况为:如果年龄小于18,则显示“偏小”;如果年龄在18-22,则显示“合适”;如果年龄大于22,则显示“偏大”。

22.统计每门课程的选课人数,包括有人选的课程和没有人选的课程,列出课程号,选课人数及选课情况,其中选课情况为:如果此门课程的选课人数超过100人,则显示“人多”;如果此门课程的选课人数在40~100,则显示“一般”;如果此门课程的选课人数在1~40,则显示“人少”;如果此门课程没有人选,则显示“无人选”。

23.查询计算机系选了VB课程的学生姓名、所在系和考试成绩,并将结果保存到新表VB_Grade中。

24.统计每个系的女生人数,并将结果保存到新表Girls中。

25.用子查询实现如下查询:(1)查询选了“C001”课程的学生姓名和所在系。

(2)查询通信工程系成绩80分以上的学生的学号和姓名。

(3)查询计算机系考试成绩最高的学生的姓名。

(4)查询年龄最大的男生的姓名、所在系和年龄。

26.查询C001课程的考试成绩高于该课程平均成绩的学生的学号和成绩。

27.查询计算机系学生考试成绩高于计算机系学生平均成绩的学生的姓名、考试的课程名和考试成绩。

28.查询VB课程考试成绩高于VB平均成绩的学生姓名和VB成绩。

29.查询没选VB的学生姓名和所在系。

30.查询每个学期学分最高的课程信息,列出开课学期、课程名和学分。

31.查询每门课程考试成绩最高的学生信息,列出课程号、学生姓名和最高成绩,结果按课程号升序排序,不包括没考试的课程。

32.创建一个新表,表名为test,其结构为(COL1, COL 2, COL 3),其中,COL1:整型,允许空值。

COL2:普通编码定长字符型,长度为10,不允许空值。

COL3:普通编码定长字符型,长度为10,允许空值。

试写出按行插入如下数据的语句(空白处表示是空值)。

33.利用23题建立的VB_Grade表,将信息管理系选了VB课程的学生姓名、所在系和考试成绩插入到VB_Grade表中。

34.将所有选修C001课程的学生的成绩加10分。

35.将计算机系所有学生的“计算机文化学”的考试成绩加10分。

36.修改“VB”课程的考试成绩,如果是通信工程系的学生,则增加10分;如果是信息管理系的学生则增加5分,其他系的学生不加分。

37.删除成绩小于50分的学生的选课记录。

38.删除计算机系VB考试成绩不及格学生的VB选课记录。

39.删除“VB”考试成绩最低的学生的VB修课记录。

40.删除没人选的课程的基本信息。

C.3 第6章上机实验下列实验均使用SQL Server 的SSMS工具实现。

利用第4章上机实验创建的“学生数据库”中Student、Course和SC表,完成下列实验。

1.写出实现下列操作的SQL语句,并执行所写代码。

(1)在Student表上为Sname列建立一个聚集索引,索引名为:IdxSno。

(提示:若执行创建索引的代码,请先删除该表的主键约束)(2)在Course表上为Cname列建立一个唯一的非聚集索引,索引名为:IdxCN(3)在SC表上为Sno和Cno建立一个组合的聚集索引,索引名为:IdxSnoCno。

(提示:若执行创建索引的代码,请先删除该表的主键约束)(4)删除Sname列上建立的IdxSno索引。

2.写出创建满足下述要求的视图的SQL语句,并执行所写代码。

(1)查询学生的学号、姓名、所在系、课程号、课程名、课程学分。

(2)查询学生的学号、姓名、选修的课程名和考试成绩。

(3)统计每个学生的选课门数,要求列出学生学号和选课门数。

(4)统计每个学生的修课总学分,要求列出学生学号和总学分(说明:考试成绩大于等于60才可获得此门课程的学分)。

3.利用第2题建立的视图,完成如下查询。

(1)查询考试成绩大于等于90分的学生的姓名、课程名和成绩。

(2)查询选课门数超过3门的学生的学号和选课门数。

(3)查询计算机系选课门数超过3门的学生的姓名和选课门数。

(4)查询修课总学分超过10分的学生的学号、姓名、所在系和修课总学分。

(5)查询年龄大于等于20岁的学生中,修课总学分超过10分的学生的姓名、年龄、所在系和修课总学分。

4.修改第3题(4)定义的视图,使其查询每个学生的学号、总学分以及总的选课门数。

C.4 第7章上机实验利用第5章建立的学生数据库以及Student、Coures和SC表,完成下列操作。

1.创建满足如下要求的后触发型触发器。

(1)限制学生的考试成绩必须在0-100之间。

(2)限制不能删除成绩不及格的考试记录。

(3)限制每个学期开设的课程总学分不能超过20。

(4)限制每个学生每学期选的课程不能超过5门。

2.创建满足如下要求的存储过程。

(1)查询每个学生的修课总学分,要求列出学生学号及总学分。

(2)查询学生的学号、姓名、修的课程号、课程名、课程学分,将学生所在的系作为输入参数,执行此存储过程,并分别指定一些不同的输入参数值。

(3)查询指定系的男生人数,其中系为输入参数,人数为输出参数。

(4)删除指定学生的修课记录,其中学号为输入参数。

(5)修改指定课程的开课学期。

输入参数为:课程号和修改后的开课学期。

C.5 第11章上机实验利用第4、5章建立的学生数据库和其中的Student、Course、SC 表,并利用SSMS工具完成下列操作。

1.用SSMS工具建立SQL Server身份验证模式的登录名:log1、log2和log3。

2.用log1建立一个新的数据库引擎查询,在“可用数据库”下列列表框中是否能选中学生数据库?为什么?3.用系统管理员身份建立一个新的数据库引擎查询,将log1、log2和log3映射为学生数据库中的用户,用户名同登录名。

4.在log1建立的数据库引擎查询中,现在在“可用数据库”下列列表框中是否能选中学生数据库?为什么?5.在log1建立的数据库引擎查询中,选中学生数据库,执行下述语句,能否成功?为什么?SELECT * FROM Course6.在系统管理员的数据库引擎查询中,执行合适的授权语句,授予log1具有对Course表的查询权限,授予log2具有对Course表的插入权限。

7.用log2建立一个新的数据库引擎查询,执行下述语句,能否成功?为什么?INSERT INTO Course VALUES('C1001','数据库基础',4,5)再执行下述语句,能否成功?为什么?SELECT * FROM Course8.在log1建立的数据库引擎查询中,再次执行下述语句:SELECT * FROM Course这次能否成功?但如果执行下述语句:INSERT INTO Course VALUES('C103', '软件工程', 4, 5)能否成功?为什么?9.log3建立一个新的数据库引擎查询,执行下述语句,能否成功?为什么?CREATE TABLE NewTable(C1 int,C2 char(4))10.授予log3在学生数据库中具有创建表的权限。

11.在系统管理员的数据库引擎查询中,执行下述语句:GRANT CREATE TABLE TO log3GOCREATE SCHEMA log3 AUTHORIZATION log3GOALTER USER log3 WITH DEFAULT_SCHEMA = log312.在log3建立一个新的数据库引擎查询中,再次执行第9题的语句,能否成功?为什么?如果执行下述语句:SELECT * NewTable能否成功?为什么?。

相关文档
最新文档