广东海洋大学数据库原理及应用课程设计——学生信息管理系统(Java+SQL)

合集下载

数据库课程设计报告_学生信息管理系统_SQL-java

数据库课程设计报告_学生信息管理系统_SQL-java

数据库课程设计报告_学生信息管理系统_S Q L-j a v a《数据库系统》课程设计报告软件专业2012级1班26号巨生鹏2014年6月20日目录1.需求分析内容 (3)1.1用户需求说明 (3)1.2数据字典 (3)1.3数据流图 (7)2.概念设计内容 (8)2.1 E-R图 (8)2.1 包括实体、联系以及实体、联系属性的详细E-R图 (9)3.逻辑设计与物理设计及安全设计 (11)3.1实体类型的转换 (11)3.2联系的转换 (11)3.3物理设计 (12)3.4安全设计 (15)4.系统模块设计与功能实现 (15)4.1系统的功能划分及描述 (15)4.2主要用户界面 (16)4.3 系统使用说明和安装说明.........................................................16 5. 附:部分重要代码 (17)6.体会与心得 (18)1需求分析内容学生信息管理系统概述学生信息管理系统主要用来管理学生基本信息。

本系统是一个简单的学生信息管理系统,系统管理的信息主要是学生基本信息、课程信息和学生选课信息。

系统的目的是有效地处理这些信息,同时为用户提供信息检索、信息修改和保护功能。

1.1(1)用户需求说明学生信息管理系统是学校有效管理学生的重要工具,它的任务主要有以下几项:◆学生基本信息管理,主要负责管理学生基本信息。

◆学生选课信息管理,主要负责管理课程信息和学生选课信息。

◆信息检索管理,主要负责对学生各类信息进行查询和统计。

◆信息修改管理,主要负责学生信息的增加,删除,更改。

◆系统管理,主要负责管理用户信息和用户登陆,以及配置系统参数。

(2)系统的目标学生信息管理系统是学校管理学生的有效方法,也是学生学生查询信息的有效途径。

一个好的学生信息管理系统应具有以下这些目标:◆能够管理所有学生的信息。

◆能够快速地进行学生的各类信息查询,包括基本信息和选课信息的查询。

广东海洋大学java实验4

广东海洋大学java实验4

GDOU-B-11-112广东海洋大学学生实验报告书(学生用表)实验名称类的综合运用课程名称 Java 程序设计课程号16232105学院(系) 信息学院专业计算机科学与技术班级学生姓名XXX 学号20 实验地点钟04002 实验日期实验目的:(1)掌握类的继承,实现构造函数的继承。

(2)多态,通过相同的方法名实现不同的功能实验内容:1、有一个shape接口,利用该接口来编写求解不同的几何图形(矩型,正方形,圆)的周长、面积的应用程序(其中正方形是矩形的子类),要求用到继承、多态、抽象类、接口、内部类等面向对象程序设计技术的来编程。

Interface shape{Public double perimeter();Public double area();}放自己的程序代码import java.util.Scanner;interface Shape{ //定义一个接口public double perimeter();public double area();}abstract class line{ //定义一个长度抽象类double r=0;}class Juxing implements Shape{ //矩形的类定义double c=0;double h=0;Juxing(){}Juxing(double a){ //多态h=a;}Juxing(double a,double b){ //多态c=a;h=b;}public double perimeter(){ //重写,求矩形周长double z=(c+h)*2;return z;}public double area(){ //重写,求矩形面积double s=c*h;return s;}}class Square extends Juxing{ //继承,定义正方形的类 Square(double a){super(a);}}class Circle extends line implements Shape{ //继承,定义圆的类 jisuan A=new jisuan();Circle(double y){r=y;}class jisuan{ //内部计算类jisuan(){}double zhouchang(){double l=2*3.14*r;return l;}double mianji(){double s1=3.14*r*r;return s1;}}public double perimeter(){ //求圆的周长return A.zhouchang();}public double area(){ //求圆的面积return A.mianji();}}public class Shiyan4 {public static void main(String[] args){System.out.print("请输入矩形的长和宽:");Scanner input = new Scanner(System.in);Scanner input2 = new Scanner(System.in);double ai = input.nextInt(); // 输入double bi = input2.nextInt(); //输入Juxing J=new Juxing(ai,bi);ai=J.perimeter();System.out.print("矩形的周长为:"+ai+'\n');bi=J.area();System.out.print("矩形的面积为:"+bi+'\n');System.out.print("请输入正方形的边长:");Scanner input3 = new Scanner(System.in);double ci = input3.nextInt();Square S=new Square(ci);ci=S.perimeter();System.out.print("正方形的周长为:"+ci+'\n');ci=S.area();System.out.print("正方形的面积为:"+ci+'\n');System.out.print("请输入一个圆的半径:");Scanner input4 = new Scanner(System.in);double di = input4.nextInt();Circle C=new Circle(di);di=C.perimeter();System.out.print("圆的周长为:"+di+'\n');di=C.area();System.out.print("圆的面积为:"+di+'\n');}}运行结果或截图2 设计一个抽象类CompareObject,其中定义一个抽象方法compareTo()用于比较两个对象。

广东海洋大学java课程设计报告书-记事本

广东海洋大学java课程设计报告书-记事本

广东海洋大学课程设计报告成绩:评语:报告正文一,项目说明文档1.任务与内容设计一个简单的使用java语言编写的一个记事本程序,可以实现以下功能:A.文件的新建,打开,保存和另存B.对文件的编辑,如剪切,复制,粘贴,删除,还有查找替换等等C.对文本中字体的设置2.运行以及使用使用eclipse运行源程序,则可以出现:1)主界面2)点击窗口的文件按钮,可以实现打开保存等操作3)点击编辑菜单,可以实现对文本的复制粘贴剪切全选等功能4)点击编辑菜单,可以实现查找替换功能5)点击编辑菜单的全部替换功能,可以实现快速替换。

6)点击格式中的字体按钮,可以实现对文本区域的字体设置2.程序设计思路和关键数据结构在本程序中,在菜单栏上设置四大菜单,然后将相应的菜单项(功能)添加到各个菜单中,然后再具体实现各个菜单项的功能。

主要使用JButton,JFrame,Textarea (文本区),menu(创建菜单)等类和实现ActionListener,MouseListener,WindowListener等接口。

3.测试数据1)编辑菜单中的替换功能当查找文本中没有数据时,这时点击替换或全部替换,因为还没有内容,这这时会弹出一个消息对话框,提示“请先输入查找内容”。

2)编辑菜单中的查找功能打开查找菜单对话框,如果没有输入查找内容,点击查找下一个,则会弹出一个消息对话框,说“请先输入查找内容”。

4.在设计实现和测试中发现的问题以及我的解决方案1)在实现查找功能时,分为向上、向下查找,当第一次向下查找时,我们先设置rear变量为0,从头开始查找,当查找到时,对rear重新赋值,使它能够下次从正确位置开始遍历。

向上查找时,通过设置另一个变量head来控制实现。

2)在设计新建文件的类中,当用户点击新建时候,应该类中的成员变量(保存文件名,打开文件名)设为null,把是否第一次保存的标记设为false;3)在点击退出时,我们我先判断文本是否作过了改动,若改动过,看是否已经保存,保存过了,就直接退出,否则弹框提示是否保存,再点击相应的按钮进行后续的保存或不保存操作。

SQL数据库 java学生管理系统

SQL数据库 java学生管理系统

SQL数据库 java学生管理系统《数据库系统原理》课程设计报告说明书学生信息管理系统学生姓名学号所在专业所在班级指导教师提交时间评阅情况成绩广东海洋大学本科生课程设计目录读书笔记 ..................................................................... ................. 错误~未定义书签。

