湖南大学数据库实验2

合集下载

湖南大学数据结构实验

湖南大学数据结构实验

HUNAN UNIVERSITY数据结构实验报告题目:实验5四则运算表达式求值学生姓名谢毅学生姓名冯吉禹学生姓名吕志远学生学号20110806109学生学号20110806110学生学号20110806114专业班级信息安全1101班指导老师夏艳完成日期2013 年04 月 19日一.需求分析1、利用二叉树后序遍历来实现表达式的转换,同时可以使用实验3的结果来求解后缀表达式的值。

2、输入输出格式:输入:在字符界面上输入一个中缀表达式,回车表示结束。

输出:如果该中缀表达式正确,那么在字符界面上输出其后缀表达式,其中后缀表达式中两相邻操作数之间利用空格隔开;如果不正确,在字符界面上输出表达式错误提示。

输入:21+23*(12-6)输出:21 23 12 6 -*+一.概要设计抽象数据类型1.使用二叉树来实现2.本程序包含四个基本模块①主程序模块:建树的过程②没有括号时的输入③有括号时的输入○4后序输出三﹑算法(C++)物理数据类型建树的时候对于优先级比较高的符号最为子结点插入,对于优先级比较低的则作为父结点插入,数据直接插入在字符的左右子结点位置。

/*问题描述四则运算表达式求值,将四则运算表达式用中缀表达式,然后转换为后缀表达式,并计算结果。

基本要求使用二叉树来实现。

实现提示利用二叉树后序遍历来实现表达式的转换,同时可以使用实验3的结果来求解后缀表达式的值。

输入输出格式:输入:在字符界面上输入一个中缀表达式,回车表示结束。

输出:如果该中缀表达式正确,那么在字符界面上输出其后缀表达式,其中后缀表达式中两相邻操作数之间利用空格隔开;如果不正确,在字符界面上输出表达式错误提示。

*/#include<iostream.h>#include <stdio.h>/*二叉树的节点类*/class Node{public:int num;//元素char c;//操作符Node* lc;//左指针Node* rc;//右指针Node* pa;//父指针Node(int num,Node* lc=NULL,Node* rc=NULL){this->num=num;this->lc=lc;this->rc=rc;}Node(char c,Node* lc=NULL,Node* rc=NULL){this->c=c;this->lc=lc;this->rc=rc;}bool isLeaf(){return (lc==NULL)&&(rc==NULL);}};void Nomal(char &t,char &c,Node* &one,Node* &two);//正常输入void UNomal(char &t,char &c,Node* &one,Node* &two);//带括号输入void BHVisit(Node* root);/*二叉树类*/class TwoTree{private:Node* root;//根节点Node* present;//当前表达式节点public:TwoTree(){root=NULL;present=root;}Node* getroot(){return root;}bool gt(Node* two,Node* present)//比较优先级的函数{char ct=two->c;char cp=present->c;if(ct=='*'||ct=='/')if(cp=='+'||cp=='-')return true;return false;}void insert(Node* one,Node* two=NULL)//向插入的方法{cout<<" 要插入了 "<<one->num<<" "<<two->c<<endl;if(root==NULL){root=two;root->lc=one;one->pa=root;present=root;return;}if(two->c=='\n'){present->rc=one;one->pa=present;return;}if(gt(two,present))//如果输入的操作符的优先等级大于当前指针的优先级{two->lc=one;one->pa=two;present->rc=two;two->pa=present;present=two;return;}present->rc=one;while(!gt(two,present)&&present!=root)//如果输入的操作符的优先等级不大于当前指针的优先级{present=present->pa;//指向父节点}if(gt(two,present))//如果输入的操作符的优先等级大于当前指针的优先级{two->lc=present->rc;present->rc->pa=two;present->rc=two;two->pa=present;present=two;return;}else{two->lc=present;present->pa=two;root=two;present=two;}}};void main(){TwoTree tt;Node* root;Node* one;Node* two;char c,t;int index=0;cout<<"请输入一个中缀表达式"<<endl;while(1){t=getchar();cout<<t<<endl;if(t!='(')Nomal(t,c,one,two);elseUNomal(t,c,one,two);tt.insert(one,two);if(c=='\n')break;}root=tt.getroot();BHVisit(root);return;}void Nomal(char &t,char &c,Node* &one,Node* &two) {int num;num=t-'0';cout<<num<<"--------"<<endl;c=getchar();one=new Node(num);two=new Node(c);}void UNomal(char &t,char &c,Node* &one,Node* &two) {int num;TwoTree ttp;while(1){t=getchar();num=t-'0';cout<<num<<"+++++++++++"<<t<<endl;c=getchar();if(c==')'){char cp='\n';c=getchar();one=new Node(num);two=new Node(cp);ttp.insert(one,two);break;}one=new Node(num);two=new Node(c);ttp.insert(one,two);}one=ttp.getroot();two=new Node(c);}void BHVisit(Node* root)//后序遍历函数{if(root==NULL)return;BHVisit(root->lc);BHVisit(root->rc);if(root->isLeaf())cout<<root->num<<" ";elsecout<<root->c<<" ";}六.算法的时间复杂度:整个程序的时间复杂度是O(n).七.实验心得谢毅:本次实验相对上次实验来说难度提升比较大,刚开始的时候觉得无从下手,后来翻阅了书上的关于树的内容,并且和同学们经过了讨论,终于想出了这次实验的建树方式。

数据库原理与技术实验报告

数据库原理与技术实验报告

数据库原理与技术实验报告
一、实验目的
本次实验的主要目的是了解和学习数据库原理与技术,具体要求是:
1.熟悉数据库系统的基本概念;
2.理解数据库管理系统(DBMS)的核心功能;
3.掌握数据库系统的创建,维护和应用技术;
4.掌握基于SQL查询语言(SQL)的SQL语句的使用;
5.学习SQL语言的基本知识;
6.学习和应用数据库的实用技术;
7.掌握数据库的安全保护技术;
8.熟悉数据的事务处理;
9.掌握数据的并发控制等。

二、实验环境
本次实验所使用的系统环境为Oracle Database,版本为11g。

三、实验内容
1.概念部分:
(1)数据库概念:数据库概念主要是指数据库的概念、特点、应用领域、数据库结构与模式等;
(2)数据库管理系统:数据库管理系统(DBMS)是一种综合的数据管理软件,它有助于保护组织内的数据,并帮助实现全面的数据管理;
(3)数据库应用:数据库应用是一种以数据库管理系统为基础的应用程序,它主要是用来收集、组织、存储、操作和检索数据,以满足组织内的信息需要;
(4)SQL查询语言:SQL查询语言(SQL)是一种关系型数据库管理系统的标准化数据库查询语言。

数据库实验报告实验步骤

数据库实验报告实验步骤

一、实验目的1. 熟悉数据库的基本概念和结构。

2. 掌握数据库的创建、修改、删除等操作。

3. 学会使用SQL语句进行数据的查询、插入、更新和删除。

4. 掌握数据库的备份和恢复。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验步骤1. 创建数据库(1)打开MySQL Workbench,选择“新建连接”。

(2)输入主机名、用户名、密码等信息,点击“连接”。

(3)在左侧菜单栏选择“数据库”,点击“创建数据库”。

(4)在弹出的对话框中输入数据库名称,点击“创建”。

2. 创建表(1)在左侧菜单栏选择“数据库”,然后选择刚刚创建的数据库。

(2)点击“创建表”。

(3)在弹出的对话框中输入表名,设置字段类型、长度、约束等属性。

(4)点击“保存”完成表的创建。

3. 插入数据(1)选择创建的表,点击“插入数据”。

(2)在弹出的对话框中输入数据,点击“保存”。

4. 查询数据(1)选择创建的表,点击“查询”。

(2)在弹出的对话框中输入SQL语句,例如:SELECT FROM 表名 WHERE 条件。

(3)点击“执行”查看查询结果。

5. 更新数据(1)选择创建的表,点击“更新数据”。

(2)在弹出的对话框中输入SQL语句,例如:UPDATE 表名 SET 字段=值 WHERE条件。

(3)点击“执行”完成数据的更新。

