next up previous
Next: ハッシュキーの設定 Up: スキーマ Previous: スキーマ

スキーマ定義

Kappa/src/add_utl/kp_schema.kl1のget/2に、以下のようにスキーマが定義 されている。

スキーマmeibo_historyは、名簿の変更履歴をとっておくために必要で、 スキーマmeiboとの違いは、idに、key(table)が含まれていないことである。

スキーマmeibo_idは、登録されたメンバーのidの一意性を保つために 定義されている。

get(meibo, Schema):-
    Schema = meibo(primitive,{
    id(single,[type(string),key(table),access(indexed),null_value(not_allowed)]),
    name_j(single,[type(string),access(indexed)]),
    name_e(single,[type(string),access(indexed)]),
    name_for_search(set,[type(string),access(indexed)]),
    name_for_sort(single,[type(string),access(indexed)]),
    prefix(single,[type(string)]),
    icot(single,[type(string)]),
    nation_code(single,[type(string),access(indexed)]),
    home(single,{
        home_address(single,[type(string),access(indexed)]),
        sub_home_address(single,[type(string)]),
        home_telephone(single,[type(string),access(indexed)]),
        home_fax(single,[type(string)])}),
    organization(single,{
        organization_section(single,[type(string),access(indexed)]),
        organization_address(single,[type(string),access(indexed)]),
        organization_code(single,[type(string),access(indexed)]),
        organization_title(single,[type(string)]),
        organization_telephone(single,[type(string)]),
        organization_fax(single,[type(string)]),
        organization_e_mail(single,[type(string),access(indexed)]),
        organization_telex(single,[type(string)])}),
    wg_info(set,[type(string),access(indexed)]),
    organization_kind(single,[type(string),access(indexed)]),
    error_info(single,[type(string),access(indexed)]),
    info1(set,[type(string),access(indexed)]),
    info2(single,[type(string),access(indexed)]),
    source(set,[type(string),access(indexed)]),
    version(single,[type(integer),access(indexed)]),
    date(single,[type(string)]),
    user(single,[type(string),access(indexed)]),
    remarks(set,[type(string),access(indexed)])},[],nil).

get(meibo_history):-
    Schema = meibo_history(primitive,{
    id(single,[type(string),access(indexed),null_value(not_allowed)]),
    name_j(single,[type(string),access(indexed)]),
    name_e(single,[type(string),access(indexed)]),
    name_for_search(set,[type(string),access(indexed)]),
    name_for_sort(single,[type(string),access(indexed)]),
    prefix(single,[type(string)]),
    icot(single,[type(string)]),
    nation_code(single,[type(string),access(indexed)]),
    home(single,{
        home_address(single,[type(string),access(indexed)]),
        sub_home_address(single,[type(string)]),
        home_telephone(single,[type(string),access(indexed)]),
        home_fax(single,[type(string)])}),
    organization(single,{
        organization_section(single,[type(string),access(indexed)]),
        organization_address(single,[type(string),access(indexed)]),
        organization_code(single,[type(string),access(indexed)]),
        organization_title(single,[type(string)]),
        organization_telephone(single,[type(string)]),
        organization_fax(single,[type(string)]),
        organization_e_mail(single,[type(string),access(indexed)]),
        organization_telex(single,[type(string)])}),
    wg_info(set,[type(string),access(indexed)]),
    organization_kind(single,[type(string),access(indexed)]),
    error_info(single,[type(string),access(indexed)]),
    info1(set,[type(string),access(indexed)]),
    info2(single,[type(string),access(indexed)]),
    source(set,[type(string),access(indexed)]),
    version(single,[type(integer),access(indexed)]),
    date(single,[type(string)]),
    user(single,[type(string),access(indexed)]),
    remarks(set,[type(string),access(indexed)])},[],nil).

get(meibo_id, Schema):-
    Schema = meibo_id(primitive,{id(single,[type(integer)])},[],nil).