HI大家好,
小弟我是很喜欢研究数据库的人,
但待过几间公司后,
真的对数据库或SQL看到好多很奇怪的事,
我不知道是不是我运气太差一直遇到,
还是数据库真的很不被重视,
我遇到状况有:
1.主管只准许用left join来关连表,其他join不准用,
也不准用SP或变量或其他T-SQL的东西,只能在程式中拼接sql
2.表和字段命名,用拼音的第一个字母组成,
例如客户主档就命名为KHZD,姓名就叫XM
3.时间全部都用字符存,而且有的存的方式是"2017/11/27 01:27:30"
都用字符存之前有板友聊过,但这种存法我相信比他看到的更夸张
4.做任何动作都塞好几列log,几天之内就加了几千万列log,把硬盘给塞爆
5.一个表搞到上百个字段,大部份是没用或重复,或是可以分割
6.没设主档,主档的资料全部写在明细里,
要秀主档的资料时,
就把明细group by来找,
明细也非常非常的大
7.重要的表没有字段记录修改时间
8.重要的表没有加主键,重复的资料可以直接加上去
9.在SP里,把sql存在变量里拼接,而不是直接写sql跑,
例如
declare @sql varchar(500)
set @sql = 'select * from table_a'
exec(@sql)
而且这样写不是因为有特殊目的,是一般的sp对方也这样写,直接写sql都可以跑的
10.字段名字用a,b,c,d命名,各种资料都往里面塞,
所以a有时候是姓名,有时候是物品名,有时候是其他东西
11.拿之前的数据库改,但里面表名和字段名都不改,
有什么就塞,变成部门资料塞的是门店资料,
销售金额里存的不是销售金额,
客户编号存的是票据单号
12.要用其他数据库的表时(两个数据库在同一台服务器上),不是直接连结,
而是定时把另一个数据库的表复制到自己数据库,再去读取
如果只是一家公司数据库乱设也就算了,
但我现在已经连续看到3家数据库都乱七八糟,
我真的很好奇是不是一般公司是不重视数据库?
也很少看到有人懂数据库,
而且很多状况其实已经不是不专业问题,
是没常识了...
我自己是有做过web和app,
业界的web和app当然问题也很多,
但问题的夸张程度都没有数据库来得夸张,
数据库不是非常重要的地方吗?
怎么会出现那么多奇怪的事?
是我太大惊小怪了吗?
还是是我运气不好,
其实大部份公司的数据库还算正常,不会这样?