1 1. 学生信息管理系统概述 ..................................................................... ....................... , 1.1 研究背景 ..................................................................... .......................................... , 1.2 开发意义 ..................................................................... .......................................... ,2. 系统需求分析 ..................................................................... ...................................... ,2.1 开发环境和软件 ..................................................................... ............................... , 2.2 系统设计与功能分析 ..................................................................... ....................... , 3 数据库设计 ..................................................................... ......................................... ,3.1 系统概念结构设计 ..................................................................... ........................... ,3.2 系统逻辑结构设计 ..................................................................... ........................... , 3.3 数据库实现 ..................................................................... ...................................... , 3.3.1 数据库关系图 ..................................................................... ............................... , 3.3.2 SQL语句实现 ..................................................................... .............................. , 4. 系统模块详细设计...................................................................... .............................. , 4.1 用户登录模块 ..................................................................... ................................. , 4.2 各用户操作模块 ..................................................................... ........................... ,, 4.2.1 管理员操作模块 ..................................................................... ....................... ,, 4.2.2 教师操作模块 ..................................................................... ........................... ,, 4.2.3 学生操作模块 ..................................................................... ........................... ,, 5. 系统运行与测试 ..................................................................... .............................. ,, 5.1 管理员登录 ..................................................................... .................................... ,, 5.2 教师登录 ..................................................................... ........................................ ,, 5.3 学生登录 ..................................................................... ........................................ ,, 6(课程设计总结 ..................................................................... .................................. ,, 7(附录(代码) .................................................................... ................................... ,,2广东海洋大学本科生课程设计I(读书笔记关于网上花店管理系统的读书笔记:在网上购物逐步平民化的今天,网上购物人数不断增加,现代IT技术和互联网的结合。

计科1141广东海洋大学java实验三

计科1141广东海洋大学java实验三

广东海洋大学学生实验报告书(学生用表)实验名称实验三数组与字符课程名称Java程序设计与开发技术课程号学院(系) 数学与计算机学院专业计算机科学与技术班级计科1141学生姓名邓超荣学号201411621110 实验地点钟海楼04017实验日期2016.10.22实验三数组与字符一实验目的:掌握Java数组的编程掌握字符串使用二实验内容:1 已知字符串:“This is a java program.”按要求编写下程序:(1)统计该字符串中字母a出现的次数(2)取出子字符串“java”,存在另一字符串中并输出。

(3)用两种方式将本字符串复制到另一个字符数组char[] str中,并输出(4)将字符串中每个单词的第一个字母变成大写,并输出整个字符串(5)用两种方式将该字符串逆序输出(用stringbuffer和for方式来实现)实验代码:package javademo2;public class Stringtest {GDOU-B-11-112public static void main(String[] args) {//问题1 统计该字符串中字母a出现的次数String s="This is a java program.";int count=0;char[] chs=s.toCharArray();for(int i=0;i<chs.length;i++){if(chs[i]=='a'){count++;}}System.out.println("a出现的次数:"+count);//问题2 取出子字符串“java”,存在另一字符串中并输出。

int index=s.indexOf("java");String ss=s.substring(index,index+4 );System.out.println(ss);//问题3 用两种方式将本字符串复制到另一个字符数组 char[] str中,并输出//方式一:char[] str=s.toCharArray();System.out.println(str);//方式二char[]str2=new char[s.length()];for(int i=0;i<str.length;i++){str2[i]=s.charAt(i);}System.out.println(str2);//问题4 将字符串中每个单词的第一个字母变成大写,并输出整个字符串//思路:先定义一个变量f用来标记是否是单词的开始位置,如果是开始位置就输出大写字母,并把f标记成false,如果遇到空格,就把f标记成true。

广东海洋大学数据库实验一报告

广东海洋大学数据库实验一报告

GDOU-B-11-112广东海洋大学学生实验报告书(学生用表)实验名称实验1数据库及其对象创建与管理课程名称数据库原理及应用课程号 16732201学院(系) 信息学院专业信息管理与信息系统班级信管1111学生姓名陈梓哲学号201111671106 实验地点海安A705 实验日期2013/10/16实验一数据库及其对象的创建与管理一、实验目的1、掌握用SSMS或Transact-SQL语句创建、查看、修改、删除数据库的方法;2、掌握数据库的备份和恢复方法;3、掌握数据库的分离和附加方法;4、掌握用SSMS或Transact-SQL语句创建、修改、删除表及向其添加数据的方法。

二、实验要求1、实验前做好上机实验的准备,针对实验内容,认真复习与本次实验有关的知识,完成实验内容的预习准备工作;2、能认真独立完成实训内容;3、实验后做好实验总结,根据实验情况完成总结报告。

三、实验内容1、用SSMS在“对象资源管理器”中完成如下任务:(1)(2)再修改学生课程数据库Student 的主数据文件的大小,使其扩大两倍,然后查看扩大后的数据库属性。

2、用SSMS ,在数据库Student 中:(1)创建如下四个表,并设置相关的约束条件:SS表:Course表:SC表:Teacher表:(2) 用SSMS修改将刚才所创建表:①在Course表中插入如下两列:②将SC 表中列Grade 的类型改为smallint③在S 表中创建CHECK 约束,约束名为Sagechk ,要求实现年龄在15~45取值④在Course 表中创建外键约束,约束名为Fk_Tno ,要求实现Course 表中的Tno 必须参照Teacher 表的Tno 取值。

⑤删除Course 表中Tno 列(3)删除将刚才所创建Teacher 表(4)向表插入以下数据3、用SSMS 方法完成如下数据库的分离和附加:(1)分离Student 数据库 ⑵附加Student 数据库4. 用SSMS 方法完成如下数据库的备份和恢复: ( 选作实验)(1)备份数据库①创建备份设备,其名称为bk_Student0,保存文件为D:\Student0.bak,并对Student数据库进行完全备份,备份到备份设备bk_ Student0中。

计科1141广东海洋大学java10(实验4)

计科1141广东海洋大学java10(实验4)

广东海洋大学学生实验报告书(学生用表)实验名称实验四.类的基本编程课程名称Java程序设计与开发技术课程号学院(系) 数学与计算机学院专业计算机科学与技术班级计科1141学生姓名邓超荣学号201411621110 实验地点钟海楼04017实验日期2016.10.26一实验目的:掌握Java类的基本知识及应用二实验内容:定义一个名为Complex的类实现复数概念及运算,它的UML图如下,先实现该类的相关方法,再试编写主方法来测试该类这些的方法。

GDOU-B-11-112代码:public class ComplexDemo {public static void main(String[] args) {Complex c1 = new Complex(1,2);Complex c2 = new Complex(2,3);Complex c3 = new Complex(4,-2);double c = -2;Complex sum = new Complex();sum = plexAdd(c1,c2);System.out.println("(1+2i)+(2+3i)="+sum);sum = plexAdd(c1, c);System.out.println("(1+2i)+(-2)="+sum);sum = plexAdd(c1,c2,c3);System.out.println("(1+2i)+(2+3i)+(4-2i)="+sum);Complex mid = new Complex();mid = plexMinus(c1,c2);System.out.println("(1+2i)-(2+3i)="+mid);mid = plexMinus(c1, c);System.out.println("(1+2i)-(-2)="+mid);Complex mul = new Complex();mul = plexMul(c1,c2);System.out.println("(1+2i)*(2+3i)="+mul);mul = plexMul(c1, c);System.out.println("(1+2i)*(-2)="+mul);mul = plexMul(c1,c2,c3);System.out.println("(1+2i)*(2+3i)*(4-2i)="+mul);}}class Complex {double realPart;double imaginaryPart;Complex(){} //默认构造函数Complex(double r,double i) { //带参数的构造函数realPart = r;imaginaryPart = i;}double getRealPart() { //返回实部return realPart;}void setRealPart(double d) { //设置实部realPart = d;}double getImaginaryPart() { //返回虚部return imaginaryPart;}void setImaginaryPart(double d) { //设置虚部imaginaryPart = d;}Complex complexAdd(Complex c1,Complex c2) { //复数对象与复数对象相加Complex sum = new Complex();sum.realPart = c1.realPart + c2.realPart;sum.imaginaryPart = c1.imaginaryPart +c2.imaginaryPart;return sum;}Complex complexAdd(Complex c1,double c2) { //复数对象与实数相加Complex sum = new Complex();sum.realPart = c1.realPart + c2;sum.imaginaryPart = c1.imaginaryPart;return sum;}Complex complexAdd(Complex c1,Complex c2,Complex c3) { //三个复数相加Complex sum = new Complex();sum.realPart = c1.realPart + c2.realPart +c3.realPart;sum.imaginaryPart = c1.imaginaryPart +c2.imaginaryPart + c3.imaginaryPart;return sum;}Complex complexMinus(Complex c1,Complex c2) { //复数对象与复数对象相减Complex mid = new Complex();mid.realPart = c1.realPart - c2.realPart;mid.imaginaryPart = c1.imaginaryPart -c2.imaginaryPart;return mid;}Complex complexMinus(Complex c1,double c2) { //复数对象与实数相减Complex mid = new Complex();mid.realPart = c1.realPart - c2;mid.imaginaryPart = c1.imaginaryPart;return mid;}Complex complexMul(Complex c1,Complex c2) { //复数对象与复数对象相乘Complex mul = new Complex();mul.realPart = c1.realPart * c2.realPart -c1.imaginaryPart * c2.imaginaryPart;mul.imaginaryPart= c1.realPart* c2.imaginaryPart + c1.imaginaryPart * c2.realPart;return mul;}Complex complexMul(Complex c1,double c2) { //复数对象与实数相乘Complex mul = new Complex();mul.realPart = c1.realPart * c2;mul.imaginaryPart = c1.imaginaryPart * c2;return mul;}Complex complexMul(Complex c1,Complex c2,Complex c3) { //三个复数相乘Complex mul = new Complex();mul.realPart = c1.realPart * c2.realPart -c1.imaginaryPart * c2.imaginaryPart;mul.imaginaryPart= c1.realPart* c2.imaginaryPart + c1.imaginaryPart * c2.realPart;double r = mul.realPart;double i = mul.imaginaryPart;mul.realPart = r * c3.realPart - i *c3.imaginaryPart;mul.imaginaryPart = r * c3.imaginaryPart + i *c3.realPart;return mul;}public String toString() { //以a+bi的形式显示复数String s = new String();if(realPart!=0){if(imaginaryPart>0) {s = (int)realPart + "+" + (int)imaginaryPart + "i";}else if(imaginaryPart==0) {s = String.valueOf((int)realPart);}else{s= (int)realPart+ ""+ (int)imaginaryPart+ "i";}}else{if(imaginaryPart>0) {s = (int)imaginaryPart + "i";}else if(imaginaryPart==0) {s = String.valueOf(0);}else{s = (int)imaginaryPart + "i";}}return s;}}。

广东海洋大学数据库课程设计

广东海洋大学数据库课程设计

本科生课程设计课程名称数据库原理及应用课程设计课程编号J1670101学号2014116211学生姓名阿稻所在专业计算机科学与技术所在班级计科指导教师成绩教师签字年月日课程设计时间: 2015年 11月 15 日至 2015 年 12月 20 日目录一、设计总说明1.1 概况1.2 系统开发目的1.3 开发内容1.4 开发要求1.5 开发环境二、需求分析2.1 系统背景分析2.2 需求分析三、概念结构设计3.1 系统功能模块设计图3.2 系统E-R图四、逻辑结构设计五、物理结构设计5.1 数据库创建六、系统实现七、优缺点及自我评价八、参考文献九、代码(附录)设计总说明1.1 概况名称:学生成绩管理系统用途:学校等教育机构功能:实现对学生信息、成绩的管理1.2 系统开发的目的1)掌握利用java语言进行程序设计的基本过程;2)理解java应用程序事件驱动机制,掌握利用java开发工具编写程序的方法,能熟练掌握java语法规则进行算法设计和代码编写;3)掌握利用对象进行数据库应用程序设计的基本方法;4)掌握SQL数据库数据表设计以及SQL语句的书写和java中的调用方法,通过掌握以上只是的同时提高自己的实践能力等。

1.3 开发内容通过调查分析达到学生成绩管理系统的系统要求,从而设计出系统的概念结构模型、逻辑结构模型、物理结构模型,通过SQL2008实现相应的要求,进而不断的测试和完善系统的漏洞。

1.4 开发要求1)学生信息的输入,包括学生的基本信息、选课信息和成绩等;2)学生基本信息、选课信息和成绩的修改;3)实现学生基本信息、选课信息和成绩的删除;4)查询学生基本信息、选课信息和成绩等等。

