大型数据库实验报告(实验八)

合集下载

vfp实验报告 实验八 用查询设计器去设计sql语句

vfp实验报告 实验八 用查询设计器去设计sql语句

实验八用查询设计器去设计SQL一、实验内容1.查询的创建:创建查询的方法有三种:一是使用查询向导,二是使用查询设计器,三是直接编写 select-sql 语句.不管用查询向导还是用查询设计器,其结果都是生成一条 select-sql 语句,在本质上是 select-sql 命令的可视化设计方法。

①使用查询设计器创建查询的基本步骤:(1).启动查询设计器(2).添加表(3).设置表间关联(4).选择显示字段(5).设置筛选记录条件(6).排序,分组查询结果(7).设置查询输出类型2.启动查询设计器:(1)在项目管理器中选择"数据"或"全部"选项卡,选择"查询"文件类型,然后单击"新建"按钮,单出"新建查询"对话框。

(2)在"新建查询"对话框中单击"新建查询"按钮,弹出"查询设计器"窗口。

3.生成 SQL 语句:不论是使用向导还是使用"查询设计器",其结果都是生成一条SQL 语句.可以通过选择"查询"菜单(或者快捷菜单)中的"查看 SQL"菜单项或单击"查询设计器"工具栏上的"SQL"按钮,即可看到所生成的 select-sql 语句.一般情况下,用查询设计器创建查询的目的是通过交互设置,生成 SQL 命令,然后复制下来,粘贴到应用程序中或保存到查询文件中.如果对 select-sql 比较熟悉,完全可以不使用查询。

生成查询文件:查询创建完成后,单击"常用"工具栏上"保存"按钮或"文件"下的"保存"命令,输入文件名,比如 Query1,系统自动为该文件加上扩展名.QPR,即生成了查询文件 Query1.QPR.该文件中保存的是 SQL 语句。

物联网应用系统设计实验报告

物联网应用系统设计实验报告

《 物联网应用系统设计 》课程实验报告实验名称 实验八 QtSql数据库编程学 号 姓 名 班 级 物联本132 实验日期 2016.5.24 实验报告日期 2016.5.24指导老师 实 验 地 点 多404成 绩评 语≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡实验内容和目的 实验内容:1、 在主窗口启动的时候,实现数据库的创建以及表的创建,要求数据库名为books.db,穿件数据表books,要求表结构为三个字段:id、name、introduction2、 在主窗口中添加两个按钮,分别命名为Add、Find:3、 当单击Add按钮时候,弹出如下插入数据的窗口:输入ID、Name及Intro信息,单击ok按钮,即可将当前数据插入到books数据表中去,单击Exit按钮则推出当前窗口。

4、当单击主窗口的Find按钮时,弹出如下查找窗口:单击查找窗口中的查找按钮,则会依据输入的ID来查找相关数据,并将结果显示在窗口中的tableview中实验目的:1、 掌握利用QtSql编程实现数据库的创建、添加表、插入数据、查询数据等操作2、掌握tabview、pushbutton、linetext等Qt基础控件的使用实验环境 一台PC机、linux虚拟机上的Qt环境实验重点及难点1、 掌握利用QtSql编程实现数据库的创建、添加表、插入数据、查询数据等操作2、掌握tabview、pushbutton、linetext等Qt基础控件的使用实验过程(实验过程、实验结果及实验分析)一、新建Qt工程,命名为bookstore,在bookstore.pro中添加代码,如图所示:二、在工程中添加两个界面Add和find步骤如下:最后点击完成。

1、 在主窗口启动的时候,实现数据库的创建以及表的创建,要求数据库名为books.db,穿件数据表books,要求表结构为三个字段:id、name、introduction1)新建connection.h,步骤如下:最后点击完成。

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

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

数据库原理与技术实验报告
一、实验目的
本次实验的主要目的是了解和学习数据库原理与技术,具体要求是:
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)是一种关系型数据库管理系统的标准化数据库查询语言。

实验报告

实验报告

实验八链表编程#include<iostream.h>struct node{int date;node *next;};node* jianli(){intn,i;node *haed=NULL,*p=NULL,*u=NULL; cout<<"输入链表的大小:\n"; cin>>n;haed=new node;u=haed;cout<<"输入数值\n";cin>>u->date;for( i=1;i<n;i++){p=new node;u->next=p;u=p;cout<<"输入数值\n";cin>>p->date;}u->next=NULL;returnhaed;}voidshuchu(node *m){cout<<"该链表为:";for(int j=0;j<6;j++){cout<<m->date<<" ";m=m->next;}cout<<"\n";}void search(node *m){int n;cout<<"输入序号:";cin>>n;node *p=m,*sea;for(int i=1;;i++){sea=p;p=p->next;if(i==n){cout<<"输出值为:"<<sea->date<<endl;break;}}}void search2(node *m){int n;cout<<"输入值:";cin>>n;node *p=m,*sea;for(int i=1;;i++){sea=p;p=p->next;if(sea->date==n){cout<<"输出序号:"<<i<<endl;break;}}}voidcharu(intn,intx,node *m){node *p=m,*sea,*k;for(int i=1;;i++){sea=p;p=p->next;if(i==n){k=new node;k->date=x;sea->next=k;k->next=p;break;}}p=m;cout<<"输出链表:"; while(1){cout<<p->date<<" "; if(p->next==NULL)break;p=p->next;}cout<<"\n";}shanchu(ints,node *m) {node *p=m,*sea=m;for(int i=1;;i++){if(i==s){sea->next=p->next;break;}sea=p;p=p->next;}p=m;cout<<"输出链表:"; while(1){cout<<p->date<<" "; if(p->next==NULL)break;p=p->next;}}void main(){intn,x,s;node *f=jianli(); shuchu(f);search(f);search2(f);cout<<"插入结点";cin>>n;cout<<"输入值:";cin>>x;charu(n,x,f);cout<<"输入要删除的结点:";cin>>s;shanchu(s,f);cout<<endl;}错误与总结:一个链表的建立要申请动态指针,把前一个结构体中的指针变量指向新建的地址,链表就可以连接起来了。

