Podstawy SQL

Relacyjne bazy danych używają DDL, DML, DCL i złączeń do tworzenia i raportowania danych

Spis treściZwiększać

Strukturalny język zapytań (SQL) jest jednym z podstawowych elementów nowoczesnej architektury baz danych. SQL definiuje metody używane do tworzenia relacyjnych baz danych i manipulowania nimi na wszystkich głównych platformach. Na pierwszy rzut oka język może wydawać się onieśmielający i złożony, ale nie jest to aż tak trudne.





O SQL

Prawidłowa wymowa SQL jest kontrowersyjną kwestią w społeczności baz danych. Amerykański National Standards Institute w swoim standardzie SQL zadeklarował, że oficjalna wymowa to „es queue el”. Jednak wielu specjalistów od baz danych przyjęło slangową wymowę „sequel”. Podobnie jak w przypadku wymowy GIF , nie ma właściwej odpowiedzi.

SQL ma wiele odmian. Bazy danych Oracle korzystają z własnego PL/SQL. Microsoft SQL Server korzysta z Transact-SQL. Wszystkie warianty są oparte na standardzie branżowym ANSI SQL.



To wprowadzenie wykorzystuje polecenia SQL zgodne z ANSI, które działają w każdym nowoczesnym systemie relacyjnych baz danych.

DDL i DML

Polecenia SQL można podzielić na dwa główne podjęzyki. Język definicji danych zawiera polecenia używane do tworzenia i niszczenia baz danych i obiektów baz danych. Po zdefiniowaniu struktury bazy danych za pomocą DDL, administratorzy i użytkownicy bazy danych mogą używać języka manipulacji danymi do wstawiania, pobierania i modyfikowania danych w nim zawartych.



SQL obsługuje trzeci typ składni o nazwie Język kontroli danych . DCL zarządza dostępem bezpieczeństwa do obiektów w bazie danych. Na przykład skrypt DCL przyznaje lub odwołuje określone konta użytkowników do odczytu lub zapisu do tabel w jednym lub większej liczbie zdefiniowanych obszarów bazy danych. W większości zarządzanych środowisk wielu użytkowników administratorzy baz danych zwykle wykonują skrypty DCL.

Polecenia języka definicji danych

Język definicji danych służy do tworzenia i niszczenia baz danych i obiektów baz danych. Polecenia te są używane głównie przez administratorów baz danych podczas fazy instalacji i usuwania projektu bazy danych. DDL obraca się wokół czterech podstawowych poleceń: Stwórz , posługiwać się , zmieniać , oraz upuszczać .

Tworzyć

The Stwórz polecenie ustanawia bazy danych, tabele lub zapytania na twojej platformie. Na przykład polecenie:

|_+_|

tworzy pustą bazę danych o nazwie pracownicy na twoim DBMS. Po utworzeniu bazy kolejnym krokiem jest utworzenie tabel zawierających dane. Inny wariant Stwórz polecenie spełnia ten cel. Komenda:



|_+_|

ustanawia tabelę zatytułowaną dane osobiste w aktualnej bazie danych. W przykładzie tabela zawiera trzy atrybuty: Imię , nazwisko , oraz dowód pracownika wraz z dodatkowymi informacjami.

Posługiwać się

The posługiwać się polecenie określa aktywną bazę danych. Na przykład, jeśli aktualnie pracujesz w bazie danych sprzedaży i chcesz wydać jakieś polecenia, które będą miały wpływ na bazę pracowników, poprzedź je następującym poleceniem SQL:



|_+_|

Sprawdź dokładnie bazę danych, w której pracujesz, zanim wydasz polecenia SQL, które manipulują danymi.

Zmieniać

Po utworzeniu tabeli w bazie danych zmodyfikuj jej definicję za pomocą zmieniać polecenie, które zmienia strukturę tabeli bez jej usuwania i ponownego tworzenia. Spójrz na następujące polecenie:



|_+_|

Podobnie poniższe polecenie posłużyłoby do usunięcia całej bazy pracowników:

|_+_|

Używaj tego polecenia ostrożnie. The upuszczać polecenie usuwa całe struktury danych z bazy danych. Jeśli chcesz usunąć pojedyncze rekordy, użyj kasować polecenie języka manipulacji danymi.



Polecenia języka manipulacji danymi

Język manipulacji danymi służy do pobierania, wstawiania i modyfikowania informacji z bazy danych. Te polecenia DML oferują typową strukturę rutynowej interakcji z bazą danych.

Wstawić

The wstawić polecenie dodaje rekordy do istniejącej tabeli. Wracając do przykładu personal_info z poprzedniej sekcji, wyobraź sobie, że nasz dział HR musi dodać nowego pracownika do swojej bazy danych. Użyj polecenia podobnego do tego:

|_+_|

Zauważ, że dla rekordu określone są cztery wartości. Odpowiadają one atrybutom tabeli w kolejności, w jakiej zostały zdefiniowane: Imię , nazwisko , dowód pracownika oraz pensja .

