文档库 最新最全的文档下载
当前位置:文档库 › 2014《数据库原理》实验6

2014《数据库原理》实验6

2014《数据库原理》实验6
2014《数据库原理》实验6

实验六:数据库综合查询

一、实验目的

1.掌握SELECT语句的基本语法和查询条件表示方法;

2.掌握查询条件种类和表示方法;

3.掌握连接查询的表示及使用;

4.掌握嵌套查询的表示及使用;

5.了解集合查询的表示及使用。

二、实验环境

已安装SQL Server 2005 企业版的计算机;

具有局域网环境,有固定IP;

三、实验学时

2学时

四、实验要求

1.了解SELECT语句的基本语法格式和执行方法;

2.了解连接查询的表示及使用;

3.了解嵌套查询的表示及使用;

4.了解集合查询的表示及使用;

5.完成实验报告;

五、实验内容及步骤

以数据库原理实验5数据为基础,请使用T-SQL 语句实现进行以下操作:1.查询以‘DB_’开头,且倒数第3个字符为‘s’的课程的详细情况

2.查询名字中第2个字为‘阳’的学生姓名和学号及选修的课程号、课程名;

3.列出选修了‘数学’或者‘大学英语’的学生学号、姓名、所在院系、选修

课程号及成绩;

4.查询缺少成绩的所有学生的详细情况;

5.查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息;

6.查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成

绩;

7.按照?学号,姓名,所在院系,已修学分?的顺序列出学生学分的获得情况。

其中已修学分为考试已经及格的课程学分之和;

8.列出只选修一门课程的学生的学号、姓名、院系及成绩;

9.查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号;

10.只选修?数据库?和?数据结构?两门课程的学生的基本信息;

11.至少选修?数据库?或?数据结构?课程的学生的基本信息;

12.列出所有课程被选修的详细情况,包括课程号、课程名、学号、姓名及成绩;

13.查询只被一名学生选修的课程的课程号、课程名;

14.检索所学课程包含学生‘张向东’所学课程的学生学号、姓名;

15.使用嵌套查询列出选修了?数据结构?课程的学生学号和姓名;

16.使用嵌套查询查询其它系中年龄小于CS系的某个学生的学生姓名、年龄和

院系;

17.使用ANY、ALL 查询,列出其他院系中比CS系所有学生年龄小的学生;

18.分别使用连接查询和嵌套查询,列出与‘张力’在一个院系的学生的信息;

19.使用集合查询列出CS系的学生以及性别为女的学生名单;

20.使用集合查询列出CS系的学生与年龄不大于19岁的学生的交集、差集;

21.使用集合查询列出选修课程1的学生集合与选修课程2的学生集合的交集;

22.思考题:按照课程名顺序显示各个学生选修的课程(如200515001 数据库数

据结构数学);

六、出现问题及解决办法

如:某些查询操作无法执行,如何解决?

《数据库原理》实验9

实验九:数据库备份及恢复 一、实验目的 1.熟悉数据库备份及恢复机制; 2.了解SQL Server的数据备份和恢复机制; 3.掌握SQL-Server中数据库备份和恢复的方法。 二、实验环境 已安装SQL Server 企业版的计算机; 具有局域网环境,有固定IP; 三、实验学时 2学时 四、实验要求 1.了解创建备份设备和进行数据库完全备份操作的方法; 2.了解进行数据库恢复的步骤; 3.完成实验报告。 五、实验内容及步骤 以管理员帐号登录SQL Server Management Studio,以原有数据库stu为基础,请使用Management Stuio界面方式或T-SQL 语句实现以下操作: 1.针对数据库stu创建完全数据库备份集stu.bak,目标磁盘为D:\ user \ stu.bak;

2.在数据库stu中新建数据表ceshi,内容自定,然后针对数据库stu创建 差异备份; 3.向数据库stu的数据表ceshi插入部分记录,然后针对数据库stu创建 事务日志备份;

4.根据需要,将数据库恢复到数据库stu的最初状态; 5.根据需要,将数据库恢复到创建数据表ceshi后的状态; 6.根据需要,将数据库恢复到在ceshi表插入记录后的状态;

7.针对现有数据库stu创建完全文件和文件组备份集stu_file,目标磁盘 为D:\ user \ stu_file.bak;

8.在当前数据库中新建数据表ceshi2,然后针对数据库stu创建差异文件 和文件组备份;

9.向数据库stu的数据表ceshi2插入部分记录,然后针对数据库stu创建 事务日志文件和文件组备份;

(完整版)数据结构实验报告全集

