数据库实训报告

时间:2024.4.20

数据库

实训报告

    业:      计算机科学与技术         

    级:      091        

    名:      xxx       

任课教师:      xxx       

20##年    11 月   5 日

目    录

第一章  概述………………………………………………………………………3

1.1 引言………………………………………………………………………… 3

1.2 摘要…………………………………………………………………………3

第二章  需求分析…………………………………………………………………3

2.1 功能分析……………………………………………………………………3

2.2 性能分析……………………………………………………………………4

2.3 可靠性和可用性需求………………………………………………………4

2.4 出错处理要求………………………………………………………………4

2.5 约束…………………………………………………………………………4

2.6 逆向需求……………………………………………………………………4

2.7 将来可能提出的要求………………………………………………………4

第三章  数据库设计………………………………………………………………4

3.1 数据字典……………………………………………………………………4

3.2 E-R图………………………………………………………………………5

3.3 数据库设计…………………………………………………………………6

第四章  详细设计…………………………………………………………………7

4.1登录主界面开发……………………………………………………………7

4.2登录后学生信息界面的开发………………………………………………8

4.3登录后教师信息界面的开发………………………………………………8

4.4登录后学生选课界面的开发………………………………………………9

4.5登录后教师发布选课界面的开发…………………………………………9

总结…………………………………………………………………………………10

参考文献……………………………………………………………………………10

第一章  概述

引言

由于信息科技化的越来越多的被应用在商业、工业等领域。管理信息系统的实施在技术上已逐步成熟。任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。那么作为高等教育组织的学校也不例外。

所以在顺应形势的前提下我们做了此实训,本文介绍了以Oracle 11g和JAVA为开发环境而实现的学生教务管理系统的完全运行。自下而上地应用开发”的策略开发一个学校教务管理信息系统的过程。

摘  要

学生选课管理系统是一个非常通用的信息管理系统,本课题主要设计一个简单的选课管理系统,进行简单的课程查询及管理。主要实现的功能有:学生基本信息的导入/导出;学生课程信息的录入、修改、添加、删除、查询;在课程设计中,系统开发平台为Windows7,程序设计语言采用Java,数据库采用MYSQL,程序运行平台为Windows 7。系统的实现可以极大地方便教师和学生对课程的使用,查询和管理。之所以选择Java作为开发工具,不仅仅因为它好用,更是它的功能强大和使用方便。系统设计部分主要介绍了系统功能设计和数据库设计及JAVA代码设计;系统实现部分说明了几个主要模块的算法,本系统界面友好,操作简单,比较实用。

第一章  需求分析

2.1功能需求

“学生选课系统”服务于两种客户,一种是:教师,主要实现的功能包括自己信息管理,公布课程信息,选择学生。另一是:学生,主要实现功能包括管理自己信息,选择课程,查看各种信息。

2.2 性能需求

“学生选课系统”要求可以允许200人同时登陆,修改或查询等操作。而所需要的数据库要求有2G的容量。

2.3 可靠性和可用性需求

要求“学生选课系统”可以正确显示各种信息,在允许访问人数未达上限之前可以保证系统正常运行。赋予不同角色以不同的权限,保证各种数据完整性。

2.4出错处理要求

当系统接收到不符合要求的信息或错误信息时,会自动提醒出现这类信息,然后拒绝下一位用户的访问并附相关提醒信息。

2.5约束

      “学生选课系统”的用户登入窗口对大小写敏感,输入帐号密码时应该区分大小写。该系统需要SQL Serve 2008作为数据库平台。

2.6逆向需求

      为了方便学生数据管理和学生数据的安全,“学生选课系统”禁止学生端口注册新用户,学生的基本信息不可随意更改。

2.7将来可能提出的要求

“学生选课系统”在长期的使用过程中将产生过多的数据,如果仅凭人工删除显然不是非常合理,系统将开辟出一个批删除模块,用于成批删除毕业学生的选课数据。

第三章  数据库设计

3.1数据字典

3.2 E-R

3.3数据库设计

数据库SchoolDB由以下表组成:

Student:学生信息表

Teacher:教职工信息表

Department:系信息表

Course:课程信息表

Score:成绩信息表

Student-course:选课信息表

具体功能如下:

 学生信息管理:

对学生信息进行添加、查询、删除。包括学号、姓名、性别、出生日期、入学成绩、所在系号。

教职工信息管理:

对教职工信息进行进行添加、查询、删除。

系信息管理:

对系信息进行添加、查询、删除。

课程信息管理:

对课程信息进行添加、查询、删除。

成绩信息管理:

对成绩信息进行添加、查询、删除。

