Bazy Danych.
Wyk艂ad 1.
Prowadz膮cy: Madejewski.
Zakres wyk艂ad贸w:
Podstawowe poj臋cia z dziedziny baz danych.
Systemy IDEF0 i modelowanie obieg贸w danych.
Architektura baz danych (model hierarchiczny, sieciowy i relacyjny).
Projektowanie schematu relacyjnej bazy danych.
Normalizacja.
Podstawy j臋zyka SQL.
Zabezpieczenia systemu baz danych.
Literatura:
Tadeusz Pankowski „ Podstawy baz danych” PWN 1992r.
J. Ullman ,,Systemy baz danych” WND 1988r.
Systemy dzia艂aj膮ce na konkretach (na przyk艂adzie firmy zajmuj膮cej si臋 wynajmem):
Dzia艂 sprzeda偶y:
nieruchomo艣膰 do wynaj臋cia
w艂a艣ciciel nieruchomo艣ci
osoba kt贸ra chce wynaj膮膰 (nazwisko, rodzaj nieruchomo艣ci jaka go interesuje)
Dzia艂 um贸w:
umowa mi臋dzy wynajmuj膮cym (w艂a艣cicielem)
nieruchomo艣膰
wynajmuj膮cy (gdzie mo偶na go znale藕膰)
S膮 to dwa rozdzielne zbiory danych.
Ograniczenie specjalizowanych aplikacji operuj膮cych na dedykowanych strukturach plik贸w:
separacja i izolacja danych - ka偶dy program (aplikacja) operuje na osobnym zestawie danych, dane te s膮 zapisywane w formacie w艂a艣ciwym dla danej aplikacji (tym samym ka偶da aplikacja mo偶e korzysta膰 z danych zapisanych w innym formacie), u偶ytkownicy jednej aplikacji nie maj膮 dost臋pu do danych z kt贸rych mog膮 korzysta膰 inne aplikacje
powielanie danych - te same dane przechowywane w wielu miejscach jednocze艣nie, korzystaj膮 z nich r贸偶ne aplikacje i te same dane mog膮 by膰 zapisane w r贸偶nych formatach, np.: daty, liczby czy 艂a艅cuchy tekstowe
struktura danych jest zdefiniowana w aplikacji kt贸ra z niej korzysta tym samym pr贸ba zmiany (rozszerzenia) formatu danych wymaga zmiany aplikacji
celem gromadzenia danych jest wyszukiwanie informacji drog膮 zapyta艅; zbi贸r zapyta艅 w dedykowanych aplikacjach jest zbiorem zamkni臋tym tym samym pr贸ba analizy danych w spos贸b inny ni偶 zdefiniowane danej aplikacji wymaga zmiany aplikacji
Bazy danych.
Podej艣cie charakterystyczne dla baz danych.
Property - rzeczy do wynaj臋cia
Owner - w艂a艣ciciel
Renter - wynajmuj膮cy
Lease - dzier偶awca
DBMS - rzeczy do wynaj臋cia + w艂a艣ciciel + wynajmuj膮cy + dzier偶awca + struktura plik贸w
W bazach danych jedn膮 z charakterystycznych cech jest oddzielenie opis贸w struktury danych od konkretnej aplikacji tym samym opis struktury danych staje si臋 informacj膮 przechowywan膮 niezale偶nie od programu i informacja ta mo偶e by膰 przechowywana wraz z danymi.
Systemy baz danych stanowi膮 odpowiedz na konieczno艣膰 kontroli dost臋pu do danych, ich zawarto艣ci wykraczaj膮c膮 poza kontrol臋 kt贸r膮 mog艂y zapewni膰 dedykowane aplikacje.
Def.: Baza danych jest zbiorem logicznie uporz膮dkowanych danych oraz ich opis贸w. Sta艂ym elementem baz danych jest katalog systemu w kt贸rym znajduj膮 si臋 opisy struktur danych. W poprawnie zaprojektowanym systemie baz danych mo偶liwe jest modyfikowanie struktury danych bez naruszenia zawarto艣ci danych.
Def.: ENCJA - to ka偶dy przedmiot, zjawiskom, stan lub poj臋cie - ka偶dy obiekt kt贸ry potrafimy (chcemy) odr贸偶ni膰 od innych obiekt贸w. Encj膮 jest zatem ka偶dy st贸艂, samoch贸d itp.. Encj膮 jest nied藕wied藕, jako element sk艂adowy 偶ycia na ziemi. Encja to ka偶dy obiekt daj膮cy si臋 zidentyfikowa膰 na podstawie swoich atrybut贸w.
Def.: ATRYBUT - cechy encji kt贸re daj膮 si臋 wyra偶a膰 przez przydanie im pewnych warto艣ci - s膮 to cechy encji wynikaj膮ce z ich natury, daj膮ce si臋 wyrazi膰 liczbami b膮d藕 prostymi okre艣leniami s艂ownymi. St贸艂 ma np.: liczb臋 n贸g, samoch贸d - marka i pojemno艣膰 silnika.
Wywo艂anie atrybut贸w wymaga tak偶e okre艣lenia dziedziny warto艣ci tych atrybut贸w, np.: w przypadku dat urodzenia student贸w w systemie dziekanat nale偶a艂o by za艂o偶y膰 jaki艣 minimalny wiek studenta powiedzmy 15 lat w celu unikni臋cia b艂臋d贸w przy wprowadzaniu danych, lub nale偶a艂o by kontrolowa膰 d艂ugo艣膰 nazwiska, itp..
W systemach baz danych takie zbiory ogranicze艅 mog膮 by膰 przechowywane niezale偶nie od danych, nie musz膮 te偶 stanowi膰 cz臋艣ci aplikacji operuj膮cej na danych.
W systemach baz danych wyst臋puj膮 dwa typy j臋zyk贸w:
j臋zyk DDL (j臋zyk do definiowania struktury danych; j臋zyk ten pozwala na okre艣lenie typu danych, ich struktury i dziedziny danych)
j臋zyk DML (j臋zyk do manipulowania na danych, j臋zyk tworzenia zapyta艅)
Bazy danych zapewniaj膮 nast臋puj膮ce us艂ugi:
system zabezpiecze艅 - daje on dost臋p do danych i informacji tylko okre艣lonym u偶ytkownikom na okre艣lonym poziomie szczeg贸艂owo艣ci
kontrola integralno艣ci danych (ich kompletno艣膰 i ich poprawno艣膰)
kontrola jednoczesnego dost臋pu do danych przez wielu u偶ytkownik贸w (w tak膮 procedur臋 mo偶e by膰 wbudowana hierarchia u偶ytkownik贸w, np.: niekt贸rzy mog膮 wprowadza膰 nowe dane i usuwa膰 stare, inni mog膮 je tylko przegl膮da膰
odtwarzanie stanu systemu sprzed awarii
Mechanizmy perspektyw.
U偶ytkownik bazy danych ma zawsze dost臋p do informacji zawartych w bazie. Informacje za艣 s膮 pozyskiwane drog膮 zapyta艅 z danych zapisanych w bazie tym samym informacja taka jest np.: 艣rednia ze studi贸w nie musi by膰 nigdzie zapisana w bazie danych jako dana jest po prostu wyznaczana na podstawie istniej膮cych wpis贸w w bazie danych. W og贸lnym przypadku u偶ytkownik mo偶e w og贸le nie operowa膰 na surowych danych znajduj膮cych si臋 w bazie danych.
Perspektywy to spos贸b udost臋pniania u偶ytkownikowi informacji w postaci i zakresie okre艣lonym w czasie projektowania bazy danych. Perspektywy uwzgl臋dniaj膮 zakres uprawnie艅 konkretnego u偶ytkownika do korzystania z danych.
Informacje dost臋pne w ramach danej perspektywy mog膮 by膰 uzyskane z danych zebranych i przetworzonych z wielu r贸偶nych plik贸w bazy danych, kt贸re mog膮 by膰 ponadto rozmieszczone w r贸偶nych systemach komputerowych.
Kontrola redundacji danych.
Redundacja to jest wyst臋powanie wielu zapis贸w tych samych danych. Kontrola redundacji w bazach danych zaczyna si臋 ju偶 na etapie projektowania bazy danych. W przypadku relacyjnych baz danych proces kt贸ry zapewnia uporz膮dkowanie danych w poszczeg贸lnych zbiorach zwany jest normalizacj膮. Bazy danych zapewniaj膮 wi臋ksz膮 wydajno艣膰 pracy programist贸w.
Role u偶ytkownik贸w system贸w baz danych:
administrator bazy danych (projektuje on struktur臋 baz danych, przydziela uprawnienia poszczeg贸lnym u偶ytkownikom, okre艣la perspektywy u偶ytkownika, oraz prowadzi systematyczne kopiowanie zawarto艣ci bazy danych dla umo偶liwienia odtworzenia stanu bazy danych sprzed awarii, w niekt贸rych systemach mo偶na wyr贸偶ni膰 dwie funkcje: administrator danych, administrator bazy danych)
programi艣ci aplikacji(buduj膮 oni procedury pozwalaj膮ce na pozyskiwanie informacji z danych, a procedury te budowane s膮 w j臋zyku DML)
,, u偶ytkownicy naiwni „ (s膮 to wszyscy u偶ytkownicy bazy danych kt贸rzy dost臋p do danych i informacji uzyskuj膮 za po艣rednictwem mechanizmu perspektyw)
Aplikacje dedykowane budowane do operowania na 艣ci艣le okre艣lonych strukturach danych maj膮 r贸wnie偶 zalety do nich nale偶y:
mo偶liwo艣膰 bardzo szybkiego dost臋pu do danych znacznie przekraczaj膮ca parametry bazy danych
Wady baz danych:
z艂o偶ono艣膰 (korzystanie z bazy danych powoduje 偶e ka偶dorazowo taki system ma dost臋p do szeregu us艂ug nawet takich kt贸re w danym zastosowaniu nie s膮 potrzebne)
rozmiar
dodatkowe koszty sprz臋tu (mog膮 one wynika膰 z podwy偶szonej z艂o偶ono艣ci oprogramowania bazy danych, konieczno艣ci zabezpieczenia fizycznego danych, np.: dodatkowe dyski)
koszt konwersji danych (mog膮 obejmowa膰 konieczno艣膰 przetworzenia istniej膮cych zapis贸w do nowego formatu, koszt zamiany struktury istniej膮cych danych oraz kontroli integralno艣ci uzyskanych danych)
szybko艣膰 dzia艂ania systemu baz danych z wyj膮tkiem wybranych funkcji tj. indeksowanie jest z regu艂y ni偶sza ni偶 system贸w dedykacyjnych
Wyk艂ad 2.
Architektura ASCI-SPARC jako podstawa budowy systemu zarz膮dzania danymi.
Cele architektury ASCI-SPARC:
wszyscy u偶ytkownicy powinni mie膰 dost臋p do tych samych danych
perspektywa konkretnego u偶ytkownika nie powinna odzwierciedla膰 zmian wnoszonych do perspektyw innych u偶ytkownik贸w
u偶ytkownik nie musi zna膰 szczeg贸艂贸w technicznych zapisu danych w bazie
administrator bazy danych mo偶e zmienia膰 struktur臋 zapisu danych w systemie bez naruszania perspektyw poszczeg贸lnych u偶ytkownik贸w
wewn臋trzna struktura bazy danych jest niezale偶na od sposobu jej zapisania w systemie komputerowym
administrator bazy danych mo偶e modyfikowa膰 struktur臋 poj臋ciow膮 bazy danych bez odzwierciedlania tego w perspektywach u偶ytkownik贸w
Powy偶szy schemat sk艂ada si臋 z trzech poziom贸w, a mianowicie z:
poziomu zewn臋trznego - perspektywy u偶ytkownika, u偶ytkownicy ,,naiwni”
poziom poj臋ciowy - schemat logiczny
poziom wewn臋trzny - zapisa膰 w efektywny spos贸b dane zgodnie z modelem na kt贸rym b臋d膮 dzia艂a膰 za艂o偶one wcze艣niej perspektywy
J臋zyki czwartego poziomu (4GL):
wbudowane j臋zyki zapyta艅 - standardowym j臋zykiem zapyta艅 jest SQL - a w Accessie mamy dodatkowo QBE
wbudowane generatory formularzy
wbudowane generatory raport贸w
wbudowane generatory grafiki (wykres贸w)
wbudowane generatory aplikacji
Model danych jest to reprezentacja danych sporz膮dzona w pewien usystematyzowany spos贸b. Modele danych dziel膮 si臋 na:
obiektowe
oparte na strukturze rekordowej
W艣r贸d modeli opartych na zapisie rekordowym wyr贸偶nia si臋:
modele hierarchiczne
modele sieciowe
modele relacyjne
Elementy sk艂adowe systemu zarz膮dzania bazy danych.
Podstawowe elementy systemu zarz膮dzania baz膮 danych:
procesor zapyta艅
program zarz膮dzaj膮cy baz膮 danych
program zarz膮dzaj膮cy plikami
program procesor j臋zyka DML
kompilator j臋zyka DDL
program zarz膮dzaj膮cy katalogiem systemu
Elementy programu zarz膮dzaj膮cego baz膮 danych:
system kontroli dost臋pu
procesor zapyta艅
system kontroli poprawno艣ci polece艅
optymalizator zapyta艅
program zarz膮dzaj膮cy transakcjami
system do harmonogramowania zada艅
system usprawniaj膮cy odtwarzanie systemu z przed awarii
Architektura systemu zarz膮dzania baz膮 danych z wielodost臋pem:
zdalne przetwarzanie - jest to rozwi膮zanie wychodz膮ce z u偶ycia charakteryzuj膮ce si臋 tym 偶e system zarz膮dzania baz膮 danych, dane oraz oprogramowanie aplikacji realizuj膮cych poszczeg贸lne perspektywy wszystko to jest zapisane na centralnym komputerze do艂膮czone s膮 terminale za po艣rednictwem kt贸rych u偶ytkownicy dostaj膮 dost臋p do danych
architektura serwera plik贸w - dane z kt贸rych mog膮 korzysta膰 u偶ytkownicy za po艣rednictwem swoich stacji roboczych. Baza danych zapisana jest na serwerze plik贸w na poszczeg贸lnych stacjach roboczych zainstalowane s膮 systemy zarz膮dzana baz膮 danych jako odr臋bne kopie oraz programy realizuj膮ce poszczeg贸lne perspektywy. Wszystkie stacje robocze s膮 po艂膮czone z serwerem plik贸w za po艣rednictwem sieci komputerowej
Wady (serwera plik贸w):
znaczne nat臋偶enie ruchu w sieci
konieczne jest instalowanie kopii systemu zarz膮dzania baz膮 danych na ka偶dej stacji roboczej
takie rozwi膮zanie utrudnia wsp贸艂dzielenie danych, kontrole ich poprawno艣ci, odtwarzanie stanu systemu sprzed awarii
architektura klient - serwer (serwer aplikacji)
Zalety:
u艂atwiony dost臋p do istniej膮cej bazy danych
usprawniony dost臋p do danych - lepsze wykorzystanie przepustowo艣ci sieci
mo偶liwie oszcz臋dno艣ci na sprz臋cie komputerowym
u艂atwione administrowanie baz膮 danych
Katalog systemowy (s艂ownik) - jest to zbi贸r informacji opisuj膮cych dane zapisane w bazie (metodane). Jego typowa zawarto艣膰 to spis uprawnionych u偶ytkownik贸w bazy danych dla nazwy encji (obiekt贸w bazy danych), ograniczenia zwi膮zane z ka偶dym elementem wyst臋puj膮cym w bazie danych (np.: ograniczenie warto艣膰 atrybut贸w), okre艣lenie zakres贸w danych dost臋pnych dla konkretnego u偶ytkownika i sposobu dost臋pu.
Wyk艂ad 3.
Ochrona informacji i polityka bezpiecze艅stwa
najcz臋艣ciej 90% decyzji podejmuje 5% kadry
sprz膮taczka (20%) ma dost臋p do prawie takiej samej ilo艣ci informacji jak zarz膮d 35%
administrator systemu (75%) mo偶e wiedzie膰 je艣li zechce prawie tyle samo co kierownik dzia艂u (85%)
kierownik dzia艂u (85%) nie zna wszystkich informacji w dziale
Konieczne jest w ka偶dym przypadku opracowanie i przestrzeganie w艂a艣ciwych metod:
kontrolowania
klasyfikacji
opracowanie informacji
Miejsce przechowywania informacji (2 typy zagro偶e艅)
zagro偶enia w obr臋bie przedsi臋biorstwa 1) wewn臋trzne
zagro偶enia poza obr臋bem przedsi臋biorstwa 2) zewn臋trzne
sprz臋t komputerowy, bazy danych, dokumenty elektroniczne, dokumenty papierowe, umys艂y pracownik贸w (zabezpieczenia sprz臋tu, zabezpieczenie e-mail贸w)
bank, kurierzy, telekomunikacja (kluczowe informacje zawsze trafiaj膮 do banku, bank 偶膮da konkretnych informacji - maj膮 one najwy偶szy stopie艅 poufno艣ci)
Procedura tworzenia i optymalizacji systemu bezpiecze艅stwa.
Grupy informacji:
informacje stanowi膮ce o istnieniu przedsi臋biorstwa (dokumentacja wewn臋trzna, dane personalne, opis zdarze艅 gospodarczych itp.)
informacje stanowi膮ce o konkurencyjno艣ci na rynku (np. dane o technologiach, konstrukcji itp.)
informacje dotycz膮ce kontroli dost臋pu do informacji (np. klucze kryptologiczne, zbiory hase艂, konfiguracja systemu komputerowego
Informacja powinna zawiera膰:
czas tworzenia
czas odbioru
temat
tre艣膰
dane nadawcy
Opis proces贸w pracy.
Do opis贸w proces贸w pracy stosuje si臋 m.in. dwie odmiany system贸w: IDEFO i DFD. System IDEFO i DFD powsta艂y w latach 70-tych na potrzeby si艂 powietrznych USA. W systemach IDEFO wyst臋puj膮 nast臋puj膮ce elementy opisu procesu:
czynno艣膰 (okre艣lona zawsze przy pomocy czasownika)
wej艣cie (mo偶e by膰 informacja lub obiekt materialny, jak np. cz臋艣膰 do transportu czy obr贸bki) INPUT
wyj艣cie (mo偶e by膰 informacja lub obiekt fizyczny) OUTPUT
sterowanie (to informacja s艂u偶膮ca do przetworzenia wej艣cia w wyj艣cie) CONTROL
mechanizm (jest zawsze elementem fizycznym kt贸ry umo偶liwia realizacj臋 dzia艂ania) MECHANIK. W systemach IDERO mechanizm mo偶e ale nie musi by膰 precyzowany.
W systemach IDERO opis proces贸w pracy jest realizowany na szeregu p艂aszczyznach. Poczynaj膮c od szczebla najwy偶szego jakim jest dana instytucja. Poszczeg贸lne warstwy opisuj膮 coraz ni偶sze szczebla hierarchii dochodz膮c do poziomu konkretnych stanowisk roboczych.
Czynno艣ci:
Plany (projekt, technologie)
Oszacuj stopie艅 wykorzystania zasob贸w
Kieruj prac膮 wydzia艂u
Wykonaj zadania danej obrabiarki (stacji roboczej)
Transportuj materia艂
Schemat na poziomie wydzia艂u.
Systemy operuj膮ce informacjami (bazy danych) na poziomie wydzia艂u produkcyjnego musz膮 by膰 w stanie udziela膰 informacji (odpowiedzi) na takie pytania jak:
sk膮d wiemy jakie produkty mamy montowa膰 i z jakich cz臋艣ci ?
sk膮d wiemy gdzie aktualnie s膮 te cz臋艣ci ?
sk膮d wiemy kiedy nale偶y przyst膮pi膰 do obr贸bki lub do monta偶u ?
sk膮d wiemy jakie jest obci膮偶enie (zlecenia) danego wydzia艂u, jaka jest kolejno艣膰 realizacji poszczeg贸lnych prac ?
jak nale偶y zmodyfikowa膰 plan pracy wydzia艂u w przypadku awarii kt贸rego艣 z urz膮dze艅
sk膮d wiadomo gdzie aktualnie jest cz臋艣膰 i materia艂 kt贸ry zosta艂 wyekspediowany z danego stanowiska roboczego ?
Modele DFD opisuj膮 wy艂膮cznie cz臋艣膰 informacyjn膮 proces贸w pracy. Zapis tych modeli sk艂ada si臋 z nast臋puj膮cych element贸w:
obiekty wewn臋trzne
sk艂adnice danych
procesy
strumienie danych
Obiekty wewn臋trzne wyznaczaj膮 otoczenie modelowego procesy pracy. Budowa modeli DFD wymaga stosowania si臋 do pewnych regu艂 takich jak:
strumienie danych musz膮 ko艅czy膰 si臋 lub zaczyna膰 albo ko艅czy膰 i zaczyna膰 procesem
strumienie danych opatrzone dwoma strza艂kami oznaczaj膮 przesy艂anie w obu kierunkach informacji o 艣ci艣le takim samym formacie, je偶eli formaty s膮 r贸偶ne to w modelu umieszcza si臋 symbole dw贸ch r贸偶nych strumieni informacji
Modele DFD budowane s膮 r贸wnie偶 na r贸偶nych poziomach. Uog贸lnienia tym g贸rnym tylko obiekty na najni偶szym poziomie takiej struktury maj膮 swoje odzwierciedlenie rzeczywi艣cie przesy艂anych w strumieniach informacji, procesach pracy czy obiektach zewn臋trznych. Na ka偶dym poziomie szczeg贸艂owo艣ci modelu istniej膮 ograniczenia co do ilo艣ci proces贸w kt贸re mog膮 by膰 w niej przedstawiane. Takich proces贸w powinno by膰 nie mniej ni偶 4 i nie wi臋cej ni偶 8. je偶eli w modelu konieczne jest odwo艂anie si臋 do element贸w fizycznych to mog膮 one wyst膮pi膰 w postaci przypis贸w w do艂膮czonych konkretnych proces贸w, wyj膮tkowo w postaci obiekt贸w zewn臋trznych. Ka偶dy proces musi mie膰 zar贸wno wej艣cie jaki wyj艣cie przy czym nie mog膮 wyst臋powa膰 procesy tylko 1 we i 1 wy.
Wyk艂ad 4.
Wprowadzanie danych do baz danych.
W艣r贸d system贸w oprogramowania realizuj膮cych operacje na strumieniach danych okre艣lonych w opisach proces贸w pracy nale偶膮 nast臋puj膮ce typy narz臋dzi programowych:
to takie kt贸re operuj膮 na wsp贸lnej sieci komputerowej i pozwalaj膮 one na prowadzenie telekonferencji i przesy艂anie poczty elektronicznej wraz z za艂膮cznikami.
to systemu gromadzenia danych wsp贸lnych dla konkretnego projektu umo偶liwiaj膮 one zarz膮dzanie projektem, koordynacj臋 pracy cz艂onk贸w zespo艂u oraz udost臋pniania fragment贸w projektu i gromadzenie opinii na ich temat
oprogramowanie do pracy grupowej i pozwala na prac臋 zespo艂u z wykorzystaniem tych samych dokument贸w i mo偶liwe jest definiowanie drogi obiegu dokumentu
oprogramowanie pozwalaj膮ce na dost臋p do dokument贸w wybranym u偶ytkownikom systemu w tym samym czasie. Najcz臋艣ciej takie oprogramowanie b臋dzie s艂u偶y艂o do udost臋pniania obraz贸w (prezentacji) wy艣wietlanych na monitorze prowadz膮cego dne spotkanie
oprogramowanie kt贸rego cech膮 jest operowanie na dokumentach tworzonych i edytowanych w danym momencie, w danym miejscu. Do tego rodzaju oprogramowania nale偶y zaliczy膰 oprogramowanie wspomagaj膮ce prowadzenie spotka艅 w postaci burzy m贸zg贸w, systemy wspomagania podejmowania decyzji oraz zapisu przebiegu spotka艅 i narad
Wprowadzanie danych do baz danych mo偶e odbywa膰 si臋 z wykorzystaniem szeregu technik
1. skanowanie - proces konwersji danych od formatu stosowanego w tworzonej bazie danych mo偶e obejmowa膰 przeniesienie danych z no艣nika papierowego do postaci elektronicznej. Nale偶y wyr贸偶ni膰 2 przypadki:
seryjne skanowanie dokument贸w o zunifikowanej strukturze (dane z bilet贸w lotniczych)
skanowanie dokument贸w o niejednorodnym formacie
SKANOWANIE SERYJNE.
Proces OCR jest zawsze obci膮偶ony b艂臋dem w zwi膮zku z tym trzeba si臋 liczy膰, z b艂臋dnie odczytanymi znakami ok. 3% OCR korzystaj膮 ze s艂ownik贸w dla podniesienia poprawno艣ci odczytu.
2. Indeksowanie jest procesem opatrzenia dokumentu lub dodania do jego zawarto艣ci unifikalnego znaku, jest to klucz do relacji zawieraj膮cych dane dokumenty
* - mapy bitowe np. TIFF
- - SQL indices - przez udost臋pnianie klucza do dokumentu
PREPARE
przygotowanie dokumentu - okre艣lanie typu dokument贸w oraz pola indeksowania
przygotowanie dokument贸w - przygotowanie fizyczne
okre艣lanie stref kt贸re b臋d膮 poddawane analizie OCR
SCAN
wczytywanie danych
powt贸rne skanowanie
analiza zawarto艣ci odczytanych danych
PRZETWARZANIE OBRAZ脫W - image processing
korekta k膮towego usytuowania skanowanego obrazu
rozpoznawanie kod贸w paskowych - kody paskowe s膮 standardowym sposobem oznaczania typ贸w dokument贸w przewidzianych do masowego (seryjnego) skanowania. Rozpoznanie kodu paskowego decyduje o sposobie przetwarzania skanowanego dokumentu. [ Dokumenty mog膮 sk艂ada膰 si臋 z wielu obraz贸w skanowanych. Analiza zawarto艣ci dokumentu mo偶e wi臋c wymaga膰 po艂膮czenia wielu obraz贸w sk艂adowych w dokument wynikowy. Przyk艂adem mo偶e by膰 skanowanie dokument贸w wielostronicowych ]
rozpoznawanie znak贸w OCR - odczyt zawarto艣ci dokumentu
Proces wprowadzania danych do bazy danych.
projektowanie formularzy - do projektu formularza w celu usprawnienia p贸藕niejszego seryjnego skanowania. stosuje si臋 szereg narz臋dzi programowych w ka偶dym przypadku narz臋dzia takie musz膮 umo偶liwia膰 nast臋puj膮ce zadania: projekt, formularz, (znacznik dokumentu , kod dokumentu)
odczyt zawarto艣ci dokument贸w - udost臋pnianie danych mo偶e mie膰 miejsce za po艣rednictwem druku czy przy pomocy faksu. Wiele z tych przypadk贸w udost臋pniania druku przy pomocy faksu zosta艂y zast膮pione przez formularze wype艂niane i przesy艂ane przez poczt臋 elektroniczn膮.
pami臋ci EE PROM - zapis danych w tych pami臋ciach jest szeroko stosowany np. do znakowania narz臋dzi. Stosuje si臋 r贸wnie偶 do znakowania pojazd贸w. Pojemno艣膰 takiej pami臋ci to kilka kb a poszczeg贸lne pami臋ci maj膮 swoje unikalne kody. Kody te wraz z dat膮 i godzin膮 odczytu mog膮 stanowi膰 indeks do oznaczenia odczytywanej informacji. Odczyt z takiej pami臋ci mo偶e odbywa膰 si臋 za pomoc膮 wi膮za艅 dotykowych i bezdotykowych (fale radiowe)
biometria - w ich ramach stosowane s膮 nast臋puj膮ce metody identyfikacji u偶ytkowej system贸w komputerowych:
identyfikacja wk艂adek, 偶y艂 w d艂oni
pomiar geometrii d艂oni
identyfikacja odcisk贸w palc贸w
identyfikacja g艂osu
identyfikacja na podstawie obrazu t臋cz贸wki i siatk贸wki
Wprowadzanie danych w systemach produkcyjnych.
Poprawne zarz膮dzanie prac膮 produkcyjn膮 np. w walcowniach wymaga aktualizacji informacji o przebiegu produkcji co ok. 15min (wg danych hut z obszaru Beneluksu)
Cz臋sto zamiast nanoszenia czytelnego opisu w formie znak贸w numerycznych nanoszone s膮 oznaczenia kod贸w w formie szeregu nawierconych otwor贸w (nadrukowane numery s膮 czytelne je偶eli s膮 艣wie偶e, gorzej jak wyschn膮, np. najpierw na przedmiot nanosimy bia艂e t艂o a nast臋pnie na t艂o numeryczny opis). Oznakowania nanoszone na poszczeg贸lne produkty maj膮 mie膰 gwarantowan膮 偶ywotno艣膰 si臋gaj膮ca kilkudziesi臋ciu lat w innych przypadkach wymaga si臋 ich odporno艣ci na wysokie temperatury lub dopuszczenia kontaktu z 偶ywno艣ci膮. Cz臋sto informacje o produktach nanosi si臋 na odpowiednio zaprojektowane formularz lub gromadzi przy pomocy specjalistycznych tablet贸w graficznych
KODY paskowe s膮 efektywnym i szeroko stosowanym no艣nikiem danych przydatnym do automatyzacji proces贸w wprowadzania danych. W 1949r w USA opatentowano kody. Kody paskowe mog膮 by膰 nanoszone bezpo艣rednio na produkt, mog膮 by膰 wypalane lub grawerowane na produkcie lub drukowane na nalepkach umieszczanych na projektach. W przypadku pr贸b wprowadzania nalepkami produkt贸w hutniczych problemem jest wyb贸r niezawodnego kleju do nanoszenia tego typu oznakowa艅. Kody paskowe to ci膮g nast臋puj膮cych po sobie pask贸w jasnych i ciemnych.
Wyk艂ad 5.
Modelowanie.
Z艂o偶enie modelu logicznego stanowi膮cego podstaw臋 projektu bazy danych wymaga za艂o偶enia zbioru encji wraz z ich atrybutami a nast臋pnie okre艣leniu ich powi膮zania.
Nale偶y rozr贸偶ni膰 dwa poj臋cia.
Przechodz膮c do definicji zwi膮zku pomi臋dzy encjami nale偶y wyr贸偶ni膰 dwa typy encji:
to encje mocne, kt贸rych istnienie encji nie wymaga istnienia odpowiednich element贸w innych encji
s艂abe - kt贸rych istnienie jest uzale偶nione od wyst臋powania powi膮zanych z nimi encji mocnych
Nie istnieje 偶adna regu艂a pozwalaj膮ca na stwierdzenie czy dana encja jest mocna czy s艂aba. Decyzj臋 podejmuje si臋 w trakcie analizy danego modelu.
Tworzenie wykres贸w zwi膮zku encji u艂atwia stworzenie poprawnego modelu logicznego 艣wiata, kt贸rego obrazem ma by膰 tworzona baza danych. Model taki sk艂ada si臋 z encji oraz powi膮za艅 mi臋dzy nimi. Poszczeg贸lne encje s膮 na takich wykresach charakteryzowane przez nazw臋 oraz przez podanie dla nich atrybut贸w kluczowych.
Fakt istnienia powi膮za艅 pomi臋dzy poszczeg贸lnymi encjami jest dodatkow膮 informacj膮 pozwalaj膮c膮 na budow臋 poprawnej bazy danych.
Poszczeg贸lne encje w ramach danego modelu maj膮 szereg atrybut贸w, kt贸re mo偶na podzieli膰 na proste i z艂o偶one.
Atrybuty proste.
Atrybuty z艂o偶one - to takie kt贸re sk艂adaj膮 si臋 z szeregu niezale偶nych element贸w.
Atrybuty maj膮 by膰 pojedyncze i z艂o偶one.
Atrybuty pojedyncze - dla danej encji mo偶e mie膰 tylko pojedyncz膮 warto艣膰 w przeciwnym przypadku mamy mo偶liwo艣膰 zapisania wielu atrybut贸w, warto艣ci dla danej encji (kropka).
Atrybuty pochodne - to takie, kt贸rych warto艣ci wyznaczane s膮 na podstawie innych atrybut贸w w tym na podstawie atrybut贸w innej encji.
Tworzenie modelu graficznego w tym graficznej reprezentacji poszczeg贸lnych encji umo偶liwia ju偶 na wczesnym etapie budowy bazy danych uzgodnienia z u偶ytkownikiem bazy danych poprawnego widzenia 艣wiata.
Powi膮zania wst臋pne pomi臋dzy encjami mog膮 r贸wnie偶 mie膰 atrybuty. W og贸lnym przypadku nale偶y d膮偶y膰 do unikania tworzenia modeli, kt贸rych powi膮zania maj膮 swoje atrybuty, takie modele poddaj膮 si臋 trudniej reprezentacji w postaci modeli reprezentacyjnych.
Pod poj臋ciem klucza rozumiemy pewien zbi贸r identyfikuj膮cy relacje. Taki zbi贸r pozwala na jednoznaczne identyfikowaniu poszczeg贸lnych element贸w danej relacji kt贸ry ma by膰 u偶ywany jako klucz by膰 jednocze艣nie minimalnych zbiorem.
Minimalnym to znaczy takim kt贸rego 偶aden podzbi贸r nie jest zbiorem identyfikuj膮cym relacje. Dana relacja mo偶e mie膰 jednocze艣nie wiele r贸偶nych zbior贸w identyfikuj膮cych. Zbiory takie nazywamy kluczami kandyduj膮cymi. Z po艣r贸d nich wybiera si臋 jeden klucz nosz膮cy nazw臋 klucza relacji. Wyb贸r klucza relacji podyktowany jest wzgl臋dami zwi膮zanych z usprawnieniem operowania na danych i jego przydatno艣ci.
Zwi膮zki.
Zwi膮zek okre艣la fakt istnienia pewnego rodzaju po艂膮czenia pomi臋dzy elementami r贸偶nych typ贸w encji. Zwi膮zek okre艣lany jest przez jego stopie艅. Stopniem zwi膮zku nazywamy powi膮zania r贸偶nych typ贸w encji, kt贸rych elementy mo偶na w danym zwi膮zku jednocze艣nie wyst膮pi膰.
Ka偶de powi膮zanie musi nosi膰 indywidualn膮 nazw臋.
Reprezentacja powi膮za艅 przy pomocy sieci schematycznych.
Poniewa偶 poszczeg贸lne elementy r贸偶nych obraz贸w encji mog膮 pozostawa膰 z sob膮 w zwi膮zkach to fakty takie nale偶y zapisa膰. Zapis ten wymaga rozwa偶ania cech danego powi膮zania w艂a艣ciwych dla danego modelu 艣wiata.
Tworzenie sieci schematycznej i przedyskutowanie jej struktury z u偶ytkownikiem pozwala na wykrycie szeregu regu艂, kt贸re w nast臋pnym etapie projektu mog艂y nie by膰 w spos贸b czytelny sformu艂owane.
W powi膮zaniach pomi臋dzy encjami mog膮 wyst臋powa膰 powi膮zania rekursyjne (nle偶y ich unika膰 poniewa偶 baza danych mo偶e dawa膰 nie jednoznaczne wyniki dla takich samych zapyta艅).
Przy powi膮zaniach pomi臋dzy encjami nale偶y okre艣li膰 typ powi膮za艅. Pod poj臋ciem typu powi膮za艅 b臋dziemy rozumie膰 1 z 3 przypadk贸w:
1 : N (cz艂owiek wiele adres贸w)
1 : 1
N : N (wiele j臋zyk贸w programowania i wiele je偶yk贸w danych)
Tworz膮c modele baz danych nale偶y unika膰 tworzenia modeli kt贸rych wyst臋puj膮 powi膮zania 1:1. W przypadku N:N najcz臋艣ciej konieczne b臋dzie tworzenie wiele typ贸w encji.
1