説明:この議論は、回答に基づいているデータベースシステム中国MOOC-大学(小学校)の紹介ビデオ録画。
ノート:データベースシステムの概要(基本)-ノート
講義1:最初にデータベースシステムを理解する
最初のビデオ:はじめに
- チューリング賞の4人の受賞者は?
–CWBachman(バックマン)、EFCodd、James Grey、MRStonebrake。
2番目のビデオ:データベースの4つの基本概念
-
データベース管理システムは、データベース内のデータのクエリ、挿入、変更、削除を実現することができます。
–データ操作機能。 -
データのセマンティクスとは何ですか?データがそのセマンティクスと分離できないのはなぜですか?イラストで表すことができます。
データの意味はデータの意味論と呼ばれ、データとその意味論は不可分であり、データの表現がその内容を完全に表現できない場合は、それを説明する必要があります。
例:学生ファイルの学生レコード:(Li Ming、male、199505、Nanjing、Jiangsu、Computer Department、2013)。 -
データベースとは何ですか?データベース管理システムとは何ですか?2つの間の違いと接続について説明します。
データベースは、コンピュータに長期間保存された大量のデータを整理して共有できるコレクションです。
データベース管理システムは、ユーザーアプリケーションとオペレーティングシステム間のデータ管理ソフトウェアのレイヤーであり、基本的なソフトウェアであり、大規模で複雑なソフトウェアシステムです。
違い:データベースはデータのコレクションを参照します。データベース管理システムは、オペレーティングシステムとデータベースアプリケーションシステム間のデータベース管理ソフトウェアです。
連絡先:データベース管理システムの存在により、データベース内のデータの使用と保守が容易になります。
3番目のビデオ:データ技術の出現、データシステムの特性
- データ管理技術開発の3つの段階で、データを管理するための特別なソフトウェアはありませんか?
–手動管理段階。
講義2:データベースシステムの中核:データモデル
最初のビデオ:概念モデル、データモデルのコンポーネント
- リレーショナルデータモデルは現在最も重要なデータモデルですが、その3つの要素は何ですか。
データ構造、リレーショナル操作、整合性制約。 - 例:エンティティ、エンティティタイプ、エンティティセット、およびエンティティ間の関係。
エンティティ:客観的に存在し、互いに区別されるオブジェクトはエンティティと呼ばれます。
エンティティタイプ:エンティティ名とその属性名セットを使用して、同じタイプのエンティティを抽象化および特徴付けることをエンティティタイプと呼びます。
エンティティタイプ:エンティティ名とその属性名セットを使用して、同じタイプのエンティティを抽象化および特徴付けることをエンティティタイプと呼びます。
エンティティ間の接続:通常、エンティティの異なるセット間の接続を指します。エンティティ間の関係は、1対1(1:1)、1対多(1:n)、多対多(m:n)です。
2番目のビデオ:階層モデル、メッシュモデル
- ノードは複数の親を持つことができ、ノード間に複数の接続が存在する可能性がありますか?
メッシュモデル。
3番目のビデオ:関係モデル
- リレーショナルデータモデルの基本的なデータ構造は何ですか?
関係。
講義3:データベースシステムの構造
- データの論理的な独立性は何ですか?
モードが変更され、外部モードとアプリケーションは変更されません。 - データとプログラムの物理的な独立性は何ですか?データとプログラムの論理的な独立性は何ですか?データベースシステムがデータやプログラムから独立しているのはなぜですか?
データとプログラムの物理的独立性:データベースのストレージ構造が変更された場合(たとえば、別のストレージ構造が選択された場合)、データベース管理者はモード/内部モードイメージを変更して、モードが変更されないようにして、アプリケーションが変更されないようにします。データとプログラムの物理的独立性、または略してデータの物理的独立性が保証されます。
データとプログラムの論理的な独立性:モードが変更されると、データベース管理者はエクスターナルモード/モードイメージを適宜変更して、エクスターナルモードを変更せずに維持します。アプリケーションはデータのエクスターナルモードに従って作成され、アプリケーションを変更する必要がないため、データとプログラムの論理的独立性。データの論理的独立性と呼ばれます。
データベースシステムは、データとプログラムの独立性を備えています。データベース管理システムが提供する2レベルのマッピング機能により、データの物理的および論理的独立性が確保され、アプリケーションの安定性が確保されます。また、データアクセスはデータベース管理システムによって制御されます。管理。これにより、アプリケーションプログラムの準備が簡略化され、アプリケーションプログラムのメンテナンスと変更が大幅に削減されます。
講義4:データベースシステムの構成
- データベースシステムは、データベース、データベース管理システム、アプリケーションシステムなどで構成されていますか?
データベース管理者。
講義5:リレーショナルデータの構造とリレーショナル整合性
最初のビデオ:リレーショナルデータ構造
-
リレーショナルデータベースの「関係」と日常生活で一般的な「テーブル」の違いは何ですか?
関係に重複するタプルがあってはなりません。同じ行がテーブルに表示されます。 -
関係のタプルが多いほど、記述される情報は豊富になりますか?
必ずしもそうではありません。
2番目のビデオ:関係の整合性
- リレーショナルモデルで満たさなければならない整合性制約には、
エンティティの整合性、参照の整合性。 - データベースに関係が1つしかない場合、参照整合性はありませんか?
いや
講義6:リレーショナル代数-伝統的な集合演算
- 関係代数の演算対象と演算結果は何ですか?
関係。 - 生徒のスコアシートは、表1(学生番号、名前、数学のスコア)と表2(学生番号、名前、物理学年)の2つあります。これらの2つのテーブルを組み合わせて操作できるかどうか質問してください。なんで?
いいえ、ドメインは異なります。
講義7:リレーショナル代数-リレーショナル固有の操作
- 関係R(A、B、C)のAがコードで、R1(A、B)とR2(A、C)がそれぞれRから投影された2つの関係であるとします。R1(A、B)に問い合わせて、R2に参加します( A、C)= R(A、B、C)(注:結合は自然な接続です)
関数がA–> BおよびA–> Cに依存してRを保持する場合、関係R(A、B、C)は、 R1(A、B)とR2(A、C)の自然なつながりを投影する
講義8:リレーショナル代数-包括的なトレーニング
- 二つ以上の異なるの式で与えられる等価関係式が、結果は同じである:選択科目の受講者リストデータベース(番号、名称)
[パイSNO、SNAME(CNAME = [シグマ]「データベース」(S∞SC∞ C))
πsno、sname(S∞(πsno(SC∞(σcname= 'database'(C))))))
講義9:関係計算-2倍関係計算
- 講義で紹介したリレーショナル計算の例は、リレーショナル代数で表現できますか?具体的にどのように表現しますか?
ビデオで最も単純な3つを例として使用して
[例1]、選択したすべてのコース番号を照会します。
GET W(SC.Cno)
[例2]すべての生徒のデータをクエリします。
GET W(学生)
[例3] GET W(Student.Sno、Student.Sage):
講義10:関係計算-ドメイン関係計算言語QBE
- QBE言語の特性を分析してください
。QBEは典型的なドメインリレーショナル計算言語であり、タプル変数のコンポーネントであるドメイン変数が述語引数の基本オブジェクトとして使用されます。QBEはこのリレーショナルデータベース管理システムも指します。QBEは画面フォームに基づくクエリ言語です。クエリの要件:フォームに入力してクエリを作成し、インスタンス要素(ドメイン変数)を使用してクエリ結果の考えられる結果を示します。クエリ結果:テーブルの形式で表されます。
講義11:SQLの概要とデータ定義
最初のビデオ:SQLの概要
- SQLが非手続き型言語であることを理解する方法
SQLがデータ操作を実行するとき、 SQLは何をすべきかを考えるだけでよく、何をすべきかについて考える必要がなく、ユーザーはアクセスパス、アクセスパスの選択、およびSQLの操作プロセスをシステムによって理解する必要はありません。
2番目のビデオ:データ定義
- ビューの変更ステートメントが必要なのはなぜですか?
ビューは1つまたは複数の基本テーブルから派生したテーブルであるため、ユーザーはデータベース内のデータを特定の角度から表示できます。これは、基本テーブルとは異なり、仮想テーブルです。データベースはビューの定義のみを保存し、ビューに対応するデータは保存しないため、ALTER VIEWステートメントを削除する必要はありません。
講義12:データクエリ-単一テーブルクエリ
- クエリ結果の列の表示順序を
データベースの列の順序と同じにしない方法クエリプロセス中にオブジェクトを入力するときは、必要な列の順序で列名を入力します。結果は、テーブル内の列の順序ではなく、列名が入力された順序で配置されます。
「SELECT *」の場合、クエリ結果の列の表示順序はデータベースの列の順序と同じです。「SELECT <>、<>、<>、…」の場合、データテーブルの各列は希望する順序で完全な列になりますアウト、列の表示順序の目的を達成でき、データベース内の列の順序が異なります。
講義13:データクエリ-接続クエリ
- 「自然なつながり」を理解する方法、それは同等のつながりとどう違うのですか?
1.自然接続は同等の接続である必要がありますが、同等の接続は必ずしも自然接続ではありません。
2.同等の接続には、必ずしもパブリック属性ではなく、等しいコンポーネントが必要ですが、自然接続には、等しいコンポーネントがパブリック属性である必要があります。
3.同等の接続は重複した属性を削除しませんが、自然接続は重複した属性を削除します。
講義14:データクエリ-ネストされたクエリ
最初のビデオネストクエリ1
- 「無関係なサブクエリ」とは何ですか?、どのように接続クエリに変換しますか?
関連のないサブクエリ、内部クエリは外部レイヤに依存しません。実行プロセスでは、最初に内部クエリが実行されます。内部クエリの結果は表示されませんが、外部クエリの条件として外部クエリに渡されます。その後、外部クエリが実行され、クエリ結果が表示されます。結合クエリへの変換は、サブクエリの内部テーブルを外部テーブルに接続することです - EXISTサブクエリの戻り結果を理解するにはどうすればよいですか?
EXISTS数量詞を含むサブクエリは、実際のデータを返さず、論理true値または論理false値を生成するだけです。内側のクエリ結果が空でない場合、外側のWHERE句はtrueを返し、それ以外の場合はfalseを返します。
講義15:データクエリ-コレクションクエリ
- 2つのクエリが単独でUNION演算を実行できるのはどのような場合ですか?
1. UNION内のSELECTステートメントは、同じ列数でなければなりません。列にも同様のデータ型が必要です。同時に、各SELECTステートメントの列の順序は同じでなければなりません。
2.このコマンドで接続された結果セットの重複する値は表示されません。重複する値を無視するには、union allを使用できます。
講義16:データの更新と制御処理
最初のビデオデータの更新
- 挿入操作と削除操作を使用して更新操作を実行できますか?
はい、まず削除するデータをDELETE FROM WHEREステートメントで削除し、次にINSERT INTO VALUESステートメントを使用して新しいデータを挿入し、データを更新します
2番目のビデオnull値処理
- 数値フィールドの場合、NULL値は0値と同じですか?
Nullと0は同じではありません。
(1)Null値は、「不明」、「無意味」、または「存在しない」の
値を指し、クエリステートメントのIS NULLまたはIS NOT NULLで判断できます。(2)0値は、特定の値タイプのフィールドを指します値を決定します。
講義17:ビュー
最初のビデオビュー1
- with CHECKオプション句の役割を説明してください。
1.更新の場合、チェックオプションを使用して、更新後にビューによってデータが照会される
ことを確認します。2。削除の場合、チェックオプションを使用するか、または使用しません
。データはビューによってクエリされる必要があります;
5. where句のないビューの場合、with checkオプションの使用は冗長です。
WITH CHECK OPTIONの役割について
2番目のビデオビュー2
- なぜビューメカニズムはデータの論理的な独立性を提供するのですか?
ビューは、1つまたは複数の基本テーブル(またはビュー)から派生したテーブルであり、「仮想テーブル」です。データベースはビューの定義のみを保存し、ビューに対応するデータは保存しません。
講義18:データベースセキュリティの概要
- データベースにある危険な要素を分析し、例を挙げます。
1.権限のないユーザーによる悪意のあるアクセスとデータベースの破壊(ハッカーと犯罪者が合法的なユーザー情報を探す)
2.データベース内の重要または機密データが漏洩する(ハッカーと敵対的な要素が秘密を盗む)
3.セキュリティ環境が脆弱である(およびコンピュータシステムのセキュリティは密接に関連しています)
講義19:データベースのセキュリティ管理
最初のビデオ:ID認証、アクセス制御、自律アクセス制御、許可
- データベースのセキュリティ制御の一般的な方法は何ですか?自律アクセス制御はどのようにデータベースのセキュリティを保証しますか?
1.ユーザーID認証(静的パスワード、動的パスワード、バイオメトリクス、スマートカードなど);
2.アクセス制御(ユーザー権利の定義、法的権限の検証);
3.表示;
4.監査;
5.データ暗号化;
自律アクセスコントロール:
1.ユーザーは異なるデータオブジェクトへの異なるアクセス権を持っています;
2.異なるユーザーは同じオブジェクトへの異なるアクセス権も持っています;
3.ユーザーは他のユーザーにアクセス権を委任できます
2番目のビデオ:データベースの役割と必須のアクセス制御
- 必須アクセス制御とは何ですか?それと自律アクセス制御の違いは何ですか?必須のアクセス制御がデータベースのセキュリティをよりよく保証できるのはなぜですか?
必須のアクセスメカニズム:すべてのエンティティは、サブジェクトとオブジェクトの2つの部分に分かれています。
サブジェクトはアクティブエンティティであり、オブジェクトはパッシブエンティティであり、オブジェクトによって操作されます。
各サブジェクトとオブジェクトには機密マークが割り当てられ、サブジェクトインテリジェンスには対応するルールを通じてデータにアクセスします。
必須のアクセス制御では、ユーザーは直接認識または制御できないため、データのセキュリティをより確実に確保できます。
講義20:ビューのメカニズム
- データベース監査とは何ですか?データベースのセキュリティをどのように保証しますか?
データベースセキュリティ監査システムは、データベースアクセスアクティビティを効果的に監視し、データベースシステムのセキュリティステータスを正確に把握し、データベースセキュリティポリシーに違反する操作を即座に発見し、アラームと記録をリアルタイムで検出して、セキュリティインシデントの位置分析、追跡調査、証拠収集を実現し、データベースセキュリティを包括的に保護します。 。
講義21:データベースの整合性
最初のビデオ:データベースの整合性と物理的な整合性の概要
- DBMS整合性制御メカニズムの機能は何ですか?それはどの部分で構成されていますか?これらのパーツはどのように連携しますか?
機能:
正当なユーザーが不正なデータを合法的にデータベースに挿入しないようにします
。3つの部分は次のとおり
です。1。整合性制約を定義
するメカニズムを提供する2. 整合性制約をチェックするメカニズムを
提供する3. 整合性制約のデフォルトの処理
協調を提供する:
最初に定義する主キーなどの整合性制約のメカニズム。データの挿入または更新時に整合性制約をチェックします。主キーの一意性に違反するなど、整合性制約に違反している場合は、対応するデフォルトの処理が提供されます。
2番目のビデオ:参照整合性
- 参照整合性の定義、検査のタイミング、およびさまざまなタイプのデフォルトの処理方法の定義について説明します
。参照整合性は、CREATE TABLEのFOREIGN KEY句を使用して、どの列が外部コードであるかを定義し、REFERENCES句がこれらの外部コードによって参照されるテーブルを示します。 。検査のタイミング:参照テーブルと参照テーブルを追加、削除、または変更するときに確認します。参照テーブルは参照整合性を損なう可能性があり、参照テーブルはタプルに挿入され、デフォルト処理が拒否されます。参照テーブルは参照整合性を損なう可能性があり、参照テーブルは外部コード値を変更し、デフォルト処理は拒否されます。参照テーブルはタプルを削除し、参照テーブル参照整合性を損なう可能性があります。既定の処理は、拒否、連結削除、およびnull値に設定されます。メインコード値が参照テーブルによって変更されると、参照テーブルは、参照整合性を損なう可能性があります。既定の処理は、拒否、連結変更、およびnull値に設定されます。
3番目のビデオ:ユーザー定義の整合性
- ユーザー定義の整合性の方法を説明し、タイミングとデフォルトのさまざまなタイプの処理方法
を確認します。CREATETABLEで属性を定義するときに、アプリケーションの要件に従って属性の制約を定義できます。たとえば、次のような属性値の制限があります。列の値が空ではない、列の値一意。列の値が条件式(CHECK句)を満たしているかどうかを確認します。テーブルにタプルを挿入するとき、または属性値を変更するとき、リレーショナルデータベース管理システムは、属性の制約条件が満たされているかどうかを確認し、満たされていない場合、操作は拒否されます実行します。
講義22:制約の命名句とアサーション
- アサーションの目的は何ですか?学生コース選択データベースで、「各学生は学期ごとに最大7つのコースを取ることができる」という主張をどのように定義しますか?
アサーションの目的:
より一般的な制約を指定します。
複数のテーブルまたはフォーカスされた操作を含むより複雑な整合性制約を定義できます。
CREATE ASSERTION ASSE_SC_SNUM
CHECK(7>=ALL(SELECT COUNT(*)
FROM SC
GROUP by sno,TERM));
講義23:トリガー
- テーブルに複数のトリガーを定義できますか?もしそうなら、これらのトリガーの実行順序は何ですか?
テーブルに複数のトリガーを定義できます。
実行順序:
(1)テーブルでBEFOREトリガーを実行する;
(2)トリガーのSQLステートメントをアクティブ化する;
(3)テーブルのAFTERトリガーを実行する; - 整合性制約を定義するRDBMSの方法は何ですか?
(1)エンティティの整合性;
(2)参照の整合性;
(3)ユーザー定義の整合性;
(4)アサーション;
(5)トリガー;
「推奨記事」
データベースシステムの概要(基本)-注意事項
ウィザードを使用してデータベースと基本的なテーブル構造を作成する方法 (SQL Server 2014)
データベースDDL言語を使用してデータベースと基本テーブルを作成しますか?(SQL Server 2014)