6. 删除数据(1)选择创建的表,点击“删除数据”。

(2)在弹出的对话框中输入SQL语句,例如:DELETE FROM 表名 WHERE 条件。

(3)点击“执行”完成数据的删除。

7. 备份和恢复数据库(1)在左侧菜单栏选择“数据库”,然后选择要备份的数据库。

(2)点击“备份”。

(3)在弹出的对话框中设置备份文件路径和名称,点击“备份”完成备份操作。

(4)在左侧菜单栏选择“数据库”,然后选择“还原”。

(5)在弹出的对话框中设置还原路径和名称,点击“还原”完成数据库的恢复。

数据库实验报告

数据库实验报告

数据库实验报告一、实验目的本次数据库实验的主要目的是通过实际操作和实践,深入了解数据库的基本概念、原理和技术,掌握数据库的设计、创建、管理和数据操作的方法,提高对数据库系统的应用能力和问题解决能力。

二、实验环境本次实验使用的数据库管理系统是 MySQL,操作系统为 Windows 10。

实验中使用的开发工具包括 MySQL Workbench 和命令行终端。

三、实验内容与步骤(一)数据库设计1、需求分析根据给定的业务场景,确定数据库需要存储的信息和数据之间的关系。

例如,对于一个学生管理系统,需要存储学生的基本信息、课程信息、成绩信息等,并且明确这些信息之间的关联,如学生与课程的选课关系、课程与成绩的对应关系等。

2、概念模型设计使用 ER 图(实体关系图)来描述数据库的概念模型。

确定实体(如学生、课程)、属性(如学生的学号、姓名,课程的课程号、课程名)以及实体之间的关系(如多对多、一对多等)。

3、逻辑模型设计将概念模型转换为关系模型,确定数据表的结构,包括表名、字段名、数据类型、主键、外键等。

例如,学生表(学号、姓名、性别、出生日期),课程表(课程号、课程名、学分),选课表(学号、课程号、成绩)等。

(二)数据库创建1、使用 MySQL Workbench 或命令行创建数据库。

2、创建数据表,按照设计好的逻辑模型定义表结构。

(三)数据插入与操作1、使用 INSERT 语句向数据表中插入数据,以模拟实际的业务数据。

2、进行数据的查询操作,使用 SELECT 语句查询满足特定条件的数据。

3、进行数据的更新和删除操作,使用 UPDATE 和 DELETE 语句修改或删除数据。

(四)数据库索引与优化1、了解索引的概念和作用,为经常用于查询、连接和排序的字段创建索引。

2、分析查询语句的执行计划,通过优化查询语句、调整数据表结构等方式提高数据库的性能。

(五)数据库备份与恢复1、学习数据库备份的方法,使用 mysqldump 工具或 MySQL Workbench 进行数据库的备份。

数据库查询实验报告步骤

数据库查询实验报告步骤

一、实验目的1. 熟悉数据库查询的基本概念和操作方法。

2. 掌握SQL语言中SELECT语句的使用,包括基本查询、条件查询、排序查询、分组查询和子查询等。

3. 提高数据库查询的实际操作能力,为后续课程学习和实践打下基础。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 数据库:实验数据库(包含学生信息、课程信息、成绩信息等)三、实验步骤1. 登录数据库管理系统打开MySQL命令行客户端,输入用户名和密码登录数据库管理系统。

2. 创建实验数据库在MySQL命令行客户端中,创建一个名为“实验数据库”的数据库。

```sqlCREATE DATABASE 实验数据库;```3. 创建数据表在“实验数据库”中,创建以下数据表:(1)学生信息表(student)```sqlCREATE TABLE student (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),age INT,gender VARCHAR(10),class_id INT);```(2)课程信息表(course)```sqlCREATE TABLE course (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),credit INT);```(3)成绩信息表(score)```sqlCREATE TABLE score (id INT PRIMARY KEY AUTO_INCREMENT,student_id INT,course_id INT,score INT,FOREIGN KEY (student_id) REFERENCES student(id), FOREIGN KEY (course_id) REFERENCES course(id) );```4. 插入数据向数据表中插入一些数据,以供查询使用。

