Poznaj Firebird w dwie minuty (fragmenty artykułu Carlosa H. Cantu)

Podobne dokumenty
Bazy danych. Andrzej Łachwa, UJ, /15

Bazy danych 7/15. Andrzej Łachwa, UJ,

Firebird Alternatywa dla popularnych darmowych systemów bazodanowych MySQL i Postgres

NARZĘDZIA WIZUALIZACJI

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

NARZĘDZIA WIZUALIZACJI

NARZĘDZIA WIZUALIZACJI

W kolejnym kroku należy ustalić liczbę przedziałów k. W tym celu należy wykorzystać jeden ze wzorów:

Wykład 4: Statystyki opisowe (część 1)

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Database Connectivity

Bazy danych. dr inż. Arkadiusz Mirakowski

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

PHP: bazy danych, SQL, AJAX i JSON

Systemy GIS Tworzenie zapytań w bazach danych

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

Wykład 05 Bazy danych

Liczba godzin 1,2 Organizacja zajęć Omówienie programu nauczania 2. Tematyka zajęć

CREATE USER

1 Podstawy rachunku prawdopodobieństwa

Relacyjne bazy danych. Podstawy SQL

Wykład 6. SQL praca z tabelami 3

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

Szkolenie autoryzowane. MS Tworzenie zapytań do Microsoft SQL Server Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Przestrzenne bazy danych Podstawy języka SQL

Bazy danych 10. SQL Widoki

SQL (ang. Structured Query Language)

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

Projektowanie baz danych za pomocą narzędzi CASE

Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski. Poznań,

Microsoft SQL Server Podstawy T-SQL

Szkolenie autoryzowane. MS 6232 Wdrażanie bazy danych Microsoft SQL Server 2008 R2

Bazy danych Wykład zerowy. P. F. Góra

Wykład 8. SQL praca z tabelami 5

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Widok Connections po utworzeniu połączenia. Obszar roboczy

Wykład 3. Opis struktury zbiorowości. 1. Parametry opisu rozkładu badanej cechy. 3. Średnia arytmetyczna. 4. Dominanta. 5. Kwantyle.

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

SSI Katalog. Program do katalogowania zawartości dysków. Dariusz Kalinowski

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi

P o d s t a w y j ę z y k a S Q L

dziennik Instrukcja obsługi

Rok szkolny 2015/16 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. ADMINISTROWANIE BAZAMI DANYCH kl. 4c

Zaawansowane bazy danych i hurtownie danych studia niestacjonarne II stopnia, sem. I

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:

Paweł Rajba

Relacyjne bazy danych. Podstawy SQL

Przykładowa baza danych BIBLIOTEKA

Wstęp do relacyjnych baz danych. Jan Bartoszek

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Grupowanie i funkcje agregujące

Statystyka hydrologiczna i prawdopodobieństwo zjawisk hydrologicznych.

Projektowanie systemów baz danych

Administrowanie serwerami baz danych ZADANIA ADMINISTRATORA BAZ DANYCH

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Wymagane jest podłączenie serwera do Internetu (konieczne do zdalnego dostępu).

Wykład 3. Metody opisu danych (statystyki opisowe, tabele liczności, wykresy ramkowe i histogramy)

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4

Bazy danych i strony WWW

MIARY KLASYCZNE Miary opisujące rozkład badanej cechy w zbiorowości, które obliczamy na podstawie wszystkich zaobserwowanych wartości cechy

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

Wprowadzenie do JDBC z wykorzystaniem bazy H2

Red Hat Network Satellite Server

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Wykład 2. Statystyka opisowa - Miary rozkładu: Miary położenia

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

Wstęp. Opis ten dotyczy wydziałów orzeczniczych.

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK

Wykład I. Wprowadzenie do baz danych

STROJENIE PRZETWARZAŃ SAS

Kasy Fiskalne Lublin Analityk

Projekt: MS i CISCO dla Śląska

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

MAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja wielokrotna)

Aplikacje WWW - laboratorium

Win Admin Monitor Instrukcja Obsługi

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

JDBC w LoXiMie. Interfejs Java Database Connectivity dla systemu LoXiM. Adam Michalik 2008

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga

SQL praca z tabelami 4. Wykład 7

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

Transkrypt:

Poznaj Firebird w dwie minuty (fragmenty artykułu Carlosa H. Cantu) Firebird wywodzi się z kodu źródłowego Borland InterBase 6.0. Jest to produkt typu open source nie ma podwójnej licencji. Jeżeli użyjesz go we własnych aplikacjach, zarówno komercyjnych, jak i open source, Firebird zawsze jest całkowicie DARMOWY! Technologia Firebird jest nieustannie rozwijana przez ostatnie 20 lat. Dzięki temu jest to produkt dojrzały oraz stabilny. Pomimo małych rozmiarów zarówno programu instalującego jak i samego serwera, Firebird jest w pełni funkcjonalnym serwerem baz danych. Może zarządzać bazami danych o wielkości od kilku kilobajtów do wielu gigabajtów, charakteryzując się dobrą wydajnością oraz niemal zupełnie nie wymaga administrowania.

