当前位置:文档之家› 数据库设计实例—教学管理系统

数据库设计实例—教学管理系统

数据库设计实例—教学管理系统
数据库设计实例—教学管理系统

数据库课程设计报告

教学管理系统

数据库设计

课程设计题目教学管理系统学院软件学院

班级软件技术四班年级2013级

姓名彭超李新徐彤(2014 年11月)

用5行左右的文字对系统进行简要介绍

对教学管理信息统一规范整理,实现各种信息的自动管理。为便于信息的查询,找出各种信息的关联性,根据各种需求设计出合理的报表。

减轻教学日常信息管理的负担,方便学生、教师查询信息和学校对所有信息的管理。以简单便捷的操作获取详尽的信息。

一、数据需求分析

某学校设计学生教学管理系统。学生实体包括学号、姓名、性别、生日、民族、籍贯、简历、登记照,每名学生选择一个主修专业,专业包括专业编号、名称和类别,一个专业属于一个学院,一个学院可以有若干个专业。学院信息要存储学院号、学院名、院长。教学管理还要管理课程表和学生成绩。课程表包括课程号、课程名、学分,每门课程由一个学院开设。学生选修的每门课程获得一个成绩。另外,为了管理教师教学安排,教师包括编号、姓名、年龄、职称,一个教师只能属于一个学院,一名教师可以上若干门课程,一门课程可以有多名老师来上,每个教师所上的每门课都有一个课堂号和课时数。

本系统数据字典如下:

数据项表

数据流

数据流表

二、概念结构设计

1.首先确定系统中的实体

从以上数据需求可以看出,系统共包括5个实体:学生、专业、学院、教师、课程。

2.再确定系统中实体间的关系

根据数据需求描述推出:专业与学生是1对多关系;学生与课程是多对多关系;课程与老师是多对多关系;课程与学院是多对1关系;学院与专业是1对多关系;学院与教师是1对多关系。

3.转化成E-R图

图1 实体-属性图

图2 教学管理ER图

三、逻辑结构设计

在转换为关系模型时,一对多的联系都在相应的多方实体的关系中增加一个外键。本系统由ER模型转换的关系模型是:

学生(学号,姓名,性别,生日,民族,籍贯,专业号,简历,登记照)专业(专业号,专业,专业类别,学院号)

学院(学院号,学院,院长)

课程(课程号,课程名,学分,学院号)

成绩(学号,课程号,成绩)

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

四、物理结构设计(不写)

五、数据库实施

基于Access的数据库结构设计如下。

指定数据库文件的名称,并为设计好的关系模型设计表结构。

数据库文件保存在“E:\教学管理\”文件夹中,数据库文件名:教学管理.MDB。

表包括:学院、专业、学生、课程、成绩单。对应表结构如表1-2至表1-6所示。

表1-1 学院

表1-2 专业

表1-3 学生

表1-4 课程

表1-5 成绩单

附:教学管理数据库参考数据如表1-1~表1-5所示。

表1-1 学生表

表1-2 学院表

表1-2 专业表

表1-4 课程表

表1-5 成绩单

六、思考题:

当我们进行物理设计时,如果将全校的学生放置在一个关系(表)中,势必带来存储空间大、处理效率低的问题。怎么解决?

由于系统要涉及大量数据的操作,所以索引的建立就成为一种必需。本系统分别在各Course,Student,Teacher,Dept,Score各个表的主键上建立索引。

附录A:

SQL脚本:

1.创建数据库TeachingSystem

GO

CREATE DATABASE TeachingSystem

ON

(NAME=TeachingSystem_dat,

FILENAME="E:\MyProjects\SQL Server\TeachingSystem.Mdf",

SIZE=30,

FILEGROWTH=20%

)

LOG ON

(NAME=StudentSystem_log,

FILENAME="E:\MyProjects\SQL Server\TeachingSystem.Ldf",

SIZE=3,

FILEGROWTH=20%

)

GO

2.创建各主表

GO

CREATE TABLE Dept

(DeptNo varchar(10)NOT NULL

CHECK(DeptNo LIKE'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'), DeptName varchar(20)NOT NULL,

Info varchar(256)NOT NULL,

PRIMARY KEY(DeptNo)

);

GO

CREATE TABLE Student

(StudentNo varchar(10)NOT NULL

CHECK(StudentNo LIKE'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'), StudentName varchar(20)NOT NULL,

Gender varchar(4)NOT NULL CHECK(Gender='男'OR Gender='女'), Birthday datetime NOT NULL,

EntryScore float(8)NOT NULL CHECK(EntryScore>= 0),

DeptNo varchar(10)NOT NULL,

PRIMARY KEY(StudentNo),

FOREIGN KEY(DeptNo) REFERENCES Dept(DeptNo)

ON DELETE NO ACTION

ON UPDATE CASCADE

);

GO

CREATE TABLE Teacher

(TeacherNo varchar(10)NOT NULL

CHECK(TeacherNo LIKE'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'), TeacherName varchar(20)NOT NULL,

Gender varchar(4)NOT NULL CHECK(Gender='男'OR Gender='女'), Birthday datetime NOT NULL,

ProTitle varchar(20)NOT NULL,

Specialized varchar(20)NOT NULL,

DeptNo varchar(10)NOT NULL,

PRIMARY KEY(TeacherNo),

FOREIGN KEY(DeptNo) REFERENCES Dept(DeptNo)

ON DELETE NO ACTION

ON UPDATE CASCADE

);

GO

CREATE TABLE Course

(CourseNo varchar(10)NOT NULL

CHECK(CourseNo LIKE'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'), CourseName varchar(20)NOT NULL,

TeacherNo varchar(10)NOT NULL,

CPeriod int NOT NULL,

Credit int NOT NULL,

BeginDate datetime NOT NULL,

CAddress varchar(20)NOT NULL,

ExamDate datetime NOT NULL,

PRIMARY KEY(CourseNo),

FOREIGN KEY(TeacherNo) REFERENCES Teacher(TeacherNo)

ON DELETE NO ACTION

ON UPDATE CASCADE

);

GO

CREATE TABLE Score

(StudentNo varchar(10)NOT NULL REFERENCES Student(StudentNo), CourseNo varchar(10)NOT NULL REFERENCES Course(CourseNo), OrdScore float(8)NOT NULL CHECK(OrdScore>=0 AND OrdScore<=100), ExamScore float(8)NOT NULL CHECK(ExamScore>=0 AND ExamScore<=100), SumScore AS (OrdScore*0.3+ExamScore*0.7),

PRIMARY KEY(StudentNo,CourseNo)

);

GO

附录B

//----------------------------------------------------------------------------- //所属类:TSDatabase

//功能:取得应用程序与数据库系统的连接

public class TSDatabase

