日期:2014-05-17  浏览次数:20521 次

关于表名和列名全是字母和数据序号的疑问,这样做有什么优点?
从网上下载了个软件,发现其数据库是sql2008,包含的表名全是无字面意义的AAA1,AAA2,AAA3 ...
表中的字段名也是AAA01,AAA02,AAA03等。这种情况下,编写sql是怎么知道字面的含义呢?就算是有字典表,一边查字典一边写sql,和有字面意义的命名相比较,怎样保证编写的效率呢?这样做有什么优点?
SQL code
CREATE TABLE [dbo].[AAA1](
    [AAA01] [varchar](4) NOT NULL,
    [AAA02] [varchar](20) NULL,
    [AAA03] [varchar](128) NULL,
PRIMARY KEY CLUSTERED 
(
    [AAA01] ASC
) 
) ON [PRIMARY]
go
CREATE TABLE [dbo].[AAB1](
    [AAB01] [varchar](2) NOT NULL,
    [AAB02] [varchar](10) NULL,
    [AAB03] [varchar](64) NULL



------解决方案--------------------
优点是让别人看不明白...
------解决方案--------------------
没有优点,说明做的时候需求不明确

------解决方案--------------------
有些公司弄得数据库确实是这个样子的什么A001 B001 F110之类的。

如果没有数据字典的话,很不好研究。
------解决方案--------------------
优点就是对于你这样只搞到库的人没办法弄清楚库是干什么用的。。。
------解决方案--------------------
这样的结构有可能数据字段时通过工具生成的
------解决方案--------------------
有可能字段是自动生成的,软件在使用的时候用户自定义一些字段及字段属性,这样不用专门去预先设定字段。
------解决方案--------------------
1.可能是个人命名规范问题
2.亦可能是出于安全考量,让别人在没有数字字典及数据库设计文档的时候不知道其意
3.这种命名方式相对于按表和字体的作用命名而言,后者更直观,能较容易猜测其意。
4.对于效率而言,本人觉得差别不大,可忽略不计
------解决方案--------------------
出于个人习惯,没想好命名规则。或者是出于简单、安全考虑。或者仅仅是随机命名的
------解决方案--------------------
没有优点
------解决方案--------------------
据我所知除了安全性高点
不好猜数据库的表结构及作用以外没有别的优点了
------解决方案--------------------
只是一个标志。。。。。。。。
------解决方案--------------------
说明这个写数据库脚本的人有个性

但不提倡这种作法,还是让人一看就明白的命名比较好
------解决方案--------------------
我接触过一个数据库,
核心功能表命名还是规范,估计是手写的。
他的一些编码表,比如区域代码、民族、学历这些全部类似你那样的命名,他是自己写了一个数据库修改工具,用工具直接生成的,类似于 A01,A02方便通过工具生成
另外工具还提供字段说明,相当于数据字典了
------解决方案--------------------
优点是便于保密,这样做相当于给表名/字段名加密了,别人只能靠猜测来获取其含义..