1.5 开发环境及工具系统前台开发工具:Eclipse Java Mars.1系统后台管理软件:SQL Server Management Studio 2008系统开发语言:Java二、需求分析2.1 系统背景分析人类社会已经步入了计科飞速发展的信息时代,尤其是信息网络系统的发展和应用,对社会生活的影响越来越深刻。

广东海洋大学_计算机科学与技术_数据库实验3

广东海洋大学_计算机科学与技术_数据库实验3

GDOU-B-11-112广东海洋大学学生实验报告书(学生用表)实验名称实验3 索引和视图课程名称数据库系统原理课程号1620072学院(系) 信息学院专业计科班级 1113学生姓名学号实验地点科技楼实验日期04-26实验三索引和视图一、实验目的1.掌握利用SSMS和T—SQL语句创建和删除索引的两种方法。

2.掌握利用SSMS和T—SQL语句创建、查询、更新及删除视图的方法。

二、实验要求1.能认真独立完成实验内容;2.实验前做好上机实验的准备,针对实验内容,认真复习与本次实验有关的知识,完成实验内容的预习准备工作;3.验后做好实验总结,根据实验情况完成实验报告。

情况完成总结报告。

三、实验学时2学时四、实验内容1、用T—SQL建立一个“学生选课数据库”,在此基础上用SQL语句建立该数据库包含的学生表,课程表,学生选修表:CREATE DATABASE学生选课数据库ON PRIMARY(NAME=Student_dat,FILENAME='D:\学生选课数据库.mdf',SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=10%)LOG ON(NAME=Student_log,FILENAME='D:\学生选课数据库.ldf',SIZE=5MB,FILEGROWTH=10%)GO学生表:StudentCREATE TABLE Student(Sname CHAR(10),Ssex CHAR(2)CHECK(Ssex='男'OR Ssex='女'),Sage SMALLINT CHECK(Sage BETWEEN 15 AND 30),Sdept CHAR(20));INSERT INTO Student( Sno ,Sname,Ssex,Sage,Sdept ) VALUES('S01','王建平','男',21,'自动化') INSERT INTO Student( Sno ,Sname,Ssex,Sage,Sdept ) VALUES('S02','刘华','女',19,'自动化')INSERT INTO Student( Sno ,Sname,Ssex,Sage,Sdept ) VALUES('S03','范林军','女',18,'计算机') INSERT INTO Student( Sno ,Sname,Ssex,Sage,Sdept ) VALUES('S04','李伟','男', 19 ,'数学'); INSERT INTO Student( Sno ,Sname,Ssex,Sage,Sdept ) VALUES('S05','黄河','男',18,'计算机')INSERT INTO Student( Sno ,Sname,Ssex,Sage,Sdept )VALUES('S06','长江','男', 20 ,'数学');课程表:CourseCREATE TABLE Course(Cno CHAR(4)PRIMARY KEY,Cname CHAR(10)NOT NULL,Cpno CHAR(4),Credit INT CHECK(Credit>=0 AND Credit<=100),Teacher NCHAR(4));INSERT INTO Course ( Cno,Cname,Cpno,Credit )VALUES('C01','英语',NULL, 4 )INSERT INTO Course ( Cno,Cname,Cpno,Credit )VALUES('C02','数据结构','C05',2)INSERT INTO Course ( Cno,Cname,Cpno,Credit )VALUES('C03','数据库','C02',2)INSERT INTO Course ( Cno,Cname,Cpno,Credit )VALUES('C04','DB_设计','C03',3)INSERT INTO Course ( Cno,Cname,Cpno,Credit )VALUES('C05','C++',NULL,3)INSERT INTO Course ( Cno,Cname,Cpno,Credit )VALUES('C06','网络原理','C07',3)INSERT INTO Course ( Cno,Cname,Cpno,Credit )VALUES('C07','操作系统','C05',3)学生选修表:SCCREATE TABLE SC(Sno char(10)FOREIGN KEY REFERENCES Student(Sno), Cno CHAR(4)FOREIGN KEY REFERENCES Course(Cno), Grade INT CHECK( Grade>=0 AND Grade<=100 ),);INSERT INTO SC ( Sno,Cno,Grade)VALUES('S01','C01',92)INSERT INTO SC ( Sno,Cno,Grade)VALUES('S01','C03',84)INSERT INTO SC ( Sno,Cno,Grade)VALUES('S02','C01',90)INSERT INTO SC ( Sno,Cno,Grade)VALUES('S02','C02',94)INSERT INTO SC ( Sno,Cno,Grade)VALUES('S02','C03',82)INSERT INTO SC ( Sno,Cno,Grade)VALUES('S03','C01',72)INSERT INTO SC ( Sno,Cno,Grade)VALUES('S03','C02',90)INSERT INTO SC ( Sno,Cno,Grade)VALUES('S03','C03',75)2.索引的建立、删除①用SSMS的方式为Student表按Sno(学号)升序建唯一索引②用T—SQL语句为Course表按Cno(课程号)升序建唯一索引,CREATE UNIQUE INDEX课程号ON Course(Cno ASC)③用T—SQL语句为SC表按Sno(学号)升序和Cno(课程号)号降序建唯一索引。

