文档库 最新最全的文档下载
当前位置:文档库 › 数据结构与数据库实验作业(最新)(1) (1)

数据结构与数据库实验作业(最新)(1) (1)

数据结构与数据库实验作业(最新)(1) (1)
数据结构与数据库实验作业(最新)(1) (1)

《数据结构与数据库/操作系统》实验课作业和要求

数据结构与数据库课程组实验课教学研讨会讨论稿

2012年7月第1次研讨

2013年3月第2次研讨

实验一、线性表的应用:稀疏一元多项式运算器

实验目的:

?熟练掌握指针和链表操作的基本功

?熟练掌握数组操作的基本功

?模块化程序设计(程序的分层结构、函数的功能和接口)

?人机交互界面设计(界面美观,使用方便、操作的弹性好)

?源程序的书写风格(缩进式,加注释,可读性要好)

?对程序健壮性的处理

?程序的调试技术训练(debug方法和测试数据的选择)

?时空效率

实验学时:

12学时(第1,2,3次实验)

实验内容:

基本功能(必做):

1. 创建

2. 显示

3. 复制

4. 求和

5. 求差

6. 求值

7. 销毁

8. 清空

9. 修改(①插入新的结点、②删除已有结点、③修改已有结点的系数和指数)

拓展功能(选做):

10. 微分(N阶导数)

11. 不定积分

12. 定积分

13. 乘法和乘方

14. 除法

15. 最大公约式和最小公倍式

16. 多项式的四则运算(如“(1+2*3)/4”)

数据组织:

?多项式用带头结点的单链表表示

?用指针数组存放N个多项式的头指针

存储结构示意图:

用户操作界面:

推荐用菜单驱动

实验报告:

实验检查和评分标准:

实验二、栈的应用

实验目的:

?掌握栈的后进先出特点

?掌握栈的表示和实现技术

?掌握如何运用栈的特点来构建算法

实验内容

(在题目1~6中任选1题):

题目1. 简单的行编辑器(提高难度:实现对文本文件的编辑)题目2. 括号配对检验(提高难度:实现对括号优先级的检测)题目3. 波兰式计算(提高难度:操作数为浮点数)

题目4. 逆波兰式计算(提高难度:操作数为浮点数)

题目5. 中缀式计算(提高难度:操作数为浮点数)

题目6. 迷宫求解(提高难度: 随机迷宫、最短路径的提取)

附加题:

一般表达式的计算,即在表达式中包含其他函数的运算,如:

2.5^3*tan(sin(1.2)+cos(

3.5))

实验学时:4学时(第4次实验课当堂完成)

实验报告:

实验检查和评分标准:

实验三、二叉树的运算

实验目的:

?掌握二叉树的递归特性

?掌握二叉树的常用存储结构----二叉链表

?掌握二叉树的创建、遍历等基本运算

?了解递归函数的执行过程,学会编写递归程序

实验内容:

(在题目1、2中任选1题)

题目1. 二叉树运算

1. 创建二叉树

2. 遍历二叉树(先序、中序、后序、层序遍历)

3. 二叉树的计算(二叉树的结点数、叶子数、高度、宽度等)

4. 二叉树的处理(复制、销毁)

题目2.哈夫曼编码和解码

1. 输入电文串

2. 统计电文字符集和每种字符在电文中出现的次数

3. 构建huffman树

4. 产生每种字符的huffman编码

5. 将电文串翻译成比特流

6. 对电文比特流进行解码

附加题:用huffman压缩技术实现对文件的压缩和解压缩处理实验学时:4学时(第5次实验课当堂完成)

实验报告:

实验检查和评分标准:

实验四、图

实验目的:

?掌握图的两种存储结构: 邻接矩阵表示法和邻接表表示法

?掌握图的DFS遍历和BFS遍历的算法

?学会利用图的模型来编程解决实际应用问题

实验内容:

(在题目1、2、3中任选1题)

题目1. 图的遍历

1. 创建图G(任选邻接矩阵或邻接表)

2. 显示图

3. 深度优先搜索遍历图

4. 广度优先搜索遍历图

5. 在图中插入顶点

6. 在图中插入边

题目2: 求通讯网的最小代价生成树

1. 输入通讯网G

2. 用Prim算法构建G的最小生成树并输出

3. 用Kruskal算法构建G的最小生成树并输出

题目3. 铁路交通网的最短路径

1. 输入铁路交通网G

2. 用Dijkstra算法计算从始发站到终点站的最短路径

实验学时:4学时(第6次实验课当堂完成)

实验报告:

实验检查和评分标准:

实验五、哈希表

实验目的:

?掌握哈希表的定义和特点

?掌握哈希函数的构造方法和解决冲突的技术,实现哈希造表

?掌握哈希表的查找、插入和删除技术

?掌握哈希表平均查找长度ASL的计算方法

实验内容:

(1-5必做,其他选做)

1. 输入关键字序列;

2. 用除留余数法构建哈希函数,用线性探测法解决冲突,构建哈希表HT1;

3. 用除留余数法构建哈希函数,用拉链法解决冲突,构建哈希表HT2;

