SQL. SQL jest językiem uniwersalnym, "zrozumiałym" przez wszystkie systemy RDBMS (Relational Data Base Management System)

Save this PDF as:
 WORD  PNG  TXT  JPG

Wielkość: px
Rozpocząć pokaz od strony:

Download "SQL. SQL jest językiem uniwersalnym, "zrozumiałym" przez wszystkie systemy RDBMS (Relational Data Base Management System)"

Transkrypt

1 SQL 1. Wprowadzenie SQL jest językiem uniwersalnym, "zrozumiałym" przez wszystkie systemy RDBMS (Relational Data Base Management System) SQL nie jest językiem programowania, jest językiem zapytań Nie ma w nim instrukcji if, while czy for, ani zmiennych,. To nie jest 'programming language' ale 'query language' czyli język zapytań. Mówi się często, że jest to język deklaratywny. Chcemy pobrać z tabel dane, spełniające pewne kryteria i deklarujemy je za pomocą zdania SQL d fizycznej reprezentacji tabel. nieinformatycy deklaracji podstawowych wszystkie instrukcje SQL - SELECT, INSERT, DELETE, UPDATE, CREATE - działają w swoich podstawowych opcjach tak samo 1

2 2. Historia języka SQL Koncepcja RDBMS zrodziła się w IBM w San Jose (Kalifornia) w 1970 r. W tym samym roku w "Communications of CACM" pojawił się artykuł opisujący koncepcję relacyjnej bazy danych napisany przez jej autora, E.F. Codda. Edgar Frank Codd (dzięki uprzejmości IBM Pierwsza wersja systemu RDBMS została wdrożona w 1974, a w jej ramach zaimplementowano prototypową wersję język Structured English Query Language (w skrócie SEQUEL). Później usunięto z tej nazwy "English" i tak powstał SQL. Stał się on standardowym językiem relacyjnych baz danych. Pierwszy komercyjny system RDBMS, z językiem SQL, powstał w 1979 i został nazwany ORACLE. Wysiłki organizacji ANSI i ISO doprowadziły do stworzenia w 1986 pierwszego standardu SQL, zwanego SQL1 lub SQL-86 Plany na przyszłość: m języka XML lem programowania obiektowego 2

3 3. SELECT W języku polskim zapytanie do bazy danych nazywa się kwerendą Zdanie SELECT języka SQL jest złożone, ma wiele opcji i może ciągnąć się przez kilka linii. Będziemy podawać w zdaniu SELECT dwie podstawowe informacje: a) co pobrać, np. zawartość jakich kolumn (SELECT) i b) skąd, tj. z jakiej tabeli lub tabel (FROM). SELECT (to, co wybieramy)... FROM (tabela lub tabele, z których wybieramy) Najpierw zadamy zapytanie o całą zawartość tabeli Pracownicy. Chcemy, by wszystkie wiersze i kolumny zostały wyświetlone, bez żadnych ograniczeń SELECT * FROM Pracownicy; Gwiazdka jest specjalną wartością - oznacza 'wszystko' czyli Pracownicy; zawartość wszystkich kolumn. Zdanie SQL zamyka średnik. Słowa kluczowe SQL mogą być pisane zarówno małymi jak i wielkimi literami (można używać 'select', 'SELECT' i 'SELect' SELECT Imię FROM Pracownicy; Pobranie samych imion i podobnie samych nazwisk: SELECT Nazwisko FROM Pracownicy; Teraz imiona i nazwiska (nazwy kolumn w kwerendzie muszą być rozdzielone przecinkiem): SELECT Imię, Nazwisko FROM Pracownicy; Zadanie: Pobierz imiona, nazwiska i nazwy stanowisk 3

4 4. ORDER BY Chcemy, by wyświetlane rekordy były uporządkowane, np. alfabetycznie. Zatem do naszych zdań SELECT dodamy opcję określania porządku: ORDER BY SELECT (co wybieramy)... FROM (z jakiej tabeli lub tabel)...order BY (jak ma być uporządkowane)... Kwerenda wypisująca listę imion i nazwisk, uporządkowaną alfabetycznie wg nazwisk: SELECT Imię, Nazwisko FROM Pracownicy ORDER BY Nazwisko; Lista pracowników od najstarszego do najmłodszego stażem, wg rosnącej daty : SELECT Imię, Nazwisko, Data zatrudnienia FROM Pracownicy ORDER BY Data zatrudnienia; W tabelach wynikowych tych kwerend kolejność wierszy jest rosnąca: nazwisk - alfabetycznie, dat - od wcześniejszych do późniejszych. Jest to kolejność domyślna. Możemy ją również zadeklarować wprost, używając w opcji ORDER BY słowa ASC (po nazwie kolumny). SELECT Imię, Nazwisko, Data zatrudnienia FROM Pracownicy ORDER BY Data zatrudnienia ASC; Jeśli chcemy mieć uporządkowanie malejące, musimy w opcji ORDER BY - po nazwie kolumny - podać słowo DESC (od ang. descending - malejąco). Np. SELECT Imię, Nazwisko FROM Pracownicy ORDER BY Nazwisko DESC; Zamiast podawania nazwy kolumny, wg której chcemy uporządkować wynik kwerendy, można też podać jej numer (liczony od 1). Np. SELECT Imię, Nazwisko FROM Pracownicy ORDER BY 2 DESC ; Zadanie: Podaj listę pracowników wg działów (uporządkowane alfabetycznie, rosnąco), a potem nazwiska, ale w obrębie tego samego działu uporządkowane malejąco. 4

5 5. DISTINCT W niektórych kolumnach wartości powtarzały się. Teraz wyświetlimy tylko rekordy różniące się w danym polu. Chcemy np. mieć tylko listę działów. Musimy użyć słowa kluczowego DISTINCT (ang. różne). SELECT DISTINCT Miasto FROM Pracownicy ORDER BY Dział; I lista wszystkich przełożonych: SELECT DISTINCT Przełożony FROM Pracownicy ORDER BY Przełożony; Zadanie: Wypisz listę imion, imiona nie mogą się powtarzać Zadanie: Co wyświetli polecenie: SELECT DISTINCT Imię, DISTINCT Miasto FROM Pracownicy; Tak, zdanie jest błędne. Można tylko raz podać DISTINCT. Zastosowanie tej opcji do dwóch różnych kolumn prowadziłoby co najmniej do trudności interpretacyjnych: np. co wybrać, 5

6 6. Warunek prosty WHERE Możliwość wyboru rekordów SELECT (to co wybieramy)... FROM (tabela lub tabele, z których wybieramy)... WHERE (kryteria wyboru)... ORDER BY (uporządkowanie wyniku) SELECT Imię, Nazwisko FROM Pracownicy WHERE Dział=#Sprzedaży#; Po nazwie tabeli następuje WHERE i warunek określający, jakie rekordy mają zostać wybrane. Ma on tu postać nazwa pola = wartość (oprócz znaku równości można używać także innych operatorów SELECT Imię, Nazwisko, Data zatrudnienia FROM Pracownicy WHERE Przełozony=#Barcisz# ORDER BY Data zatrudnienia; W opcji WHERE można nie tylko sprawdzać czy zawartość pola jest równa pewnej wartości, ale także podawać inne warunki: czy jest od tej wartości większa (operator '>') mniejsza ('<') większa lub równa ('>=') mniejsza lub równa i('<=') nierówna ('<>') Można te operatory stosować do różnych pól, także do dat. Oto kwerenda listująca imiona, nazwiska i daty zatrudnienia przed 1 lutego 1983 r.: SELECT Imię, Nazwisko, Data zatrudnienia FROM Pracownicy WHERE Data zatrudnienia < #1/2/1983#; Zadanie: Napisz kwerendę wyświetlającą pełne rekordy wszystkich Izabel i tylko ich. 6

7 7. Składanie warunków Wybrane operatory opcji WHERE Zadania: Tabela Uczniowie zawiera następujące pola: Imię, Nazwisko, Miasto, Data_urodzenia, Płeć Napisz zdanie SELECT wybierające wszystkie Anny z Warszawy (wypisz imiona i nazwiska). Wiedząc, że wszyscy uczniowie są urodzeni w 1987 r., napisz zdanie SELECT wybierające wszystkie uczennice z Gdyni urodzone w sierpniu. Znajdź imię, datę urodzenia i telefon najmłodszej Krakowianki. SELECT Imię, Nazwisko FROM Uczniowie WHERE Miasto='Gdynia' AND Płeć='K' AND Data_urodzenia >= # # AND Data_urodzenia <= # #; SELECT Imię, Nazwisko FROM Uczniowie WHERE Imię ='Anna'; WHERE Miasto ='Kraków' AND Płeć='K' ORDER BY Data_urodzenia; Warunek definiowany w opcji WHERE może być bardziej złożony. Oto kwerenda wybierająca wszystkie uczennice z Krakowa: SELECT Imię, Nazwisko FROM Uczniowie WHERE Płeć='K' AND Miasto='Kraków' ORDER BY Nazwisko; Zamiast AND jest OR (szukamy wszystkich pań z całej Polski, a także mieszkańców Krakowa dowolnej płci): SELECT Imię, Nazwisko FROM Uczniowie WHERE Płeć='K' OR Miasto='Kraków' ORDER BY Nazwisko; 7

8 Operator Opis Operatory porównania = Równe <> Nierówne > Większy niż < Mniejszy niż >= Większy niż lub równy <= Mniejszy niż lub równy Operatory logiczne AND Koniunkcja OR Alternatywa NOT Zaprzeczenie Operatory ciągów znaków LIKE Maska na ciąg znaków Operatory wyboru wartości IN Lista wartości. BETWEEN Zakres wartości 8

9 8. OPERATOR LIKE Operator LIKE pozwala definiować kryterium wyboru rekordów, z określeniem ciągu znaków, jakie dane pole ma zawierać, i miejsca tego ciągu w polu. Załóżmy, że chcemy mieć listę uczniów pochodzących z miast, których nazwa rozpoczyna się na literę K (Kraków, Konin, Katowice itd). SELECT Imię, Nazwisko, Miasto FROM Uczniowie WHERE Miasto LIKE 'K* ' ORDER BY Nazwisko; Zapis 'K* ' oznacza, że pierwszą literą w szukanym ciągu znaków ma być 'K', a reszta (oznacza ją *) może być dowolna. Aby znaleźć wszystkie miasta, których nazwy rozpoczynają się na P, trzeba w powyższej kwerendzie podać ' P* '. Jeśli chcielibyśmy znaleźć wszystkie miasta o nazwach rozpoczynających się na Ko, trzeba by podać 'Ko*'. Oto kwerenda wyszukująca wszystkie uczennice i uczniów, których nazwiska kończą się na 'ski' lub 'ska': SELECT Imię, Nazwisko FROM Uczniowie WHERE Nazwisko LIKE ' *ski ' OR Nazwisko LIKE ' *ska ' ORDER BY Nazwisko; Zadania: Wypisz wszystkie nazwiska uczniów zawierające literę u. Wypisz imiona i nazwiska uczniów nie mieszkających w miastach, których nazwy zaczynają się na literę W. SELECT imię, nazwisko, Miasto FROM uczniowie WHERE Miasto NOT LIKE ' W* '; SELECT Imię, Nazwisko FROM Uczniowie WHERE Nazwisko LIKE ' *u* '; 9

10 9. In oraz Beetween Za pomocą IN określa się konkretne wartości w polu, jakie nas interesują (wartości te podaje się w nawiasach, rozdzielając je przecinkami). Innymi słowy: tylko rekord mający w danej kolumnie jedną z wartości podanych w IN będzie spełniać kryterium. Oto kwerenda wyszukująca wszystkich uczniów mieszkających w Trójmieście: SELECT Imię, Nazwisko, Miasto FROM Uczniowie WHERE Miasto IN ('Gdynia', 'Gdańsk', 'Sopot'); Wybrane zostaną tylko te rekordy, w których w polu Miasto znajduje się jedna z trzech podanych nazw (rekordy z miastem "Kraków" czy "Warszawa" nie zostaną wybrane). Można by podany warunek zapisać także jako WHERE Miasto='Gdynia' OR Miasto='Gdańsk' OR Miasto='Sopot' Operator BETWEEN pozwala określić zakres wartości pola od do, jaki nas interesuje, łącznie z wartościami granicznymi. Format wyrażenia z tym operatorem: BETWEEN Wartość_1 AND Wartość_2. Oto kwerenda wypisująca wszystkie dziewczęta z Krakowa, urodzone w styczniu 1987: SELECT Imię, Nazwisko FROM Uczniowie WHERE Miasto='Kraków' AND Płeć='K' AND Data_urodzenia BETWEEN # # AND # #; Powyższy warunek na styczniową datę urodzin można też zapisać za pomocą WHERE (WHERE Data_urodzenia >= # # AND Data_urodzenia <= # #). Oto kwerenda wypisująca imię i nazwisko każdego ucznia, datę jego urodzenia i w następnej kolumnie 1, jeśli data jest późniejsza niż 1 maja 1987 lub 0 w przeciwnym wypadku. SELECT Imię, Nazwisko, Data_urodzenia, Data_urodzenia >#' # FROM Uczniowie; Uwaga: Z założenia zakres podany w BETWEEN jest 'w górę' - od wartości mniejszej do większej. Zatem warunek BETWEEN 1 AND 10, podany w WHERE "działa" zawsze, ale BETWEEN 10 AND 1 - nie musi. Są systemy RDBMS, w których jest obojętne czy zakres podawany w BETWEEN będzie 1-10, czy Zadania: Rozwiąż problem z poprzedniej strony (dziewczęta z Krakowa i z Warszawy), bez użycia operatora OR. Podaj imiona, nazwiska i nazwy miast wszystkich uczniów nie pochodzących z trójmiasta. SELECT Imię, Nazwisko, Miasto FROM Uczniowie WHERE Płeć='K' AND Miasto IN ('Kraków', 'Warszawa'); SELECT Imię, Nazwisko, Miasto FROM Uczniowie WHERE Miasto NOT IN ('Gdynia', 'Gdańsk', 'Sopot'); 10

11 10. Operatory logiczne dla programistów: W MySQL operatory logiczne AND, OR i NOT można zapisywać także jako odpowiednio &&, i! Zadanie (dość trudne): Napisz kwerendę listującą imiona i nazwiska wszystkich uczennic oraz ich atrakcyjność liczoną tak oto: a) jeśli uczennica jest urodzona nie później niż 31 maja 1987 r., to jej atrakcyjność (tak ma się nazywać kolumna) jest równa 1 (w przeciwnym razie - 0), b) jeśli dziewczyna mieszka w Warszawie, jej atrakcyjność jest także 1 (dla innych miast - 0). Atrakcyjności się sumują - jeśli obydwa przypadki są spełnione (czas urodzenia i miejsce zamieszkania), to atrakcyjność łączna jest równa 2. W kolumnie atrakcyjności może być zatem jedna z trzech wartości: 0, 1 lub 2. SELECT Imię, Nazwisko, (Data_urodzenia <# #) + (Miasto = 'Warszawa') AS Atrakcyjność FROM Uczniowie WHERE Płeć = 'K' ORDER BY Nazwisko; Zadanie: Jaki będzie wynik następującej kwerendy?: SELECT "Uczniowie" FROM Uczniowie; Zostanie zasygnalizowany błąd wykonania. Nie. Kwerenda wykona się poprawnie. To, że w ciągu znaków w SELECT podano nazwę tabeli, występującej w opcji FROM, jest całkowicie nieistotne - z punktu widzenia SQL jest to stały ciąg znaków (byłby błąd, gdyby pominięto cudzysłowy). Wypisana zostanie pusta tabela, niezawierająca ani jednego wiersza. Nie. Wypisany zostanie tylko jeden wiersz z tekstem "Uczniowie". Nie. Wypisana zostanie liczba rekordów w tabeli Uczniowie. Nie. Pomijając to, że obliczania liczby rekordów w tabeli jeszcze nie "braliśmy", nie ma tu nic co by sugerowalo to. Wypisany zostanie wiersz "Uczniowie" tyle razy, ile jest rekordów w tabeli Uczniowie. Tak. Ponieważ nie podano żadnego kryterium wyboru, z tabeli Uczniowie pobrane zostaną wszystkie rekordy. Dla każdego zostanie wypisana ta sama stała wartość - ciąg znaków "Uczniowie" (nie interesuje nas żadne pole w rekordzie, ani Imię ani Nazwisko). Jeśli masz watpliwości, możesz tę kwerendę wstawić do któregokolwiek pola edycyjnego kursu, chociażby na poprzedniej stronie i wysłać do serwera. 11

12 Funkcje wbudowane Funkcję wywołuje się, podając jej nazwę i w nawiasach (nie oddzielonych spacją od nazwy funkcji) - argument lub argumenty funkcji, oddzielone przecinkami (istnieją funkcje bezargumentowe). Argumentami funkcji są najczęściej pola w rekordzie (faktycznie nazwy kolumn w tabeli). Funkcje wbudowane SQL są różne. Najbardziej popularne to tzw. funkcje agregujące. Bardzo często chcemy dokonać na bazie jakichś zapytań zbiorczych: obliczyć ile mamy rekordów spełniających pewien warunek, znaleźć minimalną, maksymalną lub średnią wartość w pewnej kolumnie (np. pensję pracowników) etc. Język SQL dostarcza użytkownikowi funkcji, które można wykorzystać w takich zapytaniach. Najbardziej znane z nich to funkcje standardowe: COUNT, SUM, AVG, MIN i MAX. 12

13 11. Funkcja COUNT Funkcja COUNT może być używana w dwojaki sposób. Pierwszym i najbardziej popularnym jest liczenie rekordów spełniających dane kryteria COUNT(*) Oto kwerenda podająca liczbę wszystkich rekordów w tabeli Uczniowie: SELECT COUNT(*) FROM Uczniowie; I liczba wszystkich uczennic mieszkających w Warszawie: SELECT COUNT(*) FROM Uczniowie WHERE Miasto='Warszawa' AND Płeć='K'; Pojawia się problem: tytułem w kolumnie wynikowej jest "COUNT(*)" - pod taką nazwą bowiem występuje ta kolumna w zdaniu SELECT. RDBMS automatycznie przypisuje generowanemu polu nazwę podaną w kwerendzie (faktycznie tekst definiujący kolumnę), tu COUNT(*) właśnie. Nazwa COUNT(*) nie mówi oczywiście nic o tym, jakie rekordy są liczone. Po to, żeby tę nazwę zmienić, użyjemy kolejnej opcji zdania SELECT - czyli ALIAS. Pozwala ona określić nazwę kolumny, by np. nazywała się 'Warszawianki': SELECT COUNT(*) AS Warszawianki FROM Uczniowie WHERE Miasto='Warszawa' AND Płeć='K'; Nazwa podana w opcji ALIAS musi być ciągiem znaków nie rozdzielonym spacją. Najczęściej do rozdzielenia (pozornego) słów używa się podkreślenia. Moglibyśmy zatem zamiast 'Warszawianki' użyć nazwy 'Uczennice_z_Warszawy' (rozdzielenie słów myślnikiem - 'Uczennice-z-Warszawy' - da błąd). Jeśli jako argument funkcji COUNT poda się nazwę kolumny np. COUNT(Telefon) (to drugi sposób wywoływania tej funkcji), podana zostanie liczba wszystkich rekordów, które w tej kolumnie nie mają wartości NULL. Dwie następne funkcje, MIN i MAX, zwracają odpowiednio wartość najmniejszą i największą w danej kolumnie (ściślej: wyrażenia będącego ich argumentem). A skoro operatory porównania > i < mogą się odnosić także do dat, zatem w sposób naturalny można wobec dat stosować funkcje MIN i MAX (np. MIN(Data_urodzenia) znajdzie najmniejszą (najwcześniejszą) datę wśród dat urodzin). Zadania: Znajdź datę urodzenia najmłodszej uczennicy. Napisz kwerendę podającą liczbę różnych miast, z których pochodzą uczniowie (np. po to, by można było mówić "nasi uczniowie pochodzą z N różnych miejscowości w Polsce"). SELECT MIN(Data_urodzenia) FROM Uczniowie WHERE Płeć='K'; SELECT COUNT(DISTINCT Miasto) AS Miasta_naszych_uczniów FROM Uczniowie; 13

14 AS jest opcjonalne: Tworząc w kwerendzie alias kolumny nie trzeba pisać AS - można podać nazwę aliasu po spacji. Dwa zapisy SELECT COUNT(*) AS Obliczony_wynik FROM... SELECT COUNT(*) Obliczony_wynik FROM... są poprawne i dadzą ten sam wynik. Ponieważ AS jest opcjonalne, to jeśli zapomni się przecinka na liście kolumn, kolumna oddzielona od poprzedniej spacją zostanie potraktowana jako alias poprzedniej (nie będzie komunikatu o błędzie). By takich sytuacji uniknąć, zaleca się pisanie zawsze explicite AS 14

15 12. Funkcje daty Zaczniemy od zadania z poprzedniego tematu: 'Napisz zdanie SELECT wybierające wszystkie Krakowianki urodzone w maju'. Poprzednio, rozwiązując je, sprawdzaliśmy datę urodzenia (czy jest w zakresie 1-31 maja 1987). Wymagało to względnie dużo pisania, a co ważniejsze: ograniczało się tylko do dat z roku Teraz zapiszemy rzecz prościej i bardziej uniwersalnie. Użyjemy funkcji MONTH. Jej argumentem jest data, a funkcja zwraca numer miesiąca w tej dacie. Oto rozwiązanie: SELECT Imię, Nazwisko FROM Uczniowie WHERE Miasto = 'Kraków' AND Płeć = 'K' AND MONTH(Data_urodzenia) = 5; Chcemy wiedzieć, w jakich dniach tygodnia rodzili się uczniowie. Wykorzystamy do tego inną funkcję wbudowaną, DAYNAME, zwracającą nazwę dnia tygodnia (w języku angielskim) danej daty. SELECT Nazwisko, DAYNAME(Data_urodzenia) AS Dzień_tygodnia FROM Uczniowie; Inne funkcje daty: Funkcja DAYOFMONTH(Date), która dla danej daty zwraca numer dnia w miesiącu bezargumentowa funkcja CURDATE() zwracająca bieżącą datę, np.: DAYOFMONTH( ' ') - zwraca 17 YEAR(Data_urodzenia)=1987 wybierze urodzonych w roku 1987 CURDATE() = zwraca bieżącą datę. Oto wypis bieżącej daty: SELECT CURDATE() AS Data_dzisiejsza; dwuragumentowa funkcja MOD - modulo (nie jest to funkcja daty). Wywołanie MOD(12,9) zwraca 3 Zadania: Szukamy (imiona, nazwiska, daty urodzenia) tylko tych uczniów, którzy urodzili się w niedzielę. Chcemy wiedzieć, którzy uczniowie mają urodziny w tym miesiącu lub w miesiącu następnym. SELECT Imię, Nazwisko, Data_urodzenia, DAYNAME(Data_Urodzenia) AS Dzień_urodzin FROM Uczniowie WHERE DAYNAME(Data_Urodzenia) LIKE 'Sun* ' ORDER BY 2; SELECT Imię, Nazwisko, Data_urodzenia FROM uczniowie WHERE MONTH(Data_urodzenia)=MONTH(CURDATE()) AND DAYOFMONTH(Data_urodzenia) 15

16 BETWEEN DAYOFMONTH(CURDATE()) AND 31 OR MONTH(Data_urodzenia)= MOD(MONTH(CURDATE()), 12) + 1 ORDER BY Data_urodzenia 16

17 13. LENGTH Zwraca długość ciągu. Np. wywołanie LENGTH('Kraków') daje wartość 6. Zadanie: wyświetl imiona i nazwiska w tabeli Uczniowie od nazwiska najdłuższego do najkrótszego, z podaniem liczb liter w nazwisku (w obrębie tych samych długości nazwiska mają być uporządkowane alfabetycznie). SELECT Imię, Nazwisko, LENGTH(Nazwisko) FROM Uczniowie ORDER BY LENGTH(Nazwisko), Nazwisko; Dwie następne i bliźniacze funkcje, LOWER i UPPER, pozwalają manipulować wielkością liter w tabeli wynikowej. Ich argumentami są zazwyczaj pola tekstowe. Oto kwerenda, dająca listę nazwisk pisanych wielkimi literami: SELECT Imię, UPPER(Nazwisko) AS Nazwisko from Uczniowie ORDER by Nazwisko; Zadanie: Napisz kwerendę wyświetlającą trzy wartości: najmniejszą, największą i średnią długość nazwiska ucznia (do obliczenia tej ostatniej użyj funkcji AVG, która zwraca wartość przeciętną z pól mających wartości różne od NULL). SELECT MIN(LENGTH(Nazwisko)) AS Najkrótsze, MAX(LENGTH(Nazwisko)) AS Najdłuższe, AVG(LENGTH(Nazwisko)) AS Przeciętne FROM Uczniowie; 17

18 14. Concat Chcemy mieć w jednej kolumnie imię i nazwisko ucznia. W dodatku nazwisko ma być wielkimi literami np. 'Michał ZUBRZYCKI' (całość ma być uporządkowana wg nazwisk). Musimy zatem połączyć w jakiś sposób imię z nazwiskiem. W MySQL istnieje funkcja CONCAT(Ciąg1, Ciąg2, Ciąg3, ), zwracająca jeden ciąg powstały z połączenia wszystkich argumentów (w innych systemach RDBMS operatorem konkatencacji ciągów jest ). Oto pierwsze rozwiązanie zadania: SELECT CONCAT(Imię, UPPER(Nazwisko)) AS Uczeń FROM Uczniowie ORDER BY Nazwisko; Lecz nazwiska są wielkimi literami i uporządkowane poprawnie, ale są połączone z imionami w jeden ciągły tekst. Muszą być rozdzielone. Zadanie: zmodyfikuj powyższą kwerendę tak, żeby imię i nazwisko (to ostatnie pisane wielkimi literami) były w jednej kolumnie, ale rozdzielone spacją. UPPER(Nazwisko)) AS Uczeń FROM Uczniowie ORDER BY Nazwisko; Oto wersja rozwiązania zadania z użyciem funkcji CONCAT_WS: SELECT CONCAT_WS(' ', Imię, UPPER(Nazwisko)) AS Uczeń FROM Uczniowie ORDER BY Nazwisko; Różnica jest praktycznie kosmetyczna Zarówno CONCAT_WS, jak i CONCAT, są funkcjami własnymi MySQL i w innych systemach RDBMS mogą być niedostępne lub inaczej się nazywać. 18

