第一篇:数据库实训心得(最终版)
课程设计报告
题目:学生选课系统数据库的设计与实现
课 程 名 称:__ 数据库课程设计
学 院:__ 信息工程学院___________
专 业 班 级:__ 14计算机专(1)班 ______
学 号:__ 2014039060 _
姓 名:__ 史腾卫 _________
指 导 老 师:__ 阮丹丹___________
2014–2015 第二学期
目录
一、课程设计时间.........................................................2
二、课程设计地点.........................................................2
三、课程设计目的.........................................................2
四、课程设计任务及要求...................................................2
五、课程设计内容.........................................................3
六、课程设计心得.........................................................7
I
一、课程设计时间
此次课程设计是从2015年3月30号开始,至2015年4月3号结束,为期一周。
二、课程设计地点
实验楼S5-507机房
三、课程设计目的
目的:
《数据库课程设计》实训教学的主要目的是结合实际案例,通过实验、实习,培养学生的对数据库软件的应用能力,熟练使用几种数据库开发技术的工具,比如SQL Server 2008。让学生掌握数据库、数据表、信息、视图等相关概念,熟悉数据库的基本操作,学会使用SQL语句,能够动手设计出一个简单的数据库系统,并完成数据库的基本操作。
四、课程设计任务及要求
任务:
(1)熟悉SQL Server 2005安装配置及数据库的建立和管理。(2)学会通过SQL语句创建与管理数据表。
(3)学生数据库软件的一些基本操作,增添、删除、查询、修改数据等。(4)理解数据存储的过程,掌握存储过程的执行方法和存储过程的管理和维护。(5)了解视图的概念,掌握创建视图、测试、加密视图的方法,掌握用视图管理数据的方法。
(6)理解存储过程概念、类型;掌握各种存储过程创建方法和查看、修改、删除存储过程方法。
五、课程设计内容
5.1创建数据库
数据库代码如下:
USE master GO IF EXISTS(SELECT *FROM sysdatabases WHERE NAME='学生选课系统')DROP DATABASE 学生选课系统 CREATE DATABASE 学生选课系统
GO 数据库如图:
图一创建数据库
5.2创建数据表
创建数据表的代码如下: USE 学生选课系统
--创建数据表Student CREATE TABLE Student(Sno char(8)not null primary key,--学号 Sname varchar(12)not null, Sex char(2)not null default '男', Birth smalldatetime not null, Classno char(3)not null, Entrance_date smalldatetime
not null, Homeaddr varchar(40)not null,)create table Course(Cno char(3)not null primary key,--课程号 Cname varchar(20)not null,--课程名称 Total_perior smallint,--总学时 Credit tinyint,--学分
check(Total_perior>3 and Credit>0 and Credit<=6))
create table SC(primary key(Sno,Cno), Sno char(8)not null foreign key references Student(Sno),--学号
Cno char(3)not null foreign key references Course(Cno),--课程号
Grade tinyint,--成绩
check(Grade>=0 and Grade<=100))如图所示:
图二创建数据表
5.3添加和删除约束
代码如下:
DROP TABLE SC DROP TABLE Student DROP TABLE Course
--向Student表中增加身高列 alter table Student add Stature numeric(4,2), constraint ck_Stature check(Stature<3.0)--向Student表中增加系别 ALTER TABLE Student ADD Sdept char(8)not null--向Student表中增加身邮政编码 alter table Student add Postcode char(6), constraint ck_ps check(Postcode like '[0-9][0-9][0-9][0-9][0-9][0-9]')--删除Student表中的身高列 alter table Student drop ck_Stature alter table Student drop column Stature
alter table Student add constraint ck_date check(Birth alter table SC add constraint ck_grade default(0)for Grade 5.4插入数据 向数据表中插入数据 插入数据代码如下: insert into Student values('20110001','张虹','男','1992-09-11','051', '2011-09-01','南京','计算机系','200413')insert into Student values('20110002','林红','女','1991-08-11','051', '2011-09-01','南京','计算机系','200413')insert into Student values('20110003','林浩','男','1993-09-11','061', '2011-09-01','上海','软件工程','200413')insert into Student values('20110004','方波','男','1990-09-11','061','2011-09-01','武汉','通信工程','200413')insert into Student values('20110005','李华','女','1988-09-11','052', '2011-09-01','重庆','通信工程','200413')insert into Student values('20110105','刘小方','女','1992-09-11','052', '2011-09-01','南昌','软件工程','200413')insert into Student values('20110103','宋江','男','1988-09-11','052', '2011-09-01','南昌','软件工程','200413')如图所示 图三插入数据 5.5查询表中数据 select * from Student_20103322 where Sname like '张%' 如图所示: 图四查询数据 六、课程设计心得 从这次试训中让我们更明白了一些知识,表是数据库最重要的一个数据对象,表的创建好坏直接关系到数据库的成败,表的内容是越具体越好,但是也不能太繁琐,以后在实际运用中使用多表,对表的规划和理解就会越深刻。通过这次试训,让我深刻的了解到自己的不足,要想对进行数据库更深的学习,自己得要多看有关的课外书籍,并多做练习,不懂得要多问同学和请教老师,以解决自己遇到的难题,知道更多的知识。实训不仅是让我们在实践中对理论知识的验证,也让我们知道我们多学的知识在社会上的运用,把所学知识和企业商业接轨。 这次实训,不仅让我们学到了许多有关数据库的知识,老师也给我们讲了很多社会现状和就业情况,让我们不同的角度了解这个专业的就业趋势。让我们在今后的学习中更有动力的充实自己,曾加自己的知识面和锻炼自己各方面能力。 一个月的数据库实训就转眼间就上完了,期间讲解了一个学生管理系统,最后还做了一个小的数据库链接作业。现在就说说关于vb链接的数据库的一些方法。 首先说数据库,简单的说就是建表格,然后把一张一张的表格和在一起,成为一大堆的数据集合。他是依照某种数据结构组织起来并存放二级存储器中的数据集合,基本分为三个层次,物理数据层,概念数据层和逻辑数据层。不同层次间的联系是通过映射来转换的。 大多数vb链接数据库都使用ado控件,他可以分为分为有源数据库和无源数据库,即是否使用了dsn数据源。在连接数据库前首先要在vb菜单中“工程”-“引用”或“部件”从中选择 microsoft activex data objects 2.6 library和 microsoft activex data objects recordset 2.6两个组件,然后定义链接的对象,用什么名字由自己决定。下面的代码也要由自己建立的数据库来具体设置参数。 set db = new adodb.connection set xs = new adodb.recordset conn.connectionstring = “dsn=login;uid=;pwd=;” conn.connectiontimeout = 30 conn.open rs.open “select 用户名 from login”, conn, adopenstatic, adlockreadonly, adcmdtext dim i as string for t = 0 to val(rs.recordcount)-1 i = trim(rs.fields(“用户名”).value) rs.movenext combo1.additem i next t rs.close 这样数据库也就基本上链接好了。 实训心得 时光飞逝,我们的实训生活就要结束了。经过短暂的一个星期的实训,我们学习到了许多以前不懂的操作、知识,也明白了实践的重要性,更意识到了自己在计算机上还有许多不足。而最让我感触深刻的是团队精神的重要。 在操作中,我们遇到许多问题,比如我在建立表的途中,许多数据在输入时,经常出现问题,不是这边出错就是那边出错,不过后来也解决了问题,完成了表的建立和所需的前提工作。在后来的操作中,我们遇到了更多地问题。曾经老师讲过的步骤也听得懂,可一实践就重重受阻,就在我们非常焦急,想“怠工”时,我们队员相互鼓励,相互帮助,一步一步做,仔仔细细,一个一个排查错误,遇到不会的酒请教他人。最后总算是功夫没白费,我们用自己的双手完成了自己的任务,当时心里感到特别的有成就感。当然这还是要感谢我的队员们,一群可爱的人。 我感触最深的是我们大家一起做查询、报表、窗体„„时那种投入,努力的精神。虽然在做查询时有好多查询步骤都没有做成功,但是我们努力了,共同合作过,那么就要相信自己,向老师请教,解决问题,不会的操作就要学会,使我们这次的实训成为真正的锻炼。通过这次实训,我们对电脑有了更深刻的认识,更让我有机会体验做系统程序的过程是不易的。这将会成为我一生中的宝贵经验,也会激发我对电脑操作的学习。我明白只有不断学习,不断充实,才能够提高自己的能力。更要感谢我们一起的团队,大家的相互激励帮助 才完成了今天的任务,这种动力是无穷的。我想说这次实训令我今生难忘,途中的心酸,快乐会让我回味无穷。可爱的同伴们,我们的友谊永留心间,我们是最棒的! 12:update sc set grade=grade+5 where cno='c01' 运行结果: 13:delete sc where cno=(select cno from course where cname ='高等数学')运行结果: 14:create unique index ind_cname on course(cname)运行结果: 1:use school go create view avggrade as select s.sdept,avg(sc.grade)as'avggrade' from student s,sc sc where s.sno=sc.sno and sc.grade is not null group by s.sdept go select * from avggrade go 实训报告 实训课程: JAVA WEB项目实训 实训名称: JAVA项目实训综合能力培养 实训地点:中国江苏无锡国家软件园巨蟹座C601 学生姓名:胥康 学号:140703133 指导教师:张志华 实训时间:2016年7月22日 实训数据库MySQL与JAVA 编程 一、实训目的 熟悉扫描器结构及工作原理,监测输入实训结果分析,通过该实训,从设计到性能测试完成完整的实训流程,锻炼同学编程能力、测试能力、设计能力、全局把控能力、学习能力、动手能力和分析问题能力等。 二、实训内容 1、设计好数据库结构,录入测试数据五条以上。 2、通过标准Statement语句对象,完成增删改查四个类编程。 三、实训器材 教学投影机一台、个人笔记本电脑一台、本地服务器一台(教师机) 四、实训步骤与结果 /** *功能:完成数据查询 */ package com.ec; import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;/** * @author xukang * */ public class SelectData { /** * @paramargs * */ public static void main(String[] args)throws Exception{ Class.forName(“com.mysql.jdbc.Driver”); String url=“jdbc:mysql://localhost:3306/ECDB1?useSSL=false”; String user=“root”; String password=“12345678”; Connection conn=DriverManager.getConnection(url,user,password); Statement st=conn.createStatement(); String sql=“select * from ware”; ResultSet r=st.executeQuery(sql); while(r.next()){ System.out.println(r.getInt(1)+“t”+r.getString(2)+“t”+r.getFloat(3)+“t”+r.getString(4)+“t”+r.getString(5)+“t”+r.getString(6)); } r.close(); st.close(); conn.close(); // TODO Auto-generated method stub } } /** * 功能:完成数据插入工作 */ package com.ec; import java.net.PasswordAuthentication;import java.sql.Connection;import java.sql.DriverManager;import java.sql.Statement;/** * @author xukang * */ public class InsetData { /** * @paramargs */ public static void main(String[] args)throws Exception{ Class.forName(“com.mysql.jdbc.Driver”); String url=“jdbc:mysql://localhost:3306/ECDB1?useSSL=false”; String user=“root”; String password=“12345678”; Connection conn=DriverManager.getConnection(url,user,password); Statement st=conn.createStatement(); //关键点:查询---executeQuery()增删改-----executeUpdate()/executeLargeUpdate() String sql=“insert into ware values(10,'蛋糕',100.0,'快乐','黄色','徐州')”; st.executeUpdate(sql); // TODO Auto-generated method stub st.close(); conn.close(); } } /** * */ package com.ec; import java.sql.Connection;import java.sql.DriverManager;import java.sql.Statement; import org.omg.PortableInterceptor.USER_EXCEPTION; import com.mysql.jdbc.Driver;/** * @author asus * */ public class UpdateData { /** * @param args */ public static void main(String[] args)throws Exception{ Class.forName(“com.mysql.jdbc.Driver”); String url=“jdbc:mysql://localhost:3306/ECDB1?useSSL=false”; String user=“root”; String password=“12345678”; Connection conn=DriverManager.getConnection(url,user,password); Statement st=conn.createStatement(); String sql=“update ware set name='飞机' where id=6”; st.executeUpdate(sql); st.close(); conn.close(); // TODO Auto-generated method stub } } /** * */ package com.ec; import java.sql.Connection;import java.sql.DriverManager;import java.sql.Statement;/** * @author xukang * */ public class DeleteData { /** * @paramargs */ public static void main(String[] args)throws Exception{ Class.forName(“com.mysql.jdbc.Driver”); String url=“jdbc:mysql://localhost:3306/ECDB1?useSSL=false”; String user=“root”; String password=“12345678”; Connection conn=DriverManager.getConnection(url,user,password); Statement st=conn.createStatement(); String sql=“delete from ware where id=10”; st.executeUpdate(sql); st.close(); conn.close(); // TODO Auto-generated method stub } } 五、分析与结论 针对实训的测试结果其中重要的结论如下: 通过扫描器课题的实训课程的学习,掌握了java基本扫描器工作原理、结构设计,形成了完整的java的认识,激发了对java的研究兴趣,同时通过该课程锻炼了自己的针对目标的学习能力、分析能力和动手能力。第二篇:数据库实训心得
第三篇:Access数据库实训心得
第四篇:数据库实训
第五篇:数据库实训报告