Wybierz

The Wybierz polecenie jest najczęściej używanym poleceniem w SQL. Pobiera określone informacje z operacyjnej bazy danych. Spójrz na kilka przykładów, ponownie korzystając z tabeli personal_info z bazy danych pracowników.

Poniższe polecenie pobiera wszystkie informacje zawarte w tabeli personal_info. Gwiazdka to symbol wieloznaczny w SQL.

|_+_|

Ewentualnie ogranicz atrybuty pobierane z bazy danych, określając Co zostanie wybrany. Na przykład dział zasobów ludzkich może wymagać wykazu nazwisk wszystkich pracowników firmy. Następujące polecenie SQL pobierze tylko te informacje:

|_+_|

The gdzie Klauzula ogranicza pobierane rekordy do tych, które spełniają określone kryteria. Dyrektor generalny może być zainteresowany przeglądem dokumentacji kadrowej wszystkich wysoko opłacanych pracowników. Następujące polecenie pobiera wszystkie dane zawarte w personal_info dla rekordów o wartości wynagrodzenia większej niż 50 000 USD:

|_+_|

Aktualizacja

The aktualizacja polecenie modyfikuje informacje zawarte w tabeli, zbiorczo lub pojedynczo. Załóżmy, że firma zapewnia wszystkim pracownikom roczny wzrost kosztów utrzymania o 3%. Następujące polecenie SQL stosuje to uderzenie do wszystkich pracowników przechowywanych w bazie danych:

|_+_|

Kiedy nowy pracownik, Bart Simpson, wykaże się wydajnością wykraczającą poza obowiązki, kierownictwo pragnie docenić jego wybitne osiągnięcia poprzez podwyżkę w wysokości 5000 USD. Klauzula WHERE wyróżnia Barta za tę podwyżkę:

|_+_|

Usuwać

Na koniec spójrzmy na kasować Komenda. Przekonasz się, że składnia tego polecenia jest podobna do składni innych poleceń DML. Polecenie USUŃ z gdzie klauzula, usuń rekord z tabeli:

|_+_|

DML obsługuje również pola agregujące. W Wybierz oświadczenie, operatory matematyczne, takie jak suma oraz liczyć podsumować dane w zapytaniu. Na przykład zapytanie:

wybierz count(*) z personal_info;

zlicza liczbę rekordów w tabeli.

Połączenia baz danych

A Przystąp Instrukcja łączy dane w kilku tabelach, aby wydajnie przetwarzać duże ilości danych. W tych stwierdzeniach tkwi prawdziwa moc bazy danych.

Aby zbadać zastosowanie podstawowego Przystąp Operacja łączenia danych z dwóch tabel, kontynuuj przykład używając tabeli personal_info i dodaj dodatkową tabelę do miksu. Załóżmy, że masz stół o nazwie postępowanie dyscyplinarne który został utworzony z następującym oświadczeniem:

|_+_|

Poniższa tabela zawiera wyniki działań dyscyplinarnych wobec pracowników firmy. Nie zawiera żadnych informacji o pracowniku poza numerem pracownika.

Załóżmy, że otrzymałeś zadanie stworzenia raportu zawierającego wykaz działań dyscyplinarnych podjętych wobec wszystkich pracowników z pensją przekraczającą 40 000 USD. Użycie operacji JOIN w tym przypadku jest proste. Pobierz te informacje za pomocą następującego polecenia:

|_+_|

Rodzaje połączeń

Typy łączenia w SQL

Połączenia występują w kilku smakach. W instrukcji SQL pierwsza tabela (zwykle nazywana Tabela A albo Lewy stół ) dołącza do drugiej tabeli (zwykle nazywanej Tabela B albo Prawy stół ) w sposób uwzględniający pozycję. Tak więc, jeśli zmienisz kolejność tabel w instrukcji join, wyniki operacji będą się różnić. Główne typy sprzężenia to:

    Połączenie wewnętrzne: Dopasowuje tylko rekordy, w których na warunek pasuje do tych samych rekordów w obu tabelach.Połączenie zewnętrzne: Dopasowuje tylko rekordy z obu tabel, które wykluczać wyniki zidentyfikowane w na stan.Prawe Dołącz: Dopasowuje wszystkie rekordy z Tabeli B oraz rekordy z Tabeli A, które pasują do na stan.Dołącz do lewej: Dopasowuje wszystkie rekordy z Tabeli A oraz rekordy z Tabeli B, które pasują do na stan.Połączenie krzyżowe: Dopasowuje wszystkie rekordy tak, jakby tabele były identyczne. Ten proces generuje coś, co nazywa się produkt kartezjański . Często sprzężenia krzyżowe są niepożądane, ponieważ dopasowują każdy wiersz tabeli A indywidualnie do każdego wiersza tabeli B. Tak więc, jeśli tabela A oferowała pięć rekordów, a tabela B zawierała 9 rekordów, zapytanie ze sprzężeniem krzyżowym oferuje 45 wynikowych wydziwianie.