19 15. Substring SUBSTRING, pozwala wybierać podciąg z ciągu znaków SUBSTRING(ciąg_znaków, pozycja, długość) Zadanie: Napisz kwerendę wypisującą inicjały wszystkich uczniów, z kropkami (np. Jan Kowalski powinien być wypisany jako "J.K."). Lista powinnna być uporządkowana alfabetycznie, rosnąco. SELECT CONCAT(SUBSTRING(Imię, 1,1), '.', SUBSTRING(Nazwisko,1,1), '.') AS Inicjały FROM Uczniowie ORDER BY 1; Dodatkowe kolumny w kwerendzie W jednym z poprzednich tematów była mowa o 'wyrażeniach selekcji' i o wartości stałej jako kolumnie w kwerendzie. Napisanie w SELECT jako wyrażenia selekcji tylko ciągu 'Witajcie, relacyjne bazy danych!' (bez opcji FROM i nazwy tabeli) dawało w wyniku kolumnę o tym tytule i tej wartości (jeden wiersz). Celem zadania jest utworzenie tabeli do wypełnienia przez nauczyciela (w praktyce będą one drukowane i te wydruki będą wypełniane). Zadania: Chcemy mieć wydruk, na którym byłyby w jednej kolumnie imiona i nazwiska uczniów (wielkimi literami) i obok pusta kolumna, o nazwie 'Obecność', gdzie moglibyśmy stawiać np. krzyżyk, jeśli uczeń jest obecny. Podobny problem: chcemy mieć wydruk, na którym w pierwszej kolumnie byłyby imiona i nazwiska uczniów (wielkimi literami), a obok pięć pustych kolumn o skrótowych nazwach 'Pon', 'Wto', 'Śro', 'Czw', 'Pią', w których można by zaznaczać nieobecność ucznia w danym dniu tygodnia. SELECT CONCAT(Imię, ' ', UPPER(Nazwisko)) AS Uczeń, ' ' AS Obecność FROM uczniowie ORDER BY Nazwisko; SELECT CONCAT(Imię, ' ', UPPER(Nazwisko)) AS Uczeń, ' ' AS Pon, ' ' AS Wto, ' ' AS Śro, ' ' AS Czw, ' ' AS Pią FROM uczniowie ORDER BY Nazwisko; 19