学生选课管理:

对学生选课情况进行添加、查询、删除。

第四章  详细设计及功能实现

4.1登录主界面开发

4.2登录后学生信息界面的开发

4.3登录后教师信息界面的开发

4.4登录后学生选课界面的开发

4.5登录后教师发布选课界面的开发

总结

通过本次实训使我懂得,开发一款软件是需要有较好的团队合作精神, 由于每个人的能力有限,所以再将任务分工后就显得快了很多,所需要考虑的问题也就相对减少。对于个人而言,我们每个人都要有慎密的思路,严谨做事的态度,良好的心态才能将此事完成的完美,才能完成的使自己无怨无悔。

本次实训,对于教务系统的开发,让我发现其实我们自身还有很大不足,所以就参考了很多前辈的经典素材或者有名的书籍。但最终我们按照要求预期完成了任务。所以我们觉得本次实训总体成功。

参考文献

[1] 课程管理系统发展趋势[J]. 中国远程教育, 2004,(18) :12~13

段晨,刘俊强. 网络课程管理系统Moodle研究现状综述[J]. 中小学电教, 2008,(Z1):249~252

[2] 邹含辉,黎加厚. 基于社会建构主义的网络课程管理系统探究——以Moodle课程管理系统为例[J]. 中小学电教, 2008,(04):20~25

[3] 黎加厚,赵怡. 课程管理系统(CMS)及其选择[J]. 现代教育技术,2008,(09):30~35

王会霞,刘志兵. 网络课程管理系统的设计与实现[J]. 有线电视技术, 2007,(08) :14~16

[4] 赵国栋,黄永中,林莉. 高校课程管理系统的选择策略研究[J]. 中国远程教育, 2008,(01):12~14

[5] 学生课程管理系统的设计与实现[J]. 科技资讯, 2006,(31) :30~35

[6] 课程管理系统探索[J]. 浙江水利水电专科学校学报, 1999,(01) :45~46

[7] 阮国龙,刘峰. 基于素材的网络课程管理模式的探讨[J]. 咸宁学院学报, 2004,(06) :40~46

叶冬连,刘华. 基于开源软件Moodle构建网络课程管理系统[J]. 上饶师范学院学报, 2007,(03):67~69

[8]  Yah Zhanjun,The history and Development ofAPTLIN[J].90’S International Symposium on the Latest Development in Technologies of Library Service.Bering,1992,9

[9]Abram L,Balestra A.Offering a Library on the]nternet:the OATs Experience,Vistas inAstronomy,1995,9(1):53~61

[10]吕俊, 喻萍. 网络课程管理系统的分析及其功能模块[J]. 景德镇高专学报, 2006,(02) :76~78

[11]刘莹, 聂钢. MIT开放网络课程述略[J]. 高等工程教育研究, 2005,(01) :56~58

[12]基于网格的网络课程原型系统设计研究[J]. 高等教育研究学报, 2006,(03) :76~78

[13]杨得国, 王银柱. 基于ASP.NET技术的VB网络课程学习平台的设计[J]. 科技管理研究, 2009,(06) :120~121

[14]李丽萍. 网络课程的设计和实施[J]. 现代教育技术, 2002,(03)

[15]刘伟. 论网络课程的传播策略[J]. 山东电力高等专科学校学报, 2005,(01) :45~48

[16]张剑平, 李慧桂. 论网络课程在教学中的不同应用层次[J]. 中国远程教育, 2005,(03) :32~56

[17]曾凡林, 吴云飞. 网络课程教学方法和教学模式的分析与探讨[J]. 常州信息职业技术学院学报, 2005,(01) :23~35


第二篇:(数据库)sql综合实训报告


管理信息系统课程设计

――——学生信息教学成绩管理系统的设计与实现

摘要:

当前各高校普遍开设了选修课程教学成绩的管理,在传统的手工处理模式下,每年学生进行选修课程的选择以及教师安排选修课程成绩的管理都要耗费学生和教师的很多精力,而且效率差、错误率高。

本文就这个问题,通过学生教学成绩信息管理系统的设计,提供了一套基于数据库应用系统的解决方案,并进行了系统的设计与实现。在分析设计阶段我们用到了E-R模型(实体—联系模型)、关系模型等方法,在实施阶段,我们采取SQLServer6.0作为开发工具,得到了教学成绩管理系统的数据库。其中由丁俊文设计“专业”“班级”的分E-R图并编写《数据库信息文档》和后期视图的设计;由刘志琼设计“系部”“教研室”的分E-R图及整合各分E-R图;由张玉设计“课程”“学院”的分E-R图;由于艳青设计“学生”“教师”的分E-R图和成绩管理数据库的创建。