4. 分别对HT1和HT2计算在等概率情况下查找成功和查找失败的ASL;

5. 分别在HT1和HT2中查找给定的关键字(注意对墓碑的处理),给出比较次数

6. 在HT1中删除指定的关键字(注意对墓碑的处理)

7. 在HT1中插入新的关键字(注意对墓碑的处理)

实验学时:

4学时(第7次实验课当堂完成)

实验报告:

实验检查和评分标准:

实验六数据库SQL语言

实验目的:

1.熟悉本实验所使用的DBMS环境:SQL SERVER 2005, 学会使用SQL SERVER 客户端工具查询分析器。

2.完成SQL语言的基本操作:

1)创建表

2)插入、删除、修改、查询。

3)创建视图

实验内容:

1.下载SQL Server 客户端工具:http://19

2.168.50.203/querytool.rar,解压后执行isqlw.exe,【SQL SERVER(s)】输入192.168.50.211,【连接使用】选择“SQL server身份验证”,登录名和密码都是student。此外,也可以使用实验室机器桌面上的SQL Server Management Studio Express 登录。

登录后显示如下界面,则可以执行sql语句了。

要注意,pubs数据库是系统样例数据库,里面提供了titles等实验中用到的示例表,student用户对其只有查询权,不可以修改。学生可以在student数据库中创建自己的表,创建表时请按照题目中要求的命名规则来命名。

在操作数据库是要注意当前数据库是pubs还是student,可以在界面面的combox选择窗口中选择,也可以使用命令use pubs更改当前数据库。

2.熟悉pubs数据库中各个table的定义和关系。http://192.168.50.203/pubs.pdf

3.查询操作(在pubs数据库中执行):

1)无条件查询

●查找pub库中authors表的全部信息。

2)简单条件查询

●查找titles表中全部书号及书名。

●查找titles 表中价格在$15~18 元之间的书的书名。

●查找titles 表中书名以T 开头的书号, 书名。

●对其他样例表构造各种简单查询条件,进行查询。

3)多条件查询

●查找书名起始字符为T,价格小于$16元的书名及价格。

●查找书名起始字符不为T的, 价格大于$16元的书号, 书名及价格。

4)用连接操作(或嵌套查询)进行查询

●对表titles, publishers 进行查询: 查找出版社的名称以及所出的书名。

●对表authors, titleauthor, titles进行查询: 查找作者的姓、名和所写的书名。

5)对查询结果排序

●查找作者的姓、名、电话号码,并按作者姓、名排列。

●查找书名和书的价格,按书价由大到小的次序排列。

6)使用函数进行查找

●列出有多少类书。

●列出书的定价有多少种。

●列出书价最低的书名和书价。

●查出书价最高的书名及书价。

●列出当年销量的总和。

4.表和视图创建及插入

1)建表:创建两个表S**和T**,并插入下面内容,其中**是本人的学号(下同)。

2)用子查询方式建新表SS**(包含title和price 两个属性)。

3)用子查询方式建视图VS**(包含title和QTY两个属性)。

5.记录的删除与更新

1)删除书名为“计算机网络”的元组。

2)把书价调整到原来价格的95%。

3)把书号以D 开头的那些书的书价减掉2.00元。

实验拓展

1)创建存储过程。

2)编写简单的数据库应用:可以基于ASP、PHP网页。

实验学时:

4学时(第8次实验课当堂完成)

数据结构实验答案1

重庆文理学院软件工程学院实验报告册 专业:_____软件工程__ _ 班级:_____软件工程2班__ _ 学号:_____201258014054 ___ 姓名:_____周贵宇___________ 课程名称:___ 数据结构 _ 指导教师:_____胡章平__________ 2013年 06 月 25 日

实验序号 1 实验名称实验一线性表基本操作实验地点S-C1303 实验日期2013年04月22日 实验内容1.编程实现在顺序存储的有序表中插入一个元素(数据类型为整型)。 2.编程实现把顺序表中从i个元素开始的k个元素删除(数据类型为整型)。 3.编程序实现将单链表的数据逆置,即将原表的数据(a1,a2….an)变成 (an,…..a2,a1)。(单链表的数据域数据类型为一结构体,包括学生的部分信息:学号,姓名,年龄) 实验过程及步骤1. #include #include #include #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 #define ElemType int #define MAXSIZE 100 /*此处的宏定义常量表示线性表可能达到的最大长度*/ typedef struct

{ ElemType elem[MAXSIZE]; /*线性表占用的数组空间*/ int last; /*记录线性表中最后一个元素在数组elem[ ]中的位置(下标值),空表置为-1*/ }SeqList; #include "common.h" #include "seqlist.h" void px(SeqList *A,int j); void main() { SeqList *l; int p,q,r; int i; l=(SeqList*)malloc(sizeof(SeqList)); printf("请输入线性表的长度:"); scanf("%d",&r); l->last = r-1; printf("请输入线性表的各元素值:\n"); for(i=0; i<=l->last; i++) { scanf("%d",&l->elem[i]); } px(l,i); printf("请输入要插入的值:\n");

