top teradata interview questions
最もよくあるTeradataインタビューの質問と回答:
このチュートリアルでは、概念をよりよく理解するために、TeradataInterviewの一般的な質問と回答をいくつか紹介します。
Teradataは、大規模なデータウェアハウジングアプリケーションでの使用に適したリレーショナルデータベース管理システムです。このテクノロジーの背後にある主な概念は並列処理です。
このアプリケーションは、米国のTeradataCorporationという会社によって開発されました。何百ものクライアントが、エンタープライズデータウェアハウジングおよびデータ分析の用途にTeradataを選択しています。
最も重要なTeradataインタビューの質問と回答
Q#1)Teradataとは何ですか?それの主な特徴のいくつかをリストアップしてください。
回答: Teradataは、データウェアハウス、オンライン分析処理(OLAP)、オンライントランザクション処理(OLTP)、および意思決定支援システム(DSS)の作成と保守に使用されるリレーショナルデータベース管理システムです。
主な特徴は次のとおりです。
- シングルノードおよびマルチノードの実行機能。
- 並列処理に基づいて構築されています。
- 米国規格協会(ANSI)と互換性があります。
- サーバーと同じように機能します。
- オープンシステム。
Q#2)リレーショナルデータベース管理システム(RDBMS)に関連する次の各用語について簡単に説明してください–
- データベース
- テーブル
- 列
- 行
- 主キー
- 外部キー
回答:
- データベース :論理的に関連するデータのコレクションはデータベースと呼ばれます。
- テーブル :テーブルは、リレーショナルデータベース管理システムの基本単位として定義され、データを格納するために使用されます。 例えば、 Employeeテーブルには、会社の従業員に関する詳細が含まれています。
- 列: 列は、同様のデータを含む単位です。 例えば、 従業員テーブルの生年月日列には、誕生日のみが含まれます。
- 行 :すべての列の単一のインスタンスを行として識別できます。 例えば、 従業員テーブルの1人の従業員の詳細は、1つの行と各列の1つのインスタンスで構成されます。
- 主キー :主キーは、テーブル内の行を一意に識別するために使用される値です。重複値またはNULL値は許可されていません。必須値です。
- 外部キー :各テーブル間の関係を作成するために使用されるキーは、外部キーとして識別されます。マスター/詳細テーブルの設計では、親テーブルの主キーは子テーブルの外部キーとして設計されます。
Q#3)Teradataでサポートされているさまざまなテーブルタイプは何ですか?
回答: Teradataでサポートされているテーブルには4つのタイプがあります。これらは:
- 常設テーブル :永続テーブルはデフォルトのテーブルタイプであり、これらのテーブルはデータをシステムに永続的に保存するために使用されます。
- 揮発性テーブル :揮発性テーブルは、ユーザーセッション中にのみデータを保存するために使用されます。ユーザーセッションの終了時に、テーブルはそのデータとともに削除されます。これらのテーブルは、データ送信中または複雑な計算中に中間データを格納するために重要です。
- グローバル一時テーブル :Global Temporaryテーブルは、アプリケーション全体でグローバルに使用される値を格納するために使用され、その有効性は現在のユーザーセッションに対してのみです。ユーザーセッションの終了時に、テーブルはそのデータとともに削除されます。
- 派生テーブル :派生テーブルは、クエリの実行時までの存続期間が最小です。これらのテーブルは、クエリ実行中に中間結果を保持するために使用されます。
Q#4)Teradataで新しいテーブルを作成し、テーブルを変更し、テーブルを削除するためのコマンドは何ですか?
回答: コマンドは、それぞれCREATE TABLE、ALTER TABLE、およびDROPTABLEです。
Q#5)Teradataシステムの主なコンポーネントは何ですか?
回答: このシステムに関連する4つの主要なコンポーネントがあります。 それらは次のように説明できます。
- ノード :このシステムの個々のサーバーはノードと呼ばれ、Teradataシステムの基本ユニットです。ノードは、Teradata RDBMSの独自のコピーと、独自のオペレーティングシステム、CPU、メモリ、およびディスクスペースで構成されます。物理構造の場合、キャビネットは1つ以上のノードで構成されます。
- 解析エンジン :ここでの主な責任は、クライアント側からの要求(クライアントクエリ)の受信と効率的な実行プランの作成にあります。 次の主要な責任は、解析エンジンに関連していました。
- クライアント側のSQLクエリを受信し、構文エラーの可能性をチェックします。
- SQLクエリを実行するために使用可能なユーザー権限を確認します。
- SQLクエリに関連付けられたオブジェクトの実際の可用性を確認します。
- 実行プランを準備し、SQLクエリを実行します。
- 結果を受信してクライアントに送信します。
- メッセージパッシングレイヤー :このシステムでは、BYNETとも呼ばれるメッセージパッシングレイヤーがネットワークレイヤーです。これにより、解析エンジン、アクセスモジュールプロセッサ、およびノード間の通信が容易になります。
- アクセスモジュールプロセッサ :アクセスモジュールプロセッサは仮想プロセッサ(vprocs)とも呼ばれ、Teradataシステムの実際のデータストアおよび取得エージェントです。アクセスモジュールプロセッサのみが、データが物理的に保存されるディスクに対してデータの読み取りと書き込みを行うことができます。
Q#6)Teradataで頻繁に使用されるデータ型は何ですか?
回答: いくつかのデータ型をサポートしています。次の表に、頻繁に使用されるデータ型の値の範囲とバイト単位の長さを示します。
Q#7)Teradata SELECTステートメントの基本的な構文は何ですか?また、次の表を考慮して、従業員番号、姓名を取得するSELECTステートメントを作成します。
回答: SELECTステートメントの基本的な構文は次のとおりです。
選択する 列1、列2、…..
から テーブル名;
SELECT EmployeeNo, FirstName, LastName FROM Employee;
Q#8)Teradataで使用される、意味を持つ論理演算子と条件演算子をリストしますか?
回答: 論理演算子と条件演算子を以下に示します。
構文 | 意味 |
---|---|
に | の値が |
>> | 大なり記号 |
< | 未満 |
> = | 以上 |
<= | 以下 |
= | に等しい |
の間に | 値が範囲内の場合 |
ありませんで | 値がない場合 |
無効です | 値がNULLの場合 |
NULLではありません | 値がNULLでない場合 |
そして | 複数の条件を組み合わせます。すべての条件が満たされた場合にのみtrueと評価されます |
または | 複数の条件を組み合わせます。いずれかの条件が満たされた場合にのみtrueと評価されます。 |
ない | 状態の意味を逆にします |
Q#9)BETWEENキーワードを説明し、次の表を使用して、提供されたSELECTステートメントの結果を予測します。
SELECT EmployeeNo, FirstName FROM Employee WHERE EmployeeNo BETWEEN 101 AND 103;
回答: BETWEENコマンドは、指定された範囲内の指定された値を検査するために使用されます。
指定されたSELECTステートメントの結果は、EmployeeNoおよび101から103までのEmployeeNoのFirstNameです。
Q#10)Teradataの集合演算子について説明してください。
回答: 集合演算子は、複数のSELECTステートメントの結果を組み合わせるために使用されます。結合は複数のテーブルの列を結合するため、これは結合演算子とは異なりますが、集合演算子は複数の行を結合するために使用されます。
以下に4つの集合演算子を示します。
- 連合
- UNION ALL
- 交差する
- マイナス/除く
Q#11)UNIONとUNION ALLの違いは何ですか?
回答: UNIONは重複を無視して結果セットを結合しますが、UNIONALLは重複を結合します。
任意のサイトからのビデオダウンロードソフトウェア
注意: 質問番号12から15は、次の2つの表に基づいています。
従業員テーブル
給与表
Q#12)与えられたシナリオでの次のSELECTステートメントの結果を説明してください。
SELECT EmployeeNo FROM Employee UNION SELECT EmployeeNo FROM Salary;
回答: SELECTステートメントはUNION集合演算子を使用して、両方のSELECTステートメントの結果を結合し、リストから重複を削除しました。
結果:
Q#13)与えられたシナリオでの次のSELECTステートメントの結果を説明してください。
SELECT EmployeeNo FROM Employee UNION ALL SELECT EmployeeNo FROM Salary;
回答: SELECTステートメントは、UNION ALL集合演算子を使用して、リストから重複を削除せずに、両方のSELECTステートメントの結果を結合しました。
結果:
Q#14)与えられたシナリオでの次のSELECTステートメントの結果を説明してください。
SELECT EmployeeNo FROM Employee INTERSECT SELECT EmployeeNo FROM Salary;
回答: SELECTステートメントは、INTERSECT集合演算子を使用して、両方のSELECTステートメントの共通値を結合しました。従業員番号105は給与表に表示されないため、結果から削除されます。
結果:
Q#15)与えられたシナリオでの次のSELECTステートメントの結果を説明してください。
SELECT EmployeeNo FROM Employee MINUS SELECT EmployeeNo FROM Salary;
回答: SELECTステートメントは、MINUS set演算子を使用して、2番目のSELECTステートメントの結果値を除く最初のSELECTステートメントの結果値を表示しました。
EmployeeNo 101、102、103、および104は両方のテーブルで使用できるため、最終結果には105のみが含まれます。
結果:
Q#16)Teradataのプライマリインデックスについて説明してください。そして、利用可能なプライマリインデックスタイプは何ですか?
回答: データがTeradataのどこにあるかを指定するメカニズムは、プライマリインデックスと呼ばれます。各テーブルには、プライマリインデックスを指定する必要があります。そうでない場合は、テーブルにプライマリインデックスが割り当てられます。プライマリインデックスは、より高速なデータアクセスを提供します。
プライマリインデックスには次の2つのタイプがあります。
- 一意のプライマリインデックス(UPI)
- 非一意プライマリインデックス(NUPI)
Q#17)TeradataでCASE式を使用する目的は何ですか?
回答: CASE式は、最初の一致に基づいて結果を返す特定の条件に対して各行を評価するために使用されます。一致する条件がない場合、それ以外の場合はパーツの結果が返されます。
CASEの一般的な構文は次のとおりです。
CASE WHEN THEN result-1 WHEN THEN result-2 ELSE Result-n END
Q#18)結合の目的は何ですか?また、使用可能な結合タイプは何ですか?
回答: 通常、結合は、共通の列または値を使用して複数のテーブルのレコードを結合するために使用されます。
以下に、Teradataに関連する7種類の結合を示します。
- 内部結合 :複数のテーブルのレコードを結合し、両方のテーブルに存在する値セットを返します。
- 左外部結合 :左側のテーブルのすべてのレコードと、右側のテーブルの一致するレコードのみを返します。
- 右外部結合: 右側のテーブルのすべてのレコードと、左側のテーブルの一致するレコードのみを返します。
- 完全外部結合: これは、左外部結合と右外部結合の組み合わせです。両方のテーブルから一致するレコードと一致しないレコードの両方を返します。
- 自己結合: 列の値を、テーブルの同じ列の他の値と比較します。
- 相互結合: 左側のテーブルのすべての行を右側のテーブルのすべての行に結合します。
- デカルト生産参加: クロス結合と同じように機能します。
Q#19)パーティションプライマリインデックス(PPI)と呼ばれ、クエリで使用する利点について説明しますか?
回答: パーティション化されたプライマリインデックス(PPI)は、特定のクエリのパフォーマンスを向上させるためのインデックス作成メカニズムです。パーティション化プライマリインデックス(PPI)が定義されたテーブル内では、行はパーティション番号に従ってソートされます。
各パーティション内で、レコードは行ハッシュによって配置されます。また、行はパーティションの定義に基づいてパーティションに割り当てられます。
パーティションプライマリインデックス(PPI)の利点:
- いくつかのクエリでは、PPIは全表スキャンを回避するのに役立ち、必要なパーティションのみがアクセスされます。
- セカンダリインデックスの使用を防ぎ、追加の入出力メンテナンスを回避するのに役立ちます。
- 大きなテーブルのサブセットへのクイックアクセス。
- 古いデータを簡単に削除し、新しいデータを追加できます。
Q#20)一般的な構文でビューを定義します。
回答: 単一または複数のテーブルに対するクエリを使用して構築されたデータベースオブジェクトは、ビューと呼ばれます。ビューの定義はデータ定義に永続的に保存され、選択したデータは保存されません。ビューのデータは、実行時の動的プロセスです。
一般的な構文:
CREATE/REPLACE VIEW AS ;
Q#21)Teradataでのキャッシュの意味は何ですか?
回答: キャッシングは主に、頻繁に変更されないソースで機能します。システムは、アプリケーションの別のメモリでデータブロックを頻繁に使用し続けます。また、キャッシュは複数のアプリケーション内で共有されます。
Q#22)UPSERTコマンドの目的は何ですか?
回答: UPSERTコマンドは、Update ElseInsertの性質を実行する操作に使用されます。これは、Teradataでのみ使用可能な特定のオプションです。
Q#23)高速ロードとマルチロードの違いは何ですか?
回答: 高速ロードとは、複数のセッションを使用して、大量のデータを空のテーブルにすばやくロードすることです。マルチロードは、大量のテーブルとビューのアクティビティを維持するために使用されます。マルチロードは空でないテーブルでも機能し、マルチロードで使用できるのは最大5つのテーブルのみです。
Q#24)文字列操作の演算子と関数とは何ですか?
回答: 文字列操作の演算子と関数は次のとおりです。
- || :文字列を連結して、単一の文字列を作成します。
- SUBSTR :Teradata拡張子に応じて、長い文字列の一部のみを抽出します。
- 部分文字列 :ANSI拡張子に応じて、長い文字列の一部のみを抽出します。
- インデックス :Teradata拡張子に応じて、文字列の特定の位置を見つけます。
- ポジション :文字列の特定の位置を特定します。ANSI拡張子によって異なります。
- トリム :指定された文字列から空白を削除します。
- アッパー :文字列を大文字に変換します。
- LOWER :文字列を小文字に変換します。
結論
この記事では、Teradataの特定の機能に焦点を当てています。そして、データベース管理活動全体の概念、キーワード、構文、およびアプリケーションに基づく上記の質問が間違いなく役立つことを願っています。
また、この記事は、経験豊富なデータベースプログラマーが複雑なスクリプト作成プロセスを行う際のクイックリファレンスとして使用できます。
今すぐTeradataインタビューをクラックする準備はできていますか?