收藏 分销(赏)

数据库课程设计概要.doc

上传人:天**** 文档编号:3529940 上传时间:2024-07-08 格式:DOC 页数:30 大小:438.50KB
下载 相关 举报
数据库课程设计概要.doc_第1页
第1页 / 共30页
数据库课程设计概要.doc_第2页
第2页 / 共30页
数据库课程设计概要.doc_第3页
第3页 / 共30页
数据库课程设计概要.doc_第4页
第4页 / 共30页
数据库课程设计概要.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、数据库课程设计概要 信息工程学院课程设计报告设计名称: 数据库课程设计 姓 名: 学 号: 专业班级: 系 (院): 设计时间: 设计地点: 指导老师: 一课程设计目的数据库课程设计是为数据库原理及应用课程而独立开设的实践性课程,对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。经过本实验达到以下目的:(1) 培养学生具有C/S和B/S/S模式的数据库应用软件系统的设计和开发能力。(2) 熟练掌握一种数据库系统(如SQL SERVER)的使用。(3) 熟练掌握一种数据库应用软件开发工具(如POWERBUILDER 、ASP、VB.NET)的使用。(4) 经过设计实际的数据库

2、系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。二课程设计任务与要求:1、任务:学生选课系统问题描述:1) 学校现有课程若干门。2) 课程表的信息有课程号、名字、学分、学期、课时等。3) 学生表的信息有学生号、名字、性别、年龄、。4) 选课表的信息有选修课程号、学生的学号、课程学分。5) 用户表信息有用户名、用户密码、用户权限。2、设计要求:1) 实现学生表中学生信息的插入、修改、删除。2) 实现课程表中课程信息的插入、修改、删除。3) 实现选课表中得选修课程的选课信息查询、进行课程选择。4) 管理员进行登陆后才能访问此数据库。5)设计一完整的数据

3、库。要求掌握数据库的设计的每个步骤;掌握数据设计各阶段的输入、输出、设计环境、目标和方法;熟练的使用SQL语言实现数据库以及数据库重要对象的建立、应用和维护。三课程设计说明书1 需求分析(1)数据需求学生选修信息系统需要完成功能主要有:1、课程基本信息的输入查询、修改、删除,包括课程号、课程名字、学期、课程学分等。2、学生基本信息的的输入查询、修改、删除,包括学号、学生姓名、学生性别、学生年龄、系别等。3、学生选课的基本信息的选课信息查询、学生进行课程选择。4、管理员的基本信息的输入、查询、修改、包括用户名、密码。(2)事务需求在课程信息部分,要求:a.能够查询课程信息。b.能够对课程信息进行

4、插入、修改及删除的操作。在学生信息部分,要求:a.能够查询学生信息:b.能够对学生信息进行维护,包括插入、修改及删除的操作。在学生选课信息管理部分,要求:。a.能够学生选课信息。b.能够对学生选课信息进行查询及学生选课操作。在用户登录信息管理部分,要求:a.能够使用用户信息进行登录访问b.能够对用户个人信息进行修改、删除维护操作 (3)关系模式(1)课程类别(课程编号,课程名、课程学分、学期、课程学时)(2)学生类别(学生号,学生姓名,学生性别,学生年龄,学生系别 )(3) 学生选课类别(课程号,学生号,学生成绩)(4) 用户类别(用户名,用户密码,用户权限)(4)数据流程图(DFD)课程信息

5、查询课程信息课程信息分数信息学生信息课程信息息用户用户用户用户用户学生信息管理系统用户分数查询用户用户学生信息查询学生用户分数信息用户删除修改信息图1-1顶层数据流图登 录P1F1P3删除修改查询P2管理P4D2D3D4D1F2F3F5F4图1-2一层数据流图P数据流数据处理D数据存储F注:D1 用户表D2 课程表 D3 成绩表D4 学生表F1 登录信息F3,F4,F5各种选课、学生信息 F2 用户信息F6各种信息P2.1选择查询F5.1P2.2课程信息查询P2.3成绩信息查询P2.5学生信息查询D3D2D4F7F5.3F5.2F5图1-3二层数据流图P4.1选择P4.3学生信息管理P4.4课

6、程信息管理P4.2成绩信息管理D3D2D4F4F4.1F4.2F4.3F8图1-4二层数据流图(5)数据字典 为了使各数据流,数据处理过程,存储过程不能反映其中的数据成,数据项目,数据特性,因此用数据字典来对数据流图中的各成份进行具体的定义,为系统的分析,设计及以后的实现提供供有关元素一致性定义和详细的描述数据流字典数据流名称:读者登录 标志符:F1别名:无来源:用户去向:查询处理过程(P)数据组成:用户名+密码+用户权限数据流名称:学生信息查询 标志符:F5.3别名:无来源:用户去向: 查询处理过程(P2.3)数据组成: 学号+姓名+性别+年龄+系别数据流名称:课程信息查询 标志符:F5.1

