一種血親關(guān)系數(shù)據(jù)庫構(gòu)建方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種血親關(guān)系數(shù)據(jù)庫構(gòu)建方法和裝置,在關(guān)系數(shù)據(jù)庫系統(tǒng)中為血親關(guān)系數(shù)據(jù)庫分配存儲空間,然后創(chuàng)建一個為所采用基本親緣關(guān)系數(shù)據(jù)表示方法或裝置中的血親關(guān)系固定表示結(jié)構(gòu)的每一個屬性均創(chuàng)建對應(yīng)的可以存儲相應(yīng)屬性所表示的數(shù)據(jù)項的字段的表,按照屬性字段對應(yīng)關(guān)系將血親關(guān)系固定表示結(jié)構(gòu)單元表示的親緣關(guān)系數(shù)據(jù)存儲到表中,一個單元用一個表記錄存儲。還可為表中存儲單元所屬關(guān)系人本人信息的字段建立索引以提高檢索速度,沒有相應(yīng)字段則需創(chuàng)建并用來存儲相應(yīng)信息。也可創(chuàng)建兩個或以上表將血親關(guān)系固定表示結(jié)構(gòu)的數(shù)據(jù)按其重要性分開存儲。本發(fā)明使所有基本親緣關(guān)系數(shù)據(jù)可以真正做到集中統(tǒng)一存儲及在此基礎(chǔ)上進行全面系統(tǒng)分析。
【專利說明】一種血親關(guān)系數(shù)據(jù)庫構(gòu)建方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計算機信息處理領(lǐng)域,尤其涉及一種血親關(guān)系數(shù)據(jù)庫構(gòu)建方法和裝置。
【背景技術(shù)】
[0002]發(fā)明專利申請一種基本親緣關(guān)系數(shù)據(jù)存儲表示方法提出根據(jù)提取轉(zhuǎn)換規(guī)則從現(xiàn)有親緣關(guān)系數(shù)據(jù)中提取轉(zhuǎn)換有關(guān)關(guān)系人本人與生父、生母、同父兄弟姐妹、同母兄弟姐妹、親生子女、配偶等6種兩人之間親緣關(guān)系數(shù)據(jù),然后為每個涉及的關(guān)系人創(chuàng)建唯一的用通過指明相應(yīng)親緣關(guān)系人來包含上述6種關(guān)系內(nèi)容的固定表示結(jié)構(gòu)單元,最后根據(jù)提取轉(zhuǎn)換的數(shù)據(jù)設(shè)置所涉及關(guān)系人固定表示結(jié)構(gòu)單元的相應(yīng)內(nèi)容,其中的固定表示結(jié)構(gòu)去掉其中有關(guān)配偶關(guān)系的內(nèi)容即為一種血親關(guān)系固定表示結(jié)構(gòu),此方法僅為血親關(guān)系數(shù)據(jù)的集中統(tǒng)一存儲打下了基礎(chǔ),真正要實現(xiàn)血親關(guān)系數(shù)據(jù)的集中統(tǒng)一存儲及在此基礎(chǔ)上進行全面系統(tǒng)分析還必須構(gòu)建血親關(guān)系數(shù)據(jù)庫。當(dāng)前流行的數(shù)據(jù)庫平臺是關(guān)系數(shù)據(jù)庫系統(tǒng),常用的有MSSQL、ORACLE、MYSQL等,構(gòu)建血親關(guān)系數(shù)據(jù)庫可以這些成熟的關(guān)系數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)上構(gòu)建。
【發(fā)明內(nèi)容】
[0003]本發(fā)明要解決血親關(guān)系數(shù)據(jù)庫的構(gòu)建問題,為解決上述問題,本發(fā)明的目的在于提供一種血親關(guān)系數(shù)據(jù)庫構(gòu)建方法和裝置,使血親關(guān)系數(shù)據(jù)真正做到集中統(tǒng)一存儲及在此基礎(chǔ)上進行全面系統(tǒng)分析。對于某些研究血統(tǒng)等的親緣關(guān)系分析和檢索的應(yīng)用場合,需要集中存儲血緣關(guān)系這種基本親緣關(guān)系數(shù)據(jù)的血親關(guān)系數(shù)據(jù)庫已經(jīng)能夠滿足需要,無需婚姻關(guān)系等其它親緣關(guān)系數(shù)據(jù)。
[0004]為解決上述技術(shù)問題,本發(fā)明提出的血親關(guān)系數(shù)據(jù)庫構(gòu)建方法,包括以下步驟: 用基本親緣關(guān)系數(shù)據(jù)存儲表示方法或裝置存儲表示基本親緣關(guān)系數(shù)據(jù);
在關(guān)系數(shù)據(jù)庫系統(tǒng)中為血親關(guān)系數(shù)據(jù)庫分配存儲空間;
在分配的存儲空間中創(chuàng)建一個為所采用基本親緣關(guān)系數(shù)據(jù)表示方法或裝置中的血親關(guān)系固定表示結(jié)構(gòu)的每一個屬性均創(chuàng)建對應(yīng)的可以存儲相應(yīng)屬性所表示的數(shù)據(jù)項的字段的表;
按照屬性字段對應(yīng)關(guān)系將血親關(guān)系固定表示結(jié)構(gòu)單元表示的親緣關(guān)系數(shù)據(jù)存儲到表中,一個血親關(guān)系固定表示結(jié)構(gòu)單元用一個表記錄存儲。
[0005]為解決上述技術(shù)問題,本發(fā)明提出的血親關(guān)系數(shù)據(jù)庫構(gòu)建裝置,該裝置具備:
至少一個處理器;及
至少一個存儲器,含有計算機程序代碼,所述至少一個存儲器和計算機程序代碼被配置為利用所述至少一個處理器使得所述裝置
在關(guān)系數(shù)據(jù)庫系統(tǒng)中為血親關(guān)系數(shù)據(jù)庫分配存儲空間;
在分配的存儲空間中創(chuàng)建一個為所采用基本親緣關(guān)系數(shù)據(jù)表示方法或裝置中的血親關(guān)系固定表示結(jié)構(gòu)的每一個屬性均創(chuàng)建對應(yīng)的可以存儲相應(yīng)屬性所表示的數(shù)據(jù)項的字段的表;
按照屬性字段對應(yīng)關(guān)系將血親關(guān)系固定表示結(jié)構(gòu)單元表示的親緣關(guān)系數(shù)據(jù)存儲到表中,一個血親關(guān)系固定表示結(jié)構(gòu)單元用一個表記錄存儲。
[0006]若血親關(guān)系固定表示結(jié)構(gòu)不含指明所屬關(guān)系人本人的屬性,則所述方法和裝置可以進一步改進,表創(chuàng)建步驟中再創(chuàng)建一個字段以存儲血親關(guān)系固定表示結(jié)構(gòu)單元所屬關(guān)系人本人信息,數(shù)據(jù)存儲步驟中同時存儲血親關(guān)系固定表示結(jié)構(gòu)單元所屬關(guān)系人本人信息存儲到表同一記錄對應(yīng)字段中。
[0007]作為本發(fā)明所述方法或裝置的進一步改進,所述方法或裝置可以為表中存儲血親關(guān)系固定表示結(jié)構(gòu)所屬關(guān)系人本人信息的字段建立索引,以提高查詢檢索效率。也可根據(jù)實際做如下調(diào)整,創(chuàng)建表的步驟中創(chuàng)建兩個或以上表,其中一個作為主數(shù)據(jù)表,用于存儲血親關(guān)系固定表示結(jié)構(gòu)中用于指明基本親緣關(guān)系人等的主要屬性所表示的數(shù)據(jù)項,其它數(shù)據(jù)項則存儲在其它表中,這在其它數(shù)據(jù)項不是每個關(guān)系人都具備的情況下分不同的表存儲可以實現(xiàn)節(jié)約空間。
【專利附圖】
【附圖說明】
[0008]圖1為血親關(guān)系數(shù)據(jù)庫構(gòu)建的基本流程。
【具體實施方式】
[0009]下面結(jié)合附圖進行說明。
[0010]血親關(guān)系數(shù)據(jù)庫構(gòu)建方法和裝置的基本流程參見圖1:
第一步,在關(guān)系數(shù)據(jù)庫系統(tǒng)中為血親關(guān)系數(shù)據(jù)庫分配存儲空間。首先選取一種關(guān)系數(shù)據(jù)庫系統(tǒng)作為建立血親關(guān)系數(shù)據(jù)庫的基礎(chǔ)數(shù)據(jù)庫平臺,并在該關(guān)系數(shù)據(jù)庫系統(tǒng)中為血親關(guān)系數(shù)據(jù)庫分配存儲空間,目前常用的關(guān)系數(shù)據(jù)庫系統(tǒng)有MS SQL、ORACLE、MYSQL等,可以根據(jù)實際情況來進行選取,考慮的因素主要有數(shù)據(jù)量、性能要求、成本投入等,比如若想降低成本就可以選擇免費開源的MYSQL ;
第二步,在分配的存儲空間中創(chuàng)建一個為所采用基本親緣關(guān)系數(shù)據(jù)表示方法或裝置中的血親關(guān)系固定表示結(jié)構(gòu)的每一個屬性均創(chuàng)建對應(yīng)的可以存儲相應(yīng)屬性所表示的數(shù)據(jù)項的字段的表;若血親關(guān)系固定表示結(jié)構(gòu)不含指明所屬關(guān)系人本人的屬性,需要再創(chuàng)建一個字段以存儲固定表示結(jié)構(gòu)單元所屬關(guān)系人本人信息,否則不知道固定表示結(jié)構(gòu)單元到底是表示的那個關(guān)系人基本親緣關(guān)系數(shù)據(jù)。也可以創(chuàng)建兩個或以上表,其中一個作為主數(shù)據(jù)表,用于存儲血親關(guān)系固定表示結(jié)構(gòu)中用于指明基本親緣關(guān)系人等的主要屬性所表示的數(shù)據(jù)項,其它數(shù)據(jù)項則存儲在其它表中,對于其它數(shù)據(jù)項不是每個關(guān)系人都具備的情況下可以節(jié)約空間,在查詢分析時可以將這兩個或以上數(shù)據(jù)表放在一個視圖中,對于查詢用戶等來說還像是在一個表中;為了提高檢索的速度,可以為表中存儲血親關(guān)系固定表示結(jié)構(gòu)所屬關(guān)系人本人信息的字段建立索引;
第三步,按照屬性字段對應(yīng)關(guān)系將血親關(guān)系固定表示結(jié)構(gòu)單元表示的親緣關(guān)系數(shù)據(jù)存儲到表中,一個血親關(guān)系固定表示結(jié)構(gòu)單元用一個表記錄存儲。若血親關(guān)系固定表示結(jié)構(gòu)本身不含指明所屬關(guān)系人本人的屬性,在專門創(chuàng)建了一個字段以存儲血親關(guān)系固定表示結(jié)構(gòu)單元所屬關(guān)系人本人信息的情況下,還要同時存儲血親關(guān)系固定表示結(jié)構(gòu)單元所屬關(guān)系人本人信息存儲到表同一記錄該字段中。
[0011]實施例1
本例依托商用關(guān)系數(shù)據(jù)庫系統(tǒng)ORACLE實現(xiàn),登錄ORACLE數(shù)據(jù)庫系統(tǒng),創(chuàng)建一個BASIC_RELATION數(shù)據(jù)庫作為血親關(guān)系數(shù)據(jù)庫,分配存儲空間,創(chuàng)建索引均采用ORACLE數(shù)據(jù)庫系統(tǒng)的缺省配置,在BASIC_RELATION數(shù)據(jù)庫中創(chuàng)建一個BASIC_RELATION表,定義表的字段有ID、FATHER、MOTHER、NEXTBR0THER_F、NEXTBR0THER_M、ACHILD,類型均為 VCHAR (18),分別存儲相應(yīng)的關(guān)系人本人、生父、生母、同父兄弟姐妹、同母兄弟姐妹、親生子女的身份證號,創(chuàng)建索引的字段為ID。
[0012]假設(shè)有在戶籍管理系統(tǒng)中某個家庭有8個人VO、Vl、V2、V3、V4、V5、V6、V7,戶主為V2, VO的“與戶主關(guān)系”的當(dāng)前值為“妻”,Vl的“與戶主關(guān)系”的當(dāng)前值為“妻兄”,V3的“與戶主關(guān)系”的當(dāng)前值為“兒子”,V4的“與戶主關(guān)系”的當(dāng)前值為“岳父”,V5的“與戶主關(guān)系”的當(dāng)前值為“岳母”,V6的“與戶主關(guān)系”的當(dāng)前值為“母親”,V7的“與戶主關(guān)系”的當(dāng)前值為“父親”。用六元組(ID, FATHER, MOTHER, NEXTBR0THER_F, NEXTBR0THER_M,ACHILD)表示血親關(guān)系固定表示結(jié)構(gòu),其中的屬性值用V0、V1、V2、V3、V4、V5、V6、V7代表相應(yīng)的身份證號、NULL表示相應(yīng)的親緣關(guān)系未知,經(jīng)提取轉(zhuǎn)換后得到的相應(yīng)的多元祖分別為:
EO:(V0, V4, V5, VI, VI, V3)
El:(V1, V4, V5, V0, V0, NULL)
E2:(V2, V7, V6, NULL, NULL, V3)
E3:(V3, V2, VI, NULL, NULL, NULL)
E4:(V4, NULL, NULL, NULL, V0, NULL)
E5:(V5, NULL, NULL, NULL, V0, NULL)
E6:(V6, NULL, NULL, NULL, V2, NULL)
E7:(V7, NULL, NULL, NULL, V2, NULL)
通過INSERT語句插入8條記錄到BASIC_RELAT10N表中,按屬性字段對應(yīng)關(guān)系進行賦值即可。完整的插入語句示例如下:
INSERT BASIC_RELAT 10N
SET ID= E0.1D, FATHER= E0.FATHER, MOTHER= E0.MOTHER, NEXTBR0THER_F= E0.NEXTBR0THER_F, NEXTBR0THER_M= E0.NEXTBR0THER_M, ACHILD= E0.ACHILD。
【權(quán)利要求】
1.一種血親關(guān)系數(shù)據(jù)庫構(gòu)建方法,包括以下步驟: 在關(guān)系數(shù)據(jù)庫系統(tǒng)中為血親關(guān)系數(shù)據(jù)庫分配存儲空間; 在分配的存儲空間中創(chuàng)建一個為所采用基本親緣關(guān)系數(shù)據(jù)表示方法或裝置中的血親關(guān)系固定表示結(jié)構(gòu)的每一個屬性均創(chuàng)建對應(yīng)的可以存儲相應(yīng)屬性所表示的數(shù)據(jù)項的字段的表; 按照屬性字段對應(yīng)關(guān)系將血親關(guān)系固定表示結(jié)構(gòu)單元表示的親緣關(guān)系數(shù)據(jù)存儲到表中,一個血親關(guān)系固定表示結(jié)構(gòu)單元用一個表記錄存儲。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于:表創(chuàng)建步驟中再創(chuàng)建一個字段以存儲血親關(guān)系固定表示結(jié)構(gòu)單元所屬關(guān)系人本人信息,數(shù)據(jù)存儲步驟中同時存儲血親關(guān)系固定表示結(jié)構(gòu)單元所屬關(guān)系人本人信息存儲到表同一記錄對應(yīng)字段中。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于:為表中存儲血親關(guān)系固定表示結(jié)構(gòu)所屬關(guān)系人本人信息的字段建立索引。
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于:創(chuàng)建表的步驟中創(chuàng)建兩個或以上表,其中一個作為主數(shù)據(jù)表,用于存儲血親關(guān)系固定表示結(jié)構(gòu)中用于指明基本親緣關(guān)系人等的主要屬性所表示的數(shù)據(jù)項,其它數(shù)據(jù)項則存儲在其它表中。
5.一種血親關(guān)系數(shù)據(jù)庫構(gòu)建裝置,其特征在于,該裝置具備: 至少一個處理器;及 至少一個存儲器,含有計算機程序代碼,所述至少一個存儲器和計算機程序代碼被配置為利用所述至少一個處理器使得所述裝置 在關(guān)系數(shù)據(jù)庫系統(tǒng)中為血親關(guān)系數(shù)據(jù)庫分配存儲空間; 在分配的存儲空間中創(chuàng)建一個為所采用基本親緣關(guān)系數(shù)據(jù)表示方法或裝置中的血親關(guān)系固定表示結(jié)構(gòu)的每一個屬性均創(chuàng)建對應(yīng)的可以存儲相應(yīng)屬性所表示的數(shù)據(jù)項的字段的表; 按照屬性字段對應(yīng)關(guān)系將血親關(guān)系固定表示結(jié)構(gòu)單元表示的親緣關(guān)系數(shù)據(jù)存儲到表中,一個血親關(guān)系固定表示結(jié)構(gòu)單元用一個表記錄存儲。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于:表創(chuàng)建步驟中再創(chuàng)建一個字段以存儲血親關(guān)系固定表示結(jié)構(gòu)單元所屬關(guān)系人本人信息,數(shù)據(jù)存儲步驟中同時存儲血親關(guān)系固定表示結(jié)構(gòu)單元所屬關(guān)系人本人信息存儲到表同一記錄對應(yīng)字段中。
7.根據(jù)權(quán)利要求5或6所述的裝置,其特征在于:為表中存儲血親關(guān)系固定表示結(jié)構(gòu)所屬關(guān)系人本人信息的字段建立索引。
8.根據(jù)權(quán)利要求5或6所述的裝置,其特征在于:創(chuàng)建表的步驟中創(chuàng)建兩個或以上表,其中一個作為主數(shù)據(jù)表,用于存儲血親關(guān)系固定表示結(jié)構(gòu)中用于指明基本親緣關(guān)系人等的主要屬性所表示的數(shù)據(jù)項,其它數(shù)據(jù)項則存儲在其它表中。
【文檔編號】G06F19/00GK103617184SQ201310545120
【公開日】2014年3月5日 申請日期:2013年11月7日 優(yōu)先權(quán)日:2013年11月7日
【發(fā)明者】倪龍 申請人:寧波保稅區(qū)攀峒信息科技有限公司