Temat 1: Strukturalny język zapytań SQL

Slides:



Advertisements
Podobne prezentacje
Indeksy w bazie danych Oracle
Advertisements

Procedury wyzwalane Procedura wyzwalana (ang. trigger) - stanowi kod użytkownika przechowywany wewnątrz bazy i uruchamiany w określonych sytuacjach np.
Bazy danych II Instrukcja SELECT Piotr Górczyński 25/08/2001.
Relacyjny model danych
Komponenty bazy danych Baza danych Jest to uporządkowany zbiór powiązanych ze sobą danych charakterystycznych dla pewnej klasy obiektów lub zdarzeń,
Bazy danych II Instrukcja INSERT Piotr Górczyński 25/08/2001.
25/08/ Bazy danych II Piotr Górczyński MS Access – Action Query.
25/08/2001 Bazy danych II 1 Piotr Górczyński Wstęp do SQL.
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 2: Język bazy danych - SQL Proste zapytania.
Relacyjny Model Danych
Język definicji danych (Data Definition Language)
WYZWALACZE (TRIGGERY) Wyzwalacz jest specjalnym rodzajem procedury składowanej, która może być wykonana w odpowiedzi na jedną z trzech sytuacji: UPDATE.
SQL-owskie szlaki górskie
POWTÓRZENIE Metodologia : Pojęcia:
Wykład 8 Wojciech Pieprzyca
BD-LAB6 Wojciech Pieprzyca
Wprowadzenie do systemów baz danych
Projektowanie fizycznej bazy danych
WYKONYWANIE ZAPYTAŃ Przygotował Lech Banachowski na podstawie: 1.Raghu Ramakrishnan, Johannes Gehrke, Database Management Systems, McGrawHill, 2000 (książka.
Modele baz danych - spojrzenie na poziom fizyczny
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Relacyjne Bazy Danych (Oracle) Prezentacja jest współfinansowana.
Język SQL – podstawy zapytań
Język SQL – ciąg dalszy DML (Data Manipulation Language)
Język SQL (Structured Query Language) DDL (Data Definition Language)
Structured Query Language
Teoria relacyjnych baz danych
Bazy Danych II prowadzący: mgr inż. Leszek Siwik
OPERACJA DZIELENIA W SQL
SQL – zapytania posumowanie
SQL – Structured Query Language (3)
Podstawy układów logicznych
Arkusze kalkulacyjne, część 3
Instrukcje: CREATE, INSERT, UPDATE, DELETE, DROP
dr hab. Ryszard Walkowiak prof. nadzw.
Bazy danych podstawowe pojęcia
Temat 19: Organizacja informacji w bazie danych – część 1.
SQL - Structured Query Language
Elżbieta Fiedziukiewicz
Rozwiązanie zadań do zaliczenia I0G1S4 // indeks
Operacje edycyjne w bazie danych - kwerendy funkcjonalne Marzena Nowakowska Katedra Informatyki Stosowanej, WZiMK, PŚk.
Komendy SQL do pracy z tabelami i bazami
PL/SQL – dalsza wędrówka
Projektowanie relacyjnych baz danych – postacie normalne
Język manipulacji danymi – SQL cz. I
Projektowanie bazy danych
Łódź 2008 Banki danych WYKŁAD 2 dr Łukasz Murowaniecki T-109.
1 SBD, L.Banachowski Podstawy SQL - języka relacyjnych i obiektowo-relacyjnych baz danych (SQL2, SQL'1999, Oracle) Powtórzenie wyk ł adu 3.
Michał Krawczykowski kl. IIIB
Definiowanie kluczy w tabelach RBD
Model obiektowy bazy danych
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Autor: Damian Urbańczyk
Projektowanie relacyjnych baz danych – diagramy związków encji
Komendy SQL do pracy z danymi
Relacja (ang.relation) Po podzieleniu danych na tabele i zdefiniowaniu pól kluczy podstawowych trzeba wprowadzić do systemu bazy danych informacje na temat.
Bazy danych Podstawy relacyjnych baz danych Autor: Damian Urbańczyk.
Projektowanie postaci formularza:
BAZY DANYCH MS Access.
Wykład 3 Prowadzący: dr Paweł Drozda. Użytkownik bazy danych – osoba lub aplikacja, mająca dostęp do części danych zgromadzonych w bazie Uprawnienia –
Bazy Danych Wprowadzenie
BAZY DANYCH Microsoft Access Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i.
 Formuła to wyrażenie algebraiczne (wzór) określające jakie operacje ma wykonać program na danych. Może ona zawierać liczby, łańcuchy znaków, funkcje,
Temat: Tworzenie bazy danych
Widoki (views) - Perspektywy:
Nieprawidłowo zaprojektowana tabela
Strukturalny język zapytań SQL - historia
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Technologie Informacyjne Bazy danych
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

Temat 1: Strukturalny język zapytań SQL

Uzyskiwanie informacji Modyfikowanie informacji Początki SQL sięgają zeszłego stulecia i firmy IBM, w której powstał język SEQUEL. Został on rozwinięty i do dzisiaj znany jest pod nazwą SQL – strukturalny język zapytań. Typowy SQL to język nieproceduralny należący do grupy język deklaratywnych. Wyrażenia SQL nazywane są kwerendami. Pozwalają one na wykonanie takich operacji jak: Uzyskiwanie informacji Modyfikowanie informacji Dopisywanie (wstawianie) Usuwanie Sterowanie danymi Strukturalny język zapytań ze względu na czynność (funkcję), jaką dane zapytanie ma wykonać w bazie danych, dzielimy na następujące podgrupy wyrażeń: DDL JDD Data Definition Language CREATE, ALTER, DROP, TRUNCATE Język definiowania danych (JDD) stosowany do tworzenia schematu danych. Definiuje strukturę danych. DML JMD Data Manipulation Language INSERT, UPDATE, DELETE Język manipulowania danymi (JMD) służący do wypełniania bazy danych, usuwania informacji i modyfikowania danych. DCL JKD Data Control Language GRANT, DENY, REVOKE Język kontrolowania danych (JKD) sprawuje kontrolę nad transakcjami – steruje nimi. DQL JZ Data Query Language SELECT Język zapytań (JZ), którego zadaniem jest pobieranie informacji spełniających określone warunki. TCL JSP Transaction Control Language COMMIT, ROLLBACK, SAVEPOINT Język sterowania przepływem (JSP) danych (kontrola transakcji).

Operator Symbol Selekcja б Projekcja π Złączenie ⋈ Suma U Podczas pracy z bazą danych zachodzi konieczność wydobycia określonych informacji, zwłaszcza takich, które spełniają pożądany przez nas warunek. Ponieważ zmienna relacyjna (tabela) ma dane pogrupowane dzięki atrybutom (kolumnom), możemy na takich zbiorach danych wykonywać operacje. Na początek trochę teorii. Operacje, o których mówimy, przedstawia się za pomocą operatorów algebry relacyjnej. Operator taki na wejściu pobiera argumenty będące relacjami, natomiast zwraca relację wynikową. Operator Symbol Selekcja б Projekcja π Złączenie ⋈ Suma U

бWiek>18 (Zawodnicy) Selekcja Teoria selekcji zostanie wyjaśniona na podstawie przykładu praktycznego: Wyobraźmy sobie selekcjonera drużyny piłki nożnej. Jego zadaniem jest wybór zawodników spełniających określone kryteria. Przyjmijmy, że kryterium selekcji będzie wiek powyżej 18 lat. Matematycznie operacja selekcji będzie miała postać: бWiek>18 (Zawodnicy) ZAWODNICY Nr Imię Wiek (lat) 1 Janek 12 2 Marek 15 3 Heniek 22 4 Kornel 34 5 Wojtek 25 6 Tadeusz 43 Gdzie: бWiek>18 (Zawodnicy) Warunek selekcji Atrybut (kolumna tabeli – zbiór określonych cech) Selekcja

W strukturalnym języku zapytań taka selekcja będzie miała postać: SELECT * FROM zawodnicy WHERE wiek > 18; Należy pamiętać, że zapytanie kończymy, wpisując znak średnika ;.

Projekcja Projekcja nazywana bywa również rzutem i możemy ją zdefiniować jako wybór kolumn. Operator projekcji na wejściu przyjmuje nazwę kolumn, a na wyjściu zwraca ich zawartość. Możemy prześledzić to na wcześniejszym przykładzie z selekcjonerem piłkarskim. Wyobraźmy sobie sytuację, że selekcjoner będzie potrzebował listy wszystkich zawodników z kandydatami (zawodnikami powyżej 18 roku życia). Lista będzie musiała składać się z imion i numerów zawodników. Aby otrzymać taki zbiór za pomocą algebry relacyjnej, należy posłużyć się wyrażeniem: πNr, imię (Zawodnicy) Oddzielone przecinkiem nazwy kolumn (atrybutów) Nazwa tabeli Operator projekcji (rzutu)

Wyrażenie to możemy również zapisać za pomocą języka SQL w postaci: SELECT nr, imie FROM zawodnicy;

Złączenie Złączenie służy do pobierania danych z dwóch lub większej liczby tabel w celu porównania lub zestawienia. W tabelach biorących udział w złączeniu muszą występować kolumny, które są zgodne i spełniają warunki pozwalające na dokonanie złączenia. Zaleca się, aby kolumny te łączyły dwie relacje (tabele) na zasadzie: klucz podstawowy, klucz obcy, chociaż warunek ten nie jest niezbędny do wykonania złączenia. Dla przykładu wykorzystamy dwie tabele: zawodnicy i pokoje: Zawodnicy Pokoje Gdy założymy, że numer gościa (kolumna id_goscia) odpowiada numerowi zawodnika (kolumnie nr), wówczas, chcąc otrzymać zestawienie imienia zawodnika oraz ceny, którą ma zapłacić za pokój, wykonujemy złączenie: SELECT imie, cena_za_dobe FROM zawodnicy JOIN pokoje ON nr=id_goscia;

Znak równości determinujący typ złączenia - równozłączenie A oto przykład operacji równozłączenia zapisany językiem algebry relacyjnej: (Πimie(ZAWODNICY)) ⋈zawodnicy.id = pokoje.id_pokoju (Πcena_za_dobe(POKOJE)) Znak równości determinujący typ złączenia - równozłączenie Operator złączenia

Suma (Union) Teoriomnogościowa suma dotyczy relacji o tym samym schemacie – językiem algebry relacji może być zapisana jako A U B. Dla przykładu wykorzystaliśmy dwie tabele: prac_p_pomoc i pracownicy_bhp. Jak przedstawiono poniżej, tabele mają tę samą strukturę. prac_p_pomoc pracownicy_bhp

Suma tabel wykonana z użyciem operatora algebry relacyjnej: Πid_pracownika,imie,nazwisko,wiek(prac_p_pomoc) U Πid_pracownika,imie,nazwisko,wiek(pracownicy_bhp)