IT Baza danych

Oracle SQL

Znany też jako:PL/SQLOracle Database

Definicja #

Oracle SQL to implementacja języka SQL w systemie Oracle Database — jednej z najpotężniejszych i najdłużej rozwijanej korporacyjnej relacyjnej bazy danych, tworzonej przez Oracle Corporation (Larry Ellison, 1977). Oracle Database dominuje w środowiskach enterprise: bankowość, ubezpieczenia, telekomunikacja, systemy rządowe.

Oracle SQL rozszerza standardowy ANSI SQL o liczne funkcje specyficzne dla Oracle:

  • ROWNUM / ROWID — pseudokolumny do identyfikacji i ograniczania wierszy (starszy sposób, przed SQL:2003)
  • DUAL — specjalna tabela pomocnicza do wykonywania wyrażeń bez prawdziwej tabeli
  • NVL, NVL2, DECODE — funkcje obsługi NULL i warunkowe (starsze odpowiedniki COALESCE, CASE)
  • Funkcje analityczne (okienkowe)RANK(), DENSE_RANK(), LAG(), LEAD(), PARTITION BY
  • Hierarchical QueriesCONNECT BY PRIOR do zapytań hierarchicznych (drzewa, organigramy)
  • SekwencjeCREATE SEQUENCE do generowania unikalnych kluczy (bez AUTOINCREMENT)

PL/SQL (Procedural Language/SQL) to proceduralny język Oracle pozwalający na pisanie procedur składowanych, funkcji, triggerów, pakietów i kursorów. Umożliwia implementację złożonej logiki biznesowej bezpośrednio w bazie danych.

Zastosowania #

Oracle SQL i PL/SQL stosuje się do:

  • Systemów korporacyjnych o wysokich wymaganiach niezawodności — bankowość, ubezpieczenia, telekomunikacja, systemy ERP (SAP na Oracle)
  • Złożonych raportów i analityki biznesowej z funkcjami okienkowymi i hierarchicznymi zapytaniami
  • Implementacji logiki biznesowej w procedurach składowanych i pakietach PL/SQL
  • Migracji i integracji danych w środowiskach korporacyjnych z Oracle Data Integrator (ODI)
  • Systemów hurtowni danych (Oracle Exadata, Oracle Autonomous Data Warehouse)

Ścieżka nauki #

Oracle SQL jest szczególnie ważny dla programistów i DBA w środowiskach korporacyjnych.

Zacznij od:

  • Standardowy SQL — Oracle SQL jest jego rozszerzeniem; opanuj najpierw SELECT, JOIN, GROUP BY, podzapytania
  • Specyfika Oracle: DUAL, ROWNUM, NVL, DECODE, sekwencje, format daty (TO_DATE, TO_CHAR)
  • Oracle SQL Developer lub SQL*Plus — bezpłatne narzędzia do pracy z Oracle Database

Następnie poznaj:

  • PL/SQL — bloki anonimowe, procedury składowane, funkcje, kursory, obsługa wyjątków
  • Pakiety PL/SQL — organizacja procedur i funkcji
  • Optymalizacja zapytań — EXPLAIN PLAN, wskazówki (hints), indeksy (B-tree, Bitmap, Function-based)
  • Oracle-specyficzne funkcje zaawansowane: Partitioning, RAC (Real Application Clusters), Advanced Security

FAQ #

Czym Oracle SQL różni się od standardowego SQL?
Oracle SQL rozszerza standardowy ANSI SQL o specyficzne elementy: pseudokolumny ROWNUM/ROWID, tabelę DUAL, funkcje NVL/DECODE, składnię CONNECT BY do zapytań hierarchicznych, inne podejście do NULL i dat. Kod SQL z Oracle często nie działa bezpośrednio na PostgreSQL czy MySQL bez modyfikacji.
Czym jest PL/SQL?
PL/SQL (Procedural Language/SQL) to proceduralny język programowania Oracle, rozszerzający SQL o zmienne, pętle, warunki, wyjątki i struktury blokowe. Umożliwia pisanie procedur składowanych, funkcji, triggerów i pakietów wykonywanych bezpośrednio w bazie Oracle.
Czy Oracle Database jest darmowy?
Oracle Database Express Edition (XE) jest bezpłatny z ograniczeniami (2 CPU, 2 GB RAM, 12 GB danych). Oracle Database Standard Edition i Enterprise Edition wymagają licencji — jednych z najdroższych na rynku. Licencjonowanie Oracle jest notoryczne ze swojej złożoności.
Ile zarabia Oracle DBA lub Oracle Developer?
Oracle DBA z doświadczeniem zarabia w Polsce od 12 000 do 22 000 zł brutto. Oracle Developer znający PL/SQL, szczególnie w systemach finansowych i bankowych, od 14 000 do 24 000 zł. Oracle jest dominującą bazą w sektorze finansowym i korporacyjnym, gdzie stawki są wyższe.
Ostatnia aktualizacja:

Powiązane hasła

Technologie i biblioteki, które najczęściej pojawiają się razem z Oracle SQL w ogłoszeniach.

Cały słownik IT

Przeglądaj słownik IT alfabetycznie

Wybierz literę, aby zobaczyć wszystkie hasła zaczynające się od niej.