20 Które zapytanie jest niepoprawne i dlaczego? SELECT Imię, Imię, Nazwisko, Miasto FROM Uczniowie; SELECT COUNT (*) FROM Uczniowie WHERE Miasto='Warszawa'; SELECT Imię, Nazwisko FROM Uczniowie ORDER BY Nazwisko WHERE Płeć='K'; SELECT * FROM Uczniowie WHERE Data_urodzenia => # #; SELECT COUNT(DISTINCT MONTH(Data_urodzenia)) FROM Uczniowie; SELECT SUM(LENGTH(Nazwisko) + LENGTH(Imię))) AS Wszystkie_litery FROM Uczniowie; 20

21 16. Group by Chcemy znaleźć liczby uczniów z poszczególnych miast. Np. liczbę uczniów z Warszawy SELECT COUNT(*) FROM Uczniowie WHERE Miasto='Warszawa'; Chcemy dokonać zbiorczych obliczeń dla różnych miast, tj. mieć listę miast i przy każdym - liczbę mieszkających w nim uczniów. Do rozwiązania tego zadania trzeba użyć innej opcji zdania SELECT - GROUP BY. SELECT Miasto, COUNT(*) FROM Uczniowie GROUP BY Miasto ORDER BY 2 DESC; Opcja GROUP BY ("grupuj wynik wg") pozwala użyć funkcji agregujących (SUM, AVG, MAX, MIN, COUNT) nie do całej tabeli, ale do grup wierszy w tabeli wynikowej. Innymi słowy: GROUP BY określa zakres działania funkcji np. COUNT - tu działa ona dla każdego miasta niezależnie (podobnie jest dla innych funkcji agregujących). Bez opcji GROUP BY funkcja COUNT, a także pozostałe funkcje agregujące, działają na całej tabeli (na wszystkich wierszach). Dla każdej grupy, tu: dla każdego miasta, GROUP BY generuje jeden wiersz. Jeśli, oprócz funkcji agregującej, będzie się chciało wyszukać inne kolumny, ale nie użyje się opcji GROUP BY, zostanie zasygnalizowany błąd. Tak będzie np. w przypadku kwerendy: SELECT Miasto, COUNT(*) FROM Uczniowie; Przy próbie jej wykonania wypisany zostanie komunikat o mieszaniu kolumn z funkcjami agregującymi, niedopuszczalnym bez użycia GROUP BY. Nie bardzo wiadomo jak należałoby wypisać (potraktować) wynik powyższej kwerendy bez grupowania wyników (które miasto i jaką liczbę podać). 21

