太原理工大学数据库实验
太原理工大学软件工程《数据结构实验报告4-查找》

本科实验报告课程名称:数据结构B实验项目:查找实验地点:行勉楼C214专业班级:软件XXX班学号:2014XXXX 学生姓名:xxxxx指导教师:牛之贤张润梁2016年 1 月 1 日void insertBST(BiTree *bt, BiTree s) {if (*bt == NULL) *bt = s;else if (s->data.key<(*bt)->data.key) insertBST(&((*bt)->lchild), s);else if (s->data.key>(*bt)->data.key) insertBST(&((*bt)->rchild), s); }main() {char ch;KeyType key;BiTree bt, s;int i = 0;printf("请输入元素:\n");scanf("%d", &key);bt = NULL;while (key != -1) {s = (BiTree)malloc(sizeof(BiTNode));(s->data).key = key; s->lchild = s->rchild = NULL;insertBST(&bt, s);scanf("%d", &key);}do {printf("输入你想要查找的元素:");scanf("%d", &key);s = searchBST(bt, key);if (s != NULL) printf("成功! 这个等价元素是 %d.\n", s->data.key);else printf("没有找到!\n");printf("是否继续查找?(y/n):");scanf("%c", &ch);ch = getchar();} while (ch == 'y' || ch == 'Y');getchar();}4.2#include<stdio.h>int b_search(int *p, int l, int r, int key);int main() {int a[10] = { 1,2,3,4,5,6,7,8,9,10 };int i, p, k;for (i = 0; i < 10; i++) {printf("a[%d]=%d\n", i, a[i]);}for (i = 0; i<2; i++) {printf("请输入想要查找的数字:");scanf("%d", &k);p = b_search(a, 0, 6, k);if (p >= 0)printf("找到: a[%d]=%d\n", p, k);elseprintf("没有找到此元素: %d\n", k);}getchar();getchar();return 0;}int b_search(int *p, int l, int r, int key) { int f, m;m = (l + r) / 2;if (l>r)f = -1;else if (p[m] == key)f = m;else if (p[m]>key)f = b_search(p, l, r - 1, key);elsef = b_search(p, l + 1, r, key);return f;}五、实验数据记录和处理六、实验结果与分析。
太原理工大学数据库实验

实验报告课程名称:数据库系统原理实验项目:认识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个位置的结点。
太原理工大学Java实验报告

实验由本人当时亲自完成仅供参考,希望可以帮助大家本科实验报告课程名称: Java程序设计B 实验项目: Java语言基础编程和面向对象设计实验地点:逸夫楼501 专业班级: 0000 学号: 00000000学生:氣宇軒昂指导教师:2012年 13月 13日3.9程序代码import java.util.Scanner;public class ValueFore{int n;ValueFore(){this.n=calculateN();}double stackBy(int n){int i;double s=1;for(i=1;i<=n;i++){s*=i;}return s;}double overlap(){int i;double sum=1;for(i=1;i<=this.n;i++){sum+=1/stackBy(i);}return sum;}int calculateN(){Scanner in=new Scanner(System.in);int i=1;double a=in.nextDouble();while(1/stackBy(i)>a){i++;}return i;}public static void main(String[] args){Scanner in=new Scanner(System.in);boolean b=true;while(b){System.out.println("请选择菜单:");System.out.println(" 1.计算不同精度的e值");System.out.println(" 2.退出");switch(in.nextByte()){case 1:{System.out.println("请输入精度(例如:1e-3,表示0.001):");ValueFore a=new ValueFore();System.out.println("e="+a.overlap());};break;case 2:b=false;break;}}}}运行结果说明:没有按书中的要求去求,但是这个程序功能更强,运用了菜单的方式,使用程序的人能求出不同精度的e值。
数据库实训报告实验总结

一、实验背景随着信息化时代的到来,数据库技术已成为当今社会的重要技术之一。
为了提高我国高校学生的实践能力,培养适应社会发展需求的数据库技术人才,我校组织了数据库实训课程。
通过本次实训,使学生们能够掌握数据库的基本原理、设计方法和应用技术,提高解决实际问题的能力。
二、实验目的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统计数据个数程序

