Skip to content

サンプルデータベースについて

This content is not available in your language yet.

以降のページでは、SQExcelがデータベースに対して行う入力シート操作の説明に、サンプルDBを使用します。一般的なアプリケーションで使われるテーブル構造を持つサンプルDBを使うことで、実際の操作をより具体的にイメージできるはずです。サンプルDBは、ネット広告代理店向け簡易販売管理システムをモデル化した、シンプルな構造のデータベースです。


サンプルデータベースのテーブル構造

Section titled “サンプルデータベースのテーブル構造”
No.テーブル物理名テーブル論理名備考
1departments部門マスター自己参照FK(親部門)
2employees従業員マスター担当者マスター兼用
3clients取引先マスター
4common_codes共通コードマスター
5servicesサービスマスター広告サービス種別・料金定義
6quotations見積ヘッダー
7quotation_details見積明細
8contracts契約ヘッダー見積と1:1対応
9contract_details契約明細

物理項目名論理項目名データ型主キーNOT NULL規定値用途・目的
dept_id部門IDCHAR(6)○○部門を一意に識別するID(0詰め6桁)
dept_name部門名NVARCHAR(200)○部門の表示名
parent_dept_id親部門IDCHAR(6)親部門のdept_id(NULLなら最上位)。departmentsへの自己参照FK
created_at作成日時DATETIME2○GETDATE()レコード作成日時
created_by作成者IDVARCHAR(20)○レコード作成者のユーザーID
updated_at更新日時DATETIME2○GETDATE()レコード最終更新日時
updated_by更新者IDVARCHAR(20)○レコード最終更新者のユーザーID

物理項目名論理項目名データ型主キーNOT NULL規定値用途・目的
employee_id従業員IDCHAR(8)○○従業員・担当者を一意に識別するID(0詰め8桁)
dept_id部門IDCHAR(6)○所属部門。departmentsへのFK
last_name姓NVARCHAR(100)○従業員の姓
first_name名NVARCHAR(100)○従業員の名
email業務メールアドレスNVARCHAR(255)業務用メールアドレス(一意)
is_active有効フラグBIT○11=有効、0=無効
created_at作成日時DATETIME2○GETDATE()レコード作成日時
created_by作成者IDVARCHAR(20)○レコード作成者のユーザーID
updated_at更新日時DATETIME2○GETDATE()レコード最終更新日時
updated_by更新者IDVARCHAR(20)○レコード最終更新者のユーザーID

物理項目名論理項目名データ型主キーNOT NULL規定値用途・目的
client_id取引先IDCHAR(8)○○取引先を一意に識別するID(0詰め8桁)
client_name取引先名NVARCHAR(200)○取引先の正式名称
client_name_kana取引先名カナNVARCHAR(200)取引先名のフリガナ
contact_person先方担当者名NVARCHAR(100)取引先の担当者名
phone電話番号VARCHAR(30)連絡先電話番号
emailメールアドレスNVARCHAR(255)取引先メールアドレス
address_line1住所1NVARCHAR(200)番地・建物名(国際標準形式)
address_line2住所2NVARCHAR(200)追加住所行(使用頻度低)
city市区町村NVARCHAR(100)市区町村
state_province都道府県・州NVARCHAR(100)都道府県または州
postal_code郵便番号VARCHAR(20)郵便番号(ハイフンなし)
country_code国コードCHAR(2)○‘JP’ISO 3166-1 alpha-2 国コード
is_active有効フラグBIT○11=有効、0=無効
created_at作成日時DATETIME2○GETDATE()レコード作成日時
created_by作成者IDVARCHAR(20)○レコード作成者のユーザーID
updated_at更新日時DATETIME2○GETDATE()レコード最終更新日時
updated_by更新者IDVARCHAR(20)○レコード最終更新者のユーザーID

物理項目名論理項目名データ型主キーNOT NULL規定値用途・目的
service_idサービスIDCHAR(8)○○サービスを一意に識別するID(0詰め8桁)
service_nameサービス名NVARCHAR(200)○サービスの名称
ad_type広告種別CHAR(1)○common_codesで定義域を設定
banner_sizeバナーサイズVARCHAR(20)バナー広告のサイズ(バナー広告のみ)
html_embed_availableHTML埋め込み可否BIT○01=可、0=不可
js_embed_availableJS埋め込み可否BIT○01=可、0=不可
video_duration_sec動画表示時間(秒)INT動画広告の表示時間(秒単位)
price_weekly週単位料金(税抜)DECIMAL(15,2)○0週単位の広告掲載料金
price_monthly月単位料金(税抜)DECIMAL(15,2)○0月単位の広告掲載料金
currency_code通貨コードCHAR(3)○‘JPY’ISO 4217 通貨コード
is_active有効フラグBIT○11=有効、0=無効
created_at作成日時DATETIME2○GETDATE()レコード作成日時
created_by作成者IDVARCHAR(20)○レコード作成者のユーザーID
updated_at更新日時DATETIME2○GETDATE()レコード最終更新日時
updated_by更新者IDVARCHAR(20)○レコード最終更新者のユーザーID

