苏州科技学院环境学院
专业名称:地理信息系统
课程名称:数据库实习
实 习 报 告
专业班级地信1011
学 号 102020****
姓 名 ***
实习地点资源与信息工程实验室
指导教师 杜**
20##年7月
数据库实习报告书写内容要求
一、 实习项目名称
DOTA屌丝玩家管理系统
二、 实习内容
1、 系统技术路线
这次实习中使用到了SQLServer20##、VB6.0软件,以及ADO、ODBC技术。先是修改SQL Sever中修改配置参数,然后在SQLServer中创建所需数据库,再在数据库中创建所需要的各个表;其次是在VB中设置配置参数,使VB能够通过ODBC关系数据源同数据库相连接;第三步是在控制面板中创建数据源,使得此数据源能把SQL Server数据库和VB应用程序连接 第四步就是vb窗体和程序设计。
ADO,即Active数据对象(Active Data Objects):实际是一种提供访问各种数据类型的连接机制。ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口相连。用户可以使用任何一种ODBC数据源,即不仅适合于SQL Server、Oracle、Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件。ADO是基于OLE-DB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。
Microsoft在Visual Basic 6.0以后的版本都集成了ADO。它与以前Visual Basic的DAO、RDO相比有了很大的提高。DAO(Data Access Objects)即数据访问对象,是一种面向对象的界面接口。通过DAO/Jet功能可以访问ISAM数据库,使用DAO/ ODBC Direct功能可以实现远程RDO功能。RDO(Remote Data Objects)即远程数据对象,为使用代码来创建和操作一个远程ODBC数据库系统的各个部件提供了一个框架。RDO是ODBC API的一个浅层界面接口,是专为访问远程ODBC关系数据源而设计的。
ODBC,即开放数据库互连(Open Database Connectivity,ODBC)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。
2、 系统数据库的设计与实现
1)数据库的需求分析
此系统需要建一个名为DOTA的数据库,此数据库包含两个表,分别是玩家注册信息表dotaerinfo.dbo和管理员信息表userinfo.dbo。此数据库要求实现管理员登陆以及修改密码并且进行玩家信息注册,玩家信息修改以及玩家信息查询等功能。
2)数据库的概念设计
E-R模型
3)数据库的逻辑设计
根据以上E-R概念模型可以导出各关系,有两个实体,分别是管理员和游戏玩家。管理员的属性有:用户名和密码;玩家的属性有:帐号、昵称、性别、出生日期、注册日期、联系电话、默认游戏类型、家庭地址和备注。
4)数据库的物理实现
创建数据库:
创建表:
视图
3、系统设计与实现
1)系统需求分析
刚开始程序运行第一步是登陆界面,用sa登陆然后就进入了管理界面MDI窗体,就可以进行各种操作,添加用户,修改密码以及添加或修改玩家信息查询玩家个人信息,这些操作都直接通过数据源运用到数据库的相应的表中。
2)系统总体界面设计
登陆界面:
添加管理员:
3)系统功能模块
三、 结语
实习过程中的问题。
第一个问题是SQL Server的设置和visual Basic 的设置。由于老师的实验指导书上是SQL Server 2000而我们机房里的是SQL Server 2008,自己装的又是SQL Server 2005貌似好多不同,刚开始找不到,后来旁边的同学问了老师才解决掉。
第二个问题就是创建数据源的问题。指导书上的设置SQL Server验证始终存在问题,弄了半天,只好请教同学了,后来在同学的细心指导下终于建成功了,原来可能是指导书上的版本太老了。而且后来发现在不同的电脑上做都要重新建数据源。
第三个问题就是vb代码的问题了。参照老师的指导书上的学生管理信息系统代码还是有一大堆错误,刚开始忽略了MdI窗体,直接在form窗体上建了系统菜单,后来发现太愚昧了。还有就是借鉴老师的代码,就必须修改对应窗体以及和数据库一致的控件等。本人是个粗心的人,总是遗漏各种小问题,这几天就是被各种问题搅得头大了。
体会
经过这次的数据库管理与应用实习,我个人得到了不少的收获,一方面加深了我对课本理论的认识,另一方面也提高了数据库实战操作和编程开发能力。现在我总结了以下的体会和经验。
这次的实验我觉得是真真正正的自己亲自去完成。所以是我觉得这次实习最宝贵,最深刻的。我们必须要弄懂所需建立系统的基本原理以及实现的功能。在这里我深深体会到理论对实践的指导作用,亲自开动脑筋,亲自去请教别人才能得到提高的。
我们做系统要有自己的想法和设计,实习内容总是与课本知识相关的,只要我们好好回顾课本的知识,知道实习时将要干什么,怎么样实现自己想要的功能。同时我们做数据库管理系统不要一成不变和有意模仿,一味抄袭老师的例子,应该有改良创新的精神。
在实习的过程中我们要培养自己的独立分析问题,和解决问题的能力。培养这种能力的前题是你对这次实习的态度。态度决定一切。
这次数据库实习不管从哪个角度来讲都是一个非常有意义的。我们不仅学到了数据库的知识,而且也让我们重温了一下VB,把我们大学里的两门计算机课程有机的结合了起来。本人开发的是一个DOTA游戏玩家管理系统,由于本人平时喜欢玩DOTA,所以萌生这个想法,咱要理论联系实际是不是。虽然这个系统比较简单,但足以体现咱们所学的知识,总之这次实习获益匪浅。
第二篇:数据库实习报告:图书管理系统
湖南通信职业技术学院
数据库课程实训报告
设计题目:学院图书管理系统
学生姓名:严倩
系 别:计算机系
专 业:计算机管理
班 级:计管091
学 号:200902030150
指导教师: 邹薛标
20##年12月1日
目录
一、概述
1.1项目背景……………………………………………………………3
1.2课程设计目的………………………………………………………3
1.3题目名称……………………………………………………………3
1.4开发环境……………………………………………………………3
二、需求分析
2.1 基本要求 ………………………………………………………4
2.2 实现的方法 ……………………………………………………4
三、数据库设计
3.1 概念模型设计………………………………………………………4
3.2 逻辑数据库设计……………………………………………………5
3.3 数据库的物理设计…………………………………………………6
四、系统实现的具体功能和创建的各类代码…………………………………7
五、实训心得……………………………………………………………………10
一、概述
1.1 项目背景
图书管理系统是学院图书馆事务管理的一个重要内容,管理图书馆的各种信息,对学院图书馆来说是很重要的,这也是图书管理员的一个大问题。在这种情况下,一个可以规范化,自动化的图书管理系统对于图书馆来说显得至关重要。
最初的图书管理,都是靠人力完成,在图书馆规模比较小的时候,人力可以很好完成,但随着规模的增大,图书数量越来越多,这种管理的压力也越来越大,各种弊端显示出来。网络的到来给这带来了很大的便利,特别是对于图书管理员来说。
1.2课程设计目的
1. 熟悉大型数据库管理系统的结构与组成;
2. 熟悉数据库应用系统的设计方法和开发过程;
3. 掌握一种数据库管理系统SQL SERVER2005的应用技术;
4. 熟悉数据库设计工具的使用;
5. 熟悉数据库安全的相关知识和技术;
6. 熟悉数据库系统的管理和维护。
1.3题目及要求
题目:学院图书管理系统
图书管理员可以通过图书编号来查询到该图书的详细资料,并且查询出该书的借出还入情况,以及借书者的个人资料等,该系统为图书管理员的管理提供了方便快捷。
要求:
1. 充分了解软件设计的全过程。
2. 从开始的系统需求分析到最后的代码编写,都要有详细的计划,设计文档应按照课程设计的要求书写。
3. 系统中的数据表设计应合理、高效,尽量减少数据冗余。
4. 数据库及表要易于维护、方便升级。
5. 必须包括数据库、表、查询、数据录入、删除、更新、约束建立等代码每人提交一个实训报告和可行的运行代码。
1.4 设计环境
1)、操作系统:windows XP
2)、数据库系统:Microsoft SQL Server 2005企业版
二、需求分析
2.1 基本要求
按照题目的要求,要实现的基本功能有以下几条:
1)能够输入图书的综合情况和进行新书入库、现有图书信息修改以及删除;
2)能够实现对读者档案的查询和编辑管理;
3)能够进行罚款功能;
4)能够进行借阅历史的查询功能;
2.2 实现方法
按照要求,实现管理员的登录权限:
1)提供管理员对图书明细查询的功能;
2)管理员对图书等具有查询和修改权限;
3)按照借书的基本流程进行信息管理;
三、数据库设计
3.1 概念模型设计
3.2 逻辑数据库设计
针对图书管理信息系统的需求,通过对借书流程的分析,设计如下面的数据项和数据结构:
管理员信息表,包括的数据项有:(管理员编号、姓名、密码、);
学生信息表,包括的数据项有:(学号、姓名、班级、性别、年龄、住址);其中,学生学号设为主键约束;
图书信息表,包括的数据项有:(图书编号、图书名称、图书作者、图书价格、作者性别、图书语言、出版日期、出版社);其中图书编号设为主键约束;
借书信息表,包括的数据项有:(图书编号、借出时间、还书时间、学生编号);
图书更换信息表,包括的数据项有:(图书编号、损坏或丢失时间、更换时间);
3.4 数据库的物理设计
完成了数据库的逻辑设计之后,即可开始数据库的物理设计。基于以上数据库逻辑设计,考虑到程序设计的简易性及通用性,本图书管理信息系统采用的SQL Servier数据库,并在其下创建了5个数据表。
管理员----- management
学生----- stuinfo
图书-----bookinfo
借书记录-----lendinfo
图书更换-----change
四、系统实现的具体功能和创建的各类代码
create table management -----创建表
(
adno varchar (10), -----管理员编号
adname varchar(10)not null, -----管理员姓名
admima varchar(20)not null, -----登录密码
);
insert into management values('20030901','jak','adimi1');
insert into management values('20030902','jim','adimi2');
insert into management values('20030903','jay','adimi3');-----插入数据
select * from management -----查询语句
create table stuinfo -----创建表
(
stuno varchar(20)primary key not null -----学号
constraint chk_stuno -----check 约束语句
check(stuno like'2008090203[0-5][0-9]'),
stuname varchar(10)not null,
class varchar(20)not null,
stusex char(2)not null
constraint chk_stusex
check(stusex in('男','女')),
birthday datetime,
stuplace varchar(50)
)
insert into stuinfo values('200809020301','jack','stu2','男','1986-05-10','湖南');
insert into stuinfo values('200809020302','jack','stu2','男','1986-05-10','湖南');
insert into stuinfo values('200809020303','jack','stu2','男','1986-05-10','湖南');
insert into stuinfo values('200809020304','jack','stu2','男','1986-05-10','湖南');
update stuinfo
set stuname='meggie',stusex='女'
where stuno='200809020301' -----数据更新语句
delete stuinfo where stuno='200809020302' -----数据删除语句
select * from stuinfo
go
create table bookinfo
(
bookno varchar(20)not null primary key ,
bookname varchar(20)not null,
bookauthor varchar(20)not null,
bookprice varchar(10)not null,
atsex char(2)not null
constraint chk_atsex
check(atsex in('男','女')),
booklangguage varchar(10)not null,
bookday datetime,
bookplace varchar(10),
)
insert into bookinfo values('45233549451','《青年文摘》','舒婷','20','女','中文','1992-01-01','北京出版社');
insert into bookinfo values('45233549452','《我们的故事》','严倩','18','女','中文','1992-01-01',上海出版社');
insert into bookinfo values('45233549453','《生活》','邹薛标','18','男','中文','1992-01-01','北京出版社');
insert into bookinfo values('45233549454','《我们的故事》','严倩','18','女','中文','1992-01-01','北京');
insert into bookinfo values('45233549455','《我们的故事》','严倩','18','女','中文','1992-01-01','北京');
update bookinfo
set bookname='《青春印记》',
where stuno=''45233549455'
select * from bookinfo
go
create table lend
(
bookno varchar(20)not null ,
lendday datetime,
returnday datetime,
stuno varchar(12) not null,
);
Insert into lend
values('45233549451','1999-05-10','1999-05-20','200809020311');
insert into lend
values('45233549452','1999-05-10','1999-05-20','200809020311');
insert into lend
values('45233549453','1999-05-10','1999-05-20','200809020311');
insert into lend
values('45233549454','1999-05-10','1999-05-20','200809020311');
insert into lend
values('45233549455','1999-05-10','1999-05-20','200809020311');
select * from lend
create table change
(
bookno varchar(20)not null ,
losetime datetime,
changetime datetime,
);
insert into change values('45233549451','1999-05-10','1999-05-20');
insert into change values('45233549452','1999-05-10','1999-05-20');
insert into change values('45233549453','1999-05-10','1999-05-20');
insert into change values('45233549454','1999-05-10','1999-05-20');
insert into change values('45233549455','1999-05-10','1999-05-20');
select * from change
五、实训心得
这个星期是我们SQL Server 数据库管理课的实训,经过一个星期的实训,我对数据库这门课程有了更深的了解,简单的说下我对数据库的理解吧。我觉得它就是创建一些表格,然后再用一些语句根据他们之间的关系,把它们组合在一起,这周的实训我选择的是学院图书管理系统。首先我对创建该系统进行了项目背景与市场需求的分析,然后再开始动手做。
这次我们实训的内容是从数据库、数据表的创建和修改开始的,表是建立关系数据库的基本结构,用来存储数据具有已定义的属性,在表的操作过程中,有查看表信息、查看表属性、修改表中的数据、删除表中的数据及修改表和删除表的操作。从实训中让我更明白一些知识,表是数据最重要的一个数据对象,表的创建好坏直接关系到数数据库的成败,表的内容是越具体越好,但是也不能太繁琐,以后在实际应用中多使用表,对表的规划和理解就会越深刻。
其实现在想想数据库学起来也是不难的,但有一点必须注意,那就是上课必须跟着老师的进度走,一定要注意听讲,勤做笔记.这样,你学起来就会得心应手,没什么困难。
总之,这是一门很值得学的课程,自己学过获益匪浅,就算自己将来不从事这个行业,但是至少对数据不再陌生,甚至还略知一二。呵呵…谢谢老师~!