大数据库 实验一 建立大数据库及其对象

大数据库  实验一  建立大数据库及其对象

GDOU-B-11-112广东海洋大学学生实验报告书(学生用表)实验名称实验1数据库及其对象创建与管理课程名称数据库原理及应用课程号16732201 学院(系) 信息学院专业班级学生姓名学号实验地点实验日期实验一数据库及其对象的创建与管理一、实验目的1、掌握用SSMS或Transact-SQL语句创建、查看、修改、删除数据库的方法;2、掌握数据库的备份和恢复方法;3、掌握数据库的分离和附加方法;4、掌握用SSMS或Transact-SQL语句创建、修改、删除表及向其添加数据的方法。

二、实验要求1、实验前做好上机实验的准备,针对实验内容,认真复习与本次实验有关的知识,完成实验内容的预习准备工作;2、能认真独立完成实训内容;3、实验后做好实验总结,根据实验情况完成总结报告。

三、实验内容1.用SSMS在“对象资源管理器”中完成如下任务:(1)建立一个学生课程数据库(2)修改学生课程数据库Student的主数据文件的大小查看扩大后的数据库属性2. 用SSMS,在数据库Student中:(1)创建表S创建表Course创建表SC创建表Teacher(2)①在Course表中插入列Cpno 、Ccredit②将SC表中列Grade的类型改为smallint③在S表中创建CHECK约束,约束名为Sagechk,要求实现年龄在15~45取值④在Course表中创建外键约束,约束名为Fk_Tno,要求实现Course表中的Tno必须参照Teacher表的Tno取值。

⑤删除Course表中Tno列(3)删除将刚才所创建Teacher表(4)向表插入以下数据表S表Course表SC3、用SSMS方法完成如下数据库的分离和附加:(1)分离Student数据库⑵附加Student数据库4. 用SSMS方法完成数据库的备份和恢复(1)备份数据库①创建备份设备完全备份②创建一张表temp1并对Student数据库进行第一次差异备份③创建表temp2并对Student数据库进行第二次差异备份(2)删除Student 数据库①从备份设备bk_ Student0中恢复Student数据库,并查看表temp1和temp2是否存在?两个表都不存在。

广东海洋大学计科数据库原理及应用 实验

广东海洋大学计科数据库原理及应用 实验
广东海洋大学学生实验报告书
实验名称
实验1:创建数据库基本表
课程名称
数据库原理及应用
成绩
学院(系)
专业
班级
学生姓名
学号
实验地点
实验日期
1.熟悉SQL SERVER 2005环境,使用配置管理器启动、暂停和停止SQL SERVER服务;打开SQL SERVER管理工具界面,连接服务;
2.用两种方式创建学生Student数据库(包含学生、课程和选修三个表),
(8)修改课程表,给课程名添加一个取值唯一的约束。
(9)删除学生表student,观察结果,说明结果的产生原因。
指导教师
日期
注:请用A4纸书写,不够另附纸。第页,共页

iSage
年龄
整型
年龄在0到100岁之间
nSgender
性别
Unicode编码方式的定长字符串型,长度为一个汉字字符;
性别只能取‘男’或‘女’
默认‘男’
cClass
班级
定长字符串
形如‘计科1151’的字符串,前两个固定中文字符‘计科’,后四位数字字符
Department
院系
变长字符串,长度自定
取默认值‘计算机系’
(3)修改学生表,给“姓名”列加上取值非空的约束。
(4)修改学生表,删除“班级”列,观察结果,说明结果的产生原因,并给出能成功删除班级列的完整过程和语句。
(5)修改课程表,修改“教师”列的数据类型长度为40.
(6)修改课程表,删除学分列上的取值0-5的约束。
(7)修改选修表,将成绩列的数据类型修改为其他数值类型,观察结果,说明结果的产生原因。成功修改列的数据类型需要执行哪些语句。
①使用SQL SERVER界面工具创建表(包括类型、约束);

广东海洋大学、管理信息系统实验报告4

广东海洋大学、管理信息系统实验报告4

广东海洋大学学生实验报告书(学生用表)实验名称企业应用系统和建设与规划MI S课程名称管理信息系统(实验)课程号15522301学院(系)经济管理学院专业行政管理班级1122班学生姓名XXX学号201211522229实验地点钟海楼实验日期2014-12-10实验内容和要求1.登录中国移动的网上营业厅,通过亲身操作,体验并记录网上营业厅提供的各项服务。

对比中国移动其他的客户服务接触点,两者提供的服务有何区别?2.拨打10086,选择人工服务,询问相关问题,体会此过程中客户关系管理软件是如何支持接线员为你服务,同时分析如何通过这种过程提升客户的忠诚度和客户价值。

3.将以上相应内容整理成实验报告。

1、登录中国移动的网上营业厅,可以看到页面的上方有各种可供选择的功能板块,如:话费服务、业务办理、积分计划、优惠促销、选号入网、优惠购机、网上交费、我的专区这几个板块,各个板块下面也有详尽的具体功能,本人最感兴趣的是业务办理下面的流量共享套餐,这是近段时间才出的套餐,推出原因估计是由于前段时间有用户批评中国移动的霸王流量套餐。

现在这个套餐只要十到二十块就能办理,有两种办理方法:短信办理和网站办理。

看过营业厅的功能简介之后,可以看出网上营业厅和中国移动其他的客户接触点相比,在功能上其实相差不大,两者的功能基本相同。

不同的是在网上营业厅是用户自己通过简单的操作去完成业务的办理,而在营业厅则有工作人员帮忙办理业务,不需要自己亲自操作,这大大地方便了部分不懂电脑或不识字的老人和农村人群,体现了一种人性化的服务,大大地拉近了与顾客的距离。

但网上营业厅也有其优点:其使用不受时间和空间的限制,可以随时随地查询、办理业务;另外,掌上营业厅的出现也使手机用户更加方便快捷地处理手机业务既方便了用户也方便了运行商。

2、拨打中国移动的人工服务10086热线。

人工咨询或查询业务只能在8点至22点进行;其他时段为夜间服务时间,该时段可以办理业务查询(按1)、手机充值(按2)、密码服务(按4)、紧急报障(按7)、集团服务(按8)等业务。

计科1141广东海洋大学java实验二详解

计科1141广东海洋大学java实验二详解

GDOU-B-11-112 广东海洋大学学生实验报告书(学生用表)Java程序设计与开发实验名称实验二Java流程控制课程名称门「课程号技术学院(系)数学与计算机学院专业计算机科学与技术班级 ______________钟海楼2016.10.1 学生姓名邓超荣学号201411621110实验地点实验日期04017 5一实验目的:掌握Java流程控制语句掌握字符串的定义与使用二实验内容:1、超级素数:一个n位超级素数是指一个 n位正整数,它的前1位,前2位,...,前n位均为素数,例如,7331是个4位超级素数,因为7,73, 733, 7331均为素数。