22 Zadania: Wypisz listę miast, z liczbą uczennic z każdego miasta, uporządkowaną malejąco wg liczby uczennic. Wypisz dla każdego miasta: miasto, imię i nazwisko (w jednej kolumnie) oraz datę urodzenia najmłodszej uczennicy. Nazwisko ma być wielkimi literami, a kolumny 2 i 3 mają nazywać się 'Najmłodsza_uczennica' i 'Data_urodzenia'. Napisz kwerendę listującą numery miesięcy, z liczbami uczniów, którzy urodzili się w tym miesiącu, uporządkowaną malejąco wg liczby uczniów, a w obrębie tej samej liczby urodzeń - wg numerów miesięcy, rosnąco. Kolumny mają być zatytułowane 'Miesiąc' i 'Liczba_uczniów'. SELECT Miasto, CONCAT(Imię, ' ', UPPER(Nazwisko)) AS Najmłodsza_uczennica, MIN(Data_urodzenia) AS Data_urodzenia FROM Uczniowie WHERE Płeć='K' GROUP BY Miasto; SELECT Miasto, COUNT(*) FROM Uczniowie WHERE Płeć='K' GROUP BY Miasto ORDER BY 2 DESC; SELECT Miasto, CONCAT(Imię, ' ', UPPER(Nazwisko)) AS Najmłodsza_uczennica, MIN(Data_urodzenia) AS Data_urodzenia FROM Uczniowie WHERE Płeć='K' GROUP BY Miasto; SELECT MONTH(Data_urodzenia) AS Miesiąc, COUNT(*) AS Liczba_uczniów FROM Uczniowie GROUP BY 1 ORDER BY 2 DESC, 1 ASC; 22