数据结构实验报告全集 实验一线性表基本操作和简单程序 1 .实验目的 (1 )掌握使用Visual C++ 6.0 上机调试程序的基本方法; (2 )掌握线性表的基本操作:初始化、插入、删除、取数据元素等运算在顺序存储结构和链表存储结构上的程序设计方法。 2 .实验要求 (1 )认真阅读和掌握和本实验相关的教材内容。 (2 )认真阅读和掌握本章相关内容的程序。 (3 )上机运行程序。 (4 )保存和打印出程序的运行结果,并结合程序进行分析。 (5 )按照你对线性表的操作需要,重新改写主程序并运行,打印出文件清单和运行结果 实验代码: 1)头文件模块 #include iostream.h>// 头文件 #include// 库头文件------ 动态分配内存空间 typedef int elemtype;// 定义数据域的类型 typedef struct linknode// 定义结点类型 { elemtype data;// 定义数据域 struct linknode *next;// 定义结点指针 }nodetype; 2)创建单链表

nodetype *create()// 建立单链表,由用户输入各结点data 域之值, // 以0 表示输入结束 { elemtype d;// 定义数据元素d nodetype *h=NULL,*s,*t;// 定义结点指针 int i=1; cout<<" 建立一个单链表"<> d; if(d==0) break;// 以0 表示输入结束 if(i==1)// 建立第一个结点 { h=(nodetype*)malloc(sizeof(nodetype));// 表示指针h h->data=d;h->next=NULL;t=h;//h 是头指针 } else// 建立其余结点 { s=(nodetype*) malloc(sizeof(nodetype)); s->data=d;s->next=NULL;t->next=s; t=s;//t 始终指向生成的单链表的最后一个节点

数据库原理实验报告

数据库原理 实验报告 系别电子信息系 专业计算机科学与技术班级学号4080522 姓名龚敏 指导教师李爱英

一.概要设计 1.教学数据库各表的关系模式:(加下线的属性为主键) 学生 (学号,姓名,性别, 出生日期,所在系) 英文缩写对照:student(s_no,s_name,s_sex,s_age,s_birthday,s_department) 课程 (课程号,课程名,学分) 英文缩写对照:course(c_no,c_name,c_score) 教师 (职工号,姓名,性别,职称) 英文缩写对照:teacher(t_no,t_name,t_sex,t_duty) 选课 (学号,课程号,成绩) 英文缩写对照:choice(s_no,c_no,score) 讲授 (职工号,课程号) 英文缩写对照:teaching(t_no,c_no) 2.教学数据库E-R 图: 实体:课程,学生,选课 联系:选课(学生同课程之间多对多的联系m:n),讲授(教师同课程之间多对多的联系m:n)。 二.逻辑设计 代码: use master go create database stu go use stu go n m m n 课程 教师 讲授 选课 学号 姓名 性别 出生日期 成绩 职工号 姓名 性别 职称 学分 课程号 课程名 学生

create table student (s_no char(8) not null primary key, s_name char(8) not null , s_sex varchar(8) not null, s_birthday smalldatetime not null, s_department varchar(13) not null) drop table student use stu go create table teacher (t_no char(8) not null primary key, t_name char(8) not null, t_sex varchar(8) not null, t_duty char(8) not null) create table course (c_no char(8) not null primary key, c_name char(8) not null, c_score varchar not null) create table choice( s_no char(8) not null primary key, c_no char(8) not null primary key, score varchar not null) create table teaching( t_no char(8) not null primary key, c_no char(8) not null primary key) insert student values('101','袁敏','女','1982-2-3','机电') insert student values('102','李志强','男','1983-4-5','计算机') insert student values('103','张亮','男','1984-10-9','建筑') insert student values('104','李平','女','1984-5-6','计算机') insert student values('105','王丽','女','1983-2-1','机电') insert student values('106','刘明耀','男','1982-4-16','计算机') select* from student insert course values('1011','C语言','6') insert course values('1012','数据结构','4') insert course values('1013','微机原理','6') insert course values('1014','数字电路','5') insert course values('1015','高等数学','6') select* from course insert teacher values('0511','张大维','男','副教授') insert teacher values('0512','林楠','女','讲师') insert teacher values('0513','韩晓颖','女','副教授') insert teacher values('0514','李辉','男','讲师') insert teacher values('0515','孙丽','女','助教') select* from teacher insert choice values('101','1011','82.5') insert choice values('101','1012','79') insert choice values('102','1012','92.5') insert choice

数据库原理实验报告(1)

南京晓庄学院 《数据库原理与应用》课程实验报告 实验一 SQL Server 2005常用服务与实用工具实验 所在院(系):数学与信息技术学院 班级: 学号: 姓名:

1.实验目的 (1)了解Microsoft 关系数据库管理系统SQL Server的发展历史及其特性。 (2)了解SQL Server 2005的主要组件、常用服务和系统配置。 (3)掌握Microsoft SQL Server Management Studio 图形环境的基本操作方法。了解使用“SQL Server 2005 联机从书”获取帮助信息的方法;了解“查询编辑器”的使用方法;了解模板的使用方法。 2.实验要求 (1)收集整理Microsoft关系数据库管理系统SQL Server的相关资料,总结其发展历史及SQL Server 2005主要版本类别和主要功能特性。 (2)使用SQL Server配置管理器查看和管理SQL Server 2005服务。 (3)使用Microsoft SQL Server Management Studio连接数据库;使用SQL Server帮助系统获 得所感兴趣的相关产品主题/技术文档。 (4)使用Microsoft SQL Server Management Studio“查询编辑器”编辑并执行Transact-SQL 查询语句。 (5)查看Microsoft SQL Server 2005模板,了解模板的使用方法。 (6)按要求完成实验报告。 3.实验步骤、结果和总结实验步骤/结果 (1) 简要总结SQL Server系统发展历史及SQL Server 2005主要版本类别与主要功能特性。

