Wyklad niest uzup systemybaz 1

background image

LITERATURA

Systemy baz danych. Pełny wykład H. Garcia Molina, Jeffrey D. Ullman,
Jennifer Widom;WNT Warszawa 2006

Wprowadzenie do systemów baz danych Ramez Elmasri, Shamkant B.Navathe

Helion 2005

SQL ALMANACH opis poleceń języka Kewin Kline, Daniel Kline; Helion 2002

Oracle 9i Kompletny podręcznik użytkownika Michał Lentner;
Wydawnictwo PJWSTK Warszawa 2003

SQL leksykon kieszonkowy Jonathan Gennick; Helion 2004

http://wazniak.mimuw.edu.pl

(

Kilka różnych sposobów traktowania baz danych

)

Baza danych

to

zestaw danych

model fragmentu świata rzeczywistego

element składowy systemu informatycznego lub jego zasób

algebra BD = < D , O >

gdzie struktury danych plus operacje na danych decydują o modelu danych

dane i oprogramowanie

umożliwiające dostęp do danych oraz ich zarządzanie

1

background image

w rozumieniu informatycznym:

Baza danych – zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje

dane

cyfrowe

gromadzone zgodnie z zasadami przyjętymi dla danego

programu komputerowego

specjalizowanego do gromadzenia i

przetwarzania tych danych. Program taki (często pakiet programów) nazywany jest

systemem zarządzania bazą danych

(

ang.

database management system, DBMS).

Źródło http://pl.wikipedia.org/wiki/Baza_danych

definicja prawna:

Baza danych oznacza zbiór danych lub jakichkolwiek innych materiałów i elementów zgromadzonych według określonej
systematyki lub metody, indywidualnie dostępnych w jakikolwiek sposób, w tym środkami elektronicznymi, wymagający
istotnego, co do jakości lub ilości, nakładu inwestycyjnego w celu sporządzenia, weryfikacji lub prezentacji jego zawarto-
ści.

Źródło: USTAWA z dnia 27 lipca 2001 r. o ochronie baz danych // Dz.U. z 2001 r. Nr 128, poz. 1402. –

Model danych

( pojęcie niezbyt jednoznaczne, którego znaczenie jest wypadkową takich cech )

Kazimierz Subieta- Słownik terminów

z zakresu obiektowości

metajęzyk (pojęcia, terminologia ) do mówienia o danych, systemach baz danych i przetwarzaniu

sposób rozumienia organizacji danych

języki opisu i przetwarzania danych, diagramy struktur danych, języki zapytań

ogólne założenia dotyczące architektury systemu bazy danych

ograniczenia, ideologie lub teorie matematyczne dotyczące struktur danych i dostępu do danych

2

background image

Model danych

jako architektura systemów baz danych; obejmuje

język definicji danych

język operowania danymi

więzy spójności i integralności danych

jest odwzorowaniem istniejącej lub projektowanej struktury zbiorów informacji dla konkretnego systemu informatycznego

zastosowany model danych w istotny sposób wpływa na przebieg projektu informatycznego oraz jego efekt końcowy –
system informatyczny oparty na bazie danych

Modele baz danych

prosty ( system plików )

relacyjny ( obecnie najczęściej spotykany )

 struktury danych są relacjami w sensie matematycznym ( reprezentacja tabel )
 przetwarzanie danych odbywa się w języku wysokiego poziomu ( deklaratywny język SQL )

relacyjno – obiektowy

obiektowy

semistrukturalny

Baza danych

spójny zestaw danych i metadanych zbudowany w oparciu o model danych, na którym można wykonywać
określone operacje ( aspekt składniowy i operacyjny )

reprezentuje pewien fragment świata rzeczywistego ( aspekt semantyczny )

jest projektowana, tworzona i utrzymywana z punktu widzenia przydatności dla określonych zastosowań i
grupy użytkowników ( aspekt pragmatyczny )

3

background image

Wymagania stawiane bazą danych

abstrakcja danych

integralność danych

współdzielenie danych

bezpieczeństwo danych

niezależność danych

trwałość danych

System Zarządzania Bazą Danych

( Database Management System DBMS )

Zestaw oprogramowania obejmujący :

 jądro systemu

gromadzenie, utrzymywanie i administrowanie masowymi zbiorami danych

sprawny dostęp do danych ( optymalizacja pamięci i czasu dostępu do danych )

zarządzanie współbieżnością i spójnością ( jednoczesny dostęp do danych przez wielu użytkowników )

bezpieczeństwo danych ( autoryzacja )

 interfejsy

linia poleceń

graficzny interfejs użytkownika

 dodatkowo

środki programistyczne - API dla popularnych języków programowania

narzędzia dla środowisk rozproszonych

Uwagi:

System Zarządzania Bazą Danych współpracuje z systemem operacyjnym; wspiera określony model danych

4

background image

Użytkownicy baz danych

