データベースシステムの原則(1)データと接続およびトランザクションの特性


データベースの定義:データベース(DBと呼ばれるデータベース)は、コンピューター内に長期間存在する、整理された共有の大きなデータコレクションです。

データベースの特徴:

  • データは、特定のデータモデルアドレスに従って記述および格納されます。
  • さまざまなユーザーと共有できます
  • 冗長性が少ない
  • 高いデータ独立性
  • 拡張が簡単

構造化クエリ言語

構造化クエリ言語は6つの部分で構成されています。

  1. データクエリ言語(DQL:Data Query Language):「データ検索文」とも呼ばれるその文は、テーブルからデータを取得し、アプリケーションでデータがどのように与えられるかを決定するために使用されます。予約語SELECTは、DQL(およびすべてのSQL)で最も頻繁に使用される動詞です。DQLで一般的に使用される他の予約語には、WHERE、ORDER BY、GROUP BY、HAVINGなどがあります。これらのDQL予約語は、他のタイプのSQLステートメントでよく使用されます。
  2. データ操作言語(DML:Data Manipulation Language):その文には、動詞INSERT、UPDATE、DELETEが含まれます。これらは、それぞれ追加、変更、削除に使用されます。
  3. トランザクション制御言語(TCL):そのステートメントは、DMLステートメントの影響を受けるテーブルのすべての行が時間内に更新されるようにします。COMMIT(送信)コマンド、SAVEPOINT(ポイントの保存)コマンド、ROLLBACK(ロールバック)コマンドを含みます。
  4. データ制御言語(DCL):GRANTまたはREVOKEを使用して、データベースオブジェクトへの個々のユーザーおよびユーザーグループのアクセスを決定するアクセス制御を実装します。一部のRDBMSは、GRANTまたはREVOKEを使用して、テーブルの単一の列へのアクセスを制御できます。
  5. データ定義言語(DDL):その文には、CREATE、ALTER、DROPという動詞が含まれています。新しいテーブルの作成、またはデータベース内のテーブルの変更または削除(CREAT TABLEまたはDROP TABLE)、テーブルへのインデックスの追加など。
  6. ポインター制御言語(CCL):そのステートメント(DECLARE CURSOR、FETCH INTO、UPDATE WHERE CURRENTなど)は、1つ以上のテーブルの個々の行を操作するために使用されます。

(百度百科事典より)

データと連絡先

データの抽象化

  • 物理層:データが実際にどのように格納されるかを記述する、最低レベルの抽象化。
  • 論理層:データベースに格納されているデータとこれらのデータ間に存在する関係を記述する、物理レベルよりもわずかに高い抽象化レベル。
  • ビュー層:最高レベルの抽象化ですが、データベース全体の特定の部分のみを記述します。これにより、ユーザーはシステムを簡単に操作できます。

データ・モデル

データモデルは、実際のデータの特性を抽象化したもので、一連のデータの概念と定義を記述するために使用されます。データモデルは、データベース内のデータの保存方法であり、データベースシステムの基盤です。データベースでは、データの物理構造は、データのストレージ構造とも呼ばれます。これは、コンピューターメモリ内のデータ要素の表現と構成です。データの論理構造は、ユーザーまたはプログラム内のデータであるデータ要素間の論理関係を指します。スタッフの前での表現の形式、データのストレージ構造は、論理構造と一致しない場合があります。データモデルの3つの要素:データ構造、データ操作、データ制約。

1.概念データモデル
  これは、データベースユーザー向けの実際のデータモデルです。主に、世界の概念構造を説明するために使用されます。これにより、データベース設計者は、設計の初期段階でコンピュータシステムとデータベース管理システムの特定の技術的な問題を取り除くことができます。特定のデータベース管理システムとは何の関係もない、データとデータ間の接続の分析に集中します。概念データモデルは、データベース管理システムに実装する前に、論理データモデルに置き換える必要があります。例:ERモデル