23 17. Having Poprzednie zadanie: wygenerować listę miast, z liczbą uczennic pochodzących z każdego. SELECT Miasto, COUNT(*) FROM Uczniowie WHERE Płeć='K' GROUP BY Miasto ORDER BY 2 DESC; Chcemy wybrać tylko te miasta, z których pochodzą co najmniej dwie uczennice SELECT Miasto, COUNT(*) FROM Uczniowie GROUP BY Miasto HAVING COUNT(*) >= 2 ORDER BY 2 DESC; Gdyby chodziło o miasta, z których pochodzi tylko jeden uczeń, warunek w HAVING byłby COUNT(*)=1. Podstawowa różnica między WHERE i HAVING polega na tym, kiedy w procesie tworzenia tabeli wynikowej opcje te są wykorzystywane. Otóż WHERE służy do określenia, które wiersze z tabeli wybrać, HAVING zaś 'działa' na rezultacie wyboru (już po zastosowaniu WHERE). Tę różnicę widać w kwerendach. Kwerenda SELECT COUNT(*) FROM Uczniowie WHERE Miasto LIKE 'W%'; wykona się poprawnie (liczba uczniów mieszkających w miastach o nazwach zaczynających się na literę W WHERE wyszuka takie rekordy w tabeli Uczniowie). Natomiast dwie kwerendy: SELECT Miasto, COUNT(*) FROM Uczniowie WHERE Miasto LIKE 'W%' GROUP BY Miasto; SELECT Miasto, COUNT(*) FROM Uczniowie GROUP BY Miasto HAVING Miasto LIKE 'W%'; wykonają się identycznie. 23

24 18. Limit Pozwala kontrolować liczbę wierszy, jakie otrzymuje się w wyniku wykonania kwerendy. Może mieć jeden albo dwa argumenty (liczby naturalne). Jeśli w LIMIT poda się tylko jeden argument, SELECT potraktuje go jako liczbę wierszy, jakie ma wyświetlić. Oto kwerenda wypisująca trzy pierwsze osoby z alfabetycznej listy uczniów: SELECT * FROM Uczniowie ORDER BY Nazwisko LIMIT 3; Jeśli w LIMIT poda się dwa argumenty (oddzielone przecinkiem), pierwszy z nich zostanie potraktowany jako przesunięcie od początku wyniku (tyle pierwszych wierszy ma zostać pominiętych), a drugi - jako liczba wierszy do wyświetlenia. Oto kwerenda wyświetlająca 7 wierszy z tabeli Uczniowie, począwszy od wiersza 5 (4 pierwsze mają być pominięte): SELECT * FROM Uczniowie ORDER BY Nazwisko LIMIT 4, 7; Zadania: Napisz kwerendę, która wypisuje wszystkie wiersze z tabeli Uczniowie, począwszy od 15-tego (uporządkowanie wg nazwisk). Wiedząc, że do wybierania losowo rekordów z tabeli można użyć bezargumentowej funkcji RAND() (trzeba jej użyć w opcji ORDER BY), napisz kwerendę wybierającą trzy przypadkowe osoby z tabeli Uczniowie (np. do odpytywania przez nauczyciela). Napisz kwerendę wypisującą najdłuższe nazwisko ucznia, z długością tego nazwiska (liczba znaków). SELECT Imię, Nazwisko FROM Uczniowie ORDER BY RAND() LIMIT 3; 24

25 Podsumowując: lista, porządek i sens opcji zdania SELECTSELECT (to co wybieramy)... FROM (tabela lub tabele, z których wybieramy) WHERE (kryteria wyboru) GROUP BY(wg jakiej kolumny grupować) HAVING (filtr na grupowaną zawartość) ORDER BY (uporządkowanie wyniku) LIMIT (ograniczenia liczby wybranych rekordów) Zadanie: Wybierz niepoprawne zapytanie(wszystkie odnoszą się do tabeli Uczniowie) SELECT Imię, Imię, Nazwisko, Miasto FROM Uczniowie; OK - w zdaniu SELECT można wybierać więcej niż raz tę samą kolumnę. SELECT COUNT (*) FROM Uczniowie WHERE Miasto='Warszawa'; BŁĄD - między COUNT a nawiasem otwierającym nie może być spacji. SELECT Imię, Nazwisko FROM Uczniowie ORDER BY Nazwisko WHERE Płeć='K'; BŁĄD - zła kolejność: najpierw powinno być kryterium określające rekordy do wybrania (WHERE), a po nim podany sposób uporządkowania wyniku (ORDER BY). SELECT * FROM Uczniowie WHERE Data_urodzenia => ' '; BŁĄD - źle napisany operator "większy lub równy"( powinno być >=). SELECT COUNT(DISTINCT MONTH(Data_urodzenia)) FROM Uczniowie; OK - zapytanie poprawne (kwerenda oblicza liczbę różnych miesięcy, w których rodzili się uczniowie, maksymalnie 12). SELECT SUM(LENGTH(Nazwisko) + LENGTH(Imię))) AS Wszystkie_litery FROM Uczniowie; Błąd - Wprawdzie kwerenda jest logicznie poprawna - obliczenie łącznej sumy liter w imionach i nawiskach wszystkich uczniów - ale ma jeden nawias zamykający za dużo (jak się go usunie, kwerenda zadziała). 25

26 Podstawową - i na razie jedyną - tabelą w naszej bazie danych będzie tabela Uczniowie. Każdy uczeń będzie w niej opisany przez rekord o 6 polach: Imię Nazwisko Miasto - Zakładamy, że uczniowie mogą mieszkać w różnych miastach Polski Data_urodzenia - Data w formacie (dopuszczalny też będzie format z ukośnikami jako separatorami, np. 2004/10/23). Telefon - ciąg znaków (nie zakładamy nic o formacie numeru Płeć - Pole może przybierać tylko dwie wartości: 'K' (kobieta) lub 'M' (Mężczyzna) Imię Nazwisko Miasto Data_urodzenia Telefon Płeć Jan Łukomski Warszawa M Anna Wierzbicka Kraków K Użyto tu polskich liter. Można ich oczywiście używać także w zdaniach SQL. O typach pól (znakowe, numeryczne, data) będziemy mówić później, tu wystarczy, gdy powiemy, że wszystkie pola w tabeli Uczniowie są znakowe, z wyjątkiem daty - ta ma szczególny format, którym jest data właśnie i RDBMS to rozumie, pozwalając nam pisać np. ' ', ' ', '1987/2/3' - wszystkie one zostaną odczytane poprawnie i system będzie rozumiał, co w nich jest rokiem, co miesiącem, co dniem (przyjmie też datę bez separatorów, w postaci ' ', ale ten format zapisu wymaga podawania zawsze dwóch cyfr miesiąca i dnia i jest mało czytelny). Zrozumie również, jeśli podamy warunek data > ' ' (data późniejsza niż 1 stycznia 2004 r.), ale nie przyjmie w dacie zbędnych spacji: data ' ' zostanie uznana za błędną. Stosowany przez nas format daty jest formatem ISO. 26

27 Wybieranie informacji z wielu tabel polecenie JOIN SELECT tabela1.pole1, tabela2.pole2 FROM tabela1 INNER JOIN tabela2 ON tabela1.pole0=tabela2.pole3 Np. Tabela Klienci zawier pola Imiona, nazwiska, anumery tabela Telefony. Tabele połaczone są relacją jeden-do-wielu poprzez pole id_k. Chcemy uzyskac kwerende zawierajaca imiona, nazwiska i numery telefonów. SELEKT Klienci.Nazwisko, Klienci.Imię, Telefony.Numery FROM Klienci INNER JOIN Telefony ON Klienci.Id_k=Telefony.Id_k Chcemy aby imię i nazwisko były połączone w jednym polu: SELEKT Klienci.Nazwisko,+ + Klienci.Imię AS Nazwanowegopola, Telefony.Numery FROM Klienci INNER JOIN Telefony ON Klienci.Id_k=Telefony.Id_k INSERT INTO Wstawienie do tabeli nowego rekordu INSERT INTO nazwa tabeli (pole1, pole2) VALUES (wrtość1, wartość2) Do tabeli Uczniowie dodajemy nowy rekord: INSERT INTO Uczniowie (Imię, Nazwisko, Miasto, Data_urodzenia, Telefon) VALUES ( Kazimierz, Kazimierzowy, Kraków, ) UPDATE Modyfikacja jednego lub wielu pól UPDATE nazwatabeli SET pole1=nowawartość[,pole2=nowawartość,..] WHERE warunek Uzupełniamy w tabeli uczniowie nr telefonu o kierunkowy: UPDATE Uczniowie SET Telefony= (71) & Uczniowie.Telefony WHERE Uczniowie.Id_k=3 27

Systemy GIS Tworzenie zapytań w bazach danych

Systemy 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ółowo

SQL (ang. Structured Query Language)

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ółowo

Podstawowe zapytania SELECT (na jednej tabeli)

Podstawowe 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ółowo

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

opisuje 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ółowo

Bazy danych SQL Server 2005

Bazy 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ółowo

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

- 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ółowo

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

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2) Laboratorium nr 8 Temat: Podstawy języka zapytań SQL (część 2) PLAN LABORATORIUM: 1. Sortowanie. 2. Warunek WHERE 3. Eliminacja powtórzeń - DISTINCT. 4. WyraŜenia: BETWEEN...AND, IN, LIKE, IS NULL. 5.

