SQLServer数据库课程设计报告Word格式.docx

上传人:b****6 文档编号:16997564 上传时间:2022-11-27 格式:DOCX 页数:17 大小:263.87KB
下载 相关 举报
SQLServer数据库课程设计报告Word格式.docx_第1页
第1页 / 共17页
SQLServer数据库课程设计报告Word格式.docx_第2页
第2页 / 共17页
SQLServer数据库课程设计报告Word格式.docx_第3页
第3页 / 共17页
SQLServer数据库课程设计报告Word格式.docx_第4页
第4页 / 共17页
SQLServer数据库课程设计报告Word格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

SQLServer数据库课程设计报告Word格式.docx

《SQLServer数据库课程设计报告Word格式.docx》由会员分享,可在线阅读,更多相关《SQLServer数据库课程设计报告Word格式.docx(17页珍藏版)》请在冰豆网上搜索。

SQLServer数据库课程设计报告Word格式.docx

而数据库系统是指的在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。

2)SQL数据库的安全性

①、计算机系统的三类安全性问题

1.所谓计算机系统安全性,是指为计算机系统建立和采用的各种安全保护措施,以保护计算机系统中的硬件、软件、及数据,防止其偶然或恶意的原因是系统遭到破坏,数据遭到更改或泄露等。

2.技术安全:

计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统及其所存数据的安全保护,当计算机系统受到无意或恶意的攻击时仍能保证系统正常运行,保证系统内的数据不增加、不丢失、不泄露。

3.管理安全:

由于管理不善导致的计算机设备和数据介质的物理破坏、丢失等软硬件意外故障以及场地的意外事故等安全问题。

4.政策法律:

政府部门建立的有关计算机犯罪、数据安全保密的法律准则和政策法规、法令。

②、数据库安全性控制

1.用户标识与鉴别:

用户标识、口令。

2.存取控制:

定义用户权限,并将用户权限登记到数据字典中、合法权限检查。

③、自主存取控制(DAC)方法:

1.授权与回收:

GRANT语句,GRANTSELECTONTABALESCTOPUBLIC;

//把对表SC的查询权限授予所有用户;

REVOKE语句,REVOKESELECTONTABLESCFROMPUBLIC;

//收回所有用户对表SC的查询权限;

创建数据模式的权限,

CREATEUSER<

username>

[WITH][DBA|RESOURCE|CONNECT];

2.数据库角色:

角色创建,给角色授权,将一个角色授权给其他角色或用户,角色权限收回。

④、强制存取控制(MAC)方法。

3)SQL数据库的设计

1.数据库设计:

对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各个用户的应用需求,包括信息管理要求和数据操作要求。

2.数据库设计的特点:

数据库建设的基本规律:

“三分技术,七分管理,十二分基础数据”;

机构(数据)设计和行为(处理)设计相结合。

3.数据库设计方法:

计算机的基础知识,软件工程的原理和方法,程序设计的方法和技巧,数据库的基本知识,数据库设计技术,应用领域知识。

4.数据库设计的基本步骤:

需求分析,概念结构设计,逻辑结构设计,物理结构设计,数据库实施,数据库运行和维护。

4)SQL作为后台数据库与前台开发工具的结合

前台开发工具用于做前台页面,设计出可视化的图形界面,使不同权限的用户都便于操作整个系统。

而前台页面与后台数据库连接最关键的地方则在于SQL语句。

各种开发语言都提供了其连接数据库的类,通过这些类的相应方法实现连接数据库、对数据源的各种操作,包括查询、插入、删除、更新操作、返回操作结果等。

当点击图形界面相应的控件时,通过监听触发产生相应的SQL语句,然后执行SQL语句将返回的结构显示在图形界面上。

5)SQL查询命令的应用

SQL提供select语句进行数据库的查询,该语句具有灵活的使用方式和丰富的功能。

分为:

1.单表查询2.连接查询3.嵌套查询4.集合查询。

6)SQL在VB、ASP或其他自选语言中的实际应用

SQL在C#中的实际应用:

首先实现对数据库的连接,必须创建一个字符型的连接语句:

StringConnectionString="

DataSource=localhost;

InitialCatalog=students;

PersistSecurityInfo=True;

UserID=sa;

Password=txd100511726"

;

然后创建一个SqlConnection类对象实现对数据库的连接

SqlConnectionmyCon=newSqlConnection(ConnectionString);

通过事件产生SQL语句,stringselectSQL="

selectSNO学号,SNAME姓名,SSEX性别,SAGE年龄,U_STUDENTS.CID班号,MAJOR专业,CLASS班级,DEPARTMENT系别fromdbo.U_STUDENTS,dbo.U_CLASSES

wheredbo.U_STUDENTS.CID=dbo.U_CLASSES.CIDandSNO='

"

+textBox6.Text+"

