1.データモデルの3種類
Ø 論理モデル記述されたデータとそれに関連する目的のもののは、主に使用されるコンピュータシステムの概念モデル化することであるメッシュモデル、階層モデル、リレーショナルモデルとオブジェクト指向モデルなど、含むDBMSを実装します。
Ø 概念モデルとしても知られている情報モデルは、結果は、主に、ユーザのビューからのデータや情報に基づいてモデル化されるデータベースの設計。
Ø 物理モデルをするためのデータで説明底抽象データでの表現と内部コンピュータシステムへのアクセスの完全なDBMSによって実現されます。
データとその関連性を記述するためのデータ・モデルの2つの主な機能。これは3つの基本要素、すなわち、データ構造、データ制約、データ操作から成ります。
2.データモデルの基本要素
2.1データ構造
定義:静的特性データ、オブジェクト型のコレクションをされ研究されています。
カテゴリー:
Øデータオブジェクトを記述する
•定義:関連する記述データ、コンテンツタイプのオブジェクトのプロパティ、など
•キーのオブジェクトが含まれている識別し、名前付きアイテム、データ型と値の範囲と他の項目と指摘しました。
オブジェクト間の関係を記述するOデータ
•定義:オブジェクトは、情報データとの間の関係を記述するために使用されます
•関係と異なるオブジェクトタイプ間の関係の性質を指定し、これらの関係を命名。
2.2データ操作
定義:すべての操作と様々なオブジェクトタイプのデータベース・インスタンスの関連する動作ルールの集合を実行することを許可されるデータの動特性を説明するために使用されます。
カテゴリー:
Øのお問い合わせ
Ø更新
•更新プログラムは、挿入、削除、および変更が含まれています。
データモデルでは、各属性は、オペレータ言語で実装動作ルールなど、操作をクリアするために定義され。
データの制約2.3
制約は、データ整合性ルールの集合です。整合性ルールが確立されたデータモデルデータとコンディショナルールと依存関係ルールとの関係を指します。これらのルールは、精度、有効性および互換性データを確保するために、状態データベースとデータモデルの変更に沿った方法で定義されています。
三つの要素の2.4役割
データ構造が基本である、それはデータモデルの性質を決定します。
データ操作は、データ・モデルの動的特性を決定するキーです。
主な制約は補助的な役割を果たしています。
3. 4つの主要なロジックモデル
3.1階層モデル
データツリー構造を整理するには、そのデータ構造は、ツリーのルートであります
特徴:
Øルートノードはツリーのルートである、唯一のノードに親がないがあります。
ルートに加えて、O、および他のノードは、唯一の親ノードを有するが、ゼロ個以上の子ノードによって提供されてもよいです。
同じ親を持つ階層モデルにおける子ノードは、子ノードがリーフノードと呼ばれていない、兄弟と呼ばれています。
ツリーのルートの階層では、各ノードがエンティティタイプを表しています。階層モデルのエンティティタイプは、レコード型で表現されるので、ツリーのルートは、各ノードは、実際にはレコードタイプを表します。各レコードタイプノード(ルートノードを除く)唯一の親ノードを有しているため、限り、各ノードが親を示されるように、それは階層モデルとすることができるデータ構造を示しています。あなたが特定のレコードタイプのノードにアクセスする場合は、ルートノードから始まることを見つけるために、関連するルートツリートラバーサルメソッドを使用し、それをアクセスすることができます。
[例]学校は、複数のアカデミー、大学が含まれており、複数の行や研究機関が含まれています。このようにして、部門のエンティティとして学校、大学、および研究機関は、現実の世界では非常に自然な階層を構成しています。階層型モデルは、階層的な関係が生じるのニーズを満たすために正確に記述しました。だから、それは直感的な自然な表現は、ですが、その欠点も明らかです。
学校の階層モデルの組織について図データの例に示すように。
階層モデルデータが主催する学校の例
階層モデルの短所:
•プロセスの非効率性
データ構造はルートから開始する必要があります任意のノードへの階層モデルツリーのルートへのアクセスがあるのでØです。これは、下のノード効率へのアクセスが低くなりますし、それが逆引きのために困難です。
操作を更新することは困難•
Ø更新操作は、挿入、更新、および削除操作が含まれます。このような更新動作のツリーのノードは、ツリーのZhengkeルートに大きな変化をもたらす可能性がある場合。大規模なデータセットの場合、これは重いです。
•セキュリティが良くありません
Øこれは主に、あなたがノードを削除すると、その子や孫ノードが削除され、中に反映されています。したがって、我々は削除を警告しなければなりません。
•貧弱なデータの独立性
Øユーザーデータの物理的構造の知識を必要とし、明示的なアクセス経路である必要は階層的順序でデータを操作するとき。
3.2ネットワークモデル
ネットワークモデル:各データノードによって表されるノード・データベース内のすべてのデータは、複雑なネットワークを構成するように、各ノードは、他のノードとのリンクを有します。図1.3は、図に示したメッシュモデルに編成されたデータの一例です。
図のメッシュモデルに編成1.3例示的なデータ。
データ構造のメッシュモデルは、メッシュ構造です。メッシュモデルは、実世界の実体より複雑な結合を反映しています。以下の特徴から分かるように、スレーブノードとの間に明確な関係が存在しない、ノードは他のノードと複数の接触を有することができます。
機能
Øは、複数のノードに親がない可能。
Øノードは複数の親を持つことができます。
短所:
モデルので、メッシュOを使用する場合、ユーザは、データの論理構造、構造の複雑さに精通して、ユーザクエリを配置することの難しさを増加しなければなりません。
Øように階層のサポートを表明していません。
類似とØ階層モデルでは、各ノードタイプの物理的なネットワーク構造を表し、エンティティタイプのこの種のレコードに示されています。階層が異なる:が1であり、ネットワーク構造内の階層内の唯一のルートノードは、同時に複数の「ルート」を可能にし、各ノードは、階層内の唯一の親ノードを有しますノードのネットワーク構造内(ルートノード以外の)複数を有することが許可されている「親」。
この構成では入出力差は、また、ノードに対応する記録型の構造の変化をもたらしました。親ノードと子ノードの方法が完了する一方であることを指摘しなければならない接触して、ノード間のネットワークモデルを実現します。階層モデルでは、各ノードは、単に、(ルートノードを除いて)その親ノードを指定することができます。メッシュモデルは、自然と機能の著しい変化を生じるようにそれは、この違いのために正確です。柔軟性と階層モデルよりも大きいデータモデリング機能を備えたメッシュモデル:これは主に反映されます。
[実施例]図1.8は、学生A、B及び番組C、D、E間のネットワーク構造科目リンクの図を示しています
少量のデータのために、階層モデルとネットワークモデルの欠点は明らかではないかもしれないが、大量のデータとして使用される場合、欠点は、非常に顕著です。したがって、これら2つのモデルが大量のデータを処理するために、今日は適していませんデータ処理タスクによって特徴付けられます。現在、彼らは、リレーショナルモデルに置き換え、市場から基本的にあります。
3.3リレーショナル・モデル
3.3.1定義
リレーショナルモデル:データベース内の組織データの形で二次元テーブル(表)
リレーショナルモデルは、今日の最も人気のあるデータモデルの一つです。リレーショナル・モデルでは、エンティティ間のリンクは(関係と呼ばれる)二次元関係によって定義され、そのデータ構造は二次元の関係です。それぞれの二次元関係は、2次元テーブルを表すために使用することができ、直感的かつ明確な表現。だから、非常に多くの場合、2次元のテーブルとの関係は、直接、短い(2次元)テーブルのために、同一視。リレーショナルモデルはリレーショナルテーブルの数枚のコレクションです。
例えば、生徒の成績管理システムに関わる学生、カリキュラムや成績3つのテーブル。メインの学生情報テーブルには、カバーされ、学校番号、名前、性別、生年月日、プロ、合計クレジット、ノートです。カリキュラムに関連する主な情報は、コース番号、コース名、学期、時間やクレジットを持っています。主な実績情報テーブルには、カバーされ、学生番号、コース番号と実績があります。表1.1、表1.2および表1.3は、それぞれ、データ管理システム中学校生徒の成績、カリキュラムおよびこれら3つのテーブルの成果の一部を説明しています。
表1.1 Studentテーブル
学生、コース、学年、3つのオブジェクト
テーブルは実体が多くの関係かもしれかもしれ
表1.2カリキュラム
表1.3結果表
例えば、表1.1 「研究は」一意に各学生に識別することができますで、表1.2を一意に各コースを識別することができ、「プログラム番号」。「研究」と一意に各学生にコースのスコアを識別することができ、「コース番号」の表1.3。
時々 、テーブルは、表1.1のように複数のコードを、持っていることが、名前が同じ名前、「研究」、「名前」です学生情報テーブルコードを許可されていません。各テーブルに、コードは、リレーショナルモデルでは、典型的には、マスタコードを強調し、「主」として一般的に指定することができます。
表1.1は、XSBの名前を設定し、リレーショナル・スキーマは、XSB(学生番号、氏名、性別、生年月日、プロ、合計クレジット、ノート)として表すことができます。
表1.2は、名前KCB設定され、リレーショナル・スキーマは、KCB(コース番号、コース名、学期、時間、クレジット)のように表すことができます。
CJB、リレーショナルスキーマの表1.3セット名はCJB(学生番号、コース番号、学年、クレジット)として表すことができます。
3.3.2 用語リレーショナルモデルを
入出力関係:2次元テーブル。
入出力記録(またはコンポーネント):リレーショナル表の行。
Øフィールド(または属性):リレーショナル表。
Øドメイン:そのフィールドの範囲、つまり、フィールドの範囲。
Oデータ項目(またはコンポーネント):レコードのフィールドの値。
Ø主キーフィールド(またはマスターコード):プライマリ・キー、リレーショナル・テーブルのセットまたは複数のフィールドと呼ばれる、これらのレコードの値は、各レコードを一意に識別することができます。
Øリレーショナルスキーマ:形式で記述された関係の抽象記述「名称関係(フィールド1、フィールド2、...、N-フィールド)」、「フィールド1」下線付きフィールドが主キーであることを示しセクション。
特長3.3.3リレーショナルモデル
•厳密な数学的基礎。リレーショナル代数、リレーショナル計算などを合わせ、分離など、およびその関連特性の関係を探求する定性的または定量的分析との間の関係をモデル化するために使用することができます。
•単一、直感的な表現の概念はなく、強力な発現データとモデリング機能を持ちます。一般的には、複数のトピックが一緒に存在する場合の関係にのみ、テーマを表現し、あなたが表現するために、複数の関係で、これは単一の概念であり、それらを分離する必要があります。
•関係が標準化されています。リレーショナルモデルは、いくつかのユニークな特性を示します特定の仕様条件を満たすためにその関係。
順次記録される各フィールドの任意の順序は任意であり、等;同じフィールド値の同じデータ型のフィールドを有し; oは、例えば、リレーショナル・データ・ユニットのデータ・エントリは、それを分解することができない、最も基本的です。
•リレーショナル・モデルでは、データの操作は、操作の集合である、すなわち、操作対象は、演算結果により生成されたレコードの集合体であり、レコードの集まりです。この操作は関係なく、難易度が同じであるか、明確な方向性を持っていません。階層モデルと全く異なる操作の両方向困難で明確な方向性を持つデータの操作のメッシュモデルにおいて。
リレーショナルモデルの欠点3.3.4
複雑な問題をモデル化するØ微力。複雑な問題をモデル化する場合、通常は複雑な関係を示し、リレーショナルモデルは、これらの複雑な関係を表現するために二次元の関係に限定され、それが入れ子になったと埋め込まれた記録を許可していないので、それは(再帰的およびネストされた方法で記述することができません)の関係が設定されています。だから、多くの場合、リレーショナルモデルでは不十分であるように思われました。
Ø表現意味オブジェクト比較的乏しいです。現実の世界では、オブジェクト間の関係は、多くの場合、量との関係に限定されるものではなく、意味論との間のリンクは、特定の意味を暗示反映することができます。結果は不合理セマンティッククエリや他の操作を表示されるように、しかし、リレーショナルモデルの標準化のためにこれらの関係は、不自然な分解が生じ、このセマンティック接続を開くことを強制することができます。
Ø貧しいスケーラビリティ。レコードのみの収集、データ構造とデータ項目をサポートしてリレーショナルモデルでは、記録が形成され、入れ子の関係を入れ子にすることはできません、分割することができないので、メッシュまたは階層モデルのモデルに展開することはできません。そして、それは抽象データ型をサポートしていない、データオブジェクトのさまざまな種類を管理することができません。
3.4オブジェクト指向モデル
オブジェクト指向のメソッド(オブジェクト指向パラダイムは、OOと呼ぶ)の基本的な出発点は、法と分析し、問題を解決するために、世界の人間の理解を思考の方法です。
オブジェクト指向モデルが形成される表現のモデリングとオブジェクト指向の方法のためのデータモデルです。
オブジェクト指向モデルの理論と方法は主に理論的な研究と実験段階で、十分に成熟していないです。
概念モデルの4説明
4.1概念モデル
モデリングデータモデルから、一般的には、情報の世界における概念モデルとしてモデル化まず、現実世界の問題、機械の世界の論理モデルへの情報の世界では、その後の概念モデルです。
確認概念モデルが完全に元の問題(現実世界)の時間を表現することができた場合、その後、所定のDBMSのデータベースシステムのデータ・モデルにこの概念モデルは、機械世界の論理モデルを形成するためにサポート。
機械変換プロセスの世界に現実の世界からは、図1.9に表現することができます。
4.2およびそれに関連するエンティティ
1.コンセプト
エンティティがあると客観的に存在する各他のすべてのものと区別することができます。
エンティティの特性は特性を有する実体を意味します。
Øの例:学生がなど名前、性別、パフォーマンス、として、エンティティであるエンティティの属性です。
コードとしても知られ、キーワードは、それが1つ以上の属性のコレクションです。
Ø例:学生IDは、学生主体のコードです。
ドメインプロパティは、値の範囲の性質をいいます。
Ø例:生徒の成績は、ドメインエンティティです。
エンティティタイプは、名前のエンティティのコレクションを参照し、エンティティは、エンティティの同じタイプを記述するための共通の名前を属性です。
Ø例:学生(学生のID、氏名、性別、出生地、達成は)エンティティタイプです。
エンティティセットはエンティティのコレクションです。
接触
Øの定義
•情報の世界に反映されるものとの間の関係(現実世界)を指します。
Ø二つのタイプ
•物理的に接触し、エンティティ間の内部リンク。
Ø接触タイプの3種類
A及びBは、設定された2つのエンティティを表すと仮定する
•で示さ連絡先1(1:1)。
•連絡先など、多くの記録(1:N)。
•(M:N)で表さ多くのリンクに多くの。
情報の世界の概念モデルに現実の世界で本当の問題は、どのようなこの概念モデルを記述する場合は?
データベース理論、通常ER図は、エンティティタイプ、プロパティおよび接触の方法の表現を提供する概念モデルを記述する場合。
4.3デザインコンセプト
实体集中的实体彼此是可区别的。如果实体集中的属性或最小属性组合的值能唯一标识其对应实体,则将该属性或属性组合称为码。对于每一个实体集,可指定一个码为主码。
如果用矩形框表示实体集,用带半圆的矩形框表示属性,用线段连接实体集与属性,当一个属性或属性组合指定为主码时,在实体集与属性的连接线上标记一斜线,则可以用图1.4描述学生成绩管理系统中的实体集及每个实体集涉及的属性。
\主键
4.3.1 E-R图
1.实体及其属性的表示
【例子】 对于一个实体型——学生(学号,姓名,成绩),其E-R图如图1.10所示。
注意:实体图ER图可以分开
2.实体型之间联系的表示
两个实体型之间联系的表示
多个实体型(三个或三个以上)之间联系的表示
Ø 三个实体型A、B、C之间联系表示为(m:n:o),其中m,n,o > 0。
【例子】 对于供应商、仓库和零件,由于一个供应商可以提供多种零件并存放在不同仓库中,而一种零件也可以由多个供应商提供并存放在不同仓库中,同时一个仓库也可以存放不同供应商提供的多种零件。所以供应商、仓库和零件之间的联系是多对多联系,其E-R图可以用图1.12表示。
3.实体型内部联系的表示
同一个实体型内部实体的三种联系对应的E-R图,分别如图1.13的(a)、(b)和(c)所示。
【例子】 职工实体型中的实体具有领导与被领导的联系,这种联系是一对多联系,可以用图1.14表示。
4.联系属性的表示
联系的属性的表示方法与实体的类似
Ø 对于供应商和仓库之间的联系(库存),其属性(库存量),可以表示如图1.15所示。
总结
利用实体、属性和联系及其之间关系的表示方法可以将现实世界中的复杂问题抽象成为信息世界中的概念模型。
概念模型通常是用E-R图表示的,E-R图的设计过程就是对问题进行抽象和建模的过程。