分享
分销 收藏 举报 申诉 / 16
播放页_导航下方通栏广告

类型北方工业大学-数据库实验报告.doc

  • 上传人:精***
  • 文档编号:3584176
  • 上传时间:2024-07-10
  • 格式:DOC
  • 页数:16
  • 大小:411.51KB
  • 下载积分:8 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    北方工业 大学 数据库 实验 报告
    资源描述:
    。 数据库技术I(2010年秋) 序号: 数据库技术I 实验报告 系别: 班级: 姓名: 学号: 成绩: 评语: 指导教师签字: 日期: 实验一 数据库的建立及数据维护 一、 实验目的 1.学会使用企业管理器和查询分析器创建数据库、创建基本表和查看数据库属性。 2. 学会使用企业管理器和查询分析器向数据库输入数据,修改数据,删除数据的操作。 3. 在SOL Server查询分析器中完成复杂查询及视图定义。 二、 实验环境及要求 数据库实验要求如下环境,服务器端:Windows 2000/xp、数据库服务器(SQL Server 2005)、Web服务器(IIS 5.0)和ASP。客户端:IE5.0、VB 6.0。 要求: 1、 根据以上数据字典,画出该数据库的ER图,完成数据库的概念结构设计; 2、 将ER图转换成逻辑关系模式,判断逻辑数据库模式中的各个关系(表)是第几范式,如果没有达到第三范式或BC范式,请进行规范化。完成数据库的逻辑结构设计。 3、 通过企业管理器或者查询分析器实现关系模式的存储,包括确定主码、外部码等。 4、 通过企业管理器或查询分析器向数据库中输入数据。 5、 打开数据库SQL Server 2005的查询分析器,用SQL语言完成以下语句。并通过实验结果验证查询语言的正确性,将每个SQL语言及结果存盘,以备老师检查。 (1) 求全体学生的学号、姓名和出生年份。 (2) 求每个系的学生总人数并按降序排列。 (3) 求选修了课程号为002或003的学生的学号、课程名和成绩。 (4) 检索选修某课程的学生人数多于3人的教师姓名。 (5) 查询所有未选课程的学生姓名和所在系。 (6) 求每个同学的课程成绩的最高分,查询结果项包括:学生姓名、课程号及最高分。 (7) 求所有讲授数据结构课程的教师姓名 (8) 查询所有选修了李正科老师的课程的学生信息 三、 实验步骤及结果 1、SQL Server 2005服务管理器使用 1.启动数据库服务软件SQL Server 2005:在程序菜单中选择Microsoft SQL Server 2005 点击Studio后,出现连接到服务器,点击“连接”按钮,启动SQL Server 2005数据库服务。 2.在SQL Server 2005中建立数据库:在对象资源管理器中选择数据库单击右键,新建数据库。在新建数据库窗口中,数据库名称输入数据库的名称。 2、查询分析器的使用 在“文件”菜单中选择新建--->使用当前连接查询,点击使用当前连接查询后,出现新的工作区窗口,输入sql语句。点击执行按钮,出现查询结果窗口。 3、程序编写与结果 select Sname ,Sno,'Year of Birth:',2014-Sage from Student select Sdept,COUNT(Sdept) as 总人数 from Student group by Sdept order by Sdept select Sno,Cno,Grade from Score where Cno='002'or Cno='003' select Tname from Teacher,Score where Teacher.Cno=Score.Cno group by Tname having COUNT(Score.Sno)>3 select Sname,Student.Sdept from Student where Sno not in (select Sno from Score) select Sname,Cno,Grade 最高分 from Score x,Student where(Student.Sno=x.Sno) and x.Grade in (select MAX(Grade) from Score where Score.Sno=x.Sno group by Sno) select Tname from Teacher where Cno in (select Cno from Course where Cname='数据结构') select Student.* from Student,Teacher,Score Where Student.Sno=Score.Sno and Teacher.Cno=Score.Cno and Teacher.Tname='李正科' use 111 go create table S1 (Sno varchar(10), Sname varchar(20), SD varchar(50), SA int) insert into S1 select Sno,Sname,Sage,Ssex from Student where Sdept='CS' 4、ER图 四、 实验中的问题及解决方法 1、 代码编写时我总是忘记用英文符号,导致程序出现错误。检查之后改正。 2、 在使用select语句时,没有将列名明确,如将student.sno写成sno导致错误。在查过书上的资料后改正。 五、 实验总结 通过本次实验,我复习了SQL数据库的用法,表,视图等操作。通过题目,练习了对SQL查询语句的编写和调试,真正将书本上所学的知识利用到了实践当中。在实验中遇到了很多问题,通过问老师、看书查资料等方法得到了解决,为今后进一步学习数据库打下了基础。 实验二 C/S结构的数据库编程 一、实验目的 1.学会配置ODBC数据源,熟悉使用ODBC进行数据库应用程序的设计,通过ODBC接口对数据库进行操作。 2.学会通过ADO访问数据库,熟悉使用ADO技术进行数据库应用程序的设计,通过ADO接口对数据库进行操作。 二、实验环境及要求 数据库实验要求如下环境,服务器端:Windows 2000/xp、数据库服务器(SQL Server 2005)、Web服务器(IIS 5.0)和ASP。客户端:IE5.0、VB 6.0。 要求: 通过一门编程工具(VS2005 C#或.net)编写访问数据库的应用程序,编程序设计良好的一个人机交互界面,列出实验一中的查询,将SQL语句嵌入VS 2005中完成“实验一”中的10个数据库查询语句的结果显示。也可选择其他编程工具开发。 三、实验步骤及结果 1、建立ODBC数据源 (1)在“控制面板”中的“管理工具”下双击“数据库(ODBC)”图标,打开“ODBC数据源管理器”,或者通过:开始→设置→控制面板→管理工具→数据源ODBC。在“ODBC数据库管理器”中可以选择“用户DSN” 、“系统DSN”、“文件DSN”。 (2)如果要添加一个新的数据源可以单击“添加”按钮,选择“系统DSN”选项卡,单击“添加”按钮。弹出“创建新数据源”对话框。 (3)选择驱动程序SQL Server,单击“完成”按钮。弹出“创建到SQL Server的新数据源”。 (4)单击“下一步”,出现选择SQL Server数据库服务器对登录帐户的身份验证方式的对话框,可以选择Window身份验证或SQL Server身份验证。 单击“下一步”,在“更改默认的数据库为”下拉列表框中选择“sales”。 (5)单击“下一步”,弹出对话框,单击“完成”按钮,弹出对话框,完成数据源的配置。 (6)单击“完成”。即可进行测试数据源,若系统提示测试成功,则表示DSN设置正确。单击“确定”,即完成系统DSN的建立。 2、VS2005开发环境中连接数据库 (1)启动SQL Server 2005后,单击“文件”菜单,选择“新建”,“项目”。 (2)Visual C#---〉Windows 应用程序---〉确定 ,会自动生成窗体Form1 (3)工具箱---〉数据---〉DataGridView 拖入Form1 (4)在此控件上单击右键—>属性—>DataSource (5)点击此属性值下箭头-->添加项目数据源 (6)点击数据库-->下一步-->新建连接 ,弹出添加连接窗口,将SQL server 2005的服务器名称复制。粘贴到添加连接窗体中的服务器名中,点击下拉菜单选择数据库。点击“确定”,生成连接。点“下一步” 再点“下一步”选择表,点击完成。运行程序。 3、通过连接字符串连接数据库 添加两个控件richTextBox1 和 button1。上边通过控件已经生成过连接字符串,可以复制 4、程序编写与结果 private void Form1_Load(object sender, EventArgs e) { // TODO: 这行代码将数据加载到表“sCDBDataSet3.Teacher”中。您可以根据需要移动或移除它。 this.teacherTableAdapter.Fill(this.sCDBDataSet3.Teacher); // TODO: 这行代码将数据加载到表“sCDBDataSet1.student1”中。您可以根据需要移动或移除它。 this.student1TableAdapter.Fill(this.sCDBDataSet1.student1); } private void button3_Click(object sender, EventArgs e) { string ConStr = "Data Source=911-57;Initial Catalog=scdb;Integrated Security=True"; //连接字符串 SqlConnection conn = new SqlConnection(ConStr); //建立一个数据库连接实例 conn.Open(); //打开数据库连接 SqlCommand cmd = new SqlCommand(); //用于执行SQL语句 cmd.Connection = conn; cmd.CommandText = "select Sno,cno,grade from Score where (So='002'or cno='003')"; cmd.CommandType = CommandType.Text; SqlDataReader sdr = cmd.ExecuteReader(); //执行 richTextBox1.Text = " "; while (sdr.Read()) //每次读一条记录 读完停止 { richTextBox1.Text += sdr.GetString(0) + " " + sdr.GetString(1) + " " + sdr.GetInt32(2) + "\n"; //读出的的字符串赋值给控件 } conn.Dispose(); //销毁连接 } private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { } private void richTextBox1_TextChanged(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { string ConStr = "Data Source=911-57;Initial Catalog=scdb;Integrated Security=True"; //连接字符串 SqlConnection conn = new SqlConnection(ConStr); //建立一个数据库连接实例 conn.Open(); //打开数据库连接 SqlCommand cmd = new SqlCommand(); //用于执行SQL语句 cmd.Connection = conn; cmd.CommandText = "select Sno,Sname,2014-Sage from student1"; cmd.CommandType = CommandType.Text; SqlDataReader sdr = cmd.ExecuteReader(); //执行 richTextBox1.Text = " "; while (sdr.Read()) //每次读一条记录 读完停止 { richTextBox1.Text += sdr.GetString(0) + " " + sdr.GetString(1) + " " + sdr.GetInt32(2)+ "\n"; //读出的的字符串赋值给控件 } conn.Dispose(); //销毁连接 } private void button2_Click(object sender, EventArgs e) { string ConStr = "Data Source=911-57;Initial Catalog=scdb;Integrated Security=True"; //连接字符串 SqlConnection conn = new SqlConnection(ConStr); //建立一个数据库连接实例 conn.Open(); //打开数据库连接 SqlCommand cmd = new SqlCommand(); //用于执行SQL语句 cmd.Connection = conn; cmd.CommandText = "select count(Sdept)from student1 group by sdept"; cmd.CommandType = CommandType.Text; SqlDataReader sdr = cmd.ExecuteReader(); //执行 richTextBox1.Text = " "; while (sdr.Read()) //每次读一条记录 读完停止 { richTextBox1.Text += sdr.GetInt32(0)+ "\n"; //读出的的字符串赋值给控件 } conn.Dispose(); //销毁连接 } private void button4_Click(object sender, EventArgs e) { string ConStr = "Data Source=911-57;Initial Catalog=scdb;Integrated Security=True"; //连接字符串 SqlConnection conn = new SqlConnection(ConStr); //建立一个数据库连接实例 conn.Open(); //打开数据库连接 SqlCommand cmd = new SqlCommand(); //用于执行SQL语句 cmd.Connection = conn; cmd.CommandText = "select Tname from Teacher,Score where So=To group by Tname having count(So)>3"; cmd.CommandType = CommandType.Text; SqlDataReader sdr = cmd.ExecuteReader(); //执行 richTextBox1.Text = " "; while (sdr.Read()) //每次读一条记录 读完停止 { richTextBox1.Text += sdr.GetString(0) + "\n"; //读出的的字符串赋值给控件 } conn.Dispose(); //销毁连接 } private void button5_Click(object sender, EventArgs e) { string ConStr = "Data Source=911-57;Initial Catalog=scdb;Integrated Security=True"; //连接字符串 SqlConnection conn = new SqlConnection(ConStr); //建立一个数据库连接实例 conn.Open(); //打开数据库连接 SqlCommand cmd = new SqlCommand(); //用于执行SQL语句 cmd.Connection = conn; cmd.CommandText = "select Sname,student1.Sdept from student1 where Sno not in (select Sno from Score)"; cmd.CommandType = CommandType.Text; SqlDataReader sdr = cmd.ExecuteReader(); //执行 richTextBox1.Text = " "; while (sdr.Read()) //每次读一条记录 读完停止 { richTextBox1.Text += sdr.GetString(0) + " " + sdr.GetString(1) + "\n"; //读出的的字符串赋值给控件 } conn.Dispose(); //销毁连接 } private void button6_Click(object sender, EventArgs e) { string ConStr = "Data Source=911-57;Initial Catalog=scdb;Integrated Security=True"; //连接字符串 SqlConnection conn = new SqlConnection(ConStr); //建立一个数据库连接实例 conn.Open(); //打开数据库连接 SqlCommand cmd = new SqlCommand(); //用于执行SQL语句 cmd.Connection = conn; cmd.CommandText = "select Sname,Cno,Grade from Score Score,Student1 where (Student.Sno=Score.Sno) and Score.Grade in (select MAX(Grade) from Score where Score.Sno=Score.Sno group by Sno)"; cmd.CommandType = CommandType.Text; SqlDataReader sdr = cmd.ExecuteReader(); //执行 richTextBox1.Text = " "; while (sdr.Read()) //每次读一条记录 读完停止 { richTextBox1.Text += sdr.GetString(0) + " " + sdr.GetString(1) +" " + sdr.GetInt32(2) +"\n"; //读出的的字符串赋值给控件 } conn.Dispose(); //销毁连接 } } } 四、 实验中的问题及解决方法 1、 代码编写时我总是忘记用英文符号,导致程序出现错误。检查之后改正。 2、 在编写按钮的程序时应先打开form,左键双击需编写的按钮,在指定位置处编写。 3、 在更换电脑后,程序中的计算机号需改正。 4、 sdr.GetString语句应与调出的属性数量一致。 五、实验总结 通过本次实验,我学会了配置ODBC数据源,并用其进行了数据库应用程序的设计,通过ODBC接口对数据库进行了操作。在实验中遇到了很多问题,通过问老师、看书查资料等方法得到了解决,为今后进一步学习数据库打下了基础。 实验三 数据库的建立及数据维护 一、 实验目的 1、 学会通过IIS配置Web服务器,建立虚拟目录 2、 学会在IE浏览器中查看ASP.NET网页的执行结果 3、 掌握ASP.NET技术实现简单的动态网页的制作。 二、实验环境及要求 1.实验环境:Windows7,SQLServer2008,Visual Studio 2010。 2.实验要求:设计网页,显示“实验一”中11个查询的结果。 三、实验步骤及结果 1、实验步骤 1) 在Microsoft Visual Studio 2008(以下简称VS2008)中添加一个ASP.NETWeb应用程序项目,名称为scdb; 2) 在scdb项目上点击右键->添加->新建项; 3) 选择web窗体,名称Query_Result_1.aspx;点击添加; 4) 生成一个页面,点击页面下方的“设计”按钮,跳转到设计页面; 5)点击左侧的“工具箱”,选择“数据”中“GridView”拖拽到右侧的设计页面中; 6)点击GridView任务中“选择数据源”下拉框,选择“新建数据源”,在选择“数据库”,为数据源指定ID为SqlDataSourcescdb,点击“确定”; 7)点击“新建连接”,弹出链接窗口,服务器名称:(local),在选择数据库与名中,选择自己建立的数据库名,“scdb”;再点击“测试连接”,弹出“测试连接成功”,即连接数据库成功,点击“确定”; 8)在下拉框中选择“scdbConnectionString”,点击“下一步”; 9)在“希望如何从数据库中检索”选择“指定自定义SQL或存储语句”,点击“下一步”,在SELECT标签下,点击“查询生成器”,点击“Student”,点击“添加”,点击“关闭”,关闭“添加表”对话框; 10)在查询生成器,选择Sno,Sname两列,然后添加表达式 2012 – Sage, 点击“执行查询”,生成器底部会产生查询结果,然后点击“确定”; 11)点击“下一步” 12)点击“测试查询”则出现查询结果,即查询数据成功,然后点击“完成”结束。 13)点击“GridView任务”中的“编辑列”,会出现编辑框。 14)在“选定的字段”中点击“Sno”出现Sno属性框,在“外观”中的“HeaderText”后面的编辑框中将“Sno”改为“学号”。 15)“Sname”与“Expr1”的列名修改操作与“Sno”的相同,点击“确定”结束; 16)在“GridView任务”中的“自动套用格式”中选择自己喜欢的界面风格; 17)点击“源”,切换源代码页面,修改<title>无标题页面</title>中的标题为“查询1结果”; 18)右键单击“解决方案”中的“Query_Result_1.aspx”,选择“在浏览器中查看”。 四、实验中的问题及解决方法 1、 配置IIS的问题,需要选中全部IIS组件,然后新建虚拟目录配置网站。 2、因为对程序的不熟悉,导致实验没能在规定时间内做完。 五、实验总结 通过本次实验,我学会了配置IIS并建立虚拟目录,了解了关于ASP.NET的一些相关知识,使用Visual Studio进行编写,虽然最终没能完成,但我懂得了如何在IE上执行自己编写的网页,实现简单的动态网页制作与数据库在网页上的显示功能。此次实验使我收益匪浅。 THANKS !!! 致力为企业和个人提供合同协议,策划案计划书,学习课件等等 打造全网一站式需求 欢迎您的下载,资料仅供参考 -可编辑修改-
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:北方工业大学-数据库实验报告.doc
    链接地址:https://www.zixin.com.cn/doc/3584176.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork