データモデリング ネーミング標準とドメイン

Slides:



Advertisements
Similar presentations
図1 e-Stat 政府統計の総合窓口の入り口 図2 図3 図5 図4. 図2 統計データを探す 主要統計(基幹統計)から国民生活基礎調査を探す例 主要な統計から探す 政府統計全体から探す キーワードで探す 人口・世帯 労働・賃金,農林水産業,鉱工業,商業・サービス業,企業・家 計・経済,住宅・土地・建設,エネルギー・水,運輸・観光、情.
Advertisements

データベース. レシートを見てみよう コンビニやスーパーで買物をするときの レシートを見てみよう – 何がかいてあるだろうか? – レジで全部打ち込んでいる? – なぜ、打ち込まないのにレシートには商品名 や価格が出てくるの?
データモデリング ボトムアップ分析. ボトムアップ分析の手順 トップダウン分析の結果とは別に実施 画面や帳票イメージからモデル化 ①画面や帳票を集める ② Excel などのワークシートで,エンティ ティ,データ項目名を決める ③ドメインを定義し,データ項目に割り当 てる ④正規化を実施 ⑤発生タイミングでエンティティを分離.
実践!DB逆設計 ~レシートからER図を起こす~
エンティティ・リレーションシップ・モデル
エクセル(1)の目次 起動法、ブック、シート、セル ブックの開き方 エクセル画面 マウスポインターの種類 シート数の調節 データの入力法
DB(データベース)のおはなし 作成者:小野正広 DBと言っても、  ドラゴンボール ではないですぞ! 3/1/2017.
ソフトウェア工学特論III 第10回 その他の図 情報通信工学専攻 GM11013 堀江 真史
リレーショナル・データベース データベース論 第10回.
アルゴリズムとプログラミング (Algorithms and Programming)
記 憶 管 理(1) オペレーティングシステム 第9回.
Androidアプリを公開する方法.
Shimatterシステムの 初期モデルの正規化
IGD Working Committee Update
Excel による データベース入門 Ver /9.
クラスその2∽(アドバンス)∽ 福岡工業大学  梶原 大慈       .
実証分析の手順 経済データ解析 2011年度.
主キーと主要属性の定義.
第5章 データベースの設計 5.1 データベース設計の概要 5.2 ERモデルとスキーマ設計 5.3 正規化 5.4 一貫性制約.
実行時のメモリ構造(1) Jasminの基礎とフレーム内動作
エクセル(1)の目次 起動法、ブック、シート、セル ブックの開き方 エクセル画面 マウスポインターの種類 シート数の調節 データの入力法
データモデリング トップダウンモデルと ボトムアップモデルの融合
ユースケース図 FM12012 比嘉久登.
データモデリング CRUD分析.
ASP.NET開発標準化を考えてみよう! わんくま同盟 東京勉強会# /03/15 mxb & 片桐継.
ASP.NET開発標準化を考えてみよう! わんくま同盟 東京勉強会# /03/15 mxb & 片桐継.
CHAPTER1 UMLとオブジェクト指向の基本概念(2)
3-3 クラス図の関係その2.
データベース.
UMLの概要と オブジェクト指向の 基本概念
ユースケース図2-4~ FM11012 中島拓也.
UML入門 UML PRESS vol.1 より 時松誠治 2003年5月19日.
SGMLについて 2年8組  原口 文晃.
UMLとは           032234 田邊祐司.
ケータイの使い道に関心を 子どもがケータイをどのように使っているかご存知ですか?
データベース設計の基礎 HN おいろん.
情報処理1~第12回~ 野中良哲.
データベース設計 第2回 データベースモデル(1)
シミュレーション論 Ⅱ 第14回 まとめ.
その他の図 Chapter 7.
UMLの概要とオブジ工クト指向の基本概念 第2回
独習XML 第2章 XML文書の構成要素 2.1 XMLの文字と文字列 2.2 コメント
データモデリング 情報システム学科 島川 博光.
テーブル設計を後から変更 現場で使える小技のご紹介 株式会社ジーワンシステム 生島 勘富(イクシマ サダヨシ)
日本の表音文字(ひらがな、かたかな)と漢字
11.3 酒屋の在庫問題(8) ユースケース 仕入販売支援システム 11. モデリング 受注する 入庫を記録する 在庫を引き当てる 受付係
データモデリング モデルの基本作法.
3-1.文書と構造 3-2.整形式文書と検証済み文書 兒玉 光太郎
3.リレーショナルデータベース,主キー, SQL
データモデリング エンティティの切り出し.
1-3 UMLの図(ダイアグラム) コンポーネント図 システムの物理的な構成を表現 ソフトウェアコンポーネントの依存性を表現
コンピュータにログイン 第1章 コンピュータにログイン 啓林館 情報A最新版 (p.6-13)
第2章・補足 ソシュールの言語学 構造主義と記号論 記号の恣意性.
第4章 データ構造 p.82 [誤] ハミルトニアン経路問題  [正] ハミルトン閉路問題 p.82,83 [誤] セールスパーソン問題
E-R図 井上卓也.
★C++/オブジェクト指向実践企画★ Othelloゲーム作成
ソフトウェア工学 知能情報学部 新田直也.
発表会用テンプレート このテンプレートの枚数で発表をすれば、ほぼ15分で終了するであろう。
サブゼミ第7回 実装編① オブジェクト型とキャスト.
リレーショナル・データベース J2EE I (データベース論) 第2回 /
データ中心システム設計方法論“DATARUN” 
モグラたたき.
ソフトウェア工学 知能情報学部 新田直也.
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
関数と再帰 教科書13章 電子1(木曜クラス) 2005/06/22(Thu.).
情報処理Ⅱ 第2回 2004年10月12日(火).
第10回 関数と再帰.
第3章 関係データベースの基礎 3.1 関係とは 3.2 関係代数.
計算機プログラミングI 第2回 2002年10月17日(木) 履習登録 複習 ライブラリの利用 (2.6-7) 式・値・代入 (2.6-8)
計算機プログラミングI 第10回 2002年12月19日(木) メソッドの再定義と動的結合 クイズ メソッドの再定義 (オーバーライド)
Presentation transcript:

