czwartek, 9 kwietnia 2015

Bazy Danych



Baza danych to zbiór informacji zapisanych w ściśle określony sposób w strukturach odpowiadających założonemu modelowi danych. W potocznym ujęciu obejmuje dane oraz program komputerowy wyspecjalizowany do gromadzenia i przetwarzania tych danych. Program taki (często zestaw programów) nazywany jest „Systemem zarządzania bazą danych” (ang.Data Base Management System, DBMS). Inaczej, baza danych oznacza zbiór danych, opisujący pewien wybrany fragment rzeczywistości. Przykładowo bazą danych może być zbiór danych banku na temat klientów, ich rachunków, operacji na rachunkach, udzielanych kredytach.

System Zarządzania Bazą Danych (SZBD) to oprogramowanie, którego podstawowym zadaniem jest kontrola organizacji, przechowywania i zarządzania danymi zgromadzonymi w bazie danych. Pozwala to na:
  •  łatwy dostęp do danych (dane są zorganizowane w struktury
  • jednoczesny dostęp do danych przez wielu użytkowników (architektura klient-serwer, transakcje)
  • zmianę istniejących danych (dodawanie, usuwanie, edycja)
  •  kontrolę dostępu do danych (autoryzacja, ograniczenie dostępu)
  • bezpieczeństwo danych (archiwizacja, logowanie)
Każdy system zarządzania bazą danych można podzielić na trzy podstawowe elementy: język  modelowania, strukturę danych, język zapytań do bazy danych oraz mechanizm transakcji.

Język modelowania opisuje schemat komunikacji dla wszystkich baz związanych z danym SZBD. Obecnie najbardziej popularny jest model relacyjny, w którym dane przechowywane są w tabelach składających się z wierszy i kolumn. Innymi typami modeli są: model powiązań, hierarchiczny oraz obiektowy. Jeden system zarządzania bazą danych może obsługiwać jeden bądź wiele modeli.

Struktura danych określa sposób przechowywania danych (kolumn, wierszy, plików, obiektów) w systemie.

Język zapytań do bazy danych umożliwia interakcję z bazą danych, analizę i zmianę istniejących danych. Obecnie najbardziej popularnym językiem zapytań jest SQL obsługiwany przez większość popularnych systemów zarządzania bazą danych.

Mechanizm transakcji zapewnia integralność danych w warunkach jednoczesnej pracy wielu użytkowników oraz w przypadku zaistniałych błędów, np. przerwania połączenia z bazą.


  •  Kartotekowe - W bazach kartotekowych każda tablica danych jest samodzielnym dokumentem i nie może współpracować z innymi tablicami. Z baz tego typu korzystają liczne programy typu: książka telefoniczna, książka kucharska, spisy książek, kaset i inne. Wspólną cechą tych baz jest ich zastosowanie w jednym wybranym celu.
  •   Bazy Relatywne – w tym typie wiele tablic danych może współpracować ze sobą (są między sobą powiązane). Bazy relacyjne posiadają wewnętrzne języki programowania, wykorzystujące zwykle SQL do operowania na danych, za pomocą których tworzone są zaawansowane funkcje obsługi danych. Relacyjne bazy danych (jak również przeznaczony dla nich standard SQL) oparte są na kilku prostych zasadach:
    •  Wszystkie wartości danych oparte są na prostych typach danych.
    • Wszystkie dane w bazie relacyjnej przedstawiane są w formie dwuwymiarowych tabel (w matematycznym żargonie noszących nazwę „relacji”). Każda tabela zawiera zero lub więcej wierszy (w tymże żargonie – „krotki”) i jedną lub więcej kolumn („atrybutów”). Na każdy wiersz składają się jednakowo ułożone kolumny wypełnione wartościami, które z kolei w każdym wierszu mogą być inne.
    •  Po wprowadzeniu danych do bazy, możliwe jest porównywanie wartości z różnych kolumn, zazwyczaj również z różnych tabel, i scalanie wierszy, gdy pochodzące z nich wartości są zgodne. Umożliwia to wiązanie danych i wykonywanie stosunkowo złożonych operacji w granicach całej bazy danych.
    • Wszystkie operacje wykonywane są w oparciu o algebrę relacji, bez względu na położenie wiersza tabeli. Nie można więc zapytać o wiersze, gdzie (x=3) bez wiersza pierwszego, trzeciego i piątego. Wiersze w relacyjnej bazie danych przechowywane są w porządku zupełnie dowolnym – nie musi on odzwierciedlać ani kolejności ich wprowadzania, ani kolejności ich przechowywania.
    •   Z braku możliwości identyfikacji wiersza przez jego pozycję pojawia się potrzeba obecności jednej lub więcej kolumn niepowtarzalnych w granicach całej tabeli, pozwalających odnaleźć konkretny wiersz. Kolumny te określa się jako „klucz podstawowy” (ang. primary key) tabeli.



  •   Rekord - w bazie danych jest konstrukcją analogiczną do rekordu w języku programowania. Posiada strukturę wewnętrzną — podział na pola o określonym typie. Rekordem może być wiersz pliku tekstowego, a pola mogą być określone poprzez pozycję w wierszu lub oddzielane separatorami. W relacyjnych bazach danych rekord to jeden wiersz w tabeli, czyli jedna krótka w relacji. Podczas przetwarzania wyników zapytań do bazy danych, które mogą zawierać połączone dane z kilku tabel, pojedynczy wiersz również jest nazywany rekordem. W niektórych językach (np. Pascal) można definiować interfejsy do operowania na plikach na poziomie rekordów; wtedy cały plik jest traktowany jak zbiór rekordów, a czytanie i pisanie realizowane jest całymi rekordami.
  •  Pole rekordu – jest to najmniejsza część wyżej opisanego rekordu, która przechowuje jedną daną.
  • Klucze - Zadaniem klucza podstawowego jest zapewnienie unikalności, zapewnienie że kolumny klucza nie zawierają wartości pustych, możliwości identyfikacji rekordu w bazie danych, jak i szybszego wyszukania interesującego nas rekordu.

  • Kwerendy stanowią podstawowe narzędzie baz danych, które może spełniać wiele różnych funkcji. Najczęściej są one używane do pobierania określonych danych z tabel. Często dane, które mają być pobrane, znajdują się w kilku tabelach — kwerendy pozwalają przeglądać takie dane w jednym arkuszu danych. Poza tym nie zawsze jest konieczne wyświetlanie wszystkich rekordów, dlatego przy użyciu kwerend można określać odpowiednie kryteria „filtrowania” danych, aby uzyskać dostęp tylko do potrzebnych rekordów. Kolejnym zastosowaniem kwerend jest dostarczanie danych dla formularzy i raportów. Niektóre kwerendy umożliwiają edytowanie danych w tabelach źródłowych za pomocą arkusza danych kwerendy. W przypadku używania kwerend aktualizujących należy pamiętać, że zmiany zostaną wprowadzone w tabelach, a nie tylko w arkuszu danych kwerendy. Istnieją dwa podstawowe typy kwerend: kwerendy wybierające i kwerendy funkcjonalne. Kwerenda wybierająca pobiera dane i udostępnia je. Można wyświetlić wyniki takiej kwerendy na ekranie, wydrukować je lub skopiować do schowka. Wyniki kwerendy mogą też posłużyć jako źródło rekordów dla formularza lub raportu. Kwerenda funkcjonalna, jak wskazuje jej nazwa, służy do wykonywania zadań związanych z danymi. Kwerendy funkcjonalne umożliwiają tworzenie nowych tabel, dodawanie danych do istniejących tabel oraz aktualizowanie i usuwanie danych.
  • Formularz - Formularze są też określane jako „ekrany wprowadzania danych”. Stanowią one interfejs do pracy z danymi i często zawierają przyciski umożliwiające wykonywanie różnych poleceń. Można utworzyć bazę danych bez korzystania z formularzy, edytując dane w arkuszach danych tabel. Większość użytkowników baz danych woli jednak używać formularzy do przeglądania, wprowadzania i edytowania danych przechowywanych w tabelach. Formularze usprawniają pracę z danymi, udostępniając łatwy w użyciu interfejs, a także umożliwiając dodawanie elementów funkcjonalnych, takich jak przyciski poleceń. Po odpowiednim zaprogramowaniu przyciski umożliwiają określanie danych wyświetlanych w formularzu, otwieranie innych formularzy lub raportów oraz wykonywanie wielu innych zadań. Przykładem może być formularz o nazwie „Formularz klienta” służący do pracy z danymi klienta. Taki formularz może zawierać przycisk otwierający formularz zamówienia, który pozwala wprowadzić nowe zamówienie dla danego klienta. Dzięki formularzom można określać sposoby interakcji użytkowników z danymi zawartymi w bazie danych. Można na przykład utworzyć formularz wyświetlający tylko wybrane pola i udostępniający tylko określone operacje. Ułatwia to ochronę i poprawne wprowadzanie danych.
  •  Raporty służą do podsumowywania i wyświetlania danych zawartych w tabelach. Zazwyczaj raport umożliwia odpowiedź na określone pytanie dotyczące danych, na przykład „Ile pieniędzy otrzymaliśmy od poszczególnych klientów w tym roku?” lub „W jakich miastach mają swoje siedziby nasi klienci?” Każdy raport można sformatować w sposób zwiększający czytelność danych. Raport można uruchomić w dowolnym momencie, przy czym zawsze będzie on odzwierciedlał bieżące dane znajdujące się w bazie danych. Raporty są zazwyczaj formatowane z myślą o ich drukowaniu, ale można też wyświetlać je na ekranie, eksportować do innych programów lub wysyłać jako wiadomości e-mail.

poniedziałek, 30 marca 2015

Grafika Komputerowa

1. Rozwój grafiki komputerowej
'50 - pierwsze monitory graficzne
1962 - sketchpad (Ivan Sutherland)
1964 - Algorytmy graficzne (Uniwersytet w Utah)
1969 - Evans&Sutherland (SIGGRAPH (ACM) )
1974 - Laboratorium graficzne (NY Institute of Technology)
1982 - TRON StarTrek
1983 - Fraktale
1984 - Metoda energetyczna (radiosity)
1995 - Toy Story
2001 - Photon Mapping (mapowanie fotonowe)

2.Przykłady zastosowania grafiki komputerowej:
-Interfejs użytkownika
-wykresy w biznesie, nauce i technologii
-medycyna, np. tomografia, diagnostyka medyczna
-kreślenie i projektowanie wspomagane komputerowo
-symulacja i animacja dla wizualizacji naukowej i rozrywki
-przemysł filmowy
-wizualizacja w symulatorach lotu

3. Podział grafiki komputerowej
-rastrowa (zbudowana z pikseli)
-wektorowa (obraz zbudowany z prostokątnej siatki tworzony z łuków geometrycznych i linii)

voxel - pixel przestrzenny
DPI - ilość pikseli na daną matrycę (ilość pixeli na calu)

b) pod względem charakteru przetwarzanych danych - grafika
-2D
-2,5D(grafika z cieniem)
-3D
c) pod względem cyklu, sposobu generacji obrazu
-nieinterakcyjna
-interakcyjna
-czasu rzeczywistego

