问题
我想了解社群对此事的看法和解决方法。
给出一个表格
<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>
因此
鉴于您可以提供的这些考虑和其他因素,任何人都可以告诉我他们在这个问题上的立场和实践是什么?如果您认为名称应该不同,那么如何在代码中实现名称匹配/转换(可能有一个单独的类将其转换为另一个)?