摘 要:目前,在程序設(shè)計(jì)中,涉及數(shù)據(jù)庫設(shè)計(jì)時(shí),經(jīng)常需要處理多對(duì)多的關(guān)系,其處理效率及便利性,對(duì)程序員極為重要。本文探索不同于傳統(tǒng)的新方法,并通過實(shí)例展示這種方法。此新方法不需要增加字典表或者副表,而是在兩表中,各設(shè)置一個(gè)關(guān)聯(lián)功能字段,通過編程手段處理兩表的多對(duì)多關(guān)系。
關(guān)鍵詞:數(shù)據(jù)庫;關(guān)系;多對(duì)多
中圖分類號(hào):TP311.13
在數(shù)據(jù)庫編號(hào)中,傳統(tǒng)的多對(duì)多處理方法至少需要3個(gè)表,第一個(gè)表叫做主表,第二個(gè)叫做關(guān)系表,第三個(gè)表叫做字典表或者副表(字典表是紀(jì)錄比較少,而且基本穩(wěn)定的)。按照數(shù)據(jù)庫的增刪查改操作,多對(duì)多關(guān)系的查找可以用inner join或者select*from主表where id in (select 主表.id from 關(guān)系表)實(shí)現(xiàn)。
本文要描述另一種不同于傳統(tǒng)的新方法,該方法處理兩個(gè)表的多對(duì)多時(shí),不需要增加字典表或者副表,而是在兩表中,各設(shè)置一個(gè)關(guān)聯(lián)功能字段,通過編程手段處理兩表的多對(duì)多關(guān)系。以下用計(jì)量標(biāo)準(zhǔn)和計(jì)量設(shè)備兩者關(guān)系的實(shí)例,描述這種多對(duì)多處理新方法。
從事計(jì)量工作的人員都知道,一個(gè)計(jì)量標(biāo)準(zhǔn)(以下叫標(biāo)準(zhǔn))由多臺(tái)計(jì)量設(shè)備(以下叫設(shè)備)組成,一臺(tái)設(shè)備也可以從屬多個(gè)標(biāo)準(zhǔn)中,從而出現(xiàn)標(biāo)準(zhǔn)和設(shè)備的多對(duì)多關(guān)系。
1 兩個(gè)多對(duì)多的關(guān)系表中,一個(gè)叫“standar”,另一個(gè)叫“Machine”
各設(shè)置一個(gè)關(guān)聯(lián)功能的字段:standar表中的“包含設(shè)備ID”,Machine表中的“所屬標(biāo)準(zhǔn)ID”。
2 將所有標(biāo)準(zhǔn)錄入標(biāo)準(zhǔn)表中,同樣將所有設(shè)備錄入設(shè)備表中
4 在進(jìn)行增刪操作時(shí)的處理程序(Visual Basic)
4.1 在標(biāo)準(zhǔn)中增加設(shè)備的處理程序
4.2 在標(biāo)準(zhǔn)中刪除設(shè)備的處理程序
目前,作者自行編寫的“檢測業(yè)務(wù)系統(tǒng)”,已經(jīng)在多家質(zhì)檢計(jì)量機(jī)構(gòu)實(shí)際運(yùn)行,在程序中,已經(jīng)多處用編程的方法處理數(shù)據(jù)庫中多對(duì)多的關(guān)系。實(shí)踐證明,用編程的方法處理數(shù)據(jù)庫中多對(duì)多的關(guān)系是完全可行和高效的。
注:本文系本人編寫“檢測業(yè)務(wù)系統(tǒng)”過程中,發(fā)現(xiàn)的新方法。
作者簡介:韋金興(1975-),男,廣東云浮人,主任,電子工程師,一級(jí)計(jì)量師,碩士研究生,研究方向:計(jì)量檢定、檢測技術(shù)機(jī)構(gòu)的管理。
作者單位:廣東省云浮市質(zhì)量計(jì)量監(jiān)督檢測所,廣東云浮 527300