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



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

Projektowanie systemów baz danych

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

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

Przestrzenne bazy danych Podstawy języka SQL

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

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

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

Język SQL. Rozdział 2. Proste zapytania

Systemy GIS Tworzenie zapytań w bazach danych

Ćwiczenie 1 podstawy

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

Ćwiczenie rozpocznie się od wprowadzenia do laboratorium, po którym omówimy składnię ę polecenia INSERT pozwalającego ą na wstawianie krotek do

Wprowadzenie do języka SQL

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

Wykład :45 BD-1 W_3

Laboratorium nr 10. Temat: Połączenia relacji

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

Systemy Baz Danych. Lista 1

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

15. Funkcje i procedury składowane PL/SQL

Krzysztof Kadowski. PL-E3579, PL-EA0312,

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

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

Bazy danych. Polecenia SQL

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

Instrukcje SQL można podzielić na pięć kategorii, które zostały przedstawione w poniższej tabeli.

Bazy danych. Dr inż. Paweł Kasprowski

SQL Structured Query Language

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

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

SQL (ang. Structured Query Language)

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

Relacyjne bazy danych. Podstawy SQL

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

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

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

CREATE USER

Współczesne systemy baz danych

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

Cele. Definiowanie wyzwalaczy

Ćwiczenie 14 autoryzacja

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

Język SQL podstawy zapytań

System zarządzania bazą danych SZBD (ang. DBMS -Database Management System)

Bazy danych SQL Server 2005

Wykład 5. SQL praca z tabelami 2

Zarządzanie bazą danych za pomocą poleceń języka SQL*Plus

Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest

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

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

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

Oracle11g: Wprowadzenie do SQL

Współczesne systemy baz danych

PHP: bazy danych, SQL, AJAX i JSON

Język SQL, zajęcia nr 1

PODSTAWY SZTUCZNEJ INTELIGENCJI

Wprowadzenie do baz danych

Wykład 8. SQL praca z tabelami 5

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

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Autor: Joanna Karwowska

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

Bazy danych - wykład wstępny

Imię i Nazwisko Data Ocena. Laboratorium 7

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Plan. Raport. Tworzenie raportu z kreatora (1/3)

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

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs.

QUERY język zapytań do tworzenia raportów w AS/400

W tej części zajmiemy się ćwiczeniami dotyczącymi modyfikacji rekordów.

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

Składowane procedury i funkcje

Po prawidłowym podłączeniu do serwera MySQL należy wybrać bazę, na której będziesz pracować:

BAZY DANYCH. Transakcje. opracowanie: Michał Lech

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

PODSTAWY BAZ DANYCH 13. PL/SQL

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

Database Connectivity

PL/SQL. Funkcje wbudowane

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

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

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

Aplikacje WWW - laboratorium

Systemy liczenia. 333= 3*100+3*10+3*1

Laboratorium Bazy danych SQL 2

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze

ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład

Autor: Joanna Karwowska

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

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

2017/2018 WGGiOS AGH. LibreOffice Base

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

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

Transkrypt:

Laboratorium nr 7 Temat: Podstawy języka zapytań SQL (część 1) Systemy Zarządzania Bazą Danych (SZBD) pozwalają na rozwiązanie wielu problemów związanych ze składowaniem, przeszukiwaniem i przekształcaniem danych w bazach danych. Poszczególne czynności, które mają zostać wykonane przez SZBD, programista opisuje w specjalnym języku. Celem tego ćwiczenia, jest zapoznanie Studentów z podstawami języka SQL, który jest jednym z najbardziej popularnych języków baz danych, stosowanym w prawie kaŝdym komercyjnym SZBD na rynku. PLAN LABORATORIUM: 1. Wprowadzenie do laboratorium. 2. Podstawowe informacje o języku SQL. 3. Najprostsze zapytania. 4. Projekcja. 5. Literały. 6. Aliasy. 7. Funkcje. 1. Wprowadzenie do laboratorium Ćwiczenia z przedmiotu Bazy Danych" są poświęcone przede wszystkim językowi SQL (ang. Structured Query Language) i jego zastosowaniom. Język SQL jest strukturalnym językiem zapewniającym moŝliwość wydawania poleceń do systemu zarządzania bazą danych (SZBD). Dzięki temu językowi moŝliwe jest tworzenie poleceń, które nakazują SZBD odnaleźć potrzebne przez nas dane w bazie danych, jak równieŝ poleceń, dzięki którym moŝna składowane dane zmodyfikować, wstawić nowe dane, bądź je usunąć. Dzięki temu językowi moŝliwe jest równieŝ definiowanie, modyfikacja i usuwanie struktur danych, w których dane są składowane. Język SQL pozwala równieŝ na zarządzanie transakcjami i mechanizmami autoryzacji dostępu do danych. Na tym ćwiczeniu zapoznacie się Państwo z podstawami pracy z językiem SQL, czyli z konstrukcją prostych zapytań do bazy danych. Wiedza ta będzie następnie rozbudowywana w kolejnych ćwiczeniach. 1