(完整版)数据库技术与应用实验报告

(完整版)数据库技术与应用实验报告

(完整版)数据库技术与应用实验报告《数据库技术与应用》实验报告班级学号:姓名:实验日期:指导老师:实验名称一、实验一表的建立与维护实验目的与要求 1.初步掌握根据一个应用目标把现实问题抽象为关系数据模型的方法,从而为解决实际问题奠定数据基础。

2.掌握表的建立与维护的一般方法。

3.理解表的记录指针与当前记录的意义。

4.掌握表的打开、关闭、浏览、显示等操作方法。

5.掌握表结构的修改。

6.掌握记录的增加与删除等操作。

7.掌握数据复制方法。

8.二、实验准备 1、复习关系数据库的有关概念,深刻理解Virsual FoxPro中所采用的关系模型的实质及Virsual FoxPro所支持的数据模型。

2、复习表的建立、现实与维护等操作。

三、实验内容下表是某校学生花名册,根据该表完成以下操作,写出操作步骤。

学习成绩性学号姓名别学 009901 张小强男 98 85 否 20XX年获全数外语出生年月否少数民族受奖情况国数学奥林匹克竞赛二等奖。

009902 009903 009904 009905 陈斌李哲男男 88 56 75 88 75 82 72 81 否是否是20XX年获全国中学生田径运动会100米第三名009906 009907 009908 009909 张青松男封小莉女周晓钱倩女女 65 82 65 83 81 73 78 85 否否20XX年获广东省三好学生称号 009910 009911 孙力军男肖彬彬女 64 55 68 95 是否赵大明男冯珊女否否1.设计一个表的结构,使其能描述上表的信息,同时又符合关系模型的基本要求。

2.建立表,输入表中的数据,并将保存在自己盘中。

3.给全部女生的数学成绩加5分。

4.将记录指针定位到第5号记录。

5.将记录指针指向孙力军同学。

6.显示所有姓“张”学生的情况。

7.把表的姓名字段宽度修改为8。

8.浏览记录数据,且表头用汉字。

9.把少数民族学生的记录复制到中。

数据结构实验报告八皇后问题

数据结构实验报告八皇后问题

2007级数据结构实验报告实验名称:实验二——栈和队列学生姓名:班级:班内序号:学号:日期:2008年11月18日1.实验要求通过选择下面五个题目之一进行实现,掌握如下内容:➢进一步掌握指针、模板类、异常处理的使用➢掌握栈的操作的实现方法➢掌握队列的操作的实现方法➢学习使用栈解决实际问题的能力➢学习使用队列解决实际问题的能力利用栈结构实现八皇后问题。

八皇后问题19世纪著名的数学家高斯于1850年提出的。

他的问题是:在8*8的棋盘上放置8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列、同一斜线上。

请设计算法打印所有可能的摆放方法。

提示:1、可以使用递归或非递归两种方法实现2、实现一个关键算法:判断任意两个皇后是否在同一行、同一列和同一斜线上2. 程序分析2.1 存储结构采用栈存储,其结构图如下:2.2 关键算法分析函数原型: bool check(int i);2.2.1.1.1自然语言:检测至第i行所摆放的第i个皇后是否和之前的i-1个皇后发生冲突。

如是,则返回0;反之,则当前布局合法,返回1。

判断两个皇后是否相互攻击的准则是:若两个皇后处于同一行,或处于同一列,或处于同一斜线,就能相互攻击。

基于如上准则,函数check( )的工作原理是:考虑到数组的每个元素分别代表不同行的皇后,即每行只放置了一个皇后,所以不必考虑“同处一行相互攻击”的情形;对于同处一列,则语句:if(queen[s]==queen[t])就能判断出不同行的两个棋子是否同处一列;对于处于同一斜线的这种情况,首先,我们看出国际象棋的棋盘是一个八行八列的正方形。

因此我们可将棋盘想象为数学上的笛卡尔平面坐标系,两颗棋子想象为平面上的两个点,就很容易发现,为保证两颗棋子不处于同一斜线,只要过这两个点的直线斜率不为1或-1,就能达到要求。

由此可使用下列语句:if( abs(t-s) == abs(queen[s]-queen[t]) )其中t和s分别代表不同行的两个皇后,即数组queen[8]里不同下标的两个元素。

数据结构实验八快速排序实验报告

数据结构实验八快速排序实验报告

数据结构实验八快速排序实验报告一、实验目的1.掌握快速排序算法的原理。

2. 掌握在不同情况下快速排序的时间复杂度。

二、实验原理快速排序是一种基于交换的排序方式。

它是由图灵奖得主 Tony Hoare 发明的。

快速排序的原理是:对一个未排序的数组,先找一个轴点,将比轴点小的数放到它的左边,比轴点大的数放到它的右边,再对左右两部分递归地进行快速排序,完成整个数组的排序。

优缺点:快速排序是一种分治思想的算法,因此,在分治思想比较适合的场景中,它具有较高的效率。

它是一个“不稳定”的排序算法,它的工作原理是在大数组中选取一个基准值,然后将数组分成两部分。

具体过程如下:首先,选择一个基准值(pivot),一般是选取数组的中间位置。