7、别名:无来源:用户去向: 查询处理过程(P2.1)数据组成: 课程号+课程名+学分+学时+课时数据流名称:成绩信息查询 标志符:F5.2别名:无来源:用户去向: 查询处理过程(P2.2)数据组成: 学号+课程号+分数数据流名称:学生信息管理 标志符:F4.2别名:无来源:用户去向: 查询处理过程(P4.2)数据组成: 学号+姓名+性别+年龄+系别数据流名称:课程信息管理 标志符:F4.3别名:无来源:用户去向: 查询处理过程(P4.3)数据组成:课程号+课程名+学分+学时+课时数据流名称:成绩信息管理 标志符:F4.1别名:无来源:用户去向: 查询处理过程(P4.4)数据组成:学号+课程号+分

8、数数据存储字典:数据存储名称:用户数据库 标志符:D1描述:所有用户的信息流入数据流:F1涉及处理:P4 P5数据组成:用户名+密码+用户权限数据存储名称:课程数据库 标志符:D2描述:所有课程信息的详细资料流入数据流:F3涉及处理:P4 P5数据组成:课程号+课程名+学分+学时+课时数据存储名称:成绩数据库 标志符:D3描述:所有用户的成绩数据详细资料流入数据流:F3涉及处理:P4 P5数据组成:学号+课程号+分数数据存储名称:学生数据库 标志符:D4描述:所有学生信息的详细资料流入数据流:F3涉及处理:P4 P5数据组成:学号+姓名+性别+年龄+系别数据处理字典:数据处理名称:用户登录 标

9、志符:P1处理定义:登录系统 激发条件:所输入用户民和密码正确输入:F1输出:F4,F5,F6数据处理名称:查询选择 标志符:P2.1处理定义:选择查询方式 激发条件:已选择查询方式输入:F5输出:F7数据处理名称:学生查询选择 标志符:P2.2处理定义:选择查询方式 激发条件:已选择查询方式输入:F4输出:F7数据处理名称:成绩查询选择 标志符:P2.3处理定义:选择查询方式 激发条件:已选择查询方式输入:F4输出:F7数据处理名称:课程查询选择 标志符:P2.4处理定义:选择查询方式 激发条件:已选择查询方式输入:F4输出:F7数据处理名称:管理选择 标志符:P4.1处理定义:选择管理功能

10、 激发条件:选择输入:F4输出:F8数据处理名称:成绩管理选择 标志符:P4.2处理定义:选择管理功能 激发条件:选择输入:F4输出:F8数据处理名称:学生管理选择 标志符:P4.3处理定义:选择管理功能 激发条件:选择输入:F4输出:F8数据处理名称:课程管理选择 标志符:P4.4处理定义:选择管理功能 激发条件:选择输入:F4输出:F82 概要设计(1)实体图及E-R图所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。该选课系统能够划分的实体有:用户实体,学生实体,课程实体,选课记录实体。用户信息实体图:用户信息用户密码用户姓名用户权限 图2-1 用户实体及其属性图学生信息

11、实体图:学生信息所在系学生学号学生姓名学生性别学生年龄 图2-2 学生实体及其属性图课程信息实体图课程信息课时课程编号课程名学分学期 图2-3 课程实体及其属性图选课记录信息实体图选课信息课程编号学生学号成绩 图2-4 选课记录实体及其属性图选修学生信息实体课程信息实体属于用户信息实体选课信息实体记录记录mn总的E-R图: m111nm 图2-5 总的E-R图3逻辑设计表3-1课程表表中列名数据类型可否为空说明CnoVarchar(10)not null(主键)课程号CnameVarchar(20)not null课程名Ccredtintnull学分Csemesterintnull学期Cper

12、iodintnull课时表3-2学生表表中列名数据类型可否为空说明SnoVarchar(10)not null(主键)学生号Snamevarchar(8)not null姓名Ssexvarchar(2)not null性别Sageintnot null年龄SdeptVarchar(20)null院系表3-3成绩表表中列名数据类型可否为空说明CnoVarchar(10)Not null(主键)课程号SnoVarchar(10)Not null(主键)学生号gradeintnull成绩 表3-4 用户表表中列名数据类型可否为空说明userNameVarchar(16)Not null(主键)用户名

13、userPasswordVarchar(16)Not null密码userPurviewVarchar(8)null用户权限4 关系图4-15 物理设计 数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。所谓的”合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。主要体现在后者。(1) 建立索引: 对课程表在Cno属性列上建立聚集索引,在Cname,Ccredt,Csemester,Cperiod属性列上建立非聚集索引。 对学生表在Sno属性列上建立聚集索引,在Sna

