主キーと主要属性の定義.

Slides:



Advertisements
Similar presentations
第1章 ネットワークとコミュニケーション 第2節 ネットワークのしくみ 2 ネットワークを支える技術 (教科書 p36 ~ p37) 今日の用語  モデム (modulator/demodulator:modem)  IP アドレス (internet protocol address)  ドメインネーム.
Advertisements

3.家庭で考えよう 「スマホのルール」. あるドラマを見ながら、スマホのルール について考えていきます。 本日の予定 スマートフォンはスマホは便利な道具で ある一方、危険なこともあります。
データベース. レシートを見てみよう コンビニやスーパーで買物をするときの レシートを見てみよう – 何がかいてあるだろうか? – レジで全部打ち込んでいる? – なぜ、打ち込まないのにレシートには商品名 や価格が出てくるの?
データベースの基礎知識 ACEESS の基本操作. データベースの基礎知識 データベース  特定のテーマや目的に毎のデータの集合体 データベースソフトウェア  データベースを作成、管理するソフトウェアの総 称 Oracle(Oracle) IBM(DB2) Microsoft(SQL Server)
データモデリング ボトムアップ分析. ボトムアップ分析の手順 トップダウン分析の結果とは別に実施 画面や帳票イメージからモデル化 ①画面や帳票を集める ② Excel などのワークシートで,エンティ ティ,データ項目名を決める ③ドメインを定義し,データ項目に割り当 てる ④正規化を実施 ⑤発生タイミングでエンティティを分離.
2017/2/26 情報処理 第5回.
実践!DB逆設計 ~レシートからER図を起こす~
エンティティ・リレーションシップ・モデル
DB(データベース)のおはなし 作成者:小野正広 DBと言っても、  ドラゴンボール ではないですぞ! 3/1/2017.
ソフトウェア工学特論III 第10回 その他の図 情報通信工学専攻 GM11013 堀江 真史
E-Testing 問題 戸田正明(上越・春日小).
【セッション予約日時、価格等の新規登録】
Androidアプリを公開する方法.
Shimatterシステムの 初期モデルの正規化
MySQLに接続するデータベースプログラム
第5章 データベースの設計 5.1 データベース設計の概要 5.2 ERモデルとスキーマ設計 5.3 正規化 5.4 一貫性制約.
Accessによる SQLの操作 ~実際にテーブルを操作してみよう!~.
Accessによるデータベース(3) Ver /11.
データモデリング トップダウンモデルと ボトムアップモデルの融合
情報は人の行為に どのような影響を与えるか
ユースケース図 FM12012 比嘉久登.
データモデリング CRUD分析.
クイズ 「インターネットを使う前に」 ネチケット(情報モラル)について学ぼう.
●レポートを書くこと→主張の根拠を示して、他の人を説得するため ●最初から順に読んで分かるように書く ●
     年  月  日 名前 太郎 1 班.
データベース.
第7章 データベース管理システム 7.1 データベース管理システムの概要 7.2 データベースの格納方式 7.3 問合せ処理.
事業の全体概要図イメージ例 事業区分:①新たなヘルスケアサービス創出支援事業 コンソーシアム等名称; 1-① 事業の背景・目的
ユースケース図2-4~ FM11012 中島拓也.
2017/4/9 情報処理 第5回.
コンピュータ・リテラシーb 第10回 Excel によるグラフ作成.
ユースケース オブジェクト指向の要求分析のためのモデル。 スウェーデンのイヴァー・ヤコブソンが1990年代前半に開発。
14.テーブル定義,一対多の関係,多対多の関係, 外部キー,索引(インデックス),データベース操作
マイクロソフト Access を使ってみよう 第5回
マイクロソフト Access での SQL 演習 第1回 SQL問い合わせ(クエリ)
マイクロソフト Access を使ってみよう 第4回
データベース設計の基礎 HN おいろん.
プログラミング 設計資料 メンバー:.
ホームページ作成・更新講座 夏のコンピュータ学習会 画像
データベースシステム入門 8.異状,正規化による異状の防止
~手続き指向からオブジェクト指向へ[Ⅱ]~
データモデリング ネーミング標準とドメイン
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
明日の授業でも作成を継続する予定です 2017/11/13、2017/11/14
リファクタリング支援のための コードクローンに含まれる識別子の対応関係分析
     年  月  日 名前 太郎 1 班.
     年  月  日 名前 太郎 x 班.
