数据库上机实验
数据库应用上机实训报告
一、实训背景随着信息技术的飞速发展,数据库技术已经成为现代信息系统的核心组成部分。
为了提高学生的数据库应用能力,我校特开设了数据库应用上机实训课程。
本次实训旨在通过实际操作,使学生掌握数据库的基本原理、设计方法、开发工具以及数据库应用系统的搭建与维护。
二、实训目的1. 掌握数据库的基本概念、原理和设计方法。
2. 熟练运用数据库开发工具进行数据库的创建、维护和管理。
3. 学会使用SQL语言进行数据库的查询、更新、删除和插入操作。
4. 具备搭建数据库应用系统的基本能力。
三、实训内容1. 数据库设计:包括需求分析、概念设计、逻辑设计和物理设计。
2. 数据库开发工具:使用SQL Server Management Studio进行数据库的创建、维护和管理。
3. SQL语言:学习SQL语句的基本语法,掌握查询、更新、删除和插入操作。
4. 数据库应用系统搭建:以实际项目为例,学习数据库应用系统的搭建与维护。
四、实训过程1. 数据库设计(1)需求分析:了解项目背景,明确数据库应用系统的功能需求。
(2)概念设计:根据需求分析结果,设计实体-关系模型。
(3)逻辑设计:将实体-关系模型转换为关系模型,并定义表结构。
(4)物理设计:选择合适的存储引擎和数据类型,设计索引和视图。
2. 数据库开发工具使用SQL Server Management Studio创建数据库,并进行以下操作:(1)创建表:根据逻辑设计结果,创建相应的表。
(2)插入数据:向表中插入测试数据。
(3)查询数据:使用SQL语句查询表中的数据。
(4)更新数据:使用SQL语句更新表中的数据。
(5)删除数据:使用SQL语句删除表中的数据。
3. SQL语言(1)查询语句:掌握SELECT语句的基本语法,包括条件查询、排序查询、分组查询等。
(2)更新语句:掌握INSERT、UPDATE和DELETE语句的基本语法。
(3)子查询:学习使用子查询进行嵌套查询。
4. 数据库应用系统搭建以一个实际项目为例,学习数据库应用系统的搭建与维护:(1)需求分析:明确项目功能需求。
数据库上机实验
图1-1 通过开始菜单启动Access图1-2 Access启动后出现的对话框、打开已有的数据库文件启动后的初始对话框中,选择“打开已有文件”单选项并在其下的列表框中选择“罗斯文示例数据库”),可以很快地打开列出的数据库文件。
如果需要的数据库文件没有列出,则可选择“更多的文件”项,继而打开标准的“打开”对话框,从中选择数据库文件来图1-3 打开了一个数据库文件后的Access窗口所示的Access窗口中,有标题栏、菜单栏、工具栏按钮、状态栏和数据库设计视图数据库设计视图窗口的构成包括三个部分:命令按钮组(位于窗口上端的八个按钮)按钮组(位于窗口左部),对象成员集合(位于窗口右下部)。
选择不同的对象类别按钮,对应类别的对象成员集合显示在其右边。
如图1-3中选中了“表”对象类别按钮,其右边即显示出该数据库中的图1-4 帮助窗口中的目录选项卡图1-5 “文件新建数据库”对话框在新建的空白数据库SPJ中,选择表对象后单击“新建”按钮,则出现“新建表”对话框所示),从中可以选择以“数据表视图”、“设计视图”或“表向导”等不同的方式新附:SQL实验题答案零件表:P(PNO,PNAME,COLOR,WEIGHT)工程表:J(JNO,JNAME,CITY)供应商:S(SNO,SNAME,STATUS,CITY)联系表:SPJ(PNO,JNO,SNO,QTY)写出SQL查询:1.取出所在城市为天津的所有工程的全部细节;SELECT *FROM JWHERE (CITY = ‘天津’)σcity=’天津’(J)2.取出重量最轻的零件代号;SELECT PNOFROM PWHERE WEIGHT = (SELECT MIN(WEIGHT)FROM P )3.取出为工程J1提供零件的供应商代号;SELECT DISTINCT SNOFROM SPJWHERE JNO = ‘J1’ПSNO(σjno=’j1’(SPJ))4.取出为工程J1提供零件P1的供应商代号;SELECT SNOFROM SPJWHERE (PNO = ‘P1’ AND JNO = ‘J1’)5.取出由供应商S1提供零件的工程名称;SELECT J.JNAMEFROM SPJ INNER JOIN J ON J.JNO = SPJ.JNO WHERE SNO = ‘S1’Пjname(σsno=’s1’(SPJ)*Пjno,jname(S))6.取出供应商S1提供的零件的颜色;SELECT DISTINCT P.COLORFROM P INNER JOIN SPJ ON P.PNO = SPJ.PNO WHERE SNO = ‘S1’Пcolor(σsno=’s1’(SPJ)*Пpno,color(P))7.取出为工程J1或J2提供零件的供应商代号;SELECT DISTINCT SNOFROM SPJWHERE JNO = ‘J1’ OR JNO = ‘J2’8.取出为工程J1提供红色零件的供应商代号;WHERE JNO = ‘J1’ AND COLOR = ‘红’9.取出为所在城市是天津的工程提供零件的供应商代号;SELECT DISTINCT SPJ.SNOFROM J INNER JION SPJ ON J.JNO = SPJ.JNOWHERE CITY = ‘天津’10.取出为所在城市是天津或北京的工程提供红色零件的供应商代号;SELECT DISTINCT SPJ.SNOFROM (J INNER JION SPJ ON J.JNO = SPJ.JNO)INNER JION P ON SPJ.PNO = P.PNOWHERE (J.CITY = ‘天津’ OR J.CITY = ‘北京’) AND COLOR = ‘红’11.取出与工程所在城市相同的供应商所提供的零件代号;SELECT DISTINCT SPJ.PNOFROM (J INNER JION SPJ ON J.JNO = SPJ.JNO)INNER JION S ON SPJ.SNO = S.SNOWHERE J.CITY = S.CITY12.取出天津的供应商提供给天津的任一工程的零件代号;SELECT DISTINCT SPJ.PNOFROM (S INNER JION SPJ ON S.SNO = SPJ.SNO)INNER JION J ON SPJ.JNO = J.JNOWHERE S.CITY = ‘天津’ AND J.CITY = ‘天津’13.取出与工程不在同一城市的供应商提供零件的工程代号;SELECT DISTINCT J.JNOFROM (S INNER JION SPJ ON S.SNO = SPJ.SNO)INNER JION J ON SPJ.JNO = J.JNOWHERE J.CITY < > S.CITY14.取出天津供应商不提供任何零件的工程的代号;SELECT DISTINCT JNOFROM SPJWHERE JNO NOT IN (SELECT SPJ.JNOFROM S INNER JION SPJ ON S.SNO = SPJ.SNOWHERE S.CITY = ‘天津’)15.取出这样一些供应商代号,它们能够提供至少一种由红色零件的供应商提供的零件;SELECT DISTINCT SNOFROM SPJWHERE PNO IN (SELECT PNOFROM PWHERE COLOR = ‘红’)16.取出所有这样的二元组(CITY,CITY),使得第1个城市的供应商为第2个城市的工程提供零件;SELECT DISTINCT S.CITY, J.CITYFROM (S INNER JION SPJ ON S.SNO = SPJ.SNO)INNER JION J ON SPJ.JNO = J.JNOSELECT DISTINCT S.CITY, SPJ.PNO, J.CITYFROM (S INNER JION SPJ ON S.SNO = SPJ.SNO)INNER JION J ON SPJ.JNO = J.JNO18.重复17题,但不检索两个CITY 值相同的三元组。
数据库上机实验报告
数据库上机实验报告摘要:本次数据库上机实验主要介绍了SQL语言在数据库中的应用,通过实际操作掌握了SQL语言的基本语法和常用命令,同时实践了数据库的建立、数据表的创建、数据插入、修改、删除、以及查询等操作。
本文将详细介绍实验中所使用的数据结构和算法,以及实验数据和结果的分析与总结。
一、实验目的本次实验的目的是对数据库相关的运用做一次实践操作,包括了数据库的建立、数据表的创建、数据插入、修改、删除、以及查询等操作。
力求将理论知识与实践经验相结合,为今后的数据库实践奠定基础。
二、实验原理本次实验中主要使用的是SQL语言对数据库进行管理。
SQL是一种结构化查询语言,可以对数据库进行查询、操作、管理等。
通过SQL语言对数据库中的数据进行增、删、改、查等操作,可以实现对数据的有效管理。
三、实验步骤1. 建立数据库首先在本地电脑建立数据库,可以通过使用全局管理工具进行实现。
2. 创建数据表在数据库中创建数据表,可以用CREATE TABLE命令来实现。
首先需要指定表的名称,其次需要指定表的字段名及其数据类型。
3. 插入数据表创建好之后,可以向表中插入数据。
可以使用INSERT命令将数据插入到表中,INSERT后面接表名和插入的数据。
4. 数据查询对于已经插入到数据库中的数据,可以进行查询操作。
可以通过SELECT语句对数据库进行查询。
SELECT后面需要指定要查询的字段名或者使用星号表示要查询全部字段。
5. 数据修改在数据库中,数据的修改一般是使用UPDATE命令来实现。
通过UPDATE语句可以修改已经存在的数据信息。
6. 数据删除表中的某个项不再需要时,可以通过DELETE语句来删除数据库中的数据项。
DELETE命令后面跟上要删除的数据。
四、实验结果通过SQL的基本命令,我们在本地电脑中成功的建立起了一个数据库,并把相关的数据插入到该数据库中。
在查询过程中,SQL可以只按照需要查询的数据来进行操作,使得数据的处理过程更加高效。
数据库综合实训上机报告
一、实训背景随着信息技术的飞速发展,数据库技术已经成为各行各业不可或缺的基础技术。
为了提高学生的数据库应用能力,我们学院开展了数据库综合实训课程。
本次实训旨在通过上机实践,让学生全面掌握数据库设计、创建、查询、维护等基本操作,提高学生的数据库应用技能。
二、实训目标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. 试比较连接查询和嵌套查询有些嵌套查询是可以用连接来代替的,而且使用连接的方式,性能要比嵌套查询高出很多当查询涉及多个关系时,用嵌套查询逐步求解结构层次清楚,易于构造,具有结构化程序设计的优点。
数据库上机实验报告
数据库上机实验报告引言:数据库是一种用于存储和管理数据的工具,它在现代社会中的重要性无可忽视。
本次实验旨在通过实际上机操作,加深对数据库的理解,并熟悉其相关操作和功能。
一、实验背景在信息时代的大背景下,各种类型的数据呈现指数级增长。
为了有效地存储和管理这些数据,数据库被广泛采用。
数据库管理系统(DBMS)是一套软件工具,用于定义、创建、管理和检索数据库。
本次实验将使用一款流行的开源DBMS工具MySQL。
二、实验目的1. 了解数据库的基本概念和原理;2. 掌握数据库的基本操作;3. 理解并应用SQL语言;4. 通过实际操作,熟悉数据库的增删改查功能。
三、实验过程1. 数据库的创建与连接首先,在MySQL中创建一个新的数据库,并通过合适的用户名和密码连接到该数据库。
数据库连接作为与数据库通信的接口,是进行各种操作的基础。
2. 数据表的创建与设置创建数据表是数据库设计的核心部分。
在实验过程中,我们选择创建一个学生信息表格。
通过指定各个字段的数据类型、长度以及约束,定义了学生信息表的结构。
3. 数据的插入与查询在学生信息表中插入若干条测试数据,包括学生姓名、年龄、性别、学号等信息。
通过SQL语句,我们可以灵活地插入、查询和过滤数据。
例如,查询年龄大于20岁的学生或者查询特定学号的学生等。
4. 数据的更新与删除数据库的更新和删除操作是不可或缺的。
我们可以通过SQL语句,修改特定记录的字段值,或者删除某些记录,以实现数据的动态维护和管理。
四、实验结果与分析通过实验操作,我们成功创建了学生信息表格,并插入了若干测试数据。
在查询功能上,我们能够根据不同的条件,按照要求查询指定的学生信息。
此外,我们还尝试了数据的更新和删除操作,成功地修改了一部分学生的年龄和性别,并删除了一些无效的记录。
五、实验总结通过本次数据库上机实验,我对数据库的基本概念、原理和操作有了更深入的了解。
在实践中,我能熟练地使用创建数据库、创建数据表、插入数据、查询数据以及修改和删除数据等功能。
数据库上机实习心得体会4篇
数据库上机实习心得体会4篇数据库上机实习心得体会4篇数据库上机实习心得体会1SQL是Structured Query Language(结构化查询语言)的缩写。
SQL 是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。
在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。
SQL功能强大、简洁易学、使用便利,已经成为了数据库操作的基础,并且现在几乎全部的数据库均支持SQL。
它的强大功能以前就听人说过,所以就选了这门课。
经过一个学期的数据库课程的学习,我们把握了创建数据库以及对数据库的操作的基础学问。
幸老师的教学急躁细致,课堂上我们有不理解的地方老师都反复讲解,使我们的基础学问把握的比较结实。
数据库这门课涉及到以前的学问不多,是一门从头学起的课程,即使基础不是很好,只要认真听讲、复习功课,还是一门比较简洁把握的课。
通过学习,我对数据库没有了奇妙感,简洁的说下我对数据库的理解吧。
我觉得它就是创建一些表格,然后再用一些语句依据他们之间的关系,把它们组合在一起。
最基本的就是子查询了。
我的子查询阅历就是先写出select * 我们要找什么,然后写条件,我们要找的东西有什么条件,然后在写条件,我们的条件涉及那些表,那些字段,再在这些字段中通过我们学过的简洁select语句选出来,有时候还要用到几层子查询,不过无所谓,只要思路是清晰的就没什么问题了。
接下来,关联查询之类的,学起来也是不难的,但有一点必需留意,那就是上课必需跟着老师的进度走,确定要留意听讲,勤做笔记.这样,你学起来就会得心应手,没什么困难。
总之,这是一门很值得学的课程,自己学过获益匪浅,就算自己将来不从事这个行业,但是至少对数据不再生疏,甚至还略知一二。
呵呵…感谢老师~!数据库上机实习心得体会2一个月的数据库实训就转瞬间就上完了,期间讲解了一个同学管理系统,最终还做了一个小的数据库链接作业。
现在就说说关于vb链接的数据库的一些方法。
数据库上机报告
数据库上机报告一、实验目的本次实验旨在让学生熟悉基本的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)一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种;(3)一个车间生产多种产品,产品有产品号和价格;每种产品只能由一个车间生产;(4)一个车间制造多种零件,一种零件也可能为多个车间制造。
零件有零件号、重量和价格;(5)一种产品可由多种零件组成,一种零件也可以装配出多种产品;(6)产品和零件均存入仓库;(7)厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。
根据以上需求分析结果,按照下述要求,设计并建立工厂管理数据库。
◆分析实体及联系,设计E-R图。
◆将E-R图转换成关系模式,并规范化到3NF。
◆在Microsoft SQL Server2000中基于“企业管理器”建立数据库及相关对象(主码,外码,索引,约束等)。
◆测试数据入库2.基于“查询分析器”,完成并保存下述题目的SQL脚本(1)建立“工种”是“钳工”的所有职工详细信息的视图;create view View_工人_钳工asselect*from职工表where工种='钳工'with check option(2)建立“车间号”是“CJ01”的钳工详细信息的视图;create view View_钳工_CJ01asselect*from View_工人_钳工where车间号='CJ01'(3)建立使用了“零件号”是“LJ0002”的所有产品详细信息的视图;create view View_产品_零件LJ0002asselect产品表.产品号,价格,车间号,仓库号from装配表,产品表where装配表.产品号=产品表.产品号and零件号='LJ0002'(4)对零件表按照“零件号”建立唯一索引;create unique index Index_U_零件号on零件表(零件号)(5)对职工表按照“性别”建立聚簇索引;create clustered index Index_C_性别on职工表(性别)(6)查询使用了“零件号”是“LJ0002”的产品的生产车间号;select车间号from装配表,产品表where装配表.产品号=产品表.产品号and零件号='LJ0002'(7)查询“职工号”是“ZG0001”的职工所在车间的“车间主任姓名”和“联系电话”;select车间主任姓名,联系电话from职工表,车间表where职工表.车间号=车间表.车间号and职工号='ZG0001'(8)查询使用了“零件号”是“LJ0002”的所有产品的生产车间的“车间主任姓名”和“联系电话”;(连接查询、嵌套查询实现)select车间主任姓名,联系电话from产品表,装配表,车间表where产品表.产品号=装配表.产品号and产品表.车间号=车间表.车间号and装配表.零件号='LJ0002'select车间主任姓名,联系电话from车间表where车间号in(select车间号from产品表where产品号in(select产品号from装配表where零件号='LJ0002'))(9)查询使用了“零件号”是“LJ0002”的所有产品的“产品号”和“零件数量”,且查询结果按照“零件数量”降序排列;select产品号,零件数量from装配表where零件号='LJ0002'order by零件数量desc(10)查询使用了“零件号”是“LJ0002”的产品数;select count(*)as产品数from装配表where装配表.零件号='LJ0002'(11)查询“LJ0002”号零件装配产品的使用总量;select sum(零件数量)as使用总数from装配表where零件号='LJ0002'(12)查询使用了3种以上零件的产品号;select产品号from装配表group by产品号having count(*)>=3【注意】:下机时保存数据库文件(.mdf和.ldf)及SQL脚本文件到U盘。
数据库上机实验报告
数据库上机实验报告
本次数据库上机实验主要涉及到数据库的设计、创建和查询,通过对实验内容的学习和实践,我对数据库的相关知识有了更深入的理解和掌握。
首先,我们学习了数据库的设计原理和方法。
在数据库设计的过程中,需要考虑到数据的完整性、一致性和安全性等因素,通过对实际案例的分析和设计,我了解到了如何根据需求确定实体、属性和关系,并进行逻辑设计和物理设计。
在实验中,我使用了ER图和关系模式图等工具,对数据库的结构和关系进行了清晰的描述和设计。
其次,实验中我们学习了数据库的创建和管理。
通过使用SQL语句,我成功创建了数据库和表,并进行了数据的插入、修改和删除操作。
在实验过程中,我深入了解了SQL语句的语法和用法,掌握了如何利用SQL语句对数据库进行有效的管理和操作。
最后,我们进行了数据库的查询操作。
通过学习和实践,我掌握了SQL语句中的SELECT语句的用法,能够实现对数据库中数据的查询和统计。
在实验中,我通过编写SQL语句,成功实现了对数据库中数据的查询和分析,对于复杂的查询需求也能够进行有效的处理和实现。
通过本次数据库上机实验,我不仅加深了对数据库设计、创建和查询的理解,还提高了对SQL语句的掌握和运用能力。
我相信这些知识和技能对我的未来学习和工作都将有很大的帮助。
总的来说,本次数据库上机实验内容丰富、操作性强,通过实际操作和实践,我对数据库的相关知识有了更深入的理解和掌握。
我相信这些知识和技能对我的未来学习和工作都将有很大的帮助。
希望通过不断的学习和实践,能够进一步提高自己的数据库技能,为将来的工作做好准备。
数据库上机实验报告
数据库上机实验报告数据库上机实验汇报试验内容⑴数据表的建立基本表《简单的》带有主键带有外码约束的(外码来自其他表或者本表)⑵数据表的修改添加删除列修改列属性类型添加删除约束(约束名)1 / 12元组的添加,修改,删除删除数据表试验过程⑴createtablestudent(snochar(9)primarykey,/*sno是主码列级完整性约束条件*/ snamechar(20)unique,/*sname取唯一值*/ssexchar(2),sagesmallint,/*类型为smallint*/sdeptchar(20)/*所在系*/2 / 12createtablecourse(cnochar(4)primarykey,/*列级完整性约束条件,cno是主码*/ cnamechar(40),cpnochar(4),/*cpno的含义是先行课*/ccreditsmallint,foreignkey(cpno)referencescourse(cno)/*表级完整性约束条件,cpno是外码,被参照表是course,被参照列是cno*/);3 / 12createtablesc(snochar(9),cnochar(4),gradesmallint,primarykey(sno,cno),/*主码有两个属性构成,必须作为表级完整性进行定义*/ foreignkey(sno)referencesstudent(sno),/*表级完整性约束条件,sno是外码,被参照表是student*/ foreignkey(cno)referencescourse(cno),4 / 12/*表级完整性约束条件,cno是外码,被参照表示course*/);例⑴createtables(cnovarchar(3),/*变长的字符串,输入2个字符就是两个字符不会补空格*/snamevarchar(20),statusint,cityvarchar(20),constraintpk_snoprimarykey(sno),/*约束条件的名字为pk_sno*/);5 / 12createtablep(pnovarchar(3),pnamevarchar(20),colorvarchar(3),weightint,constraintpk_pnoprimarykey(pno),/*约束条件的名字是pk_pno*/ );createtablej(jnovarchar(3),6 / 12jnamevarchar(20),cityvarchar(20),constraintpk_jnoprimarykey(jno)/*约束条件的名字为pk_jno*/ );例⑵createtablespj(snovarchar(3),/*第一个表中的主码*/pnovarchar(3),jnovarchar(3),qtyint,/*数量*/7 / 12constraintpk_spjprimarykey(sno,pno,jno),/*主码由3个属性组成*/foreignkey(sno)referencess(sno),/*表级完整性约束条件,sno是外码,被参照表是s*/foreignkey(pno)referencesp(pno),/*表级完整性约束条件,pno是外码,被参照表是p*/foreignkey(jno)referencesj(jno),/*表级完整性约束条件,jno是外码,被参照表是j*/);⑵数据表的更改在s表中添加一个concat列8 / 12altertablesaddconcatvarchar(20)在s表中删除concat列altertablesdropcolumnconcat更改s表concat列的属性把长度由20改为30 altertablesaltercolumnconcatvarchar(30)联络方式名字为concat修改属性为唯一的属性名为con_concat altertablesaddconstraintcon_concatunique(concat)删除约束关系con_concataltertablesdropconstraintcon_concat/*插入一个元组*/9 / 12insertintosvalus(‘s1’,’精益’,20,’天津’)/*20不能写成’20’*/试验中的问习题的排除与总结归纳:⑴在创建spj时有三个实体所以从3个实体中取主码,还有一个数量属性也要写上主码由那3个主码确定⑵更改一个数据库中数据表时一定要先使该数据库处于正在使用状态⑶constraint是可选关键字,表示primarykey、notnull、unique、foreignkey或check约束定义的开始。
数据库上机实验及指导
实验环境:Microsoft SQL Server 2000或Microsoft SQL Server 2005实验目的:◆熟练使用SQL定义子语言、操纵子语言命令语句;◆掌握关系模型上的完整性约束机制;◆掌握一定的数据库系统管理技术。
实验要求:◆完成所有上机题(选做“三、数据库系统管理实验”),实验课结束时上交实验报告及相关数据文件!一、SQL数据库语言操作实验1、SQL定义子语言实验1-1 利用SQL语句创建、修改、删除数据库。
创建要求:数据库Employee中包含一个数据库文件Empdat1.mdf和一个日志文件Emplog.ldf。
其中,数据文件大小为10MB,最大为50MB,以5MB速度增长;日志文件大小为5MB,最大为25MB,以5%速度增长。
修改要求:增加第二个数据库文件Empdat2.ndf,其中,数据文件大小为5MB,最大为25MB,以2MB速度增长。
实验指导:打开Microsoft SQL Server 2000的“查询分析器”,输入以下代码:Create Database EmployeeOn Primary( Name=Empdat1,Filename=’d:\你的学号\data\Empdat1.mdf ’,Size=10MB,MaxSize=50MB,FileGrowth=5MB)( Name=Empdat2,Filename=’d:\你的学号\data\Empdat2.ndf ’,Size=5MB,MaxSize=25MB,FileGrowth=2MB)Log On( Name=Emplog,Filename=’d:\你的学号\data\Emplog.ldf ’,Size=5MB,MaxSize=25MB,FileGrowth=5%)按“Ctrl+F5”执行语句,或点击快捷图标栏的“√”图标执行之,完成数据库的创建附:增加、修改、删除数据或日志文件用以下命令:ALTER DATABASE 数据库名ADD FILE <filespec>[,…n]| MODIFY FILE <fiespec>| REMOVE FILE逻辑文件名| ADD LOG FILE<filespec>[,…n]| MODIFY NAME=新数据库名<filespec>::=( NAME=逻辑文件名[,NEWNAME=新逻辑文件名][,FILENAME=‘OS文件的路径及名字’][,SIZE=文件的初始大小][,MAXSIZE=最大的文件尺寸][,FILEGROWTH=文件大小增量])1-2 利用SQL创建人员表person、月薪表salary及部门表dept。
数据库上机实验五篇范文
数据库上机实验五篇范文第一篇:数据库上机实验创建数据表与数据输入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岁之间。
数据库系统原理上机实验
数据库系统原理上机实验实验1数据库系统及数据库基础操作1、实验目的1)熟练掌握SQL Server的使用方法。
2)理解和掌握数据库DDL语言,能够熟练地使用SQL DDL语句创建、修改和删除数据库、模式和基本表。
2、实验主要内容1)安装SQL Server集成环境。
2)理解和掌握SQL DDL语句的语法,特别是各种参数的具体含义和使用方法;使用SQL语句创建、修改和删除数据库和基本表。
掌握SQL语句常见语法错误的调试方法。
3、设备要求1)PC一台实验2 SQL语言—SELECT查询操作1、实验目的要求1)掌握SQL程序设计基本规范,熟练运用SQL语言实现数据基本查询,包括单表查询、分组统计查询和连接查询。
2)掌握SQL嵌套查询和集合查询等各种高级查询的设计方法等。
2、实验主要内容1)针对SQL Server数据库设计各种单表查询语句、分组统计查询语句;设计单个表针对自身的连接查询,设计多个表的连接查询。
理解和掌握SQL查询语句各个子句的特点和作用,按照SQL程序设计规范写出具体的SQL查询语句,并调试通过。
2)针对SQL Server数据库,正确分析用户查询要求,设计各种嵌套查询和集合查询。
3、实验仪器设备1)学生每个一台PC机2)已安装SQL Server环境实验3SQL语言—更新操作、视图、索引等操作1、实验目的要求1)熟悉数据库的数据更新操作,能够使用SQL语句对数据库进行数据的插入、修改、删除操作。
2)熟悉SQL语言有关视图的操作,能够熟练使用SQL语句来创建需要的视图,定义数据库外模式,并能使用所创建的视图实现数据管理。
3)掌握索引设计原则和技巧,能够创建合适的索引以提高数据库查询。
2、实验主要内容1)针对SQL Server数据库设计单元组插入、批量数据插入、修改数据和删除数据等SQL语句。
理解和掌握INSERT、UPDATE和DELETE语法结构的各个组成成分,结合嵌套SQL子查询,分别设计几种不同形式的插入、修改和删除数据的语句,并调试成功。
数据库上机实验报告
数据库上机实验报告实验名称:数据库上机实验报告实验目的:通过在数据库环境下进行上机实验,掌握数据库的基本操作和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”表中的数据,符合查询条件的学生数据被正确显示。
数据库上机实习报告
一、实习背景随着计算机技术的不断发展,数据库技术已经成为现代信息技术中不可或缺的一部分。
为了使我对数据库技术有更深入的了解,提高我的实际操作能力,我参加了本次数据库上机实习。
本次实习主要基于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语句插入数据。
数据库上机实验
数据库上机实验附录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语句,并执⾏所写代码。
(注:“说明”部分不作为表定义内容)3(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.统计每门课程得选课⼈数与最⾼成绩。
精选数据库上机实验报告
精选数据库上机实验报告数据库上机实验报告试验内容;1、;数据表的建立;基本表《简单的》带有主键;带有外码约束的(外码来自其他表或者本表);2、;数据表的修改;添加删除列;;修改列属性类型;添加删除约束(约束名);元组的添加,修改,删除;;;;;;删除数据表;试验过程;1、create;table;student;(;sno;char(9);primary;key;,;;;;;/*sno是主码;列级完整性约束条件*/; sname;char(20);unique,;;;;;;/*sname取唯一值*/;ssex;char(2),;sage;smallint,;;;;;;;;;;;;/*类型为smallint*/;sdept;char(20);;;;;;;;;;;;;;/*所在系*/;);;;;;;;(;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*/;);;(;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改为30;alter;table;s;alter;column;concat;varchar(30);联系方式;名字为concat;修改属性为唯一的;属性名为con_concat;alter;table;s;add;constraint;con_concat;unique(concat);;;;;;;删除约束关系con_concat;alter;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;约束定义的开始。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
创建数据表与数据输入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岁之间。
ALTER TABLE studentADD CONSTRAINT CK_birthdayCHECK(YEAR(GETDATE())-YEAR(birthday)) BETWEEN 17 AND 25 执行如下插入语句,查看提示信息INSERT INTO student(studentno, sname, sex, birthday, classno)VALUES (‘0922221328’, ’张源’, ’男’, ’1983-04-05’, ’090501’)提示:表达式YEAR(GETDATE())-YEAR(birthday)4. 为teaching数据库创建规则prof_rule,规定教师职称取值只能为’助教’,’讲师’,’副教授’,’教授’,并将其绑定到teacher表的prof列上。
CREATE RULE prof_rule AS @prof IN(’助教’,’讲师’,’副教授’,’教授’)EXEC sp_bindrule ‘prof_rule’, ‘teacher.prof’执行如下插入语句,查看提示信息INSERT INTO teacher VALUES(‘t05002’, ’张源’, ’软件工程’, ’工程师’, ’计算机学院’)提示:表达式IN(职称列表)5. 编写程序,输出在1-3000之间能被17整除的最大数值提示:可使循环控制变量从最大值开始,逐步减少,第一个满足被17整除的数值即为所求解的结果,可通过BREAK语句跳出循环。
(如果使循环控制变量从小到大逐步增加,则循环次数将大大增加,程序执行效率将下降。
)PRINT ‘1-3000之间能被17整除的最大数值为:’ +CAST(@i AS CHAR(4)) DECLARE @s INT, @i INTSELECT @s=0, @i=3000WHILE @i>=1BEGINIF @i%17=0BEGINPRINT ‘1-3000之间能被17整除的最大数值为:’ + CAST(@i AS CHAR(4))BREAKEND@i = @i-1END1. 利用Transact-SQL语句声明一个长度为16的nchar型变量bookname,并赋初值为“SQL Server数据库编程”,打印该变量。
2. 编程求50-100之间的所有能被3整除的奇数之和。
3. 编写程序,声明CHAR型变量@ch,并赋初值。
判断字符变量@ch中存放的是字母、数字字符还是其他字符,并输出相关信息。
(提示:UPPER函数可以将小写字母转换为大写字母)4. 编写程序,求解如下分数序列的前20项之和并打印输出结果。
S=2/1+3/2+5/3+8/5+13/8+21/13+…分析数列的规律:后一项的分子为前一项的分子和分母之和,后一项的分母则为前一项的分子,通过循环即可实现累加。
注意:声明分子和分母为浮点型数据NUMERIC(20,7).5.查询编号为c06108, c08106, c05109课程的学生总评成绩等级,平时成绩usually*0.2+期末成绩final*0.8>=90的为优秀,80-90为良好,70-80为中等,60-70为及格,<60为不及格。
(提示:使用CASE …END语句)1. 查询course表中所有的记录。
2. 查询student表中女生的人数。
3. 查询teacher表中每一位教授的教师号、姓名和专业名称。
4. 利用现有的表生成新表,新表中包括学号、学生姓名、课程号和总评成绩。
其中:总评成绩=final*0.8+usually*0.25. 查询student表中所有年龄大于20岁的男生的姓名和年龄。
6. 查询计算机学院教师的专业名称。
7. 查询Email使用126邮箱的所有学生的学号、姓名和电子邮箱地址。
8. 查询score表中选修’c05109’或’c05103’课程,并且课程期末成绩在90~100分之间的学生姓名和期末成绩。
9. 查询student表中所有学生的基本信息,查询结果按班级号classno升序排列,同一班级中的学生按入学成绩point降序排列。
10. 查询选修’c05109’课程,并且期末成绩在前5名的学生学号、课程号和期末成绩。
(提示:TOP 5)1. 按性别分组,求出student表中每组学生的平均年龄。
2. 统计每个学生期末成绩的平均分。
3. 输出student表中没有职称的职工的教师号、姓名、专业和部门。
4. 查询选修课程且期末成绩不为空的学生人数。
5. 查询每名学生的学号、选修课程数目、总成绩,并将查询结果存放到生成的“学生选课统计表”中。
6. 查询各班学生的人数。
7. 查询各课程期末成绩的最高分和最低分。
8. 查询教两门及以上课程的教师编号、任课班级数。
9. 查询课程编号以’c05’开头、被3名及以上学生选修且期末成绩的平均分高于75分的课程号、选修人数和期末成绩平均分,并按平均分降序排序。
10. 查询所有08级学生的期末成绩平均分,要求利用COMPUTE BY方法显示每一名学生的学生编号、课程号、期末成绩的明细表,以及期末成绩平均分的汇总表。
11. 查询所有女生入学成绩的最高分,要求利用COMPUTE BY方法既显示明细又显示汇总结果。
SQL语句的高级应用11. 查询每一位教授的教师号、姓名和讲授的课程名称。
表:teacher,course,teach_class2. 分别统计每个学生期末成绩高于75分的课程门数。
表:student,score3. 计算每个学生获得的学分。
表:student,score,course4. 获取入学时间在2008年到2009年之间的所有学生中入学年龄小于19岁的学生的学号、姓名及所修课程的课程名称。
表:student, stu_course5. 查询09级学生的学号、姓名、课程及学分。
表:student,stu_course6. 查询所有班级的期末成绩平均分,并按照平均分降序排列。
表:score,student7. 查询教师基本信息和教授课程信息,其中包括未分配课程的教师信息。
表:teacher,teach_class8. 查询’090501’班级中选修了’韩晋升’老师讲授的课程的学生的学号、姓名、课程名和期末成绩。
表:score,student,course,teach_class,teacher9. 查询每门课程的课程号、课程名和选修该课程的学生人数,并按所选人数升序排序。
表:score,course10. 查询两门及以上课程的期末成绩超过80分的学生的姓名及其平均成绩。
表:student,scoreSQL语句的高级应用2 –使用子查询1. 输出student表中年龄大于女生平均年龄的男生的所有信息。
2. 查询入学考试成绩最高的学生的学号、姓名和入学成绩。
3. 查询所有教授’c05127’号课程的教师信息。
4. 查询同时教授’c05127’和’c05109’号课程的教师信息。
5. 查询至少选修了姓名为’韩吟秋’的学生所选修课程中的一门课的学生的学号和姓名。
6. 查询没有被任何学生选修的课程编号、课程名称和学分。
7. 查询’C语言’课程期末成绩比’电子技术’课程期末成绩高的所有学生的学号和姓名。
8. 查询所有班级期末平均成绩的最高分,并将其赋值给变量,通过PRINT语句输出。
视图与索引使用SQL语言1. 创建一个视图v_teacher,查询所有“计算机学院”的教师信息。
CREATE VIEW v_teacherASSELECT*FROM teacherWHERE department='计算机学院'GOSELECT*FROM v_teacher2. 创建一个视图v_avgstu,查询每个学生的学号、姓名及平均分,并且按照平均分降序排列。
CREATE VIEW v_avgstuASSELECT TOP 100 student.studentno,sname,avg(final)AS'平均分'FROM student JOIN scoreON student.studentno=score.studentnoGROUP BY student.studentno,snameORDER BY avg(final)GOSELECT*FROM v_avgstu3. 修改v_teacher的视图定义,添加WITH CHECK OPTION选项。
ALTER VIEW v_teacherASSELECT*FROM teacherWHERE department='计算机学院'WITH CHECK OPTION4. 通过视图v_teacher向基表teacher中分别插入数据(‘05039’, ‘张馨月’,’计算机应用’,’讲师’,’计算机学院’)和(‘06018’, ‘李诚’,’机械制造’,’副教授’,’机械学院’),并查看插入数据情况。