Rozdział monografii: `Bazy Danych: Struktury, Algorytmy

Transkrypt

Rozdział monografii: `Bazy Danych: Struktury, Algorytmy
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Rozdział 47
w
Wykorzystanie aplikacji bazodanowych do analizy
rachunków telefonicznych
w
1 Wstęp
da
.b
w
Streszczenie. W pracy została zaprezentowana grupa analiz proponowanych
do pozyskania dodatkowych informacji na podstawie danych zawartych w
rachunkach telefonicznych. Zasadniczym celem badań było wykorzystanie
informacji o strukturze instytucji w celu dokładniejszego określenia
rozdysponowania kosztów.
pl
s.
Rewolucja techniczna, jaką niesie ze sobą powszechna informatyzacja wszystkich dziedzin
życia prowadzi do powstawania ogromnej liczby danych. Dane te przechowywane są
w formie elektronicznej i w związku z tym za pomocą systemów informatycznych można
prowadzić na nich analizy. Dobrze zaprojektowane systemy eksploracji danych
umożliwiają dostrzeżenie zależności między danymi, które są niewidoczne gołym okiem.
Informacja zdobyta w ten sposób może zostać wykorzystana na przykład do polepszenia
funkcjonowania przedsiębiorstw w analizowanej dziedzinie. Dodatkowo odpowiednie
przetworzenie ma na celu ułatwienie dostępu do danych poprzez uzyskanie formy bliższej
potrzebom użytkownika. Metody przetwarzania danych ewoluują wraz ze wzrostem
możliwości obliczeniowych komputerów od prostych metod statystycznych do coraz
bardziej skomplikowanych algorytmów wnioskowania wykorzystujących sztuczną
inteligencję [12], [13], [14], [15].
Wyrzucić. Zasadniczym celem badań było określenie jak najszerszego spektrum
dostępnych dla użytkownika analiz. Ponieważ część tych danych jest poufna, należało
umożliwić takie syntezy, aby nawet osoby bez prawa dostępu do nich mogły korzystać
z jak najszerszych funkcji systemu. Ważne również było uzyskanie informacji
umożliwiającej obniżenie całkowitych kosztów rozmów poprzez uwidocznienie miejsc,
gdzie takie oszczędności mogłyby zostać wprowadzone, jednocześnie nie ograniczając
w dużym stopniu korzystania z telefonów.
Karolina Nurzyńska: Politechnika Śląska, Instytut Informatyki,
ul. Akademicka 16, 44-100 Gliwice, Polska
email: [email protected]
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
K. Nurzyńska
2 Analiza oczekiwań funkcjonalności systemu
System do analiz rachunków telefonicznych został zaprojektowany na potrzeby Instytutu
Informatyki na Wydziale Automatyki, Elektroniki i Informatyki Politechniki Śląskiej,
jednak jego architektura została stworzona w taki sposób, aby mógł on również służyć
instytucjom o podobnej strukturze administracyjnej.
w
2.1 Struktura danych przechowywanych w systemie
w
W celu umożliwienia jak najszerszego spektrum analiz dane brane przez nie pod uwagę nie
ograniczają się tylko do informacji zawartych w rachunkach telefonicznych. Dodatkowo
wykorzystuje się informacje uzyskane po wstępnej ich obróbce oraz uwzględniona została
struktura wewnętrzna instytucji, aby jak najpełniej oddać funkcjonowanie telefonii.
da
.b
w
2.1.1 Dane bilingowe
Dane o rachunkach telefonicznych dostarczane są drogą elektroniczną w postaci pliku
tekstowego o określonym formacie. Przykład takiego pliku prezentuje rysunek 1. Każdy
taki plik zawiera informacje, jakiej jednostki organizacyjnej dotyczy dane rozliczenie.
Następnie dla każdego numeru abonenta podany jest okres rozliczeniowy oraz
wyszczególnienie wszystkich rozmów. Informacje dotyczące pojedynczej rozmowy
telefonicznej to:
− data wykonania,
− czas rozpoczęcia,
− długość rozmowy,
− wybrany numer (dalej nazywany numerem zewnętrznym)
− koszt.
Dodatkowo zamieszczone jest podsumowanie kosztów podanego abonenta.
pl
s.
2.1.2 Dane otrzymane po analizie informacji z rachunków telefonicznych
Analizując numer zewnętrzny zawarty w rachunkach telefonicznych można określić,
jakiego typu jest dane połączenie. Wyróżnia się następujące typy połączeń:
− lokalne,
− międzymiastowe,
− międzynarodowe,
− komórkowe,
− audiotekst.
2.1.3 Dane o strukturze instytucji
Instytut jako jednostka administracyjna składa się z sekretariatu oraz zakładów. Zarówno
do sekretariatu jak i poszczególnych zakładów przypisani są pracownicy, pokoje oraz
numery telefonów. Chociaż funkcje spełnianie przez sekretariat różnią się od tych, które
pełnią zakłady, ich struktura jest podobna, dlatego w dalszej części pracy korzysta się
z terminu zakłady w celu mówienia obu tych jednostek. Ważne jest również informacja, że
pracownicy mogą pracować w jednym pokoju, ale korzystać z telefonu znajdującego się
w innym pomieszczeniu.
448
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Wykorzystanie aplikacji bazodanowych do analizy rachunków telefonicznych
Jednostka Organizacyjna: RAU2
Zestawienie połączeń abonenta: 1176
Za okres: od 2003-12-01 do 2003-12-31
w
---------------------------------------------------------------------|
DATA
| GODZINA |
CZAS
|
NUMER
| KOSZT
|
---------------------------------------------------------------------| 2003-12-02 | 11:52:34 | 00:01:10 |
501960437
|
1,05
|
| 2003-12-03 | 09:15:15 | 00:00:43 |
2502904
|
0,29
|
| 2003-12-03 | 11:10:38 | 00:00:51 |
01033226084206
|
0,58
|
| 2003-12-04 | 13:42:24 | 00:05:35 |
2517088
|
0,58
|
| 2003-12-04 | 14:07:04 | 00:25:20 |
7315527
|
2,61
|
| 2003-12-09 | 09:42:49 | 00:00:15 |
2315344
|
0,29
|
| 2003-12-09 | 12:44:05 | 00:01:31 |
501960437
|
1,40
|
| 2003-12-10 | 14:51:12 | 00:21:43 |
7315527
|
2,32
|
| 2003-12-11 | 09:59:28 | 00:00:13 |
0225941095
|
0,29
|
| 2003-12-11 | 10:29:18 | 00:08:37 |
0225941080
|
3,48
|
| 2003-12-11 | 10:39:28 | 00:04:57 |
4224949
|
0,58
|
| 2003-12-11 | 10:44:42 | 00:17:14 |
3305660
|
1,74
|
| 2003-12-11 | 11:02:11 | 00:05:24 |
4224949
|
0,58
|
| 2003-12-11 | 13:43:36 | 00:02:11 |
2502904
|
0,29
|
| 2003-12-15 | 11:01:13 | 00:00:18 |
2381065
|
0,29
|
| 2003-12-15 | 11:02:15 | 00:02:17 |
2387065
|
0,29
|
| 2003-12-16 | 10:39:15 | 00:05:50 |
2314392
|
0,58
|
| 2003-12-17 | 14:31:29 | 00:00:54 |
2502904
|
0,29
|
----------------------------------------------------------------------
da
.b
w
w
Liczba połączeń: 18
Koszt połączeń: 17,53
Rys. 1. Format pliku z danymi o rachunkach telefonicznych
pl
s.
Stworzenie wirtualnej struktury instytucji w systemie umożliwi bardziej szczegółową
analizę danych. Dlatego dane, które będą potrzebne, zawierają informacje o tym, na jakie
jednostki podzielony jest instytut, a także, jakie pomieszczenia należą do tych jednostek
oraz jakie numery abonenckie są im przypisane. Wprawdzie, ze względu na organizację
geograficzną, nie będzie można nigdy dokonać analiz dla pojedynczego pracownika, jednak
informacje o nim też powinny znaleźć się w systemie.
2.1.4 Dostęp pracownika do telefonu
W omawianej instytucji na jeden numer abonencki przypada kilku pracowników. Stąd
pojawia się problem z analizowaniem kosztów poniesionych przez poszczególne osoby,
który jak na razie pozostaje nierozwiązywalny, a analizy szczegółowe dotyczą grupy
pracowników korzystających z tego samego telefonu.
449
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
K. Nurzyńska
2.2 Rodzaje zaproponowanych analiz
w
Eksploracja danych jest to proces analizy danych z różnych perspektyw, którego celem jest
uzyskanie użytecznych informacji [12], [13], [14]. W rozpatrywanym przez nas problemie
informacje, jakie posiadaliśmy, można podzielić na kilka grup. Każda z nich ma na celu
umożliwić spojrzenie na problem pod innym kątem tak, aby zapewnić jak najgłębszą
analizę danych. Pierwszym wymiarem, w którym będziemy prowadzić badania, jest czas,
w którym zostały przeprowadzane rozmowy. Drugi wymiar stanowią typy połączeń. Poza
tym jako trzeci wymiar została wzięta pod uwagę struktura instytucji. Zarówno czas jak
i struktura mogą być rozpatrywane na różnych stopniach granulacji.
Z punktu widzenia użytkownika ważne było dostarczenie narzędzia analitycznego, które
spełniałoby następujące kryteria:
− dostęp do danych we wszystkich wymienionych wymiarach,
− możliwość porównywania danych dla pojedynczego kryterium,
− dostęp do danych na najniższym poziomie granulacji,
− filtrowanie wyników analiz.
W przypadku omawianej problematyki najkorzystniejsze wydaje się przedstawienie
statystyk porównawczych. Narzucającym się kryterium porównania jest koszt rozmów,
poza tym ciekawe analizy można uzyskać badając liczbę połączeń. Użytkownik docelowy
potrzebuje swoistej kaskady danych. Najpierw interesują go statystyki na najniższym
stopniu granulacji, a następnie chce mieć dostęp do analizy na coraz to niższym stopniu
uogólnienia danych. Dlatego też dalej rozważa się, jakie dane potrzebne byłyby
na kolejnych etapach kaskady informacji.
Na samym początku analizy powinny uwzględniać dane na najniższym poziomie
granulacji. Użytkownika interesuje ogólna charakterystyka wydatków w zadanych okresach
czasu z możliwością podziału na wybrane jednostki administracyjne. W kolejnym kroku
analizy te warto rozszerzyć o informacje o kosztach wniesionych przez poszczególnych
abonentów. Ciekawy wydaje się również podział kosztów prezentowanych w uprzednio
omówionych analizach na podstawie typów połączenia. Dodatkowo interesujące jest
dodanie porównania kosztów w kolejnych latach, kwartałach czy miesiącach.
Na następnym poziomie granulacji analizy udostępniają dodatkowo dane
o poszczególnych rozmowach telefonicznych, a dzięki temu mamy dostęp do analizowania
poszczególnych dni. W tym przypadku można nadal prowadzić wszystkie wcześniej
omówione analizy tylko z większą dokładnością. Dodatkowo rozpatrywanie tak
szczegółowych danych daje możliwości obserwowania zależności między kosztem
połączenia a ilością połączeń. Do tej pory nie wiedzieliśmy, czy podany koszt połączeń
wychodzących z danego numeru abonenta jest wysoki, ponieważ wykonywanych jest wiele
rozmów, czy wynika to z małej ilości prowadzonych rozmów, ale przy wykorzystaniu
droższych usług telekomunikacyjnych. Oczywiście można było to częściowo oszacować
oglądając rozkład kosztów w zależności od typu połączenia, ale ciągle pozostawało pytanie,
czy była to jedna rozmowa czy kilkaset. W przypadku tego poziomu analiz możemy
uzyskać tą informację. Ponadto znane są na tym etapie numery telefonów zewnętrznych,
więc kolejnym krokiem może być określenie działalności pracowników, na ile są
to rozmowy zawodowe a na ile prywatne. Inną możliwością jest analiza kosztów ze
względu na numery zewnętrzne, która też daje nowe możliwości uzyskiwania danych.
Jasne jest, że do tych danych nie może mieć dostępu każdy i dlatego zostały
zaproponowane pewne środki bezpieczeństwa, które zostaną omówione w punkcie 3.
Kolejny krok to umożliwienie filtracji danych uzyskanych na drodze analiz. Często jest
tak, że użytkownika nie interesują wszystkie informacje, tylko jakaś grupa. Zazwyczaj
da
.b
w
w
pl
s.
450
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Wykorzystanie aplikacji bazodanowych do analizy rachunków telefonicznych
w
możemy się spodziewać, że poszukiwane będą informacje o poszczególnych połączeniach
powyżej/poniżej jakiejś określonej wartości. Można się również spodziewać, że takie filtry
będą przydatne dla poszukiwania abonentów spełniających zadane warunki lub całych
jednostek administracyjnych. Tak jak dla kosztów można wyobrazić sobie analizy
wybierające tylko te numery zewnętrzne czy abonentów, którzy mają największą liczbę
połączeń.
Następna sprawa to informacje o aktywności telefonicznej poszczególnych
pracowników. Tak jak to było wspomniane wcześniej, ze względu na to, że z jednego
telefonu może korzystać wielu pracowników nie da się jednoznacznie przydzielić
poszczególnych rozmów do konkretnych osób. Jednak można to zrobić dla grupy
pracowników. Taka analiza nie daje wprawdzie bezpośredniej odpowiedzi, ale ogranicza
ilość osób odpowiedzialnych za korzystanie z telefonu.
w
3 Bezpieczeństwo
w
da
.b
Rozpatrując problemy postawione przed systemem pojawiła się kwestia bezpiecznego
dostępu do poufnych danych w nim przechowywanych. Aplikacja działająca na jednym
komputerze nie wymaga tak szczegółowego zabezpieczenia jak aplikacja internetowa.
„Stworzenie rozproszonych aplikacji WWW spełniających wymogi bezpieczeństwa jest
poważnym wyzwaniem. Poziom zabezpieczenia danej aplikacji jest zależny od jej
najsłabszego ogniwa.(...) Podstawą każdej strategii mającej na celu zabezpieczenie aplikacji
są rzetelne metody uwierzytelniania i autoryzacji oraz bezpieczna komunikacja,
zapewniająca poufność i integralność danych.”[7]. W przypadku omawianego systemu
największy nacisk zostanie położony na uwierzytelnianie. Dodatkowo zostanie
zastosowany mechanizm autoryzacji. Tak stworzony system zabezpieczeń ma na celu
umożliwić dostęp do jak największej funkcjonalności systemu szerokiemu gronu
użytkowników przy jednoczesnym zapewnieniu poufności danych o numerach telefonów.
Każdy użytkownik systemu będzie należał do jednej z grup użytkowników, które będą
definiowały jego prawa dostępu do danych. Te grupy to:
− administratorzy – z prawami dostępu do przeglądania wszystkich informacji
zawartych w bazie danych.
− kierownicy zakładów – z prawami dostępu do przeglądania informacji dotyczących
zakładu, w którym pracują.
− pracownicy – z prawami do przeglądania informacji dotyczących rozmów
wykonanych z numeru telefonu, z którego korzystają.
pl
s.
4 Narzędzia wykorzystane do stworzenia systemu
Rozpatrując, jakie narzędzia zostaną wykorzystane do stworzenia systemu zwrócono uwagę
na kilka problemów. Ponieważ projektowane oprogramowanie jest przeznaczone dla jak
najszerszej grupy użytkowników, składa się ono z dwóch oddzielnych aplikacji – jest to
aplikacja okienkowa oraz aplikacja WWW. Obydwie potrzebują połączenia z serwerem
bazy danych, który przechowuje informacje wykorzystywane do prowadzenia analiz. Po
pierwsze poszukiwano środowiska programistycznego, które umożliwi napisanie obu
programów oraz jednocześnie zapewni uproszczenie pisania i wdrażania oprogramowania.
Zapewni wydajne i bezpieczne środowisko uruchomieniowe. Ma pełne wsparcie dla
451
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
K. Nurzyńska
w
programowania obiektowego poprzez dziedziczenie wizualne oraz dziedziczenie między
różnymi językami. Wszystkie te założenia spełnia platforma .NET [1],[2],[3],[4],[5],[6].
Dodatkowo platforma .NET ma też tą zaletę, że umożliwia w łatwy sposób tworzenie
interfejsów graficznych przyjaznych dla użytkownika, czyli spełniających założenia teorii
programowania w środowiskach graficznych, która została omówiona w książce Theo
Mandel’a [8]. Wprawdzie do uruchomienia systemu potrzebny jest Framework .NET,
jednak w tej chwili jest to oprogramowanie darmowe, a firma Microsoft zamierza dodać je
jako element kolejnej wersji systemu operacyjnego Windows. Drugim rozpatrywanym
narzędziem były serwery bazy danych. Wymagania stawiane przed tym oprogramowaniem
to, aby było oprogramowaniem bardzo stabilnym, stworzonym przez zaufanych
producentów, jakim jest SQL Server. Dodatkową zaletą tak wybranych narzędzi było to, że
są one stworzone przez jedną firmę, więc należy się spodziewać dobrze dopasowanych
interfejsów a stąd lepszej i stabilniejszej komunikacji.
w
5 Opis stworzonego systemu
w
da
.b
System, który był wynikiem badań nad zbiorem analiz umożliwiających przetwarzanie
informacji o rachunkach telefonicznych, składa się z dwóch aplikacji – aplikacji
okienkowej oraz aplikacji WWW. Taka architektura systemu była podyktowana chęcią
udostępnienia go jak najszerszemu gronu użytkowników. Z wielu szeroko stosowanych
architektur systemów bazodanowych [9],[10],[11] wybraliśmy architekturę klient – serwer
dla aplikacji okienkowej oraz architekturę trójwarstwową dla aplikacji WWW.
W obu aplikacjach zestaw zaproponowanych analiz został podzielony na dwie grupy:
analizy podstawowe, w których użytkownik nie ma dostępu do telefonów zewnętrznych
oraz analizy średnio zaawansowane, gdzie te informacje są dostępne. Dodatkowo została
utworzona grupa analiz zaawansowanych, która pozwala użytkownikowi zadawać
zapytania do bazy. Stworzenie prostego kreatora zapytań ma tę zaletę, że umożliwia
przeprowadzenie nowych analiz, na które potrzeby dopiero się pojawią. Wyniki analiz
prezentowane są w postaci tabeli lub wykresu słupkowego.
Ponadto w aplikacji okienkowej został zaimplementowany moduł umożliwiający
wprowadzanie danych. Informacje z rachunków telefonicznych pobierane są automatycznie
z plików wskazanych przez użytkownika, natomiast informacje o strukturze instytucji
można wprowadzać ręcznie lub importować z plików o zadanym formacie. Umożliwienie
tych dwóch sposobów wprowadzania danych w tym przypadku jest podyktowane faktem,
że przy instalacji takiego systemu ilość danych o strukturze, które należy wprowadzić do
systemu jest znaczna, natomiast podczas korzystania z systemu dane te zmieniają się
nieznacznie. Dlatego na początku, aby zaoszczędzić czas można skorzystać z opcji importu
plików z danymi, a drobne zmiany dokonywać ręcznie. Również tylko ręcznie
administrator może nadać wyższe uprawnienia dostępu niż podstawowe.
pl
s.
6 Przykłady działania
Przedstawiony system umożliwia uzyskanie bardzo wielu zestawień przedstawiających,
w jaki sposób wykorzystywane są usługi telefoniczne w danej placówce. Pierwszą
informacją, która interesuje użytkownika takiego systemu jest rozkład kosztów w czasie.
W przypadku porównania kosztów rozmów w Instytucie Informatyki w latach 2001-2002
452
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Wykorzystanie aplikacji bazodanowych do analizy rachunków telefonicznych
w
z rozbiciem na poszczególne kwartały w tym przedziale czasu przestawia rysunek 2. Poza
sumarycznymi kosztami z poszczególnych kwartałów system podaje całkowity koszt
rozmów telefonicznych w wybranym okresie. Przedstawienie danych na wykresie
słupkowym w łatwy sposób ilustruje różnice między porównywanymi okresami czasu.
Kolejny przykład (rysunek 3) pokazuje jak w tym samym okresie czasu prezentowały się
koszty dla poszczególnych numerów abonenckich. Dzięki takiemu przekrojowi użytkownik
może w łatwy sposób dotrzeć do numeru abonenckiego, który ponosi największe
obciążenie, a dzięki tej informacji można spróbować ustalić informację, gdzie dzwoniono.
Jednak ze względu na brak miejsca dalsze przykłady nie zostały zamieszczone.
da
.b
w
w
Rys. 2. Przykład działania systemu
kwartały
pl
s.
7 Wnioski
– rozliczenie za rok 2001-2002 z podziałem na
Zaproponowana grupa analiz dla rachunków telefonicznych pozwala spojrzeć na ten sam
problem pod różnymi kątami, dzięki czemu zapewnia dogłębną analizę danych.
Użytkownik nie tylko może analizować dane ze względu na czas, ale może zobaczyć jak
zmieniają się koszty połączeń w zależności od wybranego numeru abonenckiego. Z drugiej
strony system umożliwia analizę kosztów na podstawie numerów zewnętrznych, czy
podział kosztów ze względu na typ połączenia. Tak, więc dostarcza wszystkich informacji,
które były sprecyzowane przez użytkownika. Dzięki tak bogatej gamie analiz łatwiej jest
uzyskać informacje, które mogą umożliwić uzyskanie informacji ułatwiającej obniżenie
kosztów rozmów.
453
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
K. Nurzyńska
w
w
w
Rys. 3. Przykład działania systemu - rozliczenie za okres 2001-2002 z rozbiciem na
sumaryczne koszty poszczególnych numerów telefonów
1.
2.
3.
4.
5.
6.
8.
9.
10.
11.
12.
13.
14.
15.
Dunaway R.B.: Visual Studio .NET. MIKOM, Warszawa 2003.
Francis B., Ullman Ch., Short S., Conard J., Ramachandran R., Schenken J., Harvey B., Hollis
B., Glynn J., Dengler P.: Wprowadzenie do .NET. MIKOM, Warszawa 2002.
Platt D.S.: Microsoft .NET — podstawy. Read Me, Warszawa 2001.
Troelsen A.: Język C# i Platforma .NET, MIKOM, Warszawa 2002.
Esposito D.: Tworzenie aplikacji za pomocą ASP.NET oraz ADO.NET, RM, Warszawa 2002.
Pappas C. H., Murray W. H.: C# for Web Programming, Prentice Hall PTR Upper Saddle River,
NJ 07458 2002
Meier J.D., Mackman A., Dunner M., Vasireddy S.: Tworzenie bezpiecznych Aplikacji
Microsoft ASP.NET. Uwierzytelnianie, autoryzacja i bezpieczna komunikacja, Microsoft Press
2003.
Mandel T.: The Elements of User Interface Design, John Wiley & Sons, New York 1997.
Date C.J., Darwen H.: SQL Omówienie standardu języka, Wydawnictwo Naukowo-Techniczne,
Warszawa 2000.
Date C.J.: Wprowadzenie do systemów i baz danych ,Wydawnictwo Naukowo-Techniczne,
Warszawa 2002.
Ullman J.D., Widom J.: Podstawowy wykład z baz danych, Wydawnictwo NaukowoTechniczne, Warszawa 2002.
Berry J.: Database Marketing, Business Week, 5 wrzeœnia 1994 s. 56-62.
Cipolla E.T.: Data Mining: Techniques to Gain Insight Into Your Data, Enterprise Systems
Journal, grudzieñ 1995, s. 18-24, 64.
Conner L.: Mining for Data, Communications Week, 12 luty 1996, s 37-41.
Berthold M., Hand D.J.: Intelligent Data Analysis: An Introduction, Springer-Verlag Berlin and
Heidelberg GmbH & Co 2003.
pl
s.
7.
da
.b
Literatura
454
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006

Podobne dokumenty