然后把数组的所有值,按照大小关系,分成两部分,小于基准值的放左边,大于等于基准值的放右边。

继续对左右两个数组递归进行上述步骤,直到数组只剩一个元素为止。

三、实验步骤1.编写快速排序代码:void quicksort(int *a,int left,int right) {int i,j,t,temp;if(left>right)return;temp=a[left];i=left;j=right;while(i!=j) {// 顺序要先从右往左移while(a[j]>=temp&&i<j)j--;while(a[i]<=temp&&i<j)i++;if(i<j) {t=a[i];a[i]=a[j];a[j]=t;}}a[left]=a[i];a[i]=temp;quicksort(a,left,i-1);quicksort(a,i+1,right);}2.使用 rand() 函数产生整型随机数并量化生成的随机数序列,运用快速排序算法对序列进行排序。

四、实验结果实验结果显示,快速排序能够有效地快速地排序整型序列。

在随机产生的数值序列中,快速排序迅速地将数值排序,明显快于冒泡排序等其他排序算法。

数据库技术与应用实验八

数据库技术与应用实验八

实验8 存储过程和触发器1.实验目的(1)掌握通过SQL Server管理平台和Transact-SQL语句CREATE PROCEDURE 创建存储过程的方法和步骤。

(2)掌握使用Transact-SQL语句EXECUTE执行存储过程的方法。

(3)掌握通过SQL Server管理平台和Transact-SQL语句ALTER PROCEDURE 修改存储过程的方法。

(4)掌握通过SQL Server管理平台和Transact-SQL语句DROP PROCEDURE删除存储过程的方法。

(5)掌握通过SQL Server管理平台和Transact-SQL语句CREATE TRIGGER创建触发器的方法和步骤。

(6)掌握引发触发器的方法。

(7)掌握使用SQL Server管理平台或Transact-SQL语句修改和删除触发器。

(8)掌握事务、命名事务的创建方法,了解不同类型的事务的处理情况。

2.实验内容及步骤(1)在查询设计器中输入以下代码,创建一个利用流控制语句的存储过程letters_print,该存储过程能够显示26个小写字母。

CREATE PROCEDURE letters_printASDECLARE @count intSET @count=0WHILE @count<26BEGINPRINT CHAR(ASCII('a')+ @count)SET @count=@count +1END单击查询分析器的“执行查询”按钮,查看studentsdb数据库的存储过程是否有letters_print。

使用EXECUTE命令执行letters_print存储过程。

(2)输入以下代码,创建存储过程stu_info,执行时通过输入姓名,可以查询该姓名对应的学生的各科成绩。

CREATE PROCEDURE stu_info @name varchar(40)ASSELECT a.学号,姓名,课程编号,分数FROM student_info a INNER JOIN grade taON a.学号= ta.学号WHERE 姓名= @name使用EXECUTE命令执行存储过程stu_info,其参数值为“马东”。

重庆邮电大学数据库实验报告

重庆邮电大学数据库实验报告

重庆邮电大学实验报告班级:13061801姓名:张川学号:2018214201指导老师:桑春燕课程名称:数据与算法基础(2)(数据库) 实验地点: A501/502实验八综合运用数据库技术解决实际案例一、实验目的熟练掌握SQL 的数据定义/数据操作/查询功能。

综合运用SQL 处理实际问题。

二、实验要求及任务按照“个人信息处理考查12121.xls“中“分摊表”提供的模板统计重庆唯胜气象信息有限公司开展“12121”业务情况。

具体如下统计规则如下:1.数据源:共一张报表,见“个人信息处理考查12121.xls”中“原始数据”。

2.取数规则见:“个人信息处理考查12121.xls”中“取数规则”工作表中,即该公司在不同报表中取数约定。

3.分摊表说明1)电信产品类型分成三大类,即:固话、移动、小灵通;2)在进行分摊表计算时,固话分摊到“城市”或者“乡村”列小灵通分摊到“小灵通”列;移动分摊到“捆绑”或“未捆绑”列。

产品类型与用户类型及分摊对应关系见表1.4.完成“个人信息处理考查12121.xls”中“分摊表”的编制。

5.总结并完成实验报告。

三、实验步骤1.导入数据之后一直下一步就行。