4. Sposób reprezentacji danych w programach komputerowych

Grafika wektorowa
Obrazy składają się nie tylko z wektorów (odcinków), ale innych figur geometrycznych.  Zapamiętywane są charakterystyczne dla danych figur dane (parametry), np. dla okręgu będzie to środek i promień, dla odcinka współrzędne punktów kontrolnych. Program, jeśli musi narysować obraz na urządzeniu (rastrowym lub wektorowym), na podstawie posiadanych danych wygeneruje obraz tych figur. Można dowolnie powiększyć obrazy, bez utraty jakości.


Grafika rastrowa (bitmapowa) Do zapamiętania obrazu rastrowego potrzebna jest dwuwymiarowa tablica pikseli nazywana powszechnie bitmapą. Nazwa wzięła się stąd, że początkowo były rozpowszechnione systemy wyświetlające obrazy czarno-białe, więc w takim przypadku pojedynczy piksel mógł być opisany przez jeden bit. Jednak gdy powszechniejsza stała się grafika kolorowa, piksele zaczęły być opisywane więcej niż jednym bitem.  Piksel - najmniejszy, niepodzielny element obrazu o stałej barwie. Najmniejszy punkt ekranu lub obrazu. Słowo powstałe jako zlepek angielskich picture oraz element.
Rozdzielczość - rozmiar obrazka podany ilością pikseli w jego szerokości i wysokości.