数据库原理实验报告分析

2013级数据库原理实验报告 专业:_______计算机___ 班级:________________ 学号:______________ 姓名:_______________ 2015年5月

实验一 SQL Server 2005基本操作 一、实验目的 了解SQL Server 2005组件; 了解SQL Server数据库组成; 掌握SQL Server 2005界面基本操作。 二、实验内容 (1)开始->程序->Microsoft SQL Server 2005-> SQL Server Management Studio,打开后进入到SQL Server 2005主体界面 (2)点击?数据库?前面的?+?,可以展开查看数据库,并且可以继续展开下级目录,查看数据库中的表、视图等。 (3)了解SQL Server 2005菜单栏的一些主要工具的使用。 (4)学生动手操作SQL Server 2005,打开数据库,打开表,打开查询界面;查看数据库的属性、表的属性等。 三、实验总结 进行这次实验有遇到什么问题?怎么解决的? 答:此次实验我们一步一步按照实验内容操作的,基本上没有遇到问题。

实验二数据定义 一、实验目的 掌握SQL Server 2005的数据库创建; 掌握SQL Server数据定义语言; 掌握SQL Server 2005数据定义的SQL语言定义与管理器定义两种方式。 二、实验内容 (1)创建、修改、删除数据库。 创建要求:数据库Employee中包含一个数据库文件Empdat1.mdf和一个日志文件Emplog.ldf。其中,数据文件大小为10MB,最大为50MB,以5MB速度增长;日志文件大小为5MB,最大为25MB,以5%速度增长。 修改要求:增加第二个数据库文件Empdat2.ndf,其中,数据文件大小为5MB,最 大为25MB,以2MB速度增长。 (2)利用SQL创建人员表person、月薪表salary及部门表dept。 见上页图 要求:按表2-1、表2-2及表2-3中的字段说明创建。

数据库原理B实验报告完整版1-3

实验一 认识DBMS系统 日期 2011-3-23一、实验目的 1.通过对某个商用数据库管理系统的使用,了解DBMS的工作原理和系统构架。 2.熟悉对DBMS的操作 3.搭建今后实验的平台 二、实验原理 企业管理器是SQL Server中最主要的工具,使用它基本上可完成SQL Server的所有管理操作,如数据库的创建和管理、数据表的创建和管理、数据库安全管理等,在本书第五课中将对其作详细介绍。 查询分析器主要用于创建和执行SQL命令,以完成数据库的查询和管理工作。查询分析器和企业管理器是SQL Server的两大主要工具。 服务管理器主要用于启动、暂停、停止和检查本地服务的状态。SQL Server提供如下服务: SQL Server服务:该服务提供管理服务器中的所有数据库、执行T-SQL程序、执行存储过程、处理分布式查询等服务。必须启动该服务,用户才能通过客户端访问SQL Server服务器中的数据。 SQL Server Agent服务:该服务用于执行作业、监视SQL Server以及激发警报。SQL Server Agent允许自动执行某些管理任务的服务,所以必须启动SQL Server Agent 服务,才能使本地或多服务器的管理任务自动运行。 Microsoft Search服务:提供SQL Server全文检索功能。 Distributed Transaction Coordinator服务:提供Microsoft分布式事务处理功能。 MSSQL Server OLAP Service服务:支持Analysis Services的各项功能,该服务在安装了支持Analysis Services才有。 三、实验仪器和设备 1. 计算机 2. SQL Server 2000 四、预习要求 复习已经讲过的SQL Server 2000的基本工具使用方法。

数据库原理实验报告册

实验名称课时实验报告成绩实验(一)——数据库基本操作 2 实验(二)——SQL语句 6 实验(三)——数据库完整性与 4 安全性实验 实验(四)——数据库编程 4 备注:

实验一——数据库基本操作 一、实验目的 1.熟悉MS SQL SERVER运行界面,掌握服务器的基本操作。 2.掌握界面操作方法完成用户数据库建立、备份和还原。 3.建立两个实验用的数据库,使用企业管理器和查询分析器对数据库和表进行 基本操作。 二、实验预习内容 在认真阅读教材及实验指导书的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。 1.熟悉SQL SERVER 2000 的运行环境,练习服务器基本操作:打开、停止、 关闭。 2.使用SQL SERVER 2000 中的企业管理器完成以下任务。 数据库名称:STC 表:STU(sno char(9), sname varchar(50), ssex char(2) , sage int, sdept char(2) ); COUTSES(cno char(3), cname varchar(50), cpno char(3), credit int ); SC(sno char(9), cno char(3), grade int ); 说明:以上为表结构,以sno char(9)为例,说明sno属性设置为字符类型,宽度为9,int指整型数据。 1)建立数据库STC,分别建立以上三张表,并完成数据录入。(表结构及数据参见教材) A.新建STU数据库

单击STU数据库,选择表,然后新建,依次用相同的步骤建立STU、COURSES 和SC表,见图B B.新建表 数据录入:

数据结构实验报告

《用哈夫曼编码实现文件压缩》 实验报告 课程名称数据结构 实验学期2015至2016学年第一学期 学生所在系部计算机学院 年级2014专业班级物联B142班 学生姓名杨文铎学号201407054201 任课教师白磊 实验成绩

用哈夫曼编码实现文件压缩 1、了解文件的概念。 2、掌握线性表的插入、删除的算法。 3、掌握Huffman树的概念及构造方法。 4、掌握二叉树的存储结构及遍历算法。 5、利用Haffman树及Haffman编码,掌握实现文件压缩的一般原理。 微型计算机、Windows系列操作系统、Visual C++6.0软件 根据ascii码文件中各ascii字符出现的频率情况创建Haffman树,再将各字符对应的哈夫曼编码写入文件中,实现文件压缩。 本次实验采用将字符用长度尽可能短的二进制数位表示的方法,即对于文件中出现的字符,无须全部都用S为的ascii码进行存储,根据他们在文件中出现的频率不同,我们利用Haffman算法使每个字符能以最短的二进制数字符进行存储,已达到节省存储空间,压缩文件的目的,解决了压缩需要采用的算法,程序的思路已然清晰: 1、统计需压缩文件中的每个字符出现的频率 2、将每个字符的出现频率作为叶子节点构建Haffman树,然后将树中结点引向 其左孩子的分支标“0”,引向其右孩子的分支标“1”;每个字符的编码 即为从根到每个叶子的路径上得到的0、1序列,这样便完成了Haffman 编码,将每个字符用最短的二进制字符表示。 3、打开需压缩文件,再将需压缩文件中的每个ascii码对应的haffman编码按bit 单位输出。 4、文件压缩结束。 (1)构造haffman树的方法一haffman算法 构造haffman树步骤: I.根据给定的n个权值{w1,w2,w3…….wn},构造n棵只有根结点的二叉 树,令起权值为wj。 II.在森林中选取两棵根结点权值最小的树作左右子树,构造一棵新的二叉树,置新二叉树根结点权值为其左右子树根结点权值之和。 III.在森林中删除这两棵树,同时将得到的二叉树加入森林中。 IV.重复上述两步,知道只含一棵树为止,这棵树即哈夫曼树。 对于haffman的创建算法,有以下几点说明: a)这里的Haffman树采用的是基于数组的带左右儿子结点及父结点下标作为

数据结构实验报告

数据结构实验报告 第 6 次实验 学号:20141060106 :叶佳伟 一、实验目的 1、复习图的逻辑结构、存储结构及基本操作; 2、掌握邻接矩阵、邻接表及图的创建、遍历; 3、了解图的应用。 二、实验容 1、(必做题)假设图中数据元素类型是字符型,请采用邻接矩阵或邻接表实现图的以下基本操作: ( 1)构造图(包括有向图、有向网、无向图、无向网); ( 2)根据深度优先遍历图; ( 3)根据广度优先遍历图。 三、算法描述 (采用自然语言描述) 四、详细设计 (画出程序流程图) 五、程序代码 (给出必要注释) #include #include #include #include #include #define INFINITY 255678 /*赋初值用*/ #define MAX_VERTEX_NUM 20 /* 最大顶点个数*/ enum {DG, DN, UDG, UDN}; . .

