Konstruowanie Baz Danych



Podobne dokumenty
Bazy danych i systemy zarzadzania

Przestrzenne bazy danych Podstawy języka SQL

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

Wprowadzenie do języka SQL

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

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Język SQL. Rozdział 2. Proste zapytania

Bazy danych. Dr inż. Paweł Kasprowski

Konstruowanie Baz Danych DQL agregacja danych

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

Systemy GIS Tworzenie zapytań w bazach danych

Relacyjne bazy danych. Podstawy SQL

SQL Structured Query Language

Relacyjne bazy danych. Podstawy SQL

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

Język SQL podstawy zapytań

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

Autor: Joanna Karwowska

CREATE TABLE logika (p BOOLEAN); INSERT INTO logika VALUES(true); INSERT INTO logika VALUES(false); INSERT INTO logika VALUES(NULL);

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

Wykład 5. SQL praca z tabelami 2

Podstawowe zapytania SELECT (na jednej tabeli)

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

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

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

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

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

SQL (ang. Structured Query Language)

Baza danych. Baza danych jest to zbiór danych powi zanych mi dzy sob pewnymi zale no ciami.

Autor: Joanna Karwowska

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

Widok Connections po utworzeniu połączenia. Obszar roboczy

Wprowadzenie do baz danych

Paweł Rajba

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

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

Jerzy Nawrocki, Wprowadzenie do informatyki

forma studiów: studia stacjonarne Liczba godzin/tydzień: 1, 0, 2, 0, 0

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

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

Projektowanie Systemów Inf.

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

Instrukcje DQL: SELECT. Zastosowanie SELECT, opcje i warianty

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

LITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000

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

Podstawowe informacje o bazach danych. Technologie Informacyjne

SQL Structured Query Language

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

Zadania z SQLa (MS SQL Server)

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

Baza danych - Access. 2 Budowa bazy danych

Konstruowanie baz danych: Wprowadzenie 2. Program wykªadów. 1. Wprowadzenie do problematyki baz danych.

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

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

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

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

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2014/15

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

Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych. Andrzej Bąk

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

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

Bazy danych SQL Server 2005

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

Bazy danych. Polecenia SQL

Obliczenia arytmetyczne. Konkatenacja pól. Aliasy kolumn. Aliasy tabel. Co dalej? Rozdział 4. Korzystanie z funkcji. Zastosowanie funkcji

Język SQL, zajęcia nr 1

Oracle11g: Wprowadzenie do SQL

Język SQL : przyjazny podręcznik / Larry Rockoff. Wyd. 2. Gliwice, cop Spis treści

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki )

Bazy danych. Plan wykładu. Podstawy modeli relacyjnych. Diagramy ER. Wykład 3: Relacyjny model danych. SQL

Tworzenie zapytań do Microsoft SQL Server