common_codes(共通コードマスター)

Section titled “common_codes(共通コードマスター)”
物理項目名論理項目名データ型主キーNOT NULL規定値用途・目的
category_name区分名NVARCHAR(100)○○DB内のテーブルで使用される各種区分名。実際のテーブル項目の物理名を指定する。
category_code区分値NVARCHAR(100)○○その区分のコード値
category_code_name区分値名NVARCHAR(200)○その区分のコード値に割り当てられる名前
category_code_description区分値説明NVARCHAR(100)その区分のコード値の説明
created_at作成日時DATETIME2○GETDATE()レコード作成日時
created_by作成者IDVARCHAR(20)○レコード作成者のユーザーID
updated_at更新日時DATETIME2○GETDATE()レコード最終更新日時
updated_by更新者IDVARCHAR(20)○レコード最終更新者のユーザーID

※ category_name と category_code の複合主キー。


物理項目名論理項目名データ型主キーNOT NULL規定値用途・目的
quotation_id見積IDCHAR(12)○○見積を一意に識別するID(0詰め12桁)
client_id取引先ID(広告主)CHAR(8)○広告主。clientsへのFK
site_operator_idサイト運営会社IDCHAR(8)○広告掲載サイトの運営会社。clientsへのFK
display_start_date広告表示開始日DATE○広告掲載開始日
display_end_date広告表示終了日DATE○広告掲載終了日
payment_terms決済条件NVARCHAR(200)支払条件の説明
billing_type請求種別CHAR(1)○‘1''1’=一括請求、‘2’=月締め請求
currency_code通貨コードCHAR(3)○‘JPY’ISO 4217 通貨コード
total_amount_foreign外貨建て合計金額DECIMAL(18,2)外貨建ての見積合計金額
total_amount_jpy円建て合計金額DECIMAL(18,2)円建ての見積合計金額
total_amount_jpy_est予想円換算合計金額DECIMAL(18,2)外貨建て契約の予想円換算合計金額
employee_id担当者IDCHAR(8)○担当営業社員。employeesへのFK
statusステータスCHAR(1)○‘1’見積のステータスコード
notes備考NVARCHAR(1000)自由記述の備考欄
created_at作成日時DATETIME2○GETDATE()レコード作成日時
created_by作成者IDVARCHAR(20)○レコード作成者のユーザーID
updated_at更新日時DATETIME2○GETDATE()レコード最終更新日時
updated_by更新者IDVARCHAR(20)○レコード最終更新者のユーザーID

物理項目名論理項目名データ型主キーNOT NULL規定値用途・目的
detail_id明細IDCHAR(15)○○見積明細を一意に識別するID(0詰め15桁)
quotation_id見積IDCHAR(12)○親見積。quotationsへのFK
line_no行番号INT○明細行の表示順番号
site_urlサイトURLVARCHAR(500)○広告掲載サイトのURL
service_idサービスIDCHAR(8)○使用サービス。servicesへのFK
display_weeks掲載週数INT広告掲載週数(週単位の場合)
display_months掲載月数INT広告掲載月数(月単位の場合)
unit_price_foreign外貨建て単価DECIMAL(15,2)外貨建て単価
amount_foreign外貨建て金額DECIMAL(18,2)外貨建て明細金額
amount_jpy円建て金額DECIMAL(18,2)円建て明細金額
amount_jpy_est予想円換算金額DECIMAL(18,2)外貨建て契約の予想円換算金額
created_at作成日時DATETIME2○GETDATE()レコード作成日時
created_by作成者IDVARCHAR(20)○レコード作成者のユーザーID
updated_at更新日時DATETIME2○GETDATE()レコード最終更新日時
updated_by更新者IDVARCHAR(20)○レコード最終更新者のユーザーID

