数据库原理实践3
实验三: B/S 结构的数据库编程(6学时)
【实验目的】
为所建数据库建立应用程序:
1.学会在IE 浏览器中查看ASP.NET 网页的执行结果
2. 掌握ADO.NET 技术实现动态网页的制作。
【实验环境】
实验环境: Windows 11、Microsoft Visual Studio 2022 、SQL Server 2024
【实验任务】
通过设计ASP.NET 网页,实现“实验一”中的1-11个语句执行结果。
【实验内容与结果】
- Web数据库概述
Web数据库技术是数据库技术应用的新分支。旨在实现全球 Internet 环境下的数据库访 问。目前,国内外所有门户网站和电子商务技术都是基于 Web 数据库技术实现的。因此Web 数据库应用是很重要的一项技术。
- .NET概 述
.NET 是 Microsoft XML Web services平台。XML Web services允许应用程序通过 Internet进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft.NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。ASP.NET 的前身ASP 技术,是在IS2.0上首次推出(Windows NT 3.51),当时与ADO1.0一起推出,在 IS 3.0(Windows NT4.0)发扬光大,成为服务器端应用程序的热门开发工具。
- .NET连接数据库实例:
- 在 Microsoft Visual Studio 2022(以下简称 VS2022)中添加一个 ASP.NET Web 应用程序项目,名称为 WebApplication1;
- 在WebApplication1项目上点击右键——>添加——>新建项;
- 选择 web窗体,名称 Webform.aspx,点击添加;
- 生成一个页面,点击页面下方的“设计”按钮,跳转到设计页面;
- 点击左侧的“工具箱”,选择“数据”中“GridView”拖拽到右侧的设计页面中;
- 点击GridView 任务中“选择数据源”下拉框,选择“新建数据源”,在选择“数据库”,点击“确定”;
- 在“希望如何从数据库中检索”选择“指定自定义SQL 或存储过程(s)”, 点击“下一步”;
- 在 SELECT标签下,输入SQL 语句。(如有go 语句请删除,不然测试查询时会报错);
- 点击“下一步”→ “测试查询”则出现查询结果,即查询数据成功,然后点击“完成”结束;
- 在“GridView任务”中的“自动套用格式”中选择自己喜欢的界面风格;
- 点击左下角“源”,切换源代码页面,修改<title>无标题页面</title>中的标题为“查询 1结果”;
- 右键单击“解决方案”,选择“在浏览器中查看”,如下图;
- 按照如上方法完成11个任务的按钮:
- 求全体学生的学号、姓名和出生年份。
- 求每个系的学生总人数并按降序排列。
- 求选修了课程号为 002 或 003 的学生的学号、课程名和成绩。
- 检索选修某课程的学生人数多于 3 人的教师姓名。
- 查询所有未选课程的学生姓名和所在系。
- 求每个同学的课程成绩的最高分,查询结果项包括:学生姓名、 课程号及最高分。
- 求所有讲授数据结构课程的教师姓名
- 查询所有选修了李正科老师的课程的学生信息
- 新建一个关系表 S1(SNO,SNAME,SD,SA),其字段类型定义与 Student 表中 的相应字段(SNO,SNAME,SDEPT,SAGE)的数据类型定义相同。 将表 Student 中在计算机系‘CS’的学生数据插入到表 S1 中。
- 建立计算机系的学生的视图 STUDENT_CS。利用视图 STUDENT_CS ,将学生的 001 号课程的成绩提高 5 分。
- 创建一个带参数的存储过程, 将数据结构课程的成绩在 Low 与 High 分数段的学生信息提取出来,查询后的结果包括:姓名、所在的系、成绩。
主要技术问题的处理方法
- Mysql和SQL server的细微差别
mysql与sql server的语法有什么区别-mysql教程-PHP中文网
- DATA GRIP 和 SQL Server Management Studio 的界面问题和用法区别
- VS2022配置连接MySQL,VS2022实现用客户端引用服务连接数据库(通过DB数据进行连接)
VS配置连接MySQL_mysql vs-CSDN博客
VS2022实现用客户端引用服务连接数据库 (MySQL连接)_vs2022 mysql-CSDN博客
- 在实验一中任务九中,sqlserver防止重复建表
修改后
BEGIN TRY
-- 尝试创建表
CREATE TABLE MyTable (
ID INT PRIMARY KEY,
Name NVARCHAR(50)
)
END TRY
BEGIN CATCH
IF ERROR_NUMBER() = 2714 -- 错误号2714对应于“对象已存在”
PRINT '表已存在,无需重新创建。'
ELSE
-- 如果发生其他错误,则重新抛出异常
THROW;
END CATCH;
- 关于实验三数据库链接字符串和证书问题
Data Source=MQLEGION;Initial Catalog=scdb;Integrated Security=True;
改为Data Source=MQLEGION;Initial Catalog=scdb;
asp.net web 不支持关键字: “trust server certificate”, 证书链是由不受信任的颁发机构颁发的。解决方法。-CSDN博客
实验总结
本次数据库原理课程的实验环节主要围绕以下几个方面展开,旨在通过理论结合实践的方式,提升我对数据库系统的理解和应用能力。
首先,通过上机实验,我加深了对数据库系统理论知识的理解,增强了对大型数据库的感性认识和实际操作能力。实际操作中,能够更直观地理解和应用所学的数据库理论知识。这种实践性的操作有助于更好地掌握复杂的数据库概念,例如数据完整性、事务管理和并发控制等,从而提升综合分析和解决问题的能力。
其次,通过使用具体的关系数据库管理系统(RDBMS),如 SQL Server 2024,我了解并掌握了一种实际的数据库管理系统的操作技术。学习了如何安装、配置和管理SQL Server,并在此过程中掌握了数据库的创建和管理数据。
在实验过程中,还重点学习了SQL语言的使用。通过编写和执行SQL查询,加深了对SQL语言的认识和理解,提高了其实际应用能力。从基本的查询语句到复杂的事务处理和存储过程的编写,通过练习和操作,掌握了SQL语言的精髓,为将来的数据库应用打下了坚实的基础。
此外,通过设计并实现一个具体的数据库应用实例,了解了各关系(表)间的联系,并判断其是否达到了第三范式(3NF)的模式。在这一过程中不仅学习了数据库设计的理论知识,还将其应用于实际的数据库设计和实现中。这一环节强调了数据库规范化的重要性,并通过编程实现了对数据库的高级操作,进一步提升了编程和数据库设计能力。
在实验二三,实现了C/S(客户端/服务器)结构和B/S(浏览器/服务器)结构的数据库编程。通过这两种不同的架构,掌握了如何在不同的应用场景中设计和实现数据库应用。C/S结构的编程使我了解了客户端和服务器之间的直接通信方式,而B/S结构的编程则展示了如何通过浏览器与服务器进行交互,这两种编程模式的实践提升了我对数据库应用系统的全面理解。
总的来说,通过本次实验不仅巩固了数据库系统的理论知识,还掌握了实际的数据库管理和应用技能,为今后在实际工作中使用数据库技术打下了坚实的基础。这次实验不仅是对课堂知识的验证,更是对学生实践能力的全面提升。