导入成功截图(2)根据实验要求修改数据(1)修改原始数据表中的地区将xxx电信公司修改为xxx 比如万州电信公司修改为万州(2)处理不可见字符,如空格使用Ltrim trim Rtrim 去除(3)处理列数据将用户类型改为相应的小灵通,移动,固话,(4)统计信息,将如下表填满信息Sql语句(1)使用了replace函数替换字符串update `原始数据` set 地区=REPLACE(地区,"电信","")update `原始数据` set 地区=REPLACE(地区,"电信公司","")(2)处理空格SELECT Trim(地区,城市_乡村,是否上网捆,用户类型,账目类型,接入码,用户数,话单樟张数,通话时长,费用)FROM 原始数据(3)处理用户类型UPDATE 原始数据set 用户类型="小灵通" where 用户类型like "%小灵通"UPDATE 原始数据set 用户类型="移动" where 用户类型like "%卡式电话%"UPDATE 原始数据set 用户类型="固话" where 用户类型like "%固定电话%"update 原始数据set 用户类型="移动" where 用户类型like "%语音%"update 原始数据set 用户类型="小灵通" WHERE `用户类型` like "%PHS%"(4)统计信息1).先建表DROP TABLE IF EXISTS `分成前收入`;CREATE TABLE `分成前收入` (`地区` char(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,`城市` char(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,`农村` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,`小灵通` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,`移动未捆绑` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,`移动已捆绑` varchar(10) CHARACTER SET utf8mb4 COLLATEutf8mb4_general_ci NULL DEFAULT NULL,`合计` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Compact;SET FOREIGN_KEY_CHECKS = 1;2).插入数据到分成前收入表中insert into 分成前收入(地区) (SELECT DISTINCT 地区from 原始数据ORDER BY 地区arc);update 分成前收入set 分成前收入.合计=(select sum(费用) from `原始数据` where 接入码="12121" and 分成前收入.`地区`=`原始数据`.`地区` )update 分成前收入set 分成前收入.城市=(select sum(`原始数据`.`费用`) from 原始数据where `原始数据`.地区=`分成前收入`.`地区` and 原始数据.`城市_乡村`='城市' and `接入码`=12121 )update 分成前收入set 分成前收入.`农村` =(select sum(`原始数据`.`费用`)from 原始数据where `原始数据`.地区=`分成前收入`.`地区` and 原始数据.`城市_乡村`='乡村' and `接入码`=12121 )update 分成前收入set 分成前收入.`小灵通` =(select sum(`原始数据`.`费用`) from 原始数据where `原始数据`.地区=`分成前收入`.`地区` and `原始数据`.`用户类型`="小灵通" and `接入码`=12121 )update 分成前收入set 分成前收入.`移动未捆绑` =(select sum(`原始数据`.`费用`) from 原始数据where `原始数据`.地区=`分成前收入`.`地区` and 原始数据.`是否上网捆绑`="未捆绑" and `接入码`=12121 )update 分成前收入set 分成前收入.`移动已捆绑` =(select sum(`原始数据`.`费用`) from 原始数据where `原始数据`.地区=`分成前收入`.`地区` and 原始数据.`是否上网捆绑`="捆绑" and `接入码`=12121 )四.总结还是一些sql语句不好写,体验到了批量修改字符串,使用了replace函数。

实验八(上):SQL-Server用户自定义函数和触发器

实验八(上):SQL-Server用户自定义函数和触发器

实验八(上)用户自定义函数和触发器一、实验目的1、掌握SQLServer中用户自定义函数的使用方法。

2、掌握SQL Server中触发器的使用方法。

二、实验内容和要求1.创建一个返回标量值的用户定义函数RectangleArea:输入矩形的长和宽就能计算矩形的面积。

自选2种实例调用该函数。

create function RectangleArea(@a int,@b int)returns intasbeginreturn @a*@benddeclare @area intexecute @area=RectangleArea 3,5print('矩形面积是:')print @areadeclare @area intexecute @area=RectangleArea 7,8print('矩形面积是:')print @area2.创建一个用户自定义函数(内嵌表值函数),功能为产生某个系的学生选修信息,内容为学号,姓名,课程名,成绩。

调用这个函数,显示信息系有选课学生的信息。

create function Search (@sdept char(10))returns tableasreturn(select sc.sno 学号,student.sname 姓名,ame 课程名,sc.grade 成绩,student.sdept 系别from sc,student,course where o=o andsc.sno = student.sno and sdept=@sdept)select*from Search('cs')3.创建一个作用在P表上的触发器P_checks,确保用户在插入或更新P表的WEIGHT值时,所提供的WEIGHT值介于20与40之间,否则给出错误提示并回滚此操作。

请测试该触发器,测试方法自定。

create trigger P_checks on p for insertasbegindeclare @weight intselect @weight=weight from insertedif @weight<10 or @weight>20beginRAISERROR('weight 必须在~20之间!',16,1)ROLLBACK TRANSACTIONendendinsert into p(pno,pname,color,weight)values('p7','刀片','红',40)insert into p(pno,pname,color,weight)values('p7','刀片','红',15)select*from p4.创建一个作用在J表上的触发器J_Update,禁止同时修改项目的名称和所在城市,并进行相应的错误提示。

实验八(上):SQL Server用户自定义函数和触发器

实验八(上):SQL Server用户自定义函数和触发器

实验八(上)用户自定义函数和触发器一、实验目的1、掌握SQLServer中用户自定义函数的使用方法。

2、掌握SQL Server中触发器的使用方法。

二、实验内容和要求1.创建一个返回标量值的用户定义函数RectangleArea:输入矩形的长和宽就能计算矩形的面积。

自选2种实例调用该函数。

create function RectangleArea(@a int,@b int)returns intasbeginreturn @a*@benddeclare @area intexecute @area=RectangleArea 3,5print('矩形面积是:')print @areadeclare @area intexecute @area=RectangleArea 7,8print('矩形面积是:')print @area2.创建一个用户自定义函数(内嵌表值函数),功能为产生某个系的学生选修信息,内容为学号,姓名,课程名,成绩。

调用这个函数,显示信息系有选课学生的信息。

create function Search (@sdept char(10))returns tableasreturn(select sc.sno 学号,student.sname 姓名,ame 课程名,sc.grade 成绩,student.sdept 系别from sc,student,course where o=o andsc.sno = student.sno and sdept=@sdept)select*from Search('cs')3.创建一个作用在P表上的触发器P_checks,确保用户在插入或更新P表的WEIGHT值时,所提供的WEIGHT值介于20与40之间,否则给出错误提示并回滚此操作。

请测试该触发器,测试方法自定。

create trigger P_checks on p for insertasbegindeclare @weight intselect @weight=weight from insertedif @weight<10 or @weight>20beginRAISERROR('weight 必须在~20之间!',16,1)ROLLBACK TRANSACTIONendendinsert into p(pno,pname,color,weight)values('p7','刀片','红',40)insert into p(pno,pname,color,weight)values('p7','刀片','红',15)select*from p4.创建一个作用在J表上的触发器J_Update,禁止同时修改项目的名称和所在城市,并进行相应的错误提示。

实验八数据库安全管理

实验八数据库安全管理

实验八 数据库安全管理一、目的与要求1.掌握创建用户和角色的方法2.掌握SQL授权命令和收回权限的命令二、实验准备1.了解SQL Server登录身份和登录模式的概念;2.了解用户、角色、登录三者的概念;3.了解权限授予和收回的的T-SQL语法。

三、实验内容(一)创建登录名1.创建新的登录名testlogin(1)在对象资源管理器的目录树中“安全性” “登录名”,点击右键选择“新建登录名”,设置登录名为testlogin,“SQL Server身份验证”密码为abc,默认数据,如图8-1所示。

库为“studentdb”图8-1提问:此时用testlogin登录名创建新的连接,登录到对象资源管理器,是否能登录成功?不能登陆成功(2)右击testlogin登录名,选择属性,设置“用户映射”,设置“映射到此登录名的,如图8-2所示。

这里即是创建和登录名同名的用户,该用户“为“studentdb”用户属于默认数据库。

这个用户具有的数据库角色是public。

(3)确定后再次以testlogin及其密码登录查ssms,在testlogin登录名下新建查询。

运行命令,查看并记录结果。

提问:此时是否查询命令能查询到st_info表中的数据?为什么?答:不能,因为未获得访问特定数据库中数据的权利。

图8-2(4)若要查询studentdb数据库中表的数据,则要在数据库角色成员身份中选择db_datareader角色(回到sa登录下设置该登录名的属性),再运行上题中的查询语句,查看结果。

(5)在查询编辑器中运行命令,查看是否允许。

若不允许,则要在数据库角色成员身份中选择db_datawriter角色。

重新运行该条更新语句,查看结果。

图8-32.提问:testlogin登录名登录后,允许访问服务器上所有的数据库吗?能访问哪些数据库?。

登录用户只能看到并访问它自己的数据库而不能看到其他的数据库(二)创建用户创建用户时选择映射到已有登录名,即令一个登录名可以访问多个数据库。

数据库上机实验报告

数据库上机实验报告

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

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

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

在实验中,我使用了ER图和关系模式图等工具,对数据库的结构和关系进行了清晰的描述和设计。

其次,实验中我们学习了数据库的创建和管理。

通过使用SQL语句,我成功创建了数据库和表,并进行了数据的插入、修改和删除操作。

在实验过程中,我深入了解了SQL语句的语法和用法,掌握了如何利用SQL语句对数据库进行有效的管理和操作。

最后,我们进行了数据库的查询操作。

通过学习和实践,我掌握了SQL语句中的SELECT语句的用法,能够实现对数据库中数据的查询和统计。

在实验中,我通过编写SQL语句,成功实现了对数据库中数据的查询和分析,对于复杂的查询需求也能够进行有效的处理和实现。

通过本次数据库上机实验,我不仅加深了对数据库设计、创建和查询的理解,还提高了对SQL语句的掌握和运用能力。

我相信这些知识和技能对我的未来学习和工作都将有很大的帮助。

总的来说,本次数据库上机实验内容丰富、操作性强,通过实际操作和实践,我对数据库的相关知识有了更深入的理解和掌握。

我相信这些知识和技能对我的未来学习和工作都将有很大的帮助。

希望通过不断的学习和实践,能够进一步提高自己的数据库技能,为将来的工作做好准备。

数据库原理实验报告

数据库原理实验报告

计算机与信息学院数据库原理实验报告专业:计算机科学与技术班级:2012级本科班学号:*****姓名:指导教师:2014年06月18 日实验项目列表计算机与信息学院实验报告纸实验一数据库创建与管理一、实验目的与要求1、熟练掌握SSMS中界面方式创建和管理数据库。

2、熟练掌握SSMS查询编辑器T-SQL语句创建和管理数据库。

3、熟练掌握备份和还原数据库。

二、实验内容1、界面方式创建和管理数据库(1)创建数据库(2)修改数据库(3)删除数据库2、利用企业管理器备份和还原数据库(1)备份数据库(2)还原数据库3、T-SQL语句方式创建和管理数据库(1)创建SPJ数据库:在SSMS中“新建查询”,输入以下语句并运行CREATE DATABASE SPJON(NAME=’SPJ_Data’,FELENAME='C:\Program Files\Microsoft SQL Server\MSSQL\data\SPJ_Data.MDF' ,SIZE = 3,MAXSIZE = 10,FILEGROWTH = 10%)LOG ON(NAME = 'SPJ_Log', FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL\data\SPJ_Log.LDF' ,SIZE = 1,FILEGROWTH = 10%)(2)修改SPJ数据库:在查询分析器中输入以下语句并运行ALTER DATABASE SPJMODIFY FILE(NAME='SPJ_Data',SIZE=4,ALTER DATABASE SPJADD FILE(NAME='SPJ_Data_2', FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SPJ_Date_2.ndf',SIZE=1,MAXSIZE=10,FILEGROWTH=10%)(3)删除SPJ数据库:DROP DATABASE SPJ4、界面方式创建数据库XSBOOK,写出操作过程。

计算机软件技术基础实验报告

计算机软件技术基础实验报告

“开始”--〉“设置”--〉“控制面板”—〉“管理工具”—〉“数据源(ODBC)”,打开之后出现如图1所示窗口。

图1点击“添加”按钮,出现图2。

图2选择SQL Server,点击“完成”,出现图3。

图3名称中填写所创建的数据源的名称,本例中为student,描述可以不填。

因为SQL Server的服务器和客户端均安装在本地计算机上,所以服务器为(local)。

如果本地计算机上只安装了客户端,服务器安装在另外的机器上,服务器为另一台机器的名称。

点击“下一步”,出现图4。

图4SQL Server如何验证ID的真伪,使用哪种方法要看安装SQL Server2000时选择的是哪种验证方式。

如果是Windows验证,选择使用网络登录ID的WindowsNT验证;如果是混合验证模式则要选择下面一种。

本例中采用Windows验证。

进入数据库无需另外的用户名和密码。

点击“下一步”,出现图5。

图5这里要更改默认的数据库,默认情况下数据源所连接的数据库为master,这里要改为student数据库。

点击“下一步”,出现图6。

图6这里无需修改,点击“完成”出现图7。

图7点击“测试数据源”,如果测试成功说明数据源已成功创建。

(3)创建VC应用程序。

打开VC++6.0,新建工程,如图8所示。

选择MFC AppWizard(exe),工程名为exec1,存放在D盘实验文件夹里。

图8点击“确定”,在出现的窗口中选择“单文档”,点击“下一步”,出现图9。

图9这里选择“查看数据库不使用文件支持”,还要选择数据源,点击“数据源…”,弹出如图10所示窗口。

图10选择“student”数据源,点击“OK”,在弹出的窗口中选择表dbo.s,点击“OK”返回图9所示的界面。

以后的创建步骤中没有需要修改的地方可以直接点击完成。

这样工程exec1就创建完成了,并且通过数据源与数据库发生了关联。

创建好的工程可以运行,结果如图11所示。

图11(4)界面设计在工作区左边的树型结构中,选择ResourceView,展开Dialog节点,双击IDD_EXEC1_FORM,打开该对话框。

大数据课程实验报告

大数据课程实验报告

大数据课程实验报告
当谈到大数据课程的实验报告时,我们需要考虑到实验的目的、方法、结果和结论。

首先,实验报告应该清楚地阐明实验的目的和
背景。

在大数据课程中,实验的目的可能是要求学生掌握大数据处
理工具或者分析大数据集。

其次,报告应该详细描述实验所采用的
方法和步骤。

这可能包括数据收集、数据清洗、数据分析和结果展
示的过程。

学生需要清楚地说明他们使用了哪些工具和技术,以及
为什么选择了这些方法。

另外,实验报告应该展示实验的结果。

这可能包括数据可视化、统计分析和模型预测等。

学生需要清晰地呈现他们得到的结果,并
对结果进行解释和分析。

最后,报告应该包括一个结论部分,总结
实验的主要发现,并讨论实验中遇到的问题和改进的可能性。

除了以上内容,实验报告还应该包括对实验过程中遇到的困难
和挑战的描述,以及学生是如何克服这些困难的。

此外,学生还可
以对实验中的局限性进行讨论,并提出未来进一步研究的方向。

总之,一份优秀的大数据课程实验报告应该清晰地展现实验的
目的、方法、结果和结论,同时还应该包括对实验过程中的挑战和
改进的讨论。

这样的报告能够展现学生对大数据处理和分析的理解和掌握,以及对未来研究方向的思考和展望。

实验八 访问数据库应用实例

实验八 访问数据库应用实例

实验八访问数据库应用实例一.实验目的:能够熟练运用某种高级语言进行数据库编程二.实验内容:根据上次实验所使用的组件,编写一个访问数据库的程序,要求该程序具备查询、插入、删除、修改四个基本功能。

三.实验过程:(将程序的实验过程简单描述并将相关界面截图,关键代码附在文中)using System;using System、Data;using System、Collections、Generic;using System、Linq;using System、Text;using System、Data、SqlClient;namespace ConsoleApplication2{class Program{static void Main(string[] args){string connstr = string、Format("server= LIUYAN\\SQLEXPRESS;database=学生课程数据库;uid=login;pwd=123456");Console、WriteLine("----------访问数据库系统-----------");Console、Write("-----------请输入操作:");int Operator = Convert、ToInt32(Console、ReadLine());switch (Operator){case 1:Select(connstr); break;case 2:Add(connstr); break;case 3:Delect(connstr); break;case 4:Update(connstr); break;default:break;}}static void Select(string s){SqlConnection conn = new SqlConnection(s);conn、Open();SqlCommand comm = new SqlCommand();comm、Connection = conn;Console、Write("输入要查询的学生姓名:");string name = string、Format(Console、ReadLine());comm、CommandText = string、Format("select * from student where sname = '{0}'",name);comm、CommandType = CommandType、Text;SqlDataReader sdr = comm、ExecuteReader();while (sdr、Read()){Console、WriteLine("学号;" + sdr[0]、ToString());Console、WriteLine("姓名;" + sdr[1]、ToString());Console、WriteLine("年龄;" + sdr[2]、ToString());Console、WriteLine("院系;" + sdr[3]、ToString());Console、WriteLine("生日;" + sdr[4]、ToString());}conn、Dispose();}static void Add(string s){SqlConnection conn = new SqlConnection(s);conn、Open();SqlCommand comm = new SqlCommand();comm、Connection = conn;Console、Write("输入要插入的学生学号:");string no = string、Format(Console、ReadLine());Console、Write("输入要插入的学生姓名:");string name = string、Format(Console、ReadLine());Console、Write("输入要插入的学生年龄:");int age = Convert、ToInt32(Console、ReadLine());Console、Write("输入要插入的学生系别:");string dept = string、Format(Console、ReadLine());Console、Write("输入要插入的学生生日:");string birthday = string、Format(Console、ReadLine());comm、CommandText = string、Format("Insert Into student(sno,sname,sage,sdept,sbirthday)values({0},'{1}',{2},'{3}',{4})",no,name,age,dept,birthday);comm、CommandType = CommandType、Text;if (comm、ExecuteNonQuery() > 0){Console、WriteLine("成功添加学生信息!");}else{Console、WriteLine("添加学生信息失败!");}conn、Dispose();}static void Delect(string s){SqlConnection conn = new SqlConnection(s);conn、Open();SqlCommand comm = new SqlCommand();comm、Connection = conn;Console、WriteLine("删除关于学号为95009的学生的记录");comm、CommandText = string、Format("delete from student where sno='95009'"); comm、CommandType = CommandType、Text;if (comm、ExecuteNonQuery() > 0){Console、WriteLine("成功删除学号为95009的学生记录!");}conn、Dispose();}static void Update(string s){SqlConnection conn = new SqlConnection(s);conn、Open();SqlCommand comm = new SqlCommand();comm、Connection = conn;Console、WriteLine("修改张三学生的记录");comm、CommandText = string、Format("update student set sage=19 where sname='张三'");comm、CommandType = CommandType、Text;if (comm、ExecuteNonQuery() > 0){Console、WriteLine("成功修改张三学生的记录!");}conn、Dispose();}}}界面截图:1、查询截图:2、插入截图:3、删除截图:4、修改截图:四.实验总结这次试验使我认识到了编程序的难点,在编程序时要细心,有时候可能就是很小的一个错误,您都瞧半天都改不出来。

(end)数据库实验指导书

(end)数据库实验指导书

数据库原理实验指导书湖南工程学院计算机科学与技术系2010年8月数据库原理实验报告(格式) 实验名称评分实验日期年月日指导教师姓名专业班级学号一、实验目的二、实验内容与步骤三、实验结果四、程序调试及问题分析六、实验收获及体会实验一创建、修改数据库和表结构一、实验目的:掌握建立一个数据库表结构的方法和步骤,了解数据库表的基本组成。

二、实验内容:基本表的创建和修改。

三、实验要求:(必做)硬件:Intel Pentium 120或以上级别的CPU,大于16MB的内存。

软件:Windows 95/98/2000操作系统,关系数据库管理系统SQL SERVER 2000。

学时:2学时四、实验步骤:1、用create建立教学数据库的五个基本表:(1)学生表(学号,姓名,性别,年龄),student((Sno,sname,ssex,sage) ;(2)课程表(课程号,课程名,学分),Course (Cno, Cname, credit) ;(3)选课表(学号,课程号,成绩),SC (Sno,, Cno, grade ) ;(4) 教师表(教师号,姓名,性别,出生年月,系部,职称,地址),T(Tno,Tname,ssex,birthday,dept,title,address) ;(5) 工资表(教师号,基本工资,职务工资,合计),Salary(Tno,jbgz,zwgz,hj);2、用alter修改基本表(1)在已存在的学生表student中增加一个sdept(系)的新的属性列;(2)将学生表student中sname属性列的数据类型修改为变长字符串varchar(10)。

3、建立一个临时表,然后将其删除实验二建立与删除索引一、实验目的:了解建立索引的目的,掌握建立索引与删除索引,掌握创建、修改、删除约束。

二、实验内容:建立聚簇索引、非聚簇索引、唯一索引、复合索引,删除索引,创建、修改、删除约束力。

三、实验要求:(必做)硬件:Intel Pentium 120或以上级别的CPU,大于16MB的内存。

实验八 粘度法测定高聚物的摩尔质量

实验八 粘度法测定高聚物的摩尔质量

实验八粘度法测定高聚物的摩尔质量引入:高分子是一类特殊的大分子,同一高聚物溶液中,由于分子的聚合度不同,常采用高分子的平均相对分子质量来反映高分子的某些特征。

分子质量的表示方法也有多种,数均分子质量,重均分子质量,黏均分子质量,Z均分子质量,可以通过不同的方法测定。

本试验采用乌式黏度计测定了聚乙烯醇的黏均摩尔质量,该方法仪器简单,操作方便,并有很好的实验精度,是测定高聚物黏均分子质量的最常用方法。

下面我们来看看通过这个实验我们要掌握哪些内容。

【实验目的】1. 了解粘度法测定高聚物分子量的基本原理和公式。

2. 掌握用乌氏(Ubbelohde)粘度计测定高聚物溶液粘度的原理与方法。

3. 测定聚乙烯醇的摩尔质量。

【实验原理】高聚物摩尔质量不仅反映了高聚物分子的大小,而且直接关系到它的物理性能,是个重要的基本参数。

与一般的无机物或低分子的有机物不同,高聚物多是摩尔质量大小不同的大分子混合物,所以通常所测高聚物摩尔质量是一个统计平均值。

测定高聚摩尔质量的方法很多,而不同方法所得平均摩尔质量也有所不同。

比较起来,粘度法设备简单,操作方便,并有很好的实验精度,是常用的方法之一。

用该法求得的摩尔质量成为粘均摩尔质量。

高聚物稀溶液的粘度是它在流动时内摩擦力大小的反映,这种流动过程中的内摩擦主要有:纯溶剂分子间的内摩擦,记作η0;高聚物分子与溶剂分子间的内摩擦;以及高聚物分子间的内摩擦。

这三种内摩擦的总和称为高聚物溶液的粘度,记作η。

实践证明,在相同温度下η > η0 ,为了比较这两种粘度,引入增比粘度的概念,以ηsp 表示:ηsp =(η -η0)/η0 =η/ η0 - 1 = ηr -1 (5)式中,ηr 称为相对粘度,反映的仍是整个溶液的粘度行为,而ηsp 则是扣除了溶剂分子间的内摩擦以后仅仅是纯溶剂与高聚物分子间以及高聚物分子间的内摩擦之和。

高聚物溶液的ηsp 往往随质量浓度C 的增加而增加。

为了便于比较,定义单位浓度的增比粘度ηsp /C 为比浓粘度,定义ln ηr /C 为比浓对数粘度。

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

课程实验报告(实验8)
课程名称大型数据库
专业班级软件
姓名
学号
指导教师
计算机学院
实验教学考核和成绩评定办法
1.课内实验考核成绩,严格按照该课程教学大纲中明确规定的比重执行。

实验成绩不合格者,不能参加课程考试,待补做合格后方能参加考试。

2.单独设立的实验课考核按百分制评分,考核内容应包括基本理论、实验原理和实验。

3.实验考核内容包括:1)实验预习;2)实验过程(包括实验操作、实验记录和实验态度、表现);3)实验报告;权重分别为0.2 、0.4 、0.4;原则上根据上述三个方面进行综合评定。

