• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • SQL



    Podstrony: [1] 2 [3] [4]
    Przeczytaj także...
    Międzynarodowa Organizacja Normalizacyjna, ISO (ang. International Organization for Standardization, fr. Organisation internationale de normalisation) – organizacja pozarządowa zrzeszająca krajowe organizacje normalizacyjne.4GL (4th Generation Language - język czwartej generacji) - język programowania, pozwalający przy użyciu krótkich instrukcji stworzyć program, którego napisanie w językach niższej (np. trzeciej, 3GL) generacji wymaga użycia setek lub tysięcy razy większej liczby wierszy kodu źródłowego. 4GL często dopuszcza pisanie fragmentów kodu w kilku językach 3GL jednocześnie.
    Funkcje silnika i oprogramowania pośredniczącego[ | edytuj kod]

    Produkty związane z relacyjnymi bazami danych to nie tylko serwery. Sam serwer określa się często takimi nazwami jak „back end”, „engine”, czy też „motor/silnik bazy danych”. Przechowuje on dane oraz zapewnia ich pobieranie i aktualizacje w odpowiedzi na pobierane instrukcje w SQL-u.

    OLAP (ang. OnLine Analytical Processing) – oprogramowanie wspierające podejmowanie decyzji, które pozwala użytkownikowi analizować szybko informacje zawarte w wielowymiarowych widokach i hierarchiach. Narzędzia OLAP są często używane do wykonywania analiz trendów sprzedaży, czy też analiz finansowych (hurtownia danych). Są też przydatne do wstępnego przeglądania zbioru danych przez analityka we wstępnej fazie analiz statystycznych.Apache Derby – system zarządzania relacyjnymi bazami danych napisany w języku Java i przeznaczony do wykorzystania w oprogramowaniu napisanym w Javie. Projekt rozwijany jest przez Apache Software Foundation i rozpowszechniany na otwartej licencji Apache License 2.0.

    Uzupełnieniem serwera jest zazwyczaj „front end”, „oprogramowanie pośredniczące” czy też „fronton” – narzędzia upraszczające komunikację z serwerem i wyposażone w mechanizmy pozwalające wykorzystać pobrane dane. Należą do nich mechanizmy generowania i obsługi formularzy oraz raportów, języki czwartej generacji (4GL), graficzne języki zapytań, narzędzia konstrukcyjne użytkownika, oprogramowanie do prezentacji multimedialnych, systemy tworzenia hipertekstu, systemy CAD/CAM, arkusze kalkulacyjne, jak również interfejsy dostępu bezpośredniego. Wszystkie one wykorzystują do komunikacji z serwerem i wykonywania za jego pośrednictwem różnych operacji język SQL. Serwer odpowiada za przechowywanie, porządkowanie i pobieranie danych, zapewnia ich integralność, bezpieczeństwo oraz zabezpiecza przed ewentualnymi konfliktami między użytkownikami.

    Programowanie proceduralne to paradygmat programowania zalecający dzielenie kodu na procedury, czyli fragmenty wykonujące ściśle określone operacje.Komputer (z ang. computer od łac. computare – liczyć, sumować; dawne nazwy używane w Polsce: mózg elektronowy, elektroniczna maszyna cyfrowa, maszyna matematyczna) – maszyna elektroniczna przeznaczona do przetwarzania informacji, które da się zapisać w formie ciągu cyfr albo sygnału ciągłego.

    Formy SQL-a[ | edytuj kod]

    Z technicznego punktu widzenia, SQL jest podjęzykiem danych. Oznacza to, że jest on wykorzystywany wyłącznie do komunikacji z bazą danych. Nie posiada on cech pozwalających na tworzenie kompletnych programów. Jego wykorzystanie może być trojakie i z tego względu wyróżnia się trzy formy SQL-a:

    Multimedia (łac. multum + medium) – media, stanowiące połączenie kilku różnych form przekazu informacji (np. tekstu, dźwięku, grafiki, animacji, wideo) w celu dostarczania odbiorcom informacji lub rozrywki. Termin „multimedia” ma również zastosowanie w mediach elektronicznych służących do rejestrowania oraz odtwarzania treści multimedialnych. Multimedia posiadają cechy tradycyjnych technik mieszanych i sztuk pięknych, jednak mają szerszy zakres. Termin bogate media jest synonimem terminu multimedia interaktywne.XML (ang. Extensible Markup Language, w wolnym tłumaczeniu Rozszerzalny Język Znaczników) – uniwersalny język formalny przeznaczony do reprezentowania różnych danych w strukturalizowany sposób.
    1. SQL interakcyjny (autonomiczny) wykorzystywany jest przez użytkowników w celu bezpośredniego pobierania lub wprowadzania informacji do bazy. Przykładem może być zapytanie prowadzące do uzyskania zestawienia aktywności kont w miesiącu. Wynik jest wówczas przekazywany na ekran, z ewentualną opcją przekierowania go do pliku lub drukarki.
    2. Statyczny kod SQL (Static SQL) nie ulega zmianom i pisany jest wraz z całą aplikacją, podczas której pracy jest wykorzystywany. Nie ulega zmianom w sensie zachowania niezmiennej treści instrukcji, które jednak zawierać mogą odwołania do zmiennych lub parametrów przekazujących wartości z lub do aplikacji. Statyczny SQL występuje w dwóch odmianach.
      1. Embedded SQL (Osadzony SQL) oznacza włączenie kodu SQL do kodu źródłowego innego języka. Większość aplikacji pisana jest w takich językach jak C++ czy Java, jedynie odwołania do bazy danych realizowane są w SQL. W tej odmianie statycznego SQL-a do przenoszenia wartości wykorzystywane są zmienne.
      2. Język modułów. W tym podejściu moduły SQL łączone są z modułami kodu w innym języku. Moduły kodu SQL przenoszą wartości do i z parametrów, podobnie jak to się dzieje przy wywoływaniu podprogramów w większości języków proceduralnych. Jest to pierwotne podejście, zaproponowane w standardzie SQL. Embedded SQL został do oficjalnej specyfikacji włączony nieco później.
    3. Dynamiczny kod SQL (Dynamic SQL) generowany jest w trakcie pracy aplikacji. Wykorzystuje się go w miejsce podejścia statycznego, jeżeli w chwili pisania aplikacji nie jest możliwe określenie treści potrzebnych zapytań – powstaje ona w oparciu o decyzje użytkownika. Tę formę SQL generują przede wszystkim takie narzędzia jak graficzne języki zapytań. Utworzenie odpowiedniego zapytania jest tu odpowiedzią na działania użytkownika.

    Wymagania tych trzech form różnią się i znajduje to odbicie w wykorzystywanych przez nie konstrukcjach językowych. Zarówno statyczny, jak i dynamiczny SQL uzupełniają formę autonomiczną cechami odpowiednimi tylko w określonych sytuacjach. Zasadnicza część języka pozostaje jednak dla wszystkich form identyczna.

    Język zapytań (ang.) query language – język stosowany do formułowania zapytań w odniesieniu do baz danych. W odpowiedzi uzyskuje się zestawienia danych, zwane raportami. Najbardziej znane języki zapytań to SQL oraz xBase.Informix – rodzina produktów Systemów Zarządzania Bazami Danych (SZBD) firmy IBM. Informix jest oferowany jako flagowy serwer dla przetwarzania transakcyjnego (OLTP) jak i rozwiązań zintegrowanych. IBM nabył technologię Informix w 2001 od Informix Software.

    Składnia SQL[ | edytuj kod]

    Użycie SQL, zgodnie z jego nazwą, polega na zadawaniu zapytań do bazy danych. Zapytania można zaliczyć do jednego z czterech głównych podzbiorów:

  • SQL DML (ang. Data Manipulation Language – „język manipulacji danymi”),
  • SQL DDL (ang. Data Definition Language – „język definicji danych”),
  • SQL DCL (ang. Data Control Language – „język kontroli nad danymi”).
  • SQL DQL (ang. Data Query Language – „język definiowania zapytań”).
  • Instrukcje SQL w obrębie zapytań tradycyjnie zapisywane są wielkimi literami, jednak nie jest to wymóg.

    PostgreSQL (/poːst ɡɹɛs kjuː ɛl/) często nazywany także Postgres to, obok MySQL i SQLite, jeden z trzech najpopularniejszych otwartych systemów zarządzania relacyjnymi bazami danych. Początkowo opracowywany na Uniwersytecie Kalifornijskim w Berkeley i opublikowany pod nazwą Ingres. W miarę rozwoju i zwiększania funkcjonalności, baza danych otrzymała nazwy Postgres95 i ostatecznie PostgreSQL, aby upamiętnić pierwowzór oraz zaznaczyć zgodność ze standardem SQL. Aktualnie baza implementuje większość standardu SQL:2011. Hipertekst – organizacja danych w postaci niezależnych leksji połączonych hiperłączami. Hipertekst cechuje nielinearność i niestrukturalność układu leksji. Oznacza to, że nie ma z góry zdefiniowanej kolejności czytania leksji, a nawigacja między nimi zależy wyłącznie od użytkownika.

    Dodatkowo, niektóre programy do łączenia się z silnikiem bazy danych (np. psql w przypadku PostgreSQL) używają swoich własnych instrukcji, spoza standardu SQL, które służą np. do połączenia się z bazą, wyświetlenia dokumentacji itp.

    DML[ | edytuj kod]

    DML (Data Manipulation Language) służy do wykonywania operacji na danych – do ich umieszczania w bazie, kasowania, przeglądania oraz dokonywania zmian. Najważniejsze polecenia z tego zbioru to:

  • INSERT – umieszczenie danych w bazie,
  • UPDATE – zmiana danych,
  • DELETE – usunięcie danych z bazy.
  • Dane tekstowe muszą być zawsze ujęte w znaki pojedynczego cudzysłowu (').

    Liczby całkowite – liczby naturalne dodatnie N + = { 1 , 2 , 3 , … } {displaystyle mathbb {N} _{+}={1,2,3,dots }} oraz liczby przeciwne do nich { − 1 , − 2 , − 3 , … } {displaystyle {-1,-2,-3,dots }} , a także liczba zero. Uogólnieniem liczb całkowitych są liczby wymierne i tym samym liczby rzeczywiste, szczególnym przypadkiem liczb całkowitych są: liczby naturalne.Plik danych, plik komputerowy, zwykle krótko plik – uporządkowany zbiór danych o skończonej długości, posiadający szereg atrybutów i stanowiący dla użytkownika systemu operacyjnego całość. Nazwa pliku nie jest jego częścią, lecz jest przechowywana w systemie plików.

    DDL[ | edytuj kod]

    Dzięki DDL (Data Definition Language) można operować na strukturach, w których dane są przechowywane – czyli np. dodawać, zmieniać i kasować tabele lub bazy. Najważniejsze polecenia tej grupy to:

  • CREATE (np. CREATE TABLE, CREATE DATABASE, ...) – utworzenie struktury (bazy, tabeli, indeksu itp.),
  • DROP (np. DROP TABLE, DROP DATABASE, ...) – usunięcie struktury,
  • ALTER (np. ALTER TABLE ADD COLUMN ...) – zmiana struktury (dodanie kolumny do tabeli, zmiana typu danych w kolumnie tabeli).
  • DCL[ | edytuj kod]

    DCL (Data Control Language) ma zastosowanie do nadawania uprawnień do obiektów bazodanowych. Najważniejsze polecenia w tej grupie to:

    Hawker Siddeley – brytyjska wytwórnia lotnicza. Firma przeszła długą ewolucję, zanim w latach sześćdziesiątych wyłoniła się jako jeden z dwóch głównych brytyjskich producentów samolotów i ostatecznie w 1977 r. została włączona w skład koncernu British Aerospace.Microsoft Access - system obsługi relacyjnych baz danych, wchodzący w skład pakietu biurowego Microsoft Office dla środowiska Windows. Od wersji 2.0 dostępny w wersji polskiej.
  • GRANT – służące do nadawania uprawnień do pojedynczych obiektów lub globalnie konkretnemu użytkownikowi (np. GRANT ALL PRIVILEGES ON EMPLOYEE TO PIOTR WITH GRANT OPTION – przyznanie wszystkich praw do tabeli EMPLOYEE użytkownikowi PIOTR z opcją pozwalającą mu nadawać prawa do tej tabeli).
  • REVOKE – służące do odbierania wskazanych uprawnień konkretnemu użytkownikowi (np. REVOKE ALL PRIVILEGES ON EMPLOYEE FROM PIOTR – odebranie użytkownikowi wszystkich praw do tabeli EMPLOYEE).
  • DENY – służące do zabraniania wykonywania operacji
  • DQL[ | edytuj kod]

    DQL (Data Query Language) to język formułowania zapytań do bazy danych. W zakres tego języka wchodzi jedno polecenie – SELECT. Często SELECT traktuje się jako część języka DML, ale to podejście nie wydaje się właściwe, ponieważ DML z definicji służy do manipulowania danymi – ich tworzenia, usuwania i uaktualniania. Na pograniczu obu języków znajduje się polecenie SELECT INTO, które dodatkowo modyfikuje (przepisuje, tworzy) dane.

    SQLite – to system zarządzania bazą danych oraz biblioteka C implementująca taki system, obsługująca język SQL (ang. Structured Query Language). Została stworzona przez Richarda Hippa i jest dostępna na licencji public domain. Projekt został rozpoczęty w roku 2000.Microsoft SQL Server (MS SQL) to system zarządzania bazą danych, wspierany i rozpowszechniany przez korporację Microsoft. Jest to główny produkt bazodanowy tej firmy, który charakteryzuje się tym, iż jako język zapytań używany jest przede wszystkim Transact-SQL, który stanowi rozwinięcie standardu ANSI/ISO.

    Przykładowe zapytania[ | edytuj kod]

    Przykłady użycia wyżej wymienionych rodzajów zapytań:

    SELECT *
        FROM pracownicy
        WHERE pensja > 2000
        ORDER BY staz DESC;
    
    Zwraca tabelę (listę) utworzoną ze wszystkich kolumn (*) tabeli „pracownicy” (FROM pracownicy) zawierającą pracowników, których pensja jest większa niż 2000 (WHERE pensja > 2000) i sortuje wynik malejąco według parametru staz (ORDER BY staz DESC).
    INSERT INTO pracownicy
        (imie, nazwisko, pensja, staz)
    VALUES
        ('Jan', 'Kowalski', 5500, 1);
    
    Dodaje do tabeli „pracownicy” (INTO pracownicy) wiersz (rekord) zawierający dane pojedynczego pracownika.
    UPDATE pracownicy
        SET pensja = pensja * 1.1
        WHERE staz > 2;
    
    Podwyższa o 10% pensję (SET pensja = pensja * 1.1) pracownikom, których staż jest większy niż 2 (np. lata).
    DELETE FROM pracownicy
        WHERE imie = 'Jan' AND nazwisko = 'Kowalski';
    
    Usuwa z tabeli „pracownicy” wszystkie wiersze (rekordy) dotyczące pracownika o imieniu „Jan” i nazwisku „Kowalski” (czyli takie, w których pole „imię” ma wartość Jan, a pole „nazwisko” – Kowalski).
    CREATE TABLE pracownicy
    (
        imie varchar(255),
        nazwisko varchar(255),
        pensja float,
        staz int
    );
    
    Tworzy tabelę „pracownicy” zawierającą pola tekstowe zmiennej długości (varchar) o nazwach „imie” (imię) i „nazwisko”, o maksymalnej długości 255 znaków, zapisaną za pomocą liczby rzeczywistej (float od ang. floating point) pensję oraz zapisany za pomocą liczby całkowitej (int od ang. integer) staż.
    DROP TABLE pracownicy;
    
    Usuwa z bazy tabelę „pracownicy”.
    ALTER TABLE pracownicy
        ADD dzial varchar(255);
    
    Dodaje do struktury tabeli „pracownicy” kolumnę „dzial” (dział), jako pole tekstowe o długości maks. 255 bajtów.
    Sybase Inc. (NYSE: SY) – założona w 1984 w Berkeley firma produkująca systemy bazodanowe, narzędzia do modelowania i budowania systemów, rozwiązania mobilne.Nationalencyklopedin – największa, szwedzka encyklopedia współczesna. Jej stworzenie było możliwe dzięki kredytowi w wysokości 17 mln koron, którego udzielił rząd szwedzki w 1980 roku i który został spłacony w 1990. Drukowana wersja składa się z 20 tomów i zawiera 172 tys. haseł. Wersja internetowa zawiera 260 tys. haseł (stan z czerwca 2005). Inicjatorem projektu był rząd szwedzki, który rozpoczął negocjacje z różnymi wydawcami. Negocjacje zakończyły się w 1985, kiedy na wydawcę został wybrany Bra Böcker z Höganäs. Encyklopedia miała uwzględniać kwestie genderowe i związane z ochroną środowiska. Pierwszy tom ukazał się w 1989 roku, ostatni w 1996. Dodatkowo w roku 2000 ukazały się trzy dodatkowe tomy. Encyklopedię zamówiło 54 tys. osób. W 1997 roku ukazało się wydanie elektroniczne na CD, a w 2000 pojawiło się wydanie internetowe, które jest uzupełniane na bieżąco.


    Podstrony: [1] 2 [3] [4]



    w oparciu o Wikipedię (licencja GFDL, CC-BY-SA 3.0, autorzy, historia, edycja)

    Warto wiedzieć że... beta

    Programowanie deklaratywne — rodzina paradygmatów programowania, które nie są z natury imperatywne. W przeciwieństwie do programów napisanych imperatywnie, programista opisuje warunki, jakie musi spełniać końcowe rozwiązanie (co chcemy osiągnąć), a nie szczegółową sekwencję kroków, które do niego prowadzą (jak to zrobić). Programowanie deklaratywne często traktuje programy jako pewne hipotezy wyrażone w logice formalnej, a wykonywanie obliczeń jako ich dowodzenie. Programowanie deklaratywne jest szczególnym przedmiotem zainteresowania naukowców, gdyż dzięki minimalizacji lub eliminacji skutków ubocznych może znacząco uprościć tworzenie programów współbieżnych. Paradygmat programowania deklaratywnego obejmuje szeroką gamę języków programowania i bardziej szczegółowych paradygmatów podrzędnych.
    Drukarka – urządzenie współpracujące z komputerem oraz innymi urządzeniami, służące do przenoszenia danego tekstu, obrazu na różne nośniki druku (papier, folia, płótno itp.). Niektóre drukarki potrafią również pracować bez komputera, np. drukować zdjęcia wykonane cyfrowym aparatem fotograficznym (po podłączeniu go do drukarki lub po włożeniu karty pamięci z zapisanymi zdjęciami do wbudowanego w drukarkę slotu).
    Library of Congress Control Number (LCCN) – numer nadawany elementom skatalogowanym przez Bibliotekę Kongresu wykorzystywany przez amerykańskie biblioteki do wyszukiwania rekordów bibliograficznych w bazach danych i zamawiania kart katalogowych w Bibliotece Kongresu lub u innych komercyjnych dostawców.
    InterBase SQL – system relacyjnych baz danych, pracujący w technologii klient-serwer, w którym została zaimplementowana pełna składnia języka SQL. Jest to łatwy w obsłudze i administrowaniu system baz danych, dostępny dla środowisk Microsoft Windows, Solaris i Linux.
    SQL Injection (z ang., dosłownie zastrzyk SQL) – luka w zabezpieczeniach aplikacji internetowych polegająca na nieodpowiednim filtrowaniu lub niedostatecznym typowaniu i późniejszym wykonaniu danych przesyłanych w postaci zapytań SQL do bazy danych. Podatne są na niego systemy złożone z warstwy programistycznej (przykładowo skrypt w PHP, ASP, JSP itp.) dynamicznie generującej zapytania do bazy danych (MySQL, PostgreSQL itp.). Wynika on zwykle z braku doświadczenia lub wyobraźni programisty.
    Oracle Corporation NASDAQ: ORCL – amerykańskie przedsiębiorstwo zajmujące się tworzeniem oprogramowania do szeroko rozumianej obsługi przedsiębiorstw, a w szczególności systemów zarządzania bazą danych (zobacz: baza danych Oracle). Oracle jest trzecim pod względem przychodów sprzedawcą oprogramowania na świecie po firmach Microsoft i IBM.
    Arkusz kalkulacyjny to program komputerowy przedstawiający dane, głównie liczbowe, w postaci zestawu dużych tabel dwuwymiarowych, pozwalający na automatyczną obróbkę tych danych oraz na prezentację ich w różny sposób.

    Reklama

    Czas generowania strony: 0.753 sek.