P o d s t a w y j ę z y k a S Q L



Podobne dokumenty
Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

Przestrzenne bazy danych Podstawy języka SQL

Adam Cankudis IFP UAM

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro

Projektowanie systemów baz danych

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

Wprowadzenie do języka SQL

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Systemy GIS Tworzenie zapytań w bazach danych

Wykład 5. SQL praca z tabelami 2

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

Język SQL, zajęcia nr 1

Paweł Rajba

Ref. 7 - Język SQL - polecenia DDL i DML

Relacyjne bazy danych. Podstawy SQL

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Relacyjne bazy danych. Podstawy SQL

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Język SQL. Rozdział 2. Proste zapytania

Zadania z SQLa (MS SQL Server)

Wykład 05 Bazy danych

SQL (ang. Structured Query Language)

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

BAZY DANYCH. Wykład 1: Wprowadzenie do baz danych. Marcin Czajkowski. Przygotowanie wykładu: Małgorzata Krętowska

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski

Przykładowa baza danych BIBLIOTEKA

Bazy danych. Dr inż. Paweł Kasprowski

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

Wykład 8. SQL praca z tabelami 5

Bazy danych i usługi sieciowe

Język SQL podstawy zapytań

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Bazy danych. Polecenia SQL

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

SQL Structured Query Language

Podstawowe informacje o bazach danych. Technologie Informacyjne

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Podstawowe zapytania SELECT (na jednej tabeli)

Wykład 5 Charakterystyka języka SQL. Elementy obliczeń relacyjnych.

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych

Wykład 6. SQL praca z tabelami 3

Wprowadzenie do baz danych

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

Laboratorium nr 7. Temat: Podstawy języka zapytań SQL (część 1) 1. Wprowadzenie do laboratorium

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Wykład :45 BD-1 W_3

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Bazy danych SQL Server 2005