データモデリング ネーミング標準とドメイン データモデリング ネーミング標準とドメイン

なぜ、ネーミング標準が必要か 大きなシステムは複数人でモデリング それぞれが勝手な名前付けを行うと整合性がとれない。 異音同義語(シノニム synonym) 同じ実体を別の言葉で表現 同音異義語(ホノニム homonym) 異なる実体を同じ言葉で表現 こっちのほうが厄介

DBMe書店での同音異義語 異なる実体であることがある。 贈り物の場合

住所の他に電話番号や郵便番号も

Quiz: なぜ同音異義の属性があっては困るのか? オブジェクト指向の世界では、オブジェクトの名前が違えば、インスタンス変数の名前は同じものがあってもよいはず オブジェクト指向DBでなく、関係DBだから 複数の開発者で必ず一意に属性を識別するため 開発者とユーザとの意識を統一するため Join が ある から

[補助] なぜ,joinがあると困る? Joinでは異なる表の中の属性が1つの表にに結合される 名前 住所 電話番号 顧客 お届け先 名前 住所 電話番号 名前 住所 電話番号 送り主とお届け先の対応 名前 住所 電話番号 これでは,どれがプレゼントの送り先かわからない

名前の付け方がまちまちでも困る 実際にあった話 高齢者見守りのユビキタス・システム開発時 状況キャッシュの省略形がJC 抽象状態(Abstract Condition) エリアの管理者(Area Concierge) ともに省略形が AC,名前は同じだが実体は異なる 状況キャッシュの省略形がJC 状況は英語で situation だから SC のはず ちょっと,英語のセンスが疑われる!