{

// Attributes Definition

private SqlConnection _Con = null;

private String _ConStr = null;

private bool _IsConnected = false;

//private User _CurrentUser = null;

private String _ErrorMsg = "";

// Methods Definition

///

/// TSDatabase constructor

///

public TSDatabase()

{

}

///

/// Connect to Teaching System Database

/// Default connection definite as App.config

///

///

public bool Connect()

{

// Get connection string from App.config

_ConStr = ConfigurationManager.ConnectionStrings["TSConnection"].ConnectionString;

// Current connection is null

try

{

if (_Con == null)

{

_Con = new SqlConnection(_ConStr);

_IsConnected = true;

_ErrorMsg = "";

}

return true;

}

catch (System.Exception ex)

{

_ErrorMsg = ex.ToString();

_Con = null;

_ConStr = null;

_IsConnected = false;

return false;

}

}

///

/// Disconnect to Teaching System Database

///

///

public bool Disconnect()

{

try

{

if (_Con != null)

{

if (_Con.State != ConnectionState.Closed)

{

_Con.Close();

}

_Con.Dispose();

_Con = null;

}

_ConStr = null;

_ErrorMsg = "";

return true;

}

catch (System.Exception ex)

{

_Con = null;

_ConStr = null;

_IsConnected = false;

_ErrorMsg = ex.ToString();

return false;

}

}

//----------------------------------------------------------------------------- //所属类:User

//功能:完成各查询功能的函数,即包含不同类型用户的操作

public class User

{

// Attributes Definition

bool _IsLogin = false;

String _UserName = ""; // Save current user number instead

UserType _UserType = 0;

static String _ErrorMsg = "";

// Methods Definition

public User(String UserName, UserType UT)

{

this._UserName = UserName;

this._UserType = UT;

}

// User's virtual functions for different type of user to override

public virtual DataTable Select(String QueryString, QueryType QT, TSDatabase TSDB) { return null; }

public virtual bool Update(String QueryString, QueryType QT, TSDatabase TSDB) { return fals e; }

public virtual bool Insert(String QueryString, QueryType QT, TSDatabase TSDB) { return false; }

public virtual bool Delete(String QueryString, QueryType QT, TSDatabase TSDB) { return false ; }

#region Get and set user's attributes

……

..….

#endregion

///

/// According to the user, query type and offered strings to build a query string

///

///

///

///All strings needed to build querystring

///

public static String GetQueryString(User CurrentUser, QueryType QT, String[] Strings)

{

String QueryString = "";

try

{

switch (QT)

{

……….

…………

case QueryType.StudentSelect:

{

switch (https://www.doczj.com/doc/2a2543865.html,erType)

{

case UserType.Student:

QueryString = "SELECT * FROM Student WHERE StudentNo = '" + CurrentUser .UserName + "';";

break;

case UserType.Teacher:

QueryString = "SELECT Student.StudentNo AS StudentNo,"

+ "StudentName AS StudentName,"

+ "Student.Gender AS Gender, "

+ "EntryScore AS EntryScore, "

+ "DeptName AS Department, "

+ "https://www.doczj.com/doc/2a2543865.html, AS Infomation "

+ "FROM Student, Dept, Course, Score "

+ "WHERE Course.TeacherNo = " + https://www.doczj.com/doc/2a2543865.html,erName + " " + "AND Course.CourseNo = Score.CourseNo "

+ "AND Score.StudentNo = Student.StudentNo "

+ "AND Student.DeptNo = Dept.DeptNo;";

break;

…………….

………………

…………

}

}

//-----------------------------------------------------------------------------//所属类:Student,Teacher,Administrator

//功能:均继承User类,具体实现SELECT,UPDATE,INSERT,DELETE函数内容

// (以下用Student类中的重写SELECT作为例子)

///

/// Select operation for Student

/// Permissible operations(QueryType): All type of select

///

///Transact-SQL statement

///Select query type

///Teaching system database

///Selected DataTable

public override DataTable Select(String QueryString, QueryType QT, TSDatabase TSDB)

{

SqlConnection con = null;

DataTable DT = new DataTable();

this.ErrorMessage = "";

// If it's offline

if (!TSDB.IsConnected)

{

// If fail to connect

if (!TSDB.Connect())

{

this.ErrorMessage += TSDB.ErrorMessage;

return null;

}

}

try

{

con = TSDB.Connection;

// If connection is closed, open first

if (con.State == ConnectionState.Closed)

{

con.Open();

}

// Different query type

switch (QT)

{

case QueryType.StudentSelect:

case QueryType.CourseSelect:

case QueryType.TeacherSelect:

case QueryType.ScoreSelect:

case QueryType.DeptSelect:

{

SqlDataAdapter SDA = new SqlDataAdapter();

SqlCommand SC = new SqlCommand(QueryString, con);

https://www.doczj.com/doc/2a2543865.html,mandType = CommandType.Text;

SDA.SelectCommand = SC;

SDA.Fill(DT);

}

break;

default:

{

this.ErrorMessage = this.ErrorMessage + "\nPermission Deny: " + QT.ToString(); DT = null;

}

break;

}

}

catch (System.Exception ex)

{

this.ErrorMessage = this.ErrorMessage + "\n" + ex.ToString();

DT = null;

}

finally

{

// Close connection to database

if (con.State != ConnectionState.Closed)

{

con.Close();

}

}

return DT;

}

//----------------------------------------------------------------------------- //所属类:TeachingSystem

//功能:整个教学系统主要界面操作函数

//说明:以显示系统界面ShowTS与加载数据库数据表到列表显示函数LoadDataGrid为例

///

/// Show components for different type of user and set this visible

///

public void ShowTS()

{

switch (https://www.doczj.com/doc/2a2543865.html,erType)

{

case UserType.Student:

{

this.tabControl1.Controls.Add(this.Page_SAbout);

this.tabControl1.Controls.Add(this.Page_Teacher);

this.tabControl1.Controls.Add(this.Page_Course);

this.tabControl1.Controls.Add(this.Page_Score);

this.button_TLoad.Enabled = true;

this.button_TAdd.Enabled = false;

this.button_TRemove.Enabled = false;

this.button_TEdit.Enabled = false;

this.button_CLoad.Enabled = true;

this.button_CAdd.Enabled = false;

this.button_CRemove.Enabled = false;

this.button_CEdit.Enabled = false;

this.button_SCLoad.Enabled = true;

this.button_SCAdd.Enabled = false;

this.button_SCRemove.Enabled = false;

this.button_SCEdit.Enabled = false;

}

break;

…………

…………….

InitAboutMyself();

LoadAllDataGrid();

this.Visible = true;

}

///

/// Load database related data to a specific datagridview

/// With user type switch

///

private void LoadDataGrid(GridViewType GVT)

{

String QueryString = null;

switch (GVT)

{

……

…………

………..

case GridViewType.Student:

{

switch (https://www.doczj.com/doc/2a2543865.html,erType)

{

case UserType.Student:

break;

case UserType.Teacher:

……..

break;

case UserType.Administrator:

{

QueryString = User.GetQueryString(CurrentUser, QueryType.StudentSelect, n ull);

BindingSource BS = new BindingSource();

BS.DataSource = ((Administrator)CurrentUser).Select(QueryString, QueryTyp e.StudentSelect, TSDB);

dataGridView_Student.DataSource = BS;

foreach (DataGridViewColumn col in dataGridView_Student.Columns)

{

col.HeaderCell = new DataGridViewAutoFilterColumnHeaderCell(col.Heade rCell);

}

}

break;

default: { }

break;

}

}

break;

……………..

………………

…………….

default: { }

break;

}

}

break;

default: { }

break;

}

}

//-----------------------------------------------------------------------------

//配置文件:App.config

//功能:包含数据库连接字段

//-----------------------------------------------------------------------------//所属类:Login

//功能:登录界面及过程实现

public partial class Login : Form

{

// Attributes Definition

private TSDatabase TSDB = new TSDatabase();

private User CurrentUser = null;

private TeachingSystem TS = null;

private UserType UT = 0;

private String ErrorMsg = "";

// MethoDT Definition

public Login()

{

InitializeComponent();

}

///

/// Login click

/// Check input text and find user in user table, then login or not

///

///

///

private void button_Login_MouseClick(object sender, MouseEventArgs e)

{

if (textBox_User.Text != "")

{

// Login

if (FindLogin(textBox_User.Text, textBox_Password.Text))

{

GetUserType();

CreateLoginedUser(textBox_User.Text, UT);

this.Visible = false;

LoadTS();

}

// Failed to login

else

{

MessageBox.Show("Couldn't login.\nMaybe causes:\nYour username and password in valid\n."+ErrorMsg

, "Login Failed", MessageBoxButtons.OK);

textBox_Password.Text = "";

}

}

else

{

MessageBox.Show("Please input your username and password first."

, "Warning", MessageBoxButtons.OK);

textBox_User.Text = "";

textBox_Password.Text = "";

}

}

///

/// Login user according to user's input

/// In essence, test if it matches to any row in user table record

///

///

///

///

private bool FindLogin(String UserName, String Password)

{

……………..

}

///

/// Create Logined User

///

///

///

///User

private User CreateLoginedUser(String UserName, UserType UT)

{

………………

}

///

/// Judge which user type has been selected;

///

///

private UserType GetUserType()

{

if (radioButton_Student.Checked) UT = UserType.Student;

if (radioButton_Teacher.Checked) UT = UserType.Teacher;

if (radioButton_Admin.Checked) UT = UserType.Administrator;

return UT;

}

///

/// Create TeachingSystem and show

///

private void LoadTS()

{

// TS exists already

if (TS != null)

TS.Dispose();

TS = new TeachingSystem(CurrentUser, TSDB);

TS.ShowLoginEvent += new TeachingSystem.ShowLoginHandler(ShowLogin); TS.CloseLoginEvent += new TeachingSystem.CloseLoginHandler(CloseLogin); TS.ShowTS();

}

///

/// Set this visible, reset attibutes and clear password

///

public void ShowLogin()

{

…………….

}

///

/// Close Login Form

///

public void CloseLogin()

{

this.Close();

数据库管理系统的设计与实现

数据库管理系统的设计与实现 1.DBMS的目标 (1)用户界面友好对一个实用DBMS来说,用户界面的质量直接影响其生命力。DBMS的用户接口应面向应用,采用适合最终用户的交互式、表格式、菜单式、窗口式等界面形式,以方便使用和保持灵活性。一般地说,用户界面应具有可靠性、简单性、灵活性和立即反馈等特性。 (2)功能完备DBMS功能随系统的规模的大小而异。大型DBMS功能齐全,小型DBMS功能弱一些。DBMS主要功能包括数据定义、数据库数据存取、事务控制、数据库组织和存储管理、数据库安全保护等等。我们在下面讨论这些功能的内容。 (3)效率高系统效率包括三个方面:一是计算机系统内部资源的使用效率。能充分利用资源(包括存储空间、设备、CPU等),并注意使各种资源负载均衡以提高整个系统的效率,二是DBMS本身的运行效率。三是用户的生产率。这是指用户学习、使用DBMS和在DBMS基础上开发的应用系统的效率。 2.DBMS的基本功能 (1)数据库定义对数据库的结构进行描述,包括外模式、模式、内模式的定义;数据库完整性的定义;安全保密定义(如用户口令、级别、存取权限);存取路径(如索引)的定义。这些定义存储在数据

字典(亦称为系统目录)中,是DBMS运行的基本依据。为此,提供数据定义语言DDL。 (2)数据存取提供用户对数据的操纵功能,实现对数据库数据的检索、插入、修改和删除。一个好的DBMS应该提供功能强易学易用的数据操纵语言(DML)、方便的操作方式和较高的数据存取效率。DML有两类:一类是宿主型语言,一类是自含型语言。前者的语句不能独立使用而必须嵌入某种主语言,如C语言、COBOL语言中使用。而后者可以独立使用,通常以供终端用户交互使用和批处理方式两种形式使用。 (3)数据库运行管理这是指DBMS运行控制、管理功能。包括多用户环境下的并发控制、安全性检查和存取权限控制、完整性检查和执行、数据加密、运行日志的组织管理、事务的管理和自动恢复(保证事务的正确性),这些功能保证了数据库系统的正常运行。 (4)数据组织、存储和管理DBMS要分门别类地组织、存储各类数据,包括数据字典(亦称系统目录)、用户数据、存取路径等等。要确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系。数据组织和存储的基本目标是提高存储空间利用率,选择合适的存取方法确保较高存取(如随机查找、顺序查找、增、删、改)效率。 (5)数据库的建立和维护包括数据库的初始建立、数据的转换、数据库的转储和恢复、数据库的重组织和重构造以及有性能监测分析等功能。

数据库 教务管理系统 综合实验报告

华北科技学院计算机系综合性实验 实验报告 课程名称《数据库系统A》 实验学期2011 至2012 学年第 2 学期学生所在系部计算机学院 年级2010 专业班级网络B101班 学生姓名学号 任课教师 实验成绩 计算机系制

《数据库系统A》课程综合性实验报告 一、实验目的 利用一种DBMS作为设计平台,理解并应用课程中关于数据库设计的相关理论,能按照数据库设计步骤完成完整的数据库设计,包括需求分析、概念设计、逻辑设计、物理设计和实施。同时能够正确应用各个阶段的典型工具进行表示。 二、设备与环境 (1) 硬件设备:PC机一台 (2) 软件环境:安装Windows操作系统,安装数据库管理系统SQL Server2008等。 三、实验内容 1.需求分析 首先,通过调查,教务管理系统中主要有四类用户,即学生用户,老师用户,教务管理员和系统管理员。对应这些用户,其处理要求的主要的功能就是进行一系列的查询和各类数据的管理及维护。其具体的处理要求如下: 1)系统管理:实现系统管理人员对系统的管理,包括添加删除用户,更改密码,数据备份,数据还原,注销等功能。 2)教务管理:实现教务管理人员对系统的管理,包括课程安排,成绩审核,学生成绩管理,学生学籍管理等功能。 3)基本信息:实现显示学生和老师以及课程、班级、系别的基本信息(包括学生基本信息,教师基本信息,课程基本信息等)。 4)查询:包括实现学生查询,老师查询。学生查询包括自己的基本信息,自己的课程,课表,成绩等,老师查询包括查询自己的信息,自己所带班的学生,自己的课表以及学生成绩等。 5)教师对成绩的录入以及自己信息的查询与维护。 其次,该教务管理系统中,结合以上用户种类以及其具体的处理功能要求,教务管理系统要具备以下信息要求: 教务管理系统涉及的实体有: 教师——工作证号、姓名、电话、工资、邮箱; 学生——学号、姓名、性别、年龄、系代号等; 班级——班号、最低总学分等; 系——系代号、系名和系办公室电话等; 课程——课序号、课名、学分、最大人数等; 其中,这些实体之间的联系如下: 每个学生都属于一个班,每个班都属于一个系,每个教师也都属于一个系。 每个班的班主任都由一名教师担任 一名教师可以教多门课,一门课可以有几位主讲老师,但不同老师讲的同一

数据库设计参考实例

需求分析 (2) 1功能需求 (2) 2数据字典 (2) 3数据流图构建 (5) 系统数据库的逻辑结构设计 (6) 根据该网上书店的具体情况,调查管理业务流程是顺着系统信息流动的过程逐步地进行,内容包括各环节的业务处理、信息来源、处理方法、计算方法、信息流经去向、信息提供的时间和形态(报告、单据等)。本系统的最大特色,数据挖掘在业务流程中清晰可见。我们可以通过对数据库中用户购买信息的关联分析。进行数据挖掘。这是数据挖掘技术在网上书店中最有价值的体现之一。 系统业务流图描述如下: (1)用户在线更新购物车:用户在登陆成功后,通过图书查询,添加图书到购物车后,根据图书编号自动在数据仓库中的图书挖掘信息中寻找与图书关联的图书编号。 (2)用户在线下达图书订单:用户在添加购物车后,确定购物车的书籍及数量后,填写相应的订单信息,确定所填写的订单信息无误后,系统将产生此次订单的编号,完成在线下达订单。 (3)管理员订单处理:管理登陆成功后,会对未处理订单进行处理,处理成功后,向顾客发货。 (4)销售分析处理:通过对图书信息查询,统计图书销售情况。 (5)图书数据挖掘处理:通过对订单处理,创建图书数据仓库,进行图书数据挖掘找出图书之间的潜在关联。 本网站可分为前台管理和后台管理两部分:前台系统功能模块分为:商品展示模块、用户登录、购物车、自服务等模块。后台管理主要包括:商品管理、订单管理、会员管理、类别管理、用户留言管理,产品销售分析等。网上书店功能模块如图3-1所示: 图3-1网上书店功能模块图 前台各主模块的详细功能如下: (1)最新上架模块:展示出最新上市的图书供用户选择。 (2)特价书展示模块:展示出了一些特价图书。 (3)商品查询模块:包括模糊查询模块,和书的类别查询模块。 (4)用户登录\注册模块:用户登录、注册。 (5)商品详细信息展示模块:包括图书详细信息模块。 (6)购物车展示模块:包括已选购商品模块、推荐商品模块。当添加商品到购物车时,会在推荐商品模块中看到本系统为购物者推荐的商品。 (7)自服务展示模块:我的订单模块、个人信息模块。订单模块可以查看订单的状态,和订单的信息。通过个人信息模块可以修改自己信息。 (8)用户评论模块:用户对图书的评论。 后台主模块的功能如下: (1)类别管理:该模块对图书的类别进行添加、删除、修改 (2)商品管理:该模块主要对书籍进行增加、删除、修改管理 (3)订单管理:该模块对客户的订单进行管理,如出库订单。 (4)用户管理:该模块对会员信息进行增加、删除、修改。 (5)销售情况查询:该模块可以查询排行前十的图书信息。 (6)图书挖掘分析:通过对订单的分析,得出最优的匹配方案和相应的决

图书管理系统数据库设计

摘要 数据库原理及应用课程设计是软件工程专业集中实践性环节之一,是学习完《数据库原理及应用》课程后进行的一次全面的综合练习。其目的在于加深对数据库基础理论和基本知识的理解,掌握使用数据库进行软件设计的基本方法,提高运用数据库解决实际问题的能力,最终实现对于给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。 数据库及其应用系统是具有管理功能的计算机系统,而数据库原理及应用课程设计在开发应用程序中至关重要,合理的数据表结构不尽有利于软件的快速开发,而且有利于以后对软件的维护。 目前,我国的科技水平高速发展,计算机作为今天使用最广的现代化工具已深入到各个领域,并且正在成为未来社会——信息社会的重要支柱。在这样的大背景下,现代图书馆的管理方式,资源建设等方面都发生了重大变化,这种变化表现在图书馆工作,管理和服务平台发生的变化,图书馆不再是传统的手工操作,人工管理,而是全面实行计算机管理。 一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的借阅信息。系统在IBMDB2平台上用SQL语言来编写实现。此系统功能分为面向学生和面向管理员两部分,其中学生可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和学生的增加,删除和修改以及对学生,借阅、续借、归还的确认。 关键词:SQL语言;数据库设计;图书管理系统

目录 1需求分析........................................................1 1.1需求分析过程..................................................1 1.2数据字典......................................................2 2概念模式设计....................................................3 2.1实体..........................................................3 2.2 局部视图.....................................................3 2.3视图集成......................................................4 3逻辑模式设计....................................................6 3.1将E-R图转化为关系模式........................................6 3.2数据模型的优化................................................6 4检验是否满足用户需求............................................8 4.1调查用户需求..................................................8 5其它数据库对象(物理数据库设计)的考虑............................9 5.1建表..........................................................9 5.2合法用户名字、权限、角色.......................................10 5.3视图.........................................................10 5.4触发器.......................................................11 5.5索引.........................................................11 6备份及恢复策略.................................................11 6.1备份策略.....................................................11 6.2恢复策略.....................................................11

教务管理系统数据库设计

教务管理 数据库系统课程设计

目录 1、需求分析 (2) 1.1 信息要求: (2) 1.2 处理要求: (2) 1.3 安全性与完整性要求: (2) 1.4 系统功能的设计和划分 (2) 第一部分:用户管理部分 (3) 第二部分:管理员管理部分 (3) 2、概念设计 (3) 2.1概念模型(E-R图): (3) 2.2数据字典: (5) a.数据项 (5) b、数据结构 (5) c、数据流 (5) d、数据存储 (6) e、处理过程 (6) 2.3 数据流图 (7) 3、逻辑结构设计 (7) 3.1 E-R图向关系模型的转换(关系的码用下横线表出) (7) 3.2 设计用户子模式 (8) 4、物理设计 (8) 4.1 选择存取方法 (8) 4.2 确定数据库的存储结构 (8) 4.3 评价物理结构 (9) 5、系统实施 (9) 6、运行维护 (10)

1、需求分析 1.1 信息要求: 教务管理系统涉及的实体有: ●教师——工作证号、姓名、职称、电话等; ●学生——学号、姓名、性别、出生年月等; ●班级——班号、最低总学分等; ●系——系代号、系名和系办公室电话等; ●课程——课序号、课名、学分、上课时间及名额等。 这些实体之间的联系如下: ●每个学生都属于一个班,每个班都属于一个系,每个教师也都属于一个系。 ●每个班的班主任都由一名教师担任。 ●一名教师可以教多门课,一门课可以有几位主讲老师,但不同老师讲的同一门课其课序号是不同 的(课序号是唯一的)。 ●一名同学可以选多门课,一门课可被若干同学选中。 ●一名同学选中的课若已学完,应该记录有相应成绩。 ●本单位学生、教师都有重名,工作证号、学号可以作为标识。 1.2 处理要求: 教学系统主要提供数据维护、选课和信息查询。其中常见的查询有:系统中各对象的基本信息查询。查询指定班、系的学生信息(名单、人数等)。查询学生的成绩、学分情况。查询教师授课情况和学生选课情况……。 1.3 安全性与完整性要求: ●安全性要求: 1.系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用; 2.系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容; 3.系统应对不同用户设置不同的权限,区分不同的用户,如学生,教师,系统管理员。 ●完整性要求: 1.各种信息记录的完整性,关键信息记录内容不能为空; 2.各种数据间相互的联系的正确性; 3.相同的数据在不同记录中的一致性。 1.4 系统功能的设计和划分 根据如上得到的用户需求,我们将本系统按照所完成的功能分成以下几部分:

数据库设计案例-酒店管理系统精品

【关键字】方案、情况、方法、实效、空间、文件、模式、运行、认识、问题、系统、有效、充分、公开、持续、统一、发展、建立、制定、发现、了解、措施、特点、位置、安全、稳定、准则、根本、基础、需要、项目、职能、需求、方式、作用、标准、规模、结构、水平、速度、关系、设置、分析、简化、吸引、逐步、形成、严格、管理、维护、服务、发挥、解决、优化、调整、分工、保障、实现、提高、落实、系统性 酒店管理系统 一、背景说明 目前大多数酒店提供的服务多种多样,规模大小也各不相同,但稍具规模的酒店必含下面三类服务:饮食、住宿和娱乐。由于我们对酒店行业没有具体的接触和实质性的了解。此次数据库设计只能在一些收集到的基本材料与个人直观认识的基础上,简单模仿中等规模的酒店设计管理系统,并将其抽象成一个由三部门组成、实现三大服务的系统。 二、部门的划分 1.饮食部门 它是酒店基本部门之一。它提供服务的特点是实时性强、持续时间短,强调效率。例如,顾客人数、顾客所用的菜及其它饮料等种类繁多,数量不等;后勤各种活动如采购等频繁发生。通过分析可发现,用人工完成此类操作比计算机更具实效与时效,且此类信息也没有长时间保留的必要,因此这些信息没有必要采用数据库管理。对于饮食部门,需要较长时间保留的信息主要是财务信息,一方面便于期末汇总,另一方面便于向上级报告。 在规模较大的酒店餐饮服务部分,餐厅可分成几个等级或几个小部门,然后各自形成小系统,本系统为了简单起见,把饮食部门作为一个子系统,不再细分。 2.住宿管理部门 它也是酒店基本部门之一。住宿管理部门的主要职责有:A.给个房间布置各种设备、分类、编号、制定收费标准、分配服务人员。B.登记旅客信息,确认其身份,登记其入住、退房时间。C.统计各类房间的客满程度。D.对本部门的财务流动进行登记处理。以上信息处理可以通过计算机完成,其他不便于计算机操作的在此没有列出。 3.娱乐管理部门 娱乐是酒店非主流服务,它的存在除了赢利,更多的是为了吸引顾客食宿。娱乐部门的特点与饮食部门很相似,不便于使用计算机进行操作。可以用计算机完成并且有必要用计算机完成的有:A.制定收费标准,分配负责人.B.收入支出财务处理:编号、财务来源去处的摘要、数量、单价、数额、

数据库课程设计题目16个经典实例学习资料.doc

数据库课程设计题目16个经典实例 1.机票预定信息系统 系统功能的基本要求: 航班基本信息的录入,包括航班的编号、飞机名称、机舱等级等。机票信息,包括票价、折扣、当前预售状态及经手业务员等。客户基本信息,包括姓名、联系方式、证件及号码、付款情况等。按照一定条件查询、统计符合条件的航班、机票等;对结果打印输出。 2.长途汽车信息管理系统 系统功能的基本要求: 线路信息,包括出发地、目的地、出发时间、所需时间等。汽车信息:包括汽车的种类及相应的票价、最大载客量等。票价信息:包括售票情况、查询、打印相应的信息。 3.人事信息管理系统 系统功能基本要求: 员工各种信息:包括员工的基本信息,如编号、姓名、性别、学历、所属部门、毕业院校、健康情况、职称、职务、奖惩等;员工各种信息的修改;对转出、辞退、退休员工信息的删除;按照一定条件,查询、统计符合条件的员工信息;教师教学信息的录入:教师编号、姓名、课程编号、课程名称、课程时数、学分、课程性质等。科研信息的录入:教师编号、研究方向、课题研究情况、专利、论文及著作发表情况等。按条件查询、统计,结果打印输出。 4.超市会员管理系统 系统功能的基本要求: 加入会员的基本信息,包括:成为会员的基本条件、优惠政策、优惠时间等。会员的基本信息,包括姓名、性别、年龄、工作单位、联系方式等。会员购物信息:购买物品编号、物品名称、所属种类,数量,价格等。会员返利信息,包括会员积分的情况,享受优惠的等级等。对货物流量及消费人群进行统计输出。 5.客房管理系统 系统功能的基本要求: 客房各种信息,包括客房的类别、当前的状态、负责人等;客房信息的查询和修改,包括按房间号查询住宿情况、按客户信息查询房间状态等。以及退房、订房、换房等信息的修改。对查询、统计结果打印输出。 6.药品存销信息管理系统 系统功能基本要求 药品信息,包括药品编号、药品名称、生产厂家、生产日期、保质期、用途、价格、数量、经手人等;员工信息,包括员工编号、姓名、性别、年龄、学历、职务等;客户信息,包括客户编号、姓名、联系方式、购买时间、购买药品编号、名称、数量等。入库和出库信息,包括当前库存信息、药品存放位置、入库数量和出库数量的统计。

学生数据库设计实例

学生成绩管理系统 目录一:需求分析 二:系统功能描述 三:E-R图 四:数据库逻辑结构设计 五:数据库物理设计 六:代码设计 七:SQL代码 八:界面截图 一:需求分析: 随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长,对学生成绩信息的管理难度随之增大。面队如此庞大的信息量,这就需要学生成绩管理信息系统来提高学生管理工作的效率。通过这样的系统,做到信

息的规范管理、科学统计以及快速的查询和修改,从而减少管理方面的工作量。总体任务是要实现学生成绩信息关系的系统化、规范化和自动化。根据总体任务的要求进行需求分析得出,学生成绩管理信息系统需要完成的功能主要如下:学生基本信息的输入,其中包括学生学号、姓名、性别、所属学院,所属系别,所属班级、出生年月、籍贯、宿舍、联系方式等。 学校基本课程信息的输入,包括课程编号、课程名称、课程属性、课程描述以及完成该课程所得的学分。 教师基本信息的输入,其中包括教师编号,教师姓名,教师职称,所教课程,所教班级等情况 学生信息,教师信息,课程信息,学生考试成绩的插入,删除,修改、查询和统计。 识别每个用户的身份和密码,从而保证信息的安全性,防止信息的外泄和盗用。 还有,涉及到信息的增,删,改的,主要都是面向教务管理员,教师只能录入成绩,查询成绩,修改成绩,和查询个人信息,而学生只能登录查看自己的信息,查询成绩等。 二:系统功能描述 教务处(管理员) 教师学生

三:E-R图(概念结构建立)1)学生查询系统的分E-R图

2)教师查询更新系统的分E-R图 3)管理员分E-R图

数据库管理系统设计

1.1、功能特点 ?前台基本功能 进货管理:进行商品采购入库,采购退货,进/退单据和当前库存查询,与供货商的往来帐务。 销售管理:进行商品销售,顾客退货,销/退单据和当前库存查询,POS 销售统计,与客户的往来帐务。 库存管理:包括库存之间商品调拔,商品的报损溢,强大的库存盘点功能,库存商品报警查询。 统计报表:完整的统计查询功能,每张单据每次收款付款都可以清楚的反映。 日常管理:对供货商,客户,业务员综合管理,对日常收入支出管理,客户借货坏帐管理,合同管理。 基本设置:商品信息,商品调价,供货商,客户,员工,会员,仓库等基本参数的设置。 系统维护:数据库备份/恢复,系统初始化,操作员修改密码,年终结算,查看日志,打印条码,赠品管理。 ?后台基本功能 商品销售:进行商品的销售工作,用户可以通过输入商品的条码,编号来选择商品。 销售退货:进行已销售商品的顾客退货工作,同样可以通过商品条码和编号来选择商品。 打印设置:设置小票的标题和脚注以及要选择的打印机。 兑换赠品:有关会员用积分兑换赠品的管理工作。 赠送赠品:有关赠品的赠送管理工作。 修改密码:修改当前收银员的密码。 快捷键设置:设置 POS 中各功能的快捷键。 出入款管理:管理有关收银员的出入款工作。 1.2、系统要求 1、计算机硬件在586等级以上. 2、软件要求操作系统为中文WIN98,WIN2000,WINXP.WIN2003 3、装有microsoft数据库驱动程序 4、屏幕分辨率800X600以上.

二、快速入门

后台主界面及功能说明: 图1 2.1、基本设置:在基本设置中可以对商品信息、商品调价、供货商、客户、员工、操作员、会员、仓库进行设置 2.1.1、商品信息 在基本设置模块中点击“商品信息”进入商品信息界面如图2

简单数据库设计实例

数据库设计实例 数据库设计是数据库应用系统设计的一个组成部分,其核心是针对于特定的应用环境,设计合理的数据模型,创建数据库及其应用系统,使之能够有效地存储和处理数据,以满足用户的应用需求。从实用角度出发,数据库设计可分为如下几个步骤: 第一步:创建概念数据模型 ◆确定实体和关系 ◆确定属性 ◆规化数据 第二步:生成物理数据模型 第三步:验证设计 为便于学习者理解和掌握,下面结合具体的实例来讲解和展示数据库设计的详细过程。假定我们要开发一个小型的ERP系统,以管理公司部资源,其应用业务场景描述如下: v512工作室由IT业界专业人士组成,在提供高端IT培训业务的同时,还自主制作并免费发布大量公益性学习资源,工作室以公司形式运营,目前共拥有18名员工,这些员工分属于4个部门,且员工之间存在上下级管理关系。计划将来根据业务的发展设立更多的部门,聘用更多的员工。为保证质量,工作室对其成员的各项专业技能进行了级别评定。 8.5.1 确定实体和关系 1. 确定高级别的活动 要确定本ERP系统数据库设计中的实体和实体间关系,首先应明确要基于该数据库执行的高级别活动,这里所谓的高级别活动是指从用户的视角出发,确定本数据库设计中系统所涉及到的业务活动。比如,存储和维护员工的个人信息等。 在前述的应用业务场景中,v512工作室需要考虑的高级别活动包括: -聘用新员工 -解雇现有员工 -维护员工的个人信息 -增设新部门 -裁撤现有部门 -维护部门信息 -维护工作室业务相关的技能信息 -维护各员工的业务技能掌握情况 2. 确定实体 接下来要确定的是,针对上述的高级别活动需要记录和维护有关哪些事物的信息,这些事物将被转换为实体。其中,员工相关信息可抽象为“Employee”实体、部门相关信息可抽象为“Department”实体、技能相关信息抽象为“Skill”实体,为规和方便起见,这些实体均采用英文命名,并尽量在名称中体现其含义。 3. 确定关系 进一步对上述高级活动进行分析,以确定实体间存在何种关系。具体包括: -Employee-Department实体之间存在隶属关系 员工必须且只能隶属于某一个特定的部门,一个部门可以包含0~多名员工,此为一对多关系。 这种从两个方向上对同一个关系的细化描述被称为关系的角色,每个关系都对应两种角色。

仓库管理系统数据库设计

仓库管理系统数据库设计 1概述(设计题目与可行性分析) 1.1设计题目 设计一个仓库数据库管理系统,要求实现入库、出库、库存和采购等功能。 随着经济的飞速发展,,仓库管理变成了各大公司日益重要的内容。仓库管理过程的准确性和高效性至关重要。影响着公司的经济发展和管理。利用人工管理强大而数据烦琐的数据库显的效率过于低。利用计算机高效、准确的特点能够很好的满足公司的管理需要。提高公司各个员工的工作效率和公司的运做效率。利用计算机对仓库数据信息进行管理具有着手工管理所无法比拟的优点。目前一个现代化的仓库管理系统已经成为仓库管理不可缺少的管理手段。 1.2 可行性研究 可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。可行性研究的目的不是解决问题而是分析问题能不能解决;至少从下面三个方面分析可行性研究。 1.2.1技术可行性 该仓库数据库管理系统不不是很复杂,设计实现该数据库技术难度不是很大,利用目前现有的技术和工具能在规定的时间内做出该系统。该系统利用SQL2000和 visual studio 工具就能很好的实现该系统。 1.2.2经济可行性 当今世界是经济时代,一个公司的员工工作效率的高低直接影响着这个公司的发展。因此利用计算机进行信息管理有着无可比拟的好处,该系统相对较小,代码行较少,数据库设计不是很麻烦,开发周期较短。而且便于维护。但其带来的经济效益远远高于其开发成本。在经济上是可行的。 1.2.3操作可行性 在当今社会,随着义务教育的普及。和计算机的普及,公司的员工基本上都会进行电脑的基本操作,由于本软件系统采用相对友好的界面,用户 在使用过程中不需要懂太多的电脑专业知识,只需要基本的电脑操作就可

数据库课程设计 教务管理系统

洛阳理工学院 课程设计报告 课程名称数据库课程设计 设计题目教务管理系统 专业计算机科学与技术 班级B120505 学号 姓名 完成日期2015-1-4

课程设计任务书 设计题目:教务管理系统 设计内容与要求: 设计教务管理系统,类似于我校教务管理系统,有四类用户:教务员、学生、教师、管理员教务员可以输入学生、教师、班级、课程信息。一个班级只属于一个专业,一个学生只属于一个班级。教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。教师可以查看学习该课程的学生名单。课程结束后,教师可以录入课程成绩。一个教师可以教授多个班的多门课程,每门课由多位老师讲授。课程分两类,必修课和选修课。系统要记录每个学生学习各门必修课的成绩,还要记录学生选修了哪些选修课以及课程成绩。学生可以查看自己各门课程的成绩。学生还可以进行评教,给老师打分。管理员可以输入教室信息,并结合班级、课程、教室信息实现自动排课。 要求: 1.完成本系统的需求分析,写出功能需求和数据需求描述; 2.完成数据库的概念结构设计、逻辑结构设计、物理结构设计; 3.完成本系统的部分功能模块的程序界面设计。 指导教师:高春玲 2014 年12 月28 日 课程设计评语 成绩: 指导教师:_______________ 年月日

目录 一、概述 2 1.1、本设计的目的与意义 2 1.2、数据库开发工具和应用程序开发工具 2 二、需求分析 2 2.1功能需求 2 2.2数据需求 2 三、概念结构设计 2 3.1、E-R模型设计 2 3.2、总体E-R图描述 4 四、逻辑结构设计 4 4.1、关系模型 4 4.2、关系模式的优化与说明 4 五、物理结构设计 5 5.1建立数据库 5 5.2表与表结构 5 六、应用程序设计 6 6.1、系统总体结构 6 6.2、系统界面与源代码7 6.2.1、界面7 6.2.2、功能描述9 6.2.3、程序源代码9 七、设计总结23 八、体会与收获24 九、参考文献24

教务管理系统数据库设计

教务管理系统数据库(SQL Server 2008 + delphi7) 实验报告 班级: 姓名: 学号: 指导教师: 完成日期: 目录 第一章系统概述 (3) 第二章系统分析 (3) 第三章系统设计 (4) 第四章系统功能 (9) 第五章系统实现 (9) 第六章源程序附录 (15) 第七章参考文献 (73)

第一章系统概述 学校学生管理信息系统就是针对学校人事处的大量业务处理工作而开发的管理软件,就是典型的管理信息系统(Management Information System)。它就是一个教育单位不可缺少的部分,它的内容对于学校的决策者与管理者来说都至关重要,它能够为用户提供充足的信息与快捷的查询手段。能有效的帮助学校与老师掌握学生的情况,为学生提供成绩跟课程方面的查询。 本系统就是以delphi7编辑用户界面,以SQL server 2008为数据源后台而成的学生信息管理系统。本系统就是以计算机为基础,由人与计算机结合的对信息进行收集、存储、维护、加工、传递与使用的一种管理系统,其目的就是使人流、物流、资金流与信息流处于最佳状态,以最少的资源投入获得最佳的综合效益。本系统主要包括学生信息管理模块、教师信息管理模块、课程信息管理模块、成绩信息管理模块与系统维护模块等部分。在校务管理中,为有关部门提供完整、综合、共享的信息,对于学校的教育管理、教务与 科研等都有很大的实用价值。 第二章系统分析 1、问题定义 随着科学技术的不断提高,计算机科学日渐成熟,其强大功能已为人们深刻认识,它已进入人们生活的各个领域,并发挥了越来越重要的作用,针对人工管理的缺点,最好的解决办法就就是借助计算机技术提供一个电子化的学生信息管理平台。为了更好地管理学生与教职工的资料文档,我开发一个软件工程学生信息管理系统。教师与学生可以应用该系统实现如下功能: 1、可随时查询出不同系及各系教师与各系学生情况,系、教师与学生各反映如下情况: 系:系号、系名、系负责人、专业数等。 教师:工号、姓名、性别、职称、工龄、出生年月、基本工资等。 学生:学号、姓名、性别、年龄等。 2、为简单起见教师与学生区分系别,而课程不分系,课程需反映如下信息: 课程代号、课程名、课时数、必修课、学分。 3、学生入学时新生需录入登记,登记后即可选课学习课程(一学期约20学分)。 4、一门只由一位教师上,一位教师可上多门课,满30人才开课。 5、学生选每门课有个成绩,若成绩不及格则补考后还需记录补考成绩。 1)在某数据库管理系统中建立各关系模式对应的库表,并设计所需的视图、索引等。 2)能对各库表进行输入、修改、删除、添加、查询、打印等基本操作。 3)新生入校登记后可即时选课,老生每学期开始前可选课或作选课调整,一般要选共约20学分的若干门课程。 4)能明细查询某学生的选课情况及某课程的选修学生情况。 5)能统计查询出某学生的成绩单(包括总成绩、平均成绩、不及格门数等)及某门课的选课人数、最高分、最低分、平均成绩等统计信息。 6)能分析出某教师的教学质量情况(可根据该教师所任所有课优良数平均超过一定百分比来粗略评定)。 7)其她您认为子系统应有的查询、统计功能。 8)要求子系统设计得界面友好,功能选择方便合理,并适当考虑子系统在其安全性、完整性、备份、恢复等方面的功能要求