2. Język SQL SQL jest językiem deklaratywnym (Charakterystyczną cechą języków deklaratywnych jest to, Ŝe opisują co" ma być zrobione, ale nie jak". W praktyce oznacza to, Ŝe uŝytkownik opisuje w języku SQL efekt jaki chce uzyskać (odczytanie telefonów wszystkich pracowników o nazwisku zaczynającym się na literę 'A', podniesienie pensji wszystkim kierownikom itp.), ale nie sposób w jaki ma to być zrobione (sekwencja operacji dyskowych, które prowadzą do wykonania polecenia). Sposób wykonania polecenia jest automatycznie dobierany przez SZBD i zaleŝy od fizycznego sposobu składowania danych). Język SQL jest zorientowany na przetwarzanie zbiorów (PoniewaŜ dane są przechowywane w relacjach, które są zbiorami krotek, konstrukcje języka SQL dotyczą przetwarzania zbiorów i nie zawierają poleceń uwzględniających dowolny porządek na krotkach) Język SQL moŝna podzielić na: DML (ang. Data Manipulation Language) - język manipulacji danymi pozwalający na odczytywanie danych z relacji (polecenie SELECT) oraz na wstawianie, modyfikację i usuwanie danych z relacji (polecenia: INSERT, UPDATE, MERGE i DELETE). DDL (ang. Data Definition Language) - język definicji danych pozwalający na tworzenie, modyfikację i usuwanie relacji (polecenia CREATE, ALTER i DROP). DCL (ang. Data Control Language) - język kontroli danych pozwalający na zapewnienie autoryzacji dostępu do danych oraz zarządzanie transakcjami. NajwaŜniejsze polecenia to GRANT i REVOKE (czasem zaliczane do DDLa) oraz COMMIT, ROLLBACK i SAVEPOINT. W języku SQL nie rozróŝnia się duŝych i małych liter - Wszystkie słowa kluczowe i nazwy (np. relacji i atrybutów) w języku SQL moŝna pisać zarówno duŝymi jak i małymi literami. Przykładowo, wyraŝenia: nazwisko, Nazwisko i NAZWISKO są identyczne. W poleceniach SQL ignorowane są znaki końca linii - Wszystkie słowa kluczowe i wyraŝenia w języku SQL moŝna rozdzielać zarówno spacjami jak i znakami końca linii. W rezultacie dowolne polecenie SQL moŝna sformatować w dowolny sposób (moŝe ono zajmować jeden długi wiersz, lub kilka krótszych wierszy). KaŜde polecenie SQL powinno być zakończone średnikiem - Próba wykonania polecenia nie zakończonego w ten sposób moŝe zakończyć się błędem, chociaŝ istnieją sytuacje, gdy pominięcie średnika jest dozwolone. 2

Ćwiczenia z języka SQL zostaną przeprowadzone na bazie danych złożonej z 6 relacji przechowujących dane dotyczące wypożyczeń w bibliotece. 3

4

