1. プロジェクト管理
1. 基本コンセプト
- スコープ管理: プロジェクトの境界、つまり、プロジェクトで実行する必要がある作業とプロジェクトに含めない作業を決定します。
- スコープ定義へのインプットには、プロジェクト憲章、プロジェクト スコープ管理計画、承認された変更要求、組織プロセス資産が含まれます。
- WBSの役割は、見積もりが簡単、範囲が明確、需要が広がらない、最下層がワークパッケージ
1.時間管理
- 時間管理のプロセスには、活動の定義、活動の順序付け、活動の資産見積もり、活動の期間の見積もり、計画、スケジュール管理が含まれます。
- 三点推定法の計算式:(楽観時間+4×最有力時間+悲観時間)/6
- 進捗管理
-
- ニーズを判断するための重要なポイント:
-
-
- ステップ 1: 遅延した活動が重要な活動であるかどうかを判断し、重要な活動である場合は加速する必要がある
- ステップ 2: 遅れている活動が重要な活動でない場合は、[偏差が時間差の合計よりも大きいかどうか] を判断し、大きい場合は進行を早める
- ステップ 3: 偏差が合計時間差よりも大きくない場合は、偏差が自由時間差よりも大きいかどうかをさらに判断し、自由時間差よりも大きい場合は、最初に計画を調整せず、監視を強化します
-
-
- 進行を早める手段:
-
-
- 仕事のクラッシュ: リソースを増やす、残業する、人を追加する
- 迅速なフォローアップ: アクティビティの並行実行
-
- Progress ネットワーク ダイアグラム --- クリティカル パス法 (PERT)
-
- クリティカル パスは、スケジュール計画を作成するときに使用されるスケジュール ネットワーク分析手法です。クリティカル パス法では、プロジェクト スケジュール ネットワーク パスに沿って順方向および逆方向の分析を実行し、計画されたすべての活動の理論上の最早開始日と完了日、および最新の最遅開始日を計算します。リソースの制約に関係なく、終了日。
- Total Slack (Slack Time): 期間を遅らせないこのアクティビティの操縦時間。アクティビティの合計時間差は、アクティビティの最新の完了イベントとアクティビティの最早完了時間との差、またはアクティビティの最遅開始時間とアクティビティの最早開始時間との差に等しい
- 自由時間差
-
-
- 次のまたは次の最も早い開始時刻に影響を与えない、このアクティビティの操作時間。
- 後続アクティビティのあるアクティビティの場合、その自由時間の差は、すべての後続アクティビティの最早開始時刻からアクティビティの最早完了イベントを差し引いた差の最小値に等しくなります。
- 後続アクティビティのないアクティビティ、つまり完了ノードがネットワーク計画の終了ノードであるアクティビティの場合、その空き時間の差は、このアクティビティの計画期間と最も早い完了時間との差に等しくなります。
- ネットワーク プランで終了ノードが完了ノードであるアクティビティの場合、自由時間の差は時間差の合計と等しくなります。また、アクティビティの空き時間差は合計時間差の構成要素であるため、アクティビティの合計時間差がゼロの場合、そのアクティビティの空き時間差はゼロである必要があり、特別な計算は必要ありません。
-
- ガント ダイアグラム
-
- 利点: ガント チャートは直感的で、シンプルで、作成が簡単で、理解しやすく、各項目の開始時刻と終了時刻を明確に示すことができます. 一般に、比較的単純な小規模プロジェクトに適しており、WBS のあらゆるレベル、進行状況に使用できます。制御、リソースの最適化、リソースとコストの計画
- デメリット:プロジェクトに含まれる様々なタスク間の複雑な関係を体系的に表現できない、定量的な計算や分析、計画の最適化が難しい、など
- PERTとの比較
-
-
- ネットワーク図に基づいて、PERT図はアクティビティ間の複雑な論理関係を表現できます
- ガント ダイアグラムはシンプルで直感的ですが、アクティビティ間の複雑な論理関係を表現することはできません
- PERT 図は主に異なるタスク間の依存関係を記述し、ガント図は主に異なるタスク間の重複関係を記述します。
-
3. ソフトウェアプロセス改善 CMMI
- 最適化レベル: 組織の改革と実行、原因分析と解決策、主な機能: 継続的な最適化
- 定量的管理レベル: 組織プロセス パフォーマンス、定量的プロジェクト管理; 主な機能: 定量的管理
- 定義されたレベル:
-
- 要件開発、技術ソリューション、製品統合、検証、検証、組織プロセスの焦点、組織プロセス定義、組織トレーニング、統合プロジェクト管理、リスク管理、統合チーム、意思決定分析とソリューション、組織統合環境; 主な機能: 組織レベル、ドキュメントレベルの標準化
- 管理レベル: 要件管理、プロジェクト計画、構成管理、プロジェクトの監視と制御、サプライヤー契約管理、測定と分析、プロセスと製品の品質保証; 主な機能: プロジェクト レベルの反復可能
- カオスレベル
2. コンピュータの構成とアーキテクチャ
1. コンピューター アーキテクチャの分類 (Flynn 分類法)
- 単一の命令ストリーム 単一のデータ ストリーム
- 単一命令ストリーム 読み取りデータ ストリーム
- 複数の命令ストリーム 単一のデータ ストリーム
- 複数の命令ストリーム 複数のデータ ストリーム
2.CISCとRISC
- ハードワイヤード ロジック レベル: これはコンピュータのコアであり、ゲートやフリップフロップなどの論理回路で構成されています。
- マイクロプログラムレベル:このレベルの機械語はマイクロ命令セットであり、プログラマーが使用するマイクロプログラムは通常、ハードウェアによって直接実行されます
- 従来の機械語レベル: このレベルの機械語は機械の命令セットであり、プログラマーが機械語命令を使用して作成したプログラムは、マイクロプログラムによって解釈できます。
3.組立ライン
コンセプト: パイプラインの実行時間の計算、パイプラインのスループット率、パイプラインの高速化率、パイプラインの効率
- パイプラインの確立時間: 1 命令の実行時間 (t で表す)
- パイプライン サイクル: 実行時間が最も長いセグメント
- パイプライン実行時間 (理論式): (t1+...tn)+(n-1)*t
- パイプラインの実行時間 (実用的な式): k*tm+(n-1)*t
- パイプラインのスループット率: TP=命令数/パイプライン実行時間
- パイプラインの最大スループット = 1/tm
- パイプラインの高速化: 順次実行時間/パイプライン実行時間
4. ストレージシステム
概念: キャッシュ、連想メモリはコンテンツによってアクセスされ、通常はキャッシュに使用されます
- キャッシュの関連概念:
-
- 機能: CPU データの入出力速度を上げ、フォン ノイマンを突破します。つまり、CPU とストレージ システム間のデータ転送帯域幅の制限です。
- コンピュータ ストレージ システム アーキテクチャでは、キャッシュはレジスタを除いて最速のアクセス レベルです。
- キャッシュを使用してシステム パフォーマンスを向上させる基本は、プログラムの局所性の原則です。
-
-
- 時間的局所性: プログラム内の命令が実行されると、近い将来に再び実行される可能性があります。
- 空間的局所性: プログラムが特定のストレージ ユニットにアクセスすると、その近くのストレージ ユニットもすぐにアクセスされます。つまり、一定期間内にプログラムによってアクセスされるアドレスは、特定の範囲内に集中する可能性があります。
-
- キャッシュはプログラマに対して透過的です (アドレス マッピングはハードウェアによって直接行われます)。
-
- 直結イメージ:ハードウェア回路はシンプルだが競合率が高い
- 完全な連想イメージ: 回路の設計と実装が難しく、小容量のキャッシュにしか適しておらず、競合率が低い
- 連想イメージの設定: 直接連想と完全連想の間の妥協点
- キャッシュへのアクセスのヒット率をh、(1-h)を失敗率(ミス率)といい、キャッシュのサイクルタイムをt1、メインメモリのサイクルタイムをt2とすると、平均アクセスタイムは、読み取り操作を例にとると、キャッシュ + メインメモリを使用するシステムの平均サイクルは t3 であり、t3=h*t1+(1-h)*t2
- キャッシュ ページの削除アルゴリズム、ランダム アルゴリズム、先入れ先出しアルゴリズム、使用頻度の最も低いアルゴリズム、使用頻度の最も低いページの置換。
- キャッシュの読み取りおよび書き込みプロセス:
-
- ライトスルー: キャッシュとメモリに同時に書き込みます
- 書き戻し: キャッシュにのみ書き込み、ページを削除する場合はメモリに書き戻します
- 表記方法: メモリへの書き込みのみ、フラグ ビットを 0 にクリア、2 番目のデータを使用する場合は再度呼び出す必要があります
ディスク構造とパラメータ
- アクセス時間=シーク時間+待ち時間 シーク時間とは磁気ヘッドがトラックまで移動する時間、待ち時間とは読み書きを待っているセクタが磁気ヘッドの一番下まで移動する時間、場合によってはデータ送信時間を追加する必要があります
- 処理の過程でバッファ領域を使用する場合、1 つのバッファ領域は一度に 1 つのプロセスでしか使用できないこと、つまり、転送時にバッファからデータを読み取ることができないことを理解する必要があります。バッファへのデータ、およびその逆
- ディスクストレージの最適化のために、磁気ヘッドが回転し続けるため、読み取ったデータが送信または処理されると、磁気ヘッドが前進位置に移動し、論理的な次のディスクブロックに戻るために回転し続ける必要があります. ストレージの最適化とは、ディスクブロックを調整することです. ヘッドが論理ブロックの読み取りを開始する位置に論理的な次のディスクブロックが配置されるように、位置を調整します.
- ディスク スケジューリング アルゴリズム: 先着順 FCFS、最短シーク時間優先 SSTF、スキャン アルゴリズム、循環スキャン
- シングルバッファとダブルバッファ
-
- 概念: シングル バッファ: シングル バッファの場合、ユーザー プロセスが IO 要求を発行するたびに、OS はメイン メモリにそのバッファを割り当てます。ブロックデバイスが入力されたとき、ディスクからバッファにデータを入力する時間をT、OSがバッファ内のデータをユーザ領域に転送する時間をM、 CPU がこのデータを処理する時間は C です。T と C は並列化可能です。
- ダブルバッファ:
-
- バッファーは共有リソースであるため、バッファーを使用する場合、プロデューサーとコンシューマーは相互に排他的でなければなりません
- コンシューマーがバッファー内のデータを取得していない場合、プロデューサーは新しいデータを生成し、それをバッファーに送信できないため、2 つのバッファーが設定されます。
5. システム構成と性能評価
1. 業績指標
- メイン周波数と CPU クロック サイクル (クロック サイクル): メイン周波数はクロック周波数とも呼ばれ、クロック サイクルはクロック周波数の逆数です; メイン周波数 = FSB * 乗数
- 命令サイクル: 命令をフェッチして実行する時間
- バス サイクル (バス サイクル): つまり、アクセス メモリまたは IO ポート操作にかかる時間
- 命令サイクル、バスサイクル、クロックサイクルの関係:命令サイクルは複数のバスサイクルで構成され、バスサイクル時間は複数のクロックサイクルで構成されます(つまり、1つの命令サイクルには複数のクロックサイクルが含まれます)。
- MIPS: 1 秒間に処理される百万レベルの機械語命令の数。主にスカラー マシンのパフォーマンスを測定するために使用されます。
- MFLOPS: 毎秒数百万の浮動小数点数。全体的な状況を反映することはできませんが、浮動小数点演算のみを反映することができ、主に t-vector マシンのパフォーマンスを測定するために使用されます。
2. 性能評価方法
- クロック周波数法: クロック周波数で速度を測定
- 命令実行速度法:機械の動作速度を表す単位はMIPS
- 等価命令速度法: プログラム内のさまざまな命令の割合によって計算されます。考慮してください: 異なる命令比率の問題
- データ処理速度法: マシンのパフォーマンスを測定するための PDR 値法、PDR 値が大きいほど、マシンのパフォーマンスが向上します; 考慮: CPU+ストレージ
- 総合理論性能法:
- ベンチマークプログラム方式:アプリケーションプログラムのコアプログラムの中で最も使用頻度の高い部分を、コンピュータシステムの性能を評価するための標準プログラムとして使用するもので、ベンチマークテストプログラムと呼ばれます。ベンチマーク方法は、システム パフォーマンスをテストするための優れた方法です
6.オペレーティングシステム
1. 工程管理
- プロセスとスレッド (**)
-
- プロセスのリソース割り当てとスケジューリングの基本単位、スレッドはスケジューリングの基本単位であり、リソース割り当ての基本単位ではありません。一部のリソースは共有できます
- 同じプロセス内の各スレッドは、メモリ アドレス空間、コード、データ、ファイルなど、プロセスのさまざまなリソースを共有できます。スレッド間の通信と交換は非常に便利です。すべてのスレッドには、共有できない独自の独立した CPU 実行コンテキストとスタックがあります。
- セマフォとPVの操作
-
- 関連概念: 相互排除、同期、クリティカル リソース、クリティカル セクション、セマフォ
-
-
- 相互排除: 何千もの軍隊が一枚板の橋を渡る、同様のリソースの競合関係 (リソースの制約、間接的な制約)
- 同期:速度に差がある、ある状況で止まって待つ、工程間の協調関係(工程制約、直接制約)
- 重要なリソース: 相互に排他的な方法でプロセス間で読み取りと共有が必要なリソース (プリンター、テープ ドライブなど)。
- セマフォ: これは特別な変数です. セマフォが 0 未満の場合, キューに入れられたプロセスの数を示すこともできます.
-
-
- PVC操作のプロセス」
- 前駆体マップ:
-
- プリカーサー マップとは、始点 ---> 終点、プリカーサー マップのすべての矢印をこの形式で表すことができ、1 つの矢印が 1 つのプリカーサー関係を表すことを意味します。
- 矢印線のセマフォをマークします。矢印線の開始位置は V 操作です (つまり、V 操作は、先行アクティビティが完了した後に後続アクティビティに通知するために使用されます)。矢印線の終了位置は、 P 操作 (つまり、P 操作は、先行アクティビティが後続アクティビティの開始前にあるかどうかを確認するために使用されます。終了)。先行図と PV を組み合わせ、先行図の矢印に従ってセマフォをマークし、プロセス図に従って空白を埋めます。
- デッドロックと銀行家のアルゴリズム
-
- パターンの質問ステムで指定されたプロセスとリソースの割り当てによって、リソースの最小数またはデッドロックを形成するその他のパラメーターが決まります。この状況に対応して、リソースを割り当てるときに、各プロセスはプロセスを完了することができるリソースの数から 1 を引いた数を取得します。この時点でデッドロックが形成される 最悪の場合、この場合、もう 1 つのリソースでデッドロックの問題を解決できます。つまり、デッドロックを形成することはできません。m 個のプロセスがそれぞれ w R 個のリソースを必要とし、システムが合計 n R 個のリソースを持っていると仮定すると、この時点でデッドロックを形成できない条件は、m*(w-1)+1<=n です。
- Banker's Algorithm: システムの現在の残りのリソースを判断する; 各プロセスでまだ必要なリソースの数を判断する; 現在の実行プロセスでまだ必要なリソースの数がシステムの残りのリソースを超えている場合はデッドロック; 超えていない場合はプロセスプロセスが実行された後、プロセスのすべてのリソースが解放されます (現在のシステムに残っているリソースの数は、システムの初期段階にある残りのリソース + 現在のプロセスの初期段階に割り当てられたリソースです)。 )。
- バンカーのアルゴリズムでは、該当する処理プログラムシーケンスがデッドロックを形成するかどうかを判断し、デッドロックを形成する場合は安全でないシーケンス、すべてのプロセスが正常に実行できる場合は安全なシーケンスです。
2.保管管理
- セグメント ページ ストレージ:
-
- ページサイズが分かれば、ページ内のアドレスの長さを判断でき、それに応じてアドレスのページ番号を知ることができます。
- ページ番号とページ フレーム番号の間の変換は、テーブルを参照することで実行できます。
- セグメント アドレス形式、セグメント番号に続くセグメント アドレス オフセットは、セグメント長を超えることはできません
- ページング ストレージ: プログラムとメモリを同じサイズのブロックに分割し、プログラムをページ単位でメモリにロードします。
- セグメントストレージ: ユーザーのジョブの自然なセグメントに従って論理空間を分割し、メモリにロードします.セグメントの長さは異なる場合があります.
- セグメント化されたページ ストレージ: セグメント化とページ化の組み合わせ。最初にセグメント化され、次にページ化されます。プログラムには複数のセグメントがあり、各セグメントには複数のページがあり、各ページのサイズは同じですが、各セグメントのサイズは異なります。
- ページ置換アルゴリズム:
-
- ページを削除するときの主な原則は、まず最近アクセスされていないもの (アクセス ビットが 0) を削除し、次に変更されていないページ (つまり、変更ビットが 0) を削除することです。変更されたページ)
7. 組み込み技術
1. 組み込みマイクロサービス プロセッサの分類
- 組み込みマイクロコントローラー (MCU: マイクロコントローラーユニット): シングルチップマイクロコンピューターとも呼ばれ、オンチップ周辺リソースは一般的に豊富で、制御に適しています
- エンベデッド マイクロプロセッサ (EMPU: Micro Processing Unit): シングル チップ マイクロコンピュータと呼ばれ、汎用コンピュータの CPU から開発され、組み込みアプリケーションに密接に関連する機能ハードウェアのみを保持します。
- エンベデッド DSP プロセッサ (DSP: Digital Signal Processor): 信号処理専用のプロセッサ
- Embedded System-on-Chip (SOC): 製品システムの許容範囲を最大限に追求した統合コンテナ
- ソフトウェアとハードウェアのシームレスな組み合わせを実現し、オペレーティングシステムのコードモジュールをマイクロプロセッサチップに直接埋め込むことに成功
- システムの体積と消費電力が削減され、信頼性と設計生産性が向上します。
2. 組み込みマイクロプロセッサ アーキテクチャ
- フォンノイマン構造
-
- プリンストン アーキテクチャとも呼ばれるフォン ノイマン アーキテクチャは、プログラム命令メモリとデータ メモリを組み合わせたメモリ構造です。一般に PC プロセッサに使用され、2 つの命令とデータ メモリが結合され、3 つの命令とデータが同じデータ バスを介して伝送されます。
- ハーバード構造は、プログラム命令ストレージとデータ ストレージを分離するメモリ構造です。ハーバード構造は並列アーキテクチャであり、その主な特徴は、プログラムとデータが異なる記憶空間に格納されていること、つまり、プログラムメモリとデータメモリが2つの独立したメモリであり、各メモリが独立してアドレス指定され、独立してアクセスされることです。
-
- 一般に、組み込みシステム プロセッサ (DSP) で使用されます。
- 命令とデータは別々に格納され、並行して読み取ることができ、データ スループット レートが高くなります。
- 命令とデータを含むデータ バスとアドレス バス 4 バス
3.組み込みシステムソフトウェア
- 基本的な考え方
-
- 組み込みシステムは、機能、信頼性、コスト、ボリューム、および消費電力の点でさまざまなアプリケーションの要件に適応できる、アプリケーション中心のコンピューターベースのシステムであり、構成可能で調整可能なソフトウェアとハードウェアを統合する専用コンピューター システム。
- 組み込みシステムの特徴: 小規模、困難な開発、高いリアルタイム性と信頼性の要件、堅実なストレージ要件など。
- 組み込みシステム ソフトウェアの分類:
-
- イベントに対するシステムの感度に応じて、組み込みシステムは次のように分類できます。
-
-
- 組み込みシステム
- 組み込みリアルタイム システム: 強力なリアルタイム システム、弱いリアルタイム システム
-
-
- セキュリティ要件の観点から、組み込みシステムは次のように分類することもできます。
-
-
- 安全上重要なシステム
- 安全上重要でないシステム
-
8. データベース システム:
1. データベース スキーマ
- 建築:
-
- 3 レベル モード: 外部モードはビューに対応し、モード (概念モードとも呼ばれます) はデータベース テーブルに対応し、内部モードは物理ファイルに対応します。
- 2 層イメージ: 外部モード-モード イメージ、モード-内部モード イメージ; 2 層イメージは、データベース内のデータが高い論理的独立性と物理的独立性を持つことを保証できます。
- 論理的独立性: 論理構造が変更された場合、ユーザー プログラムによるエクスターナル モードの呼び出しを変更する必要はありません。外部のスキーマ スキーマ イメージによって保証されます。
- 物理的独立性: つまり、データベースの内部スキーマが変更されても、データの論理構造は変更されません。スキーマ内イメージによる保証
- 意見:
-
- データベース ビュー: 内容がクエリによって定義される仮想テーブル (論理テーブル) です (SQL クエリ ステートメントのみが保存されます)。実際のテーブルと同様に、ビューには一連の名前付きの列と行のデータが含まれます。ただし、ビューは実際にこのデータを格納するのではなく、元のテーブルにクエリを実行して必要なデータを動的に生成します
- ビューの利点: ビューはユーザー操作を簡素化でき、ビューはユーザーが複数の視点から同じデータを表示できるようにし、ビューはデータベースをリファクタリングするためのある程度のロジックを提供し、ビューは機密データのセキュリティ保護を提供できる
- マテリアライズド ビュー: 従来の意味での仮想ビューではなく、データ自体を格納するマテリアライズド ビューです。同時に、元のテーブルのデータが更新されると、マテリアライズド ビューも更新されます。
2. 関係代数
- And: (結果は、重複する行を削除するための 2 つの祖先の合計です)
- Cross: (結果は重複行です)
- 違い: (前者は両方の重複行を削除します)
- デカルト積: 結果の列数は 2 つの属性の列数の合計であり、行数は 2 つのタプルの行数の積です。2 つのテーブルのデカルト積であり、結果テーブルのタプルは前テーブルと後テーブルのタプルから接合され、異なる順列と組み合わせが異なる結果タプルを形成します。
- プロジェクション: 修飾された属性列をフィルター処理します
- 選択: 修飾された祖先をフィルター処理し、属性名をシリアル番号でマークして、数値の形式で式に直接表示できます。
- 自然結合: 結果列の数は、2 つの属性列の数から繰り返し列を引いた合計であり、行数は、同じ名前と同じ値を持つ 2 つの属性列の結果のタプルです。デカルト積、選択、および射影の組み合わせ表現は、自然結合と同等になる可能性があります
- 通常の接続の状態を書きますが、書かない場合は自然接続と表現します。
3. 正規化理論
- 計画外の問題:
-
- 正規化プロセスは、データの冗長性の解決、例外の削除、例外の挿入、例外の更新 (変更操作の一貫性の問題) などです。
- データの冗長性: より多くのデータが繰り返し保存され、ストレージ スペースが無駄になります
- 更新例外(変更操作の不一致の原因):注意を怠ると、一部のデータが変更され、他のデータは変更されず、データ変更の不一致が発生します
- 挿入例外: 主キーを提供するために、主キーが空の場合、挿入操作を実行できません
- 削除の例外: 情報の一部を削除すると、レコード全体が削除され、元のレコードが見つからなくなります
- 正規化
-
- 機能依存性
-
-
- 部分的な機能依存
- 推移的な関数の依存関係
-
-
- ArmStrong の公理
-
-
- 再帰性: Y<=X<=U の場合、X->Y が確立されます
- 拡張: Z<=U かつ X->Y の場合、XZ->YZ が確立されます
- 推移性: X->Y および Y->Z の場合、X->Z が確立されます。
- 合併規則
- 疑似推移規則
- 分解規則
-
-
- キーとプロパティ:
-
-
- 概念: 候補キー (候補コード) は、重複のないタプルを一意に識別できる属性の組み合わせです. さまざまな候補キーが存在する可能性があり、そのうちの 1 つを主キーとして選択できます. グラフィック法で入次数が 0 の属性を見つけ、これを基に展開し、最終的にグラフ全体を横断できる最小の属性の組み合わせを候補キーとして求めることで、候補キーが得られます。 in-degree が 0 の場合、矢印の右側には表示されないと解釈できます。
- 候補コードを構成する属性は主要な属性であり、それ以外は非主要な属性です。
- 外部キーは、他のリレーショナル スキーマの主キーです
- 主キーを見つける: グラフィック方式を使用して主キーを見つけます
- 外部キーの検索: 外部キーは、他のリレーショナル スキーマの主キーです。
- フル コード: リレーショナル モデルのすべての属性グループは、フル コードと呼ばれるこのリレーショナル モデルの候補コードです。
- 整合性制約: 主キーと外部キーに関連する概念を理解し、質問の語幹に基づいて適切な判断を下す
-
-
- パラダイム: 正規化とは、データの冗長性、削除の例外、挿入の例外、更新の例外などを理解することです。
-
-
- 第 1 正規形 (1NF): リレーショナル モード R では、すべてのフィールドが原子値のみを含む場合、つまり、各属性が分割できないデータ項目である場合にのみ、リレーショナル モードと呼ばれます R は第 1 正規形です。
- 第 2 正規形 (2NF): リレーショナル スキーマ R が第 1 正規形 (1NF) であり、各非プライマリ属性が候補キーに完全に依存している (不完全な依存関係がない) 場合にのみ、リレーショナル スキーマ R は次のようになります。第二正規形と言われています。
- 第 3 正規形 (3NF): リレーショナル スキーマ R が第 2 正規形 (2NF) であり、候補キーに推移的に依存する非キー属性が R にない場合にのみ、リレーショナル スキーマ R は次のようになります。第三正規形になる
- 第 4 正規形 (BCNF): R がリレーショナル スキーマであり、F がその依存関係セットであると仮定します。F の各依存行列式に R の候補コードが含まれている必要がある場合に限り、R は BCNF に属します。
- 問題解決のアイデア: 正規化理論に関する概念を理解する. 正規化の程度が 3NF に達しない場合、データの冗長性、変更の例外、挿入の例外、および削除の例外が発生すると一般に考えられています。関連する問題を解決するには、通常、テーブルをスキーマに分解して、その正規化度を 3NF に改善します。
-
-
- スキーマの分解: 正規化プロセス - テーブルの削除はリレーショナル スキーマの分解です
-
-
- 無損失分解: リレーショナル スキーマをいくつかのリレーショナル スキーマに分解した後でも、元のリレーショナル スキーマは、自然接続や射影などの操作によって復元できます。
-
-
-
-
- 公式法、定理: R が p->{R1, R2} に分解され、F が R によって満たされる関数依存関係のセットである場合、p を分解して無損失接続を持つための必要十分条件は次のとおりです。
-
-
-
-
- 機能の依存関係を維持する
-
4. 同時実行制御:
- 取引の特徴(ACID)
-
- 原子性: トランザクション全体のすべての操作が完了または未完了のいずれかであり、途中で特定のリンクに停滞することはありません。
- 一貫性: トランザクションは、状態の変更をカプセル化できます (読み取り専用でない限り)。同時トランザクションの数に関係なく、トランザクションは常にシステムを一貫した状態に保つ必要があります。
- 分離: トランザクションを分離して実行し、特定の時間にシステムによって実行される唯一の操作であるように見せかけます。
- 耐久性: トランザクションが完了すると、トランザクションによってデータベースに加えられた変更はデータベースに永続的に保存され、ロールバックされません。
- 同時実行の問題
-
- 失われた更新
- 繰り返し不可能な読み取り
- ダーティデータの読み取り
- ロックの分類:
-
- S ロック: 読み取りロックまたは共有ロックとも呼ばれます。トランザクション T1 が S ロックをデータ R に追加した後、他のトランザクションは S ロックを R に追加することに成功しますが、X ロックを追加することはできません。
- X ロック: 書き込みロックまたは排他ロック、排他ロックとも呼ばれ、トランザクション T1 が X ロックをデータ R に追加した後、他のトランザクションは S ロックおよび X ロックを R に追加できません。
- ブロッキング プロトコル:
-
- レベル 1 ブロッキング: トランザクション T は、データ R を変更する前に X ロックを追加する必要があり、トランザクションが終了するまで解放されません。変更の紛失を防ぎます。
- 第 2 レベルのブロッキング: 第 1 レベルのブロッキング プロトコルとトランザクション T により、読み取り前にデータ R に S ロックが追加され、読み取り後に S ロックを解放できるため、変更の損失を防ぎ、「ダーティ」データを読み取ることができます。
- 3 レベルのロック: 第 1 レベルのロック プロトコル、第 1 レベルのロック プロトコル、およびトランザクション T データ R を読み取る前に S ロックを追加し、トランザクションが終了するまで解放しません。変更が失われるのを防ぎ、「ダーティ」データを読み取り、データの繰り返し読み取りを防ぐことができます。