欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    实验5数据库应用系统开发.docx

    • 资源ID:9486025       资源大小:1.10MB        全文页数:28页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    实验5数据库应用系统开发.docx

    1、实验5 数据库应用系统开发实验5 数据库应用系统开发一、实验目的和要求(1) 熟练掌握数据库设计的全过程,掌握数据库规范化设计方法;(2) 熟悉通过嵌入式SQL(主语言为ASP)编程访问数据库;(3) 掌握B/S数据库应用系统设计过程和方法。二、实验内容和步骤 学籍管理系统需求分析需求分析是在了解用户组织机构的情况下、各部门业务活动情况,分析用户提出的初步需求的基本上,确定系统完整、准确、清晰、具体的功能要求,并且分析形成用户业务处理的数据流(信息流)和数据字典。画数据流图的基本步骤是自外向内,自顶向下,逐层细化,完善求精。本次实验设计实现的是学籍管理系统,初步要求可以归纳如下:系统性质:MI

    2、S软件。系统使用者:管理人员、班级辅导员(或班主任)、教师、学生等。系统运行环境:网络运行。根据系统的初步需求,整理下如下所示的系统主要功能:序号功能名称功能说明1学生管理登记学生的基本信息,并提供查询功能2课程管理登记课程的基本信息,并提供查询功能3教师管理登记教师的基本信息,并提供查询功能4成绩管理登记学生各门课的考试成绩,并提供查询、统计功能5授课管理登记教师讲授课程、授课地点和授课学期,提供查询功能6编号维护维护系统中使用的编号数据流图反映了数据和处理之间的关系,而数据字典是系统中各类数据描述的集合。通常,数据字典包括数据项、数据结构、数据流、数据存储和处理过程5个部分,应依据数据流图

    3、整理数据字典。 学籍管理概念结构设计概念结构一般都是以E-R模型来描述,一般先抽象并设计分E-R图,然后集成分E-R图,行成全局的E-R模型。设计概念结构时通常需要先进行数据抽象,以中层数据流图为基础设计分E-R图,然后解决分E-R图之间的冲突和冗余,形成基本E-R图。为了体现分析设计的过程和方法,我们使用传统的方法手动绘制E-R图。(1)选择学籍管理系统的局部应用选择授课管理、学生管理、教师管理等局部应用作为设计学籍管理系统分E-R图的出发点。(2)数据抽象、确定实体及属性与码 在学生管理中抽象实体,实体的码用下划线标出。学生实体的属性为:学号、姓名、性别、年龄班级实体的属性为:班级编号、班

    4、级名称学院实体的属性为:学院编号、学院名称 在授课管理和教师管理中抽象实体课程实体的属性为:课程编号、课程名称,课程介绍、开设学期、总学时、学分、先修课教师的属性为:教师编号、姓名、性别、出生日期、参加工作日期职称实体的属性为:职称编号、职称课程类型实体的属性为课程类型码、类型说明(3)确定实体间关系,设计分E-R图。学生管理局部应用: 一个学生必须在一个班级,而一个班级包括多个学生,因此班级与学生间1:n 一个班级必须隶属一个学院,一个学院包含多个班级,因此学院与班级间1:n 一个班只有一个班主任,一个老师只担任一个班的班主任,班级和班主任间1:1 一个班主任只就职于一个学院,一个学院有多个

    5、班主任,学院和班主任间1:n根据以上所述实体间的联系,请同学们画出学生管理局部E-R图:(注意,在写实验报告时,实体的属性可省,但联系的属性不可省) 课程、授课和成绩管理局部应用根据课程管理和成绩局部应用,确定各实体间的联系。 一个学生可以选修多门课程,一个课程可以被多个学生选修,学生和课程之间是m:n的联系,学生选修某门课程的联系具有成绩的属性。 一个教师只讲一门课程,一门课程可以由多个教师讲授,因此课程与教师的联系是1:n,而该联系具有授课地点和学期的属性。 一个教师可以受聘一种职称,一种职称可以聘任多个教师。职称与教师间是1:n。 一门课属于一种课程类型,一门课程类型可以有多门课程,因此

    6、课程类型与课程间是1:n的联系。根据以上所述实体间的联系,请同学们画出课程、授课和成绩管理的局部E-R图:(注意,在写实验报告时,实体的属性可省,但联系的属性不可省)(4)合并上图所示的分E-R图,生成初步E-R图。(5)解决冲突,消除冗余,设计基本E-R图。 学籍管理逻辑结构设计和物理结构设计在概念结构的基础上选择一种合适的DBMS,就可以进行逻辑结构设计和物理结构的设计了。逻辑结构需要将E-R图转换为关系模型,实际上就是要将实体、实体的属性和实体间的联系转化为关系模式。为方便局部用户的使用,提高用户使用效率,逻辑结构设计还包括用户子模式的设计。设计内容:(1)将实体转化为关系模型。根据学籍

    7、管理的基本E-R图,将其中的实体转化为如下关系,关系的码用下划线标出。 学生关系(学号,姓名,性别,年龄) 班级关系(班级编号,班级名称) 学院关系(学院编号,学院名称) 课程关系(课程编号,课程名称,课程介绍,开设学期,总学时,学分,先修课) 教师关系(教师编号,姓名,性别,出生日期,参加工作日期) 职称关系(职称编号,职称) 课程类型关系(课程类型码,类型说明)一般将E-R图中的实体转化为一个关系模式,实体的属性转化为关系的属性,实体的码就是关系的码。(2)将联系转化为关系模型。 将1:1联系转化为关系模式描述将1:1联系转化为关系模式的方法:_处理教师与班级间1:1联系试将其合并在班级关

    8、系模型中:_ 将1:n的联系转化为关系模式描述将1:n联系转化为关系模式的方法:_处理学院与班级的“隶属”联系_ 将m:n的联系转化为关系模式:描述将m:n联系转化为关系模式的方法:_如 学生与课程的“选课”联系:选课关系(学号,课程编号,成绩)(3)设计用户子模式为了方便查询教师信息,可根据需要建立以下视图:教师基本情况(教师编号,姓名,参加工作日期,所在系名称,职称)学生基本情况(学号,姓名,所在院系,所在班,选修课程数,获取总学分) 学籍管理数据库实施综上所述,我们最终需要建立_张基本表? 学院( ) 职称( ) 课程类型( ) 课程( ) 教师( ) 班级( ) 学生( ) ( )大家

    9、可以先建立StudentManagement数据库。然后参考以下代码用SQL语句实现我们的各个关系模式及之间的联系。CREATE TABLE DEPT(DID CHAR(4) PRIMARY KEY,DName CHAR(30)INSERT INTO DEPT VALUES(06 ,经济管理学院);INSERT INTO DEPT VALUES(08 ,计算机与信息工程);INSERT INTO DEPT VALUES(11 ,数学与计算科学);CREATE TABLE RANK(RID CHAR(2) PRIMARY KEY,RName CHAR(10)CREATE TABLE CT(CTI

    10、D CHAR(2) PRIMARY KEY,CTNotes CHAR(20)INSERT INTO CT VALUES(1 ,考试课);INSERT INTO CT VALUES(0 ,考查课);CREATE TABLE COURSE(CID CHAR(10) PRIMARY KEY,CName CHAR(30),Term CHAR(11),Hour INT,Credit int,Prec CHAR(10) REFERENCES COURSE(CID),CTID CHAR(2) REFERENCES CT(CTID),CNotes CHAR(300)INSERT INTO Course(CID

    11、, CName, PreC, Credit) VALUES(C01,英语,NULL,4);INSERT INTO Course(CID, CName, PreC, Credit) VALUES(C05,C+,NULL,3);INSERT INTO Course(CID, CName, PreC, Credit) VALUES(C02,数据结构,C05,2);INSERT INTO Course(CID, CName, PreC, Credit) VALUES(C03,数据库,C02,2);INSERT INTO Course(CID, CName, PreC, Credit) VALUES(C

    12、04,DB_设计,C03,2);INSERT INTO Course(CID, CName, PreC, Credit) VALUES(C07,操作系统,C05,3);INSERT INTO Course(CID, CName, PreC, Credit) VALUES(C06,网络原理,C07,3);CREATE TABLE TEACHER(TID CHAR(5) PRIMARY KEY,TName CHAR(8),TSex CHAR(2) CHECK (TSex in (男,女),TBir DATETIME,TFJ DATETIME,DID CHAR(4) REFERENCES DEPT(

    13、DID) ,RID CHAR(2) REFERENCES RANK(RID),CID CHAR(10) REFERENCES COURSE(CID),TERM CHAR(20),CPLACE CHAR(20),CONSTRAINT TTC CHECK(TBirGETDATE() AND TFJGETDATE() AND TBirTFJ )CREATE TABLE CLASS(CLID CHAR(6) PRIMARY KEY,CLName CHAR(30),TID CHAR(5) REFERENCES TEACHER(TID),DID CHAR(4) REFERENCES DEPT(DID)IN

    14、SERT INTO CLASS VALUES(061207 ,电子商务12(3)班,NULL,06);INSERT INTO CLASS VALUES(081109 ,计算机科学与技术11(2)班,NULL,08);INSERT INTO CLASS VALUES(111304 ,信息与计算科学13(1)班,NULL,11);CREATE TABLE STUDENT(SID CHAR(10) PRIMARY KEY,SName CHAR(16),SSex CHAR(2) CHECK (SSex in (男,女),SAGE INT,CLID CHAR(6) REFERENCES CLASS(CL

    15、ID),)INSERT INTO Student VALUES (S01,王建平,男,21,061207);INSERT INTO Student VALUES (S02,刘华,女,19,061207);INSERT INTO Student VALUES (S03,范林军,女,18,081109);INSERT INTO Student VALUES (S04,李伟,男,19,081109);INSERT INTO Student VALUES (S05,黄河,男,18,111304);INSERT INTO Student VALUES (S06,常江,女,19,111304);CREAT

    16、E TABLE SC(SID CHAR(10) REFERENCES STUDENT(SID),CID CHAR(10) REFERENCES COURSE(CID),GRADE INT CHECK (GRADE BETWEEN 0 AND 100),PRIMARY KEY (SID,CID)INSERT INTO SC VALUES(S01,C01,92);INSERT INTO SC VALUES(S01,C03,84);INSERT INTO SC VALUES(S02,C01,88);INSERT INTO SC VALUES(S02,C02,94);INSERT INTO SC VA

    17、LUES(S02,C03,82);INSERT INTO SC VALUES(S03,C01,72);INSERT INTO SC VALUES(S03,C02,90);INSERT INTO SC VALUES(S04,C01,79);INSERT INTO SC VALUES(S04,C03,75);INSERT INTO SC VALUES(S04,C04,60);INSERT INTO SC VALUES(S04,C07,91);其余的完整性约束及数据同学们可以自拟。请大家检查我们创建的表是否满足1NF,2NF,3NF。并且请同学们使用SQL语句在SSMS中实现设计好的子模式: 学生基

    18、本情况(学号,姓名,所在院系,所在班,选修课程数,获取总学分)CREATE VIEW IS_STUDNETASSELECT STUDENT.SID 学号,SNAME 姓名,DNAME 所在院系,CLNAME 所在班级,COUNT(*)课程数,SUM(CREDIT) 总学分 FROM STUDENT,DEPT,CLASS,COURSE,SC WHERE STUDENT.CLID =CLASS.CLID AND CLASS.DID =DEPT.DID AND STUDENT.SID=SC.SID AND SC.CID=COURSE.CIDGROUP BY STUDENT.SID ,SNAME,DN

    19、AME,CLNAME BS程序模式-ASP.NET访问数据库后续实验前,必须创建好 实验5 数据库应用系统开发(一) 中的MYDB数据库,包括其中的基本表、视图和全部记录。(1) 开始|所有程序| Microsoft Visual Studio 2010|图标,启动VS 2010集成开发环境;(2) 文件|新建|项目,进行如下设置:(3) 在右侧的“解决方案资源管理器”窗口下面“解决方案”处右键单击,快捷菜单中选择“添加”命令,子菜单中选择“新建网站”;(4) 如下图所示,新建一个ASP.NET网站用以连接SQL数据库;(5) 切换到“设计”模式,添加一个SqlDataSource的数据源控件

    20、;(6) 鼠标右键单击SqlDataSource1,在弹出的快捷菜单中选择命令“配置数据源”; (7) 如下图所示,在页面合适的位置添加一个GridView控件; (8)选中GridView1控件,在属性窗口中做如下设置,并保存所有操作; (8) 启动调试;(9) 按下图所示修改GridView1控件属性;(10) 保存修改,运行观察显示结果。 CS程序模式-ADO.NET访问数据库ADO.NET的架构总览。ADO.NET对象模型中的主要对象。Connection对象:表示与一个数据源的物理连接。它的属性决定了数据源类型、所连接到的数据库和连接字符串。Command对象:代表在数据源上执行的一

    21、条SQL语句或一个存储过程。一个Connection对象可以独立地创建和执行很多不同的Command对象。DataAdapter对象:又称“数据适配器”,是功能最复杂的对象,用作Connection对象和数据集之间的桥梁。它管理了4个Command对象(SelectCommand、UpdateCommand、InsertCommand和DeleteCommand),用来处理数据集和数据源的通信。DataReader对象:是一种快速、低开销的对象,用于从数据源中获取仅转发的、只读的数据流,往往用来显示查询结果。创建和测试连接ConnectionString是一个字符串,用于提供登录数据库和指向特

    22、定类型数据库所需的信息。其语法形式为:Data Source=?;User Id=?;Password=?;Initial Catalog=?;Integrated Security=?; Connect Timeout=?;Connection String的主要参数有:Data Source:设置需连接的数据库服务器名。User Id:登录SQL Server的账号。Password:登录SQL Server的密码。Initial Catalog:设置连接的数据库名称。Integrated Security:服务器的安全性设置,确定是否使用信任连接。值有True、False和SSPI三种,

    23、True和SSPI都表示使用信任连接。Connect Timeout:设置SqlConnection对象连接SQL数据库服务器的超时时间,单位为秒,默认为15秒。若在所设置的时间内无法连接数据库,则返回失败信息。如:Data Source=home_johnson;Initial Catalog=student;Integrated Security=True;使用Connection对象 string strcon = Data Source=home_johnson;Initial Catalog=student;Integrated Security=True;SqlConnection

    24、 sqlcon = new SqlConnection(strcon)sqlcon.Open();或string strcon = Data Source=home_johnson;Initial Catalog=student;Integrated Security=True;using (SqlConnection sqlcon = new SqlConnection(strcon) / Open the connection sqlcon.Open(); / Do something useful使用Command对象Command对象的主要属性Command对象提供了4个执行SQL命令

    25、的方法string sql = SELECT * FROM S;SqlCommand command = new SqlCommand(sql, sqlcon);SqlDataReader reader = command.ExecuteReader();使用DataReader对象可以实现对特定数据源中的数据进行高速、只读、只向前的访问。DataReader是一个依赖于连接的对象,也就是说,它只能在与数据源保持连接的状态下才能工作。SqlDataReader reader = command.ExecuteReader();if (reader.HasRows) while (reader.

    26、Read() txtAllStu.Text += reader0.ToString() + reader1.ToString() + reader2.ToString() + rn; 示例新建WinForm项目,在Form1的设计视图中将此窗体调整到适当的大小,并将Text属性设为“学生信息管理”。从工具箱中分别拖曳TextBox, RadioButton, Button控件到此窗体中,如图所示。程序代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data.Sql

    27、Client;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace WindowsFormsApplication6 public partial class Form1 : Form string strcon = Data Source=home_johnson;Initial Catalog=student;Integrated Security=True; public Form1() Initi

    28、alizeComponent(); btnSearch_Click(null, null); private void btnSearch_Click(object sender, EventArgs e) txtAllStu.Clear(); using (SqlConnection sqlcon = new SqlConnection(strcon) sqlcon.Open(); string sql = SELECT * FROM S; SqlCommand command = new SqlCommand(sql, sqlcon); SqlDataReader reader = command.ExecuteReader(); if (reader.HasRows) while (reader.Read() txtAllStu.Text += reader0.ToString() + reader1.ToString() + reader2.ToString()


    注意事项

    本文(实验5数据库应用系统开发.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开