データベース インタビューの質問と回答トップ 50 (2025)

ここでは、新人だけでなく経験豊富な候補者も夢の仕事に就くためのデータベース面接の質問と回答を紹介します。

 

新人向けの基本的なデータベース面接の質問と回答

1) データベースを定義します。

データと呼ばれるあらかじめ用意された数字の集まりをデータベースと呼びます。


2) DBMS とは何ですか?

データベース管理システム (DBMS) は、ユーザーが他のアプリケーションと対話できるようにするために特別に設計されたアプリケーションです。

👉 無料 PDF ダウンロード: データベース (DBMS) 面接の質問と回答 >>


3) DBMS が提供するさまざまな種類の対話にはどのようなものがありますか?

DBMS によって提供されるさまざまな種類の対話は次のとおりです。

  • データ定義
  • 更新
  • 検索
  • 管理部門

データベース (DBMS) の面接の質問


4) データベース技術の開発を分離する。

データベース技術の開発は次のように分かれています。

  • 構造またはデータモデル
  • 航行モデル
  • SQL/リレーショナルモデル

5) 関係モデルを提案したのは誰ですか?

エドガー F. コッドは 1970 年にリレーショナル モデルを提案しました。


6) データベース言語の特徴は何ですか?

データベース言語には次のような機能が組み込まれている場合もあります。
DBMS 固有のストレージ エンジンの構成と管理
合計、カウント、平均、グループ化、並べ替え、相互参照などの計算からクエリ結果の変更まで 制約の適用 アプリケーション プログラミング インターフェイス


7) データベース言語は何をしますか?

特殊な目的の言語として、次のものがあります。

  • データ定義言語
  • データ操作言語
  • クエリ言語

8) データベースモデルを定義します。

データをどのように保存、操作、編成できるか、およびデータベースの構造を論理的に決定する基本的なデータ モデルは、データベース モデルと呼ばれます。


9) SQL とは何ですか?

構造化照会言語(SQL) ANSI 標準言語であるため、データベースとアクセスするためのコマンドが更新されます。

SQL


10) データベースのさまざまな関係を列挙します。

データベースのさまざまな関係は次のとおりです。

  • XNUMX対XNUMX: 同様の種類の列を持つ別のテーブルとの関係を描画した単一のテーブル。
  • XNUMX対多: 主キーと外部キーの関係を持つ XNUMX つのテーブル。
  • 多対多: 多くのテーブルに関連する多くのテーブルを持つジャンクション テーブル。

11) 正規化を定義します。

データベース内に一貫性のない依存関係や冗長性がなく、整理されたデータを「データ」と呼びます。 正規化.


12) データベースを正規化する利点を列挙します。

データベースを正規化することの利点は次のとおりです。

  • 重複したエントリはありません
  • 収納スペースを節約
  • クエリパフォーマンスを誇ります。

13) 非正規化を定義します。

データベースのパフォーマンスを向上させるために、冗長データを追加し、複雑なデータを排除することを非正規化と呼びます。


14) DDL と DML を定義します。

データベースのプロパティと属性を管理することをデータ定義言語(DDL)と呼びます。

データベース内のデータの挿入、更新、削除などの操作をデータ操作言語として定義します。 (DML)


15) DDL のいくつかのコマンドを入力します。

彼らは以下のとおりです。

作成:

Create は CREATE TABLE ステートメントで使用されます。 構文は次のとおりです。

CREATE TABLE [column name] ( [column definitions] ) [ table parameters]

変更:

データベースの既存のオブジェクトを変更するのに役立ちます。 その構文は次のとおりです。

ALTER objecttype objectname parameters.

落とす:

既存のデータベース、インデックス、テーブル、またはビューが破壊されます。 その構文は次のとおりです。

DROP objecttype objectname.

16) Union All 演算子と Union を定義します。

2 つのテーブルを完全に記録する場合は、Union All 演算子を使用します。2 つのテーブルを個別に記録する場合は、Union を使用します。


17) カーソルを定義します。

結果セットを表すデータを行ごとに操作するのに役立つデータベース オブジェクトはカーソルと呼ばれます。


18) カーソルの種類を列挙します。

彼らは以下のとおりです。

  • 動的: スクロール中に変更を反映します。
  • 静的: スクロール中の変更は反映されず、スナップショットの記録に機能します。
  • キーセット: 新しいデータが反映されないデータ変更が見られます。

19) カーソルの種類を列挙します。

カーソルの種類は次のとおりです。

  • 暗黙的なカーソル: ユーザーが意識することなく、SQL の実行が行われるとすぐに自動的に宣言されます。
  • 明示的なカーソル: によって定義されます PL/SQL 複数行のクエリを処理します。

20) サブクエリを定義します。

クエリに含まれるクエリをサブクエリと呼びます。


21) なぜ group 節が使用されるのですか?