typedef struct ArcCell { int adj;/*顶点关系类型,对无权图,用1(是)或0(否)表示相邻否;对带权图,则为权值*/ char *info;/*弧相关信息指针*/ }AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; typedef struct { char vexs[MAX_VERTEX_NUM][5];/*顶点向量*/ AdjMatrix arcs; /*邻接矩阵*/ int vexnum, arcnum;/*图的当前顶点数和弧数*/ int kind; }MGraph; void CreateDG(MGraph *G); void CreateDN(MGraph *G); void CreateUDG(MGraph *G); void CreateUDN(MGraph *G); int LocateVex(MGraph *G, char v[]); void print(MGraph *G); int main(void) { MGraph *G; G = (MGraph *)malloc(sizeof(MGraph)); printf("请选者0-有向图,1-有向网,2-无向图,3-无向网: "); scanf("%d", &G->kind); switch(G->kind) { case DG : CreateDG(G); print(G); break; case DN : CreateDN(G); print(G); break; case UDG : CreateUDG(G); . .

数据库原理实验一

电子信息工程学系实验报告 课程名称: 《数据库原理》 实验项目名称:表的创建和管理 实验时间: 班级: 姓名: 学号: 实 验 目 的: (1)了解SQL Server 的基本数据类型。 (2)学会在企业管理器中创建数据库及表。 (3)学会使用T-SQL 语句创建数据库及表。 (4)学会在企业管理器中修改表的定义。 (5)学会使用SQL 语句修改表的定义 实 验 环 境: winXP +Sql server 2000 实 验 内 容 及 过 程: (1)用企业管理器,建立的数据库SCHOOL ,建立如书本75页的P,S,J,SPJ 四张表,并添加数据。 (2)用企业管理器删除所建立的SPJ 和J 两张表。 (3)在查询分析器中用sql 语句删除表S 和表P,S ,删除数据库SPJ 。 (4)在查询分析器中用sql 语句创建数据库SPJ ,用SQL 语句创建各书本75页的P,S,J,SPJ 四张表,用insert 命令分别向四张表里面添加如75页所示的数据。 (5)将以上用到的SQL 命令以 “实验一.SQL ”文件的形式保存。 (6)用企业管理器备份数据库SPJ 到备份文件SPJ.bak 。 实 验 结 果 及 分 析: (1)

(2) (3) DROP TABLE P; DROP TABLE S; DROP DA TABASE SPJ; (5)

实验心得: 附录: CREATE DATABASE SPJ ON ( NAME=pSPJ, FILENAME='H:\SQL\MSSQLDATA\mydb.mdf',SIZE=10MB,MAXSIZE=100MB,FILEGROWTH=1 MB ) LOG ON ( NAME=logSPJ, FILENAME='H:\SQL\MSSQLDATA\mydb.ldf',SIZE=100MB,MAXSIZE=1000MB,FILEGROWTH= 10MB ) go use SPJ CREATE TABLE S( Sno CHAR(2) NOT NULL, --供应商代码不能为空 Sname V ARCHAR(20), Status int , City V ARCHAR(20) , CONSTRAINT S_pk PRIMARY KEY(Sno) --应商代码为主键 ); CREATE TABLE P( Pno CHAR(2) NOT NULL, --零件代码不能为空

《数据库原理》实验4

实验四:数据库综合查询 一、实验目的 1.掌握SELECT语句的基本语法和查询条件表示方法; 2.掌握查询条件种类和表示方法; 3.掌握连接查询的表示及使用; 4.掌握嵌套查询的表示及使用; 5.了解集合查询的表示及使用。 二、实验环境 已安装SQL Server 2008 企业版的计算机; 具有局域网环境,有固定IP; 三、实验学时 2学时 四、实验要求 1.了解SELECT语句的基本语法格式和执行方法; 2.了解连接查询的表示及使用; 3.了解嵌套查询的表示及使用; 4.了解集合查询的表示及使用; 5.完成实验报告; 五、实验内容及步骤 以数据库原理实验2数据为基础,请使用T-SQL 语句实现进行以下操作: 1.查询以‘DB_’开头,且倒数第3个字符为‘s’的课程的详细情况; 2.查询名字中第2个字为‘阳’的学生姓名和学号及选修的课程号、课程名; 3.列出选修了‘数学’或者‘大学英语’的学生学号、姓名、所在院系、选修 课程号及成绩; 4.查询缺少成绩的所有学生的详细情况; 5.查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息; 6.查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成 绩; 7.按照?学号,姓名,所在院系,已修学分?的顺序列出学生学分的获得情况。 其中已修学分为考试已经及格的课程学分之和; 8.列出只选修一门课程的学生的学号、姓名、院系及成绩; 9.查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号; 10.只选修?数据库?和?数据结构?两门课程的学生的基本信息;

11.至少选修?数据库?或?数据结构?课程的学生的基本信息; 12.列出所有课程被选修的详细情况,包括课程号、课程名、学号、姓名及成绩; 13.查询只被一名学生选修的课程的课程号、课程名; 14.检索所学课程包含学生‘张向东’所学课程的学生学号、姓名; 15.使用嵌套查询列出选修了?数据结构?课程的学生学号和姓名; 16.使用嵌套查询查询其它系中年龄小于CS系的某个学生的学生姓名、年龄和 院系; 17.使用ANY、ALL 查询,列出其他院系中比CS系所有学生年龄小的学生; 18.分别使用连接查询和嵌套查询,列出与‘张力’在一个院系的学生的信息; 19.使用集合查询列出CS系的学生以及性别为女的学生名单; 20.使用集合查询列出CS系的学生与年龄不大于19岁的学生的交集、差集; 21.使用集合查询列出选修课程1的学生集合与选修课程2的学生集合的交集; 22.思考题:按照课程名顺序显示各个学生选修的课程(如200515001 数据库数 据结构数学); 六、出现问题及解决办法 如:某些查询操作无法执行,如何解决? 1、查询以‘DB_’开头,且倒数第三个字符为‘s’的课程的详细情况 select * from course where cname like 'DB\_%s__' 2、查询名字中第二个字为“阳”的学生姓名和学号及选修的课程号、课程名 select student.sno ,student.sname ,https://www.wendangku.net/doc/602391566.html,o,cname from student,course,sc where sname like '_阳%'and student.sno=sc.sno and https://www.wendangku.net/doc/602391566.html,o=https://www.wendangku.net/doc/602391566.html,o 3、列出选修了‘数学’或‘大学英语’的学生学号、姓名、 select student.sno,sname,sdept,https://www.wendangku.net/doc/602391566.html,o,cname,grade from student,sc,course where student.sno=sc.sno and https://www.wendangku.net/doc/602391566.html,o=https://www.wendangku.net/doc/602391566.html,o and sc.sno in(select sc.sno from sc,course where (cname='大学英语'or cname='数学')and https://www.wendangku.net/doc/602391566.html,o=https://www.wendangku.net/doc/602391566.html,o group by sc.sno) select student.sno,sname,sdept,cno,grade from student,sc where Cno in (select Cno from course where cname='数学'or cname='大学英语')and sc.sno=student.sno 4、查询缺少成绩的所有学生的详细情况; select * from student,sc where Grade is null and student.sno=sc.sno 5、查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息; select * from student where sage <>(select sage from student where sname='张力') 6、查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成绩 select student.sno,sname,平均成绩=A VG(grade) from student ,sc

《数据库原理与应用》实验报告书修改版(1)答案

《数据库原理与应用》 实验报告书 (2011—2012学年第二学期) 班级: 学号: 姓名: 教师:郑先容 医药信息工程学院·数据决策 2012年2月

目录 实验一利用ACCESS创建数据库及熟悉SQL Server开发环境 (2) 实验三数据库、表的创建 (6) 实验五连接查询和嵌套查询 (12) 实验七数据的插入、修改、删除 (18) 实验九SQL Server数据库的安全性控制 (21) 实验十一熟悉Power Designer数据库设计软件 (24) 实验十三Transact-SQL编程 (27) 实验十五存储过程的使用 (30) 第十章数据库的恢复技术作业 (33)

实验一利用ACCESS创建数据库及熟悉SQL Server开发环境 一、实验目的 1、熟知机房用机安全规则和实验报告的书写。 2、掌握SQL Server 2005的安装,卸载以及相关服务的启动、退出。 3、熟悉SQL Server Management Studio环境。 4、掌握创建服务器组合注册服务器。 5、初步了解数据库的概念; 6、初步了解SQL Server联机丛书的使用。 7、用ACCESS创建数据库,体会数据库的功能。 注意:每次实验的指导视频,上课所需要的软件、数据库还有ppt。都可以在ftp://10.81.40.222的“数 据决策”->“数据库”->“2011-2012(2)”文件夹下找到,以后每次实验相关的文件和数据库,老师上课的课 件,sql2005安装环境,都可以在这个ftp上寻找。 二、实验内容 1、上网搜索能够正常安装的SQL Server2005的软件。或者在ftp上下载,有条件的同学,课后可在个人电脑上安装SQL Server2005,建议XP操作系统安装个人版,Server操作系统安装企业版。SQL Server2005的安装说明见《SQL Server 2005精简版的安装》或上网搜索相应电子教程。安装过程请参看实验指导或者相关视频。 2、观看视频“数据库概念.swf”,了解数据库的相关概念。 3、参看实验指导或者视频“使用SQL Server Management Studio.swf”,通过实践初步了解使用SQL Server Management的使用。 4、观看视频“SQL Server联机丛书.swf”,了解如何通过系统本身来学习使用SQL Server。 请根据联机丛书查询如何“创建数据库”,查询内容包括创建数据库前的准备工作,创建数据库的命令,以及数据库文件的组成。请把你的结果写在下面。

数据库原理实验1

实验一数据库与数据表定义 1 实验目的与要求 (1)掌握数据库的建立、删除和修改操作。 (2)理解基本表之间的关系,掌握表结构的建立、修改和删除操作,创建模式导航图。 2 实验内容与结果 实验内容: (1) 创建一个BookDB数据库,要求至少一个数据文件和一个日志文件。 (2) 创建图书管理相关4张关系表,表结构如图3-1至图3-4所示。 图3-1图书分类表BookClass 图3-2 图书表Book 图3-3读者表Reader

图3-4 借阅表Borrow (3) 表结构的修改,要求: ①修改图书表结构,要求出版社名称和入库时间不允许为空。 ②修改读者表结构,要求读者身份证号不允许为空。 实验结果如下: 创建数据库: CREATE DATABASE BookDB48 ON PRIMARY (NAME='BookDB', FILENAME='C:\数据库文件\BookDB48.mdf', SIZE=3, MAXSIZE=20, FILEGROWTH=1 ) LOG ON ( NAME='BookDB_LOG', FILENAME='C:\数据库文件\BookDB48_log.ldf', SIZE=3, MAXSIZE=20, FILEGROWTH=1) 脚本如下:(创建的四个表) CREATE TABLE BookClass48( classNo char(3)NOT NULL,--图书分类号 className varchar(20)NOT NULL,--图书分类名称 CONSTRAINT BookClass48PK PRIMARY KEY(classNo) ) CREATE TABLE Book48( bookNo char(10)NOT NULL,--图书编号 classNo char(3)NOT NULL,--图书分类号 bookName varchar(40)NOT NULL,--图书名称 authorName varchar(8)NOT NULL,--作者名字 publishingName varchar(20)NULL,--出版社名称 publishingNo char(17)NULL,--出版社编号 publishingDate datetime NULL,--出版社日期 price numeric(7,2)NULL,--单价 shopDate datetime NULL,--入库时间 shopNum datetime NULL,--入库数量 CONSTRAINT Book48PK PRIMARY KEY(bookNo), CONSTRAINT Book48FK FOREIGN KEY(classNo)REFERENCES BookClass48(classNo) )

数据库原理实验报告

《数据库原理》实验报告 姓名学号日期2014-9-27 实验室152 指导教师设备编号 实验题目实验单元2 表创建和管理、数据更新操作 一、实验目的 1)掌握T-SQL语句创建表的写法,掌握数据类型和约束的知识; 2)掌握SQL 语句管理表的方法。 3)掌握T-SQL语句向表中插入、修改、删除数据的写法; 二、实验内容 以下所有操作使用T-SQL语句来实现: (一) 数据定义 1)创建数据库MyStudent数据库,该数据库主要文件为MyStudent.mdf,日志文件为 MyStudent.ldf,它们都位于d:\myDB目录下。

2)基本表的定义: 要求使用命令定义如下3个表:Student, Course,SC,要求为每张表合理建立主码外码约束。字段名称类型及长度说明备注 Sno CHAR(12) 学号 Sname CHAR(20) 姓名非空 Ssex CHAR(2) 性别可为空 Sbirthday DATETIME 出生日期可为空 Sdept CHAR(40) 所在院系可为空 Saddress CHAR(50) 籍贯可为空 字段名称类型及长度说明备注 Cno CHAR(6) 课程编号 Cname CHAR(30) 课程名称非空 Cpno CHAR(6) 先修课号可为空 Ccredit INT 学分可为空 字段名称类型及长度说明备注 Sno CHAR(12) 学号 Cno CHAR(6) 课程编号 Grade INT 成绩可为空

3)给student表增加一个memo(备注)字段,类型为varchar(200)。

4)将memo字段的类型修改为varchar(300)。 5)删除memo 字段。

数据结构实验报告--图实验

图实验 一,邻接矩阵的实现 1.实验目的 (1)掌握图的逻辑结构 (2)掌握图的邻接矩阵的存储结构 (3)验证图的邻接矩阵存储及其遍历操作的实现 2.实验内容 (1)建立无向图的邻接矩阵存储 (2)进行深度优先遍历 (3)进行广度优先遍历 3.设计与编码 MGraph.h #ifndef MGraph_H #define MGraph_H const int MaxSize = 10; template class MGraph { public: MGraph(DataType a[], int n, int e); ~MGraph(){ } void DFSTraverse(int v); void BFSTraverse(int v); private: DataType vertex[MaxSize]; int arc[MaxSize][MaxSize]; int vertexNum, arcNum; }; #endif MGraph.cpp #include using namespace std; #include "MGraph.h" extern int visited[MaxSize]; template MGraph::MGraph(DataType a[], int n, int e)