数据库实验报告完整

华北电力大学 实验报告 | | 实验名称数据库实验 课程名称数据库 | | 专业班级:学生姓名: 学号:成绩: 指导教师:实验日期:2015/7/9

《数据库原理课程设计》课程设计 任务书 一、目的与要求 1.本实验是为计算机各专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力 而设置的实践环节。通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。 为后继课程和毕业设计打下良好基础。 2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。 3.通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界 面设计和软件调试等各方面的能力。是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。 二、主要内容 针对一个具有实际应用场景的中小型系统(见题目附录)进行数据库设计,重点分析系统涉及的实体、实体之间的联系,实现增加、删除、更新、查询数据记录等基本操作。大致分为如下步骤: 1. 理解系统的数据库需求,分析实体及实体间联系,画出E-R图: 1)分析确定实体的属性和码,完成对该实体的实体完整性、用户自定义完整性的定义。 2)设计实体之间的联系,包括联系类型和联系的属性。最后画出完整的E-R图。 2.根据设计好的E-R图及关系数据库理论知识设计数据库模式: 1)把E-R图转换为逻辑模式; 2)规范化设计。使用关系范式理论证明所设计的关系至少属于3NF并写出证明过程;如果不属于3NF则进行模式分解,直到该关系满足3NF为止,要求写出分解过程。 3)设计关系模式间的参照完整性,要求实现级联删除和级联更新。 4)用SQL语言完成数据库内模式的设计。 3.数据库权限的设计: 1)根据系统分析,完成授权操作; 2)了解学习收回权限的操作。 4.完成用户界面的设计,对重要数据进行加密。

实验一数据库定义实验

实验一数据库定义实验 一、实验目的 使用SQL Server Management Studio、T-SQL语句创建和管理数据库,学会使用SQL Server查询分析器接收 T-SQL语句和进行结果分析。使用T-SQL语句进行数据表的创建和删除,并对数据表和表中的数据进行有效有管理。 二、实验环境 实验室名称:11#208 软件环境:操作系统:windows 10;SQL 2008 硬件环境:安装内存(RAM):可用) 处理器:Intel(R) Core(TM) i5-5200U CPU @ 硬盘:250GB-SSD 500GB-HDD 三、实验内容 1.用SQL Server Management Studio创建、修改数据库 2.用T-SQL语句创建、修改数据库 3.用SQL Server Management Studio创建、修改数据表 4.用T-SQL语句创建、修改数据表

四、实验步骤及实验结果分析 (一)、创建、修改数据库 1.用SQL Server Management Studio创建步骤: (1)、单击“开始”菜单选择“所有程序”->Microsoft SQL Server 2008->SQL Server Management Studio (2)、单击“视图”->”对象资源管理器”->右击“数据库”->选择“新建 数据库”命令 (3)、在“数据库名称”文本框中输入新建数据库的名称,本例输入“JXGL” (4)、在“新建数据库”的对话框里设置“常规”、“选项”、“文件组” 2.用SQL Server Management Studio修改数据库步骤: (1)、在“对象资源管理器”窗口右击要修改大小的数据库,选择“属性”弹 出属性对话框 (2)、在属性对话框中的“常规”、“文件”、“文件组”、“选项”、“更改跟踪”、 “权限”、“扩展属性”、“镜像”、“事务日志传送”修改数据库的相关信息 3.用SQL Server Management Studio删除数据库 右击要删除的数据库,在弹出的菜单中选择删除命令在弹出的“删除对象” 的对话框中,单击“确定”按钮 4.用T-SQL语句创建数据库: (1)、打开SSMS窗口,并连接到服务器 (2)、依次选择“文件”->”新建”->“数据库引擎查询”命令或者单击标 准工具栏的“新建查询”按钮,创建一个查询输入窗口 (3)、在窗口中输入以下create database 语句:

数据库实验1-6参考答案

实验一SQL Server使用初步 一、实验目的 1、熟悉SQL Server2000的组成及基本功能。 2、掌握SQL Server2000的登录及注册。 3、掌握SQL Server2000企业管理器的使用方法。 4、熟悉查询分析器的基本使用。 二、实验预习 1、什么是数据库管理系统DBMS?你所知道的DBMS有哪些? 答:DBMS是位于用户和操作系统之间的一层数据管理软件。常见的DBMS主要有:Oracle、db2、SQL Server、MySQL、PostgreSQL、SQLite、Firebird等等。 2、SQL Server 2000(2005)的安装步骤? 答:以企业版安装为例,步骤为: 将企业版安装光盘插入光驱后,出现以下提示框。请选择“安装 SQL Server 2000 组件” 出现下面对话框后,选择 "安装数据库服务器" 。 选择 "下一步",然后选择 "本地计算机" 进行安装。 在 "安装选择" 窗口,选择 "创建新的SQL Server实例..."。对于初次安装的用户,应选用这一安装模式,不需要使用 "高级选项" 进行安装。 "高级选项" 中的内容均可在安装完成后进行调整。 在 "用户信息" 窗口,输入用户信息,并接受软件许可证协议。 在“安装定义”窗口,选择“服务器和客户端工具”选项进行安装。 在“实例名”窗口,选择“默认”的实例名称。 在“安装类型”窗口,选择“典型”安装选项,并指定“目的文件夹”。 在 "服务账号" 窗口,请选择 "对每个服务使用统一账户..." 的选项。 在 "身份验证模式" 窗口,选择 "混合模式..." 选项,并设置管理员"sa"账号的密码。 最后按“下一步”即可完成安装。 检测安装:如果安装成功,应该能成功启动SQL Server,并且能和SQL Server 客户端连接上。 可以通过服务管理器来进行启动。