Lista najważniejszych cech Firebird: Pełna obsługa procedur wbudowanych oraz wyzwalaczy; Pełna obsługa transakcji ACID; Integralność danych (ang. Referential Integrity); Obsługa wielu wersji tego samego rekordu (ang. Multi Generational Architecture); Nie wymaga specjalnego środowiska do działania; W pełni rozwinięty wewnętrzny język dla procedur wbudowanych oraz wyzwalaczy (PSQL); Możliwość korzystania z zewnętrznych bibliotek funkcji (UDF); Praktycznie nie wymaga obsługi przez wyspecjalizowanych administratorów; Niemal w ogóle nie wymaga konfigurowania wystarczy go zainstalować i używać!

Duża społeczność użytkowników oraz wiele miejsc, gdzie można otrzymać darmową, skuteczną pomoc; Opcjonalna kilkuplikowa wersja embedded świetnie nadaje się między innymi do tworzenia katalogów na płytach CD oraz jednostanowiskowych lub demonstracyjnych wersji aplikacji; Wiele narzędzi, między innymi graficzne narzędzia do administrowania, narzędzia do replikacji i inne; Pieczołowite zapisywanie do bazy danych umożliwia szybkie przywrócenie możliwości pracy z bazą danych, bez potrzeby zapisywania transakcji w plikach LOG! Wiele możliwości połączenia aplikacji z bazami danych: natywne poprzez API, sterowniki dbexpress, ODBC, OLEDB,.Net, natywny sterownik JDBC typu 4, moduły Python, PHP, Perl, Ruby i inne; Wersje dla wszystkich najważniejszych systemów operacyjnych, włączając Windows, Linux, Solaris, MacOS, HP_UX i FreeBSD; Przyrostowe kopie bezpieczeństwa (ang. Incremental Backups);

Dostępne wersje 64-bitowe; Pełna implementacja kursorów w PSQL; Tabele monitorujące; Wyzwalacze dla połączeń oraz transakcji; Tabele tymczasowe; TraceAPI monitorowanie działania serwera. Graficzne programy do administrowania FlameRobin (Open Source, działa w Windows, Linux, MacOSX i FreeBSD) IBExpert (dostępna jest DARMOWA wersja personal) DB Workbench EMS SQL Management Studio Firebird Development Studio

Wersja embedded to zadziwiająca odmiana serwera. Jest to w pełni funkcjonalna wersja, dostępna w postaci kilku plików. Jest bardzo łatwa do instalowania razem z aplikacją, ponieważ tej wersji Firebird nie trzeba instalować. Zob: http://firebird-pl.blogspot.com/ http://www.firebirdnews.org/ http://www.firebird.org/

Tabele pomocnicze Tabele pomocnicze nie są częścią modelu danych, więc nie powinny pojawiać się na etapie projektowania koncepcyjnego. Wyróżnimy dwa rodzaje takich tabel: tabele słownikowe i tabele funkcyjne. Rozważmy dwa przypadki tabel słownikowych: listę nazw województw oraz listę nazw państw świata. Obie listy powinny być używane zawsze wtedy, gdy użytkownik bazy danych będzie mógł wprowadzać te nazwy jako dane. Wprowadzanie to powinno być zawsze (w tego rodzaju przypadkach) ograniczone do wyboru elementu z listy!... Sprawa nie jest jednak prosta (por. alfabetyczny wykaz krajów ).

Tabela funkcyjna jest sposobem zdefiniowania funkcji. Tabela ta jest wykorzystywana do wykonywania zapytań. Często tworzoną tabelą funkcyjną jest kalendarz. Jest tak m. in. dlatego, że daty świąt są bardzo nieregularne (np. wyznaczanie świąt ruchomych, takich jak Wielkanoc czy Ramadan, przy użyciu funkcji byłoby bardzo trudne). Wielkość kalendarza na 20 lat to tylko około 7000 wierszy, czyli bardzo mała tabela. Tabelę taką zapełniamy danymi przygotowanymi w arkuszu kalkulacyjnych bądź pobranymi z Internetu i zabraniamy modyfikacji tych danych użytkownikom bazy (z wyłączeniem administratora danych, bo przecież mogą następować zmiany ustawowe regulujące liczbę i terminy świąt, terminy wakacji szkolnych itp.). Por. kalendarz świąt

Statystyki w języku SQL W różnych produktach SQL spotkamy rozmaite funkcje wbudowane ułatwiające analizy statystyczne. Jeżeli nie zależy nam na przenośności kodu, to lepiej użyć funkcji wbudowanych.

