Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Bazy danych podsumowanie
2
Modelowanie danych
3
Ontologia Dziedzina metafizyki, która para się badaniem i wyjaśnianiem natury jak i kluczowych właściwości oraz relacji rządzących wszelakimi bytami bądź głównymi zasadami i przyczynami bytu jak można wszystko poklasyfikować?, jakie klasy bytów są niezbędne do opisu i wnioskowania na temat zachodzących procesów? jakie klasy bytu pozwalają wnioskować o prawdzie? na podstawie jakich klas bytu można wnioskować o przyszłości?
4
Byt Wszystko co jest może być bytem: kot Mruczek, Andrzej Macioł, towar w sklepie, indeks studenta itd. Konstruując ontologię formułujemy zestaw komunikatów, którymi możemy opisać byty, np.: kot Mruczek ma cztery łapy
5
Kategoryzacja Umiejętność zaliczania obiektów do pewnych klas (kategorii, pojęć) Kot Mruczek ma cztery łapy, sierść, ogon itd. ale takie same cechy mają kot Pimpuś, Gienek itd. Wystarczy przyjąć, że istnieje pojęcie (kategoria) kot charakteryzująca się tym, że obiekty do niej należące mają cztery łapy, sierść i ogon itd.
6
Hierarchizacja Koty rodzą się żywe i piją mleko matki ale to samo dotyczy np. psów, które kotami nie są Możemy wprowadzić pojęcie ssaki, które obejmuje zarówno koty jak i psy Wystarczy wówczas powiedzieć że Mruczek jest kotem by wiedzieć o nim wszystko to co dotyczy kotów i ssaków
7
Model danych Dana - symboliczna reprezentacja pewnego faktu opisującego rzeczywistość Dane poszerzone o semantykę to informacje Obiekt to niepodzielna jednostka danych, która opisywana być może krotką<nawa obiektu, cecha obiektu, wartość cechy> Krotka, zwana czasem n-tką, to uogólnienie pary (dwójki), trójki, czwórki, itd. na dowolną liczbę elementów. Krotka n-elementowa to uporządkowany skończony zbiór elementów (lista pewnych obiektów) przy czym kolejne elementy krotki nie muszą należeć do tego samego zbioru.
8
Związki Związek to trwała lub tymczasowa zależność występująca pomiędzy obiektami i możliwa do zapisania w modelu danych W niektórych przypadkach używane jest pojęcie asocjacji wskazujące na możliwość kojarzenia ze sobą pewnych obiektów lub pojęcie relacji Reguły opisujące konsekwencje wynikające z charakteru związku nazywać będziemy więzami
9
Zasady modelowania danych
każdy obiekt opisywany jest przez zestaw cech (atrybutów) z jednoznacznie określoną dziedziną, użytecznych z punktu widzenia wartości informacyjnej ontologii każdy obiekt w tej samej kategorii musi być opisany zgodnie z tym samym wzorcem (choć w niektórych przypadkach nie wszystkie atrybuty obiektu muszą być podane) musi istnieć możliwość rozróżnienia obiektów, które w rzeczywistości są różne musi istnieć możliwość przedstawienia związków jakie zachodzą lub mogą zajść pomiędzy obiektami musi istnieć możliwość wprowadzenia do modelu dodatkowych ograniczeń wartości cech wynikających ze związków danych a nie tylko z dziedziny wartości atrybutów
10
Abstrakcja Z abstrakcją mamy do czynienia, gdy wychodząc od rzeczy jednostkowych, konkretnych i indywidualnych dochodzimy, przez proces uogólniania i poszukiwania cech stałych i wspólnych, do pojęcia tak ogólnego, że w swej ogólności wręcz absurdalnego, gdyż nie posiadającego żadnej konkretnej cechy Mówimy o dwóch sposobach stosowania abstrakcji. Pierwszy z nich to uogólnienie a drugi to agregacja
11
Uogólnienie Uogólnienie polega na próbie klasyfikacji i generalizacji opisów pewnych obiektów (wystąpień) i tworzeniu z nich bardziej ogólnych zbiorów cech (opisów) Uogólnianie cech obiektów prowadzące do stworzenia kategorii jest także abstrakcją W modelowaniu danych abstrakcję tą nazywamy nie uogólnieniem ale klasyfikacją
12
Agregacja Agregacja polega na traktowaniu obiektu lub kategorii (typu) jako zbioru składowych obiektów lub kategorii Agregacja to nie tylko wskazanie z jakich atrybutów składa się opis obiektu ale także jakie obiekty tworzą obiekt o bardziej złożonej strukturze
13
Uogólnienie i agregacja
Oba sposoby abstrakcji wykorzystujemy często łącznie Jest to konieczne w wielu przypadkach gdy dokonujemy abstrakcji na poziomie nie tylko obiektów ale także kategorii Na różnym poziomie abstrakcji różny będzie charakter związków i więzi
14
Model danych i kolekcja danych
Schemat to zbiór definicji w pewnym modelu danych W odniesieniu do baz danych pojęcie schemat jest traktowane jako identyczne z pojęciem części intensjonalnej Łączny zbiór danych zgodnych ze schematem nazywany jest częścią ekstensjonalną bazy danych Podział na część intensjonalną i ekstensjonalną dotyczy wszystkich poziomów abstrakcji modelu
15
Modele danych Model konceptualny – spojrzenie na dane jako całość, model najbardziej stabilny, powinien on być podstawą, na której opierać się będzie przetwarzanie danych Model wewnętrzny, niskiego poziomu – opisuje sposób przechowywania danych w pamięci komputerów i przedstawia formaty rekordów czy ścieżki dostępu, modelami takimi są metody adresowania, struktury łańcuchowe i pierścieniowe
16
Modele danych Modele użytkowe – stanowią podstawę do budowy systemu informatycznego: hierarchiczny sieciowy relacyjny obiektowy
17
Relacyjny model danych
18
Podstawowe pojęcia Relacja jest podzbiorem iloczynu kartezjańskiego dziedzin A1, A2,..An. Iloczyn kartezjański oznacza się następująco: A1 A2 An Zawiera on n-tki (a1, a2,..an) nazywane krotkami takie, że a1A1, a2 A2,... dn An
19
Klucz Minimalny zbiór identyfikujący
Taki zbiór atrybutów relacji, których kombinacje wartości jednoznacznie identyfikują każdą krotkę tej relacji a żaden podzbiór tego zbioru nie posiada tej własności W kluczu nie może zawierać się wartość Null
20
Klucz Klucz jest kluczem prostym, jeżeli powyżej opisany zbiór jest jednoelementowy - w przeciwnym razie mówimy o kluczu złożonym W ogólności, w relacji można wyróżnić wiele kluczy, które nazywamy kluczami potencjalnymi. Wybrany klucz spośród kluczy potencjalnych nazywamy kluczem głównym (Primary Key PK)
21
Zależność funkcjonalna
Atrybut B relacji R jest funkcjonalnie zależny od atrybutu A jeżeli dowolnej wartości a atrybutu A odpowiada nie więcej niż jedna wartość b atrybutu B
22
Zależność funkcjonalna
Niech X i Y będą podzbiorami zbioru atrybutów relacji R X{A1...AN}, Y{A1...AN} podzbiór atrybutów Y zależy funkcyjnie od podzbioru atrybutów X, jeżeli nie jest możliwe, by relacja R zawierała dwie krotki mające składowe zgodne tzn. identyczne dla wszystkich atrybutów ze zbioru X i jednocześnie co najmniej jedną niezgodną składową dla atrybutów ze zbioru Y
23
Zależność wielowartościowa
Podzbiór atrybutów Y jest wielowartościowo funkcjonalnie zależny od podzbioru X w schemacie R, jeżeli dla dowolnej relacji r w schemacie R i dla dowolnej pary krotek t1 i t2 z relacji r istnieje taka para krotek że: s1[X]=s2[X]=t1[X]=t2[X] i s1[Y]= t1[Y] i s1[R-X-Y]=t2[R-X-Y] i s2 [Y]= t2[Y] i s2 [R-X-Y]=t1[R-X-Y]
24
Zależność wielowartościowa
X Y R-X-Y krotka Nazwisko Imię dziecka Znajomość języków t1 Kot Ania niemiecki t2 Jaś angielski s1 s2 Słoń Ola
25
Zależność wielowartościowa
t1[X]=t2[X]=s1[X]=s2[X]=(Kot) s1[Y]= t1[Y]=(Ania) i s1[R-X-Y]=t2[R-X-Y]=(angielski) i s2 [Y]= t2[Y]=(Jaś) i s2 [R-X-Y]=t1[R-X-Y]=(niemiecki)
26
Dekompozycja schematu
zastępujemy zbiorem (niekoniecznie rozłącznych) schematów relacji takich, że każdy schemat Ri stanowi podzbiór zbioru atrybutów i
27
Pierwsza postać normalna
Jedynymi relacjami dozwolonymi w modelu relacyjnym są relacje spełniające następujący warunek: każda wartość w relacji, tj. każda wartość atrybutu w każdej krotce, jest wartością atomową (wartością nie rozkładalną) (lPN) oznacza, że tabela nie zawiera powtarzających się grup informacji, co znaczy, że każda kolumna jest wartością skalarną (atomową), a nie macierzą lub listą czy też czymkolwiek, co posiada własną strukturę
28
Druga postać normalna Relacja jest w drugiej postaci normalnej, jeśli każdy atrybut tej relacji nie wchodzący w skład żadnego klucza potencjalnego jest w pełni funkcyjnie zależny wyłącznie od wszystkich podrelacji klucza głównego
29
Trzecia postać normalna
Relacja jest w trzeciej postaci normalnej, jeśli: jest w drugiej postaci normalnej żaden atrybut nie będący kluczem nie jest funkcjonalnie związany z żadnym innym atrybutem nie będącym również kluczem
30
Forma normalna Boyce-Codd’a
Jest uzupełnieniem trzeciej postaci normalnej i jest niezbędna w przypadku gdy atrybuty będące kandydatami na klucze są: wielokrotne, złożone, nakładające się na siebie
31
Forma normalna Boyce’a-Codd’a
Relacja jest w postaci Boyce-Codd’a jeżeli dla każdej nietrywialnej zależności między podzbiorami relacji zbiór będący wyznacznikiem jest zbiorem identyfikującym tej relacji Zależność X →Y jest trywialna jeżeli Y jest podzbiorem X Definicja BCNF zastępuje definicje, pierwszej, drugiej i trzeciej formy normalnej dodatkowo je poszerzając
32
Więzi Więź (ang. relationship) to powiązanie pomiędzy parą tabel. Istnieje ona wtedy, gdy dwie tabele są połączone przez klucz podstawowy i klucz obcy. Każda więź jest opisywana przez typ więzi istniejący między dwoma tabelami, typ uczestnictwa oraz stopień uczestnictwa tych tabel
33
Algebra relacji
34
Kategorie w algebrze relacji
Zwyczajne działania algebry zbiorów: suma, przecięcie i różnica Operacje zawężenia: selekcja eliminuje pewne wiersze, a rzutowanie pewne kolumny Operacje komponowania krotek z różnych relacji: np. iloczyn kartezjański Operacje przemianowania nie zmieniające krotek ale schemat ich relacji
35
Operacja rzutowania Tworzy nową relację z relacji R przez usunięcie z niej pewnych kolumn
36
Selekcja nie zmieniając schematu relacji R tworzy nową relację zawierającej podzbiór krotek R spełniających pewien logiczny warunek gdzie C to wyrażenie warunkowe na jednym lub więcej atrybutach
37
Iloczyn kartezjański (inaczej produkt) relacji R i S to relacja wszystkich uporządkowanych par krotek, z których pierwszy element pary należy do relacji R a drugi do S Schemat relacji RS jest sumą schematów relacji R i S, w której powtarzające się atrybuty (kolumny) traktowane są jako odrębne elementy schematu, np. R.A i S.A
38
Złączenie naturalne polega na połączeniu w pary tych krotek z relacji R i S, które mają identyczne wartości dla wszystkich wspólnych atrybutów i jest oznaczane R S w rezultacie powstaje relacja, której schemat zawiera atrybuty relacji R i relacji S, przy czym wspólna część uwzględniana jest tylko raz
39
Złączenie teta polega na złączeniu dwóch relacji R i S w iloczyn kartezjański i wyborze z niego tych krotek, które spełniają wyrażenie warunkowe na parze lub zbiorze par atrybutów z R i S
40
Równozłączenie to szczególny przypadek złączenia teta, w którym warunek ma charakter równości wybranych atrybutów obu relacji powtarzające się kolumny opisujące atrybuty z warunku złączenia są pomijane
41
Typy złączeń złączenie wewnętrzne (inner join) – w relacji wynikowej występują wyłącznie te krotki, które spełniają warunek złączenia złączenie lewostronne zewnętrzne (left outer join) – zawiera wszystkie krotki R uzupełnione krotkami S spełniającymi warunek złączenie prawostronne zewnętrzne (right outer join) - zawiera wszystkie krotki S uzupełnione krotkami R spełniającymi warunek
42
Typy złączeń - ciąg dalszy
złączenie zewnętrzne pełne (full outer join) – zawiera wszystkie krotki R oraz S uzupełnione wartościami typu NULL gdy do danej krotki nie pasuje żadna krotka z drugiej relacji złączenie zewnętrzne typu UNION - zawiera wszystkie krotki R uzupełnione krotkami S, przy czym krotki wspólne prezentowane są tylko raz
43
Bazy danych - SQL
44
Składowe SZBD Jądro SZBD realizuje podstawowe funkcje związane z przechowywaniem danych, kontrolą współbieżności itp. Interfejs zawiera na ogół pewien język baz danych, np. SQL Zbiór dodatkowych narzędzi oprogramowania do tworzenia systemów informacyjnych
45
Języki baz danych język definicji danych (ang. Data Definition Language, DLL) języki selektywnego dostępu do danych – języki zapytań języki operowania na danych (ang. Data Manipulation Language, DML)
46
Języki zapytań Interfejsy typu zapytanie przez przykład (ang. Query by Example - QBE), szblony (formularze, strony WWW) Structured Query Language (SQL), języki algebraiczne języki predykatowe (o zmiennych atrybutowych i krotkowych) DATALOG (język zbliżony do PROLOGu ale nieproceduralny i bez termów)
47
Środowisko SQL Interaktywny SQL – użytkownik wpisuje polecenie i wysyła bezpośrednio do interpretatora zapytań, który wykonuje odpowiednie działania w jądrze SZBD i ewentualnie zwraca wirtualną tabelę z odpowiedzią Osadzony SQL – jest nakładką na język proceduralny, którego rozkazy mogą uruchamiać w sposób statyczny lub dynamiczny zapytania
48
Hierarchia obiektów w SQL 2
KATALOGI SCHEMATY TABELE I PERSPEKTYWY KOLUMNY I WIERSZE
49
Typy danych Teksty o stałej lub zmiennej długości: CHAR(n) – tekst o ustalonej długości n, VARCHAR(n) – tekst o zmiennej długości nie większej niż n; Ciągi binarne o stałej lub zmiennej długości: BIT(n) – ciąg bitów o ustalonej długości n, BIT VARYING(n) – ciąg bitów odługości co najwyżej n Typowe wartości całkowite INT (INTEGER) lub SHORTINT (SMALLINT)
50
Typy danych Liczby zmiennopozycyjne: REAL - liczba zapisana w postaci wykładniczej o pojedynczej precyzji, FLOAT – podobna do REAL ale, w niektórych implementacjach można określić precyzję, DOUBLE PRECISION – jak REAL ale zwiększona precyzja Liczby stałopozycyjne: NUMERIC(n,m) – liczba składająca się z n znaków w tym m po przecinku, DECIMAL(n,m) – podobny do NUMERIC ale dopuszczający większą dokładność
51
Typy danych Daty i czas: DATE – data zapisana w formacie określonym przez implementacje, TIME – czas zapisany w dostępnym standardzie, TIMESTAMP – połączenie daty i czasu Inne typy specyficzne dla implementacji: np. BOOL w MySql czy INTERVAL YEAR TO MONTH (n) w Oracle 9i
52
Ograniczenia Ograniczenie można zadać poprzez zdefiniowanie warunku logicznego, w tym także takiego, które sięga do innych tabel lub poprzez standardowego ograniczenia: NOT NULL lub UNIQUE CREATE TABLE towar ( symbol_towaru CHAR(5) NOT NULL UNIQUE DEFAULT ‘XXXXX’ CHECK (SUBSTRING(VALUE, FROM 1 FOR 1) = ‘S’), ....
53
Indeksy Indeks jest strukturą danych umożliwiającą szybki dostęp do krotek pewnej tabeli według jednej lub kilku kolumn Indeks zawiera kopie wybranych wartości kolumn ze związanej tabeli uszeregowane, tak by łatwiej było ją przeszukiwać CREATE [UNIQUE] INDEX nazwa_indeksu ON nazwa_tabeli (nazwy_kolumn_klucza) CREATE UNIQUE INDEX symbol_nazwa_towaru ON towar (symbol_towaru, nazwa_towaru)
54
Proste zapytania Odpowiednikiem operacji selekcji jest instrukcja SELECT wraz z słowami kluczowymi FROM i WHERE SELECT kolumna1, kolumna2, ... FROM tabela1, tabela2, ... WHERE kryteria wyboru
55
Rzutowanie w SQL SELECT SymbolTowaru, NazwaTowaru FROM `towar`
WHERE SymbolTowaru LIKE 'R%' | SymbolTowaru | NazwaTowaru | | RZ | Rura zgrz. fi 6,3 gr 0,2 | | RZ | Rura zgrz. fi 12,6 gr 0,2 | | RZ | Rura zgrz. fi 6,3 gr 0,3 | | RZ | Rura zgrz. fi 12,6 gr 0,3 | | RZ | Rura zgrz. kw 4 gr 0,2 | | RZ | Rura zgrz. kw 5 gr 0,3 |
56
Warunki selekcji i porządkowanie
SELECT NrZamowienia, DataZamowienia FROM Zamowienie WHERE NrZamowienia LIKE '____2004' AND DataZamowienia > ' ' ORDER BY DataZamowienia DESC | NrZamowienia | DataZamowienia | | 005/ | :00:00 | | 003/ | :00:00 | | 004/ | :00:00 | | 002/ | :00:00 |
57
Operatory logiczne i specjalne
AND - koniunkcja OR - alternatywa NOT - zaprzeczenie BETWEEN a AND b – zawarty pomiędzy a i b LIKE – podobny do IN – zawarty w zbiorze IS NULL – ma wartość NULL
58
Operatory logiczne i specjalne
SELECT NrZamowienia, DataZamowienia FROM Zamowienie WHERE DataZamowienia BETWEEN ' ' AND ' ' AND NrZamowienia IN ('003/2004', '004/2004') | NrZamowienia | DataZamowienia | | 003/ | :00:00 | | 004/ | :00:00 |
59
Złączenia
60
Obliczenia i grupowanie
Operatory arytmetyczne: + suma, - różnica * mnożenie / dzielenie +/- operatory unarne (zachowaj/ zmień znak) Inne operacje realizowane są przy użyciu funkcji charakterystycznych dla dialektu, np. power(X,Y), log(X), log10(X) w MySQL
61
Operacje na zbiorach COUNT zwraca liczbę wierszy
SUM zwraca sumę wartości danej kolumny we wszystkich wierszach ze zbioru AVG zwraca średnią wartość danej kolumny we wszystkich wierszach ze zbioru MIN zwraca najmniejszą wartość danej kolumny we wszystkich wierszach ze zbioru MAX zwraca największą wartość danej kolumny we wszystkich wierszach ze zbioru
62
Zapytania grupujące SELECT NazwaKLienta, DATE_FORMAT(DataZamowienia, '%Y %m %d') AS Data, SUM(Ilosc*Cena) AS Wartosc FROM Klient JOIN Zamowienie USING (IdKlienta) JOIN LiniaZamowienia USING (IdZamowienia) GROUP BY NazwaKlienta, DataZamowienia ORDER BY NazwaKLienta, DataZamowienia | NazwaKLienta | Data | Wartosc | | FH Klin SA | | | | FH Klin SA | | | | Firma Krok Sp zoo | | | | Rower Polska SA | | | | STALHANDEL | | |
63
Modyfikowanie danych
64
Wstawianie wierszy INSERT INTO Klient
(NazwaKlienta, Telefon, KodPocztowy, Miejscowosc, Ulica, NrDomuMieszkania, ) VALUES('Nowy klient', ' ', '30-333', 'Bolechowice', 'Jurajska', | IdKlienta | NazwaKlienta | Telefon | | | STALHANDEL | | | | Firma Krok Sp zoo | | | | PHPU OSA | | | | Rower Polska SA | | | | FH Klin SA | | | | Nowy klient | |
65
Kopiowanie wierszy INSERT INTO zamowieniedoedycji
SELECT NazwaKlienta, NrZamowienia, NazwaTowaru, Ilosc, Cena FROM Klient JOIN Zamowienie USING (IdKlienta) JOIN LiniaZamowienia USING (IdZamowienia) JOIN Towar USING (IdTowaru) WHERE Zamowienie.DataZamowienia = ' ' | NazwaKlienta | NrZamowienia | NazwaTowaru | Ilosc | Cena | | Firma Krok Sp zoo | 002/ | Rura zgrz. fi 6,3 gr 0,2 | | | | Firma Krok Sp zoo | 002/ | Rura zgrz. kw 4 gr 0,2 | | |
66
Modyfikowanie danych - Microsoft SQL Server
UPDATE LiniaZamowienia SET Cena = Cena * 1.1 WHERE (IdZamowienia IN (SELECT IdZamowienia FROM Zamowienie WHERE DataZamowienia = ' ' AND IdKlienta = (SELECT IdKlienta FROM Klient WHERE NazwaKlienta = 'FH Klin SA')))
67
Usuwanie wierszy - Microsoft SQL Server
DELETE FROM LiniaZamowienia WHERE (IdZamowienia IN (SELECT IdZamowienia FROM Zamowienie WHERE DataZamowienia = ' ' AND IdKlienta = (SELECT IdKlienta FROM Klient WHERE NazwaKlienta = 'FH Klin SA')))
68
Integralność danych w SQL
Wprowadzenie kluczy podstawowych i obcych zapewnia automatyczną kontrolę poprawności struktury danych i operacji przetwarzania danych Klucz podstawowy zapewnia unikalność i możliwość identyfikacji każdego zapisu Klucze obce zapewniają integrację referencyjną głoszącą, że każda niepusta wartość klucza obcego musi odpowiadać jednej z istniejących wartości klucza podstawowego
69
Wymuszanie integralności
REFERENCES – podaje źródło klucza obcego, tj. tabelę i klucz podstawowy ON DELETE, ON UPDATE – określenie czynności, które należy podjąć jeśli wartość klucza podstawowego zostanie usunięta lub ulegnie zmianie: SET NULL zastąp wartość klucza obcego przez NULL, SET DEFAULT zastąp wartość klucza obcego przez wartość domyślną, CASCADE skasuj lub zmodyfikuj wszystkie wiersze zawierające zmienianą wartość klucza obcego NO ACTION (tylko modyfikacja) nie zmieniaj wartości klucza RESTRICT nie dopuść do zmiany
70
Perspektywy Zapytanie posiadające własną nazwę i przechowywane w słowniku danych Perspektywy tworzymy po to by: zapisać często wykonywane złożone zapytania stworzyć logiczne modele dla różnych użytkowników zwiększyć bezpieczeństwo danych
71
Tabele tymczasowe istnieją wyłącznie w trakcie trwania sesji
obsługuje się je identycznie jak tabele stałe są znacznie szybciej obsługiwane niż zapytania czy perspektywy ale nie są automatycznie modyfikowane w przeciwieństwie do widoków są w pełni modyfikowalne
72
Edycja złożenia Edycja złożenia i perspektywy zawierającej elementy pochodzące z więcej iż jednej tabeli nie jest możliwa wprost Można natomiast stworzyć tabelę tymczasową zawierającą kody i treść atrybutów z połączonych tabel i ją edytować
73
Przyznawanie praw dostępu
Serwer baz danych może obsługiwać wielu użytkowników identyfikowanych przez nazwę i hasło Nie każdy z użytkowników musi mieć równe prawa W momencie utworzenia nowego elementu bazy danych aktualny użytkownik staje się jego właścicielem Właściciel może nadawać i odbierać prawa innym użytkownikom
74
Transakcje W systemie baz danych z wieloma użytkownikami transakcja jest niepodzielną, spójną, izolowaną i trwałą (ACID-atomic, consistent, isolatable, and durable) procedurą realizującą dostęp do danych Podczas realizacji transakcji możliwe jest wykorzystanie zmiennych oraz blokowanie dostępu do danych Transakcje mogą być wycofane
75
Transakcje składnia START (BEGIN) TRANSACTION; polecenia
COMMIT – zatwierdzenie transakcji lub ROLLBACK – wycofanie transakcji
76
Transakcje w MS SQL Użycie tabeli w trakcie transakcji blokuje dostęp do tabeli Polecenie ROLLBACK kasuje działania wykonane podczas transakcji Polecenie COMMIT zatwierdza działania
77
Procedury składowane Specyficzny język umożliwiający wykonywanie wielu poleceń SQL oraz wprowadzający dynamikę
78
Wyzwalacze w SQL 99 wyzwalacz (ang. trigger) jest specjalnym rodzajem składowanej procedury, która jest uruchamiana automatycznie podczas wykonywania instrukcji modyfikacji danych wyzwalacz jest powiązany z konkretną instrukcją modyfikacji danych (INSERT, UPDATE, DELETE) wyzwalacz jest uruchamiany przed modyfikacją, po lub zamiast modyfikacji
79
Transact - SQL Pracochłonne zapytania np. aktualizujące dane można zastąpić procedurami składowanymi
80
Kursor Kursor jest tabelą rekordów umożliwiającą dostęp do kolekcji pobranej z tabeli lub złożenia
81
Wykorzystanie Transact-SQL
Język Transact-SQL wprowadza elementy języków proceduralnych takich jak pętla, warunek logiczny, zmienna pamięciowa Przykładowa procedura odszukuje w tabeli ProductionPlan wiersz dla operacji, której wynikiem jest wyrób gotowy a następnie w pętli szuka kolejnych półproduktów aż do chwili gdy zapytanie SELECT nie zmienia wartości indeksu półproduktu
82
Technologia .Net
83
Technologia ADO.Net Służy do dostarczania danych z rożnych źródeł (baz danych) do aplikacji Jest produktem Microsoft Umożliwia manipulowanie danymi XML Pozwala na logiczne modelowanie danych
84
Przegląd obiektów dostawczych
SqlClient jest zoptymalizowany pod kątem współpracy z MS SQL OLE DB (Object Linking and Embedding, Database – łączenie i zagnieżdżanie obiektów) jest rodzajem Application programming interface (API) opracowanym przez Microsoft i pozwala łączyć się ze źródłami, dla których opracowano dostawcę Odbc Open Database Connectivity to zestaw uniwersalnych narzędzi dostępu do baz danych Java Database Connectivity narzędzia dostępu do źródeł danych dla Javy
85
Obiekty dostawców danych w .Net
Connection – nawiązuje połączenie ze źródłem danych Command – wykonuje polecenia SQL w źródle danych DataReader – zwraca jednokierunkowy, przeznaczony do odczytu strumień danych DataAdapter – tworzy pomost pomiędzy obiektem DataSet a źródłem danych
86
Obiekt Command Wykonuje polecenia SQL
Właściwość Connection wskazuje połączenie do wykonania polecenia Obiekt jest realizowany w trzech wersjach ODBC, OLE i SQL
87
Sposoby wykonywania poleceń
ExecuteNonQuery – wykonuje polecenie, które nie zwraca żadnych rekordów ExecuteScalar – zwraca pierwszą kolumnę pierwszego wiersza ExecuteReader – zwraca wynikowy zestaw rekordów za pośrednictwem obiektu DataReader ExecuteXMLReader - zwraca wynikowy zestaw rekordów w formacie XML za pośrednictwem obiektu XMLReader
88
Obiekt DataReader Udostępnia jednokierunkowy strumień wierszy
Jest najszybszym sposobem dostępu do danych
89
Obiekt DataSet W odróżnieniu od przedstawionych wcześniej obiektów nie musi mieć związku z zewnętrznym źródłem danych Jest pamięciowym relacyjnym zasobnikiem danych Może przechowywać dane w postaci XML
90
Obiekt DataAdapter Pośredniczy między obiektem DataSet a rzeczywistym źródłem danych Ma dwie metody: Fill i Update Oraz cztery właściwości: SelectCommand, InsertCommand, UpdateCommand i DeleteCommand Występuje w wersjach SQL, OleDb i Oledbc
91
Obsługa baz danych poprzez strony WWW
Niezbędne narzędzia: serwer baz danych np. MySQL serwer stron WWW np. Apache przeglądarka stron WWW interpretująca język HTML język skryptowy (parser) wyposażony w możliwości współpracy z systemem zarządzania bazą danych
92
MySQL MySQL jest relacyjnym systemem zarządzania bazami danych klasy Open Source stworzony i rozwijany przez firmę MySQL AB MySQL jest serwerem baz danych - pozwala korzystać z zasobów danych wielu użytkownikom (klientom)
93
HTML i XHTML http://kurshtml.boo.pl/
XHTML to skrót od Extensible Hypertext Markup Language, czyli Rozszerzalny Hipertekstowy Język Oznaczania. Reformuje on zasady języka HTML 4 w taki sposób, aby były zgodne z XML (Extensible Markup Language - Rozszerzalny Język Oznaczania)
94
Formularze Formularz w HTML stwarza użytkownikowi (klientowi) możliwość wprowadzania informacji do systemu i przekazywania ich dalej Formularz uruchamia akcję zapisaną jako argument parametru „action”
95
Technologia ASP.NET
96
Zalety ASP.NET (ASPX) Kodowanie po stronie serwera
Skrypty działające po stronie klienta Kompilacja kodu zapewniająca bezpieczeństwo i skalowalność
97
Bazy Danych i język XML
98
Co to jest XML? XML to sposób zapamiętywania danych wraz z ich strukturą w dokumencie tekstowym: otwarty, elastyczny, niezależny od platformy sprzętowej. XML to rama składniowa do tworzenia języków specyficznych dla zastosowań. XML jest otwarty, tzn. struktura plików XML-owych jest jawna i publicznie dostępna, a same pliki są tekstowe. Elastyczność XML-a wynika bezpośrednio z tego, że jest to metajęzyk. Za korzystanie z formatu XML nie są pobierane żadne opłaty. Dodatkowo, wiele narzędzi wspierających wykorzystanie XML-a (szczególnie przeznaczonych dla programistów) jest bezpłatnych. XML nie jest związany z żadną platformą sprzętową ani producentem oprogramowania.
99
Co to jest XML? XML (rozszerzony język znaczników) to język w którym dane zapisuje się w formie tekstu. Właściwości danych opisuje specjalne oznakowanie. Stosowane oznakowania to nic innego jak umieszczenie w tekście informacji o interpretacji lub sposobie prezentacji przedstawionego tekstu. Oznakowanie ma przede wszystkim postać znaczników. Znaczniki ujęte są w trójkątne nawiasy <>. Dokument składa się ze znaczników oraz danych znakowych: jedne i drugie tworzą razem elementy.
100
XSL (XML Stylesheet Language)
Język pozwalający na przekonwertowanie dokumentu XML do różnych formatów np. HTML, XML, SVG (Scalable Vector Graphics, PDF i wiele innych
101
XPATH (XML Path Languge)
Język zapewnia możliwość wykonywania kwerend, które wyszukują odpowiednie informacje w dokumencie XML Połączenie języków XSL i XPATH pozwala na tworzenie dokumentów XSLT (eXtensible StyleSheet Transformations) stanowiących wzorzec do transformacji dokumentu XML
102
Serializacja - deserializacja
Proces przekształcania obiektów (bądź ogólnie danych) używanych w programie na ciąg bajtów, który może następnie być przekazany poza daną instancję programu Proces odwrotny nazywamy deserializacją
103
Przykłady serializacji
zapisywanie parametrów konfiguracyjnych programu do pliku i ich odczyt w razie potrzeby zapisywanie stanu działania programu, aby przy następnym uruchomieniu, kontynuować działanie od zapisanego momentu wymiana danych między programami znajdującymi się na różnych komputerach połączonych siecią komputerową
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.