由键盘输入n (n<9),然后输出全部的1---n位超级素数.可参考下面的类 class Prime{public boolea n isPrime( Io ng nu m){ // 输入:一个长整数,若为素数则返回true,否则返回false;if (num==1) return false ;for (long i=2;i<=Math. sqrt(num);i++){if (nu m%i==0)return false;return true ; public boolean findPrime( long a){ // 判断一个数是否为超级素数 boolean flagPrime= true ;long b;b=a;while (b>=10) b=b/10;if (b==1) return false ;b=a;flagPrime= true ;while (b>0){flagPrime=flagPrime &&isPrime(b);if (flagPrime== true )b=b/10;elsebreak ;}if (flagPrime== true )return true ;elsereturn false ;实验代码:Test_01.javapackage eclipse_test5;Prime.javaimport java.util.Scanner;public class test_01 {public static void main(String[] args) { // TODO Auto-generatedmethod stub int n;Prime prime=new Prime();Scanner scan=new Scanner(System.in);System.out.println(" 请输入 N 的值 (N<9)"); n= scan.nextInt();System.out.println(" 超级素数是: "); System.out.println(" "+2);for(int i=3;i<exp(n);i=i+2){if(prime.findPrime(i)==true)System.out.println(" "+i); scan.close();}static long exp(int x){〃产生 10A x 这样的数long num=1;if(x>9) x=9;for(int i=1;i<=x;i++){num=num*10;}return num;}}import java.util.Scanner;//超级素数class Prime{public boolean isPrime(long num){ // 输入:一个长整数,若为素数则返回true,否则返回false;if(num==1) return false;for(long i=2;i<=Math.sqrt(num);i++){if(num%i==0)} return true;}public boolean findPrime(long a){ // 判断一个数是否为超级素数 boolean flagPrime=true;long b;b=a;while(b>=10) b=b/10;if (b==1) return false;b=a;flagPrime=true;while(b>0){flagPrime=flagPrime &&isPrime(b);if(flagPrime==true)b=b/10;elsebreak;}if (flagPrime==true)return true;else}运行结果请输入N的值(N<9)2超圾素数是:23572329313753597173792•编写一加密程序,要求从键盘上输入一个字符串,然后输出加密后的字符串。

广东海洋大学java课程设计任务书

广东海洋大学java课程设计任务书

论文(设计)任务书课程编号j1620204课程名称Java程序设计与开发技术课程设计周数 1 实施地点校内班级人数起止时间形式√集中□分散指导教师甘元驹论文(设计)进度安排设计时间为周一到周五,每天上午1-4节。

其它时间自己查资料或在宿舍编程。

周1-周2课程设计项目分析;周3-周5项目具体实现,撰写设计报告。

论文(设计)内容每个学生在后面的题目中选择一个题目作为自己的课程设计,并按照所选择的题目要求,用java语言编程实现所需的功能。

要求(包括纪律要求和报告书要求) 明确题目要求,进行相应的算法分析。

从问题中确定程序的基本功能编程与调试对设计进行系统总结,包括设计心得,收获等完成设计报告注:本表按自然班填写。

于动员时发给学生。

不够纸请另附页。

1、编写一个记事本程序要求:用图形用户界面实现。

至少应实现编辑、保存、另存为、查找替换,以及剪切、复制、粘贴等功能。

提示:使用文件输入输出流。

2、模拟赛马的比赛要求:用图形用户界面实现。

能设置比赛时间,马匹的数量等等。

用户可猜那条马会赢。

在任意时间段内马匹的速度是随机的。

开始比赛之后以动画显示赛马过程。

提示:使用多线程3、学生信息管理系统要求:使用图形用户界面用数据库建立学生信息表,比如学生基本信息,学生课程信息、学生成绩信息等。

(不限使用哪种数据库)。

通过图形界面输入学生基本数据,能连接数据库并实现查询、增加、删、改等功能。

4、图书信息管理系统要求:使用图形用户界面用数据库建立图书信息表与借书人关系的表。

(不限使用哪种数据库)能连接数据库并实现书的查询、增、删、改等功能以及借书人的相关信息表,并可限每人借书量,书到期时可提醒。

5、聊天小程序要求:使用图形用户界面。

能实现一个聊天室中多人聊天。

可以两人私聊。

提示:使用socket通信6、A TM柜员机模拟程序要求:使用图形用户界面。

当输入给定的卡号和密码()时,系统能登录A TM柜员机系统,用户可以按照以下规则进行:1、查询余额:初始余额为10000元2、A TM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。

数据库原理课程设计报告(学生会管理系统)

数据库原理课程设计报告(学生会管理系统)

数据库原理课程设计报告(学生会管理系统)数据库原理课程设计报告——学生会管理系统学院:班级:计科0901学号:姓名:指导老师:完成时间:1、需求分析所用的工具:SQL Server 2000数据库简介SQL Server是大型的关系数据库,适合重型企业使用。

它建立于Windows 的可伸缩性和可管理性之上,提供功能强大的客户/服务器平台。

随着SQL Server 产品性能的不断扩大和改善,已经在数据库系统领域占有非常重要的地位。

SQL Server使用Transact SQL 语言来维护,实现和访问数据库,Transact SQL是SQL 的一个子集标准。

SQL Server有多种实现程序允许用户来访问它的服务,用户可以用这些实用程序对SQL Server进行本地管理或远程管理。

SQL Server 2000 是建立在SQL Server 7.0在可伸缩性、易用性、可管理性和数据仓库成功的基础上,并且引入了针对电子商务的重要新功能。

在高性能和企业级可伸缩性领域,SQL Server 2000设计成功利用Windows 2000对更多处理器、更大的系统内存的支持,最终达到支持64位硬件平台。

在不断提升可用性的努力过程中,SQL Server 2000釆用Windows 2000四路群集,提供了大大改进的群集支持。

SQL Server 7.0已经在可管理性和易用性方面在行业内领先,SQL Server 2000通过与Windows 2000活动目录紧密结合进一步改进了这些功能。

而且,SQL Server 2000还包含对现有管理工具和实用程序的重大改进,并引入更具自我调节和自我管理的引擎功能。

通过与OLAP服务、数据转换服务、存储库和英文査询的紧密结合,SQL Server 7. 0代表了行业内最全面的数据仓库和决策支持平台。

SQL Server 2000 继续了这种创新,在整个系统内进行了重要的改进。

广东海洋大学数据库课程设计

广东海洋大学数据库课程设计

《数据库原理及应用课程设计报告》(j1670101x0)设计题目人力资源系统学生姓名Xxx学生班级计科1161学生学号2016xxxxxxxx指导教师Xxx2017年11月13日~完成时间2017年11月17日成绩评定目录一、设计总说明----------------------------------------------------------------------------11.1 概况----------------------------------------------------------------------------------11.2 系统开发目的----------------------------------------------------------------------11.3 开发内容----------------------------------------------------------------------------11.4 开发环境----------------------------------------------------------------------------1二、需求分析---------------------------------------------------------------------------------12.1 系统背景分析----------------------------------------------------------------------12.2 需求分析----------------------------------------------------------------------------2三、概念结构设计---------------------------------------------------------------------------33.1 系统功能模块设计图-------------------------------------------------------------33.2 系统E-R图------------------------------------------------------------------------4四、逻辑结构设计---------------------------------------------------------------------------54.1数据项--------------------------------------------------------------------------------64.2数据结构-----------------------------------------------------------------------------94.3数据存储-----------------------------------------------------------------------------104.4数据处理----------------------------------------------------------------------------12七、优缺点及自我评价--------------------------------------------------------------------13设计总说明1.1概况名称:人力资源管理系统用途:社会上各个层面的各种机构功能:实现对人力资源的安排及薪酬安排1.2系统开发的目的1)掌握利用SQL语言进行数据库操作的基本过程;2)能熟练掌握SQLSEVER 的各种操作;1.3开发内容通过调查分析达到人力资源管理系统的系统要求,从而设计出系统的概念结构模型、逻辑结构模型、物理结构模型,通过SQL2012实现相应的要求,进而不断的测试和完善系统的漏洞。

广东海洋大学数据库原理及应用历年考题_答案 (1)

广东海洋大学数据库原理及应用历年考题_答案 (1)

《数据库原理及应用》试题1一、选择题1、数据库系统的基本特征是_________。

A 、数据的统一控制B 、数据共享性和统一控制C 、数据共享性、独立性和冗余度小D 、数据共享性和数据独立性(难度系数C)正确答案:C2、DB 、DBMS 和DBS 三者之间的关系是_________。

