Web应用开发的全面规划与实践指南
1. 数据库创建与规划
1.1 创建数据库
在完成接口规划、数据需求分析、对象建模和管理规划后,就可以着手构建数据库了。此阶段要创建表、关系、索引、触发器、存储过程和函数。在编写程序之前先构建数据库,因为可以在不编写任何接口代码的情况下对其进行全面测试。创建完成后,使用示例数据填充表,并保存用于创建数据库对象的 SQL DDL 语句,以便能够完整地重新创建数据库。
数据库是应用程序的核心,必须保证其健壮性,即不接受不符合要求的信息。虽然编写代码来验证信息的有效性并不难,但不能确保每个人都能写出健壮的代码,所以要从数据库层面进行严格把控。
对于 Web 数据库,由于 Web 的无状态特性,它需要为所有应用程序用户提供服务,并且要比标准的客户端 - 服务器场景更频繁地提供更多信息。因此,要尽量减少每个请求所需传输的数据量,充分利用 SQL 只选择所需数据的能力。
1.2 精心规划数据关系
在数据库中构建的数据关系会对后续产生深远影响。以存储电话号码为例,不同的电话号码有不同的格式,如有些需要区号,有些有分机号,国外电话号码与美国电话号码也不同,而且人们可能会使用电话卡 PIN 拨号。如果将电话号码放在 Contacts 表的 HomePhone、WorkPhone、FaxPhone 和 CellPhone 字段中,可能无法满足未来的需求。
可以通过数据库规范化来解决这个问题,将电话号码放在一个单独的表中,使用 ContactID 作为外键,并使用 JOIN 操作来检索与个人相关的电话号码。同时,在电话表中添加 TelephoneType 字段,并对 Contac