14、me,Ssex,Sage,Sdept属性列上建立非聚集索引 对成绩表在Cno,Sno属性列上建立聚集索引,在grade属性列上建立非聚集索引 对用户表在userName属性列上建立聚集索引,在userPassword,userPurview属性列上建立非聚集索引(2) 存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。将日志文件和数据库对象(表、索引等)分别放在不同的磁盘能够改进系统的性能。因此系统将日志文件和数据文件存放在不同磁盘上。6.数据库建立(1)创立数据库create database l

15、llon(name=lll_data,filename=E:sqllll_data.mdf,size=5MB,maxsize=20MB,filegrowth=2MB)log on(name=lll_log,filename=E:sqllll_log.ldf,size=1MB,maxsize=20MB,filegrowth=20%)(2)创立学生信息表create table 学生表 (Sno char(10) primary key, Sname char(10) unique, Ssex char(5), Sage int, Sdept char(8);(3)创立课程信息表create ta

16、ble 课程表 (Cno char(10), Primary key (cno), Cname char(10), Ccredt char(10)Csemester char(10)Cperiod char(10);(4)创立成绩表create table 成绩表 (Sno char(10), Cno char(10), grade smallint, Primary key(sno,cno), foreign key(sno) references student(sno), foreign key(cno) references course(cno);(5)创立用户表create tab

17、le 用户表 (userName char(10)userPassword char(20)userPurview char(10)7.数据初始化(1)往学生信息表插入数据insert into 学生表(Sno,Sname,Ssex,Sage,Sdept)values(11341,李晨,男,20,cs);insert into学生表values(11342,刘晨,女,19,cs);insert into学生表values(11343,王敏,女,18,ma);insert into 学生表values(11344,张立,男,20,is);(2)往课程信息表插入数据insert into课程表(C

18、no Cname Ccredt Csemeste Cperiod)values(1001,数据库,4,3,80);insert into课程表values(1002,数学,5,2,75);insert into课程表values(1003,信息系统,4,2,65);insert into 课程表 values(1004,操作系统,3,3,90);(3)往成绩表插入数据insert into 成绩表(sno,cno,grade)values(11341,1001,92);insert into成绩表values(11342,1002,85);insert into成绩表values(11343,

19、1003,88);insert into成绩表values(11344,1004,90);(4)往用户表插入数据insert into 用户表(username userPassword userPurview)values(姚春振,123,超级用户)insert into 用户表values(李龙龙,123,管理员)insert into 用户表values(毋康康,123,一般用户)insert into 用户表values(吕斌,123,管理员)8数据库权限管理该系统设置三种类型的用户(1) 管理员:李龙龙,吕斌(2) 超级用户:姚春振(3) 一般用户:毋康康9、建立触发器,存储过程-建

20、立学生信息管理的存贮过程create procedure studentmessageasbeginselect sno,sname from tbl_学生表endgoexec studentmessagego-建立课程信息的存贮过程create procedure coursemessageasbeginselect sno,sname from tbl_课程表endgoexec coursemessagego-创立触发器score_grade_tricreate trigger score_grade_trion sc for insert,updateasdeclare score_re

21、ad intselect score_read=grade from insertedif score_read=0 and score_read0rollback transactionEnd10 系统实现(1) 系统功能模块图:系统功能模块图如图10-1学生选课管理系统登录子系统学生信息管理子系统课程信息管理子系统学生选课信息管理子系统学生信息添加学生信息修改学生信息删除课程信息添加课程信息修改课程信息删除选课信息的查询进行课程选择图10-1系统功能模块图四个子系统的功能如下:登录子系统: 能够实现学生选课系统管理员。学生信息管理子系统:主要用于管理员对学生信息添加、修改、删除操作,实现学

22、生信息数据的更新。课程信息管理子系统: 主要用于管理员对选修课程信息的添加、修改、删除管理,实现课程信息数据的更新。成绩表管理子系统:主要用于管理员对选课信息的查询和学生进行选课操作。(2) 前台开发平台的选择:VB.NET(3) VB.NET与数据库的连接ADO.NET是VB.NET访问数据库的主要方式。ADO.NET的数据访问方式ADO.NET 的数据存取API 提供3 种数据访问方式: a) 经过ODBC 相连,访问支持早期ODBC 协议的数据库。b) 经过OLEDB 相连,访问SQL Server , MicrosoftAccess, Oracle 或者其它有提供OLE DB 连接能力

23、的数据库c) 使用SqlConnection 直接SQL Server 相连VB.NET访问数据库的具体过程a) 创立数据库连接ADO.NET 中使用sqlConnection 类对SQL Server 以及更高版本进行连接, 这个类的构造函数接受一个可选参数,称为连接字符串,该字符串用于定义正在连接的数据库的类型、位置以及其它信息,这些属性用分号分隔,一般该字符串包含如下信息:Data Source 特性: 指定SQL Server 数据库所在计算机名称; Initial Catalog 特性: 指定连接的SQL Server 数据库的名称;userName 和userPassword 特性

