数据库处理、XML与JSON的应用及实践
立即解锁
发布时间: 2025-08-23 00:09:05 阅读量: 1 订阅数: 6 

# 数据库处理、XML与JSON的应用及实践
## 1. 数据库处理中的安全与XML的重要性
### 1.1 数据库操作的安全隐患
在数据库操作中,Web应用程序常要求用户输入新的电话号码,然后使用PHP代码创建并运行SQL语句。例如:
```php
// Create SQL statement
$varSQL = "UPDATE CUSTOMER SET PHONE = '$NewPhone' ";
$varSQL .= "WHERE CustomerID = '$CustomerID'";
// Execute SQL statement
$RecordSet = odbc_exec($Conn, $varSQL);
```
然而,如果对`NewPhone`的输入值不进行仔细检查,攻击者可能会输入类似`678 - 345 - 1234; DELETE FROM CUSTOMER;`这样的值。若该输入值被接受且SQL语句被执行,在Web应用程序对`CUSTOMER`表有删除权限的情况下,可能会导致该表中的所有数据丢失。因此,Web数据库应用程序必须精心构建,以进行数据检查并确保只授予必要的数据库权限。
### 1.2 XML的重要性
XML是一种定义文档结构并在计算机之间传输文档的标准方式。它在数据库处理中非常重要,因为它提供了向数据库提交数据和从数据库接收结果的标准化方法。
#### 1.2.1 数据库与文档处理的相互需求
数据库处理和文档处理相互依赖。数据库处理需要文档处理来传输数据库视图,而文档处理需要数据库处理来存储和操作数据。20世纪90年代初,Web开发和数据库领域开始融合,XML应运而生。
#### 1.2.2 XML的优势
XML提供了一种标准化且可定制的方式来描述文档内容,因此可以以标准化的方式描述任何数据库视图。数据库数据可以从XML文档中自动提取,并且有标准化的方法来定义文档组件与数据库模式组件之间的映射关系。如今,XML有许多用途,其中最重要的是作为一种标准化手段,用于定义和通信在互联网上处理的文档。
### 1.3 XML作为标记语言的优势
与HTML相比,XML在几个方面有显著优势:
| 对比项 | XML | HTML |
| ---- | ---- | ---- |
| 结构分离 | 提供文档结构、内容和呈现(文档在设备上的显示方式)的清晰分离,有处理各方面的功能,且不会混淆 | 结构、内容和呈现容易混淆 |
| 标准化与扩展性 | 是标准化的,但允许开发者进行扩展,可以创建自己的标签 | 限于固定的元素标签,如`<h1>…</h1>`和`<p>…</p>` |
| 标签使用一致性 | 强制标签使用一致,标签之间的关系是正式定义的,能明确知道数据内容、位置及与其他标签的关系 | 标签可用于不同目的,不能依赖其描述HTML页面的结构 |
### 1.4 XML与数据库处理的结合
#### 1.4.1 XML文档的生成与数据存储
可以使用数据库应用程序来处理XML文档。一种方法是扩展SQL,使SQL语句的结果以XML格式生成。例如,在SQL Server上运行的以下SQL语句:
```sql
/* *** SQL - QUERY - CH07 - 01 * ***/
SELECT
*
FROM
SEMINAR
FOR
XML AUTO, ELEMENTS;
```
执行该语句后,消息窗口中的输出(在这种格式下都在一个单元格中)是一个超链接,点击该超链接将生成XML输出。
#### 1.4.2 XML Web服务
XML在数据库数据传输中的应用尤为重要,这得益于一种名为XML Web服务的新标准的发展。XML Web服务涉及多个标准,包括XML。XML用于创建数据标签,而XML Web服务是一种在Web上共享程序功能元素的方式。
例如,创建一个货币转换的数据库应用程序,使用XML Web服务可以将该应用程序发布到Web上,其他程序可以像使用本地程序一样与它进行通信,即使该程序可能位于世界的另一端。
### 1.5 XML和JSON作为数据描述语言
#### 1.5.1 XML
XML有行业标准的模式定义,可用于在应用程序之间和业务伙伴之间共享和验证数据。它可以表示广泛的标准化数据格式,支持工业设计、房地产、工程和金融等行业。XML家族还包括相关语言,如用于查询功能的XPath、验证有效XML文档的XML Schema和用于呈现XML文档以供显示的XSL。
#### 1.5.2 JSON
JSON比XML更简单,它只是一种数据格式,但与XML有很多结构上的相似性。它常用于在Web应用程序中,在使用JavaScript编写的客户端网页和使用PHP编写的服务器程序之间共享数据。数据可以以包含属性名和值的文本形式从PHP服务器程序发送到客户端,并使用`JSON.parse`命令轻松转换为JavaScript数组变量。例如,一个表示客户的JSON对象:
```json
{
"lastname": "Griffey",
"firstname": "Ben",
"address": {
"street": "5678 25th NE",
"city": "Seattle",
"state": "WA"
},
"phones": [
{ "phonetype": "home", "phonenumber": "206 - 456 - 2345" },
{ "phonetype": "cell", "phonenumber": "206 - 756 - 5678" }
]
}
```
XML和JSON都可用于一些NoSQL数据库,以表示比关系数据库中更复杂的“聚合”结构。
## 2. 使用Microsoft Access进行Web数据库处理
### 2.1 项目目标
在构建了Wallingford Motors CRM数据库后,需要开发一个Web应用程序,让Wallingford Motors的销售人员能够通过Web访问该数据库。具体任务包括:
- 为Wallingford Motors构建一个Web主页。
- 创建一个ODBC数据源以访问WMCRM数据库。
- 构建一个Web页面来显示客户联系人的数据。
### 2.2 创建客户联系人视图
为了在Web页面上显示客户联系人列表,该列表将包含`CONTACT`和`CUSTOMER`表中的数据组合。为简化流程,定义一个名为`viewCustomerContacts`的视图。在Microsoft Access中,视图就是一个保存的查询。可以按照创建Microsoft Access QBE查询的方法创建并保存该查询,完成后关闭WMCRM数据库和Microsoft Access。
### 2.3 创建Wallingford Motors Web网站
#### 2.3.1 创建网站文件夹和主页
创建Wallingford Motors Web网站的步骤如下:
1. 选择“开始”|“文件资源管理器”(或点击Windows 10任务栏上的文件资源管理器图标)打开文件资源管理器,展开“我的计算机”中的C:驱动器,使`wwwroot`文件夹显示在`inetpub`文件夹下。
2. 展开`wwwroot`文件夹以显示`DBC`文件夹。
3. 点击`DBC`文件夹对象以显示该文件夹及其文件。
4. 在文件窗格中右键单击,显示快捷菜单,点击“新建”,然后点击“文件夹”。
5. 将新文件夹命名为WM。
6. 展开文件夹树窗格(左侧窗格)中的`DBC`文件夹,然后点击新的WM文件夹对象以显示该文件夹(此时为空)。
7. 在文件窗格(右侧窗格)中右键单击,显示快捷菜单,点击“新建”,然后点击“文本文档”。
8. 将新文本文档命名为`index.html`。完成重命名后,会出现一个重命名对话框,警告正在更改文件扩展名,点击“是”按钮。
9. 右键单击`index.html`文件,显示快捷菜单,点击“打开方式”,然后点击“记事本”。
10. 在记事本中,将以下HTML代码输入到打开的`index.html`文件中:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF - 8">
<meta name="viewport" content="width=device - width, initial - scale=1.0">
<title>Wallingford Motors CRM Demonstration Pages Home Page</title>
</head>
<body>
<h1 style="text - align: center; color: blue">
Database Concepts (8th Edit
```
0
0
复制全文
相关推荐