Bardziej szczegółowo

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

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne. Kwerendy wybierające Kwerenda wybierająca jest najczęściej używanym rodzajem kwerendy. Służy do otrzymywania danych z tabeli lub tabel i wyświetla wyniki w arkuszu danych, w którym można je następnie aktualizować

Bardziej szczegółowo

Zadania z SQLa (MS SQL Server)

Zadania 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ółowo

Przestrzenne bazy danych Podstawy języka SQL

Przestrzenne 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ółowo

Ćwiczenie zapytań języka bazy danych PostgreSQL

Ć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ółowo

Wykł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. 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ółowo

Komputerowe systemy zarządzania. Część I: relacyjna baza danych

Komputerowe systemy zarządzania. Część I: relacyjna baza danych Komputerowe systemy zarządzania Część I: relacyjna baza danych 0 Pozwala na wpisanie cyfry, wpis wymagany 9 lub # Pozwala na wpisanie cyfry lub spacji, wpis nie wymagany L Pozwala na wpisanie litery, wpis

Bardziej szczegółowo

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

Wstę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ółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne 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ółowo

Zapytania do baz danych

Zapytania do baz danych Zapytania do baz danych 1. Korzystając z bazy kwerenda pobranej ze strony www.informatykamg.cba.pl. 2. Zobacz w tej bazie jak wyglądają relacje pomiędzy tabelami. Rys. 1 Relacje pomiędzy tabelami. 3. Tworzymy

Bardziej szczegółowo

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Podstawy 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ółowo

Język SQL podstawy zapytań

Język SQL podstawy zapytań Język SQL podstawy zapytań 1 Plan prezentacji 1. Krótka historia języka SQL 2. Cechy języka SQL 3. Przykładowa baza danych 4. Podstawy zapytań - operacje na modelu relacyjnym 5. Polecenie SELECT zapytania

Bardziej szczegółowo

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Ć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ółowo

Bazy danych Kwerendy wybierające (operacje logiczne, zapytania, pola obliczeniowe)

Bazy danych Kwerendy wybierające (operacje logiczne, zapytania, pola obliczeniowe) Bazy danych Kwerendy wybierające (operacje logiczne, zapytania, pola obliczeniowe) Istotą baz danych jest stworzenie możliwości efektywnego wyszukiwania informacji. W bazach danych służą do tego celu zapytania,

Bardziej szczegółowo

Laboratorium Bazy danych SQL 2

Laboratorium Bazy danych SQL 2 Klauzula order by występuje jako ostatnia klauzula w poleceniu select, powoduje posortowanie wierszy będących wynikiem zapytania według wartości atrybutu w niej wskazanego. Domyślnie sortowanie jest według

Bardziej szczegółowo

Kwerendy (zapytania) wybierające

Kwerendy (zapytania) wybierające Access 2. Kwerendy (zapytania) wybierające Kwerendy wybierające (nazywane też zapytaniami wybierającymi) są podstawowymi obiektami w MS Access służącymi do wyszukiwania danych w tabelach. W wyniku uruchomienia

Bardziej szczegółowo

8.9. Język SQL Kwerenda wybierająca w języku SQL

8.9. Język SQL Kwerenda wybierająca w języku SQL Rozdział 8 t Bazy danych program Access Program Access włączy wyłączoną zawartość, a baza danych zostanie ponownie otwarta jako w pełni funkcjonalna. W przeciwnym razie wyłączone składniki nie będą działać.

Bardziej szczegółowo

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

Ję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ółowo

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

SQL - Structured Query Language. strukturalny język zapytań SQL - Structured Query Language strukturalny język zapytań SQL - Structured Query Language - strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w

Bardziej szczegółowo

Konspekt zajęć dotyczących kwerend

Konspekt zajęć dotyczących kwerend Konspekt zajęć dotyczących kwerend Kwerendy służą wyszukiwaniu danych w sposób wiele elastyczniejszy niż przy użyciu samych tylko tabel. Można powiedzieć, że są one specjalną nakładką na tabele pozwalającą

Bardziej szczegółowo

5.5. Wybieranie informacji z bazy

5.5. Wybieranie informacji z bazy 5.5. Wybieranie informacji z bazy Baza danych to ogromny zbiór informacji, szczególnie jeśli jest odpowiedzialna za przechowywanie danych ogromnych firm lub korporacji. Posiadając tysiące rekordów trudno

Bardziej szczegółowo

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Bazy 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ółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@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ółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne 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ółowo

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

Ref. 7 - Język SQL - polecenia DDL i DML Ref. 7 - Język SQL - polecenia DDL i DML Wprowadzenie do języka SQL. Polecenia generujące strukturę bazy danych: CREATE, ALTER i DROP. Polecenia: wprowadzające dane do bazy - INSERT, modyfikujące zawartość

Bardziej szczegółowo

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli 1. Tworzenie tabeli Aby stworzyć tabele w SQL-u należy użyć polecenia CREATE TABLE nazwa_tabeli (nazwa_pola1 właściwości_pola1, nazwa_pola2 właściwości_pola2, itd.) Nazwa_tabeli to wybrana przez nas nazwa

Bardziej szczegółowo

Obsługa pakietu biurowego OFFICE

Obsługa pakietu biurowego OFFICE 02 - Temat 1 cz.1/3 1. Uruchom MS Access i utwórz pustą bazę danych. Zapisz ją na dysku. Pojawi się okno dialogowe obsługi bazy. Za pomocą tego okna użytkownik zarządza bazą danych i jej wszystkimi elementami,

Bardziej szczegółowo

Podstawy Informatyki Wykład X

Podstawy Informatyki Wykład X Podstawy Informatyki Wykład X Bazy danych Access - cz. II Copyright by Arkadiusz Rzucidło 1 Praca z polami Używanie Maski wprowadzania Własności Rozmiar pola Zmiana porządku pól w tabeli Listy i pola typu

Bardziej szczegółowo

Bazy danych - wykład wstępny

Bazy danych - wykład wstępny Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,

Bardziej szczegółowo

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

BAZY 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ółowo

Programowanie 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 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ółowo

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

QUERY język zapytań do tworzenia raportów w AS/400 QUERY język zapytań do tworzenia raportów w AS/400 Dariusz Bober Katedra Informatyki Politechniki Lubelskiej Streszczenie: W artykule przedstawiony został język QUERY, standardowe narzędzie pracy administratora

Bardziej szczegółowo

Grupowanie i funkcje agregujące

Grupowanie 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ółowo

Wprowadzenie do języka SQL

