oracle database application development
Този урок обяснява разработването на приложения за бази данни на Oracle, Oracle SQL, PL / SQL и Oracle APEX заедно с техните характеристики, предимства и примерни програми:
В предишния урок на Ръководство за хранилище на данни , на Пълна серия ORACLE , научихме за Oracle Data Warehouse с предимства, архитектура, рискове и сравнение със системата OLTP.
Докато вървим към цифровизация, индустриите сега са фокусирани върху изграждането на уеб приложения в подкрепа на комерсиализацията. Тези приложения се управляват предимно от база данни, което предоставя информация на потребителите в реално време по динамичен начин.
За да се справи с тези жизненоважни данни, Oracle разработи някои техники за разработване на бази данни, които могат да направят уеб разработката лесна и сигурна.
Какво ще научите:
Разработване на приложения за бази данни на Oracle
В тази статия ще разберем функциите, предлагани от Oracle Database, които улесняват разработването на приложения.
Oracle SQL
SQL означава език за структурирани заявки . Това е език, базиран на множество, поддържан от повечето релационни бази данни като Oracle, MS SQL Server, MySQL и др. Този език е предназначен целенасочено да извършва управление на данни в база данни. Използвайки този език, потребителите могат да извършват различни операции с данни като извличане на данни, изтриване на данни, манипулиране на данни и др.
За да изпълнява определени задачи, той действа като интерфейс към базата данни и извлеченията стават инструкциите, изпратени до DB. Тези изявления предоставят на потребителите възможността да контролират данните в базата данни.
Потребителите могат да получат достъп до бази данни непряко, използвайки различни предоставени от Oracle инструменти или чрез програмни приложения, при условие че има разрешения за достъп. Но тези приложения или инструменти трябва да използват SQL изрази само в задната част, докато подават потребителски заявки към базата данни.
SQL операции
С помощта на този език потребителят може да извършва различни операции, както е посочено по-долу:
# 1) Операция за заявки за данни
- Използвайки ИЗБЕРЕТЕ изявление, потребителят може да поиска всяка таблица в базата данни за извличане на данни.
# 2) Операция за сортиране на данни
- ПОДРЕДЕНИ ПО израз помага на потребителите да сортират резултатите от заявката във възходящ или низходящ ред.
# 3) Операции за манипулиране на данни
- ВМЕСТЕТЕ извлечение позволява на потребителите да вмъкват всякакви нови данни в таблица на базата данни.
- АКТУАЛИЗИРАНЕ извлечение позволява на потребителите да актуализират съществуващите данни в таблицата на базата данни.
- ИЗТРИЙ израз помага на потребителя при изтриване на редовете от таблица.
# 4) Операции за дефиниране на данни
- СЪЗДАЙТЕ МАСА израз позволява на потребителите да създават нови таблици в базата данни.
- ALTER TABLE израз позволява на потребителя да променя структурата на съществуваща таблица.
- ТАБЛИЦА ЗА ПАДАНЕ извлечение позволява на потребителите да изтриват таблици сами от базата данни.
# 5) Контрол на достъпа на база данни и обекти на база данни
- ГРАНТ израз помага на администраторите при предоставянето на привилегиите на DB обекти на крайни потребители.
- ОТМЕНЕТЕ команда помага за премахване на предоставения по-горе достъп на DB обекти.
Тъй като SQL е способен да управлява данни, изучаването на този език е необходимо не само за разработчиците на бази данни, но поддържа и други профили на работа, като администратори на бази данни, анализатори на качеството, архитекти и абонати.
В подкрепа на потребителите на SQL, Oracle разработи няколко инструмента, които могат да улеснят развитието на SQL като SQL * Plus, SQL Developer Oracle JDeveloper, Oracle HTML DB и др.
Налични са различни разширения на езика SQL като Java, PL / SQL и др., Които са добавили процедурните и обектно-ориентирани концепции за програмируемост към SQL.
През последните четири десетилетия имаше много напредък в областта на обработката на данни и на пазара бяха въведени много нови техники. SQL все още успява да оцелее през този период и в крайна сметка се развива като подобрена технология.
Сега, защо SQL е толкова завладяващ? Защо все още е най-предпочитан и един от успешните технологии за обработка на данни?
Трайният успех на SQL е резултатът от факторите, изброени по-долу:
# 1) Здрава рамка
Данните се събират за целите на анализа и този анализ може да бъде рамкиран около набор от данни или множество редове с данни, а не един ред данни. Някои правила, известни като Релационна алгебра , са определени за управление на конструкцията и изпълнението на заявката.
Състои се от 4 оператора:
- Проекция: Данните в релационната база данни се съхраняват в таблицата под формата на редове и колони. Проекциите са първите елементи, идентифицирани по време на изпълнението на заявката. Те са избраните колони в таблица, за която е проектирана заявка. Проекциите са споменати в първата част на SQL заявката, т.е. оператор SELECT.
- Филтър: След идентифициране на прогнозите в рамките на заявката, следващата стъпка ще бъде идентифициране на редовете, които са от значение за заявката . Филтрите са споменати в клаузата WHERE на заявката и те ще идентифицират редовете, които трябва да бъдат включени в резултатите.
- Присъединяване: Повечето от операциите изискват множество набори от данни да бъдат заявени и така присъединяванията стават необходимост. Обединенията могат да се извършват на два или повече набора от данни чрез комбиниране на задължителни полета в заявка, базирана на логически връзки. Предлагат се различни видове съединения като ВЪТРЕШНО ПРИСЪЕДИНЯВАНЕ, ВЪНШНО ПРИСЪЕДИНЯВАНЕ, САМОСЪЕДИНЕНИЕ и КАРТЕЗОВ ПРОДУКТ.
- Агрегат: Агрегирането на данни е една от най-честите дейности, извършвани по време на анализа на данните, тъй като обобщените данни винаги са необходими за вземане на бизнес решение. Следователно агрегирането на данни може да се извърши с помощта на различни функции като SUM, COUNT, AVG, MIN и др.
# 2) Прозрачна оптимизация
Базата данни на Oracle има богат набор от техники за SQL оптимизация. SQL Query Optimizer определя най-ефективния и ефикасен метод за изпълнение на изрази, като генерира най-добрия план за изпълнение.
# 3) През цялата еволюция
SQL остана актуален на пазара през десетилетията поради непрекъснатото развитие в различни области. През цялото време той беше подобрен с функциите, които са споменати по-долу.
как да намеря мрежов ключ на рутера -
- Подобрено с нови техники за обработка на данни.
- Подобрено с нови математически изчисления.
- Включена възможност за картографиране на код с предстоящи типове данни.
- Подобрена за поддръжка на източници на данни като XML и JSON документи, Hive таблици, HDFS файлове, стил на изображението (BLOB & CLOB) и пространствени обекти и др.
# 4) Език, базиран на стандарти
През 1986 г. езикът SQL стана стандартен за ANSI и от този момент нататък той успя да се развие и да се появи с много нови версии през всички тези години. Стандартизацията помогна на SQL,
- Поддържане на преносимост на приложения в различни бази данни без големи модификации на кода.
- Осигуряване на обратна съвместимост на кода и приемственост. SQL кодът, написан преди години, все още успява да се изпълни и днес, без много промени в кода.
Oracle PL / SQL
Както четохме по-рано, SQL е един от ориентираните към набора езици, разработени за достъп до данни, съхранявани в релационна база данни. Всички приложения, изградени в горната част на Oracle Database, ще изискват само SQL изрази, които да бъдат изпълнени за достъп до съдържанието на базата данни.
Но тъй като не е процедурен език, SQL не е достатъчен за внедряване на бизнес логика от край до край за всяко приложение и следователно се въвежда PL / SQL.
Препоръчително четене = >> PL SQL уроци
В PL / SQL PL означава Процесуален език докато SQL означава език за структурирани заявки . PL / SQL е разширение на SQL език, поддържащ функционалности като вземане на решения, различни итерации и други процедурни функции, в които липсва SQL.
Той комбинира SQL език с неприродни процедурни команди като (IF Conditional Statements, Assignments, Loops и др.) И следователно подобрява възможностите на SQL.
Използването на PL / SQL език за разработване на приложения е полезно по следните начини:
- По-добра интеграция с SQL: PL / SQL е добре интегриран със SQL и поддържа динамичен и статичен SQL.
- Подобрена производителност: За разлика от SQL, където операторите се изпълняват един по един, PL / SQL изпраща пълния блок от инструкции наведнъж за изпълнение, което намалява мрежовия трафик и следователно подобрява производителността.
- Спестява време за разработка: Поради наличието на полезни PL / SQL функции като изключителна обработка, скриване на данни, обектно-ориентирани типове данни и капсулиране, разработчиците могат да спестят много време, необходимо за проектиране и отстраняване на грешки в кода. Също така предлага достъп до системно дефинирани пакети, които могат да се използват от разработчиците на приложения.
- Преносимост: Приложенията, проектирани с PL / SQL език, са напълно преносими на всяка операционна система.
- Сигурност: PL / SQL осигурява високо ниво на сигурност на своите приложения .
Основни PL / SQL програмни единици
PL / SQL е единица от множество SQL изрази, поставени заедно в блок и изпълнени като едно цяло. Тези програмни единици могат да бъдат компилирани от Oracle Database Server и се съхраняват в базата данни.
PL / SQL програма е категоризирана в 3 секции:
- Декларация: Този раздел съдържа декларативните изявления, които декларират кодови елементи като променливи, константи и др., Които могат да се използват в кодовия блок. Този раздел не е задължителен.
- Изпълним: Той съдържа кодовите инструкции, които ще се изпълняват при всяко изпълнение на програмата. Този раздел е задължителен за PL / SQL програма.
- Изключително боравене: Този раздел съдържа изключителните сценарии, повдигнати по време на изпълнението на програмата, използвайки изрази “catch” или “trap”. Този раздел не е задължителен.
Имайки предвид горните раздели, PL / SQL програма се идентифицира с четири ключови думи ДЕКЛАРИРАЙТЕ, НАЧАЛЕТЕ, ИЗКЛЮЧВАНЕ & КРАЙ .
PL / SQL основен синтаксис на блока:
DECLARE BEGIN EXCEPTION END;
Нека да видим различни примери, за да получим по-ясна картина.
# 1) САМО ИЗПЪЛНИМ
Програмата по-долу има само изпълним раздел и процедурата DBMS_OUTPUT.PUT_LINE се извиква за показване на текст на изходния екран.
BEGIN DBMS_OUTPUT.put_line ('Hello!'); END;
# 2) ДЕКЛАРИРАЙТЕ И ИЗПЪЛНИТЕЛНО
Тук програмата има раздел за деклариране, където променлива от тип VARCHAR2 (50) е декларирана да съдържа низа „Здравейте!“.
DECLARE text VARCHAR2 (50):= 'Hello!'; BEGIN DBMS_OUTPUT.put_line (text); END;
# 3) ДЕКЛАРИРАЙТЕ, ИЗПЪЛНИТЕЛНО И ИЗКЛЮЧИТЕЛНО РАБОТА
Тази програма има всички раздели, т.е. ОБЯВЯВАНЕ, ИЗПЪЛНИТЕЛНО И ИЗКЛЮЧЕНИЕ РАБОТА.
DECLARE text VARCHAR2 (50):= 'Hello'; BEGIN DBMS_OUTPUT.put_line (text); EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.put_line (SQLERRM); END;
Ето как PL / SQL програмите могат да бъдат конструирани с различни секции.
c ++ въпроси за интервю и отговори за опитни
Веднъж изградени, тези програми трябва да се съхраняват в базата данни, така че да могат да бъдат извиквани, когато е необходимо. Но начинът, по който горните кодови блокове са написани без никакви референтни имена, не е организиран, поради което можем да ги наречем анонимни кодови блокове.
Използването на анонимни блокове не изпълнява целта за изграждане на големи и сложни приложения, тъй като в крайна сметка ще има много сложност и поддръжка на кода.
Тук идва концепцията за Наименовани блокове, която е известна още като Подпрограми. Подпрограмите могат да имат уникални референтни имена, с които могат да се съхраняват в база данни. Може да се осъществи повикване към тези програми, като се използват техните референтни имена.
Структурата на именен блок ще бъде същата като тази на анонимния блок, с изключение на това, че няма да започне с ключовата дума „DECLARE“, а по-скоро „CREATE“. Ключовата дума “CREATE” инструктира компилатора да създаде и запише кодовия блок като обект на база данни, който може да бъде извикан по-късно.
Именуваните блокове могат да бъдат от 2 вида:
- Функции.
- Съхранени процедури.
ДА СЕ функция се дефинира като именуван блок, известен също като подпрограма или подпрограма. Целта на използването на функции е да се извърши изчисление и то винаги ще връща стойност.
Можем да създадем функция по-долу:
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 е платформа за разработка на приложения, проектирана от Oracle, която позволява на световните индустрии да се справят със своите бизнес проблеми. Това е инструмент, който позволява на организациите да демонстрират своите данни чрез разширяема платформа чрез своите уеб приложения.
Различни приложения могат да бъдат изградени с помощта на APEX направо от обикновено приложение за „достъп до електронна таблица“ до критични приложения с наличност 24 * 7. Чрез тази платформа Oracle се фокусира върху настаняването на разработчици с разнообразни възможности за развитие и оставя на потребителите изключително впечатление.
Инструментът Oracle APEX е обогатен с много функции и функционалности и е постигнал успех в множество аспекти като потребителски интерфейс, данни, сигурност, наблюдение и др. Той осигурява гъвкавост на потребителите, като не е сложен инструмент. За да работи върху Oracle APEX, разработчикът не трябва да бъде технически експерт, тъй като APEX идва с много помощ и ръководства.
Функциите са споменати по-долу:
# 1) Лесен за употреба интерфейс
Oracle APEX е несложен и лесен за използване инструмент с лесен за използване интерфейс, известен като Универсална тема . Тази тема позволява на разработчиците да създават самореагиращи и интерактивни уеб приложения, тъй като е много богата и подкрепяща по отношение на насочването на потребителя през процеса на разработване на приложения. Разработчикът не трябва да бъде експерт по кодиращи езици като CSS, HTML или Javascript.
# 2) Управляван от данни
Този инструмент е много мощен и поддържа различни процеси за изграждане на приложения, които могат да бъдат използвани от индустриите за представяне на техните данни по необходимия начин. Това е инструмент, управляван от данни, който поддържа способността за ефективна обработка и манипулиране на данните. Той дава възможност на всеки потребител да персонализира своите отчети по техните уникални начини, използвайки компонента Интерактивен отчет.
# 3) Сигурност
Сигурността е едно от решаващите изисквания на всяка индустрия в наши дни. Oracle е проектирал APEX като способен да доставя силно защитени приложения, като стриктно спазва стандартите за сигурност.
# 4) Преносимост
Oracle APEX е преносим инструмент и потребителят може да използва тази функция според своите бизнес изисквания. Те могат да внедрят инструмента навсякъде и навсякъде в този свят, дори и в облака, при условие че има внедрена база данни на Oracle.
# 5) Мониторинг
Oracle APEX се предлага с възможности за наблюдение и регистриране, за да идентифицира всички проблеми с производителността, проблеми с приложенията или опити за хакерство.
# 6) Глобализация
Oracle APEX е проектиран по такъв начин, че да може да поддържа различни езици и свързана среда и следователно може да се използва от разработчици от различни части на света за разработване на техните приложения.
Архитектура на APEX
Oracle APEX има мощна архитектура, която се състои основно от 3 нива.
- Уеб браузър.
- Средно ниво: ORDS (Oracle Rest Data Services).
- Ниво на базата данни: База данни на Oracle (APEX).
[изображение източник ]
Нека да преминем през потока на заявките, за да разберем как работи.
Тук ще бъде генерирана уеб заявка на ниво браузър и след това предадена на Oracle Rest Data Services т.е. ПОРЪЧКИ. Освен това ORDS предава тази заявка на Oracle APEX в базата данни. Сега APEX ще обработи заявката и ще предаде отговора обратно на ORDS, който ще го предаде обратно на браузъра. Ето как заявката протича в рамките на архитектурата на APEX.
Oracle APEX предложи широка гама от решения, които помогнаха на разработчиците да решат своите бизнес проблеми в реално време. Той също така позволява на разработчиците да използват библиотеки на трети страни, които са разширение на APEX приложения. Тези разширения ще бъдат подобренията на приложенията, което го прави по-привилегировано и мощно.
Заедно с множество предимства, този инструмент има и малко ограничения. Те са изброени по-долу:
- Oracle APEX може да се инсталира само с инструменти, притежавани от Oracle, и може да се внедри заедно с базата данни на Oracle.
- Не са много уеб хостовете, които позволяват хостинг на Oracle APEX, поради което APEX остава с ограничен избор на хостинг.
- Контролът на версиите не е наличен и различните компоненти на приложението могат да бъдат достъпни и редактирани само с помощта на уеб интерфейс.
Заключение
В тази статия се предлагат различни възможности за разработка, предлагани от Oracle като SQL, PL / SQL и Oracle APEX е представен по-опростен начин заедно с техните характеристики, предимства и ограничения. Надявам се, че ви даде яснота относно използването на инструменти и езици за разработване на бази данни.
PREV Урок | СЛЕДВАЩ урок
Препоръчително четене
- Как да тествате базата данни на Oracle
- Урок за базата данни на Oracle - Какво представлява базата данни на Oracle?
- Водещи въпроси за интервюта за Oracle: Въпроси за Oracle Basic, SQL, PL / SQL
- PL SQL пакет: Урок за Oracle PL / SQL пакет с примери
- Водещи въпроси за интервюта за формуляри и доклади на Oracle
- Oracle Data Warehouse: Архитектура на Data Warehouse & More
- Реално тестване на приложения на Oracle - Решение за тестване на Oracle DB преди преминаване към производство
- Систематични начини за тестване на базата данни на Oracle за обработка на памет, пространство и процесор