3. Najprostsze zapytania. Naukę języka SQL zaczniemy od zapoznania ze składnią polecenia SELECT. Jest to polecenie pozwalające na odczytywanie danych z bazy danych oraz wykonywanie na tych danych prostych obliczeń i przekształceń. Polecenie SELECT pobiera krotki z relacji w bazie danych, przetwarza je (opcjonalnie) i zwraca wynik w postaci zbioru odczytanych krotek. W wyniku wykonania polecenia SELECT otrzymujemy zatem relację (zbiór krotek), tzw. relację wynikową". Aplikacje klienckie, pozwalające na bezpośrednie wykonywanie poleceń SQL przedstawiają relację wynikową postaci tabelarycznej. PoniewaŜ polecenia SELECT słuŝą do odczytywania danych w bazie danych, nazywa się te polecenia zapytaniami". Najprostszą wersją polecenia SELECT, jest polecenie postaci: SELECT * FROM {nazwa relacji};" Polecenie odczytujące dane z relacji rozpoczyna się zawsze słowem kluczowym SELECT po którym podaje się listę atrybutów, które mają zostać odczytane. Sposób definiowania listy atrybutów zostanie opisany później. Wstawiona po słowie kluczowym SELECT gwiazdka oznacza odczytaj wszystkie atrybuty". Następnie, umieszcza się w poleceniu słowo kluczowe FROM, po którym podaje się nazwę relacji z której mają zostać odczytane krotki. Polecenie SELECT o postaci SELECT * FROM {nazwa relacji}; powoduje odczytanie wszystkich krotek i wszystkich atrybutów z relacji o podanej nazwie. Przykładowo, polecenie odczytujące całą zawartość relacji dzialy wygląda następująco: PowyŜsze polecenie moŝna przetłumaczyć na język naturalny następująco: Odczytaj wszystkie krotki z relacji o nazwie dzialy, zachowując wszystkie atrybuty krotek (*)". W wyniku takiego zapytania SZBD odczyta z bazy danych, z relacji dzialy, wszystkie krotki i w postaci niezmienionej zwróci je aplikacji klienckiej, która w naszym przypadku wyświetli je na ekranie. 5