Group-clause は、同様のデータを収集することによって導出される集計値を使用します。


22) 非クラスター化インデックスとクラスター化インデックスの比較

どちらも B ツリー構造を持ち、非クラスター化インデックスにはデータ ポインターがあり、1 つのテーブルに複数の非クラスター化インデックスを作成できますが、クラスター化インデックスはテーブルごとに異なります。


23) 集計関数を定義します。

値の集合に対して演算を行い、単一の値を返す関数は集計関数と呼ばれます。


24) スカラー関数を定義します。

スカラー関数は指定された引数に依存し、唯一の値を返します。


25) ビューを作成するときに適用できる制限は何ですか?

適用される制限は次のとおりです。

  • 現在のデータベースのみがビューを持つことができます。
  • 特定のビューで計算された値を変更する責任はありません。
  • Integrity 定数は INSERT と DELETE の機能を決定します。
  • 全文インデックス定義は適用できません。
  • 一時ビューは作成できません。
  • 一時テーブルにはビューを含めることはできません。
  • DEFAULT 定義との関連付けはありません。
  • INSTEAD OF などのトリガーはビューに関連付けられます。

26) 「相関サブクエリ」を定義します。

「相関サブクエリ」はサブクエリの一種ですが、相関サブクエリは返される値を別のクエリに依存します。 実行の場合、最初にサブクエリが実行され、次に相関クエリが実行されます。


27) データ ウェアハウジングを定義します。

戦略的な意思決定を行うために、中央の場所からデータを保存およびアクセスすることを、 データウェアハウス。 エンタープライズ管理は、データ ウェアハウジングとして知られるフレームワークの情報を管理するために使用されます。


28) Join を定義し、そのタイプを登録します。

結合は、異なるテーブル間の関係を説明するのに役立ちます。 また、別のテーブルのデータに関連してデータを選択することもできます。

さまざまなタイプは次のとおりです。

  • 内部結合: XNUMX つ以上のテーブルが結合されている間、空白行が中央に残されます。
  • 外部結合: 左外部結合と右外部結合に分かれます。 指定した側のテーブルを結合すると、指定した側に空白行が残ります。

他の結合には、CROSS JOIN、NATURAL JOIN、EQUI JOIN、NON-EQUI JOIN があります。


29) インデックスハンティングとはどういう意味ですか?

インデックスは、データベースの速度とクエリ パフォーマンスの向上に役立ちます。 インデックスのコレクションを増やす手順は、インデックス ハンティングと呼ばれます。


30) インデックスハンティングはクエリパフォーマンスの向上にどのように役立ちますか?

インデックスハンティングは、データベースの速度とクエリパフォーマンスの向上に役立ちます。 そのために次のような対策が講じられます。

  • クエリ オプティマイザーは、クエリの調査をワークロードと調整し、これに基づいて提案されるクエリの最適な使用を調整するために使用されます。
  • インデックス、クエリの分布とそのパフォーマンスを観察して、効果を確認します。
  • 問題のあるクエリの小さなコレクションに合わせてデータベースをチューニングすることもお勧めします。

経験者向けのデータベース面接の質問と回答

31) クエリの欠点を列挙します。

クエリの欠点は次のとおりです。

  • インデックスなし
  • ストアド プロシージャが過度にコンパイルされています。
  • トリガーとプロシージャには SET NOCOUNT ON がありません。
  • 不適切に作成されたクエリを構成する複雑な結合。
  • カーソルと一時テーブルは、プレゼンテーションが不適切であることを示しています。

32) トランザクションを効率的にコーディングする方法を列挙します。

トランザクションを効率的にコーディングする方法:

  • トランザクション中にユーザー入力を許可すべきではありません。
  • ブラウジング中にデータのトランザクションを開いてはいけません。
  • トランザクションは可能な限り小さく保つ必要があります。
  • トランザクション分離レベルが低くなります。
  • トランザクション中にアクセスする必要があるデータの情報は最小限です。

33) エグゼクティブプランとは何ですか?

エグゼクティブ プランは次のように定義できます。

  • SQL Server は、収集されたプロシージャまたはクエリ実行の計画をキャッシュし、その後の後続の呼び出しで使用します。
  • パフォーマンスの向上に関連する重要な機能。
  • データ実行計画はテキストまたはグラフィックで表示できます。

34) B ツリーを定義します。

ソートされたデータを格納するツリー形式のデータ構造で、対数時間での検索、挿入、順次アクセス、削除が可能です。


35) テーブル スキャンとインデックス スキャンを区別します。

すべてのテーブル行の反復はテーブル スキャンと呼ばれ、すべてのインデックス項目の反復はインデックス スキャンと定義されます。


36) インデックスに関するフィルファクターの概念とは何を意味しますか?

Fill Factor は、データが詰め込まれる各リーフ レベル ページの左スペースの割合を定義する値として定義できます。 100 は、Fill Factor のデフォルト値です。