Bazy danych SQL. Wstp. SQL (Structured( Query Language) strukturalny jzyk zapyta

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

PODZAPYTANIE (SUBSELECT)

SQL Structured Query Language

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

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

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

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

Wykład 05 Bazy danych

Język SQL, zajęcia nr 2

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

SQL praca z tabelami 4. Wykład 7

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Projektowanie systemów baz danych

Technologie baz danych

Kwerendy (zapytania) wybierające

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Instrukcje DML INSERT, UPDATE, DELETE. COPY

Komunikacja z bazą danych psql

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

SIECI KOMPUTEROWE I BAZY DANYCH

Bazy danych 7. SQL podstawy

Bazy danych. Wykład V Kwerendy. Copyrights by Arkadiusz Rzucidło 1

Spis tre±ci. 1 Wst p Zawarto± rozdziaªów Projekt LoXiM... 2

Transkrypt:

Studia podyplomowe In»ynieria oprogramowania wspóªnansowane przez Uni Europejsk w ramach Europejskiego Funduszu Spoªecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarz dzania projektami w rmach informatycznych realizowany w ramach Programu Operacyjnego Kapitaª Ludzki Konstruowanie Baz Danych Wprowadzenie do SQL Antoni Lig za ligeza@agh.edu.pl http://home.agh.edu.pl/~ligeza http://home.agh.edu.pl/~ligeza/wiki

Konstruowanie baz danych: Wprowadzenie 2 Wykaz literatury 1. Jakubowski A.: Podstawy SQL. wiczenia praktyczne. Helion, Gliwice, 2001. 2. SQL J zyk relacyjnych baz danych. Wellesley Software. WNT, W-wa, 1992/95. ISBN 83-204-1806-2. 3. Harrington, J.L.: SQL dla ka»dego. EDU-MIKOM, Warszawa, 1998. ISBN 83-87102-55-5. 4. Ullman J.D. i J. Widom: Podstawowy wykªad z systemów baz danych. WN-T, Warszawa, 2000 (Rozdziaªy 5,6,7). 5. Bowman J.S., S.L. Emerson i M. Darnovsky: Podr cznik jezyka SQL. WN-T, Warszawa, 2001. 6. Ladanyi H.: SQL. Ksi ga eksperta. Helion, Gliwice, 2000 (Oracle 7.3). 7. Celko, J.: SQL Zaawansowane techniki programowania. Mikom, Warszawa, 1999. ISBN 83-7158-221-8. 8. Stephens, R.K. et al.: SQL w 3 tygodnie. LT&P, Warszawa, 1999. ISBN 83-7158-221-8. 9. Gruber, M.: SQL. Znakomity podr cznik opisuj cy najnowszy standard SQL-a. Wydawnictwo Helion, Gliwice, 1996. ISBN 83-86718-32-3. 10. Connan, S.J., G.A.M. Otten: SQL The Standard Handbook. (based on the new SQL standard (ISO 9075:1992(E)). McGraw-Hill Book Company, London, 1993.

Konstruowanie baz danych: Wprowadzenie 3 Strony internetowe Wybrane strony internetowe po±wi cone SQL http://en.wikipedia.org/wiki/sql http://pl.wikipedia.org/wiki/sql http://www.bazydanych.prv.pl http://galaxy.uci.agh.edu.pl/ chwastek/lectures/db/dbtitle.html http://www.ia.pw.edu.pl/%7ettraczyk/ http://baszta.iie.ae.wroc.pl/index.html http://www.cs.put.poznan.pl/kjankiewicz/oracle/sql/index.htm http://www.cs.put.poznan.pl/rwrembel/courses/sbd.htm Inne: http://www.sqlcourse.com/ http://www.microsoft.com/sql/ http://www.mysql.com/ http://www.postresql.org/ http://w3schools.com/sql/default.asp http://sqlzoo.net/ http://www.sqlmag.com/ http://www.superiorsql.com/ http://www.1keydata.com/sql/sql.html http://philip.greenspun.com

Konstruowanie baz danych: Wprowadzenie 4 Czym jest SQL Denicja SQL := Structured Query Language; database sub-language (niepeªny j zyk obsªugi baz danych (bez kontroli sterowania)). SQL jest j zykiem obsªugi baz danych (RBD) zaimplementowanym w systemach zarz dzania bazami danych (SZDB), przeznaczonym do deniowania struktur danych, wyszukiwania danych oraz operacji na danych. Posiada on akceptacj ANSI oraz standard ISO. W praktyce jest standardowym j zykiem zapyta«dla relacyjnych baz danych. Cechy j zyka SQL jest j zykiem wysokiego poziomu (4GL), opartym na sªownictwie j zyka angielskiego; jego wyra»enia maj okre±lon struktur, jest j zykiem deklaratywnym (nieproceduralnym); zorientowanym na wynik (u»ytkownik deniuje co chce otrzyma, ale nie pisze jak), jest oparty na algebrze relacji, nie posiada instrukcji steruj cych wykonaniem programu, nie dopuszcza rekurencji, zawiera logik trójwarto±ciow, umo»liwia deniowanie struktur danych, wyszukiwanie danych, oraz opracje na danych.

Konstruowanie baz danych: Wprowadzenie 5 Historia SQL-a Etapy powstawania SQL-a 1970: E.F. Codd, IBM Relacyjne Bazy Danych, 1974: Chamberlain, IBM, San Jose Structured English Query Language SEQUEL (prototyp SQL), 1976-7: SEQUEL/2, koniec lat 70-tych: ORACLE (Relational Software Inc.) implementacja praktyczna (komercyjna), pierwsza 1981: IBM SQL/DS (SZBD), poprzednik DB/2 (1983), 1982: ANSI: RDL (Relationla Data Language), 1983: ISO denicja SQL, 1986: ANSI pierwszy standard SQL (SQL-86), 1987: ISO pierwszy standard SQL: ISO 9075: 1987 (E), 1989: ISO nast pny standard SQL: ISO 9076: 1989 (E) (SQL-89), 1992: ISO kolejna, wzbogacona wersja: ISO 9075: 1992 (E) (SQL 2), 1999: SQL 3 SQL:1999, 2003: SQL:2003, OQL, alternatywne propozycje?

Konstruowanie baz danych: Wprowadzenie 6 Struktura i wykorzystanie j zyka SQL Komponenty j zyka SQL DDL (Data Denition Language) j zyk deniowania struktur danych (CREATE), DQL (Data Query Language) j zyk deniowania zapyta«dla wyszukiwania danych, (SELECT), DML (Data Manipulation Language j zyk operacji na danych (SELECT, INSERT, UPDATE, DELETE), Instrukcje sterowania danymi kontrola uprawnie«u»ytkowników (GRANT, REVOKE). Wykorzystanie SQL-a Interaktywny SQL bezpo±redni dost p do danych za pomoc interepretera SQL (np. z terminala ASCII), Statyczny SQL staªy (predeniowany) kod w SQL; mo»e to by zanurzony SQL (tzw. embedded SQL) czyli kod znajduj cy si wewn trz innego j zyka programowania lub moduªowy SQL, tzn. samodzielne moduªy w j zyku SQL, które mog by ª czone z moduªami innych j zyków, Dynamiczny SQL kod SQL generowany dynamicznie przez programy u»ytkowe; cz sto generowany jest za pomoc interfejsów gracznych lub z poziomu WWW (np. za pomoc PHP), Denicyjny SQL kod w SQL-u generowany przy pomocy narz dzi CASE.

Konstruowanie baz danych: Wprowadzenie 7 Elementy j zyka SQL alfabet i j zyk Alfabet SQL Alfabet SQL obejmuje: zestaw znaków SQL_TEXT (chrakterystyczny dla implementacji); A,B,C,...,Z,a,b,c,...,z,0,1,2,...,9 oraz znaki specjalne:. ; ( ), : % _? ' "+ - * / < > = & i spacja, literaªy (staªe), identykatory (nazwy), np. nazwy tabel, kolumn (atrybutów) widoków, schematów, etc., elementy semantyczne j zyka: nazwy polece«i funkcji. Zasady konstrukcji wyra»e«nazwy umo»liwiaj dost p do obiektów z ró»nych poziomów; realizuje si to za pomoc tzw. wyra»e«±cie»kowych, np. CATALOG.Company.Department, separatorem poziomów jest kropka, mo»liwe jest konstruowanie i operacje porównania na wierszach, np. (A1, B1, C1) < (A2, B2, C2) (SQL 2?), ka»da instrukcja zaczyna si sªowem kluczowym, mo»e zawiera mody- katory i ko«czy si ±rednikiem, * oznacza wszystkie kolumny (atrybuty) tabeli, staªe tekstowe zapisywane s w cudzysªowach, np. 'Warszawa'.

Konstruowanie baz danych: Wprowadzenie 8 Struktura i przykªady typowych zapyta«struktura typowego zapytania SELECT Attribute1, Attribute2,...,Attributen FROM Table1 [, Table2,...,Tablek] WHERE Condition; Typowe zapytanie pozwala odczyta warto±ci zadanych atrybutów z wybranej tabeli (lub tabel) wykonywana jest wi c projekcja na wyspecykowane atrybuty; warunek zadany po sªowie WHERE ma charakter formuªy logicznej i stanowi kryterium wyboru rekordów dokonywana jest wi c równocze±nie selekcja. W przypadku podania wi cej ni» jednej tabeli wykonywana jest na tych tabelach operacja iloczynu kartezja«skiego. Klauzula WHERE nie jest obowi zkowa. Przykªady prostych typowych zapyta«wy±wietlania zawarto±ci tabeli (wszystkie kolumny): SELECT * FROM Dostawcy; Wy±wietlania zawarto±ci tabeli (wybrane kolumny): SELECT NazwaDostawcy, TelefonDostawcy FROM Dostawcy; Wy±wietlanie zawarto±ci tabeli (wybrane kolumny) z usuni ciem duplikatów: SELECT DISTINCT NazwaDostawcy FROM Dostawcy;

Konstruowanie baz danych: Wprowadzenie 9 Przykªady typowych zapyta«sortowanie tabeli wynikowej SELECT * FROM Dostawcy ORDER BY NazwaDostawcy; SELECT NazwaDostawcy, NazwaTowaru FROM Dostawcy ORDER BY NazwaTowaru, NazwaDostawcy; Sortowanie tabeli wynikowej w odwrotnej kolejno±ci SELECT Wiek, Nazwisko ORDER BY Wiek DESC; Sortowanie tabeli wynikowej wg wybranych kryteriów SELECT Wiek, Nazwisko ORDER BY Wiek DESC, Pracownik ASC; Sortowanie z u»yciem numerów kolumn SELECT Nazwisko, Wiek, Pobory*12 + Premia ORDER BY 3 DESC, 1 ASC;

Konstruowanie baz danych: Wprowadzenie 10 Przykªad operacji selekcji ID_prac Nazwisko Imi DataUr Stanowisko Dziaª Stawka MT101 Abacki Adam 61-01-01 robotnik P10 550,00 zª MT102 Abakowski Alojzy 61-01-02 robotnik P10 574, 00 zª MT103 Adamski Antoni 61-01-03 robotnik P20 1275,00 zª MT104 Adamski Arnold 61-01-03 robotnik P20 1280,00 zª MT105 Adamski Arnold 61-01-03 robotnik P20 1295,00 zª KT101 Aron Antonina 61-01-03 robotnik P10 575,00 zª MU101 Batman Bogusªaw 67-02-13 kierownik P30 1224,00 zª KU101 Celi«ska Mirosªawa 69-03-08 analityk F10 975,00 zª MV101 Dioniziak Dariusz 71-10-17 v-prezes V 3000,00 zª SELECT Nazwisko, Imi, DataUr, Stanowisko, Dziaª, Stawka WHERE Nazwisko='Adamski'; ID_prac Nazwisko Imi DataUr Stanowisko Dziaª Stawka MT103 Adamski Antoni 61-01-03 robotnik P20 1275,00 zª MT104 Adamski Arnold 61-01-03 robotnik P20 1280,00 zª MT105 Adamski Arnold 61-01-03 robotnik P20 1295,00 zª SELECT Nazwisko, Imi, DataUr, Stanowisko, Dziaª, Stawka WHERE (Stanowisko='robotnik' AND Stawka < 1000) OR (Stanowisko='analityk' ID_prac Nazwisko Imi DataUr Stanowisko Dziaª Stawka MT101 Abacki Adam 61-01-01 robotnik P10 550,00 zª MT102 Abakowski Alojzy 61-01-02 robotnik P10 574, 00 zª KT101 Aron Antonina 61-01-03 robotnik P10 575,00 zª KU101 Celi«ska Mirosªawa 69-03-08 analityk F10 975,00 zª

Konstruowanie baz danych: Wprowadzenie 11 Realizacja selekcji wybór rekordów Typowe przykªady operacji selekcji SELECT Nazwisko, Wiek WHERE Wiek = 65; SELECT Nazwisko, Wiek WHERE Nazwisko = 'Kowalski'; SELECT Nazwisko, Wiek WHERE Nazwisko = 'Kowalski' AND Wiek > 60; SELECT Nazwisko, Wiek, Stanowisko WHERE Stanowisko = 'analityk' OR Stanowisko = 'programista'; SELECT Nazwisko, Wiek, Stanowisko WHERE (Stanowisko = 'analityk' OR stanowisko = 'programista') AND Wiek < 25; SELECT Nazwisko WHERE (Stanowisko = 'analityk' OR stanowisko = 'programista') AND Wiek < 25 AND Jezyk2 IN ('francuski', 'niemiecki') ORDER BY Wiek DESC;

Konstruowanie baz danych: Wprowadzenie 12 Konstruowanie warunku w klauzuli WHERE Operatory relacyjne =, <, >, <=, >=,!= (<>) sªu» do porównywania liczb, dat, napisów; napisy musz by zapisane z u»yciem apostrofów. Zapis dat i godzin musi by zgodny z formatem stosowanym w SZBD. Operatory logiczne AND, OR, NOT wraz z nawiasami sªu» do konstrukcji zªo»onych warunków logicznych (algebraicznie odpowiadaj cych iloczynowi, sumie i dopeªnieniu). Wyznaczanie warto±ci logiczne przebiega od lewej do prawej, z uwzgl dnieniem priorytetów i nawiasów. Operatory specjalne BETWEEN... AND..., LIKE, IN, IS NULL sªu» do deniowania warunków zªo»onych selekcji. Operator LIKE pozwala na porównywanie ªa«cuchów z u»yciem symboli specjalnych % (dowolny ci g znaków) oraz _ (pojedynczy symbol). Wszystkie te operatory mog by negowane (NOT). Przykªady: DataZatrudnienia BETWEEN '10/12/99' AND '17/01/00' Nazwisko LIKE 'Kowal%' StawkaVAT IN (0, 7, 22) Grzech IN ('pycha', 'chciwo± ', 'nieczysto± ', 'zadro± ', 'nieumiarkowanie w jedzeniu i piciu', 'gniew', 'lenistwo') Telefon IS NULL, Telefon IS NOT NULL

Konstruowanie baz danych: Wprowadzenie 13 Zastosowanie oblicze«w zapytaniach W zapytaniach mo»na umie±ci wyra»enia deniuj ce standardowe operacje arytmetyczne oraz wykorzystuj ce funkcje. SELECT NumerZam, ISBN, Ilosc, CenaJednost, (CenaJednost * Ilosc) FROM ZamowioneKsiazki WHERE NumerZam = 3; SELECT Pracownik, (Zarobki * 12 + Prowizja) / 12 WHERE Stanowisko = 'Sprzedawca'; SELECT Pracownik, Zarobki, Prowizja WHERE Prowizja <.25 * Zarobki; SELECT Pracownik, Zarobki, 0.75 * (Zarobki + 550) WHERE Stanowisko = 'kierownik' AND (Zarobki + 550) * 0.75 > 2500 ORDER BY 3; SELECT Nazwisko ', ' Imie FROM Osoby ORDER BY Nazwisko, Imie; SELECT SUBSTRING (Imie FROM 1 FOR 1) '. ' Nazwisko FROM Osoby; SELECT CURRENT_DATE - DataZamowienia AS OkresOczekiwania FROM Zamowienia WHERE Klient = 'Kowalski';

Konstruowanie baz danych: Wprowadzenie 14 Operacje grupowania Opcje GROUP BY oraz HAVING umo»liwiaj grupowanie wybranych rekordów (tzw. agregacj ). Mo»liwe jest u»ycie typowych funkcji agreguj cych: SUM, AVG, MIN, MAX, COUNT. SELECT Stanowisko, AVG(Zarobki), COUNT(*) WHERE Stanowisko!= 'prezes' GROUP BY Stanowisko; SELECT Stanowisko, AVG(Zarobki), '= Srednia zarob', COUNT(*), '= # prac_na_stan' WHERE Stanowisko!= 'prezes' GROUP BY Stanowisko HAVING AVG(Zarobki) < 2500; SELECT Stanowisko, NumerDzialu, Count(*) WHERE Stanowisko!= 'prezes' GROUP BY Stanowisko, NumerDzialu HAVING Count(*) >1; SELECT Klient, COUNT(*), SUM(Kwota) FROM Zamowienia GROUP BY Klient HAVING SUM(Kwota) > 1000; SELECT CenaJednostkowa, COUNT(*) FROM Zamowienia WHERE CenaJednostkowa > 17 GROUP BY CenaJednostkowa;

Konstruowanie baz danych: Wprowadzenie 15 Operacje grupowania W klauzuli SELECT grupuj cej dane mo»na u»ywa tylko nazw atrybutów dla których nast puje grupowanie. W zale»no±ci od struktury tabeli oraz zawartych w niej danych i spodziewanego wyniku zapytania, istnieje mo»- liwo± wykorzystania WHERE lub HAVING; WHERE dziaªa przed sformowaniem grup a HAVING po predykat tej opcji musi wi c odnosi si do kryteriów wykorzystanych przy tworzeniu grup. SELECT CenaJednostkowa, COUNT(*) FROM Zamowienia WHERE CenaJednostkowa > 17 GROUP BY CenaJednostkowa; SELECT CenaJednostkowa, COUNT(*) FROM Zamowienia GROUP BY CenaJednostkowa HAVING CenaJednostkowa > 17; Mo»liwe jest tak»e jednoczesne u»ycie WHERE oraz HAVING, np.: SELECT CenaJednostkowa, COUNT(*) FROM Zamowienia WHERE RokWydania > '1980' GROUP BY CenaJednostkowa HAVING CenaJednostkowa > 17; Wyniki operacji grupuj cych mog by zapami tywane do dalszego przetwarzania, np.: INSERT INTO DzialSrednia (NumerDzialu, DzialSrednieZarobki) SELECT NumerDzialu, AVG(Zarobki) GROUP BY NumerDzialu;

Konstruowanie baz danych: Wprowadzenie 16 Studia podyplomowe In»ynieria oprogramowania wspóªnansowane przez Uni Europejsk w ramach Europejskiego Funduszu Spoªecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarz dzania projektami w rmach informatycznych realizowany w ramach Programu Operacyjnego Kapitaª Ludzki