数据库与web

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

班级:姓名:学号:

一.SQL语句的练习、触发器的操作、存储过程的实现。

(1)插入一条零件的信息:零件代码:p7,零件名称:离合器。

insert into p values('p7','离合器','',‘’)

(2)插入一条供应信息:东方红供应商(s3)供给半导体厂工程(j7)的齿轮(p6)数量为100。

insert into spj values(‘s3’,’p6’,’j7’,’100’)

(3)修改工程弹簧厂的城市为上海。

updata j set city=’上海’ where jname=’弹簧厂’

(4)修改东方红供应商(s3)供应给三建工程(j1)的螺母(p1)数量为300个。

update spj set spj.qty=300 where spj.sno='s3'and spj.pno='p1'and spj.jno='j1'

(5)删除s1供应商供应工程p3的供应情况。

delete from spj where spj.sno='s1'and spj.pno='p3'

(6)删除一汽工程及其使用零件的情况。

delete from spj where spj.jno=(select jno from j where j.jname='一汽')

delete from j where j.jname='一汽'

5、在数据库test1中进行下列查询操作,将查询语句写入实验报告。(1)查询所有供应商情况,先按城市升序排列,城市相同按供应商名称降序排列。

select *from j order by city asc, jname desc

(1)查询零件名中含有“螺”字的零件信息。

select * from p where pname like'%螺%'

(3)查询零件中的最大、最小、平均重量。

select max(weight)from p

select min(weight)from p

select avg(weight)from p

(4)查询供应商S1所供应的各种零件的名称和数量。

select distinct p.pname ,sum(spj.qty) from spj join p on spj.pno=p.pno where spj.sno='s1'group by pname

(5)查询使用红色螺丝刀的工程名称。

select jname from j where jno=(select jno from spj where pno=(select pno from p where p.pname='螺丝刀'and p.color='红色')) (6)查询供应情况,显示内容为供应商名称、零件名、工程名称、数量。select s.sname,p.pname,j.jname,spj.qty from s inner join(p inner join(j inner join spj on j.jno=spj.jno)on p.pno=spj.pno)on s.sno=spj.sno

(7)查询工程J1所使用的全部零件和零件来源。

select s.sname,p.pname from s inner join(spj inner join p on p.pno = spj.pno)on s.sno = spj.sno where spj.jno='j1'

6、请为机车厂工程项目建立一个供应情况的视图,包括供应商代码,零件代码,供应数量。针对该视图完成如下查询并将SQL语句写入实验报告。

create view v1 as select sno,pno,qty from spj

(1)查询机车厂工程项目使用的各种零件代码及其数量。

select distinct pno,sum(qty) from v1 where sno=(select sno from spj where jno=(select jno from j where jname='机车厂'))group by pno (2)查询供应商S2的供应情况。

select *from v1 where sno='s2'

二.Web应用系统:人事管理系统

2.1、系统功能分析:

人事管理系统主要有以下几项功能要求:

1)新员工资料的输入;

2)自动分配员工号,并且设置初始的用户密码;

3)人事变动的详细记录,包括岗位和部门的调整;

4) 员工信息的查询和修改,包括员工个人信息和密码等。

2.2、系统功能模块设计

根据系统功能的要求,可以将系统分解成几个功能模块来分别设计,功能模块如图1所示。

2.3、数据流程图

系统的数据流程图如图2所示,所有数据由人事管理人员输入。

2.4、数据库需求分析

根据数据流程图,可以列出以下数据项和数据结构:

1)员工信息:基本信息,学历信息,婚配信息,工作信息

2)人事变动:新员工信息录入,员工信息修改,员工信息删除

所需的外部数据支持:

1)部门设置:部门编号、名称……

2.5、数据库概念结构设计

图3是人事管理系统的E-R图。

2.6、数据库逻辑结构设计与实现

员工基本信息表

员工学历信息表

员工婚姻状况表

员工工作信息表

2.7、主要代码实现

//公共类(数据操作类)DataClass public class DataClass{ private SqlConnection sqlConn; public DataClass(){}

public SqlConnection GetSqlSeverConn(){ SqlConnection sqlConn;

string strConn = WebConfigurationManager.Con nectionStrings["ApplicationServ ices"].ConnectionString; sqlConn = new SqlConnection(strConn); sqlConn.Open();

return sqlConn; }

public void CloseSqlSeverConn(SqlConnect ion sqlConn){

if (sqlConn.State == ConnectionState.Open) {sqlConn.Close();}}

public bool IsUserRegist(string strUserName){return true;} private string GetMD5(string strPwd) { MD5 md5 = new

MD5CryptoServiceProvider(); byte[] bPwd =

Encoding.Default.GetBytes(strP wd); byte[] bMD5 =

puteHash(bPwd); StringBuilder sbMD5Pwd = new StringBuilder();

for (int i = 0; i < bMD5.Length; i++){ sbMD5Pwd.Append(bMD 5[i].ToString());}

return sbMD5Pwd.ToString();} public bool SaveUserInfo(string strUserName, string strPwd, int iQx){return true;}

public bool IsUserExist(string strUserName, string strPwd){ string strConn = "select count(*) from

用户信息表where 用户名=@用户名and用户密码=@用户密码";

SqlConnection sqlConn = this.GetSqlSeverConn(); SqlCommand sqlComm = new SqlCommand();try{sqlComm.C ommandText = strConn; sqlComm.Connection = sqlConn;

sqlComm.Parameters.AddWith Value("@用户名", strUserName);

sqlComm.Parameters.AddWith Value("@用户密码", strPwd);object obj = sqlComm.ExecuteScalar();

if (int.Parse(obj.ToString()) > 0) {return true;}

else{return false;}}

catch (Exception ex){

return

false;}finally{this.CloseSqlSeve rConn(sqlConn);}}

public bool IsAddJBInfomation(string YGID, string YGName, string YGSex, int YGAge, string YGBirth){try{

string strConn = "insert into 员

相关文档
最新文档