2. Język SQL SQL jest językiem deklaratywnym (Charakterystyczną cechą języków

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Widok Connections po utworzeniu połączenia. Obszar roboczy

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Komunikacja z bazą danych psql

SQL Structured Query Language

Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I

Grupowanie i funkcje agregujące

Bazy danych - Materiały do laboratoriów VIII

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

Język SQL, zajęcia nr 2

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Systemy internetowe. Wykład 4 mysql. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

Oracle11g: Wprowadzenie do SQL

PODSTAWY BAZ DANYCH 13. PL/SQL

Bazy Danych i Usługi Sieciowe

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

22. Podstawowe pojęcia baz danych. Baza Danych. Funkcje bazy danych. Właściwości bazy danych. Modele baz danych.

040 STRUCTURED QUERY LANGUAGE. Prof. dr hab. Marek Wisła

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

Bazy danych i usługi sieciowe

Technologie baz danych

PODSTAWOWE POJĘCIA BAZ DANYCH

Wstęp do relacyjnych baz danych. Jan Bartoszek

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

ACESS- zadania z wykorzystaniem poleceń SQL

Bazy danych 7. SQL podstawy

PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Bazy Danych. SQL Podstawy języka III: powtórzenie. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

LAB 3 (część 1 Projektu)

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Bazy danych 6. Klucze obce. P. F. Góra

Wyższa Szkoła Zarządzania i Marketingu w Sochaczewie. Grzegorz Domaoski. grzegorz.domanski@wszim-sochaczew.edu.pl. MS SQL Server

Transkrypt:

P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM

Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych

K o n c e p c j e r e l a c y j n y c h b a z d a n y c h Tabela (relacja) atrybut krotka (wiersz, rekord) id Imie Nazwisko Rurodz 1 Jan Nowak 1959 2 Artur Kowalski 1962 3 Maciej Kucharski 1948 4 Jan Kowalski 1981 klucz główny wartość

S Q L Structured Query Language strukturalny język zapytań używany do definiowania, modyfikowania i usuwania struktur danych oraz do umieszczania, pobierania, modyfikowania i usuwania danych z baz danych. Język SQL pozwala również na zarządzanie transakcjami i mechanizmami autoryzacji dostępu do danych.

C e c h y S Q L Język SQL jest zorientowany na przetwarzanie zbiorów SQL jest językiem deklaratywnym

J ę z y k d e k l a r a t y w n y Język deklaratywny opisuje co ma być zrobione, ale nie jak

J ę z y k d e k l a r a t y w n y a p r o c e d u r a l n y Język proceduralny Program Dziecko wersja 1.0 Procedura sprzątania: 1. podnieś zabawkę z podłogi 2. zanieś do swojego pokoju 3. podejdź do półki 4. połóż zabawkę na pierwszym wolnym miejscu

J ę z y k d e k l a r a t y w n y a p r o c e d u r a l n y Język deklaratywny Program Dziecko wersja 2.0 Przykład ogólnego polecenia: Posprzątaj zabawki Przykład polecenia szczegółowego: Pozbieraj zabawki i postaw samochody na półce a klocki wrzuć do pudełka

P o d z i a ł j ę z y k a S Q L DML (ang. Data Manipulation Language) DDL (ang. Data Definition Language) DCL (ang. Data Control Language)

D M L Język Manipulacji Danymi służy do operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. Najważniejsze polecenia z tego zbioru to: SELECT pobranie z bazy danych, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy

D D L Język Definicji Danych służy do operowania na strukturach, w których dane są przechowywane Polecenia z tego zbioru: CREATE utworzenie struktury (np. tabeli /relacji, indeksu itp.) DROP usunięcie struktury ALTER zmiana struktury (np. dodanie kolumny do tabeli)

D C L Język Kontroli nad Danymi do nadawania uprawnień do obiektów bazodanowych. Najważniejsze polecenia w tej grupie to: GRANT przyznanie praw REVOKE odebranie praw COMMIT potwierdzenie transakcji ROLBACK - wycofanie transakcji

S t a n d a r d y j ę z y k a S Q L SQL86, SQL89 historyczne SQL92 najpowszechniej implementowany standard ISO/IEC 9075:1995, trzy poziomy zgodności: wejściowy pośredni pełny SQL99, SQL2003 najnowsze standardy

C e c h y j ę z y k a S Q L Nie rozróżnia się małych i dużych liter Ignorowane są znaki końca linii Każde polecenie SQL powinno być zakończone średnikiem SELECT imie, nazwisko FROM klienci; jest równoznaczne SELECT imie, nazwisko FROM KLIENCI;

P r z y k ł a d o w a b a z a KSIAZKA id_ksiazki autor tytul isbn cena_zakupu WYPOZYCZENIA id_wypozyczenia id_czytelnika id_ksiazki data data_zwrotu CZYTELNIK id_czytelnika imie nazwisko ulica kod miasto telefon

P r z y k ł a d o w a b a z a KSIAZKA id_ksiazki autor tytul isbn cena_zakupu 1 Ewa Lipska Sklepy zoologiczne 830803117X 20,00 2 Andrzej Stasiuk Fado 8389755750 29,00 3 Jerzy Pilch Miasto utrapienia 837391370X 34,90 4 Wisława Szymborska Poczta literacka 8308030777 25,50

P r z y k ł a d o w a b a z a d a n y c h CZYTELNIK id_czytelnika imie nazwisko ulica kod miasto telefon 1 Alicja Nowak Niepodległości 115 00-979 Warszawa (022) 202 94 11 2 Bolesław Kowalski Kościuszki 19 60-204 Poznań (061) 849 62 21 3 Jan Wiśniewski Wieniawskiego 11 60-301 Poznań

P r z y k ł a d o w a b a z a d a n y c h WYPOZYCZENIA id_wypozyczenia id_czytelnika id_ksiazki data data_zwrotu 1 2 3 02.04.2008 16.04.2008 2 1 4 23.04.2008 07.03.2008 3 1 1 23.04.2008 07.03.2008

P r o s t e z a p y t a n i a Polecenie SELECT pozwala na odczytywanie danych z bazy oraz wykonywanie na tych danych prostych obliczeń i przekształceń. Pobiera krotki z relacji w bazie danych, przetwarza je (opcjonalnie) i zwraca wynik w postaci zbioru odczytanych krotek, czyli tzw. relację wynikową.

P r o s t e z a p y t a n i a Zdanie w języku naturalnym: Poka ż mi wszystkie książki Zdanie w języku SQL: SELECT * FROM ksiazka; id_ksiazki autor tytul isbn cena_zakupu 1 Ewa Lipska Sklepy zoologiczne 830803117X 20,00 2 Andrzej Stasiuk Fado 8389755750 29,00 3 Jerzy Pilch Miasto utrapienia 837391370X 34,90 4 Wisława Szymborska Poczta literacka 8308030777 25,50

P r o s t e z a p y t a n i a - p r o j e k c j a Poka ż tytuły i numery ISBN wszystkich książek SELECT tytul, isbn FROM ksiazka; tytul isbn Sklepy zoologiczne 830803117X Fado 8389755750 Miasto utrapienia 837391370X Poczta literacka 8308030777

P r o s t e z a p y t a n i a - w y r a ż e n i a SELECT imie ' ' nazwisko FROM czytelnik; imie nazwisko Alicja Nowak Bolesław Kowalski Jan Wiśniewski

P r o s t e z a p y t a n i a - w y r a ż e n i a SELECT imie ' ' nazwisko AS Czytelnik, miasto AS Miejsce Zamieszkania FROM czytelnik; Czytelnik Miejsce Zamieszkania Alicja Nowak Warszawa Bolesław Kowalski Poznań Jan Wiśniewski Poznań

P r o s t e z a p y t a n i a w a r t o ś c i p u s t e SELECT nazwisko, telefon FROM czytelnik; nazwisko telefon Nowak (022) 202 94 11 Kowalski (061) 849 62 21 Wiśniewski

E l i m i n a c j a d u p l i k a t ó w SELECT miasto FROM czytelnik; miasto Warszawa Poznań Poznań

E l i m i n a c j a d u p l i k a t ó w SELECT DISTINCT miasto FROM czytelnik; miasto Warszawa Poznań

S o r t o w a n i e SELECT nazwisko FROM czytelnik ORDER BY nazwisko; nazwisko Kowalski Nowak Wiśniewski

S o r t o w a n i e SELECT nazwisko FROM czytelnik ORDER BY nazwisko ASC; nazwisko Kowalski Nowak Wiśniewski

S o r t o w a n i e SELECT nazwisko FROM czytelnik ORDER BY nazwisko DESC; nazwisko Wiśniewski Nowak Kowalski

S o r t o w a n i e SELECT nazwisko FROM czytelnik ORDER BY imie DESC; nazwisko Wiśniewski Kowalski Nowak

S o r t o w a n i e SELECT nazwisko FROM czytelnik ORDER BY miasto, nazwisko DESC; nazwisko Wiśniewski Kowalski Nowak

S e l e k c j a SELECT nazwisko FROM czytelnik WHERE miasto='pozna ń' ORDER BY nazwisko DESC; nazwisko Wiśniewski Kowalski

S e l e k c j a o p e r a t o r y l o g i c z n e = równe!= nie równe <> nie równe > większe >= większe lub równe < mniejsze <= mniejsze lub równe

S e l e k c j a o p e r a t o r y l o g i c z n e BETWEEN... AND... IN (wartosc1,..., wartoscn) LIKE (np.... WHERE miasto LIKE 'P%';) IS NULL (np.... WHERE telefon IS NULL;)

S e l e k c j a z a n e g o w a n e o p e r a t o r y l o g i c z n e NOT BETWEEN... AND... NOT IN (wartosc1,..., wartoscn) NOT LIKE (np.... WHERE miasto NOT LIKE 'P%';) IS NOT NULL (np.... WHERE telefon IS NOT NULL;)

S e l e k c j a w a r u n k i z ł o ż o n e SELECT nazwisko FROM czytelnik WHERE miasto LIKE 'P%' AND imie='jan'; nazwisko Wiśniewski

S e l e k c j a w a r u n k i z ł o ż o n e SELECT nazwisko FROM czytelnik WHERE miasto LIKE 'W%' OR imie='jan' ORDER BY nazwisko DESC; nazwisko Wiśniewski Nowak

Ł ą c z e n i e t a b e l r e l a c j a j e d e n d o w i e l u KSIAZKA id_ksiazki autor tytul isbn cena_zakupu WYPOZYCZENIA id_wypozyczenia id_czytelnika id_ksiazki data data_zwrotu CZYTELNIK id_czytelnika imie nazwisko ulica kod miasto telefon

Ł ą c z e n i e t a b e l Pytanie w języku naturalnym: Kto wypożyczył książkę(i) i kiedy zwróci?

Ł ą c z e n i e t a b e l r e l a c j a j e d e n d o w i e l u CZYTELNIK id_czytelnika imie nazwisko ulica kod miasto telefon WYPOZYCZENIA id_wypozyczenia id_czytelnika id_ksiazki data data_zwrotu

Ł ą c z e n i e t a b e l SELECT (lista kolumn: tabela.kolumna) FROM (lista tabel) WHERE (warunki powiązania) AND (warunki wyboru wierszy) SELECT czytelnik.nazwisko, wypozyczenia.data_zwrotu FROM czytelnik, wypozyczenia WHERE czytelnik.id_czytelnika= wypozyczenia.id_czytelnika;

Ł ą c z e n i e t a b e l Pytanie w języku naturalnym: Jakie książki zostały wypożyczone i kiedy powinny być zwrócone?

Ł ą c z e n i e t a b e l r e l a c j a j e d e n d o w i e l u KSIAZKA id_ksiazki autor tytul isbn cena_zakupu WYPOZYCZENIA id_wypozyczenia id_czytelnika id_ksiazki data data_zwrotu

Ł ą c z e n i e t a b e l SELECT (lista kolumn: tabela.kolumna) FROM (lista tabel) WHERE (warunki powiązania) AND (warunki wyboru wierszy) SELECT ksiazka.tytul, wypozyczenia.data_zwrotu FROM ksiazka, wypozyczenia WHERE ksiazka.id_ksiazki= wypozyczenia.id_ksiazki;

Ł ą c z e n i e t a b e l A jak zapytać: Kto pożyczył książk ę, jak ą książkę i kiedy odda?

Ł ą c z e n i e t a b e l SELECT (lista kolumn: tabela.kolumna) FROM (lista tabel) WHERE (warunki powiązania) AND (warunki wyboru wierszy) SELECT czytelnik.nazwisko, ksiazka.tytul, wypozyczenia.data_zwrotu FROM czytelnik, ksiazka, wypozyczenia WHERE czytelnik.id_czytelnika= wypozyczenia.id_czytelnika, AND ksiazka.id_ksiazki= wypozyczenia.id_ksiazki;

P o w i ą z a n i a z e w n ę t r z n e Pokaż wszystkich czytelników i daty, kiedy wypożyczali książki, jeśli wypożyczali

P o w i ą z a n i a z e w n ę t r z n e SELECT nazwisko FROM czytelnik ORDER BY nazwisko; nazwisko Kowalski Nowak Wiśniewski

P o w i ą z a n i a z e w n ę t r z n e SELECT czytelnik.nazwisko, wypozyczenia.data_zwrotu FROM czytelnik, wypozyczenia WHERE czytelnik.id_czytelnika= wypozyczenia.id_czytelnika; nazwisko data_zwrotu Kowalski 2.04.2008 Nowak 23.04.2008 Nowak 23.04.2008

P o w i ą z a n i a z e w n ę t r z n e SELECT czytelnik.nazwisko FROM czytelnik WHERE czytelnik.id_czytelnika NOT IN (SELECT wypozyczenia.id_czytelnika FROM wypozyczenia); nazwisko Wiśniewski

P o w i ą z a n i a z e w n ę t r z n e SELECT czytelnik.nazwisko, wypozyczenia.data_wyp FROM czytelnik LEFT JOIN wypozyczenia ON czytelnik.id_czytelnika= wypozyczenia.id_czytelnika; nazwisko data_zwrotu Kowalski 2.04.2008 Nowak 23.04.2008 Nowak 23.04.2008 Wiśniewski

P o w i ą z a n i a z e w n ę t r z n e Ogólna postać: Tabela chroniona SELECT kolumny FROM tabela1 LEFT JOIN tabela2 ON tabela1.kolumna = tabela2.kolumna

P o l e c e n i a m o d y f i k u j ą c e INSERT INTO nazwa_tabeli (lista kolumn) VALUES (lista wartości)

P o l e c e n i a m o d y f i k u j ą c e UPDATE [tabela] SET [kolumna] = wartość [,...] WHERE warunek;

P o l e c e n i a m o d y f i k u j ą c e DELETE FROM nazwa_tabeli WHERE warunek (DELETE działa na wierszach, dlatego nie ma nazw kolumn w poleceniu)

Pytania?