��Politechnika Krakowska im Tadeusza Ko[ciuszki
WydziaB Fizyki, Matematyki i Informatyki
Kierunek: Informatyka
studia I stopnia, semestr IV
Podstawy baz danych
Kurs e-learningowy
przeznaczony dla student�w I stopnia
kierunku INFORMATYKA
WYKAAD 7
Jzyk SQL, funkcje grupowe, tworzenie
tabel
autor: dr in|. StanisBawa Plichta
autor: dr in|. StanisBawa Plichta
Funkcje grupowe
Funkcje grupowe
WykBad 7:
WykBad 7:
Operator Opis PrzykBad
Operator Opis PrzykBad
SELECT AVG(koszt) AS
Zwraca warto[ [redni
AVG([DISTINCT|
AVG([DISTINCT| [ZredniKoszt FROM
ignorujc warto[ci puste
wypo|yczenia ;
ALL] num)
ALL] num)
�pokazuje [rednia arytmetyczn z kolumny koszt'
z tabeli wypo|yczenia
w nowej kolumnie 'ZredniKoszt'
autor: dr in|. StanisBawa Plichta
autor: dr in|. StanisBawa Plichta
Funkcje grupowe
Funkcje grupowe
WykBad 7:
WykBad 7:
Operator Opis PrzykBad
Operator Opis PrzykBad
Zwraca liczb wierszy SELECT COUNT(*) AS
COUNT(*)
COUNT(*)
tabeli, wBczajc [Wszystko] FROM
powtarzajce si r�wne Samochody
SELECT COUNT(ID_SAM)
Zwraca liczb wierszy,
COUNT([DISTINCT|
COUNT([DISTINCT|
AS [LiczbaSamochodow]
w kt�rych expr nie jest
ALL] expr) FROM Samochody
ALL] expr)
r�wne NULL
�pokazuje liczb wszystkich samochodow z tabeli samochody w
nowej kolumnie o nazwie LiczbaSamochodow
autor: dr in|. StanisBawa Plichta
autor: dr in|. StanisBawa Plichta
Funkcje grupowe
Funkcje grupowe
WykBad 7:
WykBad 7:
Operator Opis PrzykBad
Operator Opis PrzykBad
SELECT MAX(koszt_dnia) AS
Zwraca max warto[
MAX([DISTINCT|
MAX([DISTINCT| [NajdrozszySamochod]
wyra|enia
FROM samochody
ALL] expr)
ALL] expr)
�pokazuje najwy|sz warto[ z kolumny koszt_dnia z tabeli samochody w nowej
kolumnie NajdrozszySamochod
autor: dr in|. StanisBawa Plichta
autor: dr in|. StanisBawa Plichta
Funkcje grupowe
Funkcje grupowe
WykBad 7:
WykBad 7:
Operator Opis PrzykBad
Operator Opis PrzykBad
SELECT MIN(koszt_dnia)
Zwraca minimaln
MIN([DISTINCT|
MIN([DISTINCT|
AS [NajtaDszySamochod]
warto[ wyra|enia
ALL] expr) FROM samochody
ALL] expr)
�pokazuje najmniejsz warto[ z kolumny koszt_dnia z tabeli samochody w
nowej kolumnie NajtaDszySamochod
autor: dr in|. StanisBawa Plichta
autor: dr in|. StanisBawa Plichta
Funkcje grupowe
Funkcje grupowe
WykBad 7:
WykBad 7:
Operator Opis PrzykBad
Operator Opis PrzykBad
SELECT SUM(koszt_dnia *
SUM([DISTINCT|
SUM([DISTINCT|
30) AS [Warto[CaBkowita]
Zwraca sum
ALL] num) FROM Samochody
ALL] num)
warto[ci num
�pokazuje zsumowan warto[ zakup�w czyli sum iloczynu koszt_dnia przez
liczb dni w miesicu z tabeli 'Zam�wienia' w nowej kolumnie
'Warto[CaBkowita'
autor: dr in|. StanisBawa Plichta
autor: dr in|. StanisBawa Plichta
Funkcje grupowe
Funkcje grupowe
WykBad 7:
WykBad 7:
Operator Opis PrzykBad
Operator Opis PrzykBad
SELECT
Zwraca wariancj
VARIANCE
VARIANCE
VARIANCE(zarobki)
warto[ci num ignorujc
"Wariancja" FROM
([DISTINCT|
([DISTINCT|
warto[ci NULL
pracownicy
ALL] num)
ALL] num)
�w wyniku powstaje nowa kolumna 'Wariancja' z warto[ci r�wn wariancji
populacji z kolumny 'zarobki' z tabeli 'pracownicy'
autor: dr in|. StanisBawa Plichta
autor: dr in|. StanisBawa Plichta
Funkcje grupowe
Funkcje grupowe
WykBad 7:
WykBad 7:
Operator Opis PrzykBad
Operator Opis PrzykBad
SELECT
Zwraca odchylenie
STDDEV
STDDEV
STDDEV(Zarobki)
standardowe warto[ci
"Odchylenie" FROM
([DISTINCT|
([DISTINCT|
num ignorujc warto[ci
Pracownicy
NULL
ALL] num)
ALL] num)
w wyniku tworzy kolumn 'Odchylenie' ze standardowym odchyleniem�
populacji obliczanym z pola 'Zarobki' z tabeli 'Pracownicy'
autor: dr in|. StanisBawa Plichta
autor: dr in|. StanisBawa Plichta
DML jzyk modelowania danych
DML jzyk modelowania danych
WykBad 7:
WykBad 7:
SELECT- wydobywa dane z tabel
UPDATE- uaktualnia dane w tabeli
DELETE- kasuje dane z tabeli
INSERT INTO - wprowadza dane do tabeli
autor: dr in|. StanisBawa Plichta
autor: dr in|. StanisBawa Plichta
DDL jzyk definicji danych
DDL jzyk definicji danych
WykBad 7:
WykBad 7:
CREATE TABLE - tworzy now tabel
ALTER TABLE - zmienia istniejc tabel
DROP TABLE - kasuje istniejc tabel
CREATE INDEX - tworzy indeks
DROP INDEX - usuwa indeks
autor: dr in|. StanisBawa Plichta
autor: dr in|. StanisBawa Plichta
DDL jzyk definicji danych
DDL jzyk definicji danych
WykBad 7:
WykBad 7:
" TrwaBe tabele bazowe - zawarto[ jest przechowywana w
TrwaBe tabele bazowe
bazie danych na staBe
" Globalne tabele tymczasowe do przechowywania w bazie
Globalne tabele tymczasowe
tymczasowych danych, s kasowane przy zamykaniu sesji
SQL-a, nale|y je wypeBni danymi przed ich u|yciem, mog
by wykorzystywane tylko przez jednego u|ytkownika, ale s
widoczne dla caBej sesji SQL-a.
" Lokalne tabele tymczasowe widzi je tylko moduB
Lokalne tabele tymczasowe
programowy, w kt�rym zostaBy one utworzone
autor: dr in|. StanisBawa Plichta
autor: dr in|. StanisBawa Plichta
Wybrane typy danych
Wybrane typy danych
WykBad 7:
WykBad 7:
W Oracle jest bardzo wiele typ�w danych
Typ numeryczny
mo|e przechowywa typy rzeczywiste oraz
Number(P,S)
caBkowite. P oznacza ilo[ cyfr w caBej liczbie,
natomiast S oznacza ilo[ miejsc po przecinku
Typy znakowe
Przechowuje staB ilo[ znak�w
Char(L)
zadeklarowan jako parametr L. L musi by
mniejsze ni| 256. PrzykBadowo je[li do kolumny
typu Char(100) wstawimy pojedyncz liter,
przechowywane bdzie 100 znak�w. Warto[
zostanie uzupeBniona do 100 spacjami.
autor: dr in|. StanisBawa Plichta
autor: dr in|. StanisBawa Plichta
Wybrane typy danych
Wybrane typy danych
WykBad 7:
WykBad 7:
Typy znakowe
Dane tego typu zajmuj dokBadnie tyle miejsca
Varchar2(L)
ile zostanie przypisanych znak�w. Parametr L
okre[la maksymaln ilo[ znak�w. L musi by
mniejsze od 4000.
Ze wzgldu na optymalizacj, dane tekstowe
zazwyczaj przechowuje si w typie Varchar2.
W u|ytku codziennym u|ywa si typu Char
raczej sporadycznie i tylko wtedy gdy zachodzi
taka konieczno[.
Posiada wBasno[ci takie jak VARCHAR2,
Long
jednak mo|e przechowywa do 2 GB tekstu.
autor: dr in|. StanisBawa Plichta
autor: dr in|. StanisBawa Plichta
Wybrane typy danych
Wybrane typy danych
WykBad 7:
WykBad 7:
Inne typy
Typ zachowujcy si jak CHAR(L), jednak sBu|y do
Raw(L)
przechowywania danych binarnych.
Odpowiednik typu Long, tylko do przechowywania
Long raw
danych binarnych.
Przechowuje informacje o wieku, roku, miesicu,
Date
dniu, godzinie, minucie oraz sekundzie.
Typ zbli|ony do Date. Przechowuje dodatkowo do L
Timestamp(L)
miejsc po przecinku sekundy.
L nie mo|e by wiksze ni| 9.
SBu| do przechowywania bardzo du|ych plik�w. Ze
BLOB, CLOB,
wzgldu na ich wysok wydajno[ zaleca si
BFILE
korzystanie z tych typ�w zamiast typ�w LONG i
LONG RAW.
autor: dr in|. StanisBawa Plichta
autor: dr in|. StanisBawa Plichta
CREATE TABLE - tworzenie tabel
CREATE TABLE - tworzenie tabel
WykBad 7:
WykBad 7:
CREATE TABLE <�table-name>
CREATE TABLE
( <�attr1-name> <�data-type> <�ograniczenia,
<�attr2-name > <�data-type> <�ograniczenia> , ...
[PRIMARY KEY ( attr-name [ , attr-name ] ... ) ],
PRIMARY KEY
[FOREIGN KEY ( attr-name [ , attr-name ] ... )
FOREIGN KEY
[REFERENCES <�table-name> (<�attr-name>) ] );
REFERENCES
autor: dr in|. StanisBawa Plichta
autor: dr in|. StanisBawa Plichta
CREATE TABLE - tworzenie tabel
CREATE TABLE - tworzenie tabel
WykBad 7:
WykBad 7:
" Aby zdefiniowa w nowo utworzonej tabeli klucz
podstawowy, dodajemy do wyra|enia
CREATE TABLE
klauzul
PRIMARY KEY (nazwa kolumny)
" SZBD o zgodno[ci z SQL92 wymagaj zadeklarowania
wszystkich kolumn wchodzcych w skBad klucza
podstawowego jako NOT NULL
autor: dr in|. StanisBawa Plichta
autor: dr in|. StanisBawa Plichta
CREATE TABLE - tworzenie tabel
CREATE TABLE - tworzenie tabel
WykBad 7:
WykBad 7:
" Standard SQL89 umo|liwia wprowadzenie do tabel kluczy obcych i
przerzucenie odpowiedzialno[ci za integralno[ referencyjn na SZBD
" Aby wskaza w tworzonej tabeli klucz obcy, dodajemy do jej deklaracji
klauzul FOREIGN KEY
FOREIGN KEY nazwa klucza obcego (kolumny klucza obcego)
FOREIGN KEY
REFERENCES tabela klucza podstawowego (kolumny klucza
podstawowego)
ON UPDATE czynno[ podejmowana przy modyfikacji
ON DELETE czynno[ podejmowana przy usuwaniu
autor: dr in|. StanisBawa Plichta
autor: dr in|. StanisBawa Plichta
CREATE TABLE podejmowane czynno[ci
CREATE TABLE podejmowane czynno[ci
WykBad 7:
WykBad 7:
SET NULL zastp wskazan warto[ klucza obcego przez
NULL. Operacja ta nie jest mo|liwa, je[li klucz obcy wchodzi
jednocze[nie w skBad klucza podstawowego swojej tabeli
SET DEFAULT zastp wskazan warto[ klucza obcego przez
warto[ domy[ln
CASCADE - skasuj lub zmodyfikuj wszystkie wiersze
zawierajce wskazan warto[ klucza obcego
NO ACTION (tylko modyfikacja) nie wprowadzaj zmian do
warto[ci klucza obcego
RESTRICT (tylko kasowanie) nie dopu[ do skasowania
wiersza zawierajcego wskazan warto[ klucza
podstawowego
autor: dr in|. StanisBawa Plichta
autor: dr in|. StanisBawa Plichta
Dodatkowe ograniczenia kolumn
Dodatkowe ograniczenia kolumn
WykBad 7:
WykBad 7:
|danie unikatowych warto[ci je[li chcemy, aby
wszystkie warto[ci w kolumnie nie wchodzcej w skBad
klucza podstawowego r�|niBy si midzy sob, nale|y
doBczy do deklaracji kolumny sBowo kluczowe
UNIQUE
Klauzula UNIQUE mo|e r�wnie| zosta umieszczona na
koDcu wyra|enia CREATE TABLE, obok deklaracji klucza
podstawowego i kluczy obcych - UNIQUE (nazwa
kolumny)
predykaty w klauzulach CHECK je[li chcemy
wprowadzi nowe ograniczenia, w miejsce konkretnej
warto[ci
autor: dr in|. StanisBawa Plichta
autor: dr in|. StanisBawa Plichta
PrzykBad E-dziennik
PrzykBad E-dziennik
WykBad 7:
WykBad 7:
autor: dr in|. StanisBawa Plichta
autor: dr in|. StanisBawa Plichta
PrzykBad E-dziennik
PrzykBad E-dziennik
WykBad 7:
WykBad 7:
��
Tabela Uczniowie przechowuje dane wszystkich uczni�w w
szkole
��
Tabela Nauczyciele przechowuje dane wszystkich
nauczycieli
��
Tabele Przedmioty i Rodzaje klasyczne tabele sBownikowe,
w kt�rych s przechowywane nazwy przedmiot�w i nazwy
rodzaj�w ocen
��
Tabela Oceny to najwa|niejsza tabela bazy danych, w kt�rej
s zapisywane wystawiane oceny w niej znajduj si cztery
klucze obce: iducznia, idnauczyciela, idrodzaju oraz
idprzedmiotu.
��
Tabela Nieobecnosci przechowuje dane opisujce
nieobecno[ci uczni�w na zajciach
autor: dr in|. StanisBawa Plichta
autor: dr in|. StanisBawa Plichta
PrzykBad tworzenia tabeli UCZEN
PrzykBad tworzenia tabeli UCZEN
WykBad 7:
WykBad 7:
CREATE TABLE UCZEN
(
Iducznia NUMBER(4) CONSTRAINT Iducznia PRIMARY KEY,
Nazwisko VARCHAR2(15) CONSTRAINT Nazwisko NOT
NULL,
Imie VARCHAR2(15) CONSTRAINT Imie NOT NULL,
DataUrodzenia DATE,
Plec VARCHAR2(1),
Pesel VARCHAR2(11) CONSTRAINT Pesel NOT NULL,
Idklasy NUMBER(4), CONSTRAINT Idklasy REFERENCES
klasy(Idklasy),
);
autor: dr in|. StanisBawa Plichta
autor: dr in|. StanisBawa Plichta
Wyszukiwarka
Podobne podstrony:
Wyklad 8 Jezyk SQL skladnia najwazniejszych polecenWyklad 9 Jezyk SQL obsluga struktury?zy?nych indeksy widokiJęzyk SQL tworzenie tabel ( tworzenie tabel sql kurs mysql ) webmade orgduzynska język a świadomość odrębności grupowej2 Jezyk SQL0202 04 03 2009, wykład nr 2 , Budowa i funkcje błony komórkowej oraz transport przez błony(1)historia logiki, język, jego funkcje, nazwy, wyrażenia, funktory, związki logiczneJezyk SQL podstawy zapytanJęzyk SQL dodawanie rekordów ( dodawanie rekordów sql kurs mysql ) webmade orgJęzyk SQL usuwanie rekordów ( usuwanie rekordów delete sql kurs mysql ) webmade orgMS SQL Server 6 5 Zarządzanie i tworzenie widokówJęzyk SQL aktualizacja rekordów ( aktualizacja rekordów update sql kurs mysql ) webmade orgWyklad 10 Oczyszczanie i funkcje białekSem 1 Wykład Rachunek Całkowy Funkcji Jednej Zmiennej cz 1więcej podobnych podstron