2.論理データモデル
  これは、ユーザーがデータベースに表示するデータモデルです。特定のデータベース管理システムでサポートされるデータモデルです。主に、ネットワークデータモデルには、階層データモデルとリレーショナルデータモデルの3つのタイプがありますこのモデルは、ユーザー指向およびシステム指向である必要があり、主にデータベース管理システムの実現に使用されます。データベースでは、データモデルは、主にデータの論理構造を研究するために、現実世界のデータと情報を抽象化、表現、および処理するために使用されます。

3.物理データモデル
  これは、ストレージメディア上のデータの組織構造を記述するデータモデルであり、特定のデータベース管理システムだけでなく、オペレーティングシステムやハードウェアにも関連しています。各論理データモデルには、実装時に対応する物理データモデルがあります。データベース管理システムは、その独立性と移植性を確保するために、物理データモデルの実現作業のほとんどをシステムに割り当てて自動的に完了し、設計者はインデックスや集計などの特別な構造のみを設計します。

3種類の論理データモデル

1。階層モデル(階層)
  階層モデルは、データベースシステムで使用される最も初期のモデルの1つであり、そのデータ構造は「有向ツリー」です。ルートノードは一番上にあり、レベルは最も高く、子ノードは一番下にあり、レイヤーごとに配置されています。階層モデルの特徴は次のとおりです。

(1)親ノードのないノードが1つだけある場合、それはルートノードです。
(2)他のノードには、親ノードが1つだけあります。図は、部門の教育行政管理レベルのデータモデルを示し、図(a)はエンティティ間の接続を示し、図(b)はエンティティタイプ間の接続を示します。ここに画像の説明を挿入
2.ネットワークモデル(Network)
  ネットワークモデルは、ネットワーク構造を持つエンティティ間の接続を表現します。ネットワーク内の各ノードはレコードタイプを表し、接続はリンクポインタによって実現されます。メッシュモデルは、複数の従属関係の接続を表すことができ、データ間の相互関係、つまりデータ間の水平および垂直の関係も表すことができます。これは、階層モデルの拡張です。メッシュモデルはさまざまなタイプの接続を簡単に表現できますが、構造が複雑であり、実装されたアルゴリズムを標準化することは困難です。その特徴は次のとおりです。

(1)ノードは複数の親ノードを持つ
ことができます; (2)親ノードなしで複数のノードが存在する可能性があります。
ここに画像の説明を挿入
3。関係
  関係モデルは、2次元のテーブル構造を使用してエンティティ間の接続を表現し、関係の数学的理論に基づいています。リレーショナルモデルのデータ構造は、「2次元テーブルフレームワーク」のコレクションです。各2次元テーブルは、リレーションシップとも呼ばれます。リレーショナルモデルでは、オブジェクトと操作の結果は2次元のテーブルです。リレーショナルモデルは、現在最も人気のあるデータベースモデルです。リレーショナルモデルをサポートするデータベース管理システムはリレーショナルデータベース管理システムと呼ばれ、Accessは一種のリレーショナルデータベース管理システムです。この図は、単純な関係モデルを示しています。図(a)は関係モデル、図(b)は2つの関係モデル間の関係を示しています。関係の名前は、教師関係とカリキュラム関係です。それぞれの関係は、 3つのタプルが含まれ、メインコードは「教師番号」です。ここに画像の説明を挿入
(1)説明の一貫性は、関係を使用してエンティティ自体を説明するだけでなく、関係を使用してエンティティ間の関係を説明します;
(2)多対多の関係を直接表現できます;
(3)関係は標準化された関係でなければなりません各属性は不可分なデータアイテムであり、テーブルにテーブルを入れることはできません。
(4)リレーショナルモデルは数学的概念に基づいており、強力な理論的根拠があります。