24、:指定用SQL SERVER登录方式的有效帐户名和密码或设置为:integrated security=SSPI设置为Windows 登录方式。b ) 填充数据创立数据源连接以后, 接下来创立数据适配器,适配器在创立过程中需要向其传递两个要素:用于包含结构化查询语句的数据描述和用于指明数据库连接信息的连接描述,创立后可利用Fill 方法,将所需的数据填充在一个数据集(DataSet)中。c ) 关闭数据库的连接由于DataSet采用是断开连接的方式,因此当把数据填充到数据集后即可断开与数据库的连接。 d) 为控件指定数据源数据填充到数据集后,要在窗体上显示出来,则必须把相应的数据表绑定到数据控

25、件上。具体实现代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;using System.Windows.Forms;namespace hcy public class DataBase public SqlConnection dataConnection = new SqlConnection(); public SqlDataAdapter dataAdapter; pub

26、lic DataSet dataSet = new DataSet(); string connstr = server=PC- 0908TULP;database=mysql;integrated security=SSPI; public DataSet GetDataFormDB(string sqlStr) try dataConnection.ConnectionString = connstr; dataAdapter = new SqlDataAdapter(sqlStr, dataConnection); dataSet.Clear(); dataAdapter.Fill(da

27、taSet); dataConnection.Close(); catch (Exception ex) MessageBox.Show(ex.Message); dataConnection.Close(); if (dataSet.Tables0.Rows.Count != 0) return dataSet; else return null; public bool UpdateDB(string sqlStr) SqlConnection sqlConn = new SqlConnection(connstr); try SqlCommand cmdTable = new SqlCo

28、mmand(sqlStr,sqlConn); cmdTable.CommandType = CommandType.Text; sqlConn.Open(); cmdTable.ExecuteNonQuery(); sqlConn.Close(); return true; catch (Exception ex) MessageBox.Show(ex.Message); return false; (4) 登录系统模块及代码a) 学生成绩管理系统登录界面如图10-2 图10-2学生选课系统登录界面图登陆代码为:try DataBase db = new DataBase(); DataSet

29、 ds = new DataSet(); string sqlStr = select userPassword,userPurview from 用户表 where userName= + txtuserName.Text.Trim() + ; ds = db.GetDataFormDB(sqlStr); string str1, str2,str3; str1 = ds.Tables0.Rows0.ItemArray0.ToString().Trim(); str3 = ds.Tables0.Rows0.ItemArray1.ToString().Trim(); str2 = txtPas

30、sWord.Text.Trim(); if (str1 = str2) if (str3 = comboBox1.Text.ToString().Trim() Form2 ob_Form2 = new Form2(); shuzu.userInfo0 = txtuserName.Text.Trim(); shuzu.userInfo1 = ds.Tables0.Rows0.ItemArray1.ToString(); ob_Form2.Show(); this.Hide(); else MessageBox.Show(用户权限错误,请重新输入); comboBox1.Text = ; comb

31、oBox1.Focus(); else MessageBox.Show(用户名或密码错误,请重新输入); txtuserName.Text = ; txtPassWord.Text = ; txtuserName.Focus(); catch MessageBox.Show(用户名或密码错误,错误); 学生选课系统主界面如图10-3略图10-3学生选课系统主界面学生信息管理界面如图10-4 图10-4学生信息管理界面能够进行学生信息的添加、修改、删除操作。代码如下:try if (button1.Text.Trim() = 添加) button1.Text = 确定; ObjOpen(); C

32、lear(); button2.Enabled = false; button3.Enabled = false; button4.Enabled = false; else button1.Text = 添加; if (txtID.Text.Trim() != & txtName.Text.Trim() != ) string sqlStr; sqlStr = insert into 学生表 values( + txtID.Text.Trim() + , + txtName.Text.Trim() + , + comSex.Text.Trim() + , + txtAge.Text.Trim() + , + txtSdept.Text.Trim() + ); DataBase db = new DataBase(); bool b; b = db.UpdataDB(sqlStr); if (b = true) if (MessageBox.Show(添加成功!继续添加吗?, 添加学生, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) = DialogResult.Yes) /Clear(); /ObjClose(); RefresData(); /butto

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服