关于表名和列名全是字母和数据序号的疑问,这样做有什么优点?
从网上下载了个软件,发现其数据库是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方便通过工具生成
另外工具还提供字段说明,相当于数据字典了
------解决方案--------------------优点是便于保密,这样做相当于给表名/字段名加密了,别人只能靠猜测来获取其含义..