データモデリング 情報システム学科 島川 博光.
~新たなソフトウェア開発の手法~ 発表 土屋俊介
Shimatterシステムの トップダウン分析
オープンソース開発支援のための リビジョン情報と電子メールの検索システム
マイクロソフト Access を使ってみよう 第2回
インタラクティブ・ゲーム制作 プログラミングコース 補足資料
データモデリング モデルの基本作法.
マイクロソフト Access を使ってみよう 第3回
3.リレーショナルデータベース,主キー, SQL
データモデリング エンティティの切り出し.
コンピュータにログイン 第1章 コンピュータにログイン 啓林館 情報A最新版 (p.6-13)
14.外部キー,データ分析,データベース設計
第4章 データ構造 p.82 [誤] ハミルトニアン経路問題  [正] ハミルトン閉路問題 p.82,83 [誤] セールスパーソン問題
E-R図 井上卓也.
本日のスケジュール 14:45~15:30 講義 15:30~16:15 企画書レビューシート記入 16:15~16:30 休憩
データベース設計入門 初音玲.
データベース設計入門 初音玲.
卒業研究 JCSPを用いたプログラム開発  池部理奈.
磯野ー!そんなことより 正規化しようぜー!
貴社の パンフレット ここには 貴社の社是を 記入します
データベース第3回目 意味ごとにテーブルを分ける
情報処理Ⅱ 2007年12月3日(月) その1.
Webデザイン入門  顧客へのメール.
Presentation transcript:

主キーと主要属性の定義

Quiz: ER図でのエンティティの位置 ER図の役割は,エンティティやその間の関連を正確に第三者に伝えることが第一であるから,ER図が詳細化されて図が分かりにくくなってくれば,エンティティの配置を変えて分かりやすいようにするべきである. ○か×か

エンティティの配置ルール いままでのER図では 最初に決めた配置ルールはできるかぎり,途中で変えない. イベント系エンティティは発生順に左から右へ リソース系エンティティはその周りへ リレーションシップを表す線が交差しないように 最初に決めた配置ルールはできるかぎり,途中で変えない.

エンティティの配置ルールの例 2つの方針 イベントに付帯するリソースを回りに配置 リソースを上に,イベントを下に イベントを発生順に並べる. イベントに付帯するリソースを回りに配置 リソースの中は,人,物,顧客,金銭などのタイプごとに分けて配置 数が多くなれば,サブジェクトごとに図を分ける

サブジェクト(図5-1)

配置ルールは指針 ルールがないと… ルールに厳格になりすぎると… どこまで拘るかはセンスの問題 ルールを指針として設け,守るように努める. 複数のモデラが分担してモデリングする場合,モデラにより異なる配置の図ができ,統合が困難. ルールに厳格になりすぎると… 線が交差し分かりにくい.それでは元も子もない. どこまで拘るかはセンスの問題 ルールを指針として設け,守るように努める. 異なる配置を取ると印象が変わる 混乱を避けるため,配置はできるだけ変えない

イメージが変わる例 (イベントとリソースは色分け)

イメージが変わる例

主要な属性の定義 切り出したエンティティを具体化しよう 主要な属性をエンティティに追加 ここで実施するのは,あくまでトップダウン 「この属性はあるはずだ」でよい すべての属性を見切るのが目的でない 属性名もDB構築時の正確性は必要ない. 正式な属性名はネーミング規則に則って付けるべき 仮の名前を付けておく