湖南大学生物信息学实验报告-W8

湖南大学生物信息学实验报告-W8

实验1 DNA Blast(利用DNA数据库上提供的Blast功能)1基本信息:姓名:程瑶学号:201378020205班级:医学1301 实验日期:2016-04-192实验目的和要求:1)掌握BLAST的原理;2)了解如何利用Genbank数据库中提供的Blast功能完成同源性检索3实验仪器、设备与材料:计算机(联网)4实验原理:BLAST是一个NCBI开发的序列相似搜索程序,还可作为鉴别基因和遗传特点的手段。

BLAST能够在小于15秒的时间内对整个DNA数据库执行序列搜索。

BLAST(Basic local alignment search tool),中文意思为基本的基于局部对准的搜索工具,是一种快速查找与靶序列具有连续相同片段的序列的技术。

5实验步骤:1)进入NCBI主页(/),点击BLAST按钮,进入了BLAST HOME界面。

A、选择blastn,在Enter Query Sequence 输入FASTA格式的序列,以枯草芽孢杆菌的葡萄糖-1-脱氢酶为例。

在choose search set栏中的Database中选择“others”,注意此处的program selection选择Highly similar sequences (megablast),再点击“BLAST”按钮,需要一定的反应时间,结果可以看到有很多非常相似的序列,打开匹配度较高的序列,查看来源、功能等。

改变下面几个参数(每次只能变化一个参数),看输出结果中打分最高的10条序列是否会发生变;B:进入blastp,在Enter Query Sequence 输入FASTA格式的序列。

在choose search set栏中的Database中选择“others”,注意此处的program selection选择Highlysimilar sequences (megablast),再点击“BLAST”按钮,需要一定的反应时间,结果可以看到有很多非常相似的序列,打开匹配度较高的序列,查看来源、功能等。

大二数据库实验报告

大二数据库实验报告

大二数据库实验报告1.引言1.1 概述概述部分的内容应该对整个实验和实验报告进行简要介绍和概括。

可以从以下几个方面进行撰写:概述部分主要从以下几个方面进行撰写:1. 引入数据库实验的背景:可以描述数据库实验是大学计算机科学专业中重要的实践环节之一,通过实验可以加深对数据库管理系统的理解和应用,并提高学生的实践能力和问题解决能力。

2. 对实验目标的概述:可以说明本次实验的主要目的是通过设计和实现一个小规模数据库系统,熟悉数据库的基本操作和编程接口,掌握数据库设计和管理的基本要点。

3. 对实验内容的概述:可以简要介绍实验涉及的主要内容,如数据库的概念和基本原理、关系型数据库的设计和实现、SQL语言的基本操作、数据库表的创建和查询等方面。

同时,可以提及实验所使用的工具和技术,如MySQL数据库管理系统、SQL编程语言等。

4. 对实验报告结构的概述:可以提及实验报告的整体结构,介绍本报告的章节组成和每个章节的主要内容,以帮助读者了解报告的组织架构和阅读顺序。

以上是概述部分的内容撰写建议,可以结合实际情况进行适当调整和扩充。

文章结构部分的内容:本实验报告共包含三个主要部分,即引言、正文和结论。

首先,引言部分(Chapter 1)是整篇实验报告的开篇之章,用于引入该实验的背景和目的,使读者对实验的内容有一个初步的了解。

在引言部分,我们将首先对本次实验进行概述(1.1 概述),介绍该实验的基本背景、研究领域和应用场景。

然后,我们将对本报告的文章结构进行介绍(1.2 文章结构),概括性地列出报告的主要章节和各个章节的内容概要。

最后,我们将明确本次实验的目的(1.3 目的),说明在本次实验中我们需要实现的具体目标和解决的问题。

接下来,正文部分(Chapter 2)是实验报告的核心,包含了本次实验的详细过程、实验设计、实验结果以及相应的分析和讨论。

在正文部分的第一个要点(2.1 第一个要点)中,我们将详细介绍本次实验的背景和相关的理论知识,对数据库的概念、结构和操作进行深入阐述。

数据库原理综合实验报告

数据库原理综合实验报告

