Przestrzenne bazy danych Podstawy języka SQL



Podobne dokumenty
Wprowadzenie do języka SQL

Systemy GIS Tworzenie zapytań w bazach danych

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

Podstawy języka SQL cz. 2

Język SQL. Rozdział 2. Proste zapytania

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

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

Relacyjne bazy danych. Podstawy SQL

Projektowanie systemów baz danych

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

SQL Structured Query Language

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

Relacyjne bazy danych. Podstawy SQL

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING.

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING

Autor: Joanna Karwowska

Autor: Joanna Karwowska

Język SQL podstawy zapytań

SQL (ang. Structured Query Language)

Paweł Rajba

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Oracle11g: Wprowadzenie do SQL

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

Bazy danych. Dr inż. Paweł Kasprowski

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

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

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

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

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

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

Ćwiczenie 3 funkcje agregujące

Wykład 5. SQL praca z tabelami 2

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

Autor: Joanna Karwowska

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

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

SQL Structured Query Language

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

SQL Structured Query Language

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

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

Podstawowe zapytania SELECT (na jednej tabeli)

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

Wykład 6. SQL praca z tabelami 3

Wprowadzenie do baz danych

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

Ćwiczenie zapytań języka bazy danych PostgreSQL

Model relacyjny. Wykład II

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

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

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

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

Wykład 05 Bazy danych

SQL do zaawansowanych analiz danych część 1.

Język SQL, zajęcia nr 1

Microsoft SQL Server Podstawy T-SQL

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

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

Wprowadzenie do SQL Użycie kwerend i SQL

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee

Bazy danych. Polecenia SQL

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

Grupowanie i funkcje agregujące

Współczesne systemy baz danych

Agregacja i Grupowanie Danych. Funkcje Agregacji. Opcje GROUP BY oraz HAVING

Marek Rakowski Podstawy zdania SELECT Strona 1 z 12

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

SQL praca z tabelami 4. Wykład 7

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

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

1 Wstęp do modelu relacyjnego

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Model relacyjny. Wykład II

Ćwiczenie 1 podstawy

Zadania z SQLa (MS SQL Server)

Współczesne systemy baz danych

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

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

Jerzy Nawrocki, Wprowadzenie do informatyki

Wykład :45 BD-1 W_3

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

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

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

Konstruowanie Baz Danych DQL agregacja danych

Technologie baz danych

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus

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

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

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2)

Widok Connections po utworzeniu połączenia. Obszar roboczy

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

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

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

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli

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

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

Bazy danych. Wprowadzenie. SKiBD

Transkrypt:

Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1

SQL Język SQL (ang.structured Query Language) jest strukturalnym językiem zapewniającym możliwość wydawania poleceń do systemu zarządzania bazą danych (SZBD). 2

Język SQL SQL jest językiem deklaratywnym. SQL ma konstrukcję zbliżoną do języka naturalnego. Zapytania SQL możemy zaliczyć do następujących podzbiorów: DML (ang. Data Manipulation Language) DDL (ang. Data Definition Language) DCL (ang. Data Control Language) W języku SQL nie rozróżnia się dużych i małych liter. W poleceniach SQL ignorowane są znaki końca linii. Każde polecenie SQL powinno być zakończone średnikiem. 3

DML (Data Manipulation Language) - język manipulacji danymi pozwalający na odczytywanie danych z relacji, ich wstawianie, modyfikację i usuwanie SELECT UPDATE DELETE INSERT INTO DDL (Data Definition Language) - język definicji danych pozwalający między innymi na tworzenie, modyfikację i usuwanie i tworzenie relacji Najważniejsze wyrażenia wchodzące w skład DDL to: CREATE ALTER DROP DCL (Data Control Language) ma zastosowanie do nadawania uprawnień do obiektów bazodanowych. Najważniejsze polecenia w tej grupie to: GRANT REVOKE... 4

Składnia polecenia SQL obejmuje: Klauzule (SELECT, FROM, WHERE) Wyrażenia (atrybuty, stałe liczbowe i tekstowe, operatory arytmetyczne, funkcje wbudowane, relacje) Predykaty (wyrażenia opisujące cechy, właściwości lub relacje pomiędzy obiektami) 5