Zacznijmy od najprostszych statystyk (dla bazy World): select c.continent, count(c.continent) as frequency, round(100.0*(count(c.continent))/ (select count(*) from country),2) as percent from country as c group by continent; create temporary table statistics as select c.continent, count(c.continent) frequency, round(100.0*(count(c.continent))/ (select count(*) from country),2) as percent from country as c group by continent order by percent desc;

select continent,stat.frequency, (select sum(s.frequency) from stats as s where s.frequency>=stat.frequency) as cumulative from stats as stat;

select continent, stat.frequency, percent, (select sum(s.percent) from stats as s where s.percent>=stat.percent) as cum_percent from stats as stat;

Wartość modalna Wartość modalna to wartość najczęściej pojawiająca się w zbiorze (jeśli są takie dwie wartości, to mówimy że rozkład jest dwumodalny, podobnie trzymodalny etc.). Wykonajmy to zapytanie w kilku krokach:

Wartość modalna jest słabą statystyką. Na przykład 1. gdy liczymy modalne pobory wśród pracowników, to dokładna wartość tej zmiennej nie jest dobra lepiej dopuścić kilkuprocentowe odchylenie: having count(*)>= all (select count(*)*0.95 from 2. gdy dwie częstości są blisko siebie to dobrym rozwiązaniem jest dopuszczenie odchylenia k wartości

Wartość średnia [MySQL 5.6 Reference Manual, p. 1372]

Mediana Jest to wartość, dla której jest dokładnie tyle samo elementów o wartościach od niej niższych, co elementów o wartościach od niej wyższych. Jeśli taka wartość istnieje w zbiorze danych to nazywamy ją medianą statystyczną, jeżeli nie, to oblicza się medianę finansową. Zbiór danych dzieli się wtedy na dwa równoliczne, tak by elementy pierwszego były mniejsze od elementów drugiego, następnie oblicza się średnią między maksimum pierwszego i minimum drugiego. Inne nazwy: wartość środkowa, wartość przeciętna. Z medianą statystyczną jest problem, gdy wartości środkowych jest kilka (wskazany wyżej podział jest wówczas niemożliwy).

Kwartyle Kwartyle dzielą wszystkie obserwacje na cztery równe co do ilości grupy.kwartyl pierwszy (Q1) dzieli obserwacje w stosunku 25% do 75%, co oznacza, że 25% obserwacji jest niższa bądź równa wartości Q1, a 75% obserwacji jest równa bądź większa niż Q1. Kwartyl drugi (Q2), inaczej zwany medianą(!), dzieli obserwacje na dwie części w stosunku 50% do 50%. Kwartyl trzeci (Q3) dzieli obserwacje w stosunku 75% do 25%, co oznacza, że 75% obserwacji jest niższa bądź równa wartości Q3, a 25% obserwacji jest równa bądź większa niż Q3. Odchylenie ćwiartkowe (Q), to połowa różnicy między trzecim a pierwszym kwartylem.

Kwantyle Kwantylem rzędu p z przedziału (0,1) jest taka wartość xp zmiennej losowej, że wartości xp są przyjmowane z prawdopodobieństwem co najmniej p, a wartości xp są przyjmowane z prawdopodobieństwem co najmniej 1 p. Kwantyl rzędu ½ to inaczej mediana. Kwantyle rzędu ¼, 2/4, 3/4 to kwartyle Kwantyle rzędu ⅕, ⅖, ⅗, ⅘ to kwintyle. Kwantyle rzędu 1/10, 2/10, to decyle.

Przykład

Pierwsza mediana Date'a 2 2 2 3 6 6 6 7 9 12 12 4 17 2 30 2 2 2 2 3 4 6 6 6 7 9 12 12 17 30

2 2 2 2 3 4 6 6 6 7 9 12 12 17 30 30 130 104 105 a teraz dodam 4 i powinno być 2 2 2 2 3 4 4 6 6 6 7 9 12 12 17 30 30 130 104 105 6.5

skrypt.txt insert into foo(bar) value (4); drop view foo1; drop view foo2; create view foo1 as select bar from foo union all select bar from foo; create view foo2 as select bar from foo1 where (select count(*) from foo)<= (select count(*) from foo1 as f1 where f1.bar>=foo1.bar) and (select count(*) from foo)<= (select count(*) from foo1 as f2 where f2.bar<=foo1.bar); select avg(distinct bar) as median from foo2;

Pierwsza mediana Celko Liczymy osobno najmniejszą wartość w górnej połowie i największą wartość w dolnej połowie. Operacja grupowania przebiega po wszystkich wierszach tabeli F1 i dlatego należy tabelę FOO uzupełnić o klucz ID:

Tabela krzyżowa Tworzymy tabelę pomocniczą a następnie połączymy ją z tabelą danych sprzedaży z czterech lat od 2003 do 2006.

Ćwiczenie: Wygeneruj wypłaty dla kilku bankomatów dla jednego miesiąca i wykonaj dla takich danych tabelę krzyżową.