NARZĘDZIA WIZUALIZACJI

Transkrypt

NARZĘDZIA WIZUALIZACJI
Kurs interaktywnej komunikacji wizualnej
NARZĘDZIA WIZUALIZACJI
Andrzej Łachwa
[email protected]
3‐4/8
Zobacz film:
http://www.ted.com/talks/david_mccandless_the_beauty_of_dat
a_visualization.html
Zwykłe działanie programu z danymi
przechowywanymi w bazie danych polega na
komunikowaniu się programu z serwerem
bazodanowym.
program
program
baza
baza
program
baza
baza
baza
program
SQLite jest biblioteką napisaną w ANSI C.
zajmującą od 180 do 250 KB!
Implementuje bezserwerowy i bezkonfiguracyjny
silnik relacyjnego języka zapytań SQL.
Praca z SQLite polega na odczytywaniu,
edytowaniu i zapisywaniu jednego zwykłego
pliku, w którym mieści się cała baza (definicja
struktury, tabele, widoki, indeksy, wyzwalacze).
SQLite pozwala na jednoczesny dostęp różnych
procesów do tych samych danych (do pliku
z danymi).
Nie trzeba nic instalować ani konfigurować!
SQLite działa na różnych platformach: Linux,
MacOSX, Win32, Win64, OS/2 i in.
Przenoszenie z systemu 32-bitowego na 64bitowy polega na skopiowaniu pliku z bazą!
Potrzebne mu zasoby pamięci operacyjnej są
niewielkie (dlatego spotykamy go w aplikacjach
na telefony, palmtopy, odtwarzacze mp3, mp4).
Dostęp do bazy SQLite'a można uzyskać z wielu
języków programowania: Ruby, Python, C/C++,
Tcl, PHP, Java, Perl …
Z SQLite korzystają m.in: iPhone, iPod, Symbian,
Avast!, Antivir, SunSolaris, Mozilla Firefox,
Google, Philips, Adobe, Apple.
Możliwy import plików .csv
SQLite jest wygodnym motorem bazodanowym:
- dla aplikacji desktopowych, które korzystają ze
złożonych strukturalnie danych przechowywanych
na dysku (dane te można wpakować do bazy
SQLite i przechowywać jako pojedynczy plik).
- dla aplikacji na telefony komórkowe, tablety czy
netbooki,
- dla stron internetowych o małym bądź średnim
natężeniu ruchu ,
- dla programów, które sortują i filtrują duże
ilości złożonych danych (operacje te lepiej
wykonać przez motor SQLite dla bazy załadowanej do pamięci operacyjnej),
- do testowania prototypów aplikacji,
i wielu innych zastosowań.
Narzędzia do zarządzania bazami:
- SQLite Manager - dodatek przeglądarki Mozilla
Firefox
- SQLite Database Browser, narzędzie graficzne
- sqlite3, narzędzie znakowe
Wybrane ograniczenia:
- brak kluczy obcych
- nie można dodać ani usuną kolumny przez
ALTER TABLE
- możliwe tylko pojedyncze transakcje
- niemożliwe łączenie FULL JOIN i RIGHT JOIN
- perspektywy tylko do odczytu
Typy kolumn:
INTEGER, NUMERIC, REAL, TEXT, NONE. Typy
wartości: NULL, INTEGER, REAL, TEXT, BLOB
(mechanizm manifest typing).
Źródła
http://souptonuts.sourceforge.net/readme_sqlite_tutorial.html
http://www.shokhirev.com/nikolai/abc/sql/sql.html
http://www.sqlite.org/
http://php.net/manual/en/book.sqlite.php
INSTALAJCA w systemie WINDOWS
Pobieramy pliki:
sqlite-dll-win32-x86-3071502
sqlite-shell-win32-x86-3071502
sqlite-doc-3071502
ze strony www.sqlite.org.
SQLite jest rozpowszechniany na licencji public
domain.
INSTALAJCA w systemie WINDOWS cd
Rozpakowujemy pierwsze dwa pobrane pliki
i umieszczamy je np. w katalogu
c:/Program Files/SQLite,
a trzeci po rozpakowania np. w katalogu
c:/Program Files/SQLite/Doc
Pierwszą z tych ścieżek dodajemy do zmiennej
systemowej Path.
Całą dokumentację dostępną na stronie
www.sqlite.org możemy oglądać w trybie off-line
uruchamiając plik index z drugiego katalogu.
URUCHOMIENIE w systemie WINDOWS
W wierszu poleceń lub w konsoli interpretera
poleceń cmd wpisujemy:
e: (ewentualna zmiana dysku)
cd temp (wybór katalogu z plikami)
sqlite3 world.db (uruchomienie shella)
Od tego momentu prompt w konsoli przyjmuje
postać:
sqlite>
i możemy wykonywać polecenia konsoli Sqlite'a
na bazie o nazwie world (zapamiętanej w pliku
world.db w katalogu e:/temp).
URUCHOMIENIE w systemie WINDOWS, cd
Dwa polecenia należy zapamiętać:
.help
.quit
Pierwsze wypisuje polecenia powłoki, drugie
pozwala na zamknięcie programu.
Należy zapoznać się z krótką dokumentacją
www.sqlite.org/sqlite.html
PRZYKŁAD UŻYCIA SQLite'a
Wczytujemy przygotowany wcześniej plik
z poleceniami języka SQL umieszczony w naszym
katalogu e:/temp:
.read world1.txt
Jest to baza danych pobrana w 2005 ze strony
www.mysql.com i używana do nauczania języka
SQL. Wersja dla serwera MySQL ma u nas nazwę
world.111, a wersja dla SQLite'a nazwę
world1.txt.
PRZYKŁAD UŻYCIA SQLite'a cd
Sprawdzamy, jakie tabele zostały zdefiniowane
w naszej nowej bazie:
.tables
Następnie oglądamy zawartość tych tabel:
select * from city limit 5;
select * from country limit 5;
select * from countryLanguage limit 5;
PRZYKŁAD UŻYCIA SQLite'a cd
.help
definiujemy:
.header ON
i powtarzamy:
select * from city limit 5;
PRZYKŁAD UŻYCIA SQLite'a cd
.help
definiujemy:
.width 5 15 5 15 10
.mode column
i powtarzamy:
select * from city limit 5;
PRZYKŁAD UŻYCIA SQLite'a cd
.help
A teraz coś bardziej złożonego:
.width 15 15
select Country.name CountryName, City.name
CityName from City, Country where
Code=CountryCode and Capital=id and
Continent="Europe";
KOŃCZYMY PRACĘ z SQLite'em
.quit
i ewentualnie zamykamy konsolę cmd.
Po co używać baz danych?
Nad złożonymi danymi łatwiej zapanować, gdy
nada im się strukturę relacyjnej bazy danych.
Złożone strukturalnie dane łatwiej aktualizować,
gdy są przechowywane w bazie danych.
Język SQL jest powszechnie stosowanym
językiem dostępu do danych, łatwym i wygodnym
w użyciu w niemal wszystkich językach
programowania.
Studium przypadku
KOMUNIKACJA AUTOBUSOWA
DIAGRAM ZWIĄZKÓW ENCJI
SCHEMAT
BAZY DANYCH
KOMUNIKACJI
AUTOBUSOWEJ
SKRYPT DEFINIUJACY BAZĘ (fragment)
CREATE TABLE Kurs (
KodKur SMALLINT AUTO_INCREMENT,
KodTr VARCHAR(10),
Dzien DATE,
Godzina TIME,
KierID SMALLINT,
AutoID SMALLINT,
PRIMARY KEY (KodKur)
);
SKRYPT WYPEŁNIAJĄCY BAZĘ
(fragment)
INSERT INTO Kurs (KodTr, Dzien, Godzina, KierID, AutoID)
VALUES
('KR-WA',DATE_ADD('2012-07-01', INTERVAL
FLOOR(250*RAND()) DAY), MAKETIME(24*RAND(),
60*RAND(), 00), FLOOR(10*RAND())+1,
FLOOR(10*RAND())+1),
('WA-KR',DATE_ADD('2012-07-01', INTERVAL
FLOOR(250*RAND()) DAY), MAKETIME(24*RAND(),
60*RAND(), 00), FLOOR(10*RAND())+1,
FLOOR(10*RAND())+1),
SQL – język relacyjnych baz danych
1.
2.
3.
4.
5.
6.
7.
Projekt struktury danych
Tworzenie tabel
Kwerendy proste
Filtrowanie i porządkowanie
Grupowanie
Kwerendy złożone
Skrypty

Podobne dokumenty