Operatory operatory arytmetyczne (+, -,*,/) operator przypisania = operatory porównania ( =, <>, <, <=, >, >=, LIKE, NOT LIKE) operator zawarcia w przedziale BETWEEN operator zawarcia w zbiorze IN operatory konkatenacji w standardzie: operatory zbiorowe (UNION, INTERSECT, EXCEPT) 6

Algebra relacyjna Algebra relacyjna to zbiór operatorów, których argumentami jest jedna relacja lub więcej relacji, a wynikiem jest relacja Podstawowe operatory algebry relacyjnej to: Rzut (projekcja) Selekcja (ograniczenie) Suma Przecięcie Różnica Iloczyn kartezjański 7

Rzut (projekcja) SELECT * FROM tabela1; (zwraca wszystkie atrybuty należące do tabeli 1) SELECT id,imie,nazwisko FROM tabela1; (zwraca tylko wybrane kolumny tabeli 1) 8

Selekcja (ograniczenie) SELECT Tytuł FROM Książki WHERE Cena>50; 9

Suma SELECT stanowisko FROM pracownicy WHERE id_dzialu=20 UNION SELECT stanowisko FROM pracownicy WHERE id_dzialu=30; 10

Przecięcie SELECT stanowisko FROM pracownicy WHERE id_dzialu=20 INTERSECT SELECT stanowisko FROM pracownicy WHERE id_dzialu=30; 11

Różnica SELECT stanowisko FROM pracownicy WHERE id_dzialu=20 MINUS SELECT stanowisko FROM pracownicy WHERE id_dzialu=30; 12

Iloczyn kartezjański A B A dane osobowe B samochody = Źródło:castor.am.gdynia.pl/~luksza/bazy/wyklady/algebra.ppt 13

Przykładowa baza danych Baza danych: relacje Autorzy Wydawnictwa Książki Książki_Autorzy Schematy relacji: Autorzy( AuID, Imię, Nazwisko, Telefon) Wydawnictwa (WydID, Nazwa, Telefon) Książki (ISBN, Tytuł, WydID, Cena) Książki_Autorzy (ISBN, AuID) 14

Przykładowa baza danych 15

Proste zapytanie SELECT * FROM Wydawnictwa; Odczytaj wszystkie dane z tabeli Książki: SELECT * FROM Książki; 16

Projekcja Odczytaj nazwę i telefon z tabeli Wydawnictwa SELECT Nazwa, Telefon FROM Wydawnictwa; Odczytaj tytuł i cenę wszystkich książek z tabeli Książki SELECT Tytuł, Cena FROM Książki; 17

Wyrażenia SELECT ISBN ' ' Tytuł, 0.1*Cena FROM Książki; SELECT {wyrażenie1, wyrażenie2,...} FROM {nazwa relacji}; Oblicz przychód księgarni od sprzedaży każdej książki po uwzględnieniu zysku odprowadzanego do wydawnictwa SELECT Tytuł, Cena-0.1*Cena FROM Książki; 18

Aliasy SELECT ISBN ' ' Tytuł AS Pozycja, 0.1*Cena AS Wydawnictwu FROM Książki; SELECT {wyrażenie1 [AS alias1], wyrażenie2 [AS alias2],...} FROM {nazwa relacji}; SELECT imie ' ' nazwisko AS Pracownik, placa_pod*12 AS "Roczny dochód" FROM pracownicy; 19

Funkcje skalarne i arytmetyczne Wybieranie wyliczonych wartości. W zapytaniu SQL możemy używać następujących operatorów arytmetycznych w celu obliczenia wartości: + (dodawanie) - (odejmowanie) * (mnożenie) / (dzielenie) użyciem nawiasów dla zaznaczenia kolejności wykonywania działań wartości null nie mogą brać udziału w wyliczeniach 20