DPI, PPI, LPI


  • Ilość pikseli (kropek, punktów, linii) na jednostkę długości (cal) - dots/points/lines per inch
  • Określa ile punktów będzie miał obraz w swojej szerokości.
  • Określenie stosowane głównie w przypadku urządzeń typu skaner, drukarka, ploter.
Voxele (woksele) - obiekt jest budowany z elementarnych sześcianów (trójwymiarowych pikseli). Tego rodzaju reprezentacja jest rozpowszechniona szczególnie w diagnostyce medycznej, gdzie uzyskuje się szereg przekrojów (obrazów bitmapowych) ciała pacjenta i na ich podstawie tworzy trójwymiarowe modele. Obrazy stanowią przestrzenne rozłożenie natężenia napromieniowania na płaszczyźnie.



Barwy chromatyczne (barwy kolorowe) - wszystkie kolory, w których można wyróżnić dominantę, choćby niewielką, jakiejś barwy - są to wszystkie kolory prócz czerni, bieli i wszystkich szarości.
Barwy achromatyczne (barwy niekolorowe) - wszystkie barwy nie posiadające dominanty barwnej - kolory: biały, czarny oraz wszystkie stopnie szarości.
Kolory dopełniające:
czerwony ------ zielony niebieski ------ pomarańczowy fioletowy ------ żółty


