1、而数据库系统是指的在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。2)SQL数据库的安全性、计算机系统的三类安全性问题1.所谓计算机系统安全性,是指为计算机系统建立和采用的各种安全保护措施,以保护计算机系统中的硬件、软件、及数据,防止其偶然或恶意的原因是系统遭到破坏,数据遭到更改或泄露等。2.技术安全:计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统及其所存数据的安全保护,当计算机系统受到无意或恶意的攻击时仍能保证系统正常运行,保证系统内的数据不增加、不丢失、不泄露。3.管理安全:由于管理不善导致的计算机设备和数据介质的物
2、理破坏、丢失等软硬件意外故障以及场地的意外事故等安全问题。4.政策法律:政府部门建立的有关计算机犯罪、数据安全保密的法律准则和政策法规、法令。 、数据库安全性控制 1.用户标识与鉴别:用户标识、口令。 2.存取控制:定义用户权限,并将用户权限登记到数据字典中、合法权限检查。、自主存取控制(DAC)方法:1.授权与回收:GRANT语句, GRANT SELECT ON TABALE SC TO PUBLIC;/把对表SC的查询权限授予所有用户;REVOKE语句,REVOKE SELECT ON TABLE SC FROM PUBLIC;/收回所有用户对表SC的查询权限;创建数据模式的权限, CR
3、EATE USER WITHDBA|RESOURCE|CONNECT; 2.数据库角色:角色创建,给角色授权,将一个角色授权给其他角色或用户,角色权限收回。、强制存取控制(MAC)方法。3)SQL数据库的设计1.数据库设计:对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各个用户的应用需求,包括信息管理要求和数据操作要求。2.数据库设计的特点:数据库建设的基本规律:“三分技术,七分管理,十二分基础数据”;机构(数据)设计和行为(处理)设计相结合。3.数据库设计方法:计算机的基础知识,软件工程的原理和方法,程序设
4、计的方法和技巧,数据库的基本知识,数据库设计技术,应用领域知识。4.数据库设计的基本步骤:需求分析,概念结构设计,逻辑结构设计,物理结构设计,数据库实施,数据库运行和维护。4)SQL作为后台数据库与前台开发工具的结合 前台开发工具用于做前台页面,设计出可视化的图形界面,使不同权限的用户都便于操作整个系统。而前台页面与后台数据库连接最关键的地方则在于SQL语句。各种开发语言都提供了其连接数据库的类,通过这些类的相应方法实现连接数据库、对数据源的各种操作,包括查询、插入、删除、更新操作、返回操作结果等。当点击图形界面相应的控件时,通过监听触发产生相应的SQL语句,然后执行SQL语句将返回的结构显示
5、在图形界面上。5)SQL查询命令的应用SQL提供select语句进行数据库的查询,该语句具有灵活的使用方式和丰富的功能。分为:1.单表查询2.连接查询3.嵌套查询4.集合查询。6)SQL在VB、ASP或其他自选语言中的实际应用SQL在C#中的实际应用:首先实现对数据库的连接,必须创建一个字符型的连接语句: String ConnectionString = Data Source=localhost;Initial Catalog=students;Persist Security Info=True;User ID=sa;Password=txd100511726;然后创建一个SqlConn
6、ection类对象实现对数据库的连接SqlConnection myCon = new SqlConnection(ConnectionString);通过事件产生SQL语句,string selectSQL = select SNO 学号,SNAME 姓名,SSEX 性别,SAGE 年龄,U_STUDENTS.CID 班号,MAJOR 专业,CLASS 班级,DEPARTMENT 系别 from dbo.U_STUDENTS,dbo.U_CLASSES where dbo.U_STUDENTS.CID=dbo.U_CLASSES.CID and SNO= + textBox6.Text +
7、然后创建SqlCommand对象,SqlCommand myCom = new SqlCommand();执行SQL语句,实现对数据源的各种操作,然后返回操作结果。二、系统分析 1开发背景 学生选课管理系统的设计为选课及成绩管理提供了一个良好的工具,此系统要帮助学校管理学生选课成绩管理。使学生课程成绩更便于管理。2需求分析(功能需求分析,数据流程分析即数据流图等) 学生选课管理系统的设计为选课及成绩管理提供了一个良好的工具,此系统基本实现了设计的要求,即登录系统(通过用户名和密码),管理(录入、查询、修改和删除)学生、课程基本资料,管理(录入、查询、修改和删除)学生所选课程成绩,修改用户密码等
8、功能。在此基础上,我还对系统进行了改进,特别是加强了查询的功能,使我们能更直观、有效地查询到我们想要的数据。三、系统设计 1系统总体结构系统的模块划分为如图所示,分别为:用户登录、学生信息管理、课程信息管理、选课成绩管理、用户管理5个模块。每个模块负责相应的功能。系统采用ADO.NET技术实现对数据库的访问操作,使用SQL Server 2005作为后台数据库。 用户登录模块提供用户登录界面,输入用户名,密码进行登录。学生信息管理模块学生信息管理模块,用于管理学生的基本信息,所包括的字段有:学号、姓名、性别、年龄、班级号,提供对学生信息的录入、查询、修改和删除的操作。课程信息管理模块课程信息管
9、理模块用于管理课程的信息,所包含的字段有:课程号、课程号、学分和教师,提供对课程信息的录入、查询、修改和删除的操作。选课成绩管理模块选课成绩管理模块用于管理学生的选课与成绩,所包含的字段有:学号、课程号和成绩,提供对选课成绩信息的录入、查询、修改和删除的操作。用户管理模块用户管理模块用于用户账号和密码的管理,其功能包括添加用户,注销用户和修改密码。2数据库结构设计数据库列表:表单号表单名功能U_STUDENTS学生信息表储存学生个人信息U_COURSES课程信息表储存每科课程的信息U_SCORES选修成绩表储存学生所选修的课程的成绩USERS用户表储存用户的账号与密码U_CLASSES班级表存
10、储班级信息数据库E-R图数据库表单创建“USERS”并添加各字段,如图所示:创建“U_STUDENTS”并添加各字段,如图所示:创建“U_COURSES”并添加各字段,如图所示:创建“U_SCORES”并添加各字段,如图所示:创建“U_CLASSES”并添加各字段,如图所示:主要查询功能的SQL语句:查询学生信息按学号查找select SNO 学号,SNAME 姓名,SSEX 性别,SAGE 年龄,U_STUDENTS.CID 班号,MAJOR 专业,CLASS 班级,DEPARTMENT 系别 from dbo.U_STUDENTS,dbo.U_CLASSES where dbo.U_STU
11、DENTS.CID=dbo.U_CLASSES.CID and SNO=按姓名查找select SNO 学号,SNAME 姓名,SSEX 性别,SAGE 年龄,U_STUDENTS.CID 班号,MAJOR 专业,CLASS 班级,DEPARTMENT 系别 from dbo.U_STUDENTS,dbo.U_CLASSES where dbo.U_STUDENTS.CID=dbo.U_CLASSES.CID and SNAME= + textBox7.Text + 添加学生记录 selectSQL = 修改学生记录update dbo.U_STUDENTS set SNAME=+textBo
12、x2.Text+,SSEX=+textBox3.Text+,SAGE=+textBox4.Text+,CID=+textBox5.Text+ where SNO=+textBox1.Text+删除学生记录delete from dbo.U_STUDENTS where SNO=textBox1.Text + 查询课程信息selectSQL = select CNO 课程号,COURSE 课程名,CREDIT 学分,TEACHER 教师 from dbo.U_COURSES where CNO= + textBox4.Text + (按课程号查询)select CNO 课程号,COURSE 课程
13、名,CREDIT 学分,TEACHER 教师 from dbo.U_COURSES where COURSE= + textBox5.Text + (按课程名查询)删除课程信息delete from dbo.U_COURSES where CNO= +textBox1.Text + 修改课程记录update dbo.U_COURSES set COURSE= + textBox2.Text + ,CREDIT= + textBox3.Text + ,TEACHER= where CNO= + textBox1.Text + 添加课程记录insert into dbo.U_COURSES(CNO
14、,COURSE,CREDIT,TEACHER)values(,)查询选修课成绩select dbo.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 where dbo.U_STUDENTS.SNO=dbo.U_SCORES.SNO and dbo.U_COURSES.CNO=dbo
15、.U_SCORES.CNO3开发方案的选择(主要是前端开发平台的选择与方案的比较) 前台开发方案主要有两种大方向:主要存在B-S模式和C-S模式,B-S模式指的是浏览器服务器模式,C-S模式指的是客户服务器模式。 B-S模式可以选择ASP、JSP、PHP等通过浏览器解析运行网页文件来实现相应功能。 C-S模式可选前台开发语言较多,主要有:JAVA,C#,C+等,通过窗体来实现相应功能。四、系统实施选课成绩模块的设计与实现(模块功能、运行界面、源代码)1.运行界面:2.源代码using System;using System.Collections.Generic;using System.Co
16、mponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace Project2 public partial class Form5 : Form public Form5() InitializeComponent(); private void button1_Click(object sender, EventArgs e) if (textBox
17、1.Text = | textBox3.Text = ) MessageBox.Show(必须填写学号和课程号!填完修改信息再按修改按钮!); return; string UpdateSQL = update dbo.U_SCORES set SCORE= and CNO= ExcuteSQL(UpdateSQL);修改成功! private void button4_Click(object sender, EventArgs e) Form2 form2 = new Form2(); this.Hide(); form2.Show(); private void button2_Clic
18、k(object sender, EventArgs e) & textBox3.Text = 学号和课程号是必填项,请填完后再单击添加按钮! string InsertSQL = insert into dbo.U_SCORES(SNO,CNO,SCORE)values( ExcuteSQL(InsertSQL);添加成功! private void button3_Click(object sender, EventArgs e)必须填写学生学号和课程号,请填完后再单击删除按钮! string DeleteSQL = delete from dbo.U_SCORES where SNO=
19、ExcuteSQL(DeleteSQL);删除成功! private void Display() String ConnectionString = SqlConnection myCon = new SqlConnection(ConnectionString); myCon.Open(); SqlCommand myCom = new SqlCommand(); myCom.CommandType = CommandType.Text; string comstr = select U_STUDENTS.SNO,U_STUDENTS.SNAME,U_COURSES.CNO,U_COURS
20、ES.COURSE,U_SCORES.SCORE from dbo.U_STUDENTS,dbo.U_COURSES,dbo.U_SCORES where U_STUDENTS.SNO=U_SCORES.SNO and U_COURSES.CNO=U_SCORES.CNO myCom.CommandText = comstr; myCom.Connection = myCon; SqlDataReader myReader = myCom.ExecuteReader(); myReader.Read(); textBox1.Text = myReader.GetString(0); textB
21、ox2.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(); private void ExcuteSQL(string SQL) myCom.CommandText = SQL; myCom.ExecuteNonQuery(); private voi
22、d textBox3_TextChanged(object sender, EventArgs e) private void Form5_Load(object sender, EventArgs e) Display(); private void button6_Click(object sender, EventArgs e) string selectSQL = select dbo.U_STUDENTS.SNO 学号,dbo.U_STUDENTS.SNAME 姓名,dbo.U_COURSES.CNO 课程号,dbo.U_COURSES.COURSE 课程名,dbo.U_COURSE
23、S.TEACHER 教师,dbo.U_SCORES.SCORE 成绩 from dbo.U_STUDENTS,dbo.U_COURSES,dbo.U_SCORES where dbo.U_STUDENTS.SNO=dbo.U_SCORES.SNO and dbo.U_COURSES.CNO=dbo.U_SCORES.CNO SqlDataAdapter myadpt = new SqlDataAdapter(selectSQL, myCon); DataSet dataset = new DataSet(); dataGridView1.DataSource = dataset; dataset.Clear(); myadpt.Fill(dataset); dataGridView1.DataSource = dataset.Tables0.DefaultView; private void button5_Click(object sender, EventArgs e)Data Source=localhos
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1