数据库上机实验

合集下载

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. 更新表中某个学生的信息。

数据库上机实验

数据库上机实验

创建数据表与数据输入Part I. 使用SQL Server Management Studio创建数据表和输入数据1. 在SQL Server Management Studio中创建数据表P69 1.(1)-(6)2. 为数据表输入数据P76 4.(1)-(4)3. 数据浏览P77 1. (1)-(2)2. (1)-(3)Part II. 使用SQL语句创建数据表和输入数据1. 使用SQL语句创建数据表P72. 例3-22.使用SQL语句输入数据P82. 例3.8习题:P.105 (1)(2)insert数据操作Insert、Update、Delete P105 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)Delete1.将teaching数据库中score表的studentno列设置为引用表student的外键。

ALTER TABLE ScoreADD CONSTRAINT FK_score_student FOREIGN KEY (studentno)REFERENCES student(studentno)2.将teaching数据库中class表的classname创建UNIQUE约束。

ALTER TABLE classADD CONSTRAINT UQ_class UNIQUE(classname)执行如下插入语句,查看提示信息INSERT INTO class VALUES(‘090602’, ’计算机0902’, ’计算机学院’, ’马文斐’) 3. 为teaching数据库中student表的birthday列创建CHECK约束,规定学生的年龄在17-25岁之间。

数据库综合实训上机报告

数据库综合实训上机报告

一、实训背景随着信息技术的飞速发展,数据库技术已经成为各行各业不可或缺的基础技术。

为了提高学生的数据库应用能力,我们学院开展了数据库综合实训课程。

本次实训旨在通过上机实践,让学生全面掌握数据库设计、创建、查询、维护等基本操作,提高学生的数据库应用技能。

二、实训目标1. 掌握数据库设计的基本原则和方法;2. 熟练运用SQL语言进行数据库操作;3. 学会使用数据库管理系统(如SQL Server、MySQL等)进行数据库的创建、查询、维护等操作;4. 培养学生团队协作能力和沟通能力。

三、实训内容1. 数据库设计(1)需求分析:了解项目背景,分析项目需求,确定数据库功能。

(2)概念设计:根据需求分析,设计实体关系图(ER图),确定实体、属性和关系。

(3)逻辑设计:将ER图转换为关系模型,设计数据库表结构,确定表之间的关系。

(4)物理设计:选择合适的数据库管理系统,创建数据库,设计存储过程、触发器等。

2. 数据库创建与操作(1)创建数据库:使用SQL语句创建数据库,设置用户权限。

(2)创建表:根据设计好的表结构,使用SQL语句创建表,设置字段属性、约束等。

(3)插入、删除、修改数据:使用SQL语句进行数据的增删改操作。

(4)查询数据:使用SELECT语句进行数据查询,包括简单查询、条件查询、多表查询等。

3. 视图与存储过程(1)创建视图:根据查询需求,使用SQL语句创建视图,简化查询操作。

(2)创建存储过程:封装常用操作,提高代码重用性。

4. 数据库维护与优化(1)备份与恢复:定期备份数据库,确保数据安全。

(2)索引优化:合理创建索引,提高查询效率。

(3)性能监控:监控数据库性能,及时发现问题并解决。

四、实训过程1. 组建实训小组:每组由3-5人组成,明确分工,提高团队协作能力。

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 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.在“注册信息”页上的“姓名”和“公司”文本框中,输入相应的信息。

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

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

数据库上机实验题目和答案试用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课程的学生的平均分。

数据库上机实验答案5

数据库上机实验答案5

数据库上机实验答案 5学号:姓名:日期:年月日实验目的:综合练习所学的SQL语言。

学习日期函数。

实验内容:基于提供的食堂交易记录trans表,进行查询,记录SQL语句及查询结果。

食堂交易记录表trans的数据说明如下:trans食堂交易记录(stuID,学生学号posID,刷卡机编号transTime,交易时间transValue,交易金额)1 食物销量大比拼创建一张表格posSummary,表格内容如下: pos机编号,就餐人数,刷卡次数,销售金额,平均每次刷卡金额。

以pos机编号为主键。

利用insert语句填充数据。

选择并展示posSummary中销售金额前10的pos机。

2 评选食堂忠实粉丝创建一个视图stuSummary,视图内容如下:学生ID,刷卡次数,刷卡总金额,刷卡平均金额。

基于创建的视图,分别找出刷卡次数最多、刷卡总金额最多、刷卡平均金额最多的同学。

3 学习日期函数datepart执行如下语句。

将执行结果复制到excel中,绘制散点图。

解释图的意思。

select datepart(hour,transtime)*60+datepart(minute,transtime)as minuteOfDay,count(*) as freq from trans group by datepart(hour,transtime)*60+datepart(minute,transtime) order by datepart(hour,transtime)*60+datepart(minute,transtime)其中,日期函数datepart(hour,transtime)的意思是将transtime中小时的部分取出来。