学生未取得1)和2)项成绩时,第3)项成绩无效。

4.实验指导教师应严格按照考核内容分项给出评定成绩,并及时批改实验报告,给出综合成绩,反馈实验中出现的问题。

实验成绩在教师手册中有记载。

实验报告主要内容
一.实验目的
二.实验仪器及设备
三.实验原理
四.实验步骤
五.实验记录及原始记录
六.数据处理及结论
七.实验体会(可选项)
注:1. 统一采用A4纸,(正文采用宋体五号字)或手写,右侧装订。

2. 实验类别指验证、演示、综合、设计、创新(研究)、操作六种类型实验。

3. 验证性实验:是指为了使学生巩固课程基本理论知识而开设的强调演示和证明,注重实验结果(事
实、概念或理论)的实验。

4. 综合性实验:是指实验内容涉及本课程的综合知识或本课程相关的课程知识的实验。

5. 设计性实验:是指给定实验目的、要求和实验条件,由学生自行设计实验方案并加以实现的实验。

实验题目实验八存储过程、函数、程序包和触发器
实验室机房9202 实验时间2016 年5月17日
实验类别设计同组人数 1
成绩指导教师签字:
【实验目的】
(1)掌握存储过程的编辑及调用方法;
(2)掌握函数的编辑及调用方法;
(3)掌握程序包的编辑及调用方法;
(4)掌握DML触发器的创建及应用。

