| SQL czy PL/SQL |
|
|
|
| Written by Administrator | ||||||||
| Friday, 28 March 2008 11:53 | ||||||||
|
Postawmy sobie proste pytanie: jaka jest różnica między językami SLQ a PL/SQL. Aby można było sensownie odpowiedzieć na to pytanie należy na samym wstępie wyjaśnić czym są obie technologie. Język SQL SQL czyli Structured Query Language jest to ustrukturyzowany język zapytań do baz danych. W skrócie można podzielić SQL na dwie niezależne części: DDL oraz DML. Pierwsza z nich czyli Data Definiton Language służy do tworzenia oraz modyfikowania struktury bazy danych (tabele, widoki, indeksy, sekwencje, procedury i funkcje składowane itp.) oraz wszelkich metadanych związanych z bazą danych (parametry, sesje). Przykładowe słowa kluczowe związane z DDL to: CREATE TABLE, ALTER VIEW, CREATE OR REPLACE PROCEDURE. Druga część czyli Data Manipulation Language służy do modyfikowania danych znajdujących się w bazie. To DML odpowiada za takie polecenia jak SELECT, UPDATE, INSERT, DELETE. Poniżej przedstawiony kod przedstawia zapytanie DDL: create table tabela_testowa
Poniżej przedstawiony kod przedstawia zapytanie DML: insert into tabela_testowa values (1,'Test1');
Polecenia SQL Polecenia SQL są to polecenia, które tak naprawdę nie są częścią standardu SQL, a wspierają pracę narzędzi programistycznych. Przykładowo SQL*Plus posiada wiele komend, które ułatwiają pracę, lecz nie wchodzą w skład żadnego standardu. Jako polecenia SQL często brane są polecenia ułatwiające pracę np. z formatowaniem tekstu takie jak PRINT, COLUMN, BREAK itp, a także polecenia pozwalające na interakcje z bazą danych. Do tej grupy zaliczyć można polecenia takie jak CONNECT lub SHUTDOWN. Jeśli usłyszysz kiedyś od kogoś, że użył polecenia SQL upewnij się czy naprawdę mówi o SQLu.
Język PL/SQL Język PL/SQL jest proceduralnym rozszerzeniem języka SQL, a zarazem jest zaawansowanym językiem programowania czwartej generacji (4GL). Oferuje programistom zaawansowane elementy takie jak: enkapsulacja danych, kolekcje typów, obsługę wyjątków, przeciążenia itp. Co jednak znaczy powyższy opis. Kluczem do rozwiązania jest określenie: proceduralne rozszerzenie języka SQL. Język PL/SQL jest językiem proceduralnym podobnie jak Java, C++ i inne języki wysokiego poziomu.Język ten umożliwia definiowanie zmiennych, sterowanie przepływem danych poprzez użycie struktur warunkowych takich jak LOOP, IF, CASE, WHILE. Ponieważ PL/SQL jest rozszerzeniem SQL umożliwia on używanie standardowego SQLa wewnątrz swojego kodu. Pozwala on w prosty sposób modyfikować zawartością bazy danych. Upraszczając definicję języka PL/SQL można powiedzieć że jest to wbudowany w bazę danych Oracle język programowania który umożliwia rozwój oprogramowania po stronie bazy danych. Pozwala w prosty sposób wywoływać statyczne zapytania SQL oraz budować dynamiczne zapytania SQL.
Poniżej przedstawiony kod przedstawia blok anonimowy PL/SQL: BEGIN Różnice między SQL a PL/SQL A teraz odpowiedź na nurtujące nas pytanie: czym różni się PL/SQL od SQL. Język SQL jest językiem zorientowanym na pracę z danymi. Głównym celem zapytań w tym języku jest wyłuskiwanie i modyfikowanie (DML) danych zgromadzonych bazie, a także tworzenie i modyfikowanie struktury i metadanych (DDL) bazy danych. PL/SQL natomiast jest językiem proceduralnym przy pomocy, którego można tworzyć od podstaw aplikacje, tak jak w innych językach programowania. Co ważne nie można powiedzieć, że napisana została aplikacja przy pomocy języka SQL. Co najwyżej można powiedzieć że aplikacja korzysta z języka SQL w celu przeprowadzania operacji na bazie danych.
Powered by !JoomlaComment 3.25
3.25 Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved." |
||||||||
| Last Updated ( Friday, 28 March 2008 13:08 ) | ||||||||