物理項目名論理項目名データ型主キーNOT NULL規定値用途・目的
contract_id契約IDCHAR(12)○○契約を一意に識別するID(0詰め12桁)
quotation_id見積IDCHAR(12)○基となった見積。quotationsへのFK(1:1)
client_id取引先ID(広告主)CHAR(8)○広告主。clientsへのFK
site_operator_idサイト運営会社IDCHAR(8)○広告掲載サイトの運営会社。clientsへのFK
display_start_date広告表示開始日DATE○広告掲載開始日
display_end_date広告表示終了日DATE○広告掲載終了日
payment_terms決済条件NVARCHAR(200)支払条件の説明
billing_type請求種別CHAR(1)○‘1''1’=一括請求、‘2’=月締め請求
currency_code通貨コードCHAR(3)○‘JPY’ISO 4217 通貨コード
total_amount_foreign外貨建て合計金額DECIMAL(18,2)外貨建ての契約合計金額
total_amount_jpy円建て合計金額DECIMAL(18,2)円建ての契約合計金額
total_amount_jpy_est予想円換算合計金額DECIMAL(18,2)外貨建て契約の予想円換算合計金額
employee_id担当者IDCHAR(8)○担当営業社員。employeesへのFK
statusステータスCHAR(1)○‘1’契約のステータスコード
notes備考NVARCHAR(1000)自由記述の備考欄
created_at作成日時DATETIME2○GETDATE()レコード作成日時
created_by作成者IDVARCHAR(20)○レコード作成者のユーザーID
updated_at更新日時DATETIME2○GETDATE()レコード最終更新日時
updated_by更新者IDVARCHAR(20)○レコード最終更新者のユーザーID

物理項目名論理項目名データ型主キーNOT NULL規定値用途・目的
detail_id明細IDCHAR(15)○○契約明細を一意に識別するID(0詰め15桁)
contract_id契約IDCHAR(12)○親契約。contractsへのFK
quotation_detail_id見積明細IDCHAR(15)対応する見積明細。quotation_detailsへのFK(NULL許可)
line_no行番号INT○明細行の表示順番号
site_urlサイトURLVARCHAR(500)○広告掲載サイトのURL
service_idサービスIDCHAR(8)○使用サービス。servicesへのFK
display_weeks掲載週数INT広告掲載週数(週単位の場合)
display_months掲載月数INT広告掲載月数(月単位の場合)
unit_price_foreign外貨建て単価DECIMAL(15,2)外貨建て単価
amount_foreign外貨建て金額DECIMAL(18,2)外貨建て明細金額
amount_jpy円建て金額DECIMAL(18,2)円建て明細金額
amount_jpy_est予想円換算金額DECIMAL(18,2)外貨建て契約の予想円換算金額
created_at作成日時DATETIME2○GETDATE()レコード作成日時
created_by作成者IDVARCHAR(20)○レコード作成者のユーザーID
updated_at更新日時DATETIME2○GETDATE()レコード最終更新日時
updated_by更新者IDVARCHAR(20)○レコード最終更新者のユーザーID

サンプルデータベース・広告代理店向け簡易販売システムDB


テーブル主キー参照項目
departments(部門マスター)dept_id(部門ID)parent_dept_id(親部門ID)→他の部門データのdept_idを自己参照
employees(従業員マスター)employee_id(従業員ID)dept_id(部門ID)→departments.dept_idを外部参照
clients(取引先マスター)client_id(取引先ID)
services(サービスマスター)service_id(サービスID)
common_codes(共通コードマスター)category_name(区分名),category_code(区分値)
quotations(見積ヘッダー)quotation_id(見積ID)client_id(取引先ID)→clients.client_idを外部参照
site_operator_id(サイト運営会社ID)→clients.client_idを外部参照
employee_id(担当者ID)→employees.employee_idを外部参照
quotation_details(見積明細)detail_id (明細ID)quotation_id(見積ID)→quotations.quotation_idを外部参照
service_id(サービスID)→services.service_idを外部参照
contracts(契約ヘッダー)contract_id(契約ID)quotation_id(見積ID)→quotations.quotation_idを外部参照
client_id(取引先ID)→clients.client_idを外部参照
site_operator_id(サイト運営会社ID)→clients.client_idを外部参照
employee_id(担当者ID)→employees.employee_idを外部参照
contract_details(契約明細)detail_id (明細ID)contract_id(契約ID)→contracts.contract_idを外部参照
quotation_detail_id(見積明細ID)→quotation_details.detail_idを外部参照
service_id(サービスID)→services.service_idを外部参照