37) 断片化を定義する。

断片化は、ユーザーによってテーブル レベルで保存されるデータの制御を促進するサーバーのデータベース機能として定義できます。


38) ネストされたループ、ハッシュ結合、マージ結合を区別します。

ネストされたループ (ループオーバーループ)

内側ループ内の外側ループはより少ないエントリで構成され、個々のエントリに対して内側ループが個別に処理されます。

例えば

  • coll、col1からcol2.*、col2.*を選択します。ここで、coll.col1=col2.col2;

処理は次のように行われます。

For i in (select * fromcol1) ループ
For j in (select * fromcol2 wherecol2=i.col1) ループ
結果が表示されます。
ループの終わり。
ループの終わり。

ネストされたループのステップは次のとおりです。

  • 外部 (駆動) テーブルを識別する
  • 内部 (駆動) テーブルを外部テーブルに割り当てます。
  • 外部テーブルの行ごとに、内部テーブルの行にアクセスします。

ネストされたループは、次のように内側から外側に実行されます。

  • 外側のループ
  • 内部ループ
  • ハッシュ結合

大きなテーブルを結合する場合は、ハッシュ結合を使用することをお勧めします。

ハッシュ結合のアルゴリズムは次のように分類されます。

  • ビルド: 小さいテーブル上に存在するインメモリを持つハッシュ テーブルです。
  • プローブ: ハッシュ テーブルのこのハッシュ値は、XNUMX 番目の行要素ごとに適用されます。
  • ソートマージ結合

2 つの独立したデータ ソースがソート マージ結合で結合されます。データ量が十分に大きい場合はネスト ループに比べてパフォーマンスが向上しますが、一般的にハッシュ結合ほどは良くありません。操作全体は 2 つの部分に分けることができます。

ソート結合操作:

input1 から最初の行 R1 を取得します

input2 から最初の行 R2 を取得します。

マージ結合操作:

どちらのループの最後にも「while」は存在しません。
R1 が R2 と結合する場合
次の行は入力 2 から R2 を取得します
リターン (R1、R2)
else if R1 < style=””> 次の行は入力 1 の R1 から取得されます。
ほかに
次の行は入力 2 の R2 から取得されます
ループの終わり


39) データベースのパーティショニングとは何ですか?

管理、可用性、パフォーマンスを向上させるために、論理データベースを独立した完全なユニットに分割することは、データベース パーティショニングと呼ばれます。


40) 分割の重要性を説明する。

大きな XNUMX つのテーブルを論理的に小さなデータベース エンティティに分割することをデータベース パーティショニングと呼びます。 その利点は次のとおりです。

  • 頻繁にアクセスされる行のほとんどが XNUMX つのパーティション内にある状況でクエリのパフォーマンスを大幅に向上させるため。
  • 単一パーティションの大部分へのアクセス
  • めったに使用されないデータには、低速で安価なストレージ メディアを使用できます。

41) データベースシステムを定義します。

DBMS データベースと合わせてデータベースシステムと呼びます。


42) クエリ評価エンジンとはどういう意味ですか?

クエリ評価エンジンは、コンパイラによって生成された低レベルの命令を実行します。


43) DDL インタプリタを定義します。

DDL ステートメントは解釈され、メタデータと呼ばれるテーブルに記録されます。


44)定義する Atomアイシティとアグリゲーション。

Atom氷性: これは全か無かの概念であり、ユーザーは不完全なトランザクションを確実に処理できるようになります。 不完全なトランザクションに関係するアクションは、DBMS 内で元に戻されたままになります。

集計: 収集されたエンティティとその関係は、このモデルに集約されます。 主に人間関係内の関係性を表現する際に使用されます。


45) さまざまなトランザクションフェーズに参加します。

さまざまなトランザクション フェーズは次のとおりです。

  • 分析フェーズ。
  • やり直しフェーズ
  • 元に戻すフェーズ

46) オブジェクト指向モデルを定義します。

オブジェクトのコンパイルによってこのモデルが構成され、値はオブジェクト内のインスタンス変数内に格納されます。オブジェクト自体は、メソッドと呼ばれる操作のためのオブジェクト本体で構成されます。同じ種類の変数とメソッドを含むオブジェクトはクラスと呼ばれます。


47) エンティティを定義します。

現実世界において独立して存在する「物」であると定義できます。


48) エンティティタイプとは何を意味しますか?

同様の属性を持つエントリのセットがエンティティ タイプです。


49) エンティティセットを定義します。

データベース内の特定の種類のエントリのすべてのエントリのコンパイルは、エンティティ セットと呼ばれます。


50) エンティティタイプ拡張とはどういう意味ですか?

類似したエンティティ タイプを XNUMX つの特定のタイプにコンパイルし、エンティティ セットとしてグループ化します。

これらの面接の質問は、あなたの活力(口頭)にも役立ちます