关键词:数据库,系统设计,SQL Server

一  功能需求分析

 

学校各分院正常教务管理系统包括教学计划、师资、教材、教室、学籍、考试、排课、次、评估管理等,其中最重要的仍然是成绩管理,本次实训做的是《成绩管理系统》,包括学院、系部、教研室、专业、教师、学生、课程、等信息管理和课程设置、教学成绩信息管理等方面的,本系统开发任务是实现某学院教学成绩信息管理规范化和自动化,系统的用户有学院领导、成绩管理人员、班主任、教师及学生等。

⑴ 教师:在校园网(局域网)或互联网录入与查询所代课程成绩数据,查询学院、系部、教研室、专业、教师、学生、课程信息等数据。

⑵ 班主任:在校园网或互联网录入与查询所负责班级的学生档案信息,查询学院、系部、教研室、专业、教师、学生、课程信息和所管学生成绩等数据。

⑶ 学生:在校园网或互联网查询学生个人档案信息和成绩信息,查询学院、系部、教研室、专业公共信息和所在班的课程设置等数据。

⑷ 领导:在校园网或互联网查询本系统所有信息。

⑸ 成绩管理人员:在校园网或互联网查询本系统所有信息,在校园网维护所有数据。

二  功能设计(图)

 

系统目标的实现是通过系统的各功能模块来达到的。由于每个系统功能又可以划分为若干个具体的功能模块,因此,从目标开始层层分解,知道每个子功能模块只执行一个具体的任务。子功能模块是独立的,有明显的输入与输出信息。通常我们将按功能关系画成的图成为功能结构图,功能结构图如下:

成绩管理系统的功能结构图

三  概念结构设计(E-R图)

⑴ 学生E-R图

⑵ 课程E-R图

⑶ 系部E-R图

⑷ 教师E-R图

⑸ 班级E-R图

⑹ 教研室E-R图

⑺ 学院E-R图

⑻ 总E-R图

修改意见:本节(1-8)不要括弧

四  逻辑结构设计(定义表结构)

     学生(学号,姓名,性别,年龄)

课程(编号,名称,学分,学时,类别,考试类型,院系编号)

教师(编号,姓名,性别,年龄,职称,职务)

教学成绩(学号,课程.编号,教师.编号,学年学期,成绩,分数,考试类别,考试考查类型,考试日期,录入日期)

教研室(编号,名称,主任)

学院信息表(编号,名称,简称,院长,书记)

系部信息表(编号,名称,主任,书记)

专业信息表(编号,系部编号,名称)

班级课程设置表(班级编号,教师编号,课程编号,学年学期,学时)

班级信息表(编号,名称,年级,专业编号,人数)

  物理结构设计(SQL实现)

SQL Server6.0数据库管理系统来设计数据库和(建表及视图)

通过查询分析器用SQL语句来设计,具体T-SQL代码如下:

1. 1.建成绩管理系统数据库

格式修改要求:1-4.9二级标题用黑体、小三号,以下自己改!

 Create database 成绩管理系统

 On

(name = 成绩管理系统mdf,

Filename = ‘h:\vb\成绩管理系统.mdf’,

Size = 1,

Filegrowth = 10%)

Log on

( name = 成绩管理系统_log,

Filename = ‘h:\vb\成绩管理系统_log.ldf’,

Size = 5,

Filenamegrowth = 10%)

-- 2.1 学院信息表

--  函数:is中文字符串

--  功能:判断自变量是否是纯中文字符串,返回:是/否

create function is中文字符串(@字符串 nchar(255)) 

returns nchar(1) as 

begin

  declare @I tinyint, @J tinyint

  set @I=len(@字符串)

  set @J=1

  while (@J<=@I)

    begin

      if (unicode(substring(@字符串,@J,1))<256) return '否'

      set @J=@J+1

    end

  return '是'

end

go

-- 学院信息表 -- 代码:编号 2 位

create table 学院信息表

(      编号 char(2)   primary key ,

       名称 nchar(20) unique check(dbo.is中文字符串(名称) = '是'),

       简称 nchar(10) not null unique check(dbo.is中文字符串(简称) = '是'),

       院长 nchar(4) null ,

       书记 nchar(4) null

)

go

信息表中,利用is中文字符串函数,实现名称和简称两个字段的完成性约束,保证这两个字段只能输入中文字符。

提示:以下表凡是带check短语的仿照此例加说明

--  2.2  系部信息表

--  函数:is学院信息表编号

--  功能:判断自变量是否是学院信息表编号,返回:是/否

