太原理工大学数据库实验
太原理工大学数据库实验
实验报告课程名称:数据库系统原理实验项目:认识DBMS系统、交互式SQL、数据完整性、用户鉴别与数据控制实验地点:实验室210专业班级:软件1334学号:学生姓名:指导教师:宋晓涛2015年5月8日学院名称软件学院专业班级1334 实验成绩学生姓名学号实验日期2015.0课程名称数据管理库系统概论实验题目认识DBMS系统一、实验目的和要求(1)通过对SQL Server 2005/2008数据库管理系统的使用,了解DBMS的工作原理和系统构架。
(2)熟悉SQL Server提供的管理工具(3)熟悉使用SQL Server Management Studio创建数据库对象二、主要仪器设备计算机:HP-6470b windows7 64 位运行环境: SQL Server 2008R2三、实验内容及要求3.1 安装SQL Server1.在安装过程中记录安装的选择,并且对所作的选择进行思考,为何要进行这样的配置,对今后运行数据库管理系统会有什么影响。
2.理解默认实例、命名实例的含义3.了解SQL Server的身份认证模式,初步了解SQL Server的安全性。
4.了解SQL Server提供的服务。
5.检查SQL Server安装是否成功。
3.2 管理和使用SQL Server了解SQL Server如何通过它提供的工具对数据库服务器进行管理和使用的。
1、启动、暂停和停止SQL Server学会运用SQL Server配置管理或SQL Server Management Studio启动和停止SQL Server 的各种服务。
2、了解SQL Server的管理工具初步了解SQL Server的提供了哪些主要管理工具和它们的功能。
3、学会使用SQL Server联机丛书学会SQL Server联机丛书查询SQL命令语法格式、SQL Server数据库的概念、术语等内容。
3.3 熟悉使用SQL Server Management Studio了解SQL Server Management Studio的基本用法,能熟练使用它管理数据库服务器和数据库对象。
太原理工数据实验报告二
实验报告二课程名称:数据结构实验名称:数据结构实验地点:计算机110机房专业班级:计科Z1501 学号:2015001909 学生姓名:刘元瑞指导教师:孟亮2016年12 月23 日2.编写递归算法,计算二叉树中叶子结点的数目。
#include <stdio.h>#include<malloc.h>struct node{char info;struct node *llink, *rlink;};typedef struct node NODE;NODE *create(){ //构造二叉树char x;NODE *p;scanf("%c", &x);printf("%c", x); //打印出已输入的二叉树if(x!='.'){p=(NODE *)malloc(sizeof(NODE));p->info=x;p->llink=create();p->rlink=create();}else p=NULL;return p;}int run(NODE *t){static int count=0;if(t){run(t->llink); //递归遍历左子树,直到叶子处run(t->rlink); //递归遍历右子树,直到叶子处if(t->llink ==NULL && t->rlink == NULL) {count++;}}return count;}main(){ NODE *T;int left_number;printf("请输入一棵树:\n" );T=create();printf("\n");if(!T) printf("This is a empty binary tree.");else{left_number=run(T);printf("\n这棵树共有%d 个子叶. \n", left_number);}printf("\n");}3.编写递归算法,在二叉树中求位于先序序列中第K个位置的结点。
太原理工大学计算机数值方法实验报告
3.实验完成,提交实验结果并写出报告,分析计算结果是否符合问题的要求,找出计算成功的原因或计算失败的教训。
2、实验内容和原理:
(1)Gauss消元法:基本思想为:对于n阶线性方程组,只要各步主元素不为0,经过n-1步消元,就可以得到一个等价的的系数矩阵为上三角形矩阵的方程组,然后再利用回代过程即可求得原方程的解。时间复杂度约为O(n3)。
return 0;
}
(2)二分法:
#include<stdio.h>
#include<math.h>
#define esp 1e-3 //精度
double f(double x) //原函数
{
return (x*x*x+4*x*x-10);
}
double root(double (*fun)(double),double left,double right,double deviation)//用二分法求方程根
return x0; //满足精度要求时返回Xn+1的值
}
int main()
{
double x0=1.5;//初始近似值
double e=pow(10,-3); //精度
printf("初始近似值为:%lf\n",x0);
printf("近似根为:%lf\n",newton(x0,e));
return 0;
{ //其中形参*fun为指向原函数的指针
double x,y;
while(fabs(right-left)>deviation)//当不满足精度要求继续执行循环体
{
数据库实训报告实验总结
一、实验背景随着信息化时代的到来,数据库技术已成为当今社会的重要技术之一。
为了提高我国高校学生的实践能力,培养适应社会发展需求的数据库技术人才,我校组织了数据库实训课程。
通过本次实训,使学生们能够掌握数据库的基本原理、设计方法和应用技术,提高解决实际问题的能力。
二、实验目的1. 理解数据库的基本概念和原理;2. 掌握数据库的设计方法和步骤;3. 学会使用数据库管理系统进行数据库的创建、修改和查询;4. 培养学生分析问题、解决问题的能力;5. 提高学生的团队合作意识和沟通能力。
三、实验内容本次数据库实训主要包括以下内容:1. 数据库基本概念:数据库、数据库系统、数据库管理系统等;2. 关系数据库:关系模型、关系代数、关系运算等;3. SQL语言:数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)等;4. 数据库设计:需求分析、概念结构设计、逻辑结构设计、物理结构设计等;5. 数据库实现:使用数据库管理系统进行数据库的创建、修改和查询;6. 数据库应用:使用数据库技术解决实际问题。
四、实验过程1. 需求分析:根据实训要求,分析数据库所需解决的问题,确定数据库的功能和性能指标;2. 概念结构设计:根据需求分析,设计数据库的概念结构,包括实体、属性和实体间的关系;3. 逻辑结构设计:将概念结构转换为逻辑结构,包括确定表结构、字段类型、约束条件等;4. 物理结构设计:根据逻辑结构设计,确定数据库的物理存储方式,包括数据文件、索引文件等;5. 数据库创建:使用数据库管理系统创建数据库,包括创建表、索引、视图等;6. 数据操作:使用SQL语言进行数据插入、删除、更新和查询等操作;7. 数据库应用:使用数据库技术解决实际问题,如数据备份、恢复、安全等。
五、实验总结1. 理论与实践相结合:本次实训使我深刻认识到,数据库技术不仅包括理论知识,还需要将理论应用于实践,解决实际问题;2. 数据库设计的重要性:数据库设计是数据库应用的基础,一个良好的数据库设计可以提高数据库的性能和可用性;3. SQL语言的应用:SQL语言是数据库操作的核心,熟练掌握SQL语言可以提高数据库操作效率;4. 团队合作与沟通:在实训过程中,与团队成员密切配合,共同完成任务,提高了我的团队合作意识和沟通能力;5. 实验心得:通过本次实训,我对数据库技术有了更深入的了解,掌握了数据库的基本原理、设计方法和应用技术,为今后的学习和工作打下了坚实的基础。
理工大学数据库实验报告
例如,查询计算机科学系的学生以及年龄不及十九岁的学生:
Select *
Form student
Where sdept = ‘cs’
Union
Select *
From student
Where sage < 19
三.视图操作
例如,建立信息系学生的视图:
Create view
IS_student
where
Sname='刘晨');
查询选修了课程名为“信息系统”的学生学号和姓名.
select Sno,Sname
from student where
Sno in
(select Sno from sc
Where
Cno in
(select
Cno from course
where
Cname='信息系统'));
查询所有姓刘的学生的姓名、学号和性别。
select Sname,Sno,Ssex from student where Sname like '刘%';
2.连接查询
例如,查询每个学生及其选修课程的情况:
select student.*,sc.*
from student,sc
where student.Sno=sc.Sno
打开SQL SERVER配置管理器工具,单击“SQL SERVER2005服务”
节点,其中的“SQL SERVER”服务就是我们所说的数据库引擎。与SQL
SERVER 2000一样,可以通过这个配置管理器来启动、停止所安装的服
务,如“SQLSERVER(MSSQLSERVER)”。
3.了解RDBMS系统的体系结构。
太原理工大学软件工程实验报告
2 数据描述
2.1 输入输出:
输入项至少包括:教务处布置的教学计划和工作量计算子系统、学院教师自报的授课计 划和学院制定的有关授课限制条件,输出项至少包括:教务处最终下达全院教师的教学任务 书和学院各个班级下各学期的课程表(可以不含上课地点)。
依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推。 第三个大模块: 3.1 是否满足条件 测试用例:Z≤2 300≤A≤600 C=0
Z>2 300≤A≤600 C=0 Z≤2 A<300 或 A>600 C=0 Z≤2 300≤A≤600 C≠0 Z>2 A<300 或 A>600 C=0 Z≤2 A<300 或 A>600 C≠0 Z>2 300≤A≤600 C≠0 Z>2 A<300 或 A>600 C≠0 3.2 更新信息 测试用例:教工号+课程名称+课程代码+课时+班级类别+班号 依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推。 第四个大模块: 4.1 检查 测试用例:教工号+密码 教工号(是否存在) 密码(是否正确) 4.2 查询 测试用例:教工号+课程名称+课程代码+课时+班级类别+班号+限制条件+计划学时+
加工名:审核 编号:5.1 输入:教务号 输出:有效值 加工逻辑:检查输入的教务号是否有密码对应
加工名:审计 编号:5.2 输入:有效值,课程信息 输出:通过名单 加工逻辑:判断课程是否可以通过,给出通过名单
加工名:更新信息 编号:5.3 输入:通过名单 输出:课程信息、教学任务书 加工逻辑:修改课程信息是否通过并给出教学任务书
太原理工大学Web系统和技术实验报告
课程项目报告书课程名称:Web系统和技术项目题目:_____勤工助学中心系统______ 学院:计算机科学与技术专业班级:计Z1101姓名:莫家威学号:2011001496指导教师:马垚2014年 6 月 5 日三、数据库设计勤工助学系统数据库由3张表构成,分别是岗位表(jobs),勤工新闻表(qnews),用户表(users).(1)E-R图岗位表分E-R图如下所示.勤工新闻表分E-R图如下所示.用户表分E-R图如下所示.汇总后略去各实体属性之后,勤工助学系统的总E-R图如下所示,其中管理员和用户这两个实体属于用户实体.(2)数据表结构本系统采用的数据库系统为MySQL5.5,在数据库中新建一个名为myweb的数据库,该数据库中包含的3个表如下所示.岗位表:勤工新闻表:用户表:四、详细设计(1)前台功能设计勤工助学系统的前台主要为广大普通用户服务.系统前台主页为FirstPage.jsp.其界面如图所示.主要为用户提供用户注册,登录,找回密码,查看新闻,查看岗位等功能.图例:FirstPage.jsp1.登录功能.登录界面主要实现用户的登录操作,采用一个check.jsp来实现,有一些简单的逻辑校验,当用户点击登录按键的时候系统会弹出一个登录框,如下所示.填写完用户密码之后就会跳转到check.jsp,通过对数据库进行交互后登录成功,则跳转至登录成功页面Success.jsp页面.图例:登录界面图例:Check.jsp部分代码2.注册功能注册界面主要实现用户的注册操作,采用MVC的servlet RegisterAction.java来实现注册功能,当用户点击用户注册的时候会进入用户注册页面Register.jsp如下所示.之后会将数据传到RegisterAction.java中,跟数据库进行交互后将数据写入到数据库中,注册不成功会提示重新填写,注册成功则会跳转到注册成功页面.图例:Register.jsp图例:RegisterAction.jsp部分代码3.查看勤工新闻用户通过快速通道,bannal面板和主页的动态现实面板均可以查看勤工新闻,动态面板通过一个JS代码嵌入到div中实现,当鼠标移动到相应分类的时候会动态的从数据库中提取出相应的分类数据到页面上显示出来,如下图所示.用户点击相应分类之后就会进入具体的查看页面qnews.jsp,页面现实每条新闻的简略信息,用户点击每条信息就会进入具体显示页面,根据传参的不同现实不同的新闻,用户也可通过左边的分类切换不同的分类新闻.当新闻数过多时还可自动进行分页显示.图例:动态显示1. 图例:动态显示2.图例:分类现实新闻图例:详细新闻显示图例:详细新闻现实newsdetails.jsp部分代码4.查看岗位查看岗位部分与参看新闻部分相同,在部分现实页面加入显示已招聘人数和招聘人数,在详细显示中加入了报名模块和显示已报名同学部分,通过jobsdetails.jsp实现.图例:报名模块图例:详细岗位查看图例:jobsdetails.jsp部分代码5.岗位报名岗位报名由一个servlet:Stusignup.java和若干jsp页面组合实现.当用户点击岗位详细显示页面下的我要报名按钮的时候,即可进入岗位报名界面,首先进入的是用工协议界面,由Signup.jsp实现,用户点击不同意本协议则跳转回原岗位详细显示页面,点击同意本协议则讲用户信息保存至一个用户session,并跳转至Stusignup.java,在这个servlet完成用户信息的读取和对岗位当前相关状态的修改,在对数据库进行交互之后弹出”报名成功”的提示框,并跳转至原岗位详细显示页面,并且页面会动态更新当前用户的报名信息,若岗位招聘人数已满则会显示报名关闭,并返回上一级.图例:用工协议部分图例:报名成功增加一个学生信息图例:Stusignup.java部分代码5.用户个人操作用户在个人信息显示模块上点击”当前状态”即可查看当前状态,点击注销则会退出登录并退回到主页,点击修改密码则会进入修改密码部分,其他部分同上.图例:个人操作模块图例:具体实现代码(2)后台管理功能后台管理功能主要针对管理员,管理员登录成功后可以进行新闻发布,新闻管理,岗位发布,岗位管理,用户管理等功能.如下所示,重点说明发布部分.1.管理员登录管理员通关管理员登录通道之后可以进入管理界面,在这里可以选择相应的功能进行操作,也可以点击返回首页退出管理界面.图例:教师登录通道图例:管理员管理页面2.岗位,新闻发布岗位发布由一个servlet:AddjobsAction.java和若干jsp页面组合实现,新闻发布由一个servlet:AddnewsAction.java和若干jsp页面组合实现.当管理员点击发布功能是,会进入一个填写发布内容的jsp页面,若填写不规范则提示错误返回提示修改,按规范填写之后系统将数据传递至功能对应的javabean,并跳转至对应的servlet后,servlet取出javabean中保存的数据与数据库进行交互后将信息写入至数据库,并将返回的确认信息写如用户session,跳转至回执页面confirm.jsp,管理员可在此页面看到刚才发布的信息.图例:勤工新闻与岗位发布显示图例:confirm.jsp回执页面图例:AddnewsAction.java部分代码图例:AddjobsAction.java部分代码(3)其他代码包括数据库连接配置以及其他页面实现文件.图例:其他数据代码文件五、心得总结(1)项目缺点未能实现新闻,与岗位的删除功能,用户名之前被注册的还能再次注册,会更新掉原有的用户信息,新闻显示界面不够美观,底部的版权模块未部署到每一个页面上.(2)改进方案后续增加完善管理员界面的”内容管理”模块,并加入新闻,与岗位的删除功能,在用户注册是数据写入数据库之前应先与数据库进行交互判断用户名是否已经被注册,并提示用户进行对应修改.系统后续将改为Struts2框架,在此基础上对所有页面进行显示以及界面的优化,并部署版权模块.(3)遇到的困难及解决途径1.快速通道无法固定在页面的一个位置,在页面拖动的时候消失,后采用了CSS的方法来实现即可,会固定在页面的右下角.2.首页的面试通知过多后显示不美观,采用了滚动显示的方法,在原DIV上新建一个DIV,将数据写在新DIV上,并加入一段JS代码,可使页面进行滚动,代码如下所示.图例:页面滚动代码。
数据库实验报告(全)
实验报告学院:计算机与信息学院专业:年级:姓名:学号:实验室号:计算机号:实验日期:年月日指导教师签字:成绩:报告退发(订正、重做)实验一数据库的定义实验1、实验目的熟练掌握和使用SQL Server企业管理器创建数据库、表、索引和修改表结构,并学会使用SQL Server 查询分析器接收Transact-SQL语句和进行结果分析。
2、实验仪器(环境):计算机及SQL Server 20003、实验操作方法:依照实验指导书的内容进行实验。
4、报告内容:(1)通过企业管理器,建立图书借阅数据库;(2)在建好的图书借阅数据库中建立图书、读者和借阅3个表,其结构为:图书(书号,类别,出版社,作者,书名,定价,作者)读者(编号,姓名,单位,性别,电话)借阅(书号,读者编号,借阅日期)要求为属性选择合适的数据类型,定义每个表的主码,是否允许空值和默认值等列级数据约束。
;(3)指出图书读者数据库各表的主码、外码和数据约束;(4)实验操作步骤和实验结果用截图显示出来。
实验报告学院:计算机与信息学院专业:年级:姓名:学号:实验室号:计算机号:实验日期:年月日指导教师签字:成绩:报告退发(订正、重做)实验二数据库的建立和维护实验1、实验目的熟练掌握使用SQL、Transact-SQL和SQL Server企业管理器向数据库输入数据、修改数据和删除数据的操作。
2、实验仪器(环境):计算机及SQL Server 20003、实验操作方法:依照实验指导书的内容进行实验。
4、报告内容:(1)以一条记录为例,写出用SQL表示的向图书表中插入、修改和删除数据的语句。
(2)用SQL实现在读者表中增加“借书册数”字段,统计借书者在1998年~1999年间所借书的册数,并将结果送入读者表中的借书册数字段的操作语句。
(3)写出操作的过程和操作结果(数据库中各表的数据)并用截图表示出来。
实验报告学院:计算机与信息学院专业:年级:姓名:学号:实验室号:计算机号:实验日期:年月日指导教师签字:成绩:报告退发(订正、重做)实验三数据库的简单查询和连接查询实验1、实验目的掌握SQL Server查询分析器的使用方法,加深对SQL和Transact-SQL语言的查询语句的理解。
太原理工大学Web系统和技术实验报告
三、数据库设计
勤工助学系统数据库由3张表构成,分别是岗位表(jobs),勤工
图例:FirstPage.jsp
1.登录功能.
登录界面主要实现用户的登录操作,采用一个check.jsp来实现,有一些简单的逻辑校验,当用户点击登录按键的时候系统会弹出一个登录框,如下所示.填写完用户密码之后就会跳转到check.jsp,通过对数据库进行交互后登录成功,则跳转至登录成功页面Success.jsp页面.
图例:Register.jsp
图例:RegisterAction.jsp部分代码
图例:动态显示1. 图例:动态显示2.
图例:分类现实新闻
图例:详细岗位查看
图例:具体实现代码
图例:教师登录通道
图例:管理员管理页面2.岗位,新闻发布
图例:勤工新闻与岗位发布显示
图例:AddnewsAction.java部分代码图例:AddjobsAction.java部分代码。
太原理工大学-oracle-大型数据库实验报告
太原理工大学-oracle-大型数据库实验报告本科实验报告课程名称:大型数据库系统实验项目:创建数据库和表实验地点:多学科楼4506 专业班级:软件工程0901 学号:200 学生姓名:指导教师:2012年 4 月17 日一、实验目的和要求1.了解数据库的结构以及一些基本概念。
2.了解表的结构特点。
3.了解Oracle 11g的基本数据类型。
4.学会使用DBCA创建数据库。
5.学会使用界面方式创建表。
6.学会使用SQL语句手工创建数据库。
7.学会使用SQL语句创建表。
二、实验内容和原理1.能够创建数据库的用户必须是系统管理员,或是被授权使用CREATEDATABASE语句的用户。
2.创建数据库必须要确定数据库名、所有者(即创建数据库的用户)、数据库大小、SGA分配和存储数据库的文件。
3.确定数据库包含哪些表以及所包含的各表的结构,还要了解Oracle11g的常用数据类型,以创建数据库的表。
4.创建企业管理的员工管理数据库YGGL,包含Employees(员工自然信息)表、Departments(部门信息)表和Salary(员工薪水情况)表。
各表的结构如下所示。
列名数据类型长度是否允许为空值说明EmployeeID Char 6 ×员工编号,主键Name Char 10 ×姓名Birthday Date ×出生日期Sex Number 1 ×性别Address Char 20 √地址Zip Char 6 √邮编PhoneNumber Char 12 √电话号码Department Char 3 ×员工部门号、外键列名数据类型长度是否允许为空值说明DepartmentID Char 3 ×部门编号、主键DepartmentName Char 20 ×部门号Note Varchar2 100 √备注列名数据类型长度是否允许为空值说明EmplyeeID Char 6 ×员工编号、主键InCome Number 8,2 ×收入OutCome Number 8,2 ×支出三、主要仪器设备Windows XP/7、oracle 10g/11g四、操作方法与实验步骤1.利用DBCA创建数据库1)数据库名称为YGGL,它的全局数据库名称为YGGL。
太原理工大学软件开发环境与工具实验报告
1.编写一条SELECT语句,从表Student中查询满足条件:性别为女并且班级编号为030001的记录。
2.编写一条SELECT语句,从表Course中查询满足条件:课程名称为‘计算机组成原理’的记录,每条记录只显示’课程编号’、’课程名称’、’课程介绍’3列。
3.编写一条SELECT语句,从表Student中查询满足条件:姓名为’王晶’、’李平’、‘赵飞’、’卫清’的学生的记录,并将结果存入自动生成的表’Student3’中。
实验名称
实验一CASE工具PowerDesigner的使用
实验目的和要求
目的:
安装PowerDesigner,并了解、掌握PowerDesigner的主要功能和使用方法。
要求:
1.安装PowerDesigner。
2.了解CDM的主要设计元素和设计过程。
3.熟悉模型转换工具的使用。
4.熟悉PDM的主要设计元素和设计过程。
<a href="#">视频</a>
<a href="#">地图</a>
</td>
</tr>
<tr>
<td align="center">
<input type="text" style="width:380px" />
<input type="but生宿舍管理的PDM如下图:
3、生成的SQL语言部分截图:
遇到的问题和解决方法
太原理工大学数据库实验报告
本科实验报告课程名称:数据库系统概论实验项目:交互式SQL、数据完整性、用户鉴别与数据控制实验地点:致远楼B503专业班级:软件1229班学号:29学生姓名:***指导教师:***2014年3 月18 日一、实验目的和要求熟悉通过SQL 对数据库进行操作。
二、实验内容和原理1.在RDBMS 中建立一个学生-课程数据库,进行实验所要求的各种操作,所有的SQL 操作均在此建立的新库里进行。
2.根据以下要求认真进行实验,记录所有的实验用例及执行结果。
数据定义:基本表的创建、修改及删除;索引的创建和删除。
数据操作:完成各类查询操作(单表查询,连接查询,嵌套查询,集合查询);完成各类更新操作(插入数据,修改数据,删除数据)。
视图的操作:视图的定义(创建和删除),查询,更新(注意更新的条件)。
三、主要仪器设备操作系统:Windows 7。
数据库管理系统:SQL Server2008。
四、操作方法与实验步骤实验数据记录实验结果(一)数据定义:一.基本表的操作1.建立基本表1)创建学生表Student,由以下属性组成:学号Sno(char 型,长度为9,主码),姓名Sname(char 型,长度为20,唯一),性别Ssex(char 型,长度为2),年龄(smallint),所在系(char 型,长度为20)。
create table Student(Sno char(9) primary key,Sname char(20) unique,Ssex char(2),Sage smallint,Sdept char(20));2)创建课程表Course,由以下属性组成:课程号Cno(char 型,主码,长度为4),课程名Cname(char 型,长度为40),先行课Cpno(char型,长度为4,外码),学分Ccredit(smallint)。
create table Course(Cno char(4) primary key,Cname char(40),Cpno char(4),Ccredit smallint);若设置Cpno 外码,插入数据时会提示违反外码约束。
太原理工大学 数据库系统概论 实验报告 数据的完整性
本科实验报告课程名称:数据库系统原理B 实验项目:数据的完整性实验地点:专业班级:学号:学生姓名:指导教师:201 年月日一目的与要求(1)了解SQL Serer数据库系统中数据完整性控制的基本方法(2)熟练掌握常用CREATE 或ALTER 在创建或修改表时设置约束(3)了解触发器的机制和使用(4)验证数据库系统数据完整性控制二实验设备与环境使用SQL Server数据库管理系统提供的SSMS和查询编辑器三实验内容、实验记录及实验结果与分析结合ST数据库中的各个表,设置相关的约束,要求包括主键约束、外键约束、唯一约束、检查约束、非空约束等,掌握各约束的定义方法。
设置一个触发器,实现学生选课总学分的完整性控制,了解触发器的工作机制。
设计一些示例数据,验证完整性检查机制。
要求包括如下方面的内容:1.创建基本表及约束Student表Course表SC表如下图所示表创建成功:2.插入数据(1)插入学生信息到Student表(2).插入课程信息到Course表(3)插入到SC表(4)检查插入表中的数据二、检查完整性约束1.检查主键约束(1)INSERT INTO Student VALUES('','李斌','男',20,'CS','1001',0) INSERT INTO Student VALUES('','李斌','男',20,'CS','1001',0)UPDATE Student SET Sno='' WHERE Sname = '张立'无法正确运行因为:违反了PRIMARY KEY 约束'PK__Student__CA1FE4647F60ED59'。
不能在对象'dbo.Student' 中插入重复键。
太原理工数据库_实验报告
本科实验报告课程名称:数据库系统原理B实验项目:交互式SQL、数据完整性实验地点:专业班级:学号:学生姓名:指导教师:2015年 6 月 24 日检查数据是否被修改:检查数据是否删除:单表查询:查询学生基本信息,结果集属性名使用查询信息系且年龄大于23岁同学的学号汉字无结果查询年龄是17、18、20、23岁同学的查询年龄不在21~24岁之间的学生的姓名、学号、姓名、年龄和所在系系别和年龄分组统计:统计每个同学的学号、选课数、平均成绩统计每个班的每门课的选课人数、平均成绩连接查询:查询选修了2号课程的同学的学号和姓名查询各门课程的课程号、课程名称以及选课学生的学号查询选修了数据库系统原理课程的同学的学号六、实验结果与分析StudentCourse Sc比较使用视图查询和直接从基表查询的优点1.视图可以简化用户的操作视图机制使用户可以将注意力集中在所关心的数据上,而从基本表直接得来则显得复杂,定义了视图则可以简化查询操作。
2.视图使用户能以多种角度看待同一数据视图可以让用户从不同的方式看待同一数据,适当利用视图可以比基本表更清晰地表达。
3.视图对重构数据库提供了一定程度的逻辑独立性逻辑结构改变,不影响程序使用。
4.视图能够对机密数据提供安全保护视图可以让特定的用户查询特定的内容,把用户限制在数据不同的子集,保证安全性。
七、讨论、心得这个实验是对数据库基本操作的熟悉,花费了大量的时间去进行测试,有时候是出错不是因为代码错误,而是因为插入数据是不能一一对应,或是在连接时出现问题,与表的定义也有一定的关系。
总之编写的时候遇到不少问题,通过解决问题来熟悉了操作,更是要耐心的解决问题,有时候出错的问题非常简单,只要认真的检查一下代码就能发现,希望自己可以在编写代码时更加认真。
实验三:数据完整性一、实验目的(1)了解 SQL Serer数据库系统中数据完整性控制的基本方法(2)熟练掌握常用 CREATE 或 ALTER 在创建或修改表时设置约束(3)了解触发器的机制和使用(4)验证数据库系统数据完整性控制二、实验内容和要求结合 ST数据库中的各个表,设置相关的约束,要求包括主键约束、外键约束、唯一约束、检查约束、非空约束等,掌握各约束的定义方法。
太原理工大学数据库实验报告
Sumc int check(sumc=0), --用户自定义约束,初值为0
Sdept char(2) not null) --非空约束
Create table sc
(sno char(6),
Cno char(3) not null, --非空约束
例如,像student表加一个入学时间列:
alter table Student add S_entrance datetime
alter table Student alter column Sage int
alter table Course add unique(Cname)
3.删除基本表
例如,删除已经建立的学生表:
Where sno = ‘200215129’
实验三数据库完整性
一、实验目的
(1)了解SQL Serer数据库系统中数据完整性控制的基本方法
(2)了解使用SSMS设置约束
(3)熟练掌握常用CREATE或ALTER在创建或修改表时设置约束
(4)了解触发器的机制和使用
(5)验证数据库系统数据完整性控制
二、实验平台
打开SQL SERVER配置管理器工具,单击“SQL SERVER2005服务”
节点,其中的“SQL SERVER”服务就是我们所说的数据库引擎。与SQL
SERVER 2000一样,可以通过这个配置管理器来启动、停止所安装的服
务,如“SQLSERVER(MSSQLSERVER)”。
3.了解RDBMS系统的体系结构。
where
Sname='刘晨');
查询选修了课程名为“信息系统”的学生学号和姓名.
太原理工数据结构实验答案
实验一线性表一.目的与要求本次实习的主要目的是为了使学生熟练掌握线性表的基本操作在顺序存储结构和链式存储结构上的实现,提高分析和解决问题的能力。
要求仔细阅读并理解下列例题,上机通过,并观察其结果,然后独立完成后面的实习题。
二.例题问题描述:用链表形式存储一个字符串,插入、删除某个字符,最后按正序、逆序两种方式输出字符串。
输入:初始字符串,插入位置,插入字符,删除字符。
输出:已建立链表(字符串),插入字符后链表,删除字符后链表,逆转后链表。
存储结构:采用链式存储结构算法的基本思想:建立链表当读入字符不是结束符时,给结点分配存储空间,写数据域,将新结点插到表尾;插入字符:根据读入的字符在链表中找插入位置,将新结点插入到该位置之前;删除字符:根据读入的删除字符在链表中找到被删结点后,将其从链表中删除;链表逆转:从链表的第一个结点开始对所有结点处理,将每个结点的前驱变为它的后继;打印链表:从链表的第一个结点开始,依次打印各[运行情况]Input a linktable(a string):abcde↙Build link is :abcdePlease input a char you want to insert after:b↙Please input a char you want to insert:c↙After p insert y,link is:abccdePlease input a char you want to delete:e↙after delete p,link is:abccdOpsite result is :dccba如图显示:实习题:问题描述:设顺序表A中的数据元素递增有序,试写一程序,将x插入到顺序表的适当位置上,使该表仍然有序。
输入:插入前的顺序表,插入的数,插入后的顺序表输出:插入前的顺序表,插入的数,插入后的顺序表存储结构:顺序表存储数据算法基本思想:其实这个题在学C语言时就已经写过了,这里采用顺序表来存储数据。
太原理工大学数据库实验报告概要
本科实验报告课程名称:数据库系统概论实验项目:交互式SQL、数据完整性、用户鉴别与数据控制实验地点:致远楼B503专业班级:软件1229班学号:2012005829学生姓名:田亚鹏指导教师:李雪梅2014年3 月18 日一、实验目的和要求熟悉通过SQL 对数据库进行操作。
二、实验内容和原理1.在RDBMS 中建立一个学生-课程数据库,进行实验所要求的各种操作,所有的SQL 操作均在此建立的新库里进行。
2.根据以下要求认真进行实验,记录所有的实验用例及执行结果。
数据定义:基本表的创建、修改及删除;索引的创建和删除。
数据操作:完成各类查询操作(单表查询,连接查询,嵌套查询,集合查询);完成各类更新操作(插入数据,修改数据,删除数据)。
视图的操作:视图的定义(创建和删除),查询,更新(注意更新的条件)。
三、主要仪器设备操作系统:Windows 7。
数据库管理系统:SQL Server2008。
四、操作方法与实验步骤实验数据记录实验结果(一)数据定义:一.基本表的操作1.建立基本表1)创建学生表Student,由以下属性组成:学号Sno(char 型,长度为9,主码),姓名Sname(char 型,长度为20,唯一),性别Ssex(char 型,长度为2),年龄(smallint),所在系(char 型,长度为20)。
create table Student(Sno char(9) primary key,Sname char(20) unique,Ssex char(2),Sage smallint,Sdept char(20));2)创建课程表Course,由以下属性组成:课程号Cno(char 型,主码,长度为4),课程名Cname(char 型,长度为40),先行课Cpno(char型,长度为4,外码),学分Ccredit(smallint)。
create table Course(Cno char(4) primary key,Cname char(40),Cpno char(4),Ccredit smallint);若设置Cpno 外码,插入数据时会提示违反外码约束。
太原理工大学WEB系统与技术JSP实验
《Web系统与技术》实验指导书太原理工大学计算机科学与技术学院软件学院二〇一五年十二月实验1 JSP常用内置对象一、实验目的1.掌握JSP常用内置对象2.掌握JSP数据库编程技术。
二、实验要求1.独立完成实验2.书写实验报告书三、实验内容1、做一下application对象应用举例。
(P158网页计数器)2、做一下P165 5.8,5.93、做一下P152下面的session对象应用举例。
实验2 使用JDBC连接数据库一、实验目的1.掌握JSP与数据库的连接技术——JDBC2.掌握JSP数据库编程技术。
二、实验要求1.独立完成实验2.书写实验报告书三、实验内容利用数据库建立一个职工数据表,然后通过JDBC编写一系列基于Web方式的JSP程序,来对职工数据表的数据库进行添加、查询等功能,要求在网页上显示出来。
四、实验步骤1.建立数据库使用MySQL建立名为employDB的数据库,在库中建立employinfo表,字段包括:对数据表employinfo,输入5条记录,如课本P216习题7.7所示。
2. 加载MySQL驱动jar包右击项目文件夹,从快捷菜单中选properties,打开对话框,如下图。
从打开的对话框中选左侧的Java Build Path,然后单击右侧的Libraries标签,再单击Add External JARs按钮,从打开的对话框中选MySQL的驱动jar包:mysql-connector-java-5.1.18-bin.jar,再单击“打开”按钮,把它添加进来,如下图所示。
3、编写JSP程序,共有3个程序。
程序1:课本P216习题7.8。
程序2:课本P216习题7.10。
(把课本习题7.10改为:编写JSP程序读取习题7.8的职工表,在该表最后插入一条新记录(由自己设计),并显示插入后的表的内容。
程序3:课本P216习题7.11。
4.运行所编写的应用程序启动MyEclipse,建立项目exp1,将编写的程序放入该项目的WebRoot下。
数据库课程设计
课程设计课程名称:数据库技术与管理设计名称:学生选课管理系统专业班级:工程管管1201 学号:********** 学生姓名:**指导教师:**2014年7 月 5 日太原理工大学课程设计任务书序进行装订上交(大张图纸不必装订)2.可根据实际内容需要续表,但应保持原格式不变。
指导教师签名:日期:选课管理数据库设计报告书一、需求分析(一)建设数据库的目的:该数据库的服务对象是学校的教务处,目标是为了方便教务处对学生选课情况进行统一管理,方便学生对选修成绩的查询,方便教师对课程成绩的登入。
因此数据库要建立三个登陆用户:学生用户,教务处用户,教师用户。
(二)开展学生选课管理数据库的可行性分析:(1)技术可行性:设计方法采用基于E-R图模型的数据库设计方法,用E-R图来设计概念模型,SQL Sever来实现概念模型对逻辑模型的实现,通过对联系以及实体转化为相应的关系表,这是数据库三级模式结构中模式的实现,建立学生视图,教师视图以及教务处视图来实现各个用户的需求,这是数据库三级模式结构中外模式的实现。
数据库内模式的实现比较简单,内模式及吴莉存储模式,这是一个小型的数据库系统,因此不需要过多的对吴莉存储模式做过多的要求,一般的个人电脑即可以实现该小型数据库的存储要求。
(2)经济可行性:此数据库的开放提高的教务处对学生选课的管理效率,节约了许多资源,提高了统计人员的效率。
(三)数据和处理分析:(1)存储的数据包括:学生(学号,姓名,性别)课程(课程编号,课程名,代课教师,学分)选修(课程号,成绩)(2)数据的处理:确定数据的物理结构和存储方式二、概念结构设计概念模型用于对信息世界的建模,是实现现实世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员月用户之间进行交流的语言,因此概念模型一方面应该具有较强的语言表达能力,能够方便、直接地表达应用张的各种语义知识,另一方面它还应该简单,清晰、易于用户理解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科实验报告课程名称:数据库系统原理实验项目:交互式SQL、数据完整性、数据库安全性实验地点:软件楼211专业班级:软件1316 学号:2013005793 学生姓名:戴超指导教师:邓红霞2015年06月5日实验二:交互式SQL一、实验目的:(1)掌握数据库对象的操作过程,包括创建、修改、删除(2)熟悉表的各种操作,包括插入、修改、删除、查询(3)熟练掌握常用SQL语句的基本语法二、实验平台:操作系统:Windows7使用SQL Server 提供的Microsoft SQL Server Management Studio 工具,交互式使用SQL 语句。
三、实验内容及要求:(一)建立一个数据库和相关的表、索引、视图等数据库对象,练习对表、索引和视图的各种操作。
(二)要求认真进行实验,记录各实验用例及执行结果。
(三)深入了解各个操作的功能。
实验要求包括如下方面的内容:1.数据定义(1)基本表的创建、修改及删除(2)索引的创建(3)视图的创建2.数据操作(1)插入数据(2)修改数据(3)删除数据3.数据查询操作:完成各类查(1)单表查询(2)分组查询(3)连接查询(4)嵌套查询(5)集合查询4. 数据操作:(1)创建视图(2)视图查询四、实验步骤及操作:1、数据定义:(1)基本表的创建、修改及删除CREATETABLE Student(Sno CHAR(8)PRIMARYKEY,Sname CHAR(8)UNIQUE,Ssex CHAR(2)NOTNULL,Sage INT,Sdept CHAR(20),);CREATETABLE Course(Cno CHAR(4)PRIMARYKEY,Cname CHAR(40)NOTNULL,Cpon CHAR(4),Ccredit SMALLINT);CREATETABLE SC(Sno CHAR(8)FOREIGNKEY(Sno)REFERENCES Student(Sno), Cno CHAR(4),Grade SMALLINT,);CREATETABLE Employee(编号CHAR(8)PRIMARYKEY,姓名VARCHAR(8)notnull,部门CHAR(40),工资numeric(8,2),生日datetime,昵称char(20),);SELECT*FROM StudentSELECT*FROM CourseSELECT*FROM SCSELECT*FROM EmployeeALTERTABLE Student ADD Sclass char(4)ALTERTABLE Student ALTERCOLUMN Sage smallint ALTERTABLE Course ADDUNIQUE(Cname)DROPTABLE Employee(2)索引的创建CREATEINDEX iCname On Course(Cname)CREATEUNIQUEINDEX iSname On Student(Sname)CREATECLUSTEREDINDEX iSnoCno On SC(Sno,Cno desc)CREATEUNIQUEINDEX uiCname On Course(Cname)(3)视图的创建CREATEVIEW IS_StudentASSELECT Sno,Sname,Sage FROM StudentWHERE Sdept='IS'2、数据更新操作(1)插入操作INSERTINTO Student VALUES('20100001','李勇','男',20,'CS','1001')INSERTINTO Student VALUES('20100002','刘晨','女',19,'CS','1001')INSERTINTO Student(Sno,Sname,Ssex,Sage,Sdept,Sclass)VALUES('20100021','王敏','女',18,'MA','1002')INSERTINTO Student(Sno,Sname,Ssex,Sage,Sdept,Sclass)VALUES('20100031','张立','男',19,'IS','1003')INSERTINTO Student(Sno,Sname,Ssex,Sclass)VALUES('20100003','刘洋','女','1004') INSERTINTO Student(Sno,Sname,Ssex,Sage,Sdept,Sclass)VALUES('20100010','赵斌','男',19,'IS','1005')INSERTINTO Student VALUES('20100022','张明明','男',19,'CS','1002')INSERTINTO Course(Cno,Cname,Cpon,Ccredit)VALUES('1','数据库系统原理','5',4) INSERTINTO Course(Cno,Cname,Cpon,Ccredit)VALUES('2','高等数学',null,2) INSERTINTO Course(Cno,Cname,Cpon,Ccredit)VALUES('3','管理信息系统','1',4)INSERTINTO SC VALUES('20100001','1',92)INSERTINTO SC VALUES('20100002','2',80)INSERTINTO SC(Sno,Cno)VALUES('20100003','1')INSERTINTO SC(Sno,Cno,Grade)VALUES('20100010','3',null)(CREATETABLE cs_Student学号char(8),姓名char(8),年龄smallint);INSERTINTO cs_StudentSELECT Sno,Sname,SageFROM Student Where Sdept='CS';(2)删除操作DELETEFROM Student WHERE Sno='20100022'SELECT*INTO tmpSC FROM SCDELETEFROM tmpSC where Sno='20100001'and Cno='1'DELETEFROM Student WHERE Sno='20100002'DELETEFROM tmpSC WHERE'CS'=(SELECT Sdept FROM Student WHERE Student.Sno=tmpSC.Sno); DELETEFROM tmpSC(3)修改操作UPDATE Student SET Sage=22 WHERE Sno='20100001';UPDATE Student SET Sage=Sage+1UPDATE SC SET Grade=85WHERE Sno='20100010'AND Cno='3'UPDATE SC SET Grade=Grade+5WHERE'CS'=(select Sdept from student where Student.Sno=SC.Sno); UPDATE Student SET Sno='20100025'where Sno='20100021'SELECT*FROM StudentSELECT*FROM SC3、数据查询操作(1)单表查询SELECT*FROM Student;SELECT Sno,Sname,Sage FROM Student;SELECT Sname,'Year of Birth:',2004-Sage,LOWER(Sdept)FROM Student;SELECT Sname,'Year of Birth:'as BIRTH,2000-SageBIRTHDAY,DEPARMENT=LOWER(Sdept) FROM Student;SELECT Sno FROM SC;SELECTDISTINCT Sno FROM SC;SELECT Sname FROM Student WHERE Sdept='CS';SELECT Sname,Sdept,Sage FROM Student WHERE Sage BETWEEN 20 AND 23 SELECT Sname,Ssex FROM Student WHERE Sdept IN('IS','MA','CS');SELECT Sname,Sno,Ssex FROM Student WHERE Sname LIKE'刘%'SELECT Sno,Cno FROM sc WHERE Grade isnull;SELECT Sname FROM Student WHERE Sdept='CS'and Sage<20;SELECT*FROM Student ORDERBY Sdept,Sage DESC;(2)分组查询SELECT COUNT(*)FROM Student;SELECT COUNT(DISTINCT sno)FROM SCSELECT MAX(GRADE)FROM SCSELECT SUM(GRADE)总分,AVG(grade)均分,MAX(grade)FROM SC WHERE Cno='2'SELECT Cno课程号,COUNT(*)人数,AVG(grade)均分,MAX(grade)最高分FROM SC GROUPBY CnoSELECT Cno课程号,COUNT(*)人数,AVG(grade)均分,MAX(grade)最高分FROM SC GROUPBY Cnohaving AVG(grade)>90(3)连接查询SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,GradeFROM Student,SCWHERE Student.Sno=SC.SnoSELECT*FROM COURSE FIRST,COURSE SECONDWHEREFIRST.Cpon=o;o,SECOND.CpnoFROM COURSE FIRST,COURSE SECONDWHEREFIRST.Cpno=o;SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,GradeFROM Student JOIN SC ON (Student.Sno=SC.Sno)SELECT Student.Sno,Sname,Sage,Cno,GradeFROM Student LEFTOUTERJOIN SC ON (Student.sno=SC.Sno) SELECT Student.Sno,SnameFROM Student join SC ON(Student.Sno=SC。