教务管理系统数据库文档

教务管理系统数据库文档 第 1 页共 18 页 Air (China) Company 001 : 5 : 2009-1-1 : 2009-1-8 : 第 2 页共 18 页 , , 1 2005-12-27 新建表,设置主外键王如玉 2 2005-12-28 填写数据、文档编写、设计视图王如玉 3 2005-12-29 存储过程来实现数据库的自动化王如玉, 1. V1.0 2009-1-1 数据库应用技术 2. V1.0 2009-1-1 数据库开发实例解析 第 3 页共 18 页 1. ................................................................. ...................... 4 1.1 数据库总体设 计 ..................................................................... (4) 1.1.1 表空间规 划 ..................................................................... (4)

1.1.2 数据库规 划 ..................................................................... (4) 2. ..................................................................... ...................... 5 2.1 实体列表( Entity List) .................................................................. .................................... 5 2.2 E-R 图 ..................................................................... (5) 2.2.1 < 后台管理E-R图 > ...................................................................... . (5) 2.2.2 <销售E-R图 > ...................................................................... . (6) 2.2.3 <商务E-R图 > ...................................................................... ...................... 7 2.3 实体定 义 ..................................................................... . (12) 2.3.1 < pubinfo > ...................................................................... . (12)

数据库系统课程设计--实例