Eliminacja duplikatów Wyświetl imiona Autorów SELECT Imię FROM Autorzy; SELECT DISTINCT Imię FROM Autorzy; Klauzulę DISTINCT należy podać po słowie kluczowym SELECT. SELECT [DISTINCT] {wyrażenie1 [AS alias1], wyrażenie2 [AS alias2],...} FROM {nazwa relacji}; 21

Sortowanie wyników zapytań SELECT Nazwisko FROM Autorzy; SELECT Nazwisko FROM Autorzy ORDER BY Nazwisko; SELECT [DISTINCT] {wyrażenie1 [AS alias1], wyrażenie2 [AS alias2],...} FROM {nazwa relacji} ORDER BY {wyrażenie3 [ASC DESC], wyrażenie4 [ASC DESC], alias1 [ASC DESC], alias2 [ASC DESC]...}; SELECT ISBN ' ' Tytuł AS Pozycja, WydID, Cena FROM Książki ORDER BY WydID, Pozycja ASC; SELECT ISBN ' ' Tytuł AS Pozycja, WydID FROM Książki ORDER BY WydID DESC, Tytuł, Cena; 22

Selekcja operatory logiczne =!= <> > >= < <= SELECT Tytuł FROM Książki WHERE Cena>50; SELECT ISBN FROM Książki WHERE Tytuł='c++'; 23

Selekcja operatory logiczne (2) BETWEEN AND SELECT Tytuł, Cena FROM Książki WHERE Cena BETWEEN 25 AND 29 ORDER BY Cena; 24

Selekcja operatory logiczne (3) IN SELECT Tytuł, Cena FROM Książki WHERE CENA IN(20, 51, 29) ORDER BY Cena; 25

Selekcja operatory logiczne (4) LIKE SELECT Tytuł FROM Książki WHERE ISBN LIKE '0-999-9999-99'; 26

Selekcja operatory logiczne (5) IS NULL SELECT * FROM AUTORZY WHERE Telefon=NULL; SELECT * FROM AUTORZY WHERE Telefon IS NULL; 27

Zanegowane operatory logiczne NOT BETWEEN... AND... NOT IN NOT LIKE IS NOT NULL SELECT * FROM AUTORZY WHERE Telefon IS NOT NULL; SELECT * FROM AUTORZY WHERE Nazwisko NOT LIKE 'H ; 28

Funkcje agregujące działają na zbiorach rekordów, nazywanych grupami w przeciwieństwie do funkcji wierszowych, które zawsze działają na jednym rekordzie rekordy należą do tej samej grupy jeśli posiadają tą samą wartość wyrażenia grupującego. Wyrażeniem grupującym jest najczęściej pojedynczy atrybut relacji Po podziale rekordów na grupy w każdej z grup zostaje zastosowana funkcja agregująca, która wylicza pojedynczą wartość dla grupy. Stąd w wyniku zapytania otrzymujemy tyle rekordów, ile grup zostało utworzonych w wyniku operacji grupowania. 29

Rodzaje funkcji agregujących funkcje: MAX maksimum, COUNT liczba wystąpień, SUM suma, AVG średnia, MIN minimum, 30

Przykład ćwiczeniowy Zapytania będą realizowane w oparciu o następującą relację

Zapytania z jedną grupą znajdź minimalną wartość płacy podstawowej osób pracujących na etacie reżysera znajdź minimalną wartość płacy podstawowej osób pracujących na etacie kaskadera SELECT MIN(Pensja_pod) FROM Pracownicy WHERE Etat LIKE 'reżyser'; SELECT MIN(Pensja_pod), MAX(Pensja_pod) FROM Pracownicy WHERE Etat LIKE 'reżyser';

Zapytania z wieloma grupami klauzula GROUP BY wyrażenie definiuje wyrażenie grupujące. wynikiem zapytania jest jeden rekord dla każdej grupy. znajdź średnią wartość płacy podstawowej wśród pracowników każdego zespołu SELECT Etat, AVG(Pensja_pod) FROM Pracownicy GROUP BY Etat; SELECT Etat, AVG(Pensja_pod) FROM Pracownicy GROUP BY Etat; 33