Wprowadzenie do języka SQL Wprowadzenie do języka SQL język dostępu do bazy danych grupy poleceń języka: DQL (ang( ang.. Data Query Language) DML (ang( ang.. Data Manipulation Language) DDL (ang( ang.. Data Definition Language)

Bardziej szczegółowo

Bazy danych kwerendy (moduł 5) 1. Przekopiuj na dysk F:\ bazę M5KW.mdb z dysku wskazanego przez prowadzącego

Bazy danych kwerendy (moduł 5) 1. Przekopiuj na dysk F:\ bazę M5KW.mdb z dysku wskazanego przez prowadzącego Bazy danych kwerendy (moduł 5) 1. Przekopiuj na dysk F:\ bazę M5KW.mdb z dysku wskazanego przez prowadzącego 2. Otwórz bazę (F:\M5KW) 3. Zapoznaj się ze strukturą bazy (tabele, relacje) 4. Wykorzystując

Bardziej szczegółowo

Kurs. Podstawy MySQL

Kurs. 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ółowo

a) Polecenie: Wyświetl wszystkie rekordy z tabeli Pracownicy (wszystkie atrybuty)

a) Polecenie: Wyświetl wszystkie rekordy z tabeli Pracownicy (wszystkie atrybuty) Ćwiczenia MS Access/SQL I. Zadania podstawowe 1. Wyświetlanie zawartości tabeli a) Polecenie: Wyświetl wszystkie rekordy z tabeli Pracownicy (wszystkie atrybuty). ; b) Polecenie: Wyświetl dane (wszystkie

Bardziej szczegółowo

Baza danych Uczniowie.mdb

Baza danych Uczniowie.mdb Baza danych Uczniowie.mdb Zadania: 1. Tabele: Założyć bazę danych uczniowie.mdb o strukturze danych: Uczniowie-dane - zip Uczniowie1_dane - zip uczzsbd1.mdb 1) UCZNIOWIE (NRU, nazwisko, imie) a) Wpisać

Bardziej szczegółowo

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

Laboratorium 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ółowo

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Integralność danych Aspekty integralności

Bardziej szczegółowo

MS Access 2010 instrukcja część 2. Ćwiczenie 3.