{ int i, j, k; vertexNum = n, arcNum = e; for(i = 0; i < vertexNum; i++) vertex[i] = a[i]; for(i = 0;i < vertexNum; i++) for(j = 0; j < vertexNum; j++) arc[i][j] = 0; for(k = 0; k < arcNum; k++) { cout << "Please enter two vertexs number of edge: "; cin >> i >> j; arc[i][j] = 1; arc[j][i] = 1; } } template void MGraph::DFSTraverse(int v) { cout << vertex[v]; visited[v] = 1; for(int j = 0; j < vertexNum; j++) if(arc[v][j] == 1 && visited[j] == 0) DFSTraverse(j); } template void MGraph::BFSTraverse(int v) { int Q[MaxSize]; int front = -1, rear = -1; cout << vertex[v]; visited[v] = 1; Q[++rear] = v; while(front != rear) { v = Q[++front]; for(int j = 0;j < vertexNum; j++) if(arc[v][j] == 1 && visited[j] == 0){ cout << vertex[j]; visited[j] = 1;

数据库原理实验三

实验三、数据库的简单查询和连接查询实验 班级:学号:姓名:日期:12月18日1. 实验目的 了解SQL Server 查询分析器的使用方法,加深对SQL和Transact-SQL语言的查询语句的理解。掌握表的数据简单查询、数据排序和数据联结查询的SQL 表达和查询分析操作方法。 2. 实验内容 1)简单查询实验 用SQL表达简单查询操作,包括投影、选择条件表达、数据排序和使用临时表等,通过SQL Server查询分析器输入,并显示正确结果。 2)连接查询实验 用SQL表达连接查询操作,包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等,通过SQL Server查询分析器输入,并显示正确结果。 3. 实验要求 1)简单查询实验 在学生选课库中,用Transact-SQL语句表示下列操作,并通过查询分析器实现其数据查询操作: 1、求数学系学生的学号和姓名。 2、求选修了课程的学生学号。 3、求选修C1课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。 4、求选修课程C1且成绩在80~90之间的学生学号和成绩,将成绩乘以系数0.8输出。 5、求数学系或计算机系姓张的学生的信息。 6、求缺少了成绩的学生的学号和课程号。 2)连接查询实验 在学生选课库中,用Transact-SQL语句表示下列数据连接查询操作,并在查询