create function is学院信息表编号(@字符串 char(4)) 

returns nchar(1) as 

begin

  if exists(select * from 学院信息表 where 编号=left(@字符串,2)) return '是'

  return '否'

end

go

--  系部信息表--  代码:编号 前两位 为所在学院的编号

create table 系部信息表

( 编号  char( 4) primary key check(dbo.is学院信息表编号(编号)='是'),

  名称 nchar(20) check(dbo.is中文字符串(名称)='是') unique,

  主任 nchar( 4) null,

  书记 nchar( 4) null,

)

go

--  2.3  教研室信息表

--  函数:is系部信息表编号

--  功能:判断自变量是否是系部信息表编号,返回:是/否

create function is系部信息表编号(@字符串 char(6)) 

returns nchar(1) as 

begin

  if exists(select * from 系部信息表 where 编号=left(@字符串,4)) return '是'

  return '否'

end

go

--  教研室信息表  --  代码:编号 前4位 为所在系部的编号

create table 教研室信息表

( 编号  char( 6) primary key check(dbo.is系部信息表编号(编号)='是'),

  名称 nchar(20) unique check(dbo.is中文字符串(名称)='是'),

  主任 nchar( 4) null

)

go

--  2.4  专业信息表

create table 专业信息表

( 编号      char( 6) primary key,

  院系编号  char( 4) foreign key references 系部信息表(编号) on update cascade,

  名称      char(40) unique,

 )

go

--  2.5  课程信息表

create table 课程信息表

(      编号 char(6) primary key ,

       名称 varchar(50) not null ,

       院系编号 char(4) foreign key references 系部信息表(编号) on update cascade not null ,

       学时 numeric(10, 1) check(学时 between 20 and 300 or 学时 = 0) ,

       学分 numeric(10, 1) ,

       类别 nchar(5) check(rtrim(类别) in ('公共基础课', '选修课', '专业基础课', '专业课'))  ,

       考试类型 nchar(2) check(考试类型 in ('考查','考试')) 

)

go

--  2.6.  班级信息表

create table 班级信息表

(      编号 char(8) primary key ,

       名称 varchar (15) unique ,

       年级 char(4) not null ,

       专业编号 char(6) foreign key references 专业信息表(编号)  on update cascade not null ,

       人数 int null ,

       学制 int null ,

       班主任 nchar(4) null ,

       班长 nchar(4) null ,

       书记 nchar(4) null

)

go

 2.7  教师信息表

create table 教师信息表 (

       编号 char(6) not null primary key ,

       登录名 char(10)not null unique,

       姓名 nchar(4) not null check(dbo.IS中文字符串([姓名]) = '是'),

       密码 char(6),

       性别 nchar(1) check(性别 in ('女', '男')) not null ,

       教研室编号 char(6) references 教研室信息表(编号) on update cascade not null ,

       出生日期 datetime null ,

       工作日期 datetime null ,

       职称 nvarchar(5) check(rtrim(职称) in ('助教', '讲师', '副教授', '教授')) null ,

       职务 nchar(12) null ,

       学历 nchar(12) null ,

       学位 nchar(2) check(学位 in ('双学士', '博士', '硕士', '学士')) null ,

       工资 money null ,

       照片 image null

)

--  2.8  学生信息表

create table 学生信息表

(      学号 char(6)  primary key not null ,

       姓名 nchar(4) check(dbo.is中文字符串(姓名)='是') not null ,

       密码 char(6),

       性别 nchar(1) check(性别 in ('男','女')) not null ,

       出生日期 datetime null ,

       民族 nchar(8) default '汉族' null ,

       籍贯 nchar(20) default '山西省' null ,

       家庭地址 nchar(20) null ,

       邮政编码 char(6) null ,

       联系电话 char(20) null ,

       身份证号 char(18) null ,

       政治面貌 nchar(5) check(rtrim(政治面貌) in ('其他','群众','共青团员', '中共党员')) null ,

       班级编号 char(8) foreign key REFERENCES 班级信息表(编号) on update cascade null ,

       入学日期 datetime null ,

       备注 varchar(80) null ,

       简历 ntext null ,

       照片 image null

)

go

2.9  学年学期表

create table 学年学期表

(      学年学期 char(11) primary key  check(学年学期 like '200[0-9]-200[0-9].[1-2]') not null

)

2.10  班级课程设置表

create table 班级课程设置表

(      id int identity (1, 1) primary key not null ,

       班级编号 char(8) REFERENCES 班级信息表(编号) not null ,

       教师编号 char(6) REFERENCES 教师信息表(编号) not null ,

       课程编号 char(6) REFERENCES 课程信息表(编号) not null ,

       学年学期 char(11) REFERENCES 学年学期表(学年学期) not null ,

       学时 int check(学时 > 20 and 学时 < 200) null

       ConSTRAINT IX_班级课程设置表 unique (班级编号,学年学期,教师编号,课程编号)

)

go

2.11  教学成绩表

CREATE TABLE 教学成绩表

(      ID int IDENTITY(1, 1) PRIMARY KEY NOT NULL ,

       学号 char(6) NOT NULL REFERENCES 学生信息表(学号) ON UPDATE CASCADE,

       课程编号 char(6) NOT NULL REFERENCES 课程信息表 (编号) ,

       教师编号 char(6) NULL REFERENCES 教师信息表 (编号) ON UPDATE CASCADE,

       学年学期 char(11) NOT NULL REFERENCES 学年学期表(学年学期),

       成绩 char(10) NOT NULL check(rtrim([成绩]) in ('优', '良', '中', '及格', '合格', '不及格', '补考及格', '缓考', '缺考', '缺课', '免修', '未修', '重修', '作弊') or rtrim([成绩]) like '[1-9][0-9]' or [成绩] like '[0-9]' or rtrim([成绩]) like '[1-9][0-9].[0-9]' or rtrim([成绩]) like '[0-9].[0-9]' or rtrim([成绩]) = '100'),

       分数 numeric(5, 1) NULL CHECK (分数 >= (-1) and 分数 <= 100) DEFAULT 0,

       考试类别 nchar(4) NOT NULL CHECK (考试类别 in ('期末考试', '期初补考', '高挂补考' ,'回校补考')),

       考试考查类型 nchar(2) NOT NULL CHECK (考试考查类型 in ('考试', '考查')),

       考试日期 datetime NOT NULL ,

       录入日期 datetime NOT NULL

)

GO

2.12  管理员信息表

create table 管理员信息表

(      登录名   nchar(10) not null primary key,

       姓名     nchar(4) not null ,

       密码     char(6) null ,

       用户身份 nchar (3) not null check (用户身份 in ('班主任', '管理员' , '领导'))

)

2.13  系统参数表

create table 系统参数表

(      [类别] [nchar] (6) not null ,

       [名称] [nchar] (12) null ,

       [数值] [real] null

)

3.1  删除/修改  学院信息表编号

create trigger T删除学院信息表编号

on 学院信息表

for delete

as

begin

  set nocount off

  declare @编号 char(2)

  select @编号=编号 from deleted

  if exists(select * from 系部信息表 where @编号=left(编号,2))

     begin

     RAisERROR ( '系部编号正在使用, 不可删除!', 16, 1)

     ROLLBACK TRANSACTIon

     end

end

go

create trigger T修改学院信息表编号

on 学院信息表

after update

as

if update(编号)

begin

  set nocount off

  declare @编号 char(2), @编号_ char(2)

  select @编号=编号 from deleted

  select @编号_=编号 from inserted

  update 系部信息表 set 编号=@编号_+substring(编号,3,2) where @编号=left(编号,2)

  update 专业信息表 set 院系编号=@编号_+substring(院系编号,3,2) where @编号=left(院系编号,2)

  update 课程信息表 set 院系编号=@编号_+substring(院系编号,3,2) where @编号=left(院系编号,2)

  update 教研室信息表 set 编号=@编号_+substring(编号,3,4) where @编号=left(编号,2)

  update 教师信息表 set 教研室编号=@编号_+substring(编号,3,4) where @编号=left(教研室编号,2)

end

go

触发器的建立目的是,一旦学院信息表的编号字段发生的改变,则触发系部信息表、专业信息表、课程信息表、教研室信息表、教师信息表的编号中的部分字符串要作相应的改变。

提示:下面的触发器仿照此例加上说明。

--  3.2  删除/修改  系部信息表编号

create  trigger T删除系部信息表编号

on 系部信息表

for delete

as

begin

  set nocount off

  declare @编号 char(4)

  select @编号=编号 from deleted

  if exists(select * from 教研室信息表 where @编号=left(编号,4)) or

     exists(select * from 专业信息表   where 院系编号=@编号) or

     exists(select * from 课程信息表   where 院系编号=@编号) or

     exists(select * from 教师信息表   where left(教研室编号,4)=@编号)

     begin

     RAISERROR ( '系部编号正在使用, 不可删除!', 16, 1)

     ROLLBACK TRANSACTION

     end

end

go

create  trigger T修改系部信息表编号

on 系部信息表

after update

as

if update(编号)