Czemu patrzysz żabko zielona na głupiego fanfarona (czerwony, pomarańczowy, żółty, zielony, niebieski, fioletowy)

Modele barw:

Model RGB wykorzystywany jest tam, gdzie źródłem barwy jest światło.
Model CMY - substraktywna synteza kolory. Do opisu kolorów uzyskanych z urządzeń pasywnych, takich jak drukarki czy plotery, stosuje się model CMY, oparty na kolorach: Cyan (turkusowym), Magenta (purpurowym) oraz Yellow (żółtym).

CMYK - to samo co CMY + kolor czarny! (wydruk)

Model HSB oznaczany też jako HSV. Nazwa z ang. Hue Saturation Value/Brightness - model opisu przestrzeni barw zaproponowany w 1978 roku przez Alveya Raya Smitha. Tłumacząc na polski - odcień (spektrum), nasycenie, wartość/jasność.

HTML

HTML pozwala opisać strukturę informacji zawartych wewnątrz strony internetowej, nadając znaczenie poszczególnym fragmentom tekstu – formując hiperłącza, akapity, nagłówki, listy – oraz osadza w tekście dokumentu obiekty plikowe np. multimedia bądź elementy baz danych np. interaktywne formularze danych.
HTML umożliwia określenie wyglądu dokumentu w przeglądarce internetowej. Do szczegółowego opisu formatowania akapitów, nagłówków, użytych czcionek i kolorów, zalecane jest wykorzystywanie kaskadowych arkuszy stylów.
W składni HTML wykorzystuje się pary znaczników umieszczone w nawiasach ostrokątnych, np. <title> i </title> lub <h1> i </h1>.
HTML pozwala również na osadzanie ciągów instrukcji języków skryptowych, umieszczonych pomiędzy znacznikami <script> i </script>
Należy nadmienić, że HTML, będąc językiem znaczników, nie jest zaliczany do języków programowania – w jego składni nie przewidziano wyrażeń obliczeniowych, warunkowych czy iteracyjnych.
Ważną cechą HTML-a, która przyczyniła się do popularności systemu WWW oraz Internetu, jest niezależność od systemu operacyjnego i wykorzystywanego sprzętu komputerowego.

Prosty przykład strony WWW w HTML-u z ustawieniem języka polskiego:
<!doctype html>
 
<html lang="pl" dir="ltr">
 
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Tytuł strony</title>
</head>
 
<body>
    <h1>Nagłówek pierwszego poziomu</h1>
    <p>
    Akapit (z ang. paragraph)<br />
    i jeszcze trochę tekstu w następnym wierszu<br />
    a to jest <a href="http://pl.wikipedia.org">link do Wikipedii</a>.
    </p>
</body>
 
</html> 
 
Aby obejrzeć powyższy dokument w przeglądarce, należy go zapisać z rozszerzeniem .html (bądź innym, które na naszym komputerze zostanie przedstawione przeglądarce jako text/html np. .htm) i po prostu otworzyć.
Powinien się wyświetlić tekst:
Nagłówek pierwszego poziomu
Akapit (z ang. paragraph)
i jeszcze trochę tekstu w następnym wierszu
a to jest link do Wikipedii.