数据库上机实验

合集下载

数据库应用上机实训报告

数据库应用上机实训报告

一、实训背景随着信息技术的飞速发展,数据库技术已经成为现代信息系统的核心组成部分。

为了提高学生的数据库应用能力,我校特开设了数据库应用上机实训课程。

本次实训旨在通过实际操作,使学生掌握数据库的基本原理、设计方法、开发工具以及数据库应用系统的搭建与维护。

二、实训目的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篇数据库上机实习心得体会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进行数据库操作。

数据库上机实习报告

数据库上机实习报告

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

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

本次实习主要基于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、;数据表的修改;添加删除列;;修改列属性类型;添加删除约束(约束名);元组的添加,修改,删除;;;;;;删除数据表;试验过程;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.建立工厂管理数据库工厂(包括厂名和厂长名)需要建立一个管理数据库存储以下信息:(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盘。

数据库上机实验

数据库上机实验

数据库上机实验附录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.统计每门课程得选课⼈数与最⾼成绩。

数据库上机实验报告

数据库上机实验报告

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

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

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

在实验中,我使用了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”表中的数据,符合查询条件的学生数据被正确显示。

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

(注:“说明”部分不作为表定义内容)列名说明数据类型约束Sno 学号普通编码定长字符串,长度为7 主键Sname 姓名普通编码定长字符串,长度为10 非空Ssex 性别普通编码定长字符串,长度为2 取值范围:{男,女}Sage 年龄微整型(tinyint)取值范围:15-45Sdept 所在系普通编码不定长字符串,长度为20默认值为“计算机系”Sid 身份证号普通编码定长字符串,长度为10 取值不重Sdate 入学日期日期默认为系统当前日期列名说明数据类型约束Cno 课程号普通编码定长字符串,长度为10 主键Cname 课程名普通编码不定长字符串,长度为20非空Credit 学时数整型取值大于0 Semester学分小整型表C-3 SC表结构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.在系统管理员的数据库引擎查询中,执行下述语句:G RANT CREATE TABLE TO log3G OC REATE SCHEMA log3 AUTHORIZATION log3G OA LTER USER log3 WITH DEFAULT_SCHEMA = log312.在log3建立一个新的数据库引擎查询中,再次执行第9题的语句,能否成功?为什么?如果执行下述语句:SELECT * NewTable 能否成功?为什么?。

相关文档
最新文档