A 、DBS 与DB 和DBMS 无关B 、DBMS 包括DBS 和DBC 、DB 包括DBMS 和DBSD 、DBS 包括DB 和DBMS (难度系数B)正确答案:D3、设有关系R 和S ,关系代数S)(R R --表示的是_________。

A 、R∩SB 、R ―SC 、R÷SD 、R ∪S(难度系数B)正确答案:A4、自然连接是构成新关系的有效方法。

一般情况下,当对关系R 和S 使用自然连接时,要求R 和S 含有一个或多个共有的__________。

A 、行B 、属性C 、记录D 、元组(难度系数C)正确答案:B5、以下是信息世界的模型,且实际上是现实世界到机器世界的一个中间层次的是_________。

A 、数据模型B 、概念模型C 、关系模型D 、E-R 图(难度系数C)正确答案:B6、构成E—R 模型的三个基本要素是_________。

A 、实体、属性值、关系;B 、实体、属性、联系;C 、实体、实体集、联系;D 、实体、实体集、属性;(难度系数C)正确答案:B7、在关系代数运算中,五种基本运算为_________。

A、并、差、选择、投影、连接B、并、交、选择、投影、笛卡尔积C、并、差、选择、投影、笛卡尔积D、并、除、投影、笛卡尔积、选择(难度系数B)正确答案:C8、在下列关于规范化理论的叙述中,不正确的是_________。

A、任何一个关系模式一定有键。

B、任何一个包含两个属性的关系模式一定满足3NF 。

C、任何一个包含两个属性的关系模式一定满足BCNF 。

D、任何一个包含三个属性的关系模式一定满足2NF 。

广东海洋大学数据库实验报告

广东海洋大学数据库实验报告

实验四数据的完整性、安全性一、实验目的1.掌握数据安全性和完整性的概念,以及如何保证数据库中数据安全及完整性。

2.掌握 SQL Server中有关用户、角色及操作权限的管理方法.3.学会创建和使用规则、缺省。

二、实验内容1 数据库的安全性实验,通过SSMS设置 SQL Server的安全认证模式.实现对SQL Server 的用户和角色管理,设置和管理数据操作权限.2数据库的完整性实验。

使用Transact-SQL设计规则、缺省、约束和触发器。

三、实验要求1.数据的完整性实验⑴用SQL语句创建一学生成绩数据库(XSCJ),包括学生(XSQK)、课程(KC)和成绩表(XS_KC):学生情况表(XSQK)课程表(KC)成绩表(XS_KC)⑵数据的实体完整性实验①用SSMS分别将学生情况表(XSQK)的学号字段、课程表(KC)的课程号字段设置为主健②用T-SQL语句将成绩表(XS_KC)的学号、课程号字段设置为主健⑶数据的参照完整性实验①用SSMS为成绩表(XS_KC)创建外键FK_ XSQK_ID,外键FK_ XSQK_ID参照学生情况表(XSQK)表的学号②用T-SQL语句成绩表(XS_KC)创建外键FK_ KC_ID,外键FK_ KC _ID参照课程表(KC)表的课程号⑷数据的用户定义完整性实验①用T-SQL语句为学生情况表(XSQK)的姓名列创建一个唯一约束②用SSMS为学生情况表(XSQK)的性别列创建一个检查约束,使得性别的值为男或女③用T-SQL语句为成绩表(XS_KC)的成绩列创建一个检查约束,使得成绩的值在(0~100)之间④用SSMS语句课程表(KC)的学时列创建一个缺省约束,缺省值为60⑤用T-SQL语句课程表(KC)的学分列创建一个缺省约束,缺省值为22.将如下数据分别转换成文本数据或Excel的格式,并分别将其导入数据库的各个表中:学生情况表(XSQK):课程表(KC):成绩表(XS_KC ):3. 理解默认值的概念和作用①用语句创建名为Xi_default ,值为 “计算机系”的默认值②将默认值Xi_default 绑定到学生表中的所在系的属性列上③解除学生表所在系的属性列上的默认值④删除默认值Xi_default注:创建默认值的格式:create default 默认值名as ‘默认值’默认值绑定的格式:sp_bindefault 默认值名, <’表名.列名’︱自定义数据类型名称>解除默认值绑定格式:sp_unbindefault <’表名.列名’︱自定义数据类型名称>删除默认值格式:Drop default 默认值名4.理解规则的概念和作用①用语句创建规则“rule_kkxq”,用以限制插入该规则所绑定的列中的值只能取1、2、3、4、5、6②将“rule_ kkxq”规则绑定到课程表的开课学期属性上,并执行以下语句,看看能否正常执行,为什么:Insert into 课程表Values(109,'C语言','李方',8,64,4)不能正常执行,因为数值8不在规则rule_kkxq所绑定的数据范围内③若不解除规则,能否将规则rule_ kkxq直接删除?不能,需先解除规则才能删除规则rule_ kkxq注:创建规则的格式:create rule 规则名as @列名约束条件规则绑定的格式:sp_bindrule 规则名, <’表名.列名’︱自定义数据类型名称>解除规则绑定格式:sp_unbindrule <’表名.列名’︱自定义数据类型名称>删除规则格式:Drop rule 规则名5.数据的安全性实验:(1)设置身份验证模式①写出查看当前SQL Server身份验证模式的过程,即查看当前SQL Server系统到底是采用Windows身份验证还是混合身份验证模式。

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

本科生课程设计课程名称数据库原理及应用课程设计课程编号J1670101学号学生姓名所在专业所在班级指导教师成绩教师签字年月日课程设计时间:年月日至年月日目录目录设计总说明 (I)1、需求分析 (3)2、概念结构设计 (3)3、逻辑结构设计 (4)4、物理结构设计 (4)5、系统实现 ....................................................................................... 错误!未定义书签。

5.1前台界面 .................................................................................. 错误!未定义书签。

5.2 后台实现 .................................................................................. 错误!未定义书签。

6、优缺点及自我评价....................................................................... 错误!未定义书签。

7、参考文献 (7)设计总说明(1)系统开发目的学生信息管理系统是学校管理的重要工具,是学校不可或缺的部分。

随着在校大学生人数的不断增加,教务系统的数量也不断的上涨。

学校工作繁杂、资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。

并且这种传统的方式存在着很多的弊端,如:保密性差、查询不便、效率低,很难维护和更新等。

然而,本系统针对以上缺点能够极大地提高学生信息管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。

所以如何自动高效地管理信息是这些年来许多人所研究的。

(2)开发内容用数据库和Java相关技术开发一个学生信息管理系统(3)开发要求能够对学生信息进行简单的添加,删除和查询(4)开发环境及工具1、操作系统:Windows 72、数据库软件:SQL Server 20083、Java开发工具:Eclipse(5)系统功能简介一、学生管理1、添加学生信息。

可以按照图形的界面的显示依次输入新学生的“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。

完成新纪录的添加。

2、删除学生记录。

可以根据输入的“学号”或者”姓名”进行删除的操作。

二、学生查询3、查询学生信息。

用户可以选择通过“按姓名查询”,也可以选择“按学号查询”查询学生信息,查询到的信息会在窗口中显示出来。

三、文件退出(6)开发分工情况本系统由本人独立完成数据库原理及应用课程设计报告1、需求分析在一些学校等机构,随着学生数量的不断增加,学生的信息不断增多,人工管理信息的难度也越来越大。

而且效率也是很低的。

所以如何自动高效地管理信息是这些年来许多人所研究的。

随着这些年电脑计算机的速度质的提高,成本的下降,IT 互联网大众趋势的发展。

我们使用电脑高效率处理数据信息成为可能。

学生信息管理系统的出现,正是管理人员与信息数据,计算机进入互动时代的体现。

友好的人机交互模式,清晰简明的图形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手。

学生信息管理系统,以SQL 数据库作为后台信息存储,Java 作为前台系统的语言。

提供了对学生信息添加,查询,删除等功能。

实现了最基本的信息管理。

2、概念结构设计教师教师ID教师姓名登录密码 课程课程号教师ID课程名称成绩学号课程号3、逻辑结构设计StudentInfo 表:字段名 类型 空值 约束条件 学号 Char(10)not null 主键 姓名 varchar(10) 出生日期 datetime籍贯 varchar(50) 系号 char(2) not null外键班级号 char(6)not null 外键4、物理结构设计create table StudentInfo(学号 char(10) primary key , 姓名 varchar(10) , 性别 char(2) ,出生日期 datetime , 籍贯 varchar(50) ,成绩学生性别姓名学号籍贯班级号总人数登录密码籍贯 班级名称班级号班级管理员登录密码管理员ID系号char(2),班级号char(6) ,)5、系统实现5.1前台界面:5.2后台代码实现:见附录6、优缺点及自我评价由于时间仓促,本系统还有许多功能没有实现,也有一些漏洞。

同时,也因为自己掌握的知识不够扎实,不够全面,所以,这个学生信息管理系统只实现了一些简单的基本功能,其他功能还有待完善。

本次课程设计自我感觉很辛苦,但是受益匪浅。

因为数据库,Java这两门课的知识学的不够扎实,在设计过程中碰到了很多问题,刚开始要设计的时候,还真不知道从哪里下手,通过在百度、书本、同学的帮助下有些得到了解决,让我学会了好多书本上没有的东西,通过本次课程设计,逐渐能将课本上的知识应用到实际操作中,但是我发现我现在学到的知识还远远不够,要想做出一个功能比较全面,界面比较漂亮的系统还需要更多相关的知识。

所以,在接下来的日子里,我还有待加强学习。

在设计的过程中发现了自己的很多不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,导致设计系统的时候频频出现错误。

通过这次课程设计使我懂得了理论与实际相结合很重要,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正达到学以致用的目的,从而提高自己的实际动手能力和独立思考的能力。

7、参考文献(1)王珊,萨师煊.《数据库系统概论》[M],高等教育出版社,2014. (2)耿祥义,张跃平.《Java2实用教程》[M],清华大学出版社,2013.附录附录1、添加学生面板类的代码package jieweixiao;//导入系统的类包import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;//创建“添加学生面板”类public class AddStudentPanel extends JPanel implements ActionListener{//声明连接数据库对象Connection con;//声明SQL语句对象PreparedStatement st;//创建组件对象:标签、文本行、单选JLabel jLabel1=new JLabel("学号");JLabel jLabel2=new JLabel("姓名");JLabel jLabel3=new JLabel("性别");JLabel jLabel4=new JLabel("出生日期");JLabel jLabel5=new JLabel("籍贯");JLabel jLabel6=new JLabel("注意:出生日期格式为YYYY-MM-DD");JTextField jTextField1=new JTextField();JTextField jTextField2=new JTextField();JTextField jTextField3=new JTextField();JTextField jTextField4=new JTextField();JRadioButton jRadioButton1=new JRadioButton("男");JRadioButton jRadioButton2=new JRadioButton("女");ButtonGroup buttonGroup1=new ButtonGroup();JButton jButton1=new JButton("存入数据库");//构造方法public AddStudentPanel(){try{//调用初始化方法jbInit();}catch(Exception exception){exception.printStackTrace();}}//界面初始化方法private void jbInit() throws Exception{//连接数据库//con=new Connection();//创建一个statement对象来将SQL语句发送到数据库String url="jdbc:sqlserver://localhost:1433; DatabaseName=StudentManager";String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";Class.forName(driver);//加载驱动!con=DriverManager.getConnection(url,"sa","xjw1123");//连接数据库!String sql="insert into StudentInfo"+" values(?,?,?,?,?,?,?)";st=con.prepareStatement(sql);//框架的布局this.setLayout(null);//设置各组件的大小jLabel1.setBounds(new Rectangle(21,17,64,24));jLabel2.setBounds(new Rectangle(21,51,53,22));jLabel3.setBounds(new Rectangle(21,86,61,27));jLabel4.setBounds(new Rectangle(21,122,59,25));jLabel5.setBounds(new Rectangle(21,188,54,24));jLabel6.setBounds(new Rectangle(102,153,219,27));jTextField1.setBounds(new Rectangle(102,10,200,30));jTextField2.setBounds(new Rectangle(102,49,200,30));jTextField3.setBounds(new Rectangle(102,117,200,33));jTextField4.setBounds(new Rectangle(102,183,200,29));jRadioButton1.setBounds(new Rectangle(102,83,65,30));jRadioButton2.setBounds(new Rectangle(190,85,85,30));jButton1.setBounds(new Rectangle(103,217,180,30));//设置单选按钮被选中jRadioButton1.setSelected(true);//添加按钮动作事件jButton1.addActionListener(this);//添加组件到面板this.add(jTextField1);this.add(jLabel1);this.add(jLabel2);this.add(jTextField2);this.add(jRadioButton1);this.add(jRadioButton2);this.add(jLabel3);this.add(jLabel4);this.add(jTextField3);this.add(jLabel6);this.add(jTextField4);this.add(jLabel5);this.add(jButton1);buttonGroup1.add(jRadioButton1);buttonGroup1.add(jRadioButton2);}//点击按钮事件//事件相应器当你定义的事件捕捉以后就会执行这个里面的代码public void actionPerformed(ActionEvent e){//获取用户输入的信息String xuehao=jTextField1.getText();String xingming=jTextField2.getText();String xingbie="";if(jRadioButton1.isSelected())xingbie+="男";if(jRadioButton2.isSelected())xingbie+="女";String dateString=jTextField3.getText();String jiguan=jTextField4.getText();try{//设置日期格式//st.execute("set dateformat ymd");//利用st对象执行SQL语句,进行插入操作st.setString(1,xuehao);st.setString(2,xingming);st.setString(3,xingbie);st.setString(4,dateString);st.setString(5,jiguan);st.setString(6,"");st.setString(7,"");st.executeUpdate();//清空文本行的内容jTextField1.setText("");jTextField2.setText("");jTextField3.setText("");jTextField4.setText("");//利用消息对话框提示删除操作成功JOptionPane.showMessageDialog(this,"插入成功!");}catch(Exception ex){//利用消息对话框提示不能插入,并显示异常的信息JOptionPane.showMessageDialog(this,ex);//ex.printStackTrace();}}}2、删除学生面板类的代码package jieweixiao;//导入系统的类包import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;//创建“删除学生面板”类public class DeleteStudentPanel extends JPanel implements ActionListener{//声明连接数据库对象Connection con;//声明SQL语句对象Statement st;//创建组件对象JLabel jLabel1=new JLabel("请输入待删除的学生的学号:");JTextField jTextField1=new JTextField();JButton jButton1=new JButton("删除");//构造方法public DeleteStudentPanel(){try{//调用初始化方法jbInit();}catch(Exception exception){exception.printStackTrace();}}//界面初始化方法private void jbInit() throws Exception{//连接数据库//con=DBConnect.getConn();String url="jdbc:sqlserver://localhost:1433; DatabaseName=StudentManager";String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";Class.forName(driver);//加载驱动!con=DriverManager.getConnection(url,"sa","xjw1123");//连接数据库!st=con.createStatement();//框架的布局this.setLayout(null);//设置各组件的大小jLabel1.setFont(new java.awt.Font("宋体",Font.BOLD,14));jLabel1.setBounds(new Rectangle(70,20,200,30));jTextField1.setBounds(new Rectangle(70,80,207,41));jButton1.setBounds(new Rectangle(70,175,205,36));//添加按钮动作事件jButton1.addActionListener(this);//添加组件到面板this.add(jLabel1);this.add(jTextField1);this.add(jButton1);}//点击按钮事件public void actionPerformed(ActionEvent e){//获取用户输入的学号String xuehao=jTextField1.getText();//要求用户确认删除if(JOptionPane.showConfirmDialog(this,"确认要删除吗?")==JOptionPane.YES_OPTION){try{//利用st对象执行SQL删除操作st.executeUpdate("delete from StudentInfo where 学号='"+xuehao+"'");//利用消息对话框提示删除操作成功JOptionPane.showMessageDialog(this,"删除操作成功!");//清空输入学号的文本行jTextField1.setText("");}catch(Exception ex){//利用消息对话框提示不能删除JOptionPane.showMessageDialog(this,"删除操作执行失败!");}}}}3、按姓名查询学生面板类的代码package jieweixiao;import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;//创建“添加学生面板”类public class InquireOnNamePanel extends JPanel implements ActionListener {//声明连接数据库对象Connection con;//声明SQL语句对象Statement st;//创建组件对象:标签、文本行、单选JLabel jLabel1=new JLabel("请输入待查询的学生的姓名:");JTextField jTextField1=new JTextField();JButton jButton1=new JButton("按姓名查询");JScrollPane jScrollPane1=new JScrollPane();JTextArea jTextArea1=new JTextArea();//构造方法public InquireOnNamePanel(){try{//调用初始化方法jbInit();}catch(Exception exception){//exception.printStackTrace();}}//面板初始化方法private void jbInit() throws Exception{//连接数据库//con=DBConnect.getConn();String url="jdbc:sqlserver://localhost:1433; DatabaseName=StudentManager";String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";Class.forName(driver);//加载驱动!con=DriverManager.getConnection(url,"sa","xjw1123");//连接数据库!st=con.createStatement();//框架的布局this.setLayout(null);//设置各组件的大小jLabel1.setFont(new java.awt.Font("宋体",Font.BOLD,14));jLabel1.setBounds(new Rectangle(80,10,200,34));jTextField1.setBounds(new Rectangle(80,50,200,30));jButton1.setBounds(new Rectangle(100,90,160,30));jScrollPane1.setBounds(new Rectangle(29,125,308,130));//添加按钮动作事件jButton1.addActionListener(this);//添加组件到面板this.add(jScrollPane1);jScrollPane1.getViewport().add(jTextArea1);this.add(jLabel1);this.add(jTextField1);this.add(jButton1);}//点击按钮事件public void actionPerformed(ActionEvent e){//获取用户输入的姓名String xingming=jTextField1.getText();//清空文本区原有的内容jTextArea1.setText("");//要求用户确认删除try{//利用st对象执行SQL语句,返回结果集对象ResultSet rs=st.executeQuery("select * from StudentInfo where 姓名='"+xingming+"'");//处理结果集:逐条显示结果集中的记录while(rs.next()){jTextArea1.append(rs.getString("学号")+" "+rs.getString("姓名")+" "+rs.getString("性别")+" "+rs.getDate("出生日期")+" "+rs.getString("籍贯")+"\n");}}catch(Exception ex){//利用消息对话框提示查询失败JOptionPane.showMessageDialog(this,"查询失败!");}//清空文本行的内容jTextField1.setText("");}}4、按学号查询学生面板类的代码package jieweixiao;//导入系统的类包import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;//创建“添加学生面板”类public class InquireOnXHPanel extends JPanel implements ActionListener{//声明连接数据库对象Connection con;//声明SQL语句对象Statement st;//创建组件对象:标签、文本行、单选JLabel jLabel1=new JLabel("请输入待查询的学生的学号:");JTextField jTextField1=new JTextField();JButton jButton1=new JButton("按学号查询");JTextArea jTextArea1=new JTextArea();//构造方法public InquireOnXHPanel(){try{//调用初始化方法jbInit();}catch(Exception ex){JOptionPane.showMessageDialog(this,ex+"00");}}//面板初始化方法private void jbInit() throws Exception{//连接数据库//con=DBConnect.getConn();String url="jdbc:sqlserver://localhost:1433; DatabaseName=StudentManager";String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";Class.forName(driver);//加载驱动!con=DriverManager.getConnection(url,"sa","xjw1123");//连接数据库!st=con.createStatement();//框架的布局this.setLayout(null);//设置各组件的大小jLabel1.setFont(new java.awt.Font("宋体",Font.BOLD,16));jLabel1.setBounds(new Rectangle(46,4,222,32));jTextField1.setBounds(new Rectangle(47,37,247,31));jButton1.setBounds(new Rectangle(47,86,247,30));jTextArea1.setBounds(new Rectangle(24,130,305,109));//添加按钮动作事件jButton1.addActionListener(this);//添加组件到面板this.add(jLabel1);this.add(jTextField1);this.add(jTextArea1);this.add(jButton1);}//点击按钮事件public void actionPerformed(ActionEvent e){//获取用户输入的学号String xuehao=jTextField1.getText();//清空文本区原有的内容jTextArea1.setText("");try{//利用st对象执行SQL语句,返回结果集对象ResultSet rs=st.executeQuery("select * from StudentInfo where 学号="+xuehao);//处理结果集:逐条显示结果集中的记录//此处没有使用while,因为学号是唯一的,而姓名不是,所以在InquireOnNamePanel.java里使用了whileif(rs.next()){jTextArea1.append(rs.getString("学号")+" "+rs.getString("姓名")+""+rs.getString("性别")+" "+rs.getDate("出生日期")+" "+rs.getString("籍贯")+"\n");}else{JOptionPane.showMessageDialog(this,"没有这个学号!");}}catch(Exception ex){//利用消息对话框提示查询失败JOptionPane.showMessageDialog(this,"查询失败!+00");}//清空文本行的内容jTextField1.setText("");}}5、系统主界面类的代码package jieweixiao;//导入系统的包import java.awt.*;import java.awt.event.*;import javax.swing.*;//创建主界面类public class MainFrame extends JFrame implements ActionListener {//创建内容面板JPanel contentPane;//创建菜单栏(见267页的图12.1里的菜单栏)JMenuBar jMenuBar1=new JMenuBar();JMenu jMenuFile=new JMenu("文件");JMenuItem jMenuFileExit=new JMenuItem("退出");JMenu jMenu1=new JMenu("学生管理");JMenuItem jMenuItem1=new JMenuItem("添加学生");JMenuItem jMenuItem2=new JMenuItem("删除学生");JMenuItem jMenu3=new JMenuItem("学生信息修改");JMenu jMenu2=new JMenu("学生查询");JMenuItem jMenuItem3=new JMenuItem("按姓名查询");JMenuItem jMenuItem4=new JMenuItem("按学号查询");//创建标签,用于显示信息JLabel jLabel1=new JLabel("欢迎使用学生信息管理系统");JLabel jLabel2=new JLabel("2015-数据库课程设计");//构造方法,创建对象时自动调用public MainFrame(){try{//关闭框架窗口时的默认事件方法setDefaultCloseOperation(EXIT_ON_CLOSE);//调用初始化方法jbInit();}catch(Exception exception){exception.printStackTrace();}}//界面初始化方法private void jbInit() throws Exception{//创建内容面板和其布局contentPane =(JPanel) getContentPane();contentPane.setLayout(null);//框架的大小和其标题setSize(new Dimension(400,320));setTitle("学生信息管理系统");//添加事件监听器jMenuFileExit.addActionListener(this);jMenuItem1.addActionListener(this);jMenuItem2.addActionListener(this);jMenuItem3.addActionListener(this);jMenuItem4.addActionListener(this);jMenu3.addActionListener(this);//添加菜单条setJMenuBar(jMenuBar1);//添加菜单组件到菜单条jMenuBar1.add(jMenuFile);jMenuBar1.add(jMenu1);jMenuBar1.add(jMenu2);jMenuBar1.add(jMenuFileExit);//添加菜单项组件到菜单组件jMenuFile.add(jMenuFileExit);jMenu1.add(jMenuItem1);jMenu1.add(jMenuItem2);jMenu1.add(jMenu3);jMenu2.add(jMenuItem3);jMenu2.add(jMenuItem4);//添加标签到内容面板contentPane.add(jLabel1);contentPane.add(jLabel2);//设置标签组件的大小和字体jLabel1.setFont(new java.awt.Font("宋体",Font.BOLD,20));jLabel1.setBounds(new Rectangle(65,70,275,55));jLabel2.setFont(new java.awt.Font("宋体",Font.BOLD,16));jLabel2.setBounds(new Rectangle(90,150,200,35));}//菜单事件的处理方法public void actionPerformed(ActionEvent actionEvent){//点击“文件”菜单下的“退出”菜单项if(actionEvent.getSource()==jMenuFileExit){System.exit(0);}//点击“学生管理”菜单下的“添加学生”菜单项if(actionEvent.getSource()==jMenuItem1){//创建添加学生面板对象AddStudentPanel add=new AddStudentPanel();//移除主界面上原有的内容this.remove(this.getContentPane());this.setContentPane(add);//令界面可见this.setVisible(true);}//点击“学生管理”菜单下的“删除学生”菜单项if(actionEvent.getSource()==jMenuItem2){//创建删除学生面板对象DeleteStudentPanel delete=new DeleteStudentPanel();//移除主界面上原有的内容this.remove(this.getContentPane());this.setContentPane(delete);//令界面可见this.setVisible(true);}//点击“学生查询”菜单下的“按姓名查询”菜单项if(actionEvent.getSource()==jMenuItem3){//创建“按姓名查询”面板对象InquireOnNamePanel onName=new InquireOnNamePanel();//移除主界面上原有的内容this.remove(this.getContentPane());this.setContentPane(onName);//令界面可见this.setVisible(true);}//点击“学生查询”菜单下的“按学号查询”菜单项if(actionEvent.getSource()==jMenuItem4){//创建“按学号查询”面板对象InquireOnXHPanel onXH=new InquireOnXHPanel();//移除主界面上原有的内容this.remove(this.getContentPane());this.setContentPane(onXH);//令界面可见this.setVisible(true);}if(actionEvent.getSource()==jMenu3){update xiugai=new update();//移除主界面上原有的内容this.remove(this.getContentPane());this.setContentPane(xiugai);//令界面可见this.setVisible(true);}}}6、系统主函数类的代码package jieweixiao;//导入系统的包import java.awt.*;import javax.swing.*;//创建主系统类class Main{public static void main (String[] args){//创建主界面MainFrame frame=new MainFrame();//获取屏幕尺寸Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();//获取主界面的窗体尺寸Dimension frameSize =frame.getSize();//令主界面窗体居中if(frameSize.height>screenSize.height)frameSize.height=screenSize.height;if(frameSize.width>screenSize.width)frameSize.width=screenSize.width;frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.he ight)/2);//令主界面显示frame.setVisible(true);}}。

相关文档
最新文档