分析器中实验。 1、查询每个学生的情况以及他(她)所选修的课程。 2、求学生的学号、姓名、选修的课程名及成绩。 3、求选修C1课程且成绩为90分以上的学生学号、姓名及成绩。 4、查询每一门课的间接先行课(即先行课的先行课)。 4. 实验步骤及结果: (1)简单查询实验 1)求数学系学生的学号和姓名。 T-SQL语句:SELECT 学号,姓名FROM 学生 WHERE 所在系='数学' 查询结果: 图1 运行界面图(1) 2)求选修了课程的学生学号。 T-SQL语句:SELECT DISTINCT 学号FROM 选课查询结果:

《数据库原理》实验1

实验一:管理SQL Server数据库 一、实验目的 1.了解数据库常用对象及组成; 2.熟悉SQL的基本概念和特点; 3.熟练掌握T-SQL 语句中的数据库定义的使用方法; 4.熟悉在SQL Server 2008中创建及编辑数据库; 5.熟练掌握SQL的数据定义子句的使用方法。 二、实验环境 已安装SQL Server 2008企业版的计算机; 具有局域网网络环境,有固定ip地址; 三、实验学时 2学时 四、实验要求 1.熟练使用Management Stuio界面方式创建及编辑数据库; 2.熟练使用T-SQL 语句创建及编辑数据库; 3.完成实验报告。 五、实验准备知识(也可参考SQL Server联机丛书) 1.数据库相关属性 1)逻辑名称:数据文件和日志文件名称 2)文件类型:数据文件及日志文件 3)文件组:各个数据文件所属的文件组名称 4)初始大小:文件的最原始大小 5)自动增长:文件按指定的大小增长,也可限制到最大容量。 6)路径:存放文件的物理目录 7)文件名:显示数据文件和日志文件的物理名称 2.默认数据库属性 1)主数据文件为xx.mdf ,日志文件为xx_log.ldf; 2)只有一个文件组Primary; 3)主数据文件初始大小为3MB,增量为1MB; 4)日志文件初始大小为1MB,增量为10%; 5)主数据文件和日志文件都存放在C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\DATA目录下,文件分别为xx.mdf 和xx_log.ldf 。 3.使用界面创建数据库步骤

【SQL Server Management Studio】→【对象资源管理器】→【数据库】→【新建数据库】→设置数据库相关属性(名称、大小、位置) 4.启动SQL Server 2005查询分析器 【SQL Server Management Studio】→【新建查询】 5.命令方式下创建数据库 CREATE DATABASE database_name [ON [PRIMARY] [ [,…n]] [, [,…n]] ] [LOG ON { [,…n]}] [FOR LOAD|FOR ATTACH] ::=([NAME=logical_file_name,] FILENAME=‘os_file_name’ [,SIZE=size] [,MAXSIZE={max_size|UNLIMITED}] [,FILEGROWTH=growth_increment] ) [,…n] 例如: CREATE DATABASE STUDENT2 ON PRIMARY (NAME = 'STUDENT2_DATA', /*数据文件逻辑文件名 FILENAME = ‘e:\ DATA\STUDENT2_DATA.MDF' , /*数据文件物理文件名SIZE = 5MB, /*初始大小 MAXSIZE = 20MB, /*最大值 FILEGROWTH = 20%)/*文件增长百分比 LOG ON /*日志文件 (NAME ='STUDENT2_LOG', /*日志文件逻辑文件名 FILENAME = ‘e:\DATA\ STUDENT2_LOG. LDF', /*日志文件逻辑文件名 SIZE = 5MB, /*以下为日志文件属性 MAXSIZE = 10MB, FILEGROWTH = 2MB) 六、实验内容及步骤 1、假设SQL Server服务已启动,并以Administrator身份登录计算机(文件名称自定);请分别使用Management界面方式和T-SQL语句实现以下操作: 1)在本地磁盘D上以学号为名字建立一文件夹。 2)要求在本地磁盘D创建一个学生-课程数据库(名称为student),只有

相关文档