Dominik Szydłowski. v
|
|
- Krystyna Jolanta Górecka
- 8 lat temu
- Przeglądów:
Transkrypt
1 Dominik Szydłowski v
2 Będziemy pracować z bazą danych formula.sql złożonej z tabel: circuits - informacje o torach wyścigowych (18 rec.), drivers - informacje o kierowcach (22 rec.), teams - informacje o konstruktorach (10 rec.), Pełny skrypt wykonywanych poleceń na bazie formula znajduje się w pliku polecenia.txt. wszystkie polecenia z pliku polecenia.txt były wymyślone i testowane przeze mnie na phpmyadmin z wynikiem pozytywnym. 2
3 Struktura tabeli circuits: id - unikalny identyfikator toru, name - nazwa toru, lap_record - nazwisko kierowcy który posiada na danym torze rekord jednego okrążenia, race_dist - dystans jaki pokonują kierowcy podczas wyścigu na danym torze. 3
4 Struktura tabeli drivers: id - unikalny identyfikator kierowcy, name imię kierowcy, last_name - nazwisko kierowcy, team_id unikalny identyfikator zespołu dla jakiego jeździ dany kierowca, nationality narodowość, last_place pozycja jaką dany kierowca zajął w klasyfikacji indywidualnej w sezonie 2008 (jeśli nie jeździł w sezonie NULL), podiums informacja o tym ile razy na podium gościł dany kierowca, points ilość zgromadzonych punktów przez kierowcę w całej karierze gp_entered liczba startów w Grand Prix, championships liczba zdobytych mistrzostw świata, wins liczba zwycięstw w całej karierze, highest_race_finish najwyższa zdobyta pozycja w wyścigu, year_of_birth rok urodzenia. 4
5 Struktura tabeli teams: id - unikalny identyfikator zespołu, name - nazwa zespołu, base - siedziba, engines nazwa silnika jaką używa dany zespół w swoich bolidach, first_season rok w którym zadebiutował zespół, championships ilość zdobytych mistrzostw świata konstruktorów, pole_positions ilosć wywalczonych pierwszych pól w kwalifikacjach przez bolidy danego zespołu, place pozycja w klasyfikacji konstruktorów na zakończenie sezonu
6 6
7 Podzapytania lub zapytania zagnieżdżone to instrukcje SELECT umieszczone wewnątrz innych instrukcji SELECT. Podzapytanie może być użyte w dowolnej klauzuli w klauzuli FROM będziemy ich używać jako źródeł danych, w klauzuli SELECT jako odpowiedników zmiennych lub funkcji, w klauzuli WHERE do wybierania danych itd. 7
8 Podobnie jak wywołania funkcji w innych funkcjach, możemy zagnieżdżać zapytania w innych zapytaniach. Podzapytanie musi zostać zapisane w nawiasie. Analogia do znanych nam języków programowania. Serwer zarządzania bazą danych wykonuje podzapytania, zaczynając od najbardziej wewnętrznej instrukcji SELECT, po to, aby wynik tej instrukcji wykorzystać do wykonania zapytań zewnętrznych. 8
9 Podzapytania dzielą się na: Podzapytania powiązane i niepowiązane. podzapytanie powiązane wymaga danych z zapytania zewnętrznego, zanim może być wykonane. Dane zwrócone przez podzapytanie powiązane wprowadzane są z powrotem do zapytania zewnętrznego, a podzapytanie wykonywane jest tyle razy, ile wierszy zwróciło zapytanie zewnętrzne. podzapytanie niepowiązane wykonuje się tylko raz, przed zapytaniem zewnętrznym, a jego wyniki są przekazywane do zapytania zewnętrznego. Podzapytanie niepowiązane jest prostszym przykładem podzapytań. Podzapytania zwracające jeden wiersz i zwracające wiele wierszy. Kryterium podziału stanowi tutaj liczba wierszy zwracanych przez wewnętrzną instrukcję SELECT. 9
10 10
11 Podzapytania tego typu można traktować jak zwykłe wyrażenia. W szczególności podzapytania tego typu mogą być używane ze standardowymi operatorami porównań. 11
12 PRZYKŁAD 1. ZADANIE: Kierowca, który ma rekord jednego okrążenia na torze w Hockenheim (id toru 10). ZAPYTANIE: SELECT name, last_name, nationality FROM drivers WHERE last_name= (SELECT lap_record FROM circuits WHERE id=10); WYNIK: Kimi Raikkonen Finnish KOMENTARZ: Innego typu operatory jakie możemy zastosować:!=, <> lub #, >, >=, <, <= 12
13 Zapytania zagnieżdżone podające pojedynczą wartość: W instrukcji SELECT można wykorzystywać również funkcje agregujące do podania pojedynczej wartości (przypominam jakie): COUNT() zlicza liczbę wybranych wierszy; SUM() sumuje wartości w kolumnach numerycznych; MIN() znajduje minimalną wartość tekstową, typu daty lub numeryczną; MAX() znajduje maksymalną wartość; AVG() oblicza średnią wartość w kolumnach numerycznych. Wynikiem wykonywanej funkcji agregującej jest pojedyncza wartość. 13
14 PRZYKŁAD 2. ZADANIE: Poszukajmy w tabeli drivers najstarszego kierowcę. ZAPYTANIE: SELECT name, last_name, last_place, year_of_birth FROM drivers WHERE year_of_birth= (SELECT min(year_of_birth) FROM drivers); WYNIK: Michael Schumacher NULL
15 PRZYKŁAD 3. ZADANIE: Zróbmy to samo co w przykładzie 2, z tą różnicą, żeby szukany przez nas kierowca brał udział w GP w 2008 roku. ZAPYTANIE: SELECT name, last_name, last_place, year_of_birth FROM drivers WHERE year_of_birth= (SELECT min(year_of_birth) FROM drivers WHERE last_place!='null'); WYNIK: David Coulthard KOMANTARZ: min(year_of_birth) - zwraca wartość minimalną w kolumnie year_of_birth 15
16 PRZYKŁAD 4. ZADANIE: Teraz dla odmiany wyszukajmy zawodników, dla których liczba zdobytych punktów jest większa od średniej. ZAPYTANIE: SELECT name, last_name, nationality, last_place, points FROM drivers WHERE points > (SELECT avg(points) FROM drivers); WYNIK: 8 zawodników spełnia to kryterium. 16
17 PRZYKŁAD 5. ZADANIE: Teraz poszukajmy weterana F1 czyli kierowcę, który miał najwięcej startów i nadal bierze udział w GP. ZAPYTANIE: SELECT name, last_name, wins, gp_entered FROM drivers WHERE gp_entered= (SELECT max(gp_entered) FROM drivers WHERE last_place!='null'); WYNIK: Rubens Barrichello
18 PRZYKŁAD 6. ZADANIE: I na koniec tego ćwiczenia poszukamy kierowcy który ma najwięcej startów w GP wśród tych wszystkich zawodników, którzy jeszcze nie zwyciężyli i nadal się ścigają. ZAPYTANIE: SELECT name, last_name, last_place, gp_entered FROM drivers WHERE gp_entered= (SELECT max(gp_entered) FROM drivers WHERE last_place!='null' AND wins=0 ); WYNIK: Nick Heidfeld
19 19
20 PRZYKŁAD 7. ZADANIE: Znajdźmy zespół w którym jeździ Polski kierowca. ZAPYTANIE: SELECT name, base, engines FROM teams WHERE id = (SELECT team_id FROM drivers WHERE nationality = 'Polish'); WYNIK: BWM Sauber Munich, Hinwil BMW 20
21 PRZYKŁAD 8. ZADANIE: Co by było, gdyby polecenie z przykładu 7 było użyte do odczytania kierowców narodowości niemieckiej? Ponieważ wewnętrzne zapytanie zwróciłoby listę wartości (mamy kilku kierowców o takiej narodowości), a nie pojedynczy wiersz, MySQL nie mógłby poprawnie obliczyć wyniku zapytania zewnętrznego (niemożliwe jest sprawdzenie, czy identyfikator klienta jest równy zbiorowi wartości) i zamiast listy teamów otrzymalibyśmy komunikat o błędzie. Przekształceniem tej instrukcji tak, aby podzapytanie mogło zwrócić dowolną liczbę wartości (włączając w to 0), a przy tym działało zgodnie z naszymi oczekiwaniami, zajmiemy się w kolejnym przykładzie. ZAPYTANIE: SELECT name, base, engines FROM teams WHERE id = (SELECT team_id FROM drivers WHERE nationality = 'German' AND last_place!='null'); WYNIK: MySQL zwrócił komunikat: # Message: Subquery returns more than 1 row Z pomocą przyjdzie nam wyrażenie IN 21
22 W języku SQL można wykorzystać zapytania zagnieżdżone, które podają kilka wartości z jednej kolumny. Podzapytania zwracające listę wartości mogą być wykorzystane w wyrażeniach typu IN, NOT IN, EXISTS, NOT EXIST, oraz łącznie ze słowami kluczowymi ANY lub ALL. 22
23 Podzapytania z wyrażeniem IN Wyrażenie IN jest wykorzystywane do sprawdzenia, czy wartość należy do pewnego zbioru. Podzapytanie może być wykorzystane do wybrania tego zbioru wartości. Przekształćmy naszą instrukcję z przykładu 8 tak, aby wykorzystać w podzapytaniu operator IN. 23
24 PRZYKŁAD 9. Słowo kluczowe IN. ZADANIE: Modyfikacja polecenia z przykładu 8. ZAPYTANIE: SELECT name, base, engines FROM teams WHERE id IN (SELECT team_id FROM drivers WHERE nationality = 'German' AND last_place!='null'); WYNIK: Jako wynik wyświetli się nam 5 teamów. 24
25 PRZYKŁAD 10*. Słowo kluczowe IN oraz GROUP BY. ZADANIE: Utwórzmy klasyfikację, która nam powie, który z kierowców wygrał rywalizację wewnątrz zespołową. ZAPYTANIE: SELECT name, last_name FROM drivers WHERE last_place IN (SELECT min(last_place) FROM drivers WHERE last_place!='null' GROUP BY team_id) ORDER BY last_place; KOMENTARZ: Klauzula GROUP BY układa wiersze w grupy, w których określona kolumna ma tą samą wartość, a następnie redukuje tą grupę do pojedynczego wiersza w tablicy wynikowej. Kolumna wyszczególniona w klauzuli SELECT musi być zawarta w klauzuli GROUP BY i odwrotnie. 25
26 PRZYKŁAD 11*. Podzapytanie vs złączenie ZADANIE: W niektórych przypadkach możemy podzapytanie zastąpić złączeniem. Szukamy kierowców, którzy mają rekord jednego okrążenia. ZAPYTANIE A (podzapytanie): SELECT name, last_name FROM drivers WHERE last_name IN (SELECT lap_record FROM circuits) ORDER BY last_name; ZAPYTANIE B (złączenie): SELECT DISTINCT drivers.name, last_name FROM drivers, circuits WHERE (last_name = lap_record) ORDER BY last_name; 26
27 Podzapytania z wyrażeniem NOT IN Wyniki podzapytań mogą być również porównywane również za pomocą operatora NOT IN. Wartość logiczna takiego wyrażenia jest prawdziwa, gdy wartość testowana nie należy do listy wartości zwróconych przez podzapytanie. Nie zaleca się korzystania z wyrażeń NOT IN w podzapytaniach z powodu ich niskiej wydajności. W większości wypadków można zamiast tego skorzystać z zapytania wykorzystującego złączenie zewnętrzne. 27
28 PRZYKŁAD 12. Słowo kluczowe NOT IN. ZADANIE: Szukamy kierowców, którzy nie posiadają rekordu jednego okrążeni na torze, które długość jest większa od 306 km. ZAPYTANIE: SELECT name, last_name FROM drivers WHERE last_name NOT IN (SELECT lap_record FROM circuits WHERE race_dist > 306) ORDER BY last_name; WYNIK: 17 kierowców. Zmieńmy NOT IN na IN. W wyniku otrzymany tych kierowców którzy taki rekord posiadają. 28
29 Podzapytania z wyrażeniem ANY Słowo kluczowe ANY służy do sprawdzania, czy warunek umieszczony w klauzuli WHERE jest prawdziwy dla dowolnej wartości podawanej przez wewnętrzną instrukcję SELECT. W przypadku użycia operatora ANY, wartość bieżącego wiersza zwróconego przez zapytanie zewnętrzne jest porównywana z każdą wartością zwróconą przez wewnętrzne zapytanie. Wystarczy, że jedno z tych porównań będzie prawdziwe (czyli wiersz z wyniku zapytania zewnętrznego przynajmniej raz spełni warunek logiczny), a całe porównanie będzie traktowane jako spełnione. Innymi słowy, wiersz zostanie wybrany, jeżeli wyrażenie jest zgodne z co najmniej jedną wartością zwróconą przez zapytanie wewnętrzne. 29
30 PRZYKŁAD 13. Słowo kluczowe ANY. ZADANIE: Wyszukajmy teamy dla których liczba zdobytych pole position (P1) jest większa od liczby zdobytych P1 jakiegokolwiek innego zespołu. ZAPYTANIE: SELECT * FROM teams WHERE pole_positions > ANY (SELECT pole_positions FROM teams); WYNIK: W wyniku tej selekcji otrzymamy 6 teamów. 30
31 PRZYKŁAD 14. Słowo kluczowe ANY. ZADANIE: Wyszukajmy kierowców którzy mają liczbę zwycięstw większą od jakiegokolwiek innego zawodnika w stawce. ZAPYTANIE: SELECT name, last_name FROM drivers WHERE wins > ANY (SELECT wins FROM drivers) ORDER BY wins, last_name; KOMENTARZ: W wewnętrznym selekcie dostaniemy wszystkie wiersze wins z tabeli drivers. Dodatkowo sortujemy otrzymane wyniki najpierw według zwycięstw później według nazwiska. 31
32 Podzapytania z wyrażeniem ALL Słowo kluczowe ALL służy do sprawdzania, czy warunek umieszczony w klauzuli WHERE jest prawdziwy dla wszystkich wartości podawanych przez wewnętrzną instrukcję SELECT. W przypadku użycia operatora ALL warunek musi być spełniony przez wszystkie wartości wybrane w podzapytaniu. Innymi słowy, jeśli wykonujemy porównanie oparte na równości, to wartość z lewej strony równania musi być równa każdej wartości wyniku podzapytania, żeby wynik całego porównania też był prawdziwy. 32
33 PRZYKŁAD 15. Słowo kluczowe ALL. ZADANIE: Kierowca, który ma największą/najmniejszą liczbę zwycięstw. ZAPYTANIE A: SELECT * FROM drivers WHERE wins >= ALL (SELECT wins FROM drivers); ZAPYTANIE B: SELECT name, last_name FROM drivers WHERE wins <= ALL (SELECT wins FROM drivers); WYNIK: Michael Schumacher lub 8 zawodników, którzy nie maję zwycięstwa na swoim koncie. 33
34 Podzapytania z wyrażeniem EXIST W przypadku podzapytań czasami chcemy jedynie sprawdzić, czy wiersz spełniający podane warunki istnieje w bazie danych. Prostą metodą sprawdzenia, czy dany wiersz występuje w podanej tabeli jest użycie wyrażenia EXIST. Ponieważ operator EXIST zwraca wartość logiczną True, gdy wewnętrzne podzapytanie zwróci jakikolwiek wynik, a False, gdy zwróci pusty zbiór, nie ma znaczenia, co znajdzie się w klauzuli SELECT wewnętrznego podzapytania. 34
35 Podzapytania z wyrażeniem EXIST Dzisiaj już używaliśmy wyrażenia EXIST tylko trochę nieświadomie. Importując bazę danych serwer SQL wykonał 9 zapytań w tym: DROP TABLE IF EXISTS circuits DROP TABLE IF EXISTS drivers DROP TABLE IF EXISTS teams 35
36 PRZYKŁAD 16. Słowo kluczowe EXIST. ZADANIE: Za pomocą polecenia EXIST wyszukajmy kierowcy, który posiada rekord jednego okrążenia na jednym z torów. ZAPYTANIE: SELECT * FROM drivers WHERE EXISTS (SELECT * FROM circuits WHERE lap_record = last_name); KOMENTARZ: Wykorzystujemy tutaj złącznie tabeli drivers oraz circuits. 36
37 Podzapytania z wyrażeniem NOT EXIST Jeżeli interesuje nas brak jakichś danych, a nie ich istnienie, możemy sprawdzić to za pomocą wyrażenia NOT EXIST. 37
38 PRZYKŁAD 17. Słowo kluczowe NOT EXIST. ZADANIE: Zmodyfikujmy polecenie z przykładu 16 i znajdźmy kierowcę, który nie posiada rekordu okrążenia. ZAPYTANIE: SELECT * FROM drivers WHERE NOT EXISTS (SELECT * FROM circuits WHERE lap_record = last_name); 38
39 39
40 Podzapytania niepowiązane wykonywane są następująco: Wykonana zostaje wewnętrzna instrukcja SELECT. Jej wyniki zostają przekazane do zapytania zewnętrznego. Otrzymane dane pozwalają wykonać zapytanie zewnętrzne Podzapytania jako źródła danych Jak już widzieliśmy wynik podzapytania może być zbiorem danych źródłowych dla innego zapytania. W takim przypadku podzapytanie znajduje się w klauzuli FROM zapytania nadrzędnego. 40
41 PRZYKŁAD 18. Inne spojrzenie na podzapytania niepowiązane ZADANIE: Wyświetlmy zawodników, którzy w sezonie 2008 zajęli pozycje w klasyfikacji generalnej od 1 do 8. ZAPYTANIE: SELECT * FROM ( SELECT name, last_name, last_place FROM drivers ORDER BY points/gp_entered) AS zawodnik WHERE last_place <= 8; KOMENTARZ: MySQL, wykonując tę instrukcję, najpierw wykonał wewnętrzne zapytanie i nazwał wynik zawodnik, a następnie odczytał z tymczasowej tabeli zawodnik te wiersze, dla których spełniony był warunek last_place <= 8; Charakterystyczne dla zapytań niepowiązanych jest to, że zapytanie wewnętrzne można wykonać jako osobną instrukcję. 41
42 Podzapytania powiązane: podzapytanie takie wykonywane jest dla każdego wiersza wyniku zapytania zewnętrznego i może być z nim porównywane. Podzapytanie powiązane jest przykładem dynamicznego złączenia wyniku zapytania z każdym kolejnym wierszem wyniku zapytania zewnętrznego. Podzapytanie powiązane, jako przykład dynamicznego złączenia, można łatwo rozpoznać po tym, że kolumna (kolumny) wyniku podzapytania jest porównywana z kolumną (kolumnami) wyniku zapytania zewnętrznego. Niezależne wykonanie wewnętrznego zapytania jest w tym przypadku niemożliwe. 42
43 Podzapytania z operatorem EXISTS Za pomocą operatorów EXISTS i NOT EXISTS możemy ograniczyć wynik zapytania zewnętrznego do wierszy odpowiednio zwróconych (lub nie) przez podzapytanie powiązane. 43
44 PRZYKŁAD 19. ZADANIE: Przykład zastosowania podzapytań do wyszukiwania duplikatów danych. ZAPYTANIE: SELECT name, last_name FROM drivers AS T1 WHERE EXISTS (SELECT id FROM drivers AS T2 WHERE T1.last_name=T2.last_name AND T1.name=T2.name AND T1.id<>T2.id); KOMENTARZ: Pokazane podzapytanie powiązane wyświetla wszystkie informacje o tych kierowcach, którzy mają to samo imię i nazwisko, ale różne id, a więc dane, które pomyłkowo mogły zostać kilkakrotnie wprowadzone do bazy. 44
45 PRZYKŁAD 20. ZADANIE: W poprzednim przykładzie w naszej bazie nie znaleziono duplikatów, zatem dodajmy dubla do bazy i ponówmy poprzednie zapytanie aby jeszcze raz sprawdzić działanie zapytania z przykładu 19. ZAPYTANIE: INSERT INTO drivers (id, name, last_name, team_id, nationality, last_place, podiums, points, gp_entered, championships, wins, highest_race_finish, year_of_birth) VALUES (NULL, 'Adrian', 'Sutil', 10, 'German', 20, 0, 1, 35, 0, 0, 8, 1983); WYNIK: Jako wynik powinniśmy otrzymać nazwisko kierowcy, któremu zrobiliśmy dubla w bazie drivers. 45
46 Jak to działa? Wykonując tę instrukcję, MySQL odczytuje jeden wiersz z tabeli drivers i sprawdza, czy w całej tabeli nie ma zapisanych danych o kierowcy, który miałby to samo imię i nazwisko, ale różny identyfikator. Jeżeli tak, operator EXISTS zwraca prawdę i dane kierowcy dołączane są do wyniku. Następnie odczytywany jest drugi wiersz z tabeli drivers i cały proces powtarza się aż do sprawdzenia wszystkich wierszy. 46
47 ZAPYTANIA WIELOKROTNE W języku SQL zapytania mogą być zagnieżdżone jedno w drugim tworząc zapytaniami wielokrotnymi. 47
48 PRZYKŁAD 21. ZAPYTANIE WIELOKRONE. ZADANIE: Szukamy toru na którym ma rekord kierowca z teamu, którego liczba mistrzostw jest większa od średniej, zaś sam kierowca ma liczbę zwycięst poniżej średniej. ZAPYTANIE: SELECT name, lap_record FROM circuits WHERE lap_record IN (SELECT last_name FROM drivers WHERE team_id IN (SELECT id FROM teams WHERE championships > (SELECT AVG(championships) FROM teams)) AND wins < (SELECT AVG(wins) FROM drivers) ); 48
49 49
50 Tworzenie widoków Aby utworzyć widok, należy wykonać instrukcję: CREATE [OR REPLACE] VIEW Nazwa_widoku [(lista kolumn)] AS SELECT zapytanie Opcjonalny parametr lista kolumn definiuje nazwy kolumn dla perspektywy. Lista kolumn tworzonej perspektywy musi zawierać dokładnie tyle pozycji, ile kolumn zwraca instrukcja SELECT. Jeżeli w klauzuli SELECT użyliśmy wyrażeń, należy jawnie określić nazwy kolumn widoku. Zapytanie jest dowolną z kilkoma wyjątkami poprawnie sformułowaną instrukcją SELECT języka SQL. Jeżeli chcemy zmienić wcześniej utworzony widok, należy po słowie kluczowym CREATE użyć opcji OR REPLACE. Tak utworzony widok jest w gruncie rzeczy aliasem tabeli. 50
51 PRZYKŁAD 22. CREATE VIEW. ZADANIE: Utwórzmy widok dla tabeli circuits. ZAPYTANIE: CREATE VIEW V_circuits AS SELECT id, name, race_dist FROM circuits; KOMENTARZ: Pokazuje sposób utworzenia widoku ograniczającego użytkownikom dostęp do poufnych informacji np. lap_record. 51
52 PRZYKŁAD 23. SELECT * FROM View. Utworzonego widoku można używać tak jak zwykłej tabeli. Wykonanie instrukcji z listingu poniżej zwróci dane torów których dystans jest większy od 301 km. ZAPYTANIE: SELECT* FROM V_circuits WHERE race_dist >301; KOMENTARZ: Widoki umożliwiają prezentowanie danych w sposób najbardziej wygodny dla użytkowników, niezależnie od struktury tabel fizycznych. Użytkownikom o wiele łatwiej wpisać polecenie SELECT * nazwa_widoku zawierającego wyłącznie kolumny najczęściej przez nich używane, niż wypisywać poszczególne nazwy kolumn przy korzystaniu z tabeli. 52
53 Modyfikowanie widoków Możemy zmienić definicję widoku przez wykonanie instrukcji ALTER VIEW. W ten sposób zmienimy definicję widoku, ale uprawnienia nadane do niego użytkownikom pozostaną Usuwanie widoków Niepotrzebne widoki mogą zostać usunięte z bazy danych. Ponieważ usunięcie tabeli bazowej nie spowoduje automatycznego usunięcia powiązanych z nią widoków, z reguły instrukcje DROP TABLE i DROP VIEW wykonywane są łącznie 53
54 PRZYKŁAD 24. ALTER VIEW. Zmiana definicji widoku. ZAPYTANIE: ALTER VIEW V_circuits AS SELECT * FROM circuits WHERE race_dist >=301 WITH CHECK OPTION; KOMENTARZ: Możemy zmienić definicję widoku przez wykonanie instrukcji ALTER VIEW. W ten sposób zmienimy definicję widoku, ale uprawnienia nadane do niego użytkownikom pozostaną. 54
55 PRZYKŁAD 25. SELECT * FROM View. Dodajmy do tabeli circuits rekord. Następnie sprawdźmy co się stało z naszym widokiem. ZAPYTANIE: INSERT INTO circuits ( id, name, lap_record, race_dist) VALUES (NULL, 'Krakow', 'No_name', ' ); SELECT * FROM V_circuits; KOMENTARZ: Widok jest tworzony dynamicznie. 55
56 PRZYKŁAD 26. DROP VIEW. Usuwamy niepotrzebny widok ZAPYTANIE: DROP VIEW V_circuits; KOMENTARZ: Podobnie jak w przypadku usuwania tabel, aby MySQL usunął widok, musimy mieć nadane uprawnienia administratora baz danych lub być właścicielem tego widoku. 56
57 Korzyści: Wygoda - uproszczenie zapytań kierowanych do systemu. Utworzenie dodatkowego poziomu zabezpieczenia tabelipoprzez ograniczenie dostępu do określonych kolumn lubwierszy tabeli bazowej. Pokazywanie danych z innej perspektywy - dla przykładu widok może zostać użyty do zmiany nazwy kolumny bez zmiany rzeczywistych danych zapisanych w tabeli. Tworzenie warstwy abstrakcji. 57
58 Wady: Wydajność - widok nie istnieje rzeczywiście jest dynamicznie. Brak możliwości modyfikacji danych (w przypadku widoków niemodyfikowalnych). 58
59 Właścicielem praw autorskich do pliku SQL_R.pdf jest Dominique Sz. Dozwolone jest wykonanie jednej kopii papierowej na potrzeby własne użytkownika. Zabronione jest wykonywanie dalszych reprodukcji, przetwarzanie i kopiowanie plików komputerowych, zawierających ów plik na jakikolwiek komputer, dyskietkę, płytę CD, DVD, lub inny nośnik plików komputerowych o którym mowa na stronie internetowej: [cytat zaczerpnięty z sieci ] 59
SQL (ang. Structured Query Language)
SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze
Bardziej szczegółowoSystemy GIS Tworzenie zapytań w bazach danych
Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE
Bardziej szczegółowoBazy danych 10. SQL Widoki
Bazy danych 10. SQL Widoki P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Widoki, AKA Perspektywy W SQL tabela, która utworzono za pomoca zapytania CREATE TABLE, nazywa się tabela
Bardziej szczegółowoRelacyjne bazy danych. Podstawy SQL
Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.
Bardziej szczegółowoPodobnie jak wywołania funkcji w innych funkcjach, zapytania możemy zagnieżdżać w innych zapytaniach. Podzapytanie musi zostać zapisane w nawiasie.
W tym odcinku poznasz odpowiednik zmiennych i funkcji znanych z proceduralnych języków programowania podzapytania. Dowiesz się, w jaki sposób MySQL wykonuje podzapytania niepowiązane i powiązane, oraz
Bardziej szczegółowoE.14 Bazy Danych cz. 14 SQL Podzapytania
Wprowadzenie Podzapytania niepowiązane Podzapytania jako źródła danych Podzapytania jako zmienne Podzapytania powiązane Podzapytania jako złączenia Podzapytania z operatorem EXISTS Podzapytania zwracające
Bardziej szczegółowoWprowadzenie. Tworzenie widoków
Widoki Wprowadzenie...2 Tworzenie widoków...2 Złączenie zewnętrzne w definicji widoków...4 Porządkowanie danych przez widoki...5 Modyfikowanie danych przez widoki...6 Ograniczenie zakresu modyfikowania
Bardziej szczegółowoWykład 8. SQL praca z tabelami 5
Wykład 8 SQL praca z tabelami 5 Podzapytania to mechanizm pozwalający wykorzystywać wyniki jednego zapytania w innym zapytaniu. Nazywane często zapytaniami zagnieżdżonymi. Są stosowane z zapytaniami typu
Bardziej szczegółowoRelacyjne bazy danych. Podstawy SQL
Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.
Bardziej szczegółowoSQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL
Wprowadzenie do SQL SQL - Structured Query Language -strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w relacyjnych bazach danych Powstał w firmie
Bardziej szczegółowoOracle11g: Wprowadzenie do SQL
Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom
Bardziej szczegółowoWybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee
Polecenie SELECT instrukcja pobierająca dane z bazy danych (z tabel, widoków) użytkownik posługujący się nią musi mieć uprawnienia do pobierania danych wynikiem zapytania jest zawsze tablica o określonych
Bardziej szczegółowoBazy danych. dr inż. Arkadiusz Mirakowski
Bazy danych dr inż. Arkadiusz Mirakowski Początek pracy z Transact SQL (T-SQL) 153.19.7.13,1401 jkowalski nr indeksu 2 Perspektywa - tabela tymczasowa - grupowanie Perspektywa (widok) Perspektywa (widok)
Bardziej szczegółowo3. Podzapytania, łączenie tabel i zapytań
3. Podzapytania, łączenie tabel i zapytań I. PODZAPYTANIE (SUBSELECT) oddzielna, ujęta w nawiasy instrukcja SELECT, zagnieżdżona w innej instrukcji SQL, zazwyczaj w instrukcji SELECT w instrukcji SELECT,
Bardziej szczegółowoPrzykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.
Marek Robak Wprowadzenie do języka SQL na przykładzie baz SQLite Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Tworzenie tabeli Pierwsza tabela W relacyjnych bazach danych jedna
Bardziej szczegółowoJęzyk SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych
Politechnika Śląska Instytut Informatyki instrukcja laboratoryjna laboratorium Bazy Danych przygotowali: mgr inż. Paweł Kasprowski (Kasprowski@zti.iinf.polsl.gliwice.pl) mgr inż. Bożena Małysiak (bozena@ivp.iinf.polsl.gliwice.pl)
Bardziej szczegółowoPrzestrzenne bazy danych Podstawy języka SQL
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
Bardziej szczegółowoWstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9
Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Tabele 9 Klucze 10 Relacje 11 Podstawowe zasady projektowania tabel 16 Rozdział 2. Praca z tabelami 25 Typy danych 25 Tworzenie tabel 29 Atrybuty kolumn
Bardziej szczegółowoDECLARE VARIABLE zmienna1 typ danych; BEGIN
Procedury zapamiętane w Interbase - samodzielne programy napisane w specjalnym języku (właściwym dla serwera baz danych Interbase), który umożliwia tworzenie zapytań, pętli, instrukcji warunkowych itp.;
Bardziej szczegółowoSQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści
SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, 2017 Spis treści O autorze 9 Wprowadzenie 11 Lekcja 1. Zrozumieć SQL 15 Podstawy baz danych 15 Język SQL
Bardziej szczegółowoPerspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.
Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane. 1 Perspektywa Perspektywa (ang. view) jest strukturą logiczną
Bardziej szczegółowoBazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych
Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy
Bardziej szczegółowoJęzyk SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.
Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne. 1 Perspektywa Perspektywa (ang. view) jest strukturą
Bardziej szczegółowoLaboratorium Bazy danych SQL 3 1
Laboratorium Bazy danych SQL 3 1 F U N K C J E operujące na grupach wierszy: avg([distinct all]kol) oblicza średnią arytmetyczną wartości kolumny kol wszystkich wierszy grupy. count([distinct all]wyr)
Bardziej szczegółowoopisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)
Zapytania SQL. Polecenie SELECT jest używane do pobierania danych z bazy danych (z tabel lub widoków). Struktura polecenia SELECT SELECT FROM WHERE opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje
Bardziej szczegółowoPODZAPYTANIE (SUBSELECT)
2. Podzapytania PODZAPYTANIE (SUBSELECT) oddzielna, ujęta w nawiasy instrukcja SELECT, zagnieżdżona w innej instrukcji SQL, zazwyczaj w instrukcji SELECT W instrukcji SELECT, podzapytanie może być umieszczone
Bardziej szczegółowoWykład 6. SQL praca z tabelami 3
Wykład 6 SQL praca z tabelami 3 Łączenie wyników zapytań Język SQL zawiera mechanizmy pozwalające na łączenie wyników kilku pytań. Pozwalają na to instrukcje UNION, INTERSECT, EXCEPT o postaci: zapytanie1
Bardziej szczegółowoLaboratorium nr 4. Temat: SQL część II. Polecenia DML
Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze
Bardziej szczegółowoAutor: Joanna Karwowska
Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może
Bardziej szczegółowoĆwiczenia laboratoryjne nr 11 Bazy danych i SQL.
Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie
Bardziej szczegółowo77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.
77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele
Bardziej szczegółowoPodzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę
Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem
Bardziej szczegółowoPawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl
Bazy danych Zapytania SELECT Dr inż. Paweł Kasprowski pawel@kasprowski.pl Przykład HAVING Podaj liczebność zespołów dla których najstarszy pracownik urodził się po 1940 select idz, count(*) from prac p
Bardziej szczegółowoPodzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę
Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem
Bardziej szczegółowoAutor: Joanna Karwowska
Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może
Bardziej szczegółowoSQL, LIKE, IN, CASE, EXISTS. Marcin Orchel
SQL, LIKE, IN, CASE, EXISTS Marcin Orchel Spis treści 1 LIKE 2 2 BETWEEN 4 3 IN 5 4 EXISTS 6 5 WYRAŻENIA CASE 7 6 Zadania 9 1 Rozdział 1 LIKE Predykat LIKE jest testem dopasowującym wzorzec łańcucha. Składnia
Bardziej szczegółowoPodzapytania. SELECT atrybut_1, atrybut_2,... FROM relacja WHERE atrybut_n operator (SELECT atrybut_1, FROM relacja WHERE warunek
Podzapytania Podzapytanie jest poleceniem SELECT zagnieżdżonym w innym poleceniu SELECT. Podzapytanie może wystąpić wszędzie tam, gdzie system spodziewa się zbioru wartości, czyli w klauzulach SELECT,
Bardziej szczegółowoPodstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści
Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, 2016 Spis treści Wprowadzenie Podziękowania xiii xvii 1 Podstawy zapytań i programowania T-SQL 1 Podstawy
Bardziej szczegółowoJęzyk SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS.
Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS. 1 Podzapytania Podzapytanie jest poleceniem SELECT zagnieżdżonym
Bardziej szczegółowoWykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.
Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania. Przykładowa RBD o schematach relacji (tzw. płaska postać RBD): N(PRACOWNICY) = {ID_P, IMIĘ,
Bardziej szczegółowoAutor: Joanna Karwowska
Autor: Joanna Karwowska Wygodniejszym i wydajniejszym sposobem przechowywania i korzystania z dużej ilości danych zapisanych na serwerze jest współpraca z relacyjną bazą danych. 2 1. Utworzyć bazę danych.
Bardziej szczegółowoPodzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę
Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem
Bardziej szczegółowoBazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8
Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8 Bazowy skrypt PHP do ćwiczeń z bazą MySQL: Utwórz skrypt o nazwie cw7.php zawierający następującą treść (uzupełniając go o właściwą nazwę uŝytkownika
Bardziej szczegółowoBazy danych 6. Podzapytania i grupowanie. P. F. Góra
Bazy danych 6. Podzapytania i grupowanie P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Podzapytania Podzapytania pozwalaja na tworzenie strukturalnych podzapytań, co umożliwia izolowanie poszczególnych
Bardziej szczegółowoT-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15
T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest
Bardziej szczegółowoWymagania: Konstrukcja prostych zapytań w języku SQL, umiejętność wykorzystania funkcji wierszowych i agregujących.
Celem ćwiczenia jest zaprezentowanie zagadnień dotyczących stosowania podzapytań ń w zapytaniach języka ę SQL. Podzapytania są ą konstrukcjami, pozwalającymi na wykonywanie zapytań w stylu podaj nazwisko
Bardziej szczegółowoPodstawy języka SQL cz. 2
Podstawy języka SQL cz. 2 1. Operatory zbiorowe a. UNION suma zbiorów z eliminacją powtórzeń, b. EXCEPT różnica zbiorów z eliminacją powtórzeń, c. INTERSECT część wspólna zbiorów z eliminacją powtórzeń.
Bardziej szczegółowoPaweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/
Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Historia i standardy Podstawy relacyjności Typy danych DDL tabele, widoki, sekwencje zmiana struktury DML DQL Podstawy, złączenia,
Bardziej szczegółowoE.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze
Funkcje użytkownika Tworzenie funkcji Usuwanie funkcji Procedury składowane Tworzenie procedur składowanych Usuwanie procedur składowanych Wyzwalacze Wyzwalacze a ograniczenia i procedury składowane Tworzenie
Bardziej szczegółowoE.14 Bazy Danych cz. 17 SQL Widoki
Wprowadzenie Tworzenie widoków Złączenie zewnętrzne w definicji widoków Uporządkowywanie danych poprzez widoki Modyfikowanie danych poprzez widoki Ograniczenie zakresu modyfikowania danych poprzez widoki
Bardziej szczegółowoZarzadzanie transakcjami. Transakcje
Transakcje Transakcja: ciąg zawierający jedno lub wiele poleceń SQL, zgrupowanych razem jako jedna logiczna jednostka działań, której nie można podzielić. Logiczna jednostka działań to zbiór logicznych
Bardziej szczegółowoWykład 5. SQL praca z tabelami 2
Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,
Bardziej szczegółowoSQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści
SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop. 2016 Spis treści O autorach 11 Podziękowania 12 Część I Wprowadzenie do języka SQL 13 Godzina 1. Witamy w świecie języka SQL 15
Bardziej szczegółowoGrupowanie i funkcje agregujące
Grupowanie i funkcje agregujące Zadanie 1. Stwórz odpowiednią tabelę Test_agr i wprowadź odpowiednie rekordy tak, aby wynik zapytania SELECT AVG(kol) avg_all, AVG(DISTINCT kol) avg_dist, COUNT(*) count_gw,
Bardziej szczegółowoPodstawy języka SQL. SQL Structured Query Languagestrukturalny
Podstawy języka SQL SQL Structured Query Languagestrukturalny język zapytań DDL Język definicji danych (np. tworzenie tabel) DML Język manipulacji danych (np. tworzenie zapytań) DCL Język kontroli danych
Bardziej szczegółowoMicrosoft SQL Server Podstawy T-SQL
Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania
Bardziej szczegółowoWyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia
Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Składowe wyzwalacza ( ECA ): określenie zdarzenia ( Event ) określenie
Bardziej szczegółowo- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji
6. Język SQL Język SQL (Structured Query Language): - język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji - stworzony w IBM w latach 70-tych DML (Data Manipulation
Bardziej szczegółowoInstrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.
Rodzaje triggerów Triggery DML na tabelach INSERT, UPDATE, DELETE Triggery na widokach INSTEAD OF Triggery DDL CREATE, ALTER, DROP Triggery na bazie danych SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN
Bardziej szczegółowoBlaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik
Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie
Bardziej szczegółowoBazy danych. Polecenia SQL
Bazy danych Baza danych, to miejsce przechowywania danych. Dane w bazie danych są podzielone na tabele. Tabele składają się ze ściśle określonych pól i rekordów. Każde pole w rekordzie ma ściśle ustalony
Bardziej szczegółowoWykład 5: PHP: praca z bazą danych MySQL
Wykład 5: PHP: praca z bazą danych MySQL Architektura WWW Podstawowa: dwuwarstwowa - klient (przeglądarka) i serwer WWW Rozszerzona: trzywarstwowa - klient (przeglądarka), serwer WWW, serwer bazy danych
Bardziej szczegółowoBAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski
BAZY DANYCH wprowadzenie do języka SQL Opracował: dr inż. Piotr Suchomski Wprowadzenie Język SQL używany jest do pracy z relacyjną bazą danych. Jest to język nieproceduralny, należący do grupy języków
Bardziej szczegółowoProgramowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie
Programowanie MSQL show databases; - pokazanie jakie bazy danych są dostępne na koncie show databases; - wyświetlenie wszystkich baz danych na serwerze create database nazwa; - za nazwa wstawiamy wybraną
Bardziej szczegółowoPawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl
Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność
Bardziej szczegółowoInstytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska
Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Laboratorium 1 Wprowadzenie, podstawowe informacje o obsłudze
Bardziej szczegółowoInformatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych
Informatyka sem. III studia inżynierskie Transport 2018/19 Lab 2 LAB 2 1. Backup bazy danych Tworzenie kopii (backup) bazy danych Odtwarzanie bazy z kopii (z backup u) 1. Pobieramy skrypt Restore 2. Pobieramy
Bardziej szczegółowoSzkolenie autoryzowane. MS Tworzenie zapytań do Microsoft SQL Server Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje
Szkolenie autoryzowane MS 10774 Tworzenie zapytań do Microsoft SQL Server 2012 Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje Opis szkolenia Uwaga! Szkolenie wycofane z oferty. Zapraszamy
Bardziej szczegółowoPlan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,
Mój projekt przedstawia bazę danych noclegów składającą się z 10 tabel. W projekcie wykorzystuje program LibreOffice Base do połączenia psql z graficznym interfejsem ( kilka formularzy przedstawiających
Bardziej szczegółowoProgram szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL
Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL 1 Podstawy relacyjnego modelu danych. 3h UWAGA: Temat zajęć jest typowo teoretyczny i stanowi wprowadzenie do zagadnień
Bardziej szczegółowoPRZESTRZENNE BAZY DANYCH WYKŁAD 2
PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie
Bardziej szczegółowostrukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych
SQL SQL (ang. Structured Query Language): strukturalny język zapytań używany do tworzenia strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych
Bardziej szczegółowoPodzapytania do tabel W miejscu w którym możemy użyć nazwy tabeli, możemy użyć podzapytania
Plan Podzapytania (subqueries) Podzapytania do tabel Podzapytanie jako wyrażenie Podzapytania skorelowane operatory IN, NOT IN operatory EXISTS, NOT EXISTS Podzapytania do tabel W miejscu w którym możemy
Bardziej szczegółowo050 SQL ELEMENTY ZAAWANSOWANE. Prof. dr hab. Marek Wisła
050 SQL ELEMENTY ZAAWANSOWANE Prof. dr hab. Marek Wisła Deklarowanie zmiennych DECLARE @nazwa-zmiennej typ-danych {, @nazwazmiennej typ-danych}; deklaruje nazwy zmiennych lokalnych (definiowanych przez
Bardziej szczegółowoKonstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT
Studia podyplomowe Inżynieria oprogramowania współfinansowane przez Unię Europejska w ramach Europejskiego Funduszu Społecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarządzania
Bardziej szczegółowoBazy danych SQL Server 2005
Bazy danych SQL Server 2005 TSQL Michał Kuciapski Typ zadania: Podstawowe zapytania Select Zadanie 1: Wyświetl następujące informacje z bazy: A. 1. Wyświetl informacje o klientach: nazwa firmy, imie, nazwisko,
Bardziej szczegółowoZadania z SQLa (MS SQL Server)
Zadania z SQLa (MS SQL Server) Struktura testowej bazy danych (diagram ERD): opracował dr Robert Fidytek SPIS TYPÓW ZADAŃ 1 Projekcja wyników zapytań (SELECT FROM )... 3 2 Sortowanie wyników zapytań (ORDER
Bardziej szczegółowoLaboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING
Laboratorium nr 5 Temat: Funkcje agregujące, klauzule GROUP BY, HAVING Celem ćwiczenia jest zaprezentowanie zagadnień dotyczących stosowania w zapytaniach języka SQL predefiniowanych funkcji agregujących.
Bardziej szczegółowoWprowadzenie do projektowania i wykorzystania baz danych Relacje
Wprowadzenie do projektowania i wykorzystania baz danych Relacje Katarzyna Klessa Dygresja nt. operatorów SELECT 2^2 SELECT 2^30 SELECT 50^50 2 Dygresja nt. operatorów SELECT 2^30 --Bitwise exclusive OR
Bardziej szczegółowoĆwiczenie zapytań języka bazy danych PostgreSQL
Ćwiczenie zapytań języka bazy danych PostgreSQL 1. Uruchom link w przeglądarce: http://127.0.0.1/phppgadmin 2. Kliknij w zaznaczony na czerwono link PostgreSQL: 3. Zaloguj się wpisując hasło i login student.
Bardziej szczegółowoJęzyk DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE
Język DML Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE Systemy Baz Danych, Hanna Kleban 1 INSERT Instrukcja INSERT dodawanie
Bardziej szczegółowoAutor: Joanna Karwowska
Autor: Joanna Karwowska Jeśli pobieramy dane z więcej niż jednej tabeli, w rzeczywistości wykonujemy tak zwane złączenie. W SQL istnieją instrukcje pozwalające na formalne wykonanie złączenia tabel - istnieje
Bardziej szczegółowoHurtownia Świętego Mikołaja projekt bazy danych
Aleksandra Kobusińska nr indeksu: 218366 Hurtownia Świętego Mikołaja projekt bazy danych Zaprezentowana poniżej baza jest częścią większego projektu bazy danych wykorzystywanej w krajowych oddziałach wiosek
Bardziej szczegółowoKurs. Podstawy MySQL
Kurs Podstawy MySQL Krótkie info. Autorem kursu jest Piotr Jędrusik. Kurs jest własnością serwisu MySQL FAQ www.mysqlfaq.prv.pl, email: mysqlfaq@twister.pl. 1. Tworzymy bazę. Stworzymy pierwszą bazę o
Bardziej szczegółowoPodstawowe zapytania SELECT (na jednej tabeli)
Podstawowe zapytania SELECT (na jednej tabeli) Struktura polecenia SELECT SELECT opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje FROM nazwy tabel lub widoków WHERE warunek (wybieranie wierszy) GROUP
Bardziej szczegółowoBAZA DANYCH SIECI HOTELI
Paulina Gogół s241906 BAZA DANYCH SIECI HOTELI Baza jest częścią systemu zarządzającego pewną siecią hoteli. Składa się z tabeli powiązanych ze sobą różnymi relacjami. Służy ona lepszemu zorganizowaniu
Bardziej szczegółowoKOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów
KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów SQL3 wprowadza następujące kolekcje: zbiory ( SETS ) - zestaw elementów bez powtórzeń, kolejność nieistotna listy ( LISTS ) - zestaw
Bardziej szczegółowoCREATE USER
Temat: Administrowanie użytkownikami bazy danych. Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest możliwość
Bardziej szczegółowoInstalacja MySQL. http://dev.mysql.com/downloads/mysql/5.0.html#downloads
Instalacja MySQL Baza MySQL tworzona jest przez Szwedzką firmę MySQL AB strona domowa projektu to: www.mysql.com Wersję bezpłatną (różniącą się od komercyjnej brakiem wsparcia technicznego, nośnika i podręcznika)
Bardziej szczegółowoBazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1
Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych
Bardziej szczegółowoWstęp do SQL. copyright: KGiIS WGGiOŚ AGH
Wstęp do SQL SQL (Structured Query Language) strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych. Język SQL jest językiem deklaratywnym.
Bardziej szczegółowoWdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x
Wdrożenie modułu płatności eservice dla systemu oscommerce 2.3.x - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie
Bardziej szczegółowoWprowadzenie do baz danych
Wprowadzenie do baz danych Dr inż. Szczepan Paszkiel szczepanpaszkiel@o2.pl Katedra Inżynierii Biomedycznej Politechnika Opolska Wprowadzenie DBMS Database Managment System, System za pomocą którego można
Bardziej szczegółowoWdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5
Wdrożenie modułu płatności eservice dla systemu Zen Cart 1.3.9 1.5 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie
Bardziej szczegółowo1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi
1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) Tworząc tabelę nie możemy określić, do którego pliku trafi, lecz możemy określić do której grupy plików trafi Zawsze istnieje grupa zawierająca
Bardziej szczegółowoJęzyk SQL Złączenia. Laboratorium. Akademia Morska w Gdyni
Akademia Morska w Gdyni Gdynia 2004 1. Złączenie definicja Złączenie (JOIN) to zbiór rekordów stanowiących wynik zapytania służącego pobraniu danych z połączonych tabel (związki jeden-do-jeden, jeden-do-wiele
Bardziej szczegółowoCREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Zestaw ćwiczeń1 Dzięki DDL (Data Definition Language) można operować na strukturach, w których dane są przechowywane czyli np. dodawać, zmieniać i kasować tabele lub bazy. Najważniejsze polecenia tej grupy
Bardziej szczegółowoPODSTAWY BAZ DANYCH 13. PL/SQL
PODSTAWY BAZ DANYCH 13. PL/SQL 1 Wprowadzenie do języka PL/SQL Język PL/SQL - rozszerzenie SQL o elementy programowania proceduralnego. Możliwość wykorzystywania: zmiennych i stałych, instrukcji sterujących
Bardziej szczegółowo