SQl - podstawy zapytainformatyka +*
informatyka +
Plan prezentacjiinformatyka +*
Krtka historia jzyka SQLCechy jzyka SQLPrzykadowa baza danychPodstawy zapyta - operacje na modelu relacyjnym Polecenie SELECT zapytania prostePolecenie SELECT czenie tabelPolecenie SELECT wykorzystanie funkcji agregujcychPolecenie SELECT zapytania zoonePolecenie SELECT co jeszcze potrafi?
informatyka +
informatyka +*Krtka historia jzyka SQL kroki milowe1970 - publikacj E.F.Codda pt. A Relational Model of Data for Large Shared Data Banks. ( pol. Relacyjny model danych dla duych wspdzielonych bankw danych). - w IBM powsta jzyk SEQUEL (ang. Structured English Query Language Stukturalny Angielski Jzyk Zapyta)1979 - firma ORACLE wypucia na rynek pierwszy komercyjny system zarzdzania bazami danych oparty o SQL. do dnia dzisiejszego trwa burzliwy rozwj tego jzyka
informatyka +
informatyka +*Standardy jzyka SQLKrtka historia standardw jzyka SQL :
1986: pierwszy standard SQL (SQL-86),1989: nastpny standard SQL (SQL-89),1992: wzbogacona wersja standardu (SQL-92 lub SQL 2),1999: standardu rozszerzonego o pewne cechy obiektowoci (SQL 3)2003: Kolejne rozszerzenie standardu (m.in. wczenie do standardu jzyka XML) - SQL 42006 : Niewielkie rozszerzenie standardu2008 : Kolejne niewielkie rozszerzenie standardu
informatyka +
informatyka +*Standardy jzyka SQLOpracowywaniem i publikowanie standardw SQL zajmuj si organizacje :
ISO (ang. International Organization for Standarization)
ANSI (ang. American National Standards Institute).
Standard jzyka to wytyczne dla producentw Systemw Zarzdzania Bazami Danych
Pomimo istnienia standardw jezyka SQL rzne implementacje rnia si od siebie (nieznacznie)
informatyka +
Plan prezentacjiinformatyka +*
Krtka historia jzyka SQLCechy jzyka SQLPrzykadowa baza danychPodstawy zapyta - operacje na modelu relacyjnym Polecenie SELECT zapytania prostePolecenie SELECT czenie tabelPolecenie SELECT wykorzystanie funkcji agregujcychPolecenie SELECT zapytania zoonePolecenie SELECT co jeszcze potrafi?
informatyka +
informatyka +*Cechy jzyka SQL
SQL jest jzykiem IV generacjii co z tego e IV generacjiSQL jest jzykiem deklaratywnym ?????????W jzyku SQL deklarujemy co chcemy osign bez okrelania jak to naley wykona
informatyka +
informatyka +*Cechy jzyka SQL
Jzyk SQL dzielimy na trzy podstawowe czci:
Jzyk Definiowania Danych DDL (ang. Data Definition Language
Jzyk Manipulacji Danymi DML (ang. Data Manipulation Language
Jzyk Kontroli Danych DCL (ang. Data Control Language)
informatyka +
informatyka +*Cechy jzyka SQL
Jzyk Definiowania Danych DDL (ang. Data Definition Language
Polecenia :
CREATE definiowanie obiektw w bazie danych
ALTER - modyfikowanie obiektw w bazie danych
DROP - usuwanie obiektw z bazy danych
informatyka +
informatyka +*Cechy jzyka SQL
Przykad polecenia DDL :
CREATE TABLE Uczniowie (IdUcznia int IDENTITY(1,1) NOT NULL,Nazwisko varchar(50) NOT NULL,Imie varchar(50) NOT NULL,DataUrodzenia date NOT NULL,CzyChlopak bit NOT NULL,Pesel varchar(11) NULL,CONSTRAINT PK_uczniowie PRIMARY KEY CLUSTERED (IdUcznia ASC))
informatyka +
informatyka +*Cechy jzyka SQL
Jzyk Manipulacji Danymi DML (ang. Data Manipulation Language
Polecenia :INSERT wstawianie do tabeli nowych wierszy
UPDATE - modyfikowanie wierszy w tabeli
DELETE - usuwanie wierszy z tabeli
MERGE - zbiorcze modyfikowanie tabeli
SELECT pobieranie danych z tabel (zapytania)
informatyka +
informatyka +*Cechy jzyka SQL
Przykad polecenia DML :
INSERT INTO Uczniowie (Nazwisko, Imie, DataUrodzenia, CzyChlopak, Pesel) VALUES(Kot, Jan, 1991-07-12,true, 91071276538)
SELECT Nazwisko, Imie, PeselFROM UczniowieWHERE CzyChlopak=trueORDER BY nazwisko
informatyka +
informatyka +*Cechy jzyka SQL
Jzyk Kontroli Danych DCL (ang. Data Control Language)
Polecenia :
GRANT przydzielenie prawa do danych
REVOKE pozbawienie prawa do danych
DENY - bezwarunkowe pozbawienie prawa do danych
informatyka +
informatyka +*Cechy jzyka SQL
Praca z wykorzystaniem SQL moe by realizowana na kilka sposobw :
poprzez interaktywne zadawanie pyta do bazy (monitor),
budowanie skryptw (zbioru wsadowo wykonywanych zapyta w SQL),
osadzanie kodu (pojedynczych zapyta i caych procedur) SQL w innych jzykach programowania (na poziomie aplikacji),
procedur skadowanych (na poziome bazy danych).
informatyka +
Plan prezentacjiinformatyka +*
Krtka historia jzyka SQLCechy jzyka SQLPrzykadowa baza danychPodstawy zapyta - operacje na modelu relacyjnym Polecenie SELECT zapytania prostePolecenie SELECT czenie tabelPolecenie SELECT wykorzystanie funkcji agregujcychPolecenie SELECT zapytania zoonePolecenie SELECT co jeszcze potrafi?
informatyka +
Przykadowa baza danychinformatyka +*
informatyka +
Przykadowa baza danychPisanie zapyta w jzyku SQL wymaga dobrej znajomoci bazy danych do ktrej te zapytania si odnoszinformatyka +*
informatyka +
Plan prezentacjiinformatyka +*
Krtka historia jzyka SQLCechy jzyka SQLPrzykadowa baza danychPodstawy zapyta - operacje na modelu relacyjnym Polecenie SELECT zapytania prostePolecenie SELECT czenie tabelPolecenie SELECT wykorzystanie funkcji agregujcychPolecenie SELECT zapytania zoonePolecenie SELECT co jeszcze potrafi?
informatyka +
Podstawowe operacje realizowane na modelu relacyjnyminformatyka +*Realizacja zapyta opiera si na trzech podstawowych operacjach wykonywanych na modelu relacyjnym:
Operacja projekcji (zwana take rzutowaniem)
Operacja selekcji
Operacja czenia
informatyka +
Podstawowe operacje realizowane na modelu relacyjnyminformatyka +*Operacja projekcji
Tabela wyjciowaWykonanie operacji projekcjiTabela wynikowa po operacji projekcji
informatyka +
Podstawowe operacje realizowane na modelu relacyjnyminformatyka +*Operacja selekcji
Tabela wyjciowaWykonanie operacji selekcjiTabela wynikowaWarunek selekcjiIdklasy=2
informatyka +
Podstawowe operacje realizowane na modelu relacyjnyminformatyka +*Operacja czenia
Wykonanie operacji czeniaTabela wyjciowaTabela doczaniaTabela wynikowa
informatyka +
Podstawowe operacje realizowane na modelu relacyjnyminformatyka +*Przedstawione operacje wykonywane na modelu relacyjnym s podstawa realizacji zapyta
informatyka +
Plan prezentacjiinformatyka +*
Krtka historia jzyka SQLCechy jzyka SQLPrzykadowa baza danychPodstawy zapyta - operacje na modelu relacyjnym Polecenie SELECT zapytania prostePolecenie SELECT czenie tabelPolecenie SELECT wykorzystanie funkcji agregujcychPolecenie SELECT zapytania zoonePolecenie SELECT co jeszcze potrafi?
informatyka +
Polecenie SELECTinformatyka +*SELECT [TOP n] lista_kolumnFROM lista_tabelWHERE warunki_selekcjiGROUP BY lista_kolumn_grupowaniaHAVING warunek_selekcjiORDER BY lista_kolumn_porzadkowania
informatyka +
Polecenie SELECT- zapytania prosteinformatyka +*SELECT * FROM Uczniowie
Okrelona zostaa , w opcji FROM, tabela z ktrej pobieramy dane a znaczek * powoduje dostarczenie do wyniku zapytania wszystkich dostpnych w tabeli kolumnPrzykadowy wynik zapytania
informatyka +
Realizacja operacji projekcjiinformatyka +*SELECT Nazwisko, Imie, Pesel, CzyChlopakFROM Uczniowie
Okrelona zostaa , w opcji FROM, tabela z ktrej pobieramy dane i wymieniono liste kolumn, ktre maja si pojawi w wynikuPrzykadowy wynik zapytania
informatyka +
Realizacja operacji projekcji i selekcjiinformatyka +*SELECT Nazwisko, Imie, Pesel, CzyChlopakFROM UczniowieWHERE CzyChlopak=1
W klauzuli WHERE dodano warunek selekcjiPrzykadowy wynik zapytania
informatyka +
Porzdkowanie wyniku zapytaniainformatyka +*SELECT Nazwisko, Imie, Pesel, IdklasyFROM UczniowieWHERE Idklasy=1 OR Idklasy=2ORDER BY Idklasy ASC, Nazwisko DESC
Dodano klauzule ORDER BY realizujc porzdkowanie wyniku zapytania (opcja ASC rosnco, DESC malejco)Przykadowy wynik zapytania
informatyka +
Przeksztacanie danychinformatyka +*SELECT Nazwisko, Imie, Pesel, CASE CzyChlopak WHEN 1 THEN Mczyzna ELSE Kobieta END as PeFROM UczniowieWHERE Idklasy=2
Kolumna o nazwie Pe powstaa w wyniku przeksztacenia wartoci zapisanych w tabeliPrzykadowy wynik zapytania
informatyka +
Plan prezentacjiinformatyka +*
Krtka historia jzyka SQLCechy jzyka SQLPrzykadowa baza danychPodstawy zapyta - operacje na modelu relacyjnym Polecenie SELECT zapytania prostePolecenie SELECT czenie tabelPolecenie SELECT wykorzystanie funkcji agregujcychPolecenie SELECT zapytania zoonePolecenie SELECT co jeszcze potrafi?
informatyka +
informatyka +*Normalizacja podstawa projektowaniaFakturyI co tutaj nie gra Redundancja!!!!!!!!!!!!!!
IdfakturyNumerData_wNettoVatFirmaNipUlicaMiasto1234/0811.08.08 345.6771.22Wedel1234652789Nowa 3Warszawa243/0812.08.08763.00167.00Wedel1234652789Nowa 3Warszawa301/200815.08.08322.0068.65Zotex6573298722Mia 7Sopot411.08/122.09.08100.0022.00Koral5582998721Dobra 1Opole534w/0828.09.08882.00187.00Wedel1234652789Nowa 3Warszawa6987/0802.10.08250.5558.12Zotex6573298722Mia 7Sopot7002.0811.10.08891.00 201.15Zotex6573298722Mia 7Sopot
informatyka +
informatyka +*Normalizacja podstawa projektowaniaFakturyFirmyIdFirmy
1
2
3Idfirmy1
1
23
1
2
2Klucz obcy
IdfakturyNumerData_wNettoVat1234/0811.08.08 345.6771.22243/0812.08.08763.00167.00301/200815.08.08322.0068.65411.08/122.09.08100.0022.00534w/0828.09.08882.00187.006987/0802.10.08250.5558.127002.0811.10.08891.00 201.15
FirmaNipUlicaMiastoWedel1234652789Nowa 3WarszawaZotex6573298722Mia 7SopotKoral5582998721Dobra 1Opole
1Wedel1234652789Nowa 3Warszawa
1Wedel1234652789Nowa 3Warszawa
1Wedel1234652789Nowa 3Warszawa
2Zotex6573298722Mia 7Sopot
3Koral5582998721Dobra Warszawa
2Zotex6573298722Mia 7Sopot
2Zotex6573298722Mia 7Sopot
informatyka +
Operacja czeniainformatyka +*SELECT Uczniowie.* , Klasy.*FROM Uczniowie JOIN KlasyON Uczniowie.Idklasy=Klasy.Idklasy
Do wiersza opisujcego ucznia zosta doaczony odpowiedni wiersz z tabeli klasyPrzykadowy wynik zapytania
informatyka +
Operacja czeniainformatyka +*SELECT Uczniowie.Nazwisko, Uczniowie.Imie, CASE CzyChlopak WHEN 1 THEN Mczyzna ELSE Kobieta END as Pe, Klasy.Nazwa, Klasy.RokSzkolny FROM Uczniowie JOIN Klasy ON Uczniowie.Idklasy=Klasy.Idklasy WHERE YEAR(Uczniowie.DataUrodzenia)=1992 ORDER BY Pe, Nazwisko DESC
Zapytanie wykonujce operacje projekcji, selekcji, czenia, przeksztaca dane i porzdkuje wynik zapytaniaPrzykadowy wynik zapytania
informatyka +
Rozwizanie problemu Chcemy napisa zapytanie, ktre przygotuje wykaz uczniw (nazwisko i imi) oraz dane nauczyciela (nazwisko i imi oraz stopie zawodowy), ktry wystawi ocen i dat wystawienia oceny tym uczniom, ktrzy w roku 2009 otrzymali z fizyki ocen 5, wynik uporzdkowa malejco wedug daty wystawienia oceny.informatyka +*
informatyka +
Rozwizanie problemuSELECT Uczniowie.Nazwisko+ +Uczniowie.Imie AS Uczen, Nauczyciele.Nazwisko+ Nauczyciele.Imie AS Nauczyciel, Oceny.DataWystawienia, Oceny.OcenaFROM Uczniowie JOIN Oceny ON Uczniowie.Iducznia=Oceny.IdUcznia JOIN Nauczyciele ON Nauczyciele.IdNauczyciela=Oceny.IdNauczyciela JOIN Przedmioty ON Oceny.Idprzedmiotu=Przedmioty.IdprzedmiotuWHERE YEAR(DataWystawienia) =2009 AND Ocena=5 AND Przedmioty.Nazwa=FizykaORDER BY DataWystawienia DESCinformatyka +*
informatyka +
Rozwizanie problemuinformatyka +*Przykadowy wynik zapytania
informatyka +
Zczenie zewntrzneinformatyka +*Do tej pory, domylnie, realizowalimy tzw. zczenie wewntrzne czyli w wyniku zapytania pojawiay si tylko te wiersze dla ktrych speniony by warunek zczenia
SQL umoliwia wykonanie zczenia zewntrznego czyli umoliwia doczenie do wyniku zapytania take te wiersze dla ktrych warunek zczenia nie jest speniony
Zczenie zewntrzne omwimy na przykadzie
informatyka +
Zczenie zewntrzneinformatyka +*SELECT Uczniowie.Nazwisko, Uczniowie.Imie, Oceny.DataWystawienia, OcenaFROM Uczniowie LEFT OUTER JOIN Oceny ON Uczniowie.iducznia=Oceny.Iducznia AND Oceny.Ocena=2 AND YEAR(DataWystawienia)=2009 AND MONTH(DataWystawienia)=2Przygotujemy zapytanie w ktrym bd wszyscy uczniowie wraz z informacja kiedy otrzymali w lutym roku 2009 ocen miern
informatyka +
Zczenie zewntrzneinformatyka +*Przykadowy wynik zapytania
informatyka +
Plan prezentacjiinformatyka +*
Krtka historia jzyka SQLCechy jzyka SQLPrzykadowa baza danychPodstawy zapyta - operacje na modelu relacyjnym Polecenie SELECT zapytania prostePolecenie SELECT czenie tabelPolecenie SELECT wykorzystanie funkcji agregujcychPolecenie SELECT zapytania zoonePolecenie SELECT co jeszcze potrafi?
informatyka +
Funkcje agregujceinformatyka +*Zapytania SQL mog by take wykorzystane do wykonywania oblicze na podstawie danych zawartych w tabelach. Do tego celu su funkcje agregujce.
Jzyk SQL udostpnia pi podstawowych funkcji agregujcych;COUNT oblicza ilo wierszy otrzymanych w wyniku zapytania,SUM sumuje zawarto kolumny (lub wyraenia obliczonego na podstawie danych) dla wszystkich wierszy w wyniku zapytania, AVG oblicza redni arytmetyczn zawartoci kolumny (lub wyraenia obliczonego na podstawie danych) dla wszystkich wierszy w wyniku zapytania, MIN okrela warto minimaln dla kolumny w wyniku zapytania, MAX okrela warto maksymaln dla kolumny w wyniku zapytania.
informatyka +
Funkcje agregujceinformatyka +*SELECT COUNT(*) AS IluUczniowFROM Uczniowie
SELECT COUNT(*) AS IluUczniowFROM Uczniowie JOIN Klasy ON Uczniowie.idklasy=Klasy.idklasyWHERE Klasy.Nazwa='IIa'Funkcja agregujca uyta w zapytaniu powoduje, ze w wyniku otrzymujemy jeden wiersz z wynikiem dziaania funkcji agregujcej
informatyka +
Funkcje agregujce i grupowanie danychinformatyka +*SELECT Klasy.Nazwa, COUNT(*) AS IluUczniowFROM Uczniowie JOIN Klasy ON Uczniowie.idklasy=Klasy.idklasyGROUP BY Klasy.Nazwa
Wykorzystalimy klauzul GROUP BY w celu rozbicia dziaania funkcji agregujcej dla wierszy zawierajcych t sama warto dla kolumny Klasy.Nazwa
informatyka +
Funkcje agregujce i grupowanie danychinformatyka +*SELECT Uczniowie.Nazwisko, Uczniowie.Imie, AVG(Oceny.Ocen) as redniaFROM Uczniowie JOIN Oceny ON Uczniowie.Iducznia=Oceny.IdUcznia JOIN Uczniowie.Idklasy=Klasy.IdklasyWHERE YEAR(Oceny.DataWystawienia)=2009 AND Klasy.Nazwa=IIaGROUP BY Uczniowie.Nazwisko, Uczniowie.ImieORDER BY rednia DESC
Lista uczniw z klasy IIa oraz ich redni ocen otrzymanych w roku 2009
informatyka +
Funkcje agregujce i grupowanie danychinformatyka +*SELECT Uczniowie.Nazwisko, Uczniowie.Imie, AVG(Oceny.Ocen) as redniaFROM Uczniowie JOIN Oceny ON Uczniowie.Iducznia=Oceny.IdUcznia JOIN Uczniowie.Idklasy=Klasy.IdklasyWHERE YEAR(Oceny.DataWystawienia)=2009 AND Klasy.Nazwa=IIaGROUP BY Uczniowie.Nazwisko, Uczniowie.ImieHAVING AVG(Oceny.Ocena) > 3.00ORDER BY rednia
Lista uczniw z klasy IIa oraz ich redni ocen otrzymanych w roku 2009 - tylko ci uczniowie ktrych srednia przekracza 3.00Klauzul HAVING nazywamy opnionym warunkiem selekcji
informatyka +
Plan prezentacjiinformatyka +*
Krtka historia jzyka SQLCechy jzyka SQLPrzykadowa baza danychPodstawy zapyta - operacje na modelu relacyjnym Polecenie SELECT zapytania prostePolecenie SELECT czenie tabelPolecenie SELECT wykorzystanie funkcji agregujcychPolecenie SELECT zapytania zoonePolecenie SELECT co jeszcze potrafi?
informatyka +
Zapytania zooneinformatyka +*Polecenie SELECT jzyka SQL umoliwia zagniedanie zapyta, czyli wykorzystanie zapytania w wewntrz innego zapytania.
Dziki tej waciwoci mona za pomoc jednego polecenia wykonywa bardzo zoone operacje na danych.
Omwimy to, chcc przygotowa list uczniw (zawierajc nazwisko i imi ucznia oraz nazw klasy), ktrzy w roku 2009 nie otrzymali oceny niedostatecznej z fizyki.
Naley zwrci uwag na fakt, e chcemy pobra z bazy dane, ktre nie s bezporednio w niej zapisane, bo jeeli ucze nie otrzyma oceny to w bazie danych nie ma adnego zapisu tego faktu.
Rozwizujc ten problem korzystamy z pewnych zalenoci logicznych.
informatyka +
Zapytania zooneinformatyka +*Pomylmy o tym problemie jako o dziaaniu na nastpujcych zbiorach: A zbir wszystkich uczniw,
B zbir uczniw, ktrzy otrzymali w roku 2009 ocen niedostateczn z fizyki,
C poszukiwany zbir uczniw, ktrzy w roku 2009 nie otrzymali oceny niedostatecznej z fizyki.
Wyraenie: C = A B opisuje rozwizanie naszego problemu, czyli poszukiwany zbir moemy otrzyma jako rnic dwch innych zbiorw.
informatyka +
Zapytania zooneinformatyka +*SELECT Uczniowie.Nazwisko, Uczniowie.Imie, Klasy.Nazwa,FROM Uczniowie JOIN Klasy ON Uczniowie.idklasy=Klasy.idklasy Zapytanie tworzce zbir A
(SELECT DISTINCT Iducznia FROM Oceny JOIN Przedmioty ON Oceny.Idprzedmiotu=Przedmioty.Idprzedmiotu WHERE Przedmioty.Nazwa=Fizyka AND YEAR(Oceny.DataWystawienia)=2009 AND Oceny.Ocena=2)Zapytanie tworzce zbir BWHERE Iducznia NOT IN Warunek rnicy zbiorw
informatyka +
informatyka +*Pokazalimy jeden przykad zapytania zoonego, pokazujcy dodatkowe moliwoci, jakimi dysponujemy przy pisaniu zapyta do baz danych z wykorzystaniem jzyka SQL.
Trudno wymieni wszystkie sytuacje, w ktrych mona wykorzystywa podzapytania ale jest jedna zasada oglna:
Podzapytanie moe by wykorzystane wszdzie tam, gdzie ma sens wynik tego podzapytaniaZapytania zoone
informatyka +
Plan prezentacjiinformatyka +*
Krtka historia jzyka SQLCechy jzyka SQLPrzykadowa baza danychPodstawy zapyta - operacje na modelu relacyjnym Polecenie SELECT zapytania prostePolecenie SELECT czenie tabelPolecenie SELECT wykorzystanie funkcji agregujcychPolecenie SELECT zapytania zoonePolecenie SELECT co jeszcze potrafi?
informatyka +
Co jeszcze potrafi??informatyka +*SELECT Klasy.Nazwa, Klasy.RokSzkolny FROM Klasy FOR XML AUTO,ROOT('ListaKlas'),ELEMENTS
Tworzenie wyniku zapytania w jzyku XML
Ia 2008/2009 IIa 2008/2009 Ib 2008/2009 IIb 2008/2009
informatyka +
Co jeszcze potrafi??informatyka +*Operacje na zbiorach danych z wykorzystaniem operatorw UNION, EXCEPT i INTERSECTSELECT Nazwisko, Imie, Pesel FROM UczniowieWHERE idklasy=1 UNIONSELECT Nazwisko, Imie, Pesel FROM UczniowieWHERE idklasy=2
informatyka +
Co jeszcze potrafi??informatyka +*Zapytanie, ktre przygotuje list uczniw z klasy o id klasy=1 za wyjtkiem tych, ktrzy urodzili si w marcu
SELECT Nazwisko, Imie, Pesel FROM UczniowieWHERE idklasy=1 EXCEPTSELECT Nazwisko, Imie, Pesel FROM UczniowieWHERE MONTH(DataUrodzenia)=3
informatyka +
Co jeszcze potrafi??informatyka +*Zapytanie, ktre przygotuje list uczniw urodzonych w marcu, ktrych nazwisko zaczyna si na liter KSELECT Nazwisko, Imie, Pesel FROM UczniowieWHERE MONTH(DataUrodzenia)=3 INTERSECTSELECT Nazwisko, Imie, Pesel FROM UczniowieWHERE nazwisko LIKE K%
informatyka +
Co jeszcze potrafi??informatyka +*Tabele przestawneSELECT * FROM(SELECT Przedmioty.Nazwa as Przedmiot, Klasy.Nazwa as Klasa, Oceny.OcenaFROM Klasy Join Uczniowie ON Klasy.idklasy=Uczniowie.idklasy Join Oceny ON Oceny.iducznia=Uczniowie.iducznia Join Przedmioty ON Przedmioty.idprzedmiotu=Oceny.idprzedmiotu ) as A PIVOT (AVG(Ocena) FOR Klasa in ([Ia],[IIa],[IIc])) as B
informatyka +
Co jeszcze potrafi??informatyka +*Tabele przestawne
informatyka +
PodsumowaniePrzedstawilimy podstawowe moliwoci jzyka SQL a w szczeglnoci polecenia SELECT
Standard jzyka SQL cigle jest rozwijany i wzbogacany o nowe moliwoci
informatyka +*
informatyka +
informatyka +*Dzikuj za uwag a moe pytania ????
informatyka +
Wykad wprowadza do tematyki baz danych. W ramach wykadu zaprezentowane zostanie wprowadzenie do relacyjnego modelu danych.Zdefiniowane zostan pojcia : dane, informacja, wiedza oraz baza danych. Pojcia podstawowe : tabela relacyjna, cechy tabeli relacyjnej, klucz podstawowy i klucz obcy.Przedstawione zostanie pojcie Systemu Zarzdzania Bazami Danych.Pokazane zostan anomalie zwizane z modyfikacj danych i sposoby ich rozwizywania.Omwione zostan przykady korzystania z baz danych.
*Na pocztku wykadu naley wprowadzi kilka podstawowych definicji. Rozpoczynamy od definicji danych jako znakw, teksw, liczb i ronych symboli, ktre zamierzamy przechowywa w celu pniejszego wykorzystania. Powyszy slajd ma uzasadnia tez, e zapisywanie danych bez pewnego okrelonego porzdku jest czynnoci bezcelow i w dalszej czci wykadu teza ta bdzie uzasadniania. *Historia relacyjnego modelu danych rozpocza si w roku 1970 wraz z publikacj E.F.Codda pt. A Relational Model of Data for Large Shared Data Banks. ( pol. Relacyjny model danych dla duych wspdzielonych bankw danych). Ten artyku wzbudzi due zainteresowanie, poniewa przedstawia moliwoci realizacji i praktyczne zastosowania komercyjnego systemu baz danych Praca ta stworzya teoretyczne podstawy budowania baz danych w oparciu o relacyjne podejcie do jej modelowania. Opublikowana teoria bardzo szybko zainteresowaa potencjalnych twrcw i producentw systemw zarzdzania bazami danych. Droga od teorii do praktyki bywa czsto duga i wyboista ale w tym przypadku, ze wzgldu na pilne potrzeby rynku, przebiegaa do szybko i sprawnie. Jednym z podstawowych wyzwa byo opracowanie sposobu komunikowania si i korzystania z relacyjnych baz danych, czyli opracowanie specjalnego jzyka programowania. W ramach prac nad jzykiem do obsugi baz danych, prowadzonych w firmie IBM, w roku 1974 powsta jzyk SEQUEL (ang. Structured English Query Language Stukturalny Angielski Jzyk Zapyta), ktry nastpnie zosta rozwinity i nazwany SQL (ang. Structured Query Language Strukturalny Jzyk Zapyta) zmiana nazwy wynikaa ze sporu prawnego o zastrzeon nazw SEQUEL. Pod koniec lat 70-tych XX wieku, firma ORACLE wypucia na rynek pierwszy komercyjny system zarzdzania bazami danych oparty o SQL. W latach 80-tych i 90tych, ubiegego wieku, trwa burzliwy rozwj baz danych opartych na modelu relacyjnym i jzyku SQL. *Poniewa wielu producentw zaczo tworzy rozwizania baz danych oparte o model relacyjny i jzyk SQL powstawao ryzyko, e u rnych producentw jzyk SQL bdzie rozwija si inaczej. Rozwizaniem tego problemu byo zdefiniowanie standardw jzyka SQL przez organizacj ISO (ang. International Organization for Standarization) i ANSI (ang. American National Standards Institute). Definiowanie standardu naley traktowa jako wytyczne dla producentw systemw, w jakim kierunku rozwija kolejne opracowania jzyka SQL, jakie nowe elementy mog zosta wprowadzone do jzyka i jak system baz danych powinien realizowa operacje zwizane z definiowaniem baz danych i ich eksploatacj. Obecnie jzyk SQL jest powszechnie stosowanym jzykiem komunikacji z bazami danych w systemach opartych o relacyjny model danych,. Krtka historia standardw jzyka SQL :1986: pierwszy standard SQL (SQL-86),1989: nastpny standard SQL (SQL-89),1992: kolejna, wzbogacona wersja standardu (SQL-92 lub SQL 2),1999: wdroenie nastpnej wersji standardu rozszerzonego o pewne cechy obiektowoci (SQL 3)2003: Kolejne rozszerzenie standardu (m.in. wczenie do standardu jzyka XML) SQL 4Jzyk SQL jest nadal rozwijany i trudno przewidzie, jakie kierunki rozwoju zostan wybrane, za odpowiedzi na to pytanie dostarcza bd kolejne wersje standardu.*Na pocztku wykadu naley wprowadzi kilka podstawowych definicji. Rozpoczynamy od definicji danych jako znakw, teksw, liczb i ronych symboli, ktre zamierzamy przechowywa w celu pniejszego wykorzystania. Powyszy slajd ma uzasadnia tez, e zapisywanie danych bez pewnego okrelonego porzdku jest czynnoci bezcelow i w dalszej czci wykadu teza ta bdzie uzasadniania. *Na pocztku wykadu naley wprowadzi kilka podstawowych definicji. Rozpoczynamy od definicji danych jako znakw, teksw, liczb i ronych symboli, ktre zamierzamy przechowywa w celu pniejszego wykorzystania. Powyszy slajd ma uzasadnia tez, e zapisywanie danych bez pewnego okrelonego porzdku jest czynnoci bezcelow i w dalszej czci wykadu teza ta bdzie uzasadniania. *Na pocztku wykadu naley wprowadzi kilka podstawowych definicji. Rozpoczynamy od definicji danych jako znakw, teksw, liczb i ronych symboli, ktre zamierzamy przechowywa w celu pniejszego wykorzystania. Powyszy slajd ma uzasadnia tez, e zapisywanie danych bez pewnego okrelonego porzdku jest czynnoci bezcelow i w dalszej czci wykadu teza ta bdzie uzasadniania. *Na pocztku wykadu naley wprowadzi kilka podstawowych definicji. Rozpoczynamy od definicji danych jako znakw, teksw, liczb i ronych symboli, ktre zamierzamy przechowywa w celu pniejszego wykorzystania. Powyszy slajd ma uzasadnia tez, e zapisywanie danych bez pewnego okrelonego porzdku jest czynnoci bezcelow i w dalszej czci wykadu teza ta bdzie uzasadniania. *Na pocztku wykadu naley wprowadzi kilka podstawowych definicji. Rozpoczynamy od definicji danych jako znakw, teksw, liczb i ronych symboli, ktre zamierzamy przechowywa w celu pniejszego wykorzystania. Powyszy slajd ma uzasadnia tez, e zapisywanie danych bez pewnego okrelonego porzdku jest czynnoci bezcelow i w dalszej czci wykadu teza ta bdzie uzasadniania. *Na pocztku wykadu naley wprowadzi kilka podstawowych definicji. Rozpoczynamy od definicji danych jako znakw, teksw, liczb i ronych symboli, ktre zamierzamy przechowywa w celu pniejszego wykorzystania. Powyszy slajd ma uzasadnia tez, e zapisywanie danych bez pewnego okrelonego porzdku jest czynnoci bezcelow i w dalszej czci wykadu teza ta bdzie uzasadniania. *Na pocztku wykadu naley wprowadzi kilka podstawowych definicji. Rozpoczynamy od definicji danych jako znakw, teksw, liczb i ronych symboli, ktre zamierzamy przechowywa w celu pniejszego wykorzystania. Powyszy slajd ma uzasadnia tez, e zapisywanie danych bez pewnego okrelonego porzdku jest czynnoci bezcelow i w dalszej czci wykadu teza ta bdzie uzasadniania. *Na pocztku wykadu naley wprowadzi kilka podstawowych definicji. Rozpoczynamy od definicji danych jako znakw, teksw, liczb i ronych symboli, ktre zamierzamy przechowywa w celu pniejszego wykorzystania. Powyszy slajd ma uzasadnia tez, e zapisywanie danych bez pewnego okrelonego porzdku jest czynnoci bezcelow i w dalszej czci wykadu teza ta bdzie uzasadniania. *Na pocztku wykadu naley wprowadzi kilka podstawowych definicji. Rozpoczynamy od definicji danych jako znakw, teksw, liczb i ronych symboli, ktre zamierzamy przechowywa w celu pniejszego wykorzystania. Powyszy slajd ma uzasadnia tez, e zapisywanie danych bez pewnego okrelonego porzdku jest czynnoci bezcelow i w dalszej czci wykadu teza ta bdzie uzasadniania. *Na pocztku wykadu naley wprowadzi kilka podstawowych definicji. Rozpoczynamy od definicji danych jako znakw, teksw, liczb i ronych symboli, ktre zamierzamy przechowywa w celu pniejszego wykorzystania. Powyszy slajd ma uzasadnia tez, e zapisywanie danych bez pewnego okrelonego porzdku jest czynnoci bezcelow i w dalszej czci wykadu teza ta bdzie uzasadniania. *Na pocztku wykadu naley wprowadzi kilka podstawowych definicji. Rozpoczynamy od definicji danych jako znakw, teksw, liczb i ronych symboli, ktre zamierzamy przechowywa w celu pniejszego wykorzystania. Powyszy slajd ma uzasadnia tez, e zapisywanie danych bez pewnego okrelonego porzdku jest czynnoci bezcelow i w dalszej czci wykadu teza ta bdzie uzasadniania. *Na pocztku wykadu naley wprowadzi kilka podstawowych definicji. Rozpoczynamy od definicji danych jako znakw, teksw, liczb i ronych symboli, ktre zamierzamy przechowywa w celu pniejszego wykorzystania. Powyszy slajd ma uzasadnia tez, e zapisywanie danych bez pewnego okrelonego porzdku jest czynnoci bezcelow i w dalszej czci wykadu teza ta bdzie uzasadniania. *Na pocztku wykadu naley wprowadzi kilka podstawowych definicji. Rozpoczynamy od definicji danych jako znakw, teksw, liczb i ronych symboli, ktre zamierzamy przechowywa w celu pniejszego wykorzystania. Powyszy slajd ma uzasadnia tez, e zapisywanie danych bez pewnego okrelonego porzdku jest czynnoci bezcelow i w dalszej czci wykadu teza ta bdzie uzasadniania. *Na pocztku wykadu naley wprowadzi kilka podstawowych definicji. Rozpoczynamy od definicji danych jako znakw, teksw, liczb i ronych symboli, ktre zamierzamy przechowywa w celu pniejszego wykorzystania. Powyszy slajd ma uzasadnia tez, e zapisywanie danych bez pewnego okrelonego porzdku jest czynnoci bezcelow i w dalszej czci wykadu teza ta bdzie uzasadniania. *Na pocztku wykadu naley wprowadzi kilka podstawowych definicji. Rozpoczynamy od definicji danych jako znakw, teksw, liczb i ronych symboli, ktre zamierzamy przechowywa w celu pniejszego wykorzystania. Powyszy slajd ma uzasadnia tez, e zapisywanie danych bez pewnego okrelonego porzdku jest czynnoci bezcelow i w dalszej czci wykadu teza ta bdzie uzasadniania. *Na pocztku wykadu naley wprowadzi kilka podstawowych definicji. Rozpoczynamy od definicji danych jako znakw, teksw, liczb i ronych symboli, ktre zamierzamy przechowywa w celu pniejszego wykorzystania. Powyszy slajd ma uzasadnia tez, e zapisywanie danych bez pewnego okrelonego porzdku jest czynnoci bezcelow i w dalszej czci wykadu teza ta bdzie uzasadniania. *Na pocztku wykadu naley wprowadzi kilka podstawowych definicji. Rozpoczynamy od definicji danych jako znakw, teksw, liczb i ronych symboli, ktre zamierzamy przechowywa w celu pniejszego wykorzystania. Powyszy slajd ma uzasadnia tez, e zapisywanie danych bez pewnego okrelonego porzdku jest czynnoci bezcelow i w dalszej czci wykadu teza ta bdzie uzasadniania. *I na tej definicji powinnimy zakoczy wprowadzanie podstawowych poj i definicji. W przypadku okrelania spoeczestwa informacyjnego naley szczeglna uwag zwrci na fakt, e nowoczesne spoeczestwa i gospodarki opieraj si na informacji i wiedzy a take na umiejtnociach wykorzystania danych do pozyskiwania informacji i zdobywania wiedzy. Po wprowadzeniu podstawowych definicji przechodzimy do zagadnie zwizanych z podstawowym tematem wykadu czyli do baz danych a w szczeglnoci do baz danych opartych na modelu relacyjnym.*