数据库原理实践3

maqun / 2025-02-21 / 原文

实验三: B/S 结构的数据库编程(6学时)

【实验目的】

为所建数据库建立应用程序:

1.学会在IE 浏览器中查看ASP.NET 网页的执行结果

2. 掌握ADO.NET 技术实现动态网页的制作。

【实验环境】

实验环境: Windows 11、Microsoft Visual Studio 2022 、SQL Server 2024

【实验任务】

通过设计ASP.NET 网页,实现“实验一”中的1-11个语句执行结果。

【实验内容与结果】

  1. Web数据库概述

Web数据库技术是数据库技术应用的新分支。旨在实现全球 Internet 环境下的数据库访 问。目前,国内外所有门户网站和电子商务技术都是基于 Web 数据库技术实现的。因此Web 数据库应用是很重要的一项技术。

  1. .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)发扬光大,成为服务器端应用程序的热门开发工具。

  1. .NET连接数据库实例:
  2. 在 Microsoft Visual Studio 2022(以下简称 VS2022)中添加一个 ASP.NET Web 应用程序项目,名称为 WebApplication1;

屏幕截图 2024-05-22 110500

  1. 在WebApplication1项目上点击右键——>添加——>新建项;

屏幕截图 2024-05-22 110444

  1. 选择 web窗体,名称 Webform.aspx,点击添加;

  1. 生成一个页面,点击页面下方的“设计”按钮,跳转到设计页面;

屏幕截图 2024-05-22 110621

  1. 点击左侧的“工具箱”,选择“数据”中“GridView”拖拽到右侧的设计页面中;

  1. 点击GridView 任务中“选择数据源”下拉框,选择“新建数据源”,在选择“数据库”,点击“确定”;

屏幕截图 2024-05-22 115502

屏幕截图 2024-05-22 115520

  1. 在“希望如何从数据库中检索”选择“指定自定义SQL 或存储过程(s)”, 点击“下一步”;

屏幕截图 2024-05-22 120751

屏幕截图 2024-05-22 144606

屏幕截图 2024-05-22 145225

屏幕截图 2024-05-22 145450

  1. 在 SELECT标签下,输入SQL 语句。(如有go 语句请删除,不然测试查询时会报错);

  1. 点击“下一步”→ “测试查询”则出现查询结果,即查询数据成功,然后点击“完成”结束;

  1. 在“GridView任务”中的“自动套用格式”中选择自己喜欢的界面风格;

屏幕截图 2024-05-22 121508

  1. 点击左下角“源”,切换源代码页面,修改<title>无标题页面</title>中的标题为“查询 1结果”;

屏幕截图 2024-05-22 121625

  1. 右键单击“解决方案”,选择“在浏览器中查看”,如下图;

屏幕截图 2024-05-22 123245

  1. 按照如上方法完成11个任务的按钮:
  2. 求全体学生的学号、姓名和出生年份。

  1. 求每个系的学生总人数并按降序排列。

  1. 求选修了课程号为 002 或 003 的学生的学号、课程名和成绩。

  1. 检索选修某课程的学生人数多于 3 人的教师姓名。

  1. 查询所有未选课程的学生姓名和所在系。

  1. 求每个同学的课程成绩的最高分,查询结果项包括:学生姓名、 课程号及最高分。

  1. 求所有讲授数据结构课程的教师姓名

  1. 查询所有选修了李正科老师的课程的学生信息

  1. 新建一个关系表 S1(SNO,SNAME,SD,SA),其字段类型定义与 Student 表中 的相应字段(SNO,SNAME,SDEPT,SAGE)的数据类型定义相同。 将表 Student 中在计算机系‘CS’的学生数据插入到表 S1 中。

  1. 建立计算机系的学生的视图 STUDENT_CS。利用视图 STUDENT_CS ,将学生的 001 号课程的成绩提高 5 分。

  1. 创建一个带参数的存储过程, 将数据结构课程的成绩在 Low 与 High 分数段的学生信息提取出来,查询后的结果包括:姓名、所在的系、成绩。

数据库原理实践3_17数据库原理实践3_18数据库原理实践3_19数据库原理实践3_20

主要技术问题的处理方法

  • 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;

  • 关于实验三数据库链接字符串和证书问题

屏幕截图 2024-05-22 122024

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结构的编程则展示了如何通过浏览器与服务器进行交互,这两种编程模式的实践提升了我对数据库应用系统的全面理解。

总的来说,通过本次实验不仅巩固了数据库系统的理论知识,还掌握了实际的数据库管理和应用技能,为今后在实际工作中使用数据库技术打下了坚实的基础。这次实验不仅是对课堂知识的验证,更是对学生实践能力的全面提升。