begin

  set nocount off

  declare @编号 char(4), @编号_ char(4)

  select @编号=编号 from deleted

  select @编号_=编号 from inserted

  if exists(select * from 学院信息表 where 编号=left(@编号_,2))

     begin

        update 专业信息表 set 院系编号=@编号_ where @编号=院系编号

        update 课程信息表 set 院系编号=@编号_ where @编号=院系编号

        update 教研室信息表 set 编号=@编号_+substring(编号,5,2) where @编号=left(编号,4)

        update 教师信息表 set 教研室编号=@编号_+substring(编号,5,2) where @编号=left(教研室编号,4)

     end

  else

     begin

     RAISERROR ( '非法编号, 不可修改除!', 16, 1)

     ROLLBACK TRANSACTION

     end

end

go

--  4.1  系部信息表视图

为简化对表的操作,屏幕部分数据特建如下视图。

create view 系部信息表视图

as

select 系部信息表.编号, 系部信息表.名称, 学院信息表.简称 as 学院简称,

      系部信息表.主任, 系部信息表.书记

from 系部信息表 left outer join

      学院信息表 on left(系部信息表.编号, 2) = 学院信息表.编号

go

--  4.2  教研室信息表视图

create view 教研室信息表视图

as

select 教研室信息表.编号, 系部信息表视图.名称 as 系部,

      系部信息表视图.学院简称 as 学院, 教研室信息表.名称,

      教研室信息表.主任

from 教研室信息表 inner join

      系部信息表视图 on left(教研室信息表.编号, 4) = 系部信息表视图.编号

go

--  4.3  专业信息表视图

create view 专业信息表视图

as

select top 100 percent 专业信息表.编号, 专业信息表.名称,

      系部信息表视图.学院简称, 专业信息表.院系编号,

      系部信息表视图.名称 as 系部

from 专业信息表 left outer join

      系部信息表视图 on

      专业信息表.院系编号 = 系部信息表视图.编号

ORDER BY 专业信息表.院系编号, 专业信息表.编号

go

--  4.4  班级信息表视图

create view 班级信息表视图

as

select 班级信息表.编号, 班级信息表.名称, 班级信息表.年级,

      系部信息表视图.学院简称 as 学院, 系部信息表视图.名称 as 系部,

      班级信息表.专业编号, 专业信息表.名称 as 专业, 班级信息表.学制,

      班级信息表.班主任, 班级信息表.班长, 班级信息表.书记,

      班级信息表.人数, 系部信息表视图.编号 as 系部编号

from 系部信息表视图 inner join

      专业信息表 on

      系部信息表视图.编号 = 专业信息表.院系编号 right outer join

      班级信息表 on 专业信息表.编号 = 班级信息表.专业编号

go

--  4.5  课程信息表视图

create view 课程信息表视图

as

select 课程信息表.编号, 课程信息表.名称, 课程信息表.院系编号,

      系部信息表视图.学院简称, 系部信息表视图.名称 as 系部名称,

      课程信息表.学时, 课程信息表.学分, 课程信息表.类别,

      课程信息表.考试类型

from 课程信息表 left outer join

      系部信息表视图 on 课程信息表.院系编号 = 系部信息表视图.编号

go

--  4.6  教师信息表视图

create view 教师信息表视图

as

select 教师信息表.编号, 教师信息表.姓名, 教师信息表.性别,

      系部信息表视图.学院简称 as 学院, 系部信息表视图.名称 as 系部,

      datename(yyyy, 教师信息表.出生日期) + '年' + datename(mm,

      教师信息表.出生日期) + '月' + datename(dd, 教师信息表.出生日期)

      + '日' as 出生日期_, 教研室信息表.名称 as 教研室, datename(yyyy,

      教师信息表.工作日期) + '年' + datename(mm, 教师信息表.工作日期)

      + '月' + datename(dd, 教师信息表.工作日期) + '日' as 工作日期_,

      教师信息表.职称, 教师信息表.职务, 教师信息表.学历,

      教师信息表.学位, 教师信息表.工资, 教师信息表.照片,

      教师信息表.教研室编号, 教师信息表.出生日期, 教师信息表.工作日期,

      系部信息表视图.编号 as 系部编号, DATEDIFF(year, 教师信息表.出生日期,

      GETDATE()) as 年龄

from 系部信息表视图 right outer join

      教研室信息表 on 系部信息表视图.编号 = left(教研室信息表.编号, 4)

      right outer join

      教师信息表 on 教研室信息表.编号 = 教师信息表.教研室编号

go

create view 教师登录信息表

as

select 编号, 登录名, 姓名, 密码, left(教研室编号, 4) as 系部编号

