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

Podobne dokumenty
LAB 3 (część 1 Projektu)

Paweł Rajba

Informatyka (1) Bazy danych

Język SQL, zajęcia nr 2

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

Przestrzenne bazy danych Podstawy języka SQL

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

Wykład 05 Bazy danych

Relacyjne bazy danych. Podstawy SQL

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

Przykładowa baza danych BIBLIOTEKA

Język SQL podstawy zapytań

Wykład 6. SQL praca z tabelami 3

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

Bazy danych. Dr inż. Paweł Kasprowski

Relacyjne bazy danych. Podstawy SQL

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

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

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

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

Bazy danych SQL Server 2005

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

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

ACESS- zadania z wykorzystaniem poleceń SQL

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

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

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

SQL w praktyce. Miłej i owocnej nauki!!!

Język SQL, zajęcia nr 1

Systemy GIS Tworzenie zapytań w bazach danych

Wprowadzenie do języka SQL

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

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

Wykład 5. SQL praca z tabelami 2

SQL Structured Query Language

Podstawy języka SQL cz. 2

Paweł Rajba

Bazy danych. dr inż. Arkadiusz Mirakowski

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek

Grupowanie i funkcje agregujące

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

Wykład 8. SQL praca z tabelami 5

Zadania z SQLa (MS SQL Server)

Szkolenie Oracle SQL podstawy. Terminy lutego 2010 First Minute! 1100zł!

Współczesne systemy baz danych

STANDARDY JĘZYKA SQL CECHY JĘZYKA SQL WADY I ZALETY

Bazy Danych i Usługi Sieciowe

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Projektowanie systemów baz danych

MS SQL Język definiowania danych (DDL): ćwiczenia

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

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

Współczesne systemy baz danych

Bazy danych i usługi sieciowe

SQL Structured Query Language

SQL/MySQL. Rafał Kern

Bazy danych 4. SQL- podstawy

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9.

BAZA DANYCH SIECI HOTELI

Podstawowe informacje o bazach danych. Technologie Informacyjne

Bazy danych i usługi sieciowe

SQL (ang. Structured Query Language)

Autor: Joanna Karwowska

Bazy danych - Materiały do laboratoriów VIII

Bazy danych. Polecenia SQL

Jerzy Nawrocki, Wprowadzenie do informatyki

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga

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

SQL Structured Query Language

Hurtownia Świętego Mikołaja projekt bazy danych

Zbiór zadań z SQLa z elementami T-SQLa. (Wersja robocza z dnia r.) (Zgłaszanie usterek Robert.Fidytek@inf.ug.edu.pl)

Bazy danych 10. SQL Widoki

Widok Connections po utworzeniu połączenia. Obszar roboczy

Bazy danych 2. Wykład 4 Structured Query Language (SQL)

Relacyjne bazy danych Język SQL

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

Politechnika Gdańska, międzywydziałowy kierunek INŻYNIERIA BIOMEDYCZNA. Instrukcja do laboratorium z przedmiotu: Bazy danych. Laboratorium nr 3.

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

Autor: Joanna Karwowska

Bazy danych 7. SQL podstawy

Komunikacja z bazą danych psql

Zbiór zadań z SQLa z elementami T-SQLa. (Wersja robocza z dnia r.) (Zgłaszanie usterek

Bazy danych Język SQL część 1 Wykład dla studentów matem

Politechnika Gdańska, międzywydziałowy kierunek INŻYNIERIA BIOMEDYCZNA. Instrukcja do laboratorium z przedmiotu: Bazy danych. Laboratorium nr 2.

Kurs. Podstawy MySQL

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

a) ile wynosiła populacja najbardziej i najmniej ludnego z województw (oraz jakie były ich nazwy)

Bazy danych 2. Wykład 5 Structured Query Language (SQL) c.d. DDL

Monika Sychla Daniel Smolarek Projekt bazy danych

Politechnika Gdańska, międzywydziałowy kierunek INŻYNIERIA BIOMEDYCZNA. Instrukcja do laboratorium z przedmiotu: Bazy danych. Laboratorium nr 3.

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