'

然后创建SqlCommand对象,SqlCommandmyCom=newSqlCommand();

执行SQL语句,实现对数据源的各种操作,然后返回操作结果。

二、系统分析

1开发背景

学生选课管理系统的设计为选课及成绩管理提供了一个良好的工具,此系统要帮助学校管理学生选课成绩管理。

使学生课程成绩更便于管理。

2需求分析(功能需求分析,数据流程分析即数据流图等)

学生选课管理系统的设计为选课及成绩管理提供了一个良好的工具,此系统基本实现了设计的要求,即登录系统(通过用户名和密码),管理(录入、查询、修改和删除)学生、课程基本资料,管理(录入、查询、修改和删除)学生所选课程成绩,修改用户密码等功能。

在此基础上,我还对系统进行了改进,特别是加强了查询的功能,使我们能更直观、有效地查询到我们想要的数据。

三、系统设计

1系统总体结构

系统的模块划分为如图所示,分别为:

用户登录、学生信息管理、课程信息管理、选课成绩管理、用户管理5个模块。

每个模块负责相应的功能。

系统采用ADO.NET技术实现对数据库的访问操作,使用SQLServer2005作为后台数据库。

①用户登录模块

提供用户登录界面,输入用户名,密码进行登录。

②学生信息管理模块

学生信息管理模块,用于管理学生的基本信息,所包括的字段有:

学号、姓名、性别、年龄、班级号,提供对学生信息的录入、查询、修改和删除的操作。

③课程信息管理模块

课程信息管理模块用于管理课程的信息,所包含的字段有:

课程号、课程号、学分和教师,提供对课程信息的录入、查询、修改和删除的操作。

④选课成绩管理模块

选课成绩管理模块用于管理学生的选课与成绩,所包含的字段有:

学号、课程号和成绩,提供对选课成绩信息的录入、查询、修改和删除的操作。

⑤用户管理模块

用户管理模块用于用户账号和密码的管理,其功能包括添加用户,注销用户和修改密码。

2数据库结构设计

①数据库列表:

表单号

表单名

功能

U_STUDENTS

学生信息表

储存学生个人信息

U_COURSES

课程信息表

储存每科课程的信息

U_SCORES

选修成绩表

储存学生所选修的课程的成绩

USERS

用户表

储存用户的账号与密码

U_CLASSES

班级表

存储班级信息

②数据库E-R图

③数据库表单

创建“USERS”并添加各字段,如图所示:

创建“U_STUDENTS”并添加各字段,如图所示:

创建“U_COURSES”并添加各字段,如图所示:

创建“U_SCORES”并添加各字段,如图所示:

创建“U_CLASSES”并添加各字段,如图所示:

④主要查询功能的SQL语句:

查询学生信息

按学号查找

selectSNO学号,SNAME姓名,SSEX性别,SAGE年龄,U_STUDENTS.CID班号,MAJOR专业,CLASS班级,DEPARTMENT系别fromdbo.U_STUDENTS,dbo.U_CLASSESwheredbo.U_STUDENTS.CID=dbo.U_CLASSES.CIDandSNO='

按姓名查找

selectSNO学号,SNAME姓名,SSEX性别,SAGE年龄,U_STUDENTS.CID班号,MAJOR专业,CLASS班级,DEPARTMENT系别fromdbo.U_STUDENTS,dbo.U_CLASSESwheredbo.U_STUDENTS.CID=dbo.U_CLASSES.CIDandSNAME='

+textBox7.Text+"

添加学生记录

selectSQL="

修改学生记录

updatedbo.U_STUDENTSsetSNAME='

+textBox2.Text+"

SSEX='

+textBox3.Text+"

SAGE='

+textBox4.Text+"

CID='

+textBox5.Text+"

whereSNO='

+textBox1.Text+"

删除学生记录

deletefromdbo.U_STUDENTSwhereSNO='

textBox1.Text+'

查询课程信息

selectSQL="

selectCNO课程号,COURSE课程名,CREDIT学分,TEACHER教师fromdbo.U_COURSESwhereCNO='

+textBox4.Text+"

(按课程号查询)

selectCNO课程号,COURSE课程名,CREDIT学分,TEACHER教师fromdbo.U_COURSESwhereCOURSE='

+textBox5.Text+"

(按课程名查询)

删除课程信息

deletefromdbo.U_COURSESwhereCNO='

+textBox1.Text+"

修改课程记录

updatedbo.U_COURSESsetCOURSE='

+textBox2.Text+"

CREDIT='

+textBox3.Text+"

TEACHER='

whereCNO='

+textBox1.Text+"

添加课程记录

insertintodbo.U_COURSES(CNO,COURSE,CREDIT,TEACHER)values('

'

)"

查询选修课成绩