ネーミング標準の策定 名前の付け方をプロジェクトで統一する 紹介するのは3つを組合わせる古典的方法 用語集(辞書)をプロジェクトで作成 主要語(Prime):定義したい対象 修飾語(Qualifier):主要語を補足 分類区分(Class):ドメイン 用語集(辞書)をプロジェクトで作成 ドメインは、すべてのプロジェクトに共通のものを作っておく 欠点は、安易な用語の組合せに陥りやすい ホノニムはなくなってもシノニムはなくならない

Quiz: なぜ,シノニムはなくならない 同じものに多くの違う名前を付けてしまうのは? ○ ネーミング標準は標準であって,これを守らなければ処罰されるというほど厳しいものではないから ネーミング標準,つまり,ルールが決まっているので,命名の責任をルールのせいにして,意味を考えずに名前を付けてしまうから ネーミング標準は,プロジェクトごとに決めるので,常に正しいルールになっているとは限らないから 元来,人間は自分だけの名前を付けたがるから ○

論理名ネーミングルール 主要語、修飾語、分類区分語の組み合わせでデータ項目名を作る 日本語では(修飾語)+主要語+分類区分語 単語は必ず、プロジェクトの用語集に登録されているものを使う。 ない場合は登録する 各単語の英語を用意しておき、物理データ項目はこの英語で作る。

論理名ネーミングルールに 少しは融通を利かせるために 主要語は修飾語として使ってもよい 複数の主要語と修飾語の組み合わせで、新たな修飾語を作ってもよい 修飾語は、用途ごとに分類しておくと便利 種別修飾語 場所修飾語 状況修飾語 など

ドメイン データの型や取りうる値・範囲の規定 C言語などの型よりも抽象度の高いデータ型 データモデリングでは強力な武器になる 1月は1日から31日まで 預金は、普通、当座、総合しかない Excelのセルの書式機能に似ているが,ドメインは自分で決めるもの データモデリングでは強力な武器になる 分類区分(ドメイン)をデータ項目名につけると、データの素性がひと目でわかる ドメインを決めることであいまい性がなくなり、分析が進む

[補助]データの素性がわかると… 属性名を見ただけで,その属性の値が分かれば,分析が進む 「商品価格」という属性名からは マイナスの値はありえない. 小数点の値もおかしい エンティティ「ショッピング・カート」で 属性「顧客ID」と言うのを見ると,エンティティ「ショッピング・カート」はエンティティ「顧客」を参照していることが分かる 属性「顧客ID」が「ショッピング・カート」の主キーの一部なら, 「ショッピング・カート」は「顧客」に依存していることも判明する.

Excelのセルの書式設定機能

ドメインの種別 コード (主キーに使用されるのがほとんど) 区分 名称 住所 コード (主キーに使用されるのがほとんど) よくある対象を表現する上で、桁数の異なるいくつかのコードを用意する システムごとでコードの型がバラバラにならない 区分 とりうる値の範囲が決まっているもの C言語でいうenumeration機能 名称 分類法がたくさんあり、オブジェクト指向の単一継承では表せない。 漢字とかなの名称、個人名と法人名、などなど 住所 都道府県名、市町村名、地名と番地、建物などに分ける

分析が進むにつれドメインも詳細化 たとえば住所の場合 初期のモデルでは 分析と設計が進むにつれ 顧客住所 顧客住所_都道府県名、顧客住所_市町村名、顧客住所_地名

ドメインと用語集をもとにネーミング ドメインはすでに定義されているものとする データ項目名を構成するための用語集を作っておく データ項目に割り当てるドメイン(データの素性)を見抜く データ項目名を以下の3つの用語に分割する 主要語 修飾語 分類区分(実はこれはドメインだから先に決まっている) この分割のためのルールを決めることがネーミング標準(教科書は因数分解に類似といっている)

DBMe書店の例では エンティティ「顧客」でネーミング標準に従ったデータ項目名の名前付けをすると 「顧客」内のデータ項目名には、顧客を修飾語につける 区分が名前のものには、最後に「○○名」とする 「届け先」「店頭渡し先」でも同様

表6-1