实验六数据库原理综合实验1实验目的(1)运用所学的数据库设计技术,针对一个具体的应用系统,完成系统数据库的概念模型、逻辑模型和物理模型的设计。

以巩固理论课程上所学的知识,更好地掌握数据库设计技术方法。

(2)对前面章节所学的知识加以综合应用。

2实验内容给定一个应用环境,如学生选课系统、超市管理系统、某企业库存管理系统、学校图书管理系统、学校综合积分管理系统等等。

(同学们课从上述选定一个题目,也可以选取一个自己较熟悉的应用环境)。

完成下面的工作2.1 数据库概念模型设计(1)进行需求分析。

-对系统的语义进行描述(包括功能、所需的数据及他们之间的关系和处理方法)(2)识别系统中的实体及实体的属性,分析实体之间的联系。

(3)设计数据库概念模型,画出E-R图。

2.2 数据库逻辑模型设计(1)根据数据库概念模型设计数据库的逻辑模型。

-将E-R模型转化到逻辑模型(2)根据应用需要和规范化理论对逻辑模型进行优化。

2.3 数据库物理模型设计(1)针对某种DBMS,设计数据库物理模型,包括表空间、表和索引等于物理存储有关的设计。

(2)优化物理模型(3)生成某种DBMS的SQL语句,创建数据库及其表。

2.4 装载数据(1)收集真实数据或者生成模拟数据。

(2)批量加载数据到数据库中。

(3)设计一系列SQL语句,尤其是连接查询、嵌套查询等SQL语句,以测试数据库性能。

3实验要求(1)可以借助POWERDESIGNER等系统分析与设计辅助工具进行数据库设计,也可以使用WORD文件直接生成各种设计文档。

(2)选择的数据库应用系统应该规模适中,不宜太大太复杂,可能做不完;也不宜太小太简单,甚至仅有三两个表组成。

(3)要设计良好的数据库完整性约束。

(4)思考题:数据库设计通常由哪些辅助工具?各有哪些优缺点?4实验步骤4.1 数据库概念模型设计(1)进行需求分析。

学生需要有学号、姓名、性别、年龄、专业等信息。

选课需要有学号、课号、成绩等信息课程需要有课程号、课程名、先修课、学分等信息(2)设计数据库概念模型,画出E-R图。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库系统概论实验报告
题目交互式SQL 学生姓名刘家宇
学生学号20110801126
专业班级计科一班
指导老师王永恒
完成日期 2014/5/9
一、实验目的
1.熟悉数据库的交互式SQL工具。

2.熟悉通过SQL对数据库进行操作。

3.完成实验要求的上机练习。

二、实验环境及工具
在windows XP环境下,利用MySQL 及其交互式查询工具来熟悉SQL。

三、实验内容
1.在MySQL中建立一个数据库,进行实验所要求的各种操作,所有的SQL操作均
在此建立的新库里进行。

其中对数据库的操作包括:
1) 各类查询操作(单表查询,连接查询,嵌套查询,集合查询)。

2) 各类更新操作(插入数据,修改数据,删除数据)。

2.在MySQL中定义一个视图,进行实验所要求的各种操作,所有的SQL操作均在
此建立的新视图里进行。

其中对数据库的操作包括:
1)视图的定义(创建和删除);
2)视图的查询;
3)视图的更新(注意更新的条件)。

四、实验上机练习
1.创建course ,student ,sc 表:
2.Student 表中插入数据:
3.Student 表中修改数据:
4.Student表中的查询操作:
例:查询选修IS专业的学生的姓名:
5.建立选择“IS”专业的学生的视图:
6.更新视图数据:
五、实验中出现的问题及解决方案
问题:
建立course表的时候输入语句如下:
Create table course
(cno char(9) primary key,
Cname char(20),
Cpno char(4),
Ccredit smallint,
Foreign key cpno references course (cno)
);
出现错误;
解决方法:
查阅相关书籍发现时语法错误,修改如下:
Create table course
(cno char(9) primary key,
Cname char(20),
Cpno char(4),
Ccredit smallint,
Foreign key (cpno) references course (cno)
);。

相关文档
最新文档