データベース
-
3 値モード 2 値画像
- 外部モード(ユーザーモードのサブモード)=「ビュー」、概念モード(モード)=「基本テーブル」、内部モード(ストレージモード)=「ストレージファイル」
- 外部スキーマ/スキーマイメージ(論理的独立)、スキーマ/内部スキーマイメージ(物理的独立)
-
リレーショナルスキーマ
- タプル (行) レコード、属性 (列) 最初の行は属性名で、その後に属性値 (データ項目) が続きます。
- 候補コード(候補キー)はタプルを一意に識別できる
- 主キー (主キー) 候補キー、主キーとして 1 つを選択します (主キーが候補キーと等しい場合もあります)
- メイン属性: 候補コードに含まれる属性で、非メイン属性としては含まれない
- 外部キー: このリレーションシップの主キーではなく、別のリレーションシップの主キー
- 完全なコード: すべての属性コンポーネントは、このリレーショナル モデルの候補コードです。
- スーパーコード:元の候補コードを元に属性を候補コードとして追加
- リレーショナル モデルは、リレーショナル データ構造、リレーショナル操作のコレクション、およびリレーショナル整合性制約で構成されます。
- 整合性の制約
- Entity Integrity = "メイン属性の値を空または部分的に空にすることはできません
- 参照整合性
- リレーション 1 の外部キー x はリレーション 2 の主キーに対応する必要があり、外部キー x の値はリレーション 1 で見つかるか、空である必要があります。
- ユーザー定義の整合性
- 整合性の制約
-
関係代数演算子
- 集合演算子: 和集合 (1-2 は 1 に属しますが 2 には属しません) デカルト積
- 特殊な関係演算子: SELECT (満たされた行を取得) PROJECT (列を取得) JOIN DIVIDE
- デカルト積を最初に使用して、シアター接続と同等の接続をフィルタリングする必要があります (シンボル =)
- 自然なつながり
- 最初のデカルト積の後で、共通の属性を持つ列を選択します。列がすべて等しい場合、リレーションシップの 1 つの列を削除し、残りは
- 左 (右) 外部結合、最初に自然結合、次に左 (右) レコードを保存します。何もない場合は null になります。
- 完全外部結合、最初に自然結合、次に左結合と右結合
- SQL ステートメントに目を向ける
- 投影は xx から xx を選択します
- 選択肢はxxxの場所です
- デカルト積は R,S から xxx を選択します
- 自然な接続は R,S から xxx を選択します。ここで、xx と xx は同じ列を強制終了します
-
SQL
- SQL言語の分類
- DDL データ定義言語
- 作成 作成 変更 変更 ドロップ 削除
- DML データ操作言語
- S 値 xxx に挿入、S から削除、S セット xxx を更新
- DQL データクエリ言語
- unique は、列にエイリアスを与え、列に続くテーブルのエイリアスが直接取得されるため、重複した列を削除します。
- x と x の間で、xx の間の (xxx) の x のうち 1 つを選択してください
- ファジークエリのような(そうではない)%任意の長さ_単一文字
- order by xxx desc 降順 デフォルトの昇順 asc は最後のステートメントである必要があります
- 集計関数
- 平均 平均 合計 合計 最大 最大 最小 最小
- count(*) 空の行はカウントされません
- グループ化後の条件付きグループ化を持つグループごとのグループは、選択の後に表示される必要があります
- 同等の接続 select * from S (Sx=Cx)
- 左と右は C から結合します 左は条件で S を結合します
- 内部結合外部結合
- 存在するサブクエリ (xxx を選択)
- Union と Intersect は、クエリ構造の操作の違いを除いて交差します。
- DCL データ制御言語
- テーブル S に対する権限 (挿入) をユーザーに付与することを承認します。
- 付与オプションあり
- テーブルユーザーの削除権限を削除 (すべて公開)
- DDL データ定義言語
- SQL言語の分類
-
意見
- ビューは、1 つ以上の基本テーブルまたはビューから派生したテーブルであり、仮想テーブルです。
- 作成 ビューの作成 ビュー名を選択 xxx として作成
- 最後に、この文をチェックオプション付きで追加すると、ビューは更新、挿入、削除になりますが、ビューを定義する際には、where 以降の条件をすべて遵守する必要があります。
-
データベースの内部スキーマを変更するインデックスを作成する
-
リレーショナルスキーマ
- X->YY は X に依存します。 Y に X が含まれていない場合、それは自明ではない依存関係です (通常)。含まれている場合、それは自明ではありません。
- X–f–>YY X のサブセットの完全な機能依存関係を Y から独立して導出することはできず、1 つのプッシュが完了する必要があります。
- X-p-YY 部分 (ローカル) 関数は X および Y のサブセットに依存し、推定可能
- X->Y Y->Z X->Z 伝達関数の依存関係を取得
-
クロージャーは左側の文字のみを検索して U を解放できるかどうかを確認します。解放できない場合は、U が解放されるまで左側と右側の両方に文字を追加します。
-
パラダイム
- 第一正規形: 各アトミック項目は分割不可能なデータ項目です
- データの冗長性や更新例外 (挿入と削除) などの問題を排除できず、部分的な機能の依存関係が存在する可能性があります。
- 第 2 正規形 (最初の分解後): 第 1 正規形を満たし、各非メイン属性は機能的に候補キーに完全に依存します (候補キーに対する非メイン属性の部分的な依存を排除します)。
- データの冗長性や更新例外 (挿入と削除) などの問題を排除できず、機能の推移的な依存関係が存在する可能性があります。
- 第 3 正規形 (2 番目は分解し続ける): 第 2 正規形を満たし、各非主属性は候補コードに依存する非伝達関数です (候補コードに対する非主属性の推移的依存を排除します)。
- コード上の主要属性の部分的な関数依存および推移的な依存が存在する可能性があります (削除は BCNF)
- 第 4 正規形: X->->Y 多値依存関係。X には、第 4 正規形である R の候補コードが含まれています
- 多値の依存関係に対する自明ではない依存関係や非機能的な依存関係を排除する
- 第一正規形: 各アトミック項目は分割不可能なデータ項目です
-
データベース設計
- 6つのステップ
- ユーザーニーズの分析 (システム境界を決定するユーザーのニーズを理解する)
- 概念構造設計の基礎として、要件仕様書、データ辞書、データフロー図を確立します。
- 概念設計(ER図)
- 複合属性 ps: 住所は州、市、郡に分割できますが、それ以上分割することはできません。これは単純な属性です。
- 多値属性 ps: 属性は関連する値のセットに対応し、複数の 1 対 1 は単一値属性です。
- Null 属性。値がないか不明です。null は、意味がないか不明であることを意味します。
- 派生属性 ps: 他の属性操作で取得した年齢 年齢 = 今年 - 生年月日
- 部分的なアプリケーションを選択: 部分ビューの設計 = "マージ 競合のキャンセル = 冗長性を排除するために再構成を修正
- マージ競合のタイプ: 属性の競合 (同じ属性に対して異なる ER 図が存在する)、名前の競合 (同じ意味を持つ属性が異なる ER 図上で異なる名前を持つ、または同じ名前を持つ属性が異なる意味を表す)、構造的な競合 (同じエンティティは異なる ER 図で異なる属性を持ちます。ここでのエンティティは向こうの属性です)
- 論理設計(リレーショナルスキーマ、リレーショナル正規化)
- ER 図を指定されたデータ モデルに変換し、整合性制約を特定し、ユーザー ビューを特定します。
- 物理設計、データベース実装フェーズ、データベース運用保守フェーズ
- ER 図からリレーショナル スキーマへ
- 1-1 の場合、最初のタイプ: 接続は独立モードになり、接続の属性と 2 つのエンティティのコードが追加され、主キーは任意のエンティティのコードになります。2 つ目は、一方のエンティティのコード属性と接続属性を他方のエンティティに追加することです。
- 1-n の場合、最初のタイプ: 接続は独立モードとなり、接続の属性と 2 つのエンティティのコードが追加され、m 側の ma がエンティティのコードになります。2 つ目は、1 つのエンティティのコード属性と接続属性を複数のエンティティに追加することです。
- mnの時点でコネクションは独立モードとなり、2つのエンティティのコードにコネクションの属性が付加され、両側のmaがエンティティのコードとなります。
- ユーザーニーズの分析 (システム境界を決定するユーザーのニーズを理解する)
- 6つのステップ
-
事務
- 原子性 (すべてを実行するか何もしないかのどちらか)、一貫性 (ある一貫した状態が別の一貫した状態になる)、分離 (相互分離、複数のトランザクションの実行、他のトランザクションからは見えない)、永続性 (トランザクションは正常に送信され、永続的に有効です)データベース操作)
-
封鎖
- 排他的ロック (X ロックまたは書き込みロック)、X ロックを追加した後は、他のロックも追加できず、読み取り可能および変更可能な X も追加できません
- 共有ロック (S ロックまたは読み取りロック)、S ロックを追加した後に S ロックも追加可能、読み取り専用は変更できません
-
分散データベース