Autor: Joanna Karwowska

Wstęp do SQL. copyright: KGiIS WGGiOŚ AGH

Transkrypt:

Informatyka (5) SQL dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro katpalik@pg.gda.pl katarzyna.palikowska@wilis.pg.gda.pl

Język zapytań SQL Język deklaratywny (regułowy) - SQL, ProLog, CLIPS opis warunków, które powinno spełniać rozwiązanie zamiast sekwencji kroków do wykonania (języki imperatywne) SQL: Data Definition Language (DDL) Data Manipulation Language (DML) Data Control Language (DCL) CREATE ALTER DROP SELECT UPDATE DELETE INSERT GRANT REVOKE DENY

CREATE ALTER DROP create table Ksiazka ( isbn char(30) not null, tytul char(200) not null, rok_wydania int, nr_wydania char(10), id_wydawnictwa int, Nazwa Typ Właściwości NOT NULL NOT NULL DEFAULT 2016 NOT NULL UNIQUE PRIMARY KEY (isbn) ) ALTER TABLE ksiazka ADD liczba_stron int null drop table Ksiazka

INSERT Import danych zewnętrznych Pliki xls XML HTML Pliki tekstowe INSERT INTO Czytelnik (pesel, imie, nazwisko, data_ur, email, plec) VALUES ( 66020102130, Jan, Kowalski, 1996-02-01, kowalski@wp.pl,0) INSERT INTO Ksiazka (isbn,tytul,rok ) VALUES ( 290-8282-0101, Baśnie,2010, )

UPDATE UPDATE Czytelnik SET Imie= Andrzej WHERE Nazwisko = Kowalski UPDATE Czytelnik SET Imie= Andrzej WHERE ID = 5

DELETE Delete from Czytelnik WHERE Nazwisko = Kowalski ON UPDATE/DELETE CASCADE ON UPDATE/DELETE RESTRICT ON UPDATE/DELETE SET NULL Integralność danych Integralność referencyjna

SELECT SELECT * SELECT Nazwisko,Imie ORDER BY Nazwisko ASC,Imie DESC SELECT Nazwisko,Imie SELECT TOP 10 Nazwisko,Imie SELECT DISTINCT Miasto SELECT Nazwisko,Imie WHERE Data_ur < 1960-01-01 AND Imie= Jan SELECT Nazwisko,Imie WHERE Nazwisko LIKE %wak SELECT Nazwisko,Imie WHERE Nazwisko LIKE K% OR Miasto LIKE _op%

SELECT cd. SELECT Nazwisko,Imie,Tytul,Data_wypozyczenia INNER JOIN Wypozyczenie ON Wypozyczenie.id_czytelnika = Czytelnik.ID INNER JOIN Ksiazka ON Wypozyczenie.id_ksiazki=Ksiazka.ID SELECT Nazwisko,Imie,Tytul,Data_wypozyczenia INNER JOIN Wypozyczenie ON Wypozyczenie.id_czytelnika = Czytelnik.ID INNER JOIN Ksiazka ON Wypozyczenie.id_ksiazki=Ksiazka.ID WHERE Data_zwrotu IS NULL SELECT Nazwisko,Imie,Tytul,Data_wypozyczenia INNER JOIN Wypozyczenie ON Wypozyczenie.id_czytelnika = Czytelnik.ID INNER JOIN Ksiazka ON Wypozyczenie.id_ksiazki=Ksiazka.ID WHERE Data_zwrotu IS NULL AND Termin_zwrotu < GetDate()

SELECT cd. SELECT Tytul,Rok_wydania,Wydawnictwo.Nazwa FROM Ksiazka LEFT OUTER JOIN Wydawnictwo ON Wydawnictwo.ID = Ksiazka.id_wydawnictwa RIGHT OUTER FULL OUTER

SELECT cd. WHERE ID IN (5,10,15) WHERE ID NOT IN (5,10,15) WHERE ID NOT IN (SELECT id_czytelnika FROM Wypozyczenia), (SELECT TOP 1 Data_wypozyczenia FROM Wypozyczenia WHERE Wypozyczenia.id_Czytelnika=Czytelnik.ID ORDER BY Data_wypozyczenia DESC) Zapytania zagnieżdżone