MS Access 2010 instrukcja część 2. Ćwiczenie 3. Importowanie danych z arkusza MS Excel. Ćwiczenie 3. Utworzyć nową bazę danych i przejść do opcji importu danych z arkusz MS Excel. Wskaż źródło danych do zaimportowania (plik arkusza MS Excel jego nazwę

Bardziej szczegółowo

ACCESS ćwiczenia (zestaw 1)

ACCESS ćwiczenia (zestaw 1) ACCESS ćwiczenia (zestaw 1) KWERENDY Ćw. 1. Na podstawie tabeli PRACOWNICY przygotować kwerendę, która wybiera z obiektu źródłowego pola Nazwisko, Imię, KODdziału i Stawka. (- w oknie bazy danych wybrać

Bardziej szczegółowo

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Dr inż. Paweł Kasprowski Plan wykładu Bazy danych Podstawy relacyjnego modelu danych Dr inż. Paweł Kasprowski pawel@kasprowski.pl Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność

Bardziej szczegółowo

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

Przykł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ółowo

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

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus Podstawy języka SQL Co to jest SQL? Structured Query Language uchodzi za standard języka zapytań kierowanych do systemu zarządzania bazą danych. SQL jest językiem deklaratywnym tj. takim, w którym istotne

Bardziej szczegółowo

Kwerendy, czyli zapytania. Opracowała: I. Długoń

Kwerendy, czyli zapytania. Opracowała: I. Długoń Kwerendy, czyli zapytania Opracowała: I. Długoń Sposoby wyszukiwania informacji Narzędzie Znajdź Filtrowanie Kwerendy Nasza baza Podstawowe sposoby wyszukiwania informacji Znajdź (Edycja -> Znajdź lub

Bardziej szczegółowo

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

strukturalny 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ółowo

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

P o d s t a w y j ę z y k a S Q L P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych K o n c e p

Bardziej szczegółowo

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Instrukcja 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ółowo

SQL Structured Query Language

SQL Structured Query Language SQL Structured Query Language stworzony na początku lat 70 ubiegłego wieku w IBM przez Donalda Messerly'ego, Donalda Chamberlina oraz Raymonda Boyce'a pod nazwą SEQUEL pierwszy SZBD System R utworzony

Bardziej szczegółowo

Projektowanie Systemów Inf.

Projektowanie Systemów Inf. Projektowanie Systemów Inf. Wykład V Kwerendy Copyrights by Arkadiusz Rzucidło 1 Wprowadzenie Istotą bazy danych jest możliwość efektywnego wyszukiwania informacji Realizację operacji wyszukiwania zapewniają

Bardziej szczegółowo

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

SQL, 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ółowo

Przykład powyżej pokazuje, że w zapytaniu można umieszczać funkcje zarówno zdefiniowane w ramach środowiska, jak również własne.

Przykład powyżej pokazuje, że w zapytaniu można umieszczać funkcje zarówno zdefiniowane w ramach środowiska, jak również własne. LINQ w Microsoft Visual Basic 'zapytanie pobierające wszystkie liczby z kolekcji 'zmienna zapytanie jest typu: System.Collections.Generic.IEnumerable(Of Integer) Dim zapytanie = From wiersz In liczby 'lub

Bardziej szczegółowo

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

Bazy danych 2. Wykład 4 Structured Query Language (SQL) Bazy danych 2 Wykład 4 Structured Query Language (SQL) Cechy SQL W standardzie SQL wyróŝnia się dwie części: DDL (Data Definition Language) - język definiowania danych DML (Data Manipulation Language)

Bardziej szczegółowo

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

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek SELECT SELECT kolumna1, kolumna2,, kolumnan FROM tabela wybrane kolumny SELECT * FROM tabela wszystkie kolumny select * from Orders select CustomerID, CompanyName, Country from Customers WHERE SELECT *

Bardziej szczegółowo

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

77. 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ółowo

Microsoft SQL Server Podstawy T-SQL

Microsoft 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ółowo

Struktura drzewa w MySQL. Michał Tyszczenko

Struktura drzewa w MySQL. Michał Tyszczenko Struktura drzewa w MySQL Michał Tyszczenko W informatyce drzewa są strukturami danych reprezentującymi drzewa matematyczne. W naturalny sposób reprezentują hierarchię danych toteż głównie do tego celu

Bardziej szczegółowo

41. Zmienne lokalne muszą mieć nazwę, którą poprzedza (maksymalnie 128 znaków) oraz typ (każdy z wyjątkiem: text, ntext oraz image)

41. Zmienne lokalne muszą mieć nazwę, którą poprzedza (maksymalnie 128 znaków) oraz typ (każdy z wyjątkiem: text, ntext oraz image) Elementy języka T-SQL 40. Polecenie PRINT jest wykorzystywane do przekazania wiadomości tekstowej (maksymalna długość 8000 znaków) Przykład PRINT 'Aktualna data: '+convert(char(8),getdate()) PRINT 'Aktualny

Bardziej szczegółowo

Wykład 05 Bazy danych

Wykład 05 Bazy danych Wykład 05 Bazy danych Tabela składa się z: Kolumn Wierszy Wartości Nazwa Wartości Opis INT [UNSIGNED] -2^31..2^31-1 lub 0..2^32-1 Zwykłe liczby całkowite VARCHAR(n) n = długość [1-255] Łańcuch znaków o

Bardziej szczegółowo

PL/SQL. Funkcje wbudowane

PL/SQL. Funkcje wbudowane Slajd 1 PL/SQL Opis funkcji SQL PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 1 Slajd 2 Funkcje wbudowane Funkcje wbudowane mają za zadanie umożliwić bardziej zaawansowane operowanie danymi. Funkcje operacji

Bardziej szczegółowo

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa Wprowadzenie do projektowania i wykorzystania baz danych Katarzyna Klessa Informacje organizacyjne 1. Dyżury II semestr: wtorek 11:50-12:40, piątek 13:20-14:00 pokój / room 312aB Coll. Novum - proszę o

Bardziej szczegółowo

Zadania SELECT do schematu EDS (EMP, DEPT, SALGRADE)

Zadania SELECT do schematu EDS (EMP, DEPT, SALGRADE) Zadania SELECT do schematu EDS (EMP, DEPT, SALGRADE) W Bazie występują trzy tabele, o następujących schematach: EMP {empno(pk), ename, deptno(fk), mgr(fk), sal, comm, hiredate, job} DEPT {deptno(pk), dname,

Bardziej szczegółowo

ACESS- zadania z wykorzystaniem poleceń SQL

ACESS- zadania z wykorzystaniem poleceń SQL ACESS- zadania z wykorzystaniem poleceń SQL Dane są relacje o schematach: Pracownik ( (nr integer, nazwisko text(12), etat text(10), szef integer, pracuje_od date, placa_pod Currency, placa_dod Currency,

Bardziej szczegółowo

5. Bazy danych Base Okno bazy danych

5. Bazy danych Base Okno bazy danych 5. Bazy danych Base 5.1. Okno bazy danych Podobnie jak inne aplikacje środowiska OpenOffice, program do tworzenia baz danych uruchamia się po wybraniu polecenia Start/Programy/OpenOffice.org 2.4/OpenOffice.org

Bardziej szczegółowo

Język SQL, zajęcia nr 1

Język SQL, zajęcia nr 1 Język SQL, zajęcia nr 1 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Najpopularniejsze

Bardziej szczegółowo

Pytania SO Oprogramowanie Biurowe. Pytania: Egzamin Zawodowy

Pytania SO Oprogramowanie Biurowe. Pytania: Egzamin Zawodowy Pytania SO Oprogramowanie Biurowe Pytania: Egzamin Zawodowy Pytania SO Oprogramowanie Biurowe (1) Gdzie w edytorze tekstu wprowadza się informację lub ciąg znaków, który ma pojawić się na wszystkich stronach

Bardziej szczegółowo

Wykład III. dr Artur Bartoszewski www.bartoszewski.pr.radom.pl. Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych

Wykład III. dr Artur Bartoszewski www.bartoszewski.pr.radom.pl. Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych dr Artur Bartoszewski www.bartoszewski.pr.radom.pl Wykład III W prezentacji wykorzystano fragmenty i przykłady z książki: Joe Habraken;

Bardziej szczegółowo

Ję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 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ółowo

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

KOLEKCJE - 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ółowo

Oracle11g: Wprowadzenie do SQL

Oracle11g: 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ółowo

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/

Paweł 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ółowo

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

Laboratorium 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ółowo

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0 ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL Użytkowanie baz danych. Sylabus opisuje zakres wiedzy

Bardziej szczegółowo

MS Excel 2007 Kurs zaawansowany Obsługa baz danych. prowadzi: Dr inż. Tomasz Bartuś. Kraków: 2008 04 25

MS Excel 2007 Kurs zaawansowany Obsługa baz danych. prowadzi: Dr inż. Tomasz Bartuś. Kraków: 2008 04 25 MS Excel 2007 Kurs zaawansowany Obsługa baz danych prowadzi: Dr inż. Tomasz Bartuś Kraków: 2008 04 25 Bazy danych Microsoft Excel 2007 udostępnia szereg funkcji i mechanizmów obsługi baz danych (zwanych

Bardziej szczegółowo

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

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości część 2 Zaprojektowaliśmy stronę dodaj_dzial.aspx proszę jednak spróbować dodać nowy dział nie podając jego nazwy

Bardziej szczegółowo

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł

Bardziej szczegółowo

Autor: dr inż. Katarzyna Rudnik

Autor: dr inż. Katarzyna Rudnik Bazy danych Wykład 2 MS Access Obiekty programu, Reprezentacja danych w tabeli, Indeksy, Relacje i ich sprzężenia Autor: dr inż. Katarzyna Rudnik Obiekty programu MS ACCESS Obiekty typu Tabela są podstawowe

Bardziej szczegółowo

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk Wstęp wprowadzający do laboratorium 2 mgr inż. Rafał Grycuk Plan prezentacji 1. Czym jest T-SQL i czym się różni od standardu SQL 2. Typy zapytań 3. Zapytanie typu SELECT 4. Słowo o indeksach T-SQL (1)

Bardziej szczegółowo

Wprowadzenie do SQL Użycie kwerend i SQL

Wprowadzenie do SQL Użycie kwerend i SQL Wprowadzenie do SQL Język SQL w programie Access. Kwerenda wybierająca w języku SQL. Typy danych w języku SQL. Wprowadzenie do SQL Użycie kwerend i SQL Funkcjonowanie współczesnych systemów relacyjnych

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Plan wykładu Technologie baz danych Wykład 2: Relacyjny model danych - zależności funkcyjne. SQL - podstawy Definicja zależności funkcyjnych Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegółowo

2. Podstawy języka SQL

2. Podstawy języka SQL 1. Uczeń: Uczeń: 2. Podstawy języka SQL a. 1. Cele lekcji i. a) Wiadomości zna podstawowe komendy języka SQL, wie jak utworzyć prostą bazę danych korzystając z darmowego serwera baz danych MySQL, wie,

Bardziej szczegółowo

Marek Rakowski Podstawy zdania SELECT Strona 1 z 12

Marek Rakowski Podstawy zdania SELECT Strona 1 z 12 Marek Rakowski Podstawy zdania SELECT Strona 1 z 12 Podstawy języka SQL Co to jest SQL? Structured Query Language uchodzi za standard języka zapytań kierowanych do systemu zarządzania bazą danych. SQL

Bardziej szczegółowo

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS UNIWERSYTET ZIELONOGÓRSKI INSTYTUT INFORMATYKI I ELEKTROTECHNIKI ZAKŁAD INŻYNIERII KOMPUTEROWEJ Przygotowali: mgr inż. Arkadiusz Bukowiec mgr inż. Remigiusz Wiśniewski LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Bardziej szczegółowo

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

Szkolenie Oracle SQL podstawy. Terminy. 15 17 lutego 2010 First Minute! 1100zł! Szkolenie Oracle SQL podstawy Terminy 15 17 lutego 2010 First Minute! 1100zł! Opis szkolenia Baza danych Oracle od dawna cieszy się zasłużona sławą wśród informatyków. Jej wydajność, szybkość działania

Bardziej szczegółowo

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas)

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Bazy danych podstawowe pojęcia Baza danych jest to zbiór danych zorganizowany zgodnie ze ściśle określonym modelem danych. Model danych to zbiór ścisłych

Bardziej szczegółowo

Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym

Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym S t r o n a 1 Bożena Ignatowska Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym Wprowadzenie W artykule zostaną omówione zagadnienia związane z wykorzystaniem funkcji tekstowych w arkuszu

Bardziej szczegółowo

Plan. Wyświetlanie n początkowych wartości (TOP n) Użycie funkcji agregujących. Grupowanie danych - klauzula GROUP BY

Plan. Wyświetlanie n początkowych wartości (TOP n) Użycie funkcji agregujących. Grupowanie danych - klauzula GROUP BY Plan Wyświetlanie n początkowych wartości (TOP n) Użycie funkcji agregujących Grupowanie danych - klauzula GROUP BY Generowanie wartości zagregowanych Użycie klauzul COMPUTE i COMPUTE BY Wyświetlanie początkowych

Bardziej szczegółowo

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Konstruowanie 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ółowo

Wprowadzenie do baz danych

Wprowadzenie do baz danych Wprowadzenie do baz danych Bazy danych stanowią obecnie jedno z ważniejszych zastosowań komputerów. Podstawowe zalety komputerowej bazy to przede wszystkim szybkość przetwarzania danych, ilość dostępnych

Bardziej szczegółowo

Baza danych. Baza danych to:

Baza danych. Baza danych to: Baza danych Baza danych to: zbiór danych o określonej strukturze, zapisany na zewnętrznym nośniku (najczęściej dysku twardym komputera), mogący zaspokoić potrzeby wielu użytkowników korzystających z niego

Bardziej szczegółowo

Przydatne sztuczki - sql. Na przykładzie postgres a.

Przydatne sztuczki - sql. Na przykładzie postgres a. Przydatne sztuczki - sql. Na przykładzie postgres a. M. Wiewiórko 05/2014 Plan Uwagi wstępne Przykład Rozwiązanie Tabela testowa Plan prezentacji: Kilka uwag wstępnych. Operacje na typach tekstowych. Korzystanie

Bardziej szczegółowo

z przedmiotu: Techniki Informatyczne Stanisław Flaga (stanislaw.flaga@agh.edu.pl)

z przedmiotu: Techniki Informatyczne Stanisław Flaga (stanislaw.flaga@agh.edu.pl) mysql relacyjna baza danych wstęp Materiały pomocnicze do laboratorium z przedmiotu: Techniki Informatyczne Stanisław Flaga () Wydział Inżynierii Mechanicznej i Robotyki Katedra Automatyzacji Procesów

Bardziej szczegółowo

DECLARE VARIABLE zmienna1 typ danych; BEGIN

DECLARE 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ółowo