数据结构实验报告全集

数据结构实验报告全集 实验一线性表基本操作和简单程序 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始终指向生成的单链表的最后一个节点

数据库实验四作业及答案

实验4数据查询 一、实验目的 1.掌握使用Transact-SQL的SELECT语句进行基本查询的方法。 2.掌握使用SELECT语句进行条件查询的方法。 3.掌握嵌套查询的方法。 4.掌握多表查询的方法。 5.掌握SELECT语句的GROUP BY和ORDER BY子句的作业和使用方法。 6.掌握联合查询的操作方法。 7.掌握数据更新语句INSERT INTO、UPDATE、DELETE的使用方法。 二、实验准备 1.了解SELECT语句的基本语法格式和执行方法。 2.了解嵌套查询的表示方法。 3.了解UNION运算符的用法。 4.了解SELECT语句的GROUP BY和ORDER BY子句的作用。 5.了解IN、JOIN等子查询的格式。 6.了解INSERT INTO、UPDATE、DELETE的格式与作用。 三、实验内容及步骤 0. 创建studentsdb数据库及其相应表,并录入数据。 启动查询分析器,运行下面链接的代码即可。 创建数据库代码 1.在studentsdb数据库中,使用下列SQL语句将输出什么? (1)SELECT COUNT(*) FROM grade (2)SELECT SUBSTRING(姓名,1,2) FROM student_info (3)SELECT UPPER('kelly')

(4)SELECT Replicate('kelly',3) (5)SELECT SQRT(分数) FROM grade WHERE 分数>=85 (6)SELECT 2,3,POWER(2,3) (7)SELECT YEAR(GETDATE()),MONTH(GETDATE()),DAY(GETDATE()) 2.在studentsdb数据库中使用SELECT语句进行基本查询。 (1)在student_info表中,查询每个学生的学号、姓名、出生日期信息。 SELECT*FROM student_info (2)查询学号为0002的学生的姓名和家庭住址。 SELECT姓名,家庭住址FROM student_info WHERE学号=0002 (3)找出所有男同学的学号和姓名。 SELECT学号,姓名FROM student_info

大一数据库实验一详解及答案

实验一熟悉数据库管理系统环境 一、实验目的: 1.了解SQL Server2008的基本安装和配置。 2.掌握SQL Server2008常用工具的基本操作方法。 3.了解SQL SERVER2008数据库及其表对象的建立方法。 二、实验内容和主要步骤: 4.参照相关文档进行SQL Server 2008的安装和配置; 5.打开SQL Server 2008 SSMS工具,进行简单操作; 6.在SQL Server 2008 SSMS工具的目录树中展开数据库文件夹,新建一个test数据库, 然后展开test数据库图标,则列出数据库的所有对象; 7.选中test下的“表”图标,则列出数据库的所有表(里面是空的)。 8.利用SSMS建立如下三个表,按下面的列表中的字段名(英文)、类型和宽度建立:(注 意主键、外键的建立,并输入数据体会实体完整性和参照完整性规则,部分列可以尝试用户定义的完整性规则) 表1 student (学生) 字段名字段说明类型字段大小小数位数 sno 学号Char 8 sname 姓名Varchar 8 ssex 性别Char 2 sdept 系别Varchar 20 sage 年龄Int 整型 表2 course (课程) 字段名字段说明类型字段大小小数位数 cno 课程号Char 3 cname 课程名称Varchar 20 Credit 学分Numeric 1 Cpno 系别char 3 表3 sc (选修) 字段名字段说明类型字段大小小数位数 sno 学号Char 8 cno 课程号Char 3 Grade 成绩numeric 1 9.向三个表中输入数据; 表5 Course表数据

数据库技术实验六

实验目的: 1. 掌握存储过程的使用方法; 2. 掌握触发器的实现方法; rjM_K.IGG...o.hpl 叮碍 SUUieryJ.E . itir 血 Ecus ton ardurji 5ex V.'crtYMr ⑷崔 加础ur 怙 Wil True 中憎 0帧 Tnz 3 SJ21121 1