摘要 数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一。其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础。 随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求; 信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径. 校园网信息系统建设的重要性越来越为成人高校所重视. 利用计算机支持教学高效率,完成教学管理的日常事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化的必要条件;而教学管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行教学管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,与世界接轨的件。在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数据设计成为软件开发的核心,程序的设计要服从数据,因此教学管理系统的数据库设计尤其重要。 本文主要介绍教学管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述。本系统利用IBM DB2企业版本开发出来的。DB2是IBM公司开发的关系关系数据库管理系统,它把SQL语言作为查询语言。 本文的分为5章。其中第1章主要是课题简介及设计的内容与目的。第2章是需求分析,此阶段是数据库设计的起点。第3章是概念设计,它是将需求分析的用户需求抽象为信息结构,这是整个数据库设计最困难的阶段。第4章是逻辑结构设计,它将概念模型转换为某个DBMS所支持的数据模型。第5章是数据库的实施与运行,它包括数据的载入及数据库的运行。 关键词:SQL语言;IBM DB2;数据库设计;教学管理系统 I

数据库设计实例—教学管理系统

数据库课程设计报告 教学管理系统 数据库设计 课程设计题目教学管理系统学院软件学院 班级软件技术四班年级2013级 姓名彭超李新徐彤(2014 年11月)

用5行左右的文字对系统进行简要介绍 对教学管理信息统一规范整理,实现各种信息的自动管理。为便于信息的查询,找出各种信息的关联性,根据各种需求设计出合理的报表。 减轻教学日常信息管理的负担,方便学生、教师查询信息和学校对所有信息的管理。以简单便捷的操作获取详尽的信息。 一、数据需求分析 某学校设计学生教学管理系统。学生实体包括学号、姓名、性别、生日、民族、籍贯、简历、登记照,每名学生选择一个主修专业,专业包括专业编号、名称和类别,一个专业属于一个学院,一个学院可以有若干个专业。学院信息要存储学院号、学院名、院长。教学管理还要管理课程表和学生成绩。课程表包括课程号、课程名、学分,每门课程由一个学院开设。学生选修的每门课程获得一个成绩。另外,为了管理教师教学安排,教师包括编号、姓名、年龄、职称,一个教师只能属于一个学院,一名教师可以上若干门课程,一门课程可以有多名老师来上,每个教师所上的每门课都有一个课堂号和课时数。 本系统数据字典如下: 数据项表

数据流 数据流表 二、概念结构设计 1.首先确定系统中的实体 从以上数据需求可以看出,系统共包括5个实体:学生、专业、学院、教师、课程。

2.再确定系统中实体间的关系 根据数据需求描述推出:专业与学生是1对多关系;学生与课程是多对多关系;课程与老师是多对多关系;课程与学院是多对1关系;学院与专业是1对多关系;学院与教师是1对多关系。 3.转化成E-R图 图1 实体-属性图 图2 教学管理ER图 三、逻辑结构设计