NaleŜy zwrócić uwagę na następującą rzecz. Relacje są zbiorami, a zatem kolejność zwracania krotek przez SZBD i ich wyświetlania przez aplikację kliencką, jest dowolna. 4. Projekcja. W większości przypadków nie ma konieczności odczytywania wszystkich atrybutów krotek z relacji. Najczęściej istotny jest tylko niewielki ich podzbiór. W takich sytuacjach moŝna skorzystać z nieco bardziej skomplikowanej wersji polecenia SELECT, w której zamiast znaku *" wymienia się listę nazw atrybutów, które mają się znaleźć w wyniku. Poszczególne atrybuty na tej liście są rozdzielane za pomocą przecinków. Proces wybierania atrybutów, które mają się znaleźć w wyniku nazywa się projekcją". Rozszerzona wersja polecenia SELECT wygląda następująco: SELECT{atrybutl, atrybut2, FROM {nazwa relacji}; Gdzie atrybut" to nazwa atrybutu zdefiniowanego w relacji podanej za słowem kluczowym FROM. Polecenie odczyta z relacji pracownicy wszystkie krotki, ale zwróci jedynie wartości dotyczące atrybutów nazwisko, imie i wynagrodzenie. 6

5. Literały W klauzuli SELECT moŝna umieszczać literały. Literałem jest dowolny ciąg znaków lub liczb. W wyniku umieszczenia literałów system bazy danych do kaŝdego zwróconego wiersza wpisze do odpowiedniej kolumny podany ciąg znaków. 6. Aliasy. Aliasy nie są obowiązkowe i najlepiej stosować je jedynie do wyraŝeń bardziej skomplikowanych niŝ sama nazwa atrybutu. Aby nadać wyraŝeniu alias, naleŝy za tym wyraŝeniem uŝyć słowa kluczowego AS, a następnie podać alias. JeŜeli alias składa się ze słów ze spacja wówczas umieszczamy go w apostrofach np.: AS Dane osób 7

W kolejnym przykładzie zostanie zastosowany alias dla określenia nazwy dla funkcji łączenia CONCAT(). 7. Funkcje. MySQL obsługuje duŝy zestaw funkcji, których moŝna uŝywać w zapytaniach. PoniŜej przedstawiono przykładowe, często wykorzystywane funkcje. 8

CONCAT()- funkcja pozwala na łączenie danych przechowywanych odrębnych kolumnach w jedną kolumnę. UPPER(), LOWER()- funkcja pozwala na zamianę łańcucha tekstowego zapisanego małymi literami na duŝe i na odwrót. REVERSE()- funkcja pozwala na zapisanie łańcucha tekstowego w odwrotnej kolejności liter. LENGTH()- funkcja zwraca długość łańcucha tekstowego podanego jako argument. LEFT(), RIGHT()- funkcje zwracają fragment łańcucha tekstowego podanego jako pierwszy argument o długości podanej jako drugi argument. Ceil, Floor - funkcje zaokrąglające- w górę i w dół, np. CEIL(5.21)=6, FLOOR(4.34)=4 Uwaga: W SQL w celu oddzielenia części całkowitej od dziesiętnej uŝywany. (kropki) Ln(n) - zwraca logarytm naturalny z n Log(n, m) - zwraca logarytm z m przy podstawie n Mod(m, n) - zwraca reszte z dzielenia m przez n Power(m, n) - zwraca m podniesione do potęgi n Round(m [, n]) - zwraca m zaokrąglone do n miejsc po przecinku. Dla n < 0, określa liczbę miejsc przed przecinkiem. Domyślnie n = 0. Sign(n) - zwraca 1 dla n < 0, 0 dla n = 0 oraz 1 dla n > 0 Sin(n) - zwraca sinus kata n (wyraŝonego w radianach) Sqrt(n) - zwraca pierwiastek kwadratowy z n Tan(n) - zwraca tangens kata n (wyraŝonego w radianach) Trunc(m [,n]) - zwraca m po obcięciu do n miejsc po przecinku. Dla n < 0, określa liczbę miejsc przed przecinkiem. Domyślnie n = 0 Conv - zamienia systemy np, z dziesiętnego na binarny Zamiana liczby 8 z systemu dziesiętnego na binarny DAYNAME(), DAYOFMONTH(), DAYOFWEEK(), DAYOFYEAR(), MONTH(), MONTHNAME(), NOW(), WEEK(), YEAR() funkcje daty i czasu wymagają podania argumentu w postaci daty. USER(), VERSION(), DATABASE() - inne funkcje pomocnicze. 9

Ćwiczenie do samodzielnej realizacji: 1. Wyświetl wszystkie dane z tabeli ksiązki 2. Wyświetl nazwy ksiąŝek i ich autorów wg wzoru: 3. Wyświetl duzymi literami imie i nazwisko pracowników biblioteki 4. Wyświetl inicjał imienia z kropką i nazwisko autorów ksiąŝek oraz tytuły ksiąŝek w jednej kolumnie z nagłówkiem Ksiazki 5. Wyświetl dane pracowników: nazwisko i imię (nadaj alias: osoba) oraz datę zatrudnienia podaną wg wzoru: dzień, nazwa miesiąca, rok (nadaj alias data zatrudnienia 10

6. Wyświetl imie i nazwisko pracowników pisane małymi literami od końca np. atram akydohc 7. Wyświetl w jednej kolumnie nazwy działów oraz liczbę liter ile posiadają te nazwy wg wzoru: kierownik 9 liter 8. Wyświetl wyniki równań: a. Zaokrąglony do dołu wynik równania: 33-2,45 b. Zaokrąglony do góry wynik równania: 123,23 + 34,4*3 9. UŜywając funkcji matematycznych wyświetlić wynik równania: ( 44 /11 12,5) 3 2 + 3,75 33 * 2 / (WYNIK= 0,200346054) 10. * Wyświetl nr_transakcji oraz liczbę dni ile były wypoŝyczone poszczególne ksiąŝki. 11. * Wyświetl nazwy stanowisk wg opisu: Pierwsza, środkowa i ostatnia litera duŝe, reszta małe. 11