表单名称/ URL参数是否应与其对应的列名称不同?

时间:2013-10-29 10:20:27

标签: database-design coding-style naming-conventions

问题

我想了解社群对此事的看法和解决方法。

给出一个表格

<form>
Employee ID <input type="text" name="employee_id"><br>
First name: <input type="text" name="first_name"><br>
Last name: <input type="text" name="last_name">
</form>

映射到表

CREATE TABLE `employee` (
  `employee_id` varchar(50) NOT NULL,
  `first_name` varchar(50) NOT NULL,
  `last_name` varchar(50) NOT NULL,
  PRIMARY KEY (`employee_id`)
) 

表单元素的名称是否与其基础表列匹配是一种好的还是坏的做法?

这些是我正在努力的考虑因素:

赞成

具有相同名称的一个优点是我可以拥有一个通用的数据访问对象,您只需传递表单名称即可轻松创建所需的SQL代码。另一个是易于记住正确的列/表单名称,特别是在数据传递和存储在关联数组中时。

缺点

安全。虽然我不是安全专家,但我觉得用户(和黑客)不必了解或推测存储介质的任何内容,包括表名和列名。另一个缺点是,如果我有数据库命名约定(例如pk_employee_id而不是employee_id,因为列是主键),那么我可能被迫在我的HTML和服务器端代码中使用这些相同的约定,因此名称将匹配。 / p>

因此

鉴于您可以提供的这些考虑和其他因素,任何人都可以告诉我他们在这个问题上的立场和实践是什么?如果您认为名称应该不同,那么如何在代码中实现名称匹配/转换(可能有一个单独的类将其转换为另一个)?

0 个答案:

没有答案