Quiz: 正確な名前を付けないのは? トップダウン・モデリングで正確な名前をつけないのはなぜ? 詳細に拘らず,まずは全体を一望する図をつくることが肝心だから 正確な名前を付けるためのソフトウェアが開発されているから 後のモデリングにより,名前が修正される可能性があり,いま名前で悩むのは時間の無駄だから ○

前回の図4-12を 書籍販売サイトの画面を見ながら エンティティの具体化をしてみる

エンティティの属性として思いつくのは 「思いつく」 でよい 「商品」エンティティでは 「顧客」エンティティでは 「思いつく」  でよい 「商品」エンティティでは ISBN,作者,ページ数,価格,刊行日, などなど 「顧客」エンティティでは Emailアドレス,電話番号,住所,顧客名 各エンティティの具体的イメージを 大まかにつかむ ことが重要

主キー候補の選定 主キー Quiz: 「データベース」の教科書では主キー候補のことを エンティティ内のインスタンスを一意に識別する属性 候補キー キー候補 キー候補属性 正解は  候補キー

主キー選定の手順 抽出した属性の中から主キー候補を選択 その中から選定基準に則って1つに絞る 最初に抽出した属性(の組合せ)だけではうまくいかないときは, 新たなキー属性をデータベース管理者がつくる 代理キー(Surrogate Key): データベース管理者がつくるコードのこと

主キーの選定基準 値が変わらないもの できるだけ桁数の少ないもの 複合キーの場合,連結が多くないもの 必ず存在するもの せいぜい,5つまで  NULL を許さない

[補助] 値が変わると?NULLなら? 値が変わると, NULLを許してしまうと そのエンティティを参照している部分を全て書き換える必要がある. 実質的にデータベースの作り直りが必要 NULLを許してしまうと 主キーは,インスタンスを一意に識別するキー NULLだと,一意に識別できない

「顧客」エンティティの例 短いものとしてはemailアドレス emailアドレスは変わる可能性あり(ex. プロバイダ変更)

概念モデルでは具体的イメージ 必要そうな エンティティを切り出す エンティティ として存在するに違いない とおもう属性を切り出す 必要そうな エンティティを切り出す エンティティ として存在するに違いない とおもう属性を切り出す エンティティも属性も  具体的イメージをつかめるものにとどめる  ことが大切

主キーとしてのコード どうしてもだめなら,コードの使用もやむなし 意味なしコードと意味ありコード

意味なしコードと意味ありコード コードにおまじないのような意味を持たせるのはモデルの美しさをなくすだけ それでも意味ありコードのほうが用いられている. 現実解 意味ありコードを用いる 意味を示す属性は別に用意する

モデルの見直し: 概念モデルで,エンティティを抽出した段階では,間違いもある. 属性を追加し,主キーを決めると間違いが見えてくる

顧客とクレジット会社 顧客が複数のクレジット会社に加入していて,クレジット会社は一人の会員だけが加入していることになってしまっている. 本当は,顧客とクレジット会社は,多対多の関係 「会員」エンティティを追加

[補助] どうして,クレジット会社の会員は一人? カージナリティを考えよう ●がついている方が多,ついていない方が1 顧客 クレジット会社

本当は多対多であった 新しく会員を追加することによって ・顧客が複数のクレジット会社のカードを持っていること ・クレジット会社が複数の顧客をもっていること を示せる

顧客,ショッピングカート,商品 誰のショッピングカートで,何を買ったのかが不明 誰のショッピングカートかを示すため, ショッピングカートから顧客への依存関係 何を買ったかをしめすため ショッピングカートから商品への非依存関係 ショッピングカート明細を追加

これだけでは, ・誰のショッピングカートか ・何を買おうとしているか が不明 こうすると, ・誰のショッピングカートに ・どの商品を何個 買おうとしているかが分かる

いままでの修正をまとめると 図5-9 PPTに入りきらないので,教科書を見てください.