(2)创建存储过程,根据每个员工的学历将收入提高500元 alter proc SA_IN @enuchar(6) as begin update Salary set InCome=InCome+500 from Salary,Employees where Employees.EmployeeID =Salary.EmployeeID and Education=@enu end select In Come from Salary,Employees where Salary.EmployeeID = Employees.EmployeeID and Education ='本科' go execdbo.sa_ in'本科' go select In Come from Salary,Employees where Salary.EmployeeID = Employees.EmployeeID and Educati0门=本科' select In Come from Salary,Employees where Salary.EmployeeID =Employees.EmployeeID ■I■ ■ ■ H 1 20B 2 ; 4 52A&7D1 34&D7 3031.55 inCcwii* 1;2532 2 3293701 4羽曲才 号3521 (3)创建存储过程,使用游标计算本科及以上学历的员工在总员工数中的比例。declare @edu varchar ( 10), @part_cou nt int 5 @all_cou nt int J declare mycursor cursor for select disti net educati on , COUNT( education ) over ( partition by education ) as part_cou nt , COUNT( education ) over () as all count and Educati0门=本科

数据结构实验报告-答案

数据结构(C语言版) 实验报告

专业班级学号姓名 实验1 实验题目:单链表的插入和删除 实验目的: 了解和掌握线性表的逻辑结构和链式存储结构,掌握单链表的基本算法及相关的时间性能分析。 实验要求: 建立一个数据域定义为字符串的单链表,在链表中不允许有重复的字符串;根据输入的字符串,先找到相应的结点,后删除之。 实验主要步骤: 1、分析、理解给出的示例程序。 2、调试程序,并设计输入数据(如:bat,cat,eat,fat,hat,jat,lat,mat,#),测 试程序的如下功能:不允许重复字符串的插入;根据输入的字符串,找到相应的结点并删除。 3、修改程序: (1)增加插入结点的功能。 (2)将建立链表的方法改为头插入法。 程序代码: #include"" #include"" #include"" #include"" typedef struct node . . 示意图:

head head head 心得体会: 本次实验使我们对链表的实质了解更加明确了,对链表的一些基本操作也更加熟练了。另外实验指导书上给出的代码是有一些问题的,这使我们认识到实验过程中不能想当然的直接编译执行,应当在阅读并完全理解代码的基础上再执行,这才是实验的意义所在。

实验2 实验题目:二叉树操作设计和实现 实验目的: 掌握二叉树的定义、性质及存储方式,各种遍历算法。 实验要求: 采用二叉树链表作为存储结构,完成二叉树的建立,先序、中序和后序以及按层次遍历 的操作,求所有叶子及结点总数的操作。 实验主要步骤: 1、分析、理解程序。 2、调试程序,设计一棵二叉树,输入完全二叉树的先序序列,用#代表虚结点(空指针), 如ABD###CE##F##,建立二叉树,求出先序、中序和后序以及按层次遍历序列,求 所有叶子及结点总数。 实验代码 #include"" #include"" #include"" #define Max 20 ertex=a; irstedge=NULL; irstedge; G->adjlist[i].firstedge=s; irstedge; R[i] 留在原位

数据库实验内容与作业

任务1 SQL Server系统软硬件安装配 置 课堂实践1 1.上网查询目前主流的关系型数据库系统及各自的特点? 2.上网查询并写报告:数据库系统的发展。 课堂实践2 1.选择SQL Server 2005企业版,上网查询安装该版本所需要的软硬件环境。 2.安装SQL Server 2005企业版。 3.查询联机帮助了解SQL Server 2005的新特性。 4.上机熟悉SQL Server 2005的各项工具。 课堂实践3 1.注册和配置自己的服务器。 2.查资料用其他方法配置服务器。 习题 一、选择题 1. A 是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用 户或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。 A.DBMS B.DB C.DBS D.DBA 2. D 是被长期存放在计算机内的、有组织的、统一管理的相关数据的集合。 A.DATA B.INFORMATION C.DB D.DBS 3.数据库应用系统是由数据库、数据库管理系统(及其开发工具)、应用系统、D 和 用户构成。 A.DBMS B.DB C.DBS D.DBA 4.目前 A 数据库系统已逐渐淘汰了网状数据库和层次数据库,成为当今最为流行 的商用数据库系统。 A.关系B.面向对象C.分布 5.下面列出的数据管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是

C 。Ⅰ.人工管理阶段Ⅱ.文件系统阶段Ⅲ.数据库阶段 A.只有ⅠB.只有ⅡC.Ⅰ和ⅡD.Ⅱ和Ⅲ 二、填空题 1.目前最常用的数据库模型有__层次___、__网状__和__关系__。20世纪80年代以来, __关系__逐渐占主导地位。 2.数据库三个要素是_______、_______和_______。 3.关系数据库的操纵主要包括________、________、________和________数据。 4.一个关系数据模型的逻辑结构是________,它由______和______组成。 三、简答题 1.什么是数据库管理系统?它的主要功能是什么? 2.常用的三种数据库模型的数据结构各有什么特点? 3.SQL Sever 2005有哪些新特点? (1)Notification Services 增强功能(2)Reporting Services 增强功能(3)新增的Service Broker(4)数据库引擎增加功能(5)数据访问接口方面的增强功能(6)Analysis Services 的增强功能(SSAS)(7)Integration Services 的增强功能(8)复制增强(9)工具和实用工具增强 4.详细介绍SQL Sever 2005的安装步骤? 任务2教务数据库系统设计分析 课堂实践1 1.用数据流图描述教务管理数据库中其他数据流。 2.结合需求分析规范说明书写出教务管理数据库系统的需求规格说明书。 3.用数据字典描述教务管理系统中的其它数据项。 课堂实践2 1画出教务管理系统中的其它局部ER图。 2上网查询ER模型转换为关系模型的规则。 课堂实践3 1结合所在学校的教务管理进行需求分析,并设计ER模型,把ER模型转换为关系表。课堂实践4 1.上网查询实施数据完整性的方法,并结合教务管理数据库实施数据完整性。

数据库实验六

数据库上机实验六 实验名称:视图的建立与使用(续)和数据库的安全性控制 一、实验目的 1.加深掌握视图的定义与工作原理。 2.理解SQL SERVER 2000登录账户、数据库用户、角色、权限的概念及管理方法。 二、实验内容与步骤 1.对视图的操作 (1)创建一个视图,该视图只含上海客户信息,即客户号、客户姓名、住址。 create view cus_SH as select cust_id, cust_name, addr from customer where addr = '上海' (2)删除题1建立的视图中所有姓“王”的客户数据。 delete from cus_SH where cust_name like '王%' (3)对题(1)建立的视图添加一条记录数据(注意:分别查看customer表和该视图的结果)。 insert into cus_SH values ('10010','叶秀玲','武汉') /* 无法将 NULL 值插入列 'tel_no',表 'Sale_Manage.dbo.customer';该列不允许空值。 INSERT 失败。 语句已终止。 */

(4)通过题(1)建立的视图修改表内某一客户的姓名。 update cus_SH set cust_name = '王子' where cust_name = '王' (5)有两个基本表employee和sales,创建一个视图,该视图包含相同业务员的编号、姓名、订单号、销售总金额。 create view emp_sale as select emp_no, emp_name, order_no, tot_amt from employee, sales where emp_no = sale_id (6)给题(5)建立的视图添加一条记录数据。 insert into emp_sale values ('E1000', '肖萧', '1009', '900.00') --视图或函数 'emp_sale' 不可更新,因为修改会影响多个基表。 (7)将题(5)建立的视图中订单号为1001的记录的销售总金额改为60000。 update emp_sale set tot_amt = 60000 where order_no = '1001' (8)删除题5建立的视图。 drop view emp_sale; 2.数据库的安全性控制

数据库实验上机答案整理-中国石油大学-龚安

实验四SQL练习2 一、实验目的 1.掌握索引的建立、删除及使用; 2.掌握单表查询、连接查询、嵌套查询和集合查询; 3.掌握插入数据、修改数据和删除数据语句的非常用形式。二、实验学时 2学时 三、实验内容 1.利用Query Analyzer完成以下操作: ⑴在预算日期、结算日期和入账日期上分别建立索引,并在查询操作中体会索引的作用。 ⑵在完成第2题的查询操作后,删除预算日期、结算日期和入账日期上的索引。 2.利用Query Analyzer完成以下操作: ⑴采油一矿二队2016-5-1到2016-5-28有哪些项目完成了预算,列出相应明细。 ⑵采油一矿二队2016-5-1到2016-5-28有哪些项目完成了结算,列出相应明细。 ⑶采油一矿二队2016-5-1到2016-5-28有哪些项目完成了结算,列出相应的材料费消耗明细。 ⑷采油一矿二队2016-5-1到2016-5-28有哪些项目完成了入账,列出相应明细。

⑸列出采油一矿二队2016-5-1到2016-5-28总的预算金额。 ⑹列出采油一矿二队2016-5-1到2016-5-28总的结算金额。 ⑺列出采油一矿二队2016-5-1到2016-5-28总的入账金额。 ⑻列出采油一矿2016-5-1到2016-5-28总的入账金额。 ⑼有哪些人员参与了入账操作。 ⑽列出2016-5-1到2016-5-28进行了结算但未入账的项目。 ⑾列出采油一矿二队的所有项目,按入账金额从高到低排列。 ⑿列出有哪些施工单位实施了项目,并计算各单位所有项目结算金额总和。 ⒀找出消耗了材料三且消耗超过了2000元的项目,列出相应消耗明细(利用子查询)。 ⒁作业公司二队参与了哪些项目。 ⒂作业公司一队和二队参与了哪些项目(利用union)。 ⒃采油一矿的油井是哪些作业队参与施工的。 3.利用Query Analyzer完成以下操作: ⑴建立数据表(包含3个属性列:★施工单位、★年月、◆结算金额)保存各个施工单位每月的结算金额总和。 ⑵用子查询将各个施工单位每月的结算金额总和插入到所建立的数据表中。 ⑶用带子查询的修改语句将采油一矿油井作业项目的结算人改为“李兵”。 ⑷用带子查询的删除语句删除采油一矿油井作业项目。

数据库实验1

数据库实验一报告 实验1.1 使用SQL Server工具(Microsoft SQL Server Management Studio Express)管理数据库 1 实验内容: (1) 使用SSMS加入实验数据库。 (2) 使用SSMS可视化建立、修改和删除数据库、表。 (3) 使用SSMS对数据库进行备份和恢复。 (4) 使用SSMS对表进行查询、插入、修改、删除。 2 实验步骤: (1) 加入School数据库。 (2) 建立Test数据库。 (3) 在数据库中建立人员表PERSON(P#,Pname,Page)。更改表设置P#为主键,增加属性Ptype(类型是CHAR,长度是10)。

(4) 用SSMS的查询功能(新建查询)对PERSON表进行查询、插入、修改、删除等操作:首先插入两条记录;修改第二条记录;删除第二条记录。 (5) 备份Test数据库。

(6) 删除表PERSON。 右键—》删除表 (7) 恢复Test数据库。 (8) 删除Test数据库。 实验1.2 数据定义 1 实验内容: (1) 使用CREATE语句创建基本表。

(2) 更改基本表的定义,增加列,删除列,修改列的数据类型。 (3) 创建表的升降序索引。 (4) 取消表、表的索引或表的约束。 2 实验步骤: (1) 使用SQL语句创建关系数据库表:人员表PERSON(P#,Pname,Page)、房间表ROOM(R# Rname,Rarea)、表PR(P#,R#,Date)。其中:P#是表PERSON的主键,具有唯一性的约束;Page 具有约束“大于18”;R#是表ROOM的主键,具有唯一性约束。表PR中的P# C#是外键。 create table PERSON( P# nchar(10) primary key, Pname nchar(10), Page nchar(10), constraint k1 check (Page>18) ) create table ROOM( R# nchar(10) primary key, Rname nchar(10), Rarea nchar(10) ) create table PR( P# nchar(10), R# nchar(10), date nchar(10), foreign key (P#) references PERSON(P#),--外键 foreign key (R#) references ROOM(R#) --外键 ) (2) 更改表PERSON,增加属性Ptype(类型是CHAR,长度是10),取消Page大于18的约束。把表ROOM中的属性Rname数据长度改成40。 alter table PERSON add Ptype char(10); alter table PERSON drop k1; alter table ROOM alter column Rname char(40);

实验六 访问数据库

实验六访问数据库 一、实验目的 1、熟悉通过嵌入式SQL(主语言为C++语言)编程访问数据库,及掌握游 标的使用方法 2、熟悉通过ODBC接口访问异构数据库并对异构数据库进行操作 3、学会配置ODBC数据源 4、学会各种数据库的访问方法 二、实验要求 1、编写一个嵌入式C++程序,实现对SQL Server2005数据库中的“学生课 程数据库”的Student表中的年龄进行更新,即系统每输出一个学生记录,询问用户是否更新。如果要更新,就输入新的年龄。要求:提交源程序并标识必要的注释。 答:create table provider ( Sno char(5)primary key, Sname char(20)not null, Ssex char(4), Sage int ); insert into provider values('S1','李刚',’男’,20); insert into provider values('S2','李红',’男’,21); insert into provider values('S3','李飞',’男’,25); insert into provider values('S4','李春',’男’,21); #include #include #include #include #include #include #include #include EXEC SQL BEGIN DECLARE SECTION; char deptname[20]; char HSno[9]; char HSname[20]; char HSsex[2]; int HSage; int NEWAGE;

数据库实验一

《数据库原理》实验报告 实验名称Kingbase安装、数据库创建与维护实验班级******** 学号******** 姓名*****__

实验一Kingbase安装、数据库创建与维护实验实验目的 1.通过对KINGBASE的安装和简单使用: (1)了解安装KINGBASE的软硬件环境和安装方法; (2)熟悉KINGBASE相关使用; (3)熟悉KINGBASE的构成和相关工具; (4)通过KINGBASE的使用来理解数据库系统的基本概念; 2.通过创建数据库、并进行相应的维护,了解并掌握Kingbase数据库的创建和维护的不同方法和途径,并通过这一具体的数据库理解实际数据库所包含的各要素。 实验平台及环境 软件:kingbase3.1 操作系统:win7 实验内容 1.Kingbase安装 (1)在windows7上安装并运行Kingbase。 (2)练习启动和停止数据库服务。 (3)通过Kingbase ES 交互式工具连接数据库。 (4)熟悉Kingbase ES交互式工具的各项功能。 (5)熟悉数据库服务器的启动和停止运行。 (6)指定具体的安装位置。 2.数据库创建与维护 (1)创建学生选课数据库。 (2)对数据库属性和参数进行查询、相应的修改和维护,内容包括: -最大连接数 -服务器端口 -共享缓存数 -为DBA保留的连接数 -死锁检测时间 -日志缓冲数 -设置系统同步写 (3)练习数据库的删除等维护; (4)用Kingbase管理工具和交互式的ISQL语句分别完成以上操作。

实验步骤 1:Kingbase的安装: 启动安装程序,点”下一步” 输入用户名,公司名,序列号后点”下一步”

数据库实验报告六_存储过程

HUNAN UNIVERSITY 数据库 实验报告 学生姓名 学生学号 专业班级 指导老师 2017 年5月24日

SELECT COUNT(*)INTO more90 FROM sc WHERE cno = countcno AND grade >= 90; /*将结果存入新表sumScore中*/ create table sumScore( scorestage char(10), number smallint); insert into sumScore values('x<60', less60); insert into sumScore values('60<=x<70', b60a70); insert into sumScore values('70<=x<80', b70a80); insert into sumScore values('80<=x<90', b80a90); insert into sumScore values('x>=90', more90); END$$ call sumScore(); /*调用上述存储过程*/ 首先创建存储过程,然后再调用存储过程。结果如下: (上述结果图截自Navicat软件) 可以看到,在stuinfo中新建了一个基本表sumscore,表中内容是数学课程成绩的各分数段的人数。 2、统计任意一门课的平均成绩。 代码如下: DELIMITER $$ CREATE PROCEDURE `scoreAvg`() BEGIN declare curname char(40) default null; /*临时存放课程名*/ declare curcno char(4) default null; /*临时存放课程号*/ declare curavg float; /*临时存放平均成绩*/ declare mycursor cursor for /*定义游标*/ select cno, cname from course;

数据结构实验报告及心得体会

2011~2012第一学期数据结构实验报告 班级:信管一班 学号:201051018 姓名:史孟晨

实验报告题目及要求 一、实验题目 设某班级有M(6)名学生,本学期共开设N(3)门课程,要求实现并修改如下程序(算法)。 1. 输入学生的学号、姓名和 N 门课程的成绩(输入提示和输出显示使用汉字系统), 输出实验结果。(15分) 2. 计算每个学生本学期 N 门课程的总分,输出总分和N门课程成绩排在前 3 名学 生的学号、姓名和成绩。 3. 按学生总分和 N 门课程成绩关键字升序排列名次,总分相同者同名次。 二、实验要求 1.修改算法。将奇偶排序算法升序改为降序。(15分) 2.用选择排序、冒泡排序、插入排序分别替换奇偶排序算法,并将升序算法修改为降序算法;。(45分)) 3.编译、链接以上算法,按要求写出实验报告(25)。 4. 修改后算法的所有语句必须加下划线,没做修改语句保持按原样不动。 5.用A4纸打印输出实验报告。 三、实验报告说明 实验数据可自定义,每种排序算法数据要求均不重复。 (1) 实验题目:《N门课程学生成绩名次排序算法实现》; (2) 实验目的:掌握各种排序算法的基本思想、实验方法和验证算法的准确性; (3) 实验要求:对算法进行上机编译、链接、运行; (4) 实验环境(Windows XP-sp3,Visual c++); (5) 实验算法(给出四种排序算法修改后的全部清单); (6) 实验结果(四种排序算法模拟运行后的实验结果); (7) 实验体会(文字说明本实验成功或不足之处)。

三、实验源程序(算法) Score.c #include "stdio.h" #include "string.h" #define M 6 #define N 3 struct student { char name[10]; int number; int score[N+1]; /*score[N]为总分,score[0]-score[2]为学科成绩*/ }stu[M]; void changesort(struct student a[],int n,int j) {int flag=1,i; struct student temp; while(flag) { flag=0; for(i=1;ia[i+1].score[j]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; flag=1; } for(i=0;ia[i+1].score[j]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; flag=1;

《数据库原理与应用》实验报告书修改版(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、请编写函数int fun(int *a, int *b),函数的功能是判断两个指针a和b所指存储单元的值 的符号是否相同;若相同函数返回1,否则返回0。这两个存储单元中的值都不为0。在主函数中输入2个整数、调用函数fun、输出结果。 #include int fun(int *a, int *b) { if (*a*(*b)>0) return(1); else return(0); } main() { int x,y; scanf("%d%d",&x,&y); if (fun(&x,&y)) printf("yes\n"); else printf("no"); } 2、计算1+2+3+……+100,要求用指针进行设计。即设计函数int fun(int *n)实现求 1+2+3+……+*n,在主函数中输入、调用、输出结果。 #include int fun(int *n) { int i,sum=0; for (i=1;i<=*n;i++) sum+=i; return(sum); } main() { int x,sum; scanf("%d",&x); printf("the sum is %d\n",fun(&x)); } 3、函数的功能是求数组a中最大数的位置(位序号)。在主函数中输入10个整数、调用函

数fun、输出结果。 #define N 10 #include void input(int *a,int n) { int i; for (i=0;i*max) max=a+i; return(max-a); } main() {int a[N],maxi; input(a,N); maxi=fun(a,N); printf("\n the max position is %d\n",maxi); } 4、请编写函数fun(int *a,int n, int *odd, int *even),函数的功能是分别求出数组a中所有奇数之和和所有偶数之和。形参n给出数组中数据的个数;利用指针odd和even分别返回奇数之和和偶数之和。在主函数中输入10个整数、调用函数fun、输出结果。 #define N 10 #include void input(int *a,int n) { int i; for (i=0;i

相关文档
相关文档 最新文档