administratorzy

analitycy

projektanci i programiści

użytkownicy końcowi

Interakcja z bazą danych

interfejsy użytkownika

o prosty w trybie tekstowym ( linia poleceń; interpreter języka obsługi baz danych )
o graficzny interfejs ( typu BUILDER )

aplikacje typu FORMULARZ, RAPORT i inne

Architektury komunikacyjne z systemem baz danych

klient - serwer,

3 – warstwowa

Podział systemów baz danych

kryteria podziału:

 wykorzystywany model danych
 liczba węzłów / baz danych

o bazy scentralizowane
o bazy rozproszone

 cel stosowania :

o przetwarzanie transakcyjne ( On – Line Transaction Processing – OLTP )
o przetwarzanie analityczne ( On – Line Analytical Processing – OLAP )
o wspomaganie projektowania ( Computer Aide Design – CAD )
o systemy informacji geograficznej ( Geographical Information Systems – GIS )
o wytwarzanie oprogramowania ( Computer Aide Software Engineering – CASE )

5

background image

SQL ( Structured Query Language )

 język do obsługi baz danych
 deklaratywny
 ustandaryzowany
 optymalizowany
obejmuje

zapytania ( wyszukiwanie danych)

tworzenie struktur danych i ich modyfikacje – DDL

aktualizację danych – DML

kontrolę danych - DCL

SELECT [ DISTINCT ] co ? FROM skąd ( źródło danych )

[ WHERE warunek logiczny dla wierszy ]

[ GROUP BY kryterium grupowania

[ HAVING warunek logiczny dla grup ] ]

[ ORDER BY kryterium porządkowania ] ;

INSERT INTO Nazwa_tabeli

VALUES ( lista wartości dla wszystkich kolumn tabeli ) ;

INSERT INTO Nazwa_tabeli ( Nazwa_kol1 , Nazwa_kol2 , Nazwa_kol3 )

VALUES ( wartość_dla_kol1 , wartość_dla_kol2 ,

wartość_dla_kol3 ) ;

INSERT INTO Nazwa_tabeli [(Nazwa_kol1 , Nazwa_kol2 , ..) ]

SELECT . . . ;

UPDATE Nazwa_tabeli SET Nazwa_kol1 [ , Nazwa_kol2 ] ={ wyrażenie | podzapytanie }

[ WHERE warunek logiczny dla wierszy ] ;

6

background image

DELETE FROM Nazwa_tabeli [ WHERE warunek logiczny dla wierszy ] ;

CREATE TABLE

Nazwa_tabeli

( Nazwa_kol1 typ_danych [ ( rozmiar ) ] [ więzy spójności kolumny1 ]
[
, Nazwa_kol2 typ_danych [ (rozmiar) ] ... ] [ więzy spójności tabeli ] ) ;

CREATE TABLE Nazwa_tabeli [ ( Nazwa_kol1 , Nazwa_kol2 ... ) ]

AS
SELECT ... ;

ALTER TABLE Nazwa_tabeli { ADD Nazwa_kol . . . | ADD CONSTRAINT . . . |

DROP COLUMN . . . | DROP CONSTRAINT . . .|
MODIFY Nazwa_kol . . . };

DROP TABLE Nazwa_tabeli ;

CREATE [ OR REPLACE ] VIEW Nazwa_perspektywy [ Nazwa_kol1 , Nazwa_kol2 … ]

AS SELECT . . .
[ WITH CHECK OPTION | WITH READ ONLY ] ;

COMMIT ;
ROLLBACK;

Cechy języka SQL

interpretowany

optymalizowany

Braki

obsługi zdarzeń i sytuacji wyjątkowych

funkcji i procedur użytkownika

definiowania złożonych ograniczeń integralnościowych

7

background image

Proceduralny SQL

Transact- SQL używany przez Microsoft SQL Server
PL/pgSQL- zaimplementowany przez PostgreSQL

PL/SQL – (ang. Procedural Language/Structured Query Language)

Proceduralne rozszerzenie języka SQL do pisania aplikacji w Oracle

język proceduralny; kompilowany

wykorzystuje typowe konstrukcje programistyczne; pętle, decyzje

ma strukturę blokową

każda instrukcja bloku PL/SQL jest zakończona średnikiem

operator przypisania to :=

bloki mogą być zagnieżdżone

jedynymi poleceniami języka SQL, które mogą pojawić się w bloku PL/SQL są:

INSERT, UPDATE, DELETE , SELECT ( zmiany w składni) oraz obsługi transakcji

obsługuje wszystkie typy SQL , oraz swoje dodatkowe typy np. BOOLEAN, RECORD, TABLE

Blok anonimowy

[ DECLARE

deklaracje obiektów; zmienne, stałe, wyjątki,…]

BEGIN
ciąg instrukcji do wykonania ;
[ EXCEPTION

obsługa wyjątków

]

END ;