リレーショナルモデルの基本的なデータ構造は2次元のテーブルで、階層やメッシュのようなリンクポインターはありません。レコード間の関係は、異なる関係にある同じ名前の属性によって反映されます。たとえば、「Liu Jin」先生が担当するコースを検索するには、まず、教師関係の名前から教師番号「1984030」を検索し、次に、コース関係の教師番号「1984030」に対応するコース名を検索します。上記のクエリプロセスを通じて、同じ名前の属性の教師番号は、2つの関係間のリンクとして機能します。リレーショナルモデルの各リレーショナルモデルは分離されるべきではなく、ランダムに組み立てられた2次元のテーブルの山でもないので、対応する要件を満たしている必要があります。関係は、タプルのコレクションである2次元のテーブルです。関係フレームは、関係の属性名のテーブルです。正式な式は次のとおりです。R(A 1、A 2、...、A n)。Rは関係の名前、Ai(i = 1、2、...、n)は関係の属性の名前です。関係は公開属性を介して接続されますたとえば、図には2つのリレーションが示され、2つのリレーション間の接続は、「教師番号」という共通の属性によって実現されます。
  リレーショナルデータベースは、リレーショナルモデルに対応するすべての関係のコレクションを指します。たとえば、教育行政管理のリレーショナルデータベースには、教師関係、カリキュラム関係、学生関係、クラス関係、学年関係などがあります。

MBAシンクタンク百科事典からの参照

データ項目間の接続

データ項目間の接続には、1対1、1対多、および多対多の3つのタイプがあります。
AとBの2つのデータ項目があります。
1対1(1:1):Aに値を指定します。それに関連付けられているB値は1つだけです。BにBの値を与えます。それに関連付けられているAの値は1つだけです。
1対多(1:M):Aに値を指定します。ゼロがあり、1つ以上のB値が関連付けられています。ただし、Bの値の場合、それに関連付けることができるのはAの値1つだけです。
多対多(N:M):Aの値の場合、ゼロ、Bの1つ以上の値が関連付けられます。Bに値を与えると、Aとそれに関連付けられた値のゼロ、1つ以上の値があります
ここに画像の説明を挿入

記録された値間のリンク

レコードタイプ間の接続は、ある意味で2つのエンティティクラス間の抽象的なデータ関係を表し、レコード値間の接続は、この関係の具体的な現れです。レコード値間の関係とデータアイテム間の関係には3つの関係があり、定義は同じです。

トランザクション特性(ACID)

  1. 原子性
    (1)トランザクションに含まれるすべての操作が実行されるか、まったく実行されない
    (2)原子性は、回復メカニズムによって実現されます。

  2. 一貫性
    (1)トランザクションを分離して実行することにより、データベースの一貫性を確保する必要があります
    (2)トランザクションが開始する前は、データベースは一貫した状態にあり、トランザクションが終了した後も、データベースは一貫した状態にある必要があります
    (3)データベースの一貫性ステータスはユーザーの責任であり、同時実行制御メカニズムによって実装されます
    (4)トランザクションプロセス中に一時的な不整合が許可されます
    (5)例:銀行振込、振替の前後の2つの口座間の合計は変更されないままにする必要があります

  3. 単離
    (1)システムは、トランザクションが他の同時に実行されるトランザクションによって影響されないことを保証しなければならない
    トランザクションTの任意の対(2)1、T 2からの視点T 1、T 2がいるいずれかの前に終了したT 1を開始する、またはT 1の完了後に実行を開始します
    (3)同時実行制御メカニズムにより分離が実現されます

  4. 永続性
    (1)トランザクションがコミットされると、データベースへの影響は永続的である必要があります
    (2)システム障害がトランザクションの
    永続性を変更することはできません(3)永続性は回復メカニズムによって実現されます


オーバーオーバーオーバーオーバーオーバーオーバーオーバーオーバーオーバーオーバーオーバーオーバーオーバーオーバーオーバーオーバー

おすすめ

転載: blog.csdn.net/qq1350975694/article/details/107144857