from 教师信息表

go

--  4.7  学生信息表视图

create view 学生信息表视图

as

select 学生信息表.学号, 学生信息表.姓名, 学生信息表.性别,

      datename(yyyy, 学生信息表.出生日期) + '年' + datename(mm,

      学生信息表.出生日期) + '月' as 出生年月, 学生信息表.出生日期,

      专业信息表.名称 as 专业, 学生信息表.班级编号,

      班级信息表.名称 as 班级, 班级信息表.年级, 学生信息表.身份证号,

      学生信息表.民族, 学生信息表.籍贯, 学生信息表.家庭地址,

      学生信息表.邮政编码, 学生信息表.联系电话, 学生信息表.政治面貌,

      学生信息表.备注, 班级信息表.专业编号, 专业信息表.院系编号,

      学生信息表.入学日期, 学生信息表.简历, 学生信息表.照片,

      系部信息表视图.名称 as 系部, 系部信息表视图.学院简称 as 学院,

      学生信息表.密码

from 专业信息表 inner join

      班级信息表 on 专业信息表.编号 = 班级信息表.专业编号 inner join

      系部信息表视图 on

      专业信息表.院系编号 = 系部信息表视图.编号 right outer join

      学生信息表 on 班级信息表.编号 = 学生信息表.班级编号

go

create view 学生登录信息表

as

select 学号, 姓名, 年级, 专业编号, 院系编号, 密码

from 学生信息表视图

go

--  4.9  班级课程设置表视图

create view 班级课程设置表视图

as

select 班级课程设置表.id, 专业信息表.院系编号, 班级课程设置表.班级编号,

      [系部信息表视图_1].学院简称, [系部信息表视图_1].名称 as 系部名称,

      专业信息表.名称 as 专业名称, 班级信息表.名称 as 班级名称,

      班级课程设置表.教师编号, 教师信息表.姓名 as 教师姓名,

      班级课程设置表.课程编号, 课程信息表.名称 as 课程名称,

      班级课程设置表.学年学期, 班级课程设置表.学时, 班级信息表.年级,

      课程信息表.考试类型, 班级信息表.专业编号, 班级信息表.人数

from 专业信息表 inner join

      班级信息表 on 专业信息表.编号 = 班级信息表.专业编号 inner join

      系部信息表视图 [系部信息表视图_1] on

      专业信息表.院系编号 = [系部信息表视图_1].编号 right outer join

      班级课程设置表 left outer join

      课程信息表 on 班级课程设置表.课程编号 = 课程信息表.编号 on

      班级信息表.编号 = 班级课程设置表.班级编号 left outer join

      学年学期表 on 班级课程设置表.学年学期 = 学年学期表.学年学期 AND

      班级课程设置表.学年学期 = 学年学期表.学年学期 left outer join

      教师信息表 on 班级课程设置表.教师编号 = 教师信息表.编号

go

--  4.9  教学成绩表视图

create view 教学成绩表视图

as

select 教学成绩表.学号, 学生信息表视图.姓名, 教学成绩表.教师编号,

      教师信息表.姓名 as 教师姓名, 教学成绩表.课程编号,

      课程信息表.名称 as 课程名称, 教学成绩表.考试日期,

      教学成绩表.学年学期, 教学成绩表.考试类别, 教学成绩表.成绩,

      教学成绩表.分数, 课程信息表.考试类型 as 考试考查,

      教学成绩表.考试考查类型, 教学成绩表.录入日期, 学生信息表视图.专业,

      学生信息表视图.班级, 学生信息表视图.年级, 学生信息表视图.班级编号,

      学生信息表视图.专业编号, 学生信息表视图.院系编号,

      课程信息表.院系编号 as Expr1, 学生信息表视图.学院,

      学生信息表视图.系部

from 教学成绩表 left outer join

      学生信息表视图 on

      教学成绩表.学号 = 学生信息表视图.学号 left outer join

      教师信息表 on

      教学成绩表.教师编号 = 教师信息表.编号 left outer join

      课程信息表 on 教学成绩表.课程编号 = 课程信息表.编号

  数据库系统的实施

1.数据库实现

   数据库实现即数据库物理设计与实现。

2.系统编程

   ①  编程语言

     面向C/S结构的编程语言:Visual BasicVisualFoxproVB.net

   ②  功能菜单 :用VB设计

   ③  输入界面 :用VB设计

   ④  输出界面 :用VB设计

   ⑤  数据处理

3. 运行和维护

       ① 维护数据库的安全性与完整性。

       ② 监测并改善数据库的运行性能。

       ③ 及时发现并改正运行中的系统错误和不足。

 结束语