Przykłady deklaracji

Znak CHAR(1);
Wynagrodzenie NUMBER( 7,2 );
Pi CONSTANT NUMBER(7,5) :=
3.14159 ;
Nazwa VARCHAR2( 10 ) := ‘DRUKARKA’ ;
Termin DATE := Sysdate ;
Stan_cywilny BOOLEAN := FALSE ;
Brak_danych EXCEPTION ;

8

background image

Nazwisko_osoby podatnicy.nazwisko%TYPE ;
Osoba_rekord podatnicy%ROWTYPE ;

Instrukcje sterujące

IF warunek_logiczny THEN
blok instrukcji ;
END IF ;

IF warunek_logiczny THEN
blok_1 instrukcji ;
ELSE
blok_2 instrukcji END IF ;

IF warunek_logiczny_1 THEN
blok_1 instrukcji ;
ELSIF
warunek_logiczny_2 THEN
blok_2 instrukcji ;
END IF ;

CASE
WHEN
warunek_logiczny_1 THEN blok_1 instrukcji ;
WHEN
warunek_logiczny_2 THEN blok_2 instrukcji ;
. . .
[ ELSE blok_n instrukcji ] ;
END CASE ;

LOOP
blok instrukcji ;
( w tym EXIT lub EXIT WHEN warunek logiczny)
END LOOP ;

FOR

zmienna IN

wartość_1

..

wartosc_2

LOOP

blok instrukcji ;

END LOOP

;

9

background image

WHILE warunek logiczny
LOOP
blok instrukcji ;
END LOOP ;

Wyjątek

zdarzenie (błąd lub ostrzeżenie), które może wystąpić w czasie wykonywania bloku PL/SQL.

kiedy wyjątek jest podnoszony, następuje przerwanie normalnego toku działania programu i

przeniesienie do sekcji EXCEPTION, w celu wykonania instrukcji przewidzianych do
obsługi danej sytuacji.

istnieje grupa wyjątków predefiniowanych np. NO_DATA_FOUND, TOO_MANY_ROWS . . .

przykład

SET SERVEROUTPUT ON
BEGIN
LOOP
EXIT WHEN

(

to_char

(

sysdate,

'ss'

)

=

'25'

)

;

END LOOP ;
DBMS_OUT.put_line

(

'Nadeszla 25 sekunda'

)

;

END ;

przykład

CREATE TABLE Tymczasem
(Kol VARCHAR2(12));

DECLARE
v_day VARCHAR2(15);
BEGIN
FOR i IN 2013..2020 LOOP
FOR j IN 01..12 LOOP
v_day := TO_CHAR(TO_DATE('13-' || j || '-' || i, 'DD-MM-YYYY'), 'DAY');
IF (
v_day LIKE 'PIĄTEK%') THEN
INSERT INTO
Tymczasem VALUES ('13-' || j || '-' || i);

10

background image

END IF;
END LOOP;
END LOOP;
DBMS_OUTPUT.put_line('KONIEC');
END;

11


Wyszukiwarka

Podobne podstrony:
SiS strona tytulowa spr, Prz inf 2013, I Semestr Informatyka, Fizyka, Wykłady-Fizyka, Sygnały i Syst
2)WYKŁAD 5 ROZWÓJ ŚWIATOWYCH SYSTEMÓW ZARZĄDZANIA PROEKOLOGICZNEGO
Ubezpieczenia gospodarcze wyklady(1), FINANSE I RACHUNKOWOŚĆ, System Ubezpieczeń
Ekologiczne Systemy Chowu i Żywienia Zwierząt - Wykład 03, WYKŁAD III- EKOLOGICZNE SYSTEMY CHOWU I Z
Kosci - wyklad II uzup, Weterynaria Lublin, Weterynaria 1, Radiologia
Wyklady wspólczesne, Współczesne systemy resocjalizacji
Ekologiczne Systemy Chowu i Żywienia Zwierząt - Wykład 08, WYKŁAD VIII- EKOLOGICZNE SYSTEMY CHOWU I
Wykład III Logika systemów cyfrowych synteza układów kombinacyjnych
Wyklad nr 12 Systemy obrony zespolowej
ETP wyklad 12 elektroniczne systemy pomiaru katow
SBD wyklad 4, student - informatyka, Systemy Baz Danych
SBD wykład 2, student - informatyka, Systemy Baz Danych
SBD wykład 3, student - informatyka, Systemy Baz Danych
Ekologiczne Systemy Chowu i Żywienia Zwierząt - Wykład 07, WYKŁAD VII- EKOLOGICZNE SYSTEMY CHOWU I Z
wykłady, + DOKUMENTY, Partie i systemy partyjne
WYKŁAD 9 KRYTERIA DOBORU SYSTEMU WYBIERANIA
Wykład niest PopShrekkicz
SBD wykład 1, student - informatyka, Systemy Baz Danych

więcej podobnych podstron