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