数据库管理系统

9.2 一个完整的数据库管理系统实例 很多人都有过到书屋租书的经历,我们往往会为老板的健忘以及业务的混乱恼火!那么我们就来建立图书租借系统为那些老板解忧吧! 9.2.1 数据分析并创建表 书店的业务看似简单,其实也需要仔细分析才能理出头绪。下面列出了需要的数据。 ●与顾客相关的数据:顾客姓名,顾客编号,电话,是否会员,会员编号,地址。 ●与书籍相关的数据:图书编号,几册装,图书名称,作者编号,作者,类型编号, 类型,出版社编号,出版社名称,电话,一般价,会员价。 ●租借记录:顾客姓名,借阅日期,是否归还,归还日期,借阅图书。 ●会员缴款记录:缴款编号,缴款日期,客户编号,缴款金额。 以上列出了需要的数据,但是依照上述数据建立的表格会出现数据的重复及冗余。因此,我们要在分析的基础上建立表间的关联。很显然,与书籍有关的数据可以分拆成四个表,分别为: ●图书清单表:图书编号(索引),几册装,一般价,会员价,图书名称。 ●作者名单表:作者编号(索引),姓名。 ●图书类型表:类型编号(索引),类型。 ●图书名单表:图书编号(索引),图书名称。 ●出版社名单:出版社编号(索引),出版社名称,电话。 在表的分析基础上,我们可以设计出8个表,分别为“书籍清单”,“顾客名单”和“租借记录”3个主表,以及“书籍类型”、“书籍名单”、“作者名单”、“出版社名单”与“会员缴款记录”5个附表。建立的关系如图1-1所示。 图9-1 建立的表关系视图

