Bazy Danych
Europejska Wyższa Szkoła Informatyczno-
Ekonomiczna
Mgr inż. Piotr Greniewski
Wykład 7: Operacje na danych
Copyright by Piotr Greniewski
2
Spis treści
Bazy danych wstęp
Geneza relacyjnych baz danych
Podstawy relacyjnych baz danych
Podstawy-SQL-1
Podstawy-SQL-2
Podstawy-SQL-3
Operacje na danych
Transakcje i blokady
Normalizacja
Copyright by Piotr Greniewski
3
Operacje manipulowania danymi
Specjalne typy danych unikalne dla
PostgreSQL
Box – prostokątna ramka
cidr lub inet – Adres internetowy np.:
212.244.251.140
Line – Zbiór punktów
Point – geometryczna para liczb
Lseg – Odcinek linii
polygon – zamknięty kształt geometryczny
Copyright by Piotr Greniewski
4
Operacje manipulowania danymi
Tworzenie własnych typów – istnieje
instrukcja CREATE TYPE służąca do tworzenia
własnych typów. Ponieważ jest to z poza SQL
standard więc stosowanie kłopotliwe.
Typy tablicowe – z poza SQL standard
instrukcja CREATE TABLE test(
refcode CHAR(5),
dni_pracujące[] )
Copyright by Piotr Greniewski
5
Operacje manipulowania danymi
Typy tablicowe – z poza SQL standard
instrukcja
CREATE TABLE praca
(
refcode CHAR(5),
dni_pracujące[ ]
);
INSERT INTO praca VALUES( ‘val01’, ‘{0,1,0,1,1,0,0};
SELECT * FROM praca;
SELECT dni_pracujące[2] FROM praca;
Copyright by Piotr Greniewski
6
Operacje manipulowania danymi
Konwersje pomiędzy typami
CAST (nazwa_kolumny AS definicja_typu)
lub
nazwa_kolumny :: definicja_typu
SELECT CAST (data_zakupu AS CHAR(10) )
FROM zakupy;
SELECT data_zakupu :: CHAR(10)
FROM zakupy;
Copyright by Piotr Greniewski
7
Operacje manipulowania danymi
Funkcja
Opis
lenght(nazwa_kolumny)
Zwraca długość ciągu znaków
trim(nazwa_kolumny)
Usuwa wiodące i kończące spacje
strpos(nazwa_kolumny,ciąg_znakó
w)
Zwraca pozycję ciągu znaków w
kolumnie
substr(nazwa_kolumny,pozycja,dług
ość)
Zwraca ciąg znaków o długości
długość, począwszy od pozycji
pozycja
round(nazwa_kolumny, dokładność) Zwraca liczbę z ilością cyfr po
przecinku dokładność
abs(liczba)
Zwraca wartość bezwzględną
liczby
Copyright by Piotr Greniewski
8
Operacje manipulowania danymi
Cztery magiczne zmienne:
CURRENT_DATE – 2003-01-26
CURRENT_TIME – 22:10:12
CURRENT_TIMESTAMP – 2003-01-26 22:10:12
CURRENT_USER - postgres