资源描述
实训汇报
实训科目 SQL server 网络数据库
系 部 计算机工程系
专 业 应用技术
班 级 11-29班
学 号 231794
姓 名 岳玉霞
实 训 地 点 3# 机房
指 导 教 师 刘风华,陈晓飞
完 成 日 期 -12-29
指导老师评语及成绩评定
老师评语:
年 月 日
评定结果
老师签字:
新疆工程学院实训任务书
计算机工程 系(部) 应用技术 专业 11-29 班 人数 32
实训科目
网络数据库
起止时间
.12.17-.12.29
实训方法
(分散、集中)
集中
地点
B504
带队老师
刘风华
指导老师
陈晓飞
实训目标:
熟悉数据库设计和开发通常过程,了解概念设计、逻辑设计、物理设计意义和方法,掌握表内约束和表间约束作用和实现方法,掌握数据查询设计方法。
实训内容和要求:
1. 用sql语句完成数据库和表设计
2. 表中统计数应该能满足数据测试要求,每张表不少于30条统计。
3. 实体属性和约束设计合理,实体间外键约束满足系统要求。
4. 能够实现系统要求数据操纵和数据控制操作。
实训场所概况:
B504机房上级实训,相关调研和资料查找自行安排。
实 训 安 排
时 间
内 容
分 组 情 况
.12.17-.12.21
搜集、查阅资料,上机建库、建表、建关联、输入数据,完成数据数据使用及查询。
4组
.12.24-.12.29
调试代码,整理试验数据和结果,撰写实训汇报
4组
实 训 目 标 及 考 核 方 式
考评目标:掌握系统开发过程,熟悉数据库相关操作。
考评方法:答辩+实训汇报。
实训责任人: 系(部)领导:
年 月 日
新疆工程学院校内实训判定表
系部: 计算机工程系 专业: 应用技术 填表时间:.12.29
班 级
姓 名
学 号
联络电话
住址
11-29
岳玉霞
2-546
实 训 地 点
B504机房
实 训时 间
.12.17-.12.29
课题内容
或
实习内容
1.用sql语句完成数据库和表设计
2.表中统计数应该能满足数据测试要求,每张表不少于30条统计。
3.实体属性和约束设计合理,实体间外键约束满足系统要求。
4.能够实现系统要求数据操纵和数据控制操作。
带队老师意见:
年 月 日
评定结果
老师签字:
注:1、本表用于校内实习、实训、设计、测绘等实践教学评定。
2、评定结果按“优、良、中、及格、不及格”五级给予评定。
摘 要
党员信息管理系统是党委组织工作不可缺乏一部分.一个功效齐全、简单易用党员信息管理系统能有效地减轻党员管理工作人员工作负担,本设计基于数据库SQLServer技术建立一套党员信息管理系统,实现对党员信息查询,删除和添加等功效,深入促进了组织部门信息化建设工作。
关键词 : 党员信息管理系统,数据库
目录
摘 要 5
目录 6
一、概述 1
二、选题背景 1
三、课题 1
高校学生党员信息管理系统数据库设计 2
1 需求分析 2
1.1 信息分析 2
1.1.1信息需求: 2
1.2 处理要求 2
1.2.1功效图 3
1.3 安全性和完整性要求 3
2 数据库概念结构设计 4
2.1 数据抽象 4
2.1.1 E-R图: 5
3.数据库创建 6
3.1建立数据字典以下: 6
4.创建关系图以下: 12
4.1 学生基础信息表之间关系 12
4.2 学生党员信息表之间关系 13
5.数据库使用和维护: 13
5.1 数据库语句查询: 13
结束语 24
参 考 文 献 25
一、概述
党员信息管理系统是党委组织工作不可缺乏一部分.一个功效齐全、简单易用党员信息管理系统能有效地减轻党员管理工作人员工作负担,提升工作效率。伴随经济发展,人员交流来往频繁,党员管理愈加需要一套信息系统以提升信息管理快捷及正确性。为此,建立一个党员管理信息库,把全部党员信息,包含流动党员信息全部保留在信息库存中,方便于管理、查询、统计等就显得尤为关键了。
本设计研究目标就是要建立一个高校党员信息管理系统,对党员基础信息进行管理,以减轻管理人员工作负担。
二、选题背景
伴随科学技术发展,计算机管理在日常生活中地位变得越来越关键。它能够替换人做多种反复,繁琐劳动,而且拥有操作简单,可信度好,不易犯错等优点,大大降低了无须要人力消耗,提升个人工作效率。党员日常管理是每个学校必需面临问题,所以,怎样开发一个简单易用,界面友好,轻易操作,数据安全性好,可靠性高管理系统就成为很关键技术问题。我采取SQLServer技术进行数据库开发能够使开发过程简单化,愈加快捷访问数据库。
三、课题
党员信息管理系统开发
本课题关键考虑是提供简单方便操作,为管理人员提供简单、高效对党员信息管理等。高校学生党员信息管理系统数据库设计
1 系统分析
1.1 信息分析
高校学生党员信息管理系统关键目标是对学生党员信息相关处理,包含学生党员(入党申请人、入党主动分子、预备党员和正式党员)信息管理,数据库管理和登陆用户管理。
1.1.1信息需求:
(1)学生信息表:学号,姓名,性别,族别,入年月,专业编号,出生日期,入团时间,政治面貌编号。
(2)谈话表:学号,教工编号,谈话时间。
(3)课程表:课程编号,课程名称。
(4)成绩表:学号,课程编号,成绩。
(5)专业表:专业编号,专业名称。
(6)党员联络表:教工编号,姓名,性别,入党时间。
(7)政治面貌编号:政治面貌编号,政治面貌。
(8)政治面貌表:学号,政治面貌编号,青马班时间,党课时间,主动分子时间,是否主动分子。
1.2 处理要求
(1)在管理员模块中功效是实现对学生党员信息管理工作,包含:浏览、添加、修改、删除、查询、统计等,这五个功效模块各自独立,互不影响。
其中查询和统计要求做到:
(2)查询党员基础信息:能够根据查询条件(班级、年级、专业、入党时间)查询党员数量;也能够实现多个条件组合查询;
(3)统计党员基础信息:统计根据查询条件(班级、年级、专业、入党时间)查询党员数量。
(4)在学生模块中功效只能实现查看自己相关个人信息资料功效。
1.2.1功效图
1.3 安全性和完整性要求
安全性:
(1)管理员能够方便地对信息进行浏览、添加、修改、删除、查询、统计等操作。
(2)学生能够在自己权限内对信息进行访问,查询相关信息。
完整性:
(1)能够预防正当用户使用数据库向数据库中添加不合语义数据。
(2)经过各个表之间联络来实现数据完整性约束。
2 数据库概念结构设计
2.1 数据抽象
依据需求分析结果,抽取出和本课程设计——学生党员信息管理系统相关特征。设计局部概念模式。利用E-R方法,设计出系统各个局部ER模型。
E-R图由实体、属性、联络三部分组成。E-R图符号说明图4-2所表示。
实体 属性 实体
经过对局部E-R模型操作,处理各个E-R模型相关对象定义不一致问题,和对各个E-R模型进行合并优化等,最终形成数据库全局概念模式。
2.1.1 E-R图:
E-R图
3.数据库创建
3.1建立数据字典以下:
表一 : 学生信息表;
创建代码以下:
CREATE TABLE [dbo].[学生信息表](
[学号] [float] NOT NULL,
[姓名] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[性别] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[族别] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[入年月] [datetime] NULL,
[专业编号] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NOT NULL,
[出生日期] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[入团时间] [datetime] NULL,
[政治面貌编号] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NOT NULL,
CONSTRAINT [PK_学生信息表] PRIMARY KEY CLUSTERED
(
[学号] ASC,
[专业编号] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
创建结果以下图:
表二 :谈话表;
创建代码以下:
CREATE TABLE [dbo].[谈话表](
[学号] [float] NOT NULL,
[教工编号] [float] NOT NULL,
[谈话时间] [datetime] NOT NULL,
CONSTRAINT [PK_谈话表] PRIMARY KEY CLUSTERED
(
[学号] ASC,
[教工编号] ASC,
[谈话时间] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
创建结果以下图:
表三:课程表;
创建代码以下:
CREATE TABLE [dbo].[课程表](
[课程编号] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NOT NULL,
[课程名] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NULL,
CONSTRAINT [PK_课程表] PRIMARY KEY CLUSTERED
(
[课程编号] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
创建结果以下图:
表四:成绩表;
创建代码以下:
CREATE TABLE [dbo].[成绩表](
[学号] [float] NOT NULL,
[课程编号] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NOT NULL,
[成绩] [float] NULL,
CONSTRAINT [PK_成绩表] PRIMARY KEY CLUSTERED
(
[学号] ASC,
[课程编号] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
创建结果以下图:
表五:专业表;
创建代码以下:
CREATE TABLE [dbo].[专业表](
[专业编号] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NOT NULL,
[专业名称] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NULL,
CONSTRAINT [PK_专业表] PRIMARY KEY CLUSTERED
(
[专业编号] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
创建结果以下图:
表六:党员联络表;
创建代码以下:
CREATE TABLE [dbo].[党员联络表](
[教工编号] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NOT NULL,
[姓名] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[性别] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[入党时间] [datetime] NULL,
CONSTRAINT [PK_党员联络表] PRIMARY KEY CLUSTERED
(
[教工编号] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
创建结果以下图:
表七:政治面貌编号;
创建代码以下:
CREATE TABLE [dbo].[政治面貌编号](
[政治面貌编号] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NOT NULL,
[政治面貌] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NULL,
CONSTRAINT [PK_政治面貌编号] PRIMARY KEY CLUSTERED
(
[政治面貌编号] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
创建结果以下图:
表八:政治面貌表;
创建代码以下:
CREATE TABLE [dbo].[政治面貌表](
[学号] [float] NOT NULL,
[政治面貌编号] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NOT NULL,
[政治面貌] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[青马班时间] [datetime] NULL,
[党课时间] [datetime] NULL,
[主动分子时间] [datetime] NULL,
[是否主动分子] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NULL,
CONSTRAINT [PK_政治面貌表] PRIMARY KEY CLUSTERED
(
[学号] ASC,
[政治面貌编号] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
创建结果以下图:
4.创建关系图以下:
4.1 学生基础信息表之间关系
关系以下图:
4.2 学生党员信息表之间关系
关系以下图:
5.数据库使用和维护:
5.1 数据库语句查询:
1、查出每个入课时年纪大于18岁学生党员信息。(将代码和结果保留截图)
代码以下:
select * from 学生信息表
where substring (学号,1,4)=
and (substring(学号,1,4)-year(出生日期))>18and 政治面貌='党员'
查询结果以下截图:
2、创建存放过程返回每个学生学号,姓名,专业名称。
创建视图
use DY
go
create view v_1
as
select 学号,姓名,专业名称from 学生信息表,专业表
where 学生信息表.专业编号=专业表.专业编号
创建存放过程
use DY
go
create procedure p_stu2
as
select 学号,姓名,专业名称from v_1
查询存放过程
exec p_stu2
3、查询各专业党员人数。
查询代码:
select 专业名称,count(专业名称) as 党员人数from 学生信息表,专业表
where 学生信息表.专业编号=专业表.专业编号and 政治面貌='党员'
group by 专业名称
查询结果以下截图:
4、创建存放过程能够根据给定专业返回该专业学生信息。
创建存放过程:
create procedure p_stu5
@专业名称varchar(30)
as
select * from 学生信息表,专业表
where 学生信息表.专业编号=专业表.专业编号
and 专业名称=@专业名称
查询存放过程:
exec p_stu5 @专业名称='网络技术'
5、每个学生学生姓名,专业编号,谈话时间,老师姓名和谈话时间。
代码查询以下:
use DY
go
select 学生姓名,专业编号,谈话时间,老师姓名 from 学生信息表,谈话表,党员联络表
where 学生信息表.学号=谈话表.学号and 谈话表.教工编号=党员联络表.教工编号
6、查询成绩合格,但不是党员学生信息。(将代码和结果保留截图)
查询代码:
create view 党员成绩
as
select 学号,count(成绩) as '科目数' from 成绩表
where 成绩>70
group by 学号
查询代码:
create view 合格
as
select * from 党员成绩
where 科目数>=5
use DY
go
select * from 合格,学生信息表
where 政治面貌<> '党员'
7、查询谈话学生谈话次数,且谈话次数为3次学生姓名。
use DY
go
create view v_5
as
select 学生姓名, count(*) as 谈话次数from 学生信息表,谈话表,党员联络表
where 学生信息表.学号=谈话表.学号and 谈话表.教工编号=党员联络表.教工编号
group by 学生姓名
select * from v_5
where 谈话次数=3
8、更改学号为0201和0202学生政治面貌为正式党员。
查询代码以下:
update 学生信息表set 政治面貌='党员' where 学号='0201' and 学号='0202'
查询结果以下截图所表示:
9、查询表中为党员学生信息。
查询代码以下:
select * from 学生信息表,专业表
where 学生信息表.专业编号=专业表.专业编号and 性别='女' and 政治面貌='党员'
查询结果以下截图所表示:
10、用代码修改入年月。
代码以下:
select 学号,学生姓名,性别,入年月from 学生信息表
代码以下:
use DY
go
select 学号,学生姓名,性别,convert(varchar(10),入年月,120)as 入年月from 学生信息表
结束语
在此次课程设计过程中,学到了很多知识,因为课程较多,时间冲突,设计进行比较晚,所以功效比较差些,也未能进行更深入思索,在利用方面也有所欠缺,数据库方面,整体考虑也还能够更全方面、周到。在课程设计开始时候,原来计划还做一个留言模块,即学生登陆系统时候,不仅能够查看相关信息,也能够留言,管理员则能够查看、回复、删除留言。但因为这段时间考试颇多,时间有些伧促,所以没能实现这个预想功效。此次设计是用SQL SERVER 进行,因为本年就SQL SERVER 进行过系统学习,所以做起来较为轻易,但SQL是很久以前学,所以对很多操作全部有些生疏,只能经过网络来进行学习,在这部分时间花费较多。总来说,经过这一次练习,巩固了SQL很多知识,也提升了自己差错纠错能力,锻炼了我耐心。这也让我意识到了理论联络实际关键性。
经过此次课程设计中,我还认识到:任何系统完成,工程开始全部是最为关键。俗话说,万丈高楼平地起。这就要求我们要做好需求分析,研究好每个细节,做到全方面地了解整个系统实施,做好进度计划,严格根据时间表来实施,不拖拉,这么后面工作才能顺利高效地展开,尽可能地避免返工,在时间计划内按时完成。
尽管此次设计还是借鉴了部分网络资源,但大部分内容全部是自己完成,根据自己设想,我们合作完成了概念结构设计、逻辑结构设计,和数据库搭建、连接等工作,即使设计时间并不长,但自己能力仍然取得了很好锻炼。和大家一起合作完成了设计。
参 考 文 献
[1] 杨昭等,《数据库技术课程设计案例精编》,中国水利水电出版社,1月.
[2] 潘文林,《数据库应用系统开发案例和实践教程》,清华大学出版社,9月.
[3] 郝安林,《Sql Server 基础教程和试验指导》,清华大学出版社,4月.
[4] 刘辉,《零基础学SQL Server 》,机械工业出版社,8月.
展开阅读全文