本次实训综合运用SOL SERVER数据库和VB程序设计,简单建立了“教学成绩管理系统的前台部分界面”。并且本次重点在于利用SOL SERVER数据库建立教学成绩管理系统的后台数据库,此数据库建立过程分为功能需求分析主要完成系统的实际需求分析; 功能设计主要完成系统总的组织结构图的绘制; 概念结构设计主要完成E-R图的绘制;逻辑结构设计主要完成表结构的设计; 物理结构设计主要在SOL SERVER中完成数据库和各种数据库对象的实际实现; 数据库系统的实施主要完成数据库系统的运行和维护。

本次实训能够成功的完成,多亏了组长的成功组织和各个成员的协同工作,同时也很感谢实训老师的指导。

参考文献

1.《数据库系统概论》 萨师煊、王珊 主编.高等教育出版社.20##年2月第三版。

2.《管理信息系统》  黄梯云 主编.高等教育出版社. 20##年

3.《SQLServer数据库管理与开发教程与实训》将等北京大学出版社 20061月第一版……

                                                            20##年9月3日

更多相关推荐:
数据库实习实习报告

中原工学院经济管理学院数据库应用实习实习报告专业:信息管理与信息系统目录一、前言3二、实习目的与要求3三、实习内容与过程41、需求分析42、数据库的设计53、应用程序设计74、编程实现85、系统实现86、在实习…

数据库实验报告——

实验一SQLServer基本使用与数据定义一实验目的1掌握企业管理器及查询的定义方法使用方法2熟悉数据库建模及ER图的画法3掌握SQLServer中数据库及数据表的建立与管理方法4掌握数据的导入导出及数据库备份...

数据库实习报告

数据库实习报告目录1前言2实习时间3实习内容及过程A主要写实习过程中遇到的问题及解决的过程B内容和过程应该是具体的是你具体做了些什么C不允许在报告中出现大量截图4实习感想或心得与实习内容要对应5最后附2张白纸老...

数据库实训总结

SQLServer数据库管理课实训报告这个星期是我们SQLServer数据库管理课的实训,经过一个星期的实训,让我将书本上的理论与实践相结合,领会到了许多平时课堂上所没有接受的课外知识课外训练,懂得如何去运用自…

数据库实验报告(SQL)

SQLServer实验报告学号姓名专业信息管理与信息系统目录实训一数据库的基本操作实训二表实训三数据完整性实训四索引实训五数据查询实训六视图实训七TransactSQL程序设计实训八存储过程实训九触发器实训十S...

数据库实训报告1

摘要概念模型是按用户的观点对数据和信息建模是对现实世界的事物及其联系的第一级抽象它不依赖于具体的计算机系统不涉及信息在计算机内如何表示如何处理等问题只是用来描述某个特定组织所关心的信息结构ER图是产生于系统设计...

数据库实训总结报告

经济与管理学院电子商务专业电实子商训务数据报库技告术姓名孟高源学号20xx15021编写日期20xx年1月电子商务数据库技术实训网上系统数据库实训学习心得在网络高速发展的今天我作为一名在校大学生必须跟上时代发展...

数据库实训报告

郑州轻工业学院实训报告实训名称图书借阅管理系统数据库的设计与实现姓名院系软件学院专业班级计算机应用技术net学号22222222222222指导教师22222222222成绩时间20xx年6月20日至20xx年...

数据库实训心得

课程设计报告题目学生选课系统数据库的设计与实现课程名称数据库课程设计学院信息工程学院专业班级14计算机专1班学号20xx039060姓名史腾卫指导老师阮丹丹20xx20xx第二学期目录一课程设计时间2二课程设计...

数据库实验报告

实验7索引和数据完整性的使用1目的与要求1掌握索引的使用方法2掌握数据完整性的实现方法2实验准备1了解索引的作用与分类2掌握索引的创建方法3理解数据的完整性的概念与分类4掌握各种数据完整性的实现方法3实验内容1...

数据库实验报告

合肥师范学院实验报告册20xx20xx学年第2学期系别实验课程专业班级姓名学号指导教师计算机学院数据库原理实验一数据库基本操作一实验目的1熟悉MSSQLSERVER运行界面掌握服务器的基本操作2掌握界面操作方法...

数据库实习报告

苏州科技学院环境学院课程名称数据库实习实习报告专业班级学号姓名实习地点指导教师20xx年7月数据库实习报告书写内容要求一实习项目名称DOTA屌丝玩家管理系统二实习内容1系统技术路线这次实习中使用到了SQLSer...

数据库实训报告(28篇)