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當然問題也很多,
但問題的誇張程度都沒有資料庫來得誇張,
資料庫不是非常重要的地方嗎?
怎麼會出現那麼多奇怪的事?
是我太大驚小怪了嗎?
還是是我運氣不好,
其實大部份公司的資料庫還算正常,不會這樣?