oracle database application development
このチュートリアルでは、Oracleデータベースアプリケーション開発、Oracle SQL、PL / SQL、およびOracle APEXと、それらの機能、利点、およびサンプルプログラムについて説明します。
の前のチュートリアルでは データウェアハウスガイド 、 の 完全なORACLEシリーズ 、 Oracle Data Warehouseについて、利点、アーキテクチャ、リスク、およびOLTPシステムとの比較について学びました。
私たちがデジタル化に向かっているので、業界は現在、商品化をサポートするWebアプリケーションの構築に焦点を合わせています。これらのアプリケーションは主にデータベース駆動型であり、動的な方法でユーザーにリアルタイムの情報を提供します。
この重要なデータを処理するために、オラクルはWeb開発を簡単かつ安全にすることができる特定のデータベース開発手法を考案しました。
学習内容:
Oracleデータベースアプリケーションの開発
この記事では、アプリケーション開発を容易にするOracleDatabaseが提供する機能について理解します。
Oracle SQL
SQLは 構造化照会言語 。これは、Oracle、MS SQL Server、MySQLなどのほとんどのリレーショナルデータベースでサポートされているセットベースの言語です。この言語は、データベース内でデータ管理を実行するように意図的に設計されています。この言語を使用すると、ユーザーはデータの取得、データの削除、データの操作など、さまざまなデータ操作を実行できます。
特定のタスクを実行するために、データベースへのインターフェイスとして機能し、ステートメントがDBに送信される命令になります。これらのステートメントは、データベース内のデータを制御する機能をユーザーに提供します。
ユーザーは、Oracleが提供するさまざまなツールを使用して、またはアクセス許可があれば、プログラムアプリケーションを介して、間接的にデータベースにアクセスすることもできます。ただし、これらのアプリケーションまたはツールは、ユーザー要求をデータベースに送信するときに、バックエンドでのみSQLステートメントを使用する必要があります。
SQL操作
この言語の助けを借りて、ユーザーは以下に示すようにさまざまな操作を実行できます。
#1)データクエリ操作
- を使用して 選択する ステートメントを使用すると、ユーザーはデータベース内の任意のテーブルにクエリを実行してデータを取得できます。
#2)データの並べ替え操作
- ORDER BY ステートメントは、ユーザーがクエリ結果を昇順または降順で並べ替えるのに役立ちます。
#3)データ操作操作
- インサート ステートメントを使用すると、ユーザーは新しいデータをデータベーステーブルに挿入できます。
- 更新 ステートメントを使用すると、ユーザーはデータベーステーブル内の既存のデータを更新できます。
- 削除 ステートメントは、ユーザーがテーブルから行を削除するのに役立ちます。
#4)データ定義操作
- CREATE TABLE ステートメントを使用すると、ユーザーはデータベース内に新しいテーブルを作成できます。
- 他の机 ステートメントを使用すると、ユーザーは既存のテーブルの構造を変更できます。
- ドロップテーブル ステートメントを使用すると、ユーザーはデータベースから自分でテーブルを削除できます。
#5)データベースおよびデータベースオブジェクトのアクセス制御
- 付与 ステートメントは、管理者がDBオブジェクトに対する特権をエンドユーザーに与えるのに役立ちます。
- 取り消す コマンドは、DBオブジェクトに対する上記で許可されたアクセスを削除するのに役立ちます。
SQLはデータを管理できるため、この言語の学習はデータベース開発者だけでなく、データベース管理者、品質アナリスト、アーキテクト、サブスクライバーなどの他のジョブプロファイルもサポートします。
SQLユーザーをサポートするために、Oracleは、SQL * Plus、SQL Developer Oracle JDeveloper、Oracle HTMLDBなどのSQL開発を容易にするいくつかのツールを開発しました。
Java、PL / SQLなど、SQLに手続き型およびオブジェクト指向のプログラマビリティの概念を追加した、SQL言語のさまざまな拡張機能があります。
過去40年間で、データ処理の分野で多くの進歩があり、多くの新しい技術が市場に導入されました。 SQLはこの期間中も存続し、最終的にはテクノロジーの向上として進化しました。
では、なぜSQLがそれほど魅力的なのですか?なぜそれが依然として最も好ましく、成功したデータ処理技術の1つなのですか?
SQLの永続的な成功は、以下にリストされている要因の結果です。
#1)堅牢なフレームワーク
データは分析目的で収集されており、この分析は、単一行のデータではなく、データセットまたは複数のデータ行を中心に構成できます。として知られている特定のルール 関係代数 、クエリの構築と実行を管理するために定義されています。
これは4つの演算子で構成されています。
- 投影: リレーショナルデータベース内のデータは、行と列の形式でテーブルに格納されます。射影は、クエリの実行中に最初に識別されるアイテムです。これらは、クエリが設計されたテーブル内で選択された列です。射影は、SQLクエリの最初の部分、つまりSELECTステートメントで説明されています。
- フィルタ: クエリフレームワーク内の予測を特定した後、次のステップは、クエリに関連する行を特定することです。 。 フィルタはクエリのWHERE句内に記載されており、結果に含まれる行を識別します。
- 参加: ほとんどの操作では、複数のデータセットをクエリする必要があるため、結合が必要になります。論理関係に基づいてクエリの必須フィールドを組み合わせることにより、2つ以上のデータセットに対して結合を実行できます。 INNER JOIN、OUTER JOIN、SELF JOIN、CARTESIANPRODUCTなどのさまざまなタイプの結合が利用可能です。
- 集計: データ集約は、ビジネス上の意思決定を行うために要約されたデータが常に必要となるため、データ分析中に実行される最も頻繁なアクティビティの1つです。したがって、データ集約は、SUM、COUNT、AVG、MINなどのさまざまな関数を使用して実行できます。
#2)透過的な最適化
Oracleデータベースには、SQL最適化のための豊富な手法があります。 SQL Query Optimizerは、最適な実行プランを生成することにより、ステートメントを実行するための最も効果的で効率的な方法を決定します。
#3)進化を通して
SQLは、さまざまな分野での継続的な進化により、数十年にわたって市場での関連性を維持していました。それは、以下に述べる機能で全体的に強化されました。
informaticaインタビューの質問と回答pdf
- 新しいデータ処理技術で強化されました。
- 新しい数学的計算で強化されました。
- 今後のデータ型にコードをマッピングする機能が組み込まれました。
- XMLおよびJSONドキュメント、Hiveテーブル、HDFSファイル、画像スタイル(BLOBおよびCLOB)、空間オブジェクトなどのデータソースをサポートするように拡張されました。
#4)標準ベースの言語
1986年にSQL言語はANSIの標準になり、それ以降、SQL言語は進化し、それらすべての年を通じて多くの新しいバージョンで出現しました。標準化はSQLを助けました
- コードを大幅に変更することなく、さまざまなデータベース間でアプリケーションの移植性を維持します。
- コードの後方互換性と継続性を確保します。何年も前に書かれたSQLコードは、コードをあまり変更することなく、今日でも実行できます。
Oracle PL / SQL
以前に読んだように、SQLは、リレーショナルデータベースに格納されているデータにアクセスするために開発されたセット指向の言語の1つです。 Oracle Database上に構築されたアプリケーションは、データベースの内容にアクセスするために実行されるSQLステートメントのみを必要とします。
ただし、SQLは非手続き型言語であるため、アプリケーションのエンドツーエンドのビジネスロジックを実装するには不十分であるため、PL / SQLが導入されています。
推奨読書= >> PLSQLチュートリアル
PL / SQLでは、PLは 手続き型言語 SQLは 構造化照会言語 。 PL / SQLは、意思決定、さまざまな反復、およびSQLに欠けているその他の手続き型機能などの機能をサポートするSQL言語の拡張です。
これは、SQL言語を(IF条件ステートメント、割り当て、ループなど)のような非ネイティブの手続き型コマンドと組み合わせて、SQLの機能を強化します。
アプリケーション開発にPL / SQL言語を使用すると、次の点でメリットがあります。
- SQLとのより良い統合: PL / SQLはSQLと十分に統合されており、動的SQLと静的SQLの両方をサポートしています。
- 強化されたパフォーマンス: ステートメントが1つずつ実行されるSQLとは異なり、PL / SQLはステートメントの完全なブロックを一度に送信して実行するため、ネットワークトラフィックが減少し、パフォーマンスが向上します。
- 開発時間を節約: 例外処理、データ隠蔽、オブジェクト指向データ型、カプセル化などの便利なPL / SQL機能が利用できるため、開発者はコードの設計とデバッグに必要な時間を大幅に節約できます。また、アプリケーション開発者が使用できるシステム定義パッケージへのアクセスを提供します。
- 移植性: PL / SQL言語を使用して設計されたアプリケーションは、どのオペレーティングシステムでも完全に移植可能です。
- セキュリティ: PL / SQLは、アプリケーションに高レベルのセキュリティを提供します 。
基本的なPL / SQLプログラムユニット
PL / SQLは、複数のSQL文を1つのブロックにまとめて配置し、1つとして実行する単位です。これらのプログラムユニットは、Oracle Database Serverでコンパイルでき、データベース内に保存されます。
PL / SQLプログラムは、次の3つのセクションに分類されています。
- 宣言: このセクションには、コードブロック内で使用できる変数や定数などのコード要素を宣言する宣言ステートメントが含まれています。このセクションはオプションです。
- 実行可能ファイル: プログラムが実行されるたびに実行されるコードステートメントを保持します。このセクションは、PL / SQLプログラムには必須です。
- 例外的な処理: このセクションでは、「catch」または「trap」ステートメントを使用してプログラムの実行中に発生する例外的なシナリオについて説明します。このセクションはオプションです。
上記のセクションを考慮すると、PL / SQLプログラムは4つのキーワードで識別されます。 宣言、開始、例外 & 終わり 。
PL / SQLブロックの基本構文:
DECLARE BEGIN EXCEPTION END;
より明確な画像を得るために、さまざまな例を見てみましょう。
#1)実行可能のみ
以下のプログラムには実行可能セクションのみがあり、DBMS_OUTPUT.PUT_LINEプロシージャが呼び出されて、出力画面にテキストが表示されます。
BEGIN DBMS_OUTPUT.put_line ('Hello!'); END;
#2)宣言と実行可能
ここで、プログラムには、文字列「Hello!」を保持するためにタイプVARCHAR2(50)の変数が宣言される宣言セクションがあります。
DECLARE text VARCHAR2 (50):= 'Hello!'; BEGIN DBMS_OUTPUT.put_line (text); END;
#3)宣言、実行可能、および例外的な処理
このプログラムには、DECLARE、EXECUTABLE、およびEXCEPTIONHANDLINGのすべてのセクションがあります。
DECLARE text VARCHAR2 (50):= 'Hello'; BEGIN DBMS_OUTPUT.put_line (text); EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.put_line (SQLERRM); END;
これは、PL / SQLプログラムをさまざまなセクションで構築する方法です。
構築されると、これらのプログラムはデータベースに保存され、必要なときにいつでも呼び出すことができるようになっています。ただし、上記のコードブロックを参照名なしで記述する方法は整理されたものではないため、匿名コードブロックと呼ぶことができます。
匿名ブロックを使用すると、コードが非常に複雑になり、保守性が高くなるため、大規模で複雑なアプリケーションを構築するという目的は達成されません。
これが、サブプログラムとも呼ばれる名前付きブロックの概念です。サブプログラムには、データベースに保存できる一意の参照名を付けることができます。これらのプログラムは、参照名を使用して呼び出すことができます。
名前付きブロックの構造は、「DECLARE」キーワードではなく「CREATE」キーワードで始まることを除いて、匿名ブロックの構造と同じです。 「CREATE」キーワードは、後で呼び出すことができるデータベースオブジェクトとしてコードブロックを作成して保存するようにコンパイラに指示します。
名前付きブロックには、次の2つのタイプがあります。
- 機能。
- ストアドプロシージャ。
に 関数 サブプログラムまたはサブルーチンとも呼ばれる名前付きブロックとして定義されます。関数を使用する目的は計算を実行することであり、常に値を返します。
以下のような関数を作成できます。
アンドロイドのための良いmp3音楽ダウンローダー
CREATE [OR REPLACE] FUNCTION function_name [(parameter [,parameter]) ] RETURN return_data_type IS|AS --declaration statements BEGIN -- executable statements Return return_variable; EXCEPTION -- exception-handling statements END;
ストアドプロシージャ タスクを実行するために作成されたブロックとも呼ばれます。これらは、関数を使用できる一方で、ストアドプロシージャを使用したり、SQLステートメントで呼び出すことができないという点で関数とは異なります。また、関数が単一の値を返すようにバインドされている間、プロシージャは複数の値を返すことができます。
以下のようにストアドプロシージャを作成できます。
CREATE [OR REPLACE] PROCEDURE procedure_name [(parameter [,parameter]) ] IS --declaration statements BEGIN --executable statements EXCEPTION --exception handling statements END;
Oracle Application Express(APEX)
APEXは、オラクルによって設計されたアプリケーション開発プラットフォームであり、世界中の業界がビジネス上の問題に対処できるようにします。これは、組織がWebアプリケーションを介して拡張可能なプラットフォーム上でデータを紹介できるようにするツールです。
「スプレッドシートにアクセスする」という単純なアプリから、24時間365日の可用性を備えた重要なアプリまで、APEXを使用してさまざまなアプリを構築できます。このプラットフォームを通じて、オラクルは開発者にさまざまな開発オプションを提供し、ユーザーに卓越したエクスペリエンスを提供することに重点を置いてきました。
Oracle APEXツールは、多くの機能が強化されており、ユーザーインターフェイス、データ、セキュリティ、監視などの複数の側面で成功を収めています。複雑なツールではないため、ユーザーに柔軟性を提供します。 APEXには多くのヘルプとガイドが付属しているため、Oracle APEXで作業するために、開発者は技術専門家である必要はありません。
機能は以下のとおりです。
#1)ユーザーフレンドリーなインターフェース
Oracle APEXは、次のようなユーザーフレンドリーなインターフェースを備えた、複雑ではなく使いやすいツールです。 ユニバーサルテーマ 。このテーマは、アプリケーションの開発プロセスを通じてユーザーをガイドするという点で非常に豊富でサポート的であるため、開発者は自己応答型のインタラクティブなWebアプリケーションを構築できます。開発者は、CSS、HTML、Javascriptなどのコーディング言語の専門家である必要はありません。
#2)データ駆動型
このツールは非常に強力であり、業界が必要な方法でデータを提示するために使用できるさまざまなアプリケーション構築プロセスをサポートします。これは、データを効率的に処理および操作する機能を保持するデータ駆動型ツールです。これにより、各ユーザーは、インタラクティブレポートコンポーネントを使用して独自の方法でレポートをカスタマイズできます。
#3)セキュリティ
セキュリティは、最近のすべての業界の重要な要件の1つです。オラクルは、セキュリティ標準に厳密に従うことにより、高度にセキュリティ保護されたアプリケーションを提供できるようにAPEXを設計しました。
#4)携帯性
Oracle APEXはポータブルツールであり、ユーザーはビジネス要件に従ってこの機能を利用できます。 Oracleデータベースがデプロイされていれば、クラウド上でも、この世界のどこにでもツールをデプロイできます。
#5)モニタリング
Oracle APEXは、パフォーマンスの問題、アプリケーションの問題、またはハッキングの試みを特定するための監視およびロギング機能を備えています。
#6)グローバリゼーション
Oracle APEXは、さまざまな言語および関連する環境をサポートできるように設計されているため、世界中のさまざまな地域の開発者がアプリケーションを開発するために使用できます。
APEXアーキテクチャ
Oracle APEXは、主に3層で構成される強力なアーキテクチャを備えています。
- ウェブブラウザ。
- 中間層: ORDS(Oracle Rest DataServices)。
- データベース層: Oracleデータベース(APEX)。
[画像 ソース ]
リクエストフローを見て、それがどのように機能するかを理解しましょう。
ここでは、Webリクエストがブラウザレベルで生成され、 Oracle Rest Data Services つまり、ORDS。さらに、ORDSはその要求をに渡します Oracle APEX データベース内。これで、APEXはリクエストを処理し、レスポンスをORDSに返します。ORDSはそれをブラウザに返します。これは、APEXアーキテクチャ内での要求の流れです。
Oracle APEXは、開発者がリアルタイムのビジネス問題を解決するのに役立つ幅広いソリューションを提供してきました。また、開発者はAPEXアプリケーションの拡張機能であるサードパーティライブラリを使用できます。これらの拡張機能は、アプリケーションをさらに特権的かつ強力にする拡張機能になります。
複数の利点に加えて、このツールにはいくつかの制限もあります。これらは以下のとおりです。
- Oracle APEXは、Oracleが所有するツールを使用してのみインストールでき、Oracleデータベースと一緒にデプロイできます。
- Oracle APEXのホスティングを許可しているWebホストは多くないため、APEXには限られたホスティングの選択肢が残されています。
- バージョン管理はありません。さまざまなアプリケーションコンポーネントにアクセスして、Webインターフェイスのみを使用して編集できます。
結論
この記事では、オラクルが提供するさまざまな開発オプション SQL、PL / SQL、OracleAPEXなど 機能、利点、および制限とともに、より簡単な方法で導入されました。データベース開発ツールと言語の使用法が明確になったことを願っています。
前のチュートリアル | 次のチュートリアル
推奨読書
- Oracleデータベースをテストする方法
- Oracleデータベースチュートリアル-Oracleデータベースとは何ですか?
- Oracleインタビューの上位の質問:Oracle Basic、SQL、PL / SQLの質問
- PL SQLパッケージ:例を含むOracle PL / SQLパッケージのチュートリアル
- Oracle Forms andReportsの面接に関する上位の質問
- Oracle Data Warehouse:データウェアハウスアーキテクチャなど
- Oracle Real ApplicationTesting-本番環境に移行する前にOracleDBをテストするソリューション
- Oracle Databaseのメモリ、スペース、およびCPU処理をテストする体系的な方法