4 就餐规律研究计算某一天是星期几的方法如下:datepart(weekday,transtime),其计算结果周日为1,周一为2,周六为7。

基于题3中的方法,绘制上课日(周一到周五)学生的就餐规律和休息日(周六、周日)学生的就餐规律图。

数据库上机实习报告

数据库上机实习报告

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

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

本次实习主要基于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语句插入数据。

数据库上机实验作业题

数据库上机实验作业题

数据库上机实验作业题1.从课程表中查询所有课程信息2.从课程表中查询课程类别的信息。

3.从课程表中查询课程类别,要求消除值相同的那些行。

4.从学生表中查询所有的信息,要求只显示查询结果的前6行数据。

5.查询课程表中课程编号、课程名称、教师、上课时间、限制选课人数和报名人数,要求查询结果显示如下:6.查询课程表的信息,要求给出查询结果为:7.在课程表中查询课程类别为“信息技术”,并且学分为“2”的课程。

8.查询课程表的课程信息、报名人数与限选人数之比。

9.查询课程表中最小的报名人数、最大的报名人数以及平均报名人数。

10.查询课程信息、报名人数与限选人数之比。

要求查询结果按照报名人数升降排序。

11.查询课程表的教师名、课程编号、课程名,要求查询结果按照教师名降序排序,教师名相同时,则按照课程编号升序排序。

12.查询课程编号为“004”、“007”、“013”的课程信息。

13.查询课程编号不为“004”、“007”、“013”的课程编号和课程名称。

14.查询课程名以字母D开始的课程信息。

15.查询课程名以“制作”两字结尾的课程信息。

16.查询姓名第二个字为“宝”的学生信息。

17.查询不姓“刘”的学生信息。

18.查询课程表中教师姓名未定的课程信息。

19.查询报名人数少于15人的课程信息。

20.查询报名人数少于25并且多于15人的课程信息。

21.查询报名人数少于25并且等于15人的课程信息,要求查询结果按照报名人数降序排列。

22.查询报名人数少于25并且少于15人的课程信息,要求查询结果按照报名人数降序排列。

23.查询课程表中“信息技术”类课程信息,并计算平均报名人数。

24.按类别显示课程信息,并计算各类课程的平均报名人数。

25.按课程类别分组统计各类课程的平均报名人数。

26.查询“信息技术”类课程的平均报名人数。

27.查询平均报名人数大于25人的课程类别和每类平均报名人数。

28.查询报名人数大于平均报名人数的课程信息。

数据库上机实验报告

数据库上机实验报告

数据库上机实验报告
本次数据库上机实验主要涉及到数据库的设计、创建和查询,通过对实验内容的学习和实践,我对数据库的相关知识有了更深入的理解和掌握。

首先,我们学习了数据库的设计原理和方法。

在数据库设计的过程中,需要考虑到数据的完整性、一致性和安全性等因素,通过对实际案例的分析和设计,我了解到了如何根据需求确定实体、属性和关系,并进行逻辑设计和物理设计。

在实验中,我使用了ER图和关系模式图等工具,对数据库的结构和关系进行了清晰的描述和设计。

其次,实验中我们学习了数据库的创建和管理。

通过使用SQL语句,我成功创建了数据库和表,并进行了数据的插入、修改和删除操作。

在实验过程中,我深入了解了SQL语句的语法和用法,掌握了如何利用SQL语句对数据库进行有效的管理和操作。

最后,我们进行了数据库的查询操作。

通过学习和实践,我掌握了SQL语句中的SELECT语句的用法,能够实现对数据库中数据的查询和统计。

在实验中,我通过编写SQL语句,成功实现了对数据库中数据的查询和分析,对于复杂的查询需求也能够进行有效的处理和实现。

通过本次数据库上机实验,我不仅加深了对数据库设计、创建和查询的理解,还提高了对SQL语句的掌握和运用能力。

我相信这些知识和技能对我的未来学习和工作都将有很大的帮助。

总的来说,本次数据库上机实验内容丰富、操作性强,通过实际操作和实践,我对数据库的相关知识有了更深入的理解和掌握。

我相信这些知识和技能对我的未来学习和工作都将有很大的帮助。

希望通过不断的学习和实践,能够进一步提高自己的数据库技能,为将来的工作做好准备。

数据库上机实验指导

数据库上机实验指导

数据库原理实验指导书实验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(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。

数据库上机实验

数据库上机实验

附录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)。

附录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语句,并执行所写代码。

(注:“说明”部分不作为表定义内容)(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.在系统管理员的数据库引擎查询中,执行下述语句:G RANT CREATE TABLE TO log3G OC REATE SCHEMA log3 AUTHORIZATION log3G OA LTER USER log3 WITH DEFAULT_SCHEMA = log312.在log3建立一个新的数据库引擎查询中,再次执行第9题的语句,能否成功?为什么?如果执行下述语句:SELECT * NewTable能否成功?为什么?。

相关文档
最新文档