最近、私は復習をしたために、私たちが参考になりたい、ペンの質問のいくつかの共通のデータベースをコンパイル。
1.トリガーの役割?
トリガーは、主に実行されるイベントによってトリガ、ストアドプロシージャの特殊なタイプです。これは、制約を強化することができ、データの整合性と一貫性を維持するために、あなたは不正な更新や変更を許可しないようにするために、データベース内のアクションを追跡することができます。あなたは、操作をカスケード接続することができます。例えば、テーブルは、順番にトリガがトリガされる動作テーブルを引き起こすテーブルの他のトリガの動作に関するデータを含んでいます。
2.ストアドプロシージャとは何ですか?何を呼び出すには?
ストアドプロシージャは、後に複数回呼び出すことができるプログラムでは、プリコンパイルされたSQL文、一度だけ作成されたモジュラー設計を可能にする利点です。あなたは何度も特定のSQLを実行する必要がある場合は、簡単なSQL文を使用してストアド・プロシージャは速くよりも実行されます。コマンドオブジェクトは、ストアドプロシージャを呼び出すことができます。
3、インデックスの役割?その利点と欠点は何ですか、それはありますか?
インデックスは、ルックアップテーブルの特別な種類で、データベースの検索エンジンは、データの検索を高速化するためにそれを使用することができます。それはあなたが必要なデータを見つけるために、全体の書籍の内容を照会する必要はありません、実際の本のカタログと非常によく似ています。インデックスは、単一の列または複数の列を指定するためのインデックスを作成することができ、一意であってもよいです。欠点は、データ入力の速度を遅くすることであるだけでなく、データベースのサイズを増加させます。
4、永続的な業務手段?(A)
トランザクションがコミットされたら、A.、パーマネント・データベースに変更する
すべての操作B.トランザクションがどちらか行うか行わないなどが
並行処理が隔離されているデータの操作やその他の取引の内政の使用C.を
D.の事務必見のそれは別の状態誘導状態に一つのアクチュエータからデータベースの変更をすることです
分析:(永久呼ばれる)取引の耐久性は、トランザクションが正常に送信されると、そのデータ変更が永続的であることを意味します。結果は、システム障害が発生した場合でも、その後、外部メモリストレージからデータダンプを更新されている、企業は、更新されたデータが失われることはありません提出しています。
5、次のDBMSの基本単位、操作の組(C)を構成する1つの論理的な作業単位であります
A.プロセス
B.SQL
C.総務
D.ファイル
6、SQL文のどのようなキーワードのパフォーマンス分析がありますか?(A)
A.EXPLAIN
B.LOAD
C.TOP
D.SUM
パース:データベースのパフォーマンスを解決するためのコマンドを説明するには、あなたがより良い指標と最適化を選択することができ、SQL文の実行を表示するために使用することができるという効果を説明し、パフォーマンスの問題のほとんどは、このコマンドの簡単な解決策になることができ、最初のコマンドを使用することをお勧めしますクエリ、書き込みより良い最適化された声明。構文の説明:説明選択...から... [場所...]
たとえば:ニュースSELECT * FROMを説明します。
図7は、エンティティ間のリンクを表すために使用されるリレーショナルデータベースにある?(B)
A.プロパティ
B.次元テーブル
C.ネットワーク構造
D.ツリー
分析:2次元テーブルを表す実体関連モデルとの間のリンクは、テーブルと呼ばれます。オプションCは、ネットワークエンティティモデルとの間のリンクであり、オプションDは、モデルエンティティ、オプションAのプロパティとの間のリンクのためのエンティティレベルを特徴付けます。
8.条件は、実行SQLの順序とは何ですか?(A)
バックにA.前面
背面からB.
C.他にどのような順序
図9は、データベースのトランザクション分離が「非反復可能読み取り」許可4つのレベルに分割され?(BC)
A.SERIALIZABLE
B.READはCOMMITTED
C.READ UNCOMMITTED
D.REPEATABLE READを
Cは:ダーティリード表示され、ファントムは、非反復可能読み取りを読み込みます。
B:発生ファントム読み取り、反復不能読み取り。
Dは:ファントムが読ん表示され
ませ問題は、上記ません:Aを。
[解決済み]:
READ UNCOMMITTED:データトランザクションのために使用されていない分離株データ、他のトランザクションが削除変更することができます。
読み取りコミット:のみその他の事項は、データを提出し、あなたがアクセスすることができ、提出されていないデータを読み取ることが許可されていません。
反復可能読み取り:ロックされて使用されるトランザクションデータは、他のトランザクションが変更または削除することができません。
スナップショット:スナップショットアイソレーション
Serilizable:すべてのトランザクションがデータのロックを使用し、他のトランザクションは、追加、変更、削除することはできません。
10、PROPAGATION_REQUIRES_NEW事務の春には、次の文のどれが正しいですか?(B)
A.総務ロールバックは、外部トランザクション・ロールバックの原因となる
B、内部トランザクションのロールバック、および渉外が蘭蘭提出することができる
C.外部トランザクション・ロールバックを、そして一緒に総務ページのロールバック
D.外部のトランザクションのロールバック、および内政はまだありますあなたが言及することができます
11、操作の点で完了していない(C)
A.更新ビュー
B.クエリ
C.ビューで新しいテーブルを定義
ビューに新しいビューを定義するD.
間違って言うには12、SQLバインド変数の以下の説明は、そのですか?(C)
結合変数は、SQL文の実行結果を変更する変数の値を変更し、SQL文で使用される変数である
バインド変数を使用してBを、解析されたSQL文を低減することができ、データベースエンジンは、リソースSQLステートメントの解釈の消費低減することができる
Cをプログラミングの効率と信頼性を向上させるためにバインド変数を使用して、アクセスするデータベースの数を減らす
バインド変数を使用してDを、クエリオプティマイザは、文字通りの真実よりも多くの変数を推定します
右が13、SQL Serverのロックに関する次の記述、
A.排他ロックロック(すなわち、排他ロック)に分割し、共有ロックがロック更新することができます。
粒度をロックB.SQLサーバーのサポートは、行、ページ、キー、キー範囲、インデックス、テーブルまたはデータベースに分けることができます。
C.SQL Serverは、コマンドを使用して、SET LOCK_TIMEOUTは、ロック・タイムアウト間隔を設定します。
D.は、主な役割は、分離ロック整備要件を提供することです。トランザクション間のアイソレーションを確保するために、互いに干渉しないでください。
<分析>:
(1)概念:
データベースは、複数のユーザによって使用される共有リソースです。複数のユーザーが同時にデータにアクセスするとき、それは、複数のトランザクションが同時にデータベース内の同じデータにアクセスする必要があります。誤ったデータを読み込み、保存することができれば制御不能な同時操作、データベースの整合性を破ります。
ロックは、データベースの同時実行制御のための非常に重要な技術です。場合は、データ・オブジェクト要求Xianxiangシステム、そのロック上で動作する前に、トランザクション。データオブジェクト上のサービスがロックした後、いくつかのコントロールを持っている、ロックが取引前にリリースされ、他のトランザクションは、このデータ・オブジェクトを更新することはできません。
(2)ロック分類:
共有(S)ロック:ブロックトランザクション複数のページを共有することができ、トランザクションがページを変更することができない。通常、完了ページが読み込まれ、Sロックがすぐに解放されます。
排他(X)ロックは:のみ、このページをブロックするトランザクションを可能にする、ロックがページにアクセスするためにXにリリースされるまで、他のトランザクションが待機しなければなりません; Xロックトランザクションが終了するまで解放させるために。
更新(U)ロック:更新ロックするロックリソースへの使用はそれほど引き起こさ共有ロックのデッドロックを使用しないように、初期化フェーズの変更操作で変更しなければならないかもしれません。共有ロックを使用しているため、操作はその後、排他ロックに、その後の編集操作を共有ロックをアップグレードし、データを読み取るために、最初の共有ロックを取得し、2つのステップに分割されたデータを変更します。データを変更する際にトランザクションが、共有ロックを適用しながら、二つ以上のトランザクションが同時に存在しているのであれば、これらの問題は、排他ロックにアップグレードロックを共有することになります。この場合、これらの取引は、共有ロックを解放しませんが、このようにデッドロックを起こし、リリースに他のを待っていました。データを直接変更、データ変更の前に更新ロックを適用し、排他ロックの時間にアップグレードする場合は、デッドロックを回避することができます。
(3)ロック粒度:
粒子サイズを有する、SQLクライアントアクセスライセンスロックにおいて、すなわち、それは、異なるリソースにロックすることができます。より小さい粒径ロックの施錠操作が数意志生成することができるので、ロックされたリソースより小さな粒径は、(例えば、行)が増加することができるが、並行システムの量は、システムの性能に影響を与える大きなオーバヘッドを必要と増加、より大きな粒子サイズ(例えば、テーブル)にロックは、部品表アクセス上の任意の他のトランザクションにロックリミットため、テーブル全体、複雑の点で非常に高価であるが、なぜなら維持する必要のロックよりも少ないオーバーヘッドを必要とすることができ少ないので、ここでの相互関係の制約があります。
SQLクライアントアクセスライセンスロック粒度列、ページ、エクステント、テーブル、ライブラリ、および他のリソースを含みます。
14は、トランザクションログを保存するために使用される(C)
A.実行処理
プログラムBの実行結果
データにC.更新操作
D.データクエリ動作
分析:レコードのデータベーストランザクション、最大の一貫性とデータのセキュリティを確保するためには、
ログファイルをやり直し:レコードをデータベースに加えられた変更と、そのデータの回復を有効にすることができます障害が発生した場合には、データベースには、少なくとも2つのREDOログが必要であることファイルの
アーカイブログファイル:オフラインREDOログファイルのコピー、これらのコピーは、メディア障害から回復する必要があるかもしれません。
15、データベーストランザクションの四つの基本的な要素は、(C)?実行する権利を有していません
A.分離
B.永続
C.必須
D.の一貫性
16、表A中のデータを削除するために、使用TRUNCATE表A. 結果を実行しますか?(A)
A.表Aの制約がまだ存在
B. Aテーブルが削除された
データC.表A削除された半分は、実行時に再びデータラインの残りの半分を削除します
D. A表チェック制約が要件を満たしていませんデータは削除、およびチェック制約の要件に沿ってデータを保持しています
分析:ステートメントは、表がある削除します。DROP TABLE table_nameの。
DELETEとTRUNCATE TABLE文は、テーブル内のすべてのデータを削除し、彼らはそれが異なります。
1、TRUNCATE TABLE速くDELETEより。
2、TRUNCATE TABLEがテーブルのすべての行を削除し、削除するには(削除しない限りWHERE句なし)テーブルの1つ以上の行を削除することです。
あなたが任意の行の制約違反(主に外部キー制約を)発生した場合、図3に示すように、TRUNCATE TABLEはまだ、エラーをあなたが唯一のテーブルの構造とその列、制約、インデックスを削除し、そうで変わらないときに削除が、直接DELETE戻ります。
図4は、テーブルの外部キー制約は、TRUNCATE TABLEを使用することはできませんが、WHERE句なしDELETEステートメントで使用されなければならないです。
5. DELETEを使用して、身元のカウント値を保持する場合は、新しい行識別子列は、その列の検索と再播種されているため、TRUNCATE TABLEは、値をカウントします。
17は、データの冗長性の引数が間違っていますか?(C)
A.データベースは、データの冗長性あるデータ現象のコピーが存在する
メモリによってB.分類、効果的にデータの冗長性を減らすことができますが、データ検索の複雑さに増加する
データベース設計段階でC.を、我々は可能なデータを避けるために全力を行う必要があります冗長性、それはデータの冗長性なしで行うのがベストです。
D.データの冗長性は、通常、データベースの設計に起因しています。
18、トランザクション分離レベルに関する次の文は正しいでしょうか?(ABCD)
A.非コミット読み取り(READ UNCOMMITTED):汚れが許可されている読み取り可能であるが、他のセッションのデータを修正することから、コミットされていないトランザクションを読み取り
B.リードコミッティ(READ COMMITTED):だけで、すでに提出されたデータの読み取りができ
C.月を反復可能読み取り(繰り返し読み出し):同じトランザクション内のクエリは、トランザクションの一貫性の開始時刻である
D.シリアルリード(直列化):完全読み取りシリアライズ、各読み取りは、読み取り、書き込み、共有テーブル・レベルのロックを取得する必要がありますお互いをブロックします
19、TRUNCATEとDELETEステートメントの違い
MySQLでは、削除データには2つの方法があり、一つはMySQLのDELETE文で、他はMySQLのTRUNCATE TABLE文です。DELETEステートメントは、WHEREによって削除されるように記録するように選択することができます。TRUNCATE TABLEを使用すると、テーブル内のすべてのレコードを削除します。したがって、DELETEステートメントは、より柔軟な。
あなたは、テーブルの条件データを削除できます。TABLE1から、削除条件の非存在下で(正常に返さの数)またはTRUNCATE TABLE TABLE1(正常0を返す)は空のテーブルです。
TABLE1 1からの削除、付加価値のテーブルを維持することができます。