接下来我们将分别建立这8个表。 (1)书籍清单表:首先鼠标单击任务窗格中【新建】|【空数据库】选项,打开如图9-2所示窗口。 图9-2 新建空数据库窗口 在上图中选择保存路径及名称,本例保存在E:/数据库实例文件夹下,命名为书籍租借管理系统。鼠标单击【创建】按钮。打开数据库窗口如图9-3所示。 图9-3 数据库窗口 在这个窗口里就可以利用以前学的知识建立表了,下面以顾客记录表为例,其它表大家自己创建。首先选择表对象,鼠标单击【新建】按钮,选择“设计视图”后,单击【确定】按钮,如图9-4所示。

简单数据库设计实例

数据库设计的案例分析 一、教学管理 1. 基本需求 某学校设计学生教学管理系统。学生实体包括学号、姓名、性别、生日、民族、籍贯、简历、登记照,每名学生选择一个主修专业,专业包括专业编号、名称和类别,一个专业属于一个学院,一个学院可以有若干个专业。学院信息要存储学院号、学院名、院长。教学管理还要管理课程表和学生成绩。课程表包括课程号、课程名、学分,每门课程由一个学院开设。学生选修的每门课程获得一个成绩。 设计该教学管理的ER模型,然后转化为关系模型。 若上面的管理系统还要管理教师教学安排,教师包括编号、姓名、年龄、职称,一个教师只能属于一个学院,一名教师可以上若干门课程,一门课程可以有多名老师来上,每个教师所上的每门课都有一个课堂号和课时数。尝试修改上题的ER模型,将教师教学信息管理增加进去。 ●请你设计一个数据库,并确定要满足的各种约束,使得其中: ?保存了所需的所有信息; ?支持教学管理的各种应用; ?尽可能地优化:减少冗余、提高查询速度。 ●画实体-联系图。 ●将实体-联系图转换为关系表。

2. 参考设计 ●首先确定系统中的实体 ●再确定系统中实体间的关系 ●转化成E-R图 图一教学管理ER图 由ER模型转换的关系模型是: 学生(学号,姓名,性别,生日,民族,籍贯,专业号,简历,登记照)专业(专业号,专业,专业类别,学院号) 学院(学院号,学院,院长) 课程(课程号,课程名,学分,学院号) 成绩(学号,课程号,成绩) (题目分析:本题中有学生、专业、学院、课程四个实体。一个学生只有一个主修专业,学生与专业有多对一的联系;一个专业只由一个学院开设,一门课程只由一个学院开设,学院与专业、学院与课程都是一对多的联系;学生与课程有多对多的联系。 在转换为关系模型时,一对多的联系都在相应的多方实体的关系中增加一个外键。)

相关主题
文本预览
相关文档 最新文档