太原理工大学现代科技学院实验报告实验名称 统计数据个数程序 同组人 专业班级 测控 13 - 1 学号 2013101561 姓名 王文俊 成绩一、实验目的 掌握多个十六进制数转换成多位十进制数ASC Ⅱ码的方法。
二、实验内容 统计内存数组中大于0和小于0的元素个数,并将统计结果分别存放在LRESULT 和HRESULT 变量中,并显示个数。
三、程序流程图……………………………………装………………………………………订…………………………………………线………………………………………太原理工大学现代科技学院实验报告四、实验程序 DATA SEGMENT ARY DB 1,3,-1,2,6,-9,-5,7,8,1,3,8,-6,8,-9,-7,2,4,-3,-3 DB -4,7,7,8,3,1,3,6,8,5,5,6,4,5,7,-4,2,4,5,-7,5,4DB 2,5,7,8,8,8,7,6,-5,4,3,2,1,-1,2,2,3,-4,5,6,7N=$-ARY LRESULT DW 0 HRESULT DW 0 TJJG DB 'STATISTICS RESULT:',0DH,0AH,'$'DATA ENDS CODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV ES,AX SHOW MACRO BPUSH DXPUSH AX MOV DX,B MOV AH,02H INT 21H POP AX POP DXENDMXOR CX,CX MOV CX,NLEA SI,ARY LOP: MOV AL,[SI]…………………………………装……………………………………订………………………………………线……………………………………………太原理工大学现代科技学院实验报告CMP AL,0 JNS PLUSINC LRESULTJMP CONT PLUS: INC HRESULT CONT: INC SILOOP LOP LEA DX,TJJG MOV AH,09H INT 21H SHOW '+' MOV AX,HRESULT CALL DISPL SHOW 0DH SHOW 0AH SHOW '-' MOV AX,LRESULT CALL DISPL MOV AX,4C00H INT 21H DISPL PROC PUSH DX PUSH AXMOV CX,10 MOV DX,00H MOV BX,00H DIV CX MOV BX,DX…………………………………装……………………………………订………………………………………线……………………………………………太原理工大学现代科技学院实验报告ADD AL,30H DISPL1: MOV DL,AL MOV AH,02H INT 21H MOV DL,BLADD DL,30H MOV AH,02H INT 21H POP AX POP DX RET DISPL ENDP CODE ENDSEND START五、实验步骤 1、在windows 环境下,打开“开始”菜单,选择“运行”项,然后输入”CMD ”,按“确定”进去DOS 环境。
太原理工大学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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告课程名称:数据库系统原理实验项目:认识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的基本用法,能熟练使用它管理数据库服务器和数据库对象。
1、可视化图形界面的操作熟悉使用SQL Server Management Studio中的对象资源管理器,熟悉其中列出的各类信息的含义,学会查看各种信息。
2、查询编辑器的使用熟悉使用查询编辑器,了解如何编写SQL脚本,如何运行SQL脚本。
3.4 创建SQL Server数据库通过创建数据库,掌握使用SQL Server Management Studio创建数据库的方法,了解SQL Server数据库的构成。
3.1 创建数据库1.使用图形界面创建数据库系创建一个数据库,掌握使用图形界面创建数据库的步骤,了解其中各参数的含义。
2.使用SQL语句创建数据库使用查询编辑器编写并运行创建数据库的SQL语句,掌握SQL语句的语法格式和主要参数的含义。
3.2 了解数据库系统的构架1.了解数据库系统的逻辑组件:它们主要是数据库对象,包括基本表、视图、触发器、存储过程、约束等。
今后将学习如何操作这些数据库对象。
2.了解数据库的物理组件:思考数据库物理存储的存储单位是什么,数据主要以什么方式存放,如何确定数据的存放位置。
3.5 创建SQL Server数据库中的表通过创建表,掌握使用SQL Server Management Studio创建表方法,了解SQL Server数据库的数据类型,以及表中数据的维护。
3.1 创建数据库表1.使用图形界面创建表在数据库中创建Student、Course和SC表,掌握使用图形界面创建表的方法。
2.掌握如何查询表的各种信息。
3.了解SQL Server提供的数据类型通过查询联机手册,了解SQL Server提供了哪些数据类型,以及他们的用法。
3.2 维护表中的数据使用图形界面在Student、Course和SC输入分别输入若干行数据,熟练掌握数据输入、修改和删除的方法。
四、操作方法与实验步骤1、创建数据库选择“新建数据库”,进入“新建数据库”界面:在“数据库名称”输入框中输入数据库名称:test,点击“确定”,即可创建数据库。
展开“数据库”,创建的数据库将显示在列表中,如下图中的“test”。
2、创建表创建学生-课程数据库中的三个表student、course和sc。
3、输入、修改和删除数据行4、查看数据鼠标右击要查看的表,在快捷菜单中选择“选择前1000行”五、讨论、心得遇到问题应该及时的问老师,问同学,并且结合课本,做到解决,深化所学到的知识,从而使自己的知识得到深化,能力得到进步。
教师签字:学院名称软件学院专业班级软件1334 实验成绩学生姓名学号实验日期2015.课程名称数据库系统管理实验题目交互式SQL一、实验目的和要求1,掌握 SELECT 语句基本语法,加深对查询语句基本概念要求。
2,掌握简单表的查询。
3,掌握连接查询。
4,熟悉通过 SQL 对数据库进行操作。
5, 掌握视图的操作。
二、主要仪器设备计算机:HP-6470b windows7 64 位运行环境: SQL Server 2008R2三、实验内容和原理1.在RDBMS 中建立一个学生-课程数据库,进行实验所要求的各种操作,所有的SQL 操作均在此建立的新库里进行。
2.根据以下要求认真进行实验,记录所有的实验用例及执行结果。
数据定义:基本表的创建、修改及删除;索引的创建和删除。
数据操作:完成各类查询操作(单表查询,连接查询,嵌套查询,集合查询);完成各类更新操作(插入数据,修改数据,删除数据)。
视图的操作:视图的定义(创建和删除),查询,更新(注意更新的条件)。
特别说明:实验中注意特定数据库系统(如SQL SERVER)的SQL 语句格式与SQL-3 标准的区别。
四、操作方法与实验步骤1.数据定义创建学生选课数据库ST,包括三个基本表,其中Student表保存学生基本信息,Course表保存课程信息,SC表保存学生选课信息,其结构如下表:表1. Student表结构列名称用途类型长度约束备注Sno 学号字符8 主键Sname 姓名字符8Ssex 性别字符 2Sage 年龄整型Sdept 所在系字符20Sclass 班级字符 4表2. Course表结构列名称用途类型长度约束备注Cno 课程号字符 4 主键Cname 课程名字符40Cpno 先修课程号字符 4Ccredit 学分整型表3. SC表结构列名称用途类型长度约束备注Sno 学号字符8 外键Cno 课程号字符 4Grade 成绩整型2.建立基本表建立一个学生表Student:建立一个课程表Course:建立一个学生选课信息表SC:3.数据操作一.更新操作1,插入数据将如下表格中的数据分别插入到数据库相应的表中:表4.学生基本信息表学号姓名性别年龄所在系班级20100001 李勇男20 CS 100120100002 刘晨女19 CS 100120100021 王敏女18 MA 100220100031 张立男19 IS 100320100003 刘洋女100120100010 赵斌男19 IS 100520100022 张明明男19 CS 1002表5.课程信息表课程号课程名先修课程号学分1 数据库系统原理56 42 高等数学 23 管理信息系统 1 44 操作系统原理 6 35 数据结构7 46 数据处理 27 C语言 4表6.学生选课信息表学号课程号成绩20100001 1 9220100001 2 8520100001 3 8820100002 1 9020100002 2 8020100003 120100010 3(1)插入到Student表(2)插入到Course表(3)插入到SC表2,修改数据(1)将学生20100001的年龄改为22岁。
UPDATE student SET Sage = 22 WHERE Sno='20100001';(2)将所有学生的年龄增加一岁。
UPDATE Student SET Sage = Sage +1(3)填写赵斌同学的管理信息系统课程的成绩(4)将计算机科学系全体学生的成绩加5分(5)请自己完成如下操作a.将刘晨同学的2号课程成绩修改为80b.将“20100021”同学的学号修改为“20100025”3,删除数据将选课信息复制到一个临时表tmpSC中:在tmpSC中执行删除操作:(1)删除学号为201000022的学生记录(2)删除学号20100001学生的1号课程选课记录(3)删除临时表中20100002学生的全部选课记录请自己完成该操作。
(4)删除计算机科学系所有学生的选课记录(5)删除全部选课记录(6)检查数据是否删除二.数据查询操作完成如下查询操作:1.单表查询(1)按指定目标列查询查询学生的详细记录:查询学生的学号、姓名和年龄(2)目标列包含表达式的查询查询全体学生的姓名、出生年份和所有系,要求用小写字母表示所有系名。
(3)查询结果集中修改列名称查询全体学生的姓名、出生年份和所有系,要求用小写字母表示所有系名。
(4)取消重复行查询选修了计算机课程的学生学号:比较ALL和DISTINCT的区别(5)简单条件查询查询计算机科学系全体学生的名单(6)按范围查询查询年龄在20~23岁之间的学生的姓名、系别和年龄(7)查询属性值属于指定集合的行查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别(8)模糊查询查询所有姓刘学生的姓名、学号和性别(9)查询空值查询缺少成绩的学生的学号和相应的课程号(10)多重条件查询查询计算机科学系年龄在20岁以下的学生姓名(11)结果集排序查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列(12)完成下列查询查询学生基本信息,结果集属性名使用汉字查询信息系且年龄大于23岁同学的学号和姓名查询年龄是17、18、20、23岁同学的学号、姓名、年龄和所在系查询年龄不在21~24岁之间的学生的姓名、系别和年龄2.分组统计(1)聚集函数的使用查询学生总人数查询选修了课程的学生人数查询最高分(2)聚集函数作用于部分行统计2号课程的总分、均分和最高分(3)分组统计统计各门课程的选课人数、均分和最高分统计均分大于90的课程(4)完成下面的查询统计每个同学的学号、选课数、平均成绩和最高成绩统计每个班的每门课的选课人数、平均成绩和最高成绩3. 连接查询(1)在WHERE中指定连接条件查询每个参加选课的学生信息及其选修课程的情况查询每一门课的间接先修课(2)在FROM中指定连接条件查询每个参加选课的学生信息及其选修课程的情况(3)使用外连接查询查询每个学生信息及其选修课程的情况(4)复合条件连接查询查询选修2号课程且成绩在90分以上的所有学生(5)多表查询查询每个学生的学号、姓名、选修的课程名及成绩(6)完成下列查询查询选修了2号课程的同学的学号和姓名查询各门课程的课程号、课程名称以及选课学生的学号查询选修了数据库系统原理课程的同学的学号和姓名和成绩4. 嵌套查询(1)由In引出的子查询查询与“刘晨”在同一个系学习的学生(2)由比较运算符引出的子查询找出每个学生超过他选修课程平均成绩的课程号。