selectdbo.U_STUDENTS.SNO学号,dbo.U_STUDENTS.SNAME姓名,dbo.U_COURSES.CNO课程号,dbo.U_COURSES.COURSE课程名,dbo.U_COURSES.TEACHER教师,dbo.U_SCORES.SCORE成绩from

dbo.U_STUDENTS,dbo.U_COURSES,dbo.U_SCORES

wheredbo.U_STUDENTS.SNO=dbo.U_SCORES.SNOanddbo.U_COURSES.CNO=dbo.U_SCORES.CNO"

3开发方案的选择(主要是前端开发平台的选择与方案的比较)

前台开发方案主要有两种大方向:

主要存在B-S模式和C-S模式,B-S模式指的是浏览器服务器模式,C-S模式指的是客户服务器模式。

B-S模式可以选择ASP、JSP、PHP等通过浏览器解析运行网页文件来实现相应功能。

C-S模式可选前台开发语言较多,主要有:

JAVA,C#,C++等,通过窗体来实现相应功能。

四、系统实施

选课成绩模块的设计与实现(模块功能、运行界面、源代码)

1.运行界面:

2.源代码

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Windows.Forms;

usingSystem.Data.SqlClient;

namespaceProject2

{

publicpartialclassForm5:

Form

{

publicForm5()

InitializeComponent();

}

privatevoidbutton1_Click(objectsender,EventArgse)

if(textBox1.Text=="

||textBox3.Text=="

MessageBox.Show("

必须填写学号和课程号!

填完修改信息再按修改按钮!

);

return;

stringUpdateSQL="

updatedbo.U_SCORESsetSCORE='

andCNO='

ExcuteSQL(UpdateSQL);

修改成功!

privatevoidbutton4_Click(objectsender,EventArgse)

Form2form2=newForm2();

this.Hide();

form2.Show();

privatevoidbutton2_Click(objectsender,EventArgse)

&

&

textBox3.Text=="

学号和课程号是必填项,请填完后再单击添加按钮!

stringInsertSQL="

insertintodbo.U_SCORES(SNO,CNO,SCORE)values('

ExcuteSQL(InsertSQL);

添加成功!

privatevoidbutton3_Click(objectsender,EventArgse)

必须填写学生学号和课程号,请填完后再单击删除按钮!

stringDeleteSQL="

deletefromdbo.U_SCORESwhereSNO='

ExcuteSQL(DeleteSQL);

删除成功!

privatevoidDisplay()

StringConnectionString="

SqlConnectionmyCon=newSqlConnection(ConnectionString);

myCon.Open();

SqlCommandmyCom=newSqlCommand();

myCom.CommandType=CommandType.Text;

stringcomstr="

selectU_STUDENTS.SNO,U_STUDENTS.SNAME,U_COURSES.CNO,U_COURSES.COURSE,U_SCORES.SCOREfromdbo.U_STUDENTS,dbo.U_COURSES,dbo.U_SCORESwhereU_STUDENTS.SNO=U_SCORES.SNOandU_COURSES.CNO=U_SCORES.CNO"

myCom.CommandText=comstr;

myCom.Connection=myCon;

SqlDataReadermyReader=myCom.ExecuteReader();

myReader.Read();

textBox1.Text=myReader.GetString(0);

textBox2.Text=myReader.GetString

(1);

textBox3.Text=myReader.GetInt16

(2).ToString();

textBox4.Text=myReader.GetString(3);

textBox5.Text=myReader.GetInt32(4).ToString();

myReader.Close();

myCon.Close();

privatevoidExcuteSQL(stringSQL)

myCom.CommandText=SQL;

myCom.ExecuteNonQuery();

privatevoidtextBox3_TextChanged(objectsender,EventArgse)

privatevoidForm5_Load(objectsender,EventArgse)

Display();

privatevoidbutton6_Click(objectsender,EventArgse)

stringselectSQL="

selectdbo.U_STUDENTS.SNO学号,dbo.U_STUDENTS.SNAME姓名,dbo.U_COURSES.CNO课程号,dbo.U_COURSES.COURSE课程名,dbo.U_COURSES.TEACHER教师,dbo.U_SCORES.SCORE成绩fromdbo.U_STUDENTS,dbo.U_COURSES,dbo.U_SCORESwheredbo.U_STUDENTS.SNO=dbo.U_SCORES.SNOanddbo.U_COURSES.CNO=dbo.U_SCORES.CNO"

SqlDataAdaptermyadpt=newSqlDataAdapter(selectSQL,myCon);

DataSetdataset=newDataSet();

dataGridView1.DataSource=dataset;

dataset.Clear();

myadpt.Fill(dataset);

dataGridView1.DataSource=dataset.Tables[0].DefaultView;

privatevoidbutton5_Click(objectsender,EventArgse)

DataSource=localhos

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 职高对口

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1