一般的 SQL 數據庫中都存在有多個表,這些表之間會有關聯性,從而構成無冗余的關系數據庫。但是我目前碰到了一個問題,數據庫是由應用廠商開發的,作為前臺應用程序的后臺支撐使用,其中的調用接口并沒有對用戶開放。但因為有數據庫管理員的權限,用戶可以直接打開數據庫對其中的數據進行操作。只是這樣做的風險很多,如果破壞了數據的關聯性,可能導致整個應用系統癱瘓。
考慮到 SQL 的應用中,一般都采用字段名稱進行操作,對于未涉及的字段,并不影響。因此可以在已有的數據表中,直接添加新的數據字段,從而對表進行擴充而不影響原有的應用工作。
目前在涵普的 PTC-8320型標準表系統中,其結果數據記錄在數據庫 Meters 下面,每次的測試結果在記錄在表 Deviation 下。在整個 Meters 數據庫中,還有其它的表項,記錄了與測試過程相關的信息,如被測試的表,生產信息,測試人員,批號,結果等信息,但是因為沒有完整的數據結構及表之間的關系圖,無法對更多的數表進行同步查詢。而我們主要使用的測試記錄,只存在于 Deviation 這個表格中,如果在這個表格中再增加我們所需的索引及操作信息,則能實現我們的大部分要求。因此,需要在不影響原有字段的基礎上,對此數據表進行擴充,增加產品型號,批號,樣品編號,測試員及測試結論,備注等信息,實現單表格記錄的目的。
需要注意的是,在SQL 數據庫中,char,varchar,text等字段類型,還有對應的 nchar, nvarchar, ntext 的版本,其主要區別在于前者是 ANSI字符的,而后者是 UNICODE字符的。后者的存儲空間是前者的兩倍。但是前者在非Unicode環境中,中文會顯示為 ??,而后者則能正確的顯示中文字符。這一點在應用過程中需要注意。
|