Suma zbiorów UNION Wybierz czytelników, którzy wypożyczali książki wydawnictwa HELION lub mieszkają w Gdyni INNER JOIN wypozyczenie ON Czytelnik.ID = wypozyczenie.id_czytelnika INNER JOIN ksiazka ON wypozyczenie.id_ksiazki = ksiazka.id INNER JOIN wydawnictwo ON ksiazka.id_wydawnictwa = wydawnictwo.id WHERE wydawnictwo.nazwa= HELION UNION INNER JOIN czytelnik_adres ON Czytelnik.ID = czytelnik_adres.id_czytelnika INNER JOIN adres ON czytelnik_adres.id_adresu = adres.id WHERE adres.miejscowosc= Gdynia

Różnica zbiorów EXCEPT Wybierz czytelników, którzy wypożyczali książki wydawnictwa HELION ale nie mieszkają w Gdyni INNER JOIN wypozyczenie ON Czytelnik.ID = wypozyczenie.id_czytelnika INNER JOIN ksiazka ON wypozyczenie.id_ksiazki = ksiazka.id INNER JOIN wydawnictwo ON ksiazka.id_wydawnictwa = wydawnictwo.id WHERE wydawnictwo.nazwa= HELION EXCEPT INNER JOIN czytelnik_adres ON Czytelnik.ID = czytelnik_adres.id_czytelnika INNER JOIN adres ON czytelnik_adres.id_adresu = adres.id WHERE adres.miejscowosc= Gdynia

Iloczyn zbiorów INTERSECT Wybierz czytelników, którzy wypożyczali książki wydawnictwa HELION i mieszkają w Gdyni INNER JOIN wypozyczenie ON Czytelnik.ID = wypozyczenie.id_czytelnika INNER JOIN ksiazka ON wypozyczenie.id_ksiazki = ksiazka.id INNER JOIN wydawnictwo ON ksiazka.id_wydawnictwa = wydawnictwo.id WHERE wydawnictwo.nazwa= HELION INTERSECT INNER JOIN czytelnik_adres ON Czytelnik.ID = czytelnik_adres.id_czytelnika INNER JOIN adres ON czytelnik_adres.id_adresu = adres.id WHERE adres.miejscowosc= Gdynia

Funkcje agregujące SUM() COUNT() MAX() MIN() AVG() SELECT COUNT(Wypozyczenia ID) FROM Wypozyczenia SELECT Miasto, COUNT(Wypozyczenia ID) FROM Wypozyczenia INNER JOIN Czytelnik ON Czytelnik.ID=Wypozyczenia.id_czytelnika GROUP BY Miasto SELECT Miasto, COUNT(Wypozyczenia ID) AS Liczba FROM Wypozyczenia INNER JOIN Czytelnik ON Czytelnik.ID=Wypozyczenia.id_czytelnika GROUP BY Miasto ORDER BY Liczba DESC

GROUP BY Wybierz czytelników, którzy wypożyczyli więcej niż 5 książek i mają więcej niż 50 lat INNER JOIN wypozyczenie ON Czytelnik.ID = wypozyczenie.id_czytelnika WHERE Year(Czytelnik.data_ur) <= 1966 GROUP BY Nazwisko, Imie HAVING COUNT(wypozyczenie.id_czytelnika) > 5 WHERE - warunek selekcji HAVING opóźniony warunek selekcji

SELECT COUNT(ID) FROM Ksiazka SELECT gatunek, COUNT(ID) FROM Ksiazka GROUP BY gatunek SELECT gatunek, COUNT(ID), SUM(Cena), AVG(Cena), MAX(Cena), MIN(Cena) FROM Ksiazka GROUP BY gatunek SELECT gatunek, COUNT(ID), SUM(Cena), AVG(Cena), MAX(Cena), MIN(Cena) FROM Ksiazka GROUP BY gatunek HAVING MIN(Cena) > 10