【实验原理】
1. 存储过程
2. 函数
3. 程序包
4. 触发器
【实验内容】
基本任务
一、存储过程、函数和程序包
[设计编程1]
假若有一个学生成绩管理系统,其中有一个学生成绩表stu_scores_XXX(学号,课程号,成绩,录入时间),其中课程号的第3位代表课程类型(1:必修2:考查3:选修)。

且要求一个学生的某一门课程只能有一个成绩。

(1)现要求设计学生成绩表stu_scores_XXX的表结构及约束,表结构中应至少包含以上列出的字段,设计完成后创建该表。

(2)编写程序包pkg_score_XXX,该程序包应至少提供以下功能:
➢教师可向学生成绩表中录入学生的考试成绩,在录入记录时要求对可能出现的异常进行处理。

➢教师可根据学号和课程号,查询出该某个学生某门课程的成绩,并返回对应记录。

➢当输入某课程的课程号后,可查询出该课程的课程类型(1:必修2:考查3:选修);
➢当输入一个百分制成绩,可返回其五级分制成绩(优、良、中、及、不及格);
➢当输入某个学生的学号时,可查询出该生的成绩信息及课程类型,要求必修课输出百分制成绩,选修课或考查课输出五分制成绩。

包规范(包头)代码:
create or replace package pkg_score_221 is
function course_type_221(cid char)
return nvarchar2;
function getgreade(sid number,cid char)
return number;
function getfive_score(grd number)
return char;
procedure insert_data(sid number,cid char,grd number,prd varchar2);
procedure sele_stuscore_221(sid number);
end pkg_score_221;
包体代码:
create or replace package body pkg_score_221
IS
function course_type_221(cid char) return nvarchar2 IS v_ctype nvarchar2(10);
v_str char(1);
begin
v_str:=substr(cid, 3, 1);
case v_str
WHEN '1' THEN v_ctype:='必修课';
WHEN '2' THEN v_ctype:='考查课';
WHEN '3' THEN v_ctype:='选修课';
else
v_ctype:='课程类型错误';
end case;
return v_ctype;
end course_type_221;
function getgreade(sid number,cid char)
return number
is
cid1 number;
begin
select grade into cid1 from stu_scores_221
where stuid=sid and courseid=cid;
return cid1;
EXCEPTION
WHEN DUP_V AL_ON_INDEX THEN
dbms_output.put_line ('该学生信息已存在');
WHEN num_null_221 THEN
dbms_output.put_line('违反了非空约束!');
END insert_data;
END pkg_score_221;
(3)试编写程序块分别调用测试程序包中的公有存储过程。

插入数据:
利用学号查询信息:
二、触发器
[设计编程2]
假若在员工考勤系统中有一个员工考勤表empl_kq_XXX,其表中的列内容要求如表1所示:
表1 员工考勤表empl_kq_xxx
名称备注
考勤序号主键
员工编号
考勤类型可取值“缺勤”、“迟到”、“早退”、“病假”、“事假”
记录者编号
记录日期
1)设计员工考勤表empl_kq_XXX的表结构及约束,并创建该表。

2)要求考勤序号列的值是能够自动生成的有序值。

3)要求用户在向员工考勤表empl_kq_XXX中录入考勤记录时,不用输入考勤序号,该列值在新记录录入时可由系统自动生成。

相关文档
最新文档