5. Podstawowe pakiety informatyczne, statystyczne i ekonometryczne

Wielkość: px
Rozpocząć pokaz od strony:

Download "5. Podstawowe pakiety informatyczne, statystyczne i ekonometryczne"

Transkrypt

1 Zestaw zagadnień informatycznych na egzamin magisterski 2004/ Dynamiczne struktury danych Opracowanie: Ania Zawrzykraj 2. Charakterystyka popularnych języków programowania Opracowanie: Jarosław Kubik 3. Informatyczne bazy danych i ich własności Opracowanie: Michał Antczak 4. Metody projektowania systemów informatycznych Opracowanie: Rafał Dylewski 5. Podstawowe pakiety informatyczne, statystyczne i ekonometryczne Opracowanie: Waldek Lis

2 1. Dynamiczne struktury danych Opracowanie: Ania Zawrzykraj Dynamiczne struktury danych są to struktury, dla których pamięć jest przydzielana w momencie procesu obliczeniowego (dynamicznie) w przeciwieństwie do struktur statycznych, których zakres wartości i wzorzec pamięciowy jest ustalony raz na zawsze w momencie definiowania struktury (najczęściej w deklaracjach zmiennych na początku kodu programu). Dla zmiennych dynamicznych pamięć przydzielana jest w chwili powoływania ich do życia, a nie podczas translacji, dlatego mogą one zmieniać swoje rozmiary. Zdefiniowanie takiej struktury odbywa się przez zastosowanie wskaźników. Przydzielenie pamięci dla zmiennej wskaźnikowej realizowane jest w dwóch etapach: w momencie deklaracji zmiennej przydzielana jest pamięć dla adresu składowej struktury, przydzielenie pamięci dla samej składowej realizowane jest poprzez wywołanie odpowiedniej funkcji. Wskaźnik to zmienna przechowująca adres innej zmiennej (mówi nam, gdzie znajduje się zmienna, a nie co się w niej znajduje) Przykład wskaźnika i jego wykorzystania (w języku C): int *p int z p=&z - zdefiniowanie wskaźnika, który będzie wskazywał na zmienną typu int - zdefiniowanie zmiennej z - wskaźnik wskazuje na zmienną p (przechowuje adres zmiennej p, a nie jej wartość) Struktury te zawierają odwołania do samych siebie np. elementy listy są listami. Elementy struktury nie są umieszczone w pamięci bezpośrednio za sobą, każdy element struktury wyposażony jest w tzw. dowiązanie, które wskazuje na położenie następnego elementu struktury. Do struktur dynamicznych możemy zaliczyć: listy, stosy, kolejki, drzewa, grafy. Strona 2 z 41

3 LISTY Lista to struktura dynamiczna zawierająca składowe zdefiniowane tak samo jak lista (rekurencyjnie) i wskazujące na inne elementy listy (jeden element wskazuje na inny). Listy możemy podzielić na: jednokierunkowe, dwukierunkowe, wielokierunkowe. Lista jednokierunkowa Przykład takiej listy: struct LISTA { struct LISTA *next; } Do definicji pól dowolnego elementu takiej struktury używana jest definicja pojedynczego jej elementu. To znaczy, że obiekt LISTA zawiera pola, które definiowane są tak samo, jak LISTA, rekurencyjnie. Nie ma jednak obawy o pozorną nieskończoność takiej struktury. Definicja pola next oznacza, że jest to wskaźnik, a nie sama struktura. Zatem, w momencie definicji, wskaźnik ten istnieje, ale nie istnieje żaden obiekt przez niego wskazywany. Dopiero w przyszłości będzie on pokazywał na takie same elementy typu LISTA, wewnątrz jakiego sam się znajduje. W praktyce do struktury tego typu wprowadza się jeszcze jakieś pola przechowujące informacje, np. struct TNode { TNode *next; int nrdl; } Właściwością tej struktury jest zdolność do przechowywania liczb całkowitych (w polu o nazwie nrdl). Inna lista jednokierunkowa: struct TListNode { TListNode *nastepny; void *dane; } posiada zdolność do przechowywania wskaźników na obiekty dowolnego typu. Można w ten sposób przechowywać wskaźniki do liczb, napisów, tablic, funkcji i wszystkiego, co posiada adres. Oczywiście obsługa tak przechowywanych adresów wymaga potem umiejętnej oceny, czym jest akurat przechowywany wskaźnik, ale to już problemy innej natury. Gdy do pojedynczego elementu typu na przykład LISTA dopiszemy następny, wstawiając w polu next adres nowego elementu, otrzymamy "połączenie" pomiędzy elementami z pierwszego można trafić do drugiego za pomocą wskaźnika. Odwrotnie już nie - drugi Strona 3 z 41

4 element nie zawiera żadnych informacji o tym, czy posiada poprzednika, czy nie. Dlatego lista jest jednokierunkowa - stojąc na dowolnym elemencie można mieć dostęp tylko do elementów następnych. Graficzna reprezentacja listy jest prosta i czytelna gdy przedstawi się ją za pomocą strzałek i węzłów. Dla struktury typu LISTA wygląda to tak: Graficzna reprezentacja prostej, jednokierunkowej listy. Ostatni element to wskaźnik pusty - czyli next mający wartość NULL. Jak widać, tworzony jest łańcuch elementów, który nie ma z góry określonej swojej długości. Długość może być zmienna, i jest to jedna z najważniejszych zalet struktur tego typu. Na rysunku pokazano tylko cztery elementy, ale może ich być o wiele więcej. Co więcej, ostatni wskaźnik next, na rysunku mając wartość NULL (czyli pusty - nigdzie nie pokazujący) może pokazywać na pierwszy element, tworząc tak zwaną listę cykliczną. Graficzną reprezentację listy cyklicznej można zobaczyć poniżej, tym razem dla struktury zdefiniowanej jako TNode: Lista cykliczna z numerami elementów w polu nrdl Numeracja pól listy jest wprowadzona po to, aby można było wykryć pierwszy element listy. Nie jest to konieczne, jeżeli nie zależy nam na kolejności, albo nie liczymy elementów. Podczas przetwarzania listy cyklicznej można łatwo sprawdzić, w którym jesteśmy miejscu. Lista taka - gdzie jednym z pól jest numer pozycji, nazywa się listą numerowaną, lub listą indeksowaną. Lista dwukierunkowa Lista dwukierunkowa powinna zawierać dwa wskaźniki obok innych pól informacyjnych - wskazujące na poprzedni element oraz na następny. Taka lista jest strukturą uniwersalną i do niektórych zastosowań w programowaniu jest wprost idealna. Przykład poniżej: struct T2List { T2List *n, *p;... /* dane */ } Strona 4 z 41

5 Elementy takiej listy połączone są dwukierunkowo, co widać na poniższym rysunku: Lista dwukierunkowa.pole p wskazuje na element poprzedni, pole n na następny. Wzdłuż całej listy dwukierunkowej można swobodnie poruszać się za pomocą wskaźników w obie strony. Dlatego, posiadając dowolny element listy dwukierunkowej, mamy dostęp do wszystkich pozostałych. Nie było to tak do końca możliwe w przypadku list jednokierunkowych. Ponieważ lista w ogólnym przypadku zaczyna się jakimś elementem i jakimś elementem się kończy (z wyjątkiem przypadków cyklicznych), początek listy przyjęto nazywać głową listy (head), zaś koniec - ogonem (tail). Dowolny element jest węzłem lub nodem (node). Lista dwukierunkowa to tak jakby dwie listy jednokierunkowe zrealizowane wewnątrz jednej struktury. Charakterystyczne jest to, że wewnątrz jednego elementu wskaźniki pokazują na element poprzedni oraz na element następny. Jeżeli określimy inaczej, na co mają one wskazywać, np. oba na elementy następne, otrzymamy zamiast listy inną strukturę - drzewo. KOLEJKI Listy mogą być zależnie od sposobu obsługi traktowane inaczej. Znane są np. kolejki, czyli lista jednokierunkowa obsługiwana tak specyficznie, że pierwszy wstawiony element jest także pierwszym dającym się z listy odczytać (tzw. kolejka FIFO - First in, first out - dokładne odwzorowanie normalnej kolejki przed sklepem mięsnym w czasach kryzysu). STOSY Stos jest implementacją listy jednokierunkowej, która pozwana na wstawianie elementu do struktury, a potem na odzyskiwanie ich w odwrotnej kolejności - czyli pierwszy wstawiony jest ostatnim wyjętym, dokładnie tak, jakby ktoś rzucał dane na kupę, lub stos. Jest to również wersja kolejki LIFO (last in - first out - ostatni wchodzi, pierwszy wychodzi, pasuje to trochę do pewnego rodzaju studentów). DRZEWA Drzewa oferują niezwykle mały czas dostępu do swoich elementów (zakładając, że są zoptymalizowane, lub wyważone). Struktura węzła najprostszego drzewa jest identyczna jak w przypadku listy dwukierunkowej: struct BTree { BTree *lewy, *prawy; /*... dane... */ } Strona 5 z 41

6 Natomiast sens nadany wskaźnikom jest inny, i w efekcie wymusza to zupełnie inną budowę całej struktury: Drzewo binarne - reprezentacja struktury BTree Pierwszy element drzewa to jakby praprzodek wszystkich pozostałych (analogicznie do drzewa genealogicznego) lub korzeń (analogia do drzew), następnie - w drzewie istnieją elementy mające swojego przodka i swoich potomków (normalne postacie w drzewie genealogicznym) - zwane są one gałęziami. Elementy leżące najniżej w hierarchii pionowej drzewa to liście lub synowie. Zatem widać, że każdy syn ma ojca, z wyjątkiem praprzodka, który nie ma ojca. Co więcej, ojciec jest przodkiem syna, a syn jest przodkiem swoich synów. Drzewa rosną w informatyce w dół, korzeń jest na górze :) Oczywiście zależy to tylko od sposobu narysowania drzewa. Wysokość drzewa określa się przez ilość jego poziomów. Drzewo na rysunku poniżej ma 4 poziomy. Stopień drzewa to ilość gałęzi, jaka można wyrastać z korzenia. Drzewo, które posiada tylko dwie gałęzie wyrastające z dowolnego elementu, nazywa się drzewem binarnym. Struktura drzewa binarnego o głębokości 4 Strona 6 z 41

7 Całkowita ilość elementów, jaka będzie w drzewie o podanym stopniu i wysokości daje się łatwo policzyć, jako prosta zależność wykładnicza. Drzewa wyższych stopni mają oczywiście więcej gałęzi. Poza drzewami różniącymi się stopniem istnieją jeszcze inne ich odmiany. Drzewa zlewowe to takie, w których odwrócono kierunek wskaźników (mają wiele korzeni, a tylko jeden liść lub niewiele liści). Odwrotnym rodzajem są drzewa wylewowe (rozpływowe). Drzewa balansowane (AVL - średniej długości, ważone) to przykłady drzew, które "dbają" o swoją minimalną głębokość. Jeszcze innym rodzajem drzew są sterty, przydatne bardzo w pewnych implementacjach sortowania. Istnieją także drzewa czarno-czerwone (bez skojarzeń) oraz zupełnie oryginalne drzewa mutanty, jak np. drzewa zwrotne, drzewa łączone z listami, itp. GRAFY Można zbudować strukturę, która będzie miała zamiast określonej ilości wskaźników (jak lista lub drzewo), po prostu listę wskaźników do następnych elementów. Można także założyć, że nie wszystkie z tych wskaźników będą musiały na coś konkretnego pokazywać. Otrzymamy wtedy najbardziej skomplikowaną strukturę z możliwych, w informatyce nazywaną grafem. Ogólnie rzecz biorąc, graf definiuje się jako zbiór elementów oraz zbiór połączeń pomiędzy nimi. Dlatego struktura, dla której możliwa jest implementacja grafu, zawiera po prostu wskaźniki do dwóch list - na których przechowywane są połączenia pomiędzy elementami oraz odpowiednio same elementy. Grafy mogą posiadać rozmaite "kształty". Szczególnymi przypadkami grafów są np. listy i drzewa. Zależnie od właściwości grafów, określa się je jako zorientowane, niezorientowane, acykliczne, cykliczne, itp. Połączenia pomiędzy elementami nazywa się krawędziami. Krawędź jest ukierunkowana, jeżeli możliwy jest ruch po niej tylko w jedną stronę, natomiast gdy możliwy jest w obie strony - nie ma określonego kierunku lub łączność jest bezkierunkowa. Zagadnieniami związanymi z tymi przedziwnymi i skomplikowanymi strukturami danych zajmuje się odrębna dziedzina wiedzy matematycznej - teoria grafów. Strona 7 z 41

8 2. Charakterystyka popularnych języków programowania Opracowanie: Jarosław Kubik W dzisiejszych czasach komputer zdaje się być niezastąpiony w pracy, nauce czy zabawie. Postęp techniczny szybko wpłynął na sposób wykorzystywania komputera przez różne grupy ludzi, a wszystko to, czym kiedyś zajmowali się tylko profesjonaliści jest dziś dostępne dla wszystkich. Niewątpliwym przełomem w informatyce było stworzenie stosunkowo prostych prostych konstrukcji sekwencyjnych, proceduralno-modularnych języków programowania, które znalazły zastosowanie w systemach o architekturze 8 i 16 bitowej, a obecnie z powodzeniem są wykorzystywane w środowiskach 32-bitowych takich jak Windows czy Linux. Pierwsze języki programowania były trudne do opanowania i miały małe zastosowanie użytkowe, co sprawiało, że posługiwała się nimi mała grupa ludzi, która wykorzystywała swoje umiejętności w pracy czy badaniach naukowych. Dziś prawie każdy może zacząć pisać swoje programy. Wszelkie istotne informacje, które pozwolą nam przyswoić tą umiejętność są powszechnie dostępne w Internecie lub licznych publikacjach (książki i czasopisma), a stworzenie podstawowego środowiska do programowania w danym języku z reguły nic nie kosztuje, bo producenci komercyjnego oprogramowania tego typu oferują wersje Home czy Personal Edition zupełnie za darmo. Te programy w zupełności wystarczają do nauki i do pisania mało rozbudowanych programów użytkowych. 1. C/C++ Zdecydowanie najbardziej zaawansowany język programowania, który powstał w wyniku pracy nad uniwersalnym językiem dającym możliwość pisania programów na różne platformy. W Polsce pojawił się on dość późno gdyż komputery wyposażone były przede wszystkim w systemy typu DOS, które potrafiły interpretować polecenia BASIC-a (język wykorzystywany niegdyś między innymi w Commodore i ZXspectrum), a jedynym popularnym językiem dostępnym na ten system był Turbo Pascal firmy Borland. Na zachodzie natomiast, zastosowanie we wszystkim, co było związane z komputerami znalazł przede wszystkim Unix, który do tej pory jest najlepiej opracowanym systemem. Doczekał się wielu mutacji i wersji w zależności od potrzeb i zastosowania. Kompilator C/C++ wchodzi w skład podstawowych narzędzi niemal każdej wersji tego systemu (za wyjątkiem systemu Xenix, który jest bardzo ubogi). Z założenia, programy napisane w C mają być małe, szybkie i zajmować mało pamięci, co ma swoje odbicie w wygodzie pisania programów i nauce programowania. Kod programu, w stosunku do innych języków, zawiera znacznie mniejszą ilość znaków poprzez stosowanie krótszego zapisu, który (w przeciwieństwie do np.: Pascala czy Basica) z reguły nie jest logiczny. Oto porównanie zapisów tej samej informacji w trzech językach: Pascal: Basic: C++: i:=i+1; (7 znaków) 10 I=I+1 (8 znaków) i++; lub ++i; (4 znaki) Oznacza to tyle samo co następne I (C++ znaczy następne C - czyli oznacza kolejną wersję). Różnica w ilości znaków sprawia, że programy są od kilku do kilkuset razy szybsze i lżejsze, a forma jest bardziej czytelna dla komputera, oferuje programiście większą kontrolę nad programem i daje możliwość pisania programów bardziej zaawansowanych. Od czasu utworzenia pierwszej wersji C powstało wiele implementacji, mutacji i wersji tego języka różniących się od siebie przede wszystkim funkcjami oraz sposobem zapisu kodu. Architektura 32-bitowa znacznie upraszcza tworzenie aplikacji, a jednocześnie pozostawia Strona 8 z 41

9 wiele miejsca na kreatywność programisty. C++ umożliwia wykorzystywanie funkcji i bibliotek innych języków (np.: wykorzystanie funkcji assemblera). Bardziej popularne programy do pisania aplikacji w C++ dla Windows to np.: Borland C++ i Visual C++. Rozszerzenia plików źródłowych to [*.c] lub [*.cpp] w zależności od wersji. 2. Turbo Pascal Język ten, ze względu na mały stopień trudności w opanowaniu, wykorzystywany jest przede wszystkim w nauczaniu programowania. Opanowanie Pascala przybliża do języków bardziej zaawansowanych i ułatwia ich późniejszą naukę, bo wprowadza w programowanie sekwencyjno- proceduralno-modularne. Obecnie pierwszym etapem nauczania w szkołach o profilu informatycznym jest Turbo Pascal. Na program utworzony w Pascalu składają się następujące symbole i słowa kluczowe: Znakami języka Pascal są litery alfabetu angielskiego (wielkie i małe), spacja, cyfry dziesiętne oraz znak podkreślenie: _ Symbolami są: operatory arytmetyczne: + - * / operatory relacji: = < > <= >= <> nawiasy: okrągłe (w wyrażeniach), klamrowe {w komentarzach} i kwadratowe [w tablicach] inne symbole:., ; : # $ "?! % & ~ \ ^ Słowa kluczowe są stosowane do formułowania poleceń i do definiowania zmiennych np.: PROGRAM, BEGIN, END, DIV, MOD, AND, NOT, OR, IF, THEN, ELSE, FOR, TO, DOWNTO, DO, CASE, REPEAT, UNTIL, WHILE, VAR, TYPE, CONST, STRING, FILE, USES. Program w języku Pascal ma następującą strukturę: - Nagłówek programu, zaczynający się od słowa PROGRAM, po którym następuje nazwa danego programu lub też jakieś inne informacje. - Opis elementów programu, zawierający przede wszystkim deklaracje zmiennych oraz podprogramów. Mogą się tu znajdować również definicje stałych i definicje typów. Definicje występują w stałej kolejności: stałe (CONST), typy (TYPE), zmienne (VAR) umieszcza się tu wszystko, co jest potrzebne w programie. - Część wykonawcza programu, rozpoczynająca się słowem BEGIN i kończąca słowem END, po którym następuje kropka. Każda instrukcja zakończona jest średnikiem za wyjątkiem BEGIN. Na końcu programu zawsze powinna być kropka END. Borland Turbo Pascal jest językiem 16-bitowym mającym zastosowanie w systemie DOS i trybie MS-DOS pod kontrolą systemu Windows, a w przypadku systemów typu Unix tylko w konsoli ale te drugie rzadko posiadają kompilatory i interpretery poleceń Pascala ze względu na małą przydatność w tych systemach. Używa się innych bardziej złożonych i lepiej przystosowanych języków do pracy z jądrami tych systemów (np.: C++, Python itp.). Za pomocą Turbo Pascala możemy operować na plikach, czego najlepszym przykładem były pierwsze wersje systemów antywirusowych Nortona napisanych właśnie w Pascalu (na owe czasy Pascal dawał duże możliwości)- dziś te aplikacje jak i większość innych dobrych programów (np.: MS Word) pisana jest w C++. Możemy na przykład pisać programy przeliczeniowe, w TP można wykonywać dość skomplikowane Strona 9 z 41

10 zadania matematyczne, a amatorzy rzeczy mniej pożytecznych mogą przeformatować cudzy dysk albo pisać w nim wirusy, które po mimo swojej prostoty i łatwości w usunięciu przez prawie każdy nawet mało rozbudowany program antywirusowy, są zabójcze dla systemu, gdy programów przeciwdziałających nie ma. 3. Delphi Delphi jest kontynuacją pomysłu Andersa Hejlsberga, ojca Turbo Pascala. Jest to narzędzie typu RAD (Rapid Application Development), przeznaczone do błyskawicznego pisania aplikacji. Delphi wykorzystuje obiekty, dzięki czemu wstawienie określonych elementów programu nie wymaga pisania kodu tylko edytowania ich właściwości. Oparty jest na Pascalu (a właściwie Object Pascalu), który jak już wspomniałam wcześniej, nie jest tak bardzo skomplikowany jak inne języki. Delphi wydaje się być idealnym środowiskiem dla początkujących programistów chcących tworzyć aplikacje dla Windows. Interfejs programu Delphi jest opracowany tak, by maksymalnie przyspieszyć tworzenie aplikacji. Na górze głównego okna umieszczono pasek komponentów, na który składa się kilka zakładek podzielonych według określonych kategorii elementów umieszczanych w programach, a panel właściwości i zdarzeń obiektów jest wygodnym narzędziem do opisywania parametrów poszczególnych elementów kodu. Fragment inspektora zdarzeń w Delphi. Prezentuje on właściwości czcionki jednego z obiektów użytych w programie. Bez takiego wspomagania trzeba by było wszystko to wpisać ręcznie. A oto kilka przykładowych funkcji używanych w Delphi, większość można edytować za pomocą inspektora zdarzeń: Alignment - określa sposób justowania wyświetlanego napisu AutoSize - jeśli True to komponent automatycznie zmienia swój rozmiar Caption - własność komponentu określająca wyświetlany przez niego napis ClientHeight - określa wysokość okna (bez paska tytułu i pasków przewijania) ClientWidth - określa szerokość okna (bez paska tytułu i pasków przewijania) Font - określa czcionkę Font.Style - określa styl czcionki (pogrubienie, kursywa, podkreślenie, itp.) Form - okno programu IntToStr(LCałkowita) - funkcja zamieniająca podaną liczbę w ciąg znaków Max - określa maksymalną wartość przyjmowaną przez dany komponent Min - określa minimalną wartość przyjmowaną przez dany komponent Name - własność wszystkich komponentów; określa ona nazwę, poprzez którą uzyskuje się dostęp do komponentu OnChange - zdarzenie generowane w momencie zmiany zawartości komponentu OnCreate - zdarzenie generowane w momencie tworzenia komponentu (podczas uruchamiania programu) OnMouseMove - zdarzenie generowane gdy wskaźnik myszki znajduje się nad obiektem Strona 10 z 41

11 Position - (pasek przewijania) własność opisująca aktualną wartość komponentu Random(zakres) - generuje liczbę losową z przedziału <0; zakres) Randomize - procedura inicjująca generator liczb losowych Round(LRzeczywista) - funkcja zaokrąglająca podaną liczbę rzeczywistą do najbliższej całkowitej Width - określa szerokość komponentu 4. Assembler Assembler należy do najbardziej skomplikowanych języków wysokiego poziomu. Bazuje on na tzw. przerwaniach DOSa i mapie pamięci komputera PC więc by zacząć programować w Assemblerze należy zaopatrzyć się w odpowiednią dokumentację i na pewno przyda się doświadczenie w programowaniu. Poniżej prezentuję przykład kodu tego samego ale w dwóch różnych językach, powszechnie znanego początkującym programistom programu, który wyświetla na monitorze napis Hello World: Turbo Pascal Program hello; begin write('hello world'); end. Assembler Hello segment org 100h start: lea dx,napis mov ah,9h int 21h int 20h napis db 'Hello world$' Hello ends end start Tak skomplikowany zapis w Assemblerze wynika z tego, że program jest rozbity na najmniejsze części- to daje największe możliwości kontroli nad programem (a programu nad komputerem). W efekcie program potrafi wykorzystać w pełni podzespoły komputera (procesor, pamięć, BIOS, ChipSet itp.) i kart rozszerzeń np.: dźwięku czy video gdyż musimy w kodzie dokładnie określić np.: w jakim stosie (jednostce pamięci operacyjnej komputera) ma się dana informacja znaleźć czy z jakiego musi być pobrana. Myślę, że nie jestem w stanie opisać sposobu działania tego języka ale najważniejsza informacja to, że język ten służy do pisania bardzo skomplikowanych programów, w których każda część programu musi być dokładnie kawałek po kawałku opisana w kodzie, a w przypadku innych języków pewne procesy są dla uproszczenia zautomatyzowane - wystarczy jedna funkcja żeby program Strona 11 z 41

12 zapisał w odpowiednim stosie pamięci jakąś informację, a w Assemblerze należy to dokładnie zaadresować). W tym języku mamy kontrolę nawet nad bitami czyli najmniejszymi jednostkami jakimi posługuje się komputer. Przykładem możliwości tego języka jest jeden z bardziej znanych, ze swojego wyjątkowego okrucieństwa, wirus o nazwie CIH. Uaktywnia się on w rocznicę wybuchu reaktora w Czarnobylu. Powoduje całkowite wyczyszczenie pamięci BIOSUu, a co za tym idzie, komputera nie da się uruchomić do czasu ponownego załadowania do BIOSu potrzebnych informacji. Z reguły nie zmusza to do wymiany płyty głównej, bo popularne BIOSy można ściągnąć z Internetu i za pomocą specjalnego urządzenia zaprogramować kość, o ile ma ona możliwość programowania, jeśli nie - można zamówić całą kość ale niektóre są tak rzadkie, że konieczna jest wymiana tego najważniejszego elementu komputera jakim jest płyta główna. 5. Języki programowania wykorzystywane w Internecie Popularność Internetu ciągle wzrasta, co ciągnie za sobą konieczność stosowania coraz to nowszych technik tworzenia i realizowania usług sieciowych. Na równi z utworzeniem protokołu http powstał język służący do tworzenia stron internetowych - HTML, który do tej pory tak naprawdę jest nieodłącznym ich elementem. W porównaniu do innych języków programowania HTML charakteryzuje się prostotą zbudowanego dokumentu (rozszerzenia *.htm i *.html), a do odczytania tych dokumentów służą przeglądarki internetowe np.: Internet Explorer czy Netscape Communikator. Tak w wielkim skrócie można przedstawić proces wyświetlania stron internetowych: - załóżmy, że wpisujemy w przeglądarce adres nasz komputer ściąga dla nas z serwera, na którym znajduje się strona, kod źródłowy dokumentu html. - z zawartych w dokumencie informacji o wyglądzie strony i wszystkich jej elementach tłumaczy go na postać czytelną dla człowieka. - wynik wyświetla na monitorze komputera. Elementy języka HTML to tzw. Tagi (znaczniki z angielskiego) każdy znacznik z ewentualnymi parametrami zawarty jest w nawiasach trójkątnych np.: <BODY> W większości przypadków Tag otwarty należy zamknąć tym samym Tagiem z dodatkowo dopisanym ukośnikiem np.: <BODY> </BODY> A tak wygląda podstawowa osnowa dokumentu HTML <HTML> <HEAD> <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso "> <META NAME="Description" CONTENT="Opis dokumentu"> <META NAME="Author" CONTENT="Autor dokumentu"> <TITLE>Tytuł strony</title> </HEAD> <BODY> w tym miejscu umieszcza się całą zawartość strony internetowej, czyli wszystko to co widzimy na monitorze wchodząc na stronę. Strona 12 z 41

13 </BODY> </HTML> Dodatkowo język PHP wzbogaca konstrukcję stron internetowych. Istnieją też inne języki stosowane w kompleksowych rozwiązaniach internetowych opartych przede wszystkim na programach wykonywanych po stronie serwera tzn. że nie są one ściągane wraz z dokumentem ale tylko powiązane z nim i uruchamiane w przypadku ich wywołania. Często takie rozwiązania wiąże się z bazami danych i stosowane są głównie na dużych wydajnych serwerach, bo każde wywołanie strony powoduje uruchomienie dodatkowego procesu w systemie. Szczególnie CGI znalazło zastosowanie w tworzeniu profesjonalnych systemów portalowych w Internecie. Programy wykonywane po stronie serwera wykorzystywane są przede wszystkim do interakcji z użytkownikami (np.: rejestracja konta internetowego online, wypełnianie formularzy z informacjami zwrotnymi)oraz do dynamicznego generowania elementów serwisu. Stanowią bezpieczną formę wymiany informacji pomiędzy serwerem a komputerem klientem. Dość często można spotkać się też z bazami danych takimi jak SQL, MySQL. Są to typowe rozwiązania bazodanowe dla systemów unixowych Strona 13 z 41

14 3. Informatyczne bazy danych i ich własności Opracowanie: Michał Antczak Baza danych zbiór danych logicznie ze sobą powiązanych. Jest to struktura umożliwiająca przechowywanie dużej liczby danych, w określony sposób uzależniony od sposobu organizacji danych modelu danych (mowa tu o modelach: hierarchicznym, sieciowym, relacyjnym, obiektowym patrz niżej) System zarządzania bazą danych (ang. DBMS - Database Management System) to system, który umożliwia efektywne przetwarzanie oraz zarządzanie zgromadzonymi, w sposób scentralizowany, danymi w bazie danych. Jest to rodzaj interfejsu między użytkownikiem a bazą danych. > Konkretne przykłady DBMS: MS SQL Server, Oracle, MS Jet, MS VisualFoxPro ;-) Zadania realizowane przez DBMS można sklasyfikować w sposób następujący: 1. Zarządzanie zbiorami danych o tworzenie nowych zbiorów (jednostek logicznej struktury DBMS, tj. baz danych, tabel,...) o usuwanie zbiorów o modyfikowanie struktury zbiorów o wstawianie, aktualizowanie i usuwanie danych 2. Wyszukiwanie informacji Realizowane za pomocą instrukcji właściwych dla określonego DBMS lub standaryzowanego języka zapytań (SQL) a w szczególności instrukcji SELECT; 3. Zarządzanie bazą danych jako całością o tworzenie kont użytkowników o definiowanie uprawnień dostępu o monitorowanie działania bazy danych Główne właściwości DBMS: Współdzielenie danych Informacje przechowywane w bazie danych są zazwyczaj przeznaczone do wykorzystania przez wielu użytkowników, często w tym samym czasie. DBMS ma więc za zadanie zapewnić efektywne mechanizmy wielodostępu. W tym celu często stosuje się w budowie DBMS tzw. model klient-serwer: programy używane przez użytkowników (klienci) są oddzielone od programu bezpośrednio wykonującego operacje na danych (serwera); zazwyczaj klienci komunikują się z serwerem poprzez mechanizmy sieciowe, korzystając z określonego protokołu komunikacji -- umożliwia to uruchamianie klientów na innych komputerach niż serwer, co zwiększa bezpieczeństwo (dostęp klientów do serwera jest ograniczony do operacji możliwych w ramach protokołu) i odciąża serwer np. od zadań związanych z końcową obróbką i prezentacją danych będących wynikiem zapytania. Integracja danych Centralne składowanie wszystkich danych dotyczących danego obszaru działalności umożliwia uniknięcie zbędnych powtórzeń tych samych informacji -- ułatwiając utrzymanie spójności, oraz usprawnia uzyskiwanie odpowiedzi na pytania złożone -- wymagające czerpania informacji z różnych logicznie zbiorów danych. Integralność danych Łatwiej jest również utrzymać poprawność i aktualność informacji składowanej centralnie; ponadto powierzenie faktycznych operacji na danych jednemu, dobrze sprawdzonemu programowi serwera zmniejsza ryzyko naruszenia integralności danych w stosunku do sytuacji, gdy operacje te wykonywane są za pomocą wielu, tworzonych niezależnie i często ad hoc narzędzi (np. gromadzenia danych w plikach tekstowych i operowanie na nich poprzez operacje wejścia-wyjścia). Bezpieczeństwo danych Scentralizowanie dostępu do danych umożliwia zastosowanie w DBMS własnego mechanizmu kontroli i autoryzacji dostępu, bardziej szczegółowego aniżeli umożliwia to sam system operacyjny w stosunku Strona 14 z 41

15 do dostępu do plików. Dzięki wykorzystaniu modelu klient-serwer nie jest konieczne, aby każdy użytkownik posiadał dostęp do maszyny serwera bazy danych poprzez inne mechanizmy, aniżeli protokół komunikacyjny danego DBMS. Abstrakcja i niezależność danych Ponieważ końcowy użytkownik bazy danych jest oddzielony przez DBMS od wewnętrznych mechanizmów działania bazy danych, formatu zapisu itp., i ma tylko do czynienia (poprzez program klienta i ew. protokół komunikacji) jedynie z logiczną strukturą danych, to ułatwia to rozwijanie aplikacji korzystających z tych danych w kierunku nowych zastosowań czy np. wprowadzenie zmian w wewnętrznej organizacji bazy danych bez konieczności zmian w klientach. Typy baz danych (wg. modelu danych, oparte na podobnych koncepcjach ale różnią się formą przechowywania danych) Model danych można rozumieć jako zbiór ogólnych zasad posługiwania się danymi. Zbiór ten obejmuje trzy główne części: Definicja danych: zbiór reguł określających strukturę danych - logiczną strukturę bazy danych; Operowanie danymi: zbiór reguł dotyczących procesu dostępu do danych i ich modyfikacji; Integralność danych: zbiór reguł określających, które stany bazy danych są poprawne (a więc zarazem jakie operacje prowadzące do modyfikacji danych są dozwolone). 1. Hierarchiczna baza danych Najstarsza istniejąca forma bazy danych. Dane są zorganizowane w struktury drzew, które obrazują relacje między danymi. Fizycznie dane przechowuje się w rekordach składających się z pól, zgrupowanych w plikach. Hierarchia modeluje relację znaną jako jeden do wielu. Relacja ta oznacza, że jedna wartość pozostaje w związku z jedną lub kilkoma innymi wartościami. 2. Sieciowa baza danych Została opracowana jako alternatywa dla bazy opartej o model hierarchiczny, która przewiduje jedynie przypadek relacji jeden do wielu. Sieciowa baza danych gromadzi informacje w zbiorach danych (kolekcjach), które są podobne do plików i tabel. Rekord jednego zbioru danych powiązany ze zbiorem rekordów innego zbioru danych (kolekcji) posiada zestaw fizycznych wskaźników. Zatem rekord w pierwszym zbiorze jest połączony z rekordami w drugim zbiorze danych. Podstawową wadą tego typu organizacji danych jest to, że utrzymanie wszystkich łączy (poprzez wspomniane wskaźniki) może być bardzo skomplikowane (tym bardziej im więcej przechowywanych danych). 3. Relacyjna baza danych Powszechnie wykorzystywana. Koncepcja powstała w latach 70-tych jako alternatywa lepszego zarządzania danymi niż w poprzednich modelach. (Głównym problemem występującym w hierarchicznych i sieciowych bazach danych jest konieczność istnienia wskaźników łączących dane ze sobą). Model relacyjny nie potrzebuje wskaźników, do łączenia wielu rekordów używa wartości w nich przechowywanych. W ten sposób eliminuje konieczność istnienia łączy. Jednak podstawą wadą modelu relacyjnego jest to, że relacyjna baza danych jest wolna w porównaniu z innymi modelami baz danych. Bez wskaźników, które pomagają szybko zlokalizować dany rekord, może być konieczne odczytanie każdego rekordu tabeli aby znaleźć ten właściwy. Aby usunąć ten problem (wadę) w relacyjnych bazach danych istnieją specjalne mechanizmy przyspieszające wyszukiwanie danych indeksy (mowa o nich również w dalszej części opracowania). Model relacyjny oparty jest na tylko jednej podstawowej strukturze danych - relacji. Pojęcie relacji można uważać za pewną abstrakcję intuicyjnego pojęcia tabeli, zbudowanej z wierszy (krotek) i kolumn Strona 15 z 41

16 (atrybutów), w której na przecięciu każdej kolumny z każdym wierszem występuje określona wartość. Baza danych jest zbiorem relacji, o następujących własnościach: Każda relacja w bazie danych jest jednoznacznie określona przez swoją nazwę. Każda kolumna w relacji ma jednoznaczną nazwę (w ramach tej relacji). Kolumny relacji tworzą zbiór nieuporządkowany. Kolumny nazywane bywają również atrybutami. Wszystkie wartości w danej kolumnie muszą być tego samego typu. Zbiór możliwych wartości elementów danej kolumny nazywany bywa też jej dziedziną. Również wiersze relacji tworzą nieuporządkowany zbiór; w szczególności, nie ma powtarzających się wierszy. Wiersze relacji nazywa się też encjami. Każde pole (przecięcie wiersza z kolumną) zawiera wartość atomową z dziedziny określonej przez kolumnę. Brakowi wartości odpowiada wartość specjalna NULL, zgodna z każdym typem kolumny (chyba, że została jawnie wykluczona przez definicję typu kolumny). Każda relacja zawiera klucz główny - kolumnę (lub kolumny), której wartości jednoznacznie identyfikują wiersz (a więc w szczególności nie powtarzają się). Wartością klucza głównego nie może być NULL. Do wiązania ze sobą danych przechowywanych w różnych tabelach używa się kluczy obcych. Klucz obcy to kolumna lub grupa kolumn tabeli, o wartościach z tej samej dziedziny co klucz główny tabeli z nią powiązanej. W teoretycznym opisie modelu relacyjnego operacje na danych definiuje się w terminach tzw. algebry relacyjnej. Operatory algebry relacyjnej mają za argumenty jedną lub więcej relacji, a wynikiem ich działania zawsze jest też relacja. Model relacyjny dostarcza dodatkowych, specyficznych dla siebie postaci reguł integralności: Integralność encji: każda tabela musi posiadać klucz główny, a wartości klucza głównego muszą być w ramach tabeli unikalne i nie równe NULL. W szczególności, zapobiega to wystąpieniu w tabeli powtórzeń wierszy. Integralność referencyjna: każda wartość klucza obcego może być albo równa jakiejś wartości klucza głównego występującej w tabeli powiązanej, lub (ewentualnie) NULL. Pociąga to za sobą konieczność określenia reguły postępowania w wypadku usuwania wiersza z tabeli powiązanej, co mogłoby unieważnić niektóre wartości kluczy obcych w tabelach do niej się odnoszących. W grę wchodzą trzy postacie takiej reguły: o o o Restricted: usunięcie wiersza jest zabronione, dopóki nie zostaną usunięte lub odpowiednio zmodyfikowane wiersze z innych tabel, których wartości kluczy obcych stałyby się wskutek tej operacji nieważne; Cascades: usunięcie wiersza powoduje automatyczne usunięcie z innych tabel wszystkich wierszy, dla których wartości kluczy obcych stały się nieważne; Nullifies: nieważne wartości kluczy obcych ulegają zastąpieniu przez NULL. 4. Obiektowa baza danych ORDMS. Bardziej konserwatywne podejście do zastosowania obiektowości w bazach danych polega na wzbogacaniu modelu relacyjnego o cechy obiektowe. Jedną z możliwości jest umożliwienie stosowania abstrakcyjnych typów danych jako typów wartości atrybutów w relacji. Inną propozycją jest wprowadzenie tzw. relacji zagnieżdżonych -- o atrybutach które same mogą być relacjami. ODBMS. Podejście bardziej radykalne rozstaje się zupełnie ze schematem relacyjnym i zakłada wprost trwały zapis obiektowych struktur danych. Definicja danych polegałaby na określeniu klas obiektów (zarówno ich atrybutów jak i metod); związki między obiektami odzwierciedlały by się w dziedziczeniu i agregacji. Operowanie danymi realizuje się przez odwołania do metod. Więzy integralności dają się również realizować w języku obiektowym -- jako wymogi zachowania związków klasa-klasa (dziedziczenie i agregacja), klasa-obiekt, i integralności dziedziny odnośnie atrybutów. Integralność dodatkowa może być realizowana poprzez umieszczenie odpowiednich sprawdzianów w definicjach metod. Strona 16 z 41

17 Pojęcia związane z bazami danych (własności bazy danych na podstawie bazy relacyjnej) 1. Tabele, rekordy, pola Baza danych przechowuje dane w jednej lub w wielu tabelach. Dane zorganizowane są w wiersze i kolumny. Wiersz odpowiada rekordowi w pliku i reprezentuje unikalny fragment danych. Kolumna odpowiada polu w pliku i reprezentuje atrybut fragmentu danych. 2. Typy danych Z każdą kolumną w tabeli (polem) związany jest typ danych, określający zbiór wartości jaki może być przechowywany w danej kolumnie. Podział ogólny przewiduje cztery podstawowe typy danych: numeryczne, łańcuchy znaków, wartości daty i czasu, wartości binarne. Ponadto istnieje specjalna flaga typu NULL, która oznacza, że żadna wartość nie jest związana z daną kolumną. 3. Indeksy i klucze Indeks jest mechanizmem, który pozwala na szybkie wybieranie wiersza ze zbioru wierszy. Indeks jest specjalną strukturą danych, która przechowuje zbiór wartości kolumn, posortowany w sposób minimalizujący czas wyszukiwania. o o o o o Klucz to lista kolumn należących do indeksu. Klucz podstawowy posiada nie powtarzającą się wartość dla każdego wiersza. Klucz złożony klucz, który zawiera więcej niż jedną kolumnę. Klucz drugorzędny wszystkie inne klucze niż klucz podstawowy, nie musi być niepowtarzalny, a jego zadanie to ułatwienie lokalizowania podzbioru wierszy tabeli. Klucz obcy to grupa kolumn w danej tabeli, która odpowiada definicji klucza podstawowego w innej tabeli. Umożliwia on zdefiniowanie relacji między dwiema tabelami. 4. Widoki To wirtualna tabela utworzona z jednej lub kilku tabel fizycznych (np. poprzez zapytanie do bazy danych). Wyróżnia się widoki modyfikowalne i niemodyfikowalne. Pozostałe zagadnienia Przetwarzanie transakcyjne Transakcją nazywamy każde dowolne uruchomienie programu użytkownika zawierające pewien ciąg instrukcji i-o. Przetwarzanie polega na umieszczeniu obiektu w pamięci (np. wyniku zapytania) i modyfikowanie go. Własności transakcji: ACID czyli: o Atomic (niepodzielność) transakcja nie może być wykonana częściowo; o Consistency (spójność) każda transakcja niezależnie od kolejności wykonania nie może naruszyć spójności w bazie danych; o o Isolation (niezależność) odseparowanie transakcji tzn. jedna nie zakłóca drugiej; Durability (trwałość, niezawodność) jeżeli DBMS poinformuje u wykonaniu transakcji to tak jest, tzn. potwierdzenie wykonania transakcji jest ostateczne. Język zapytań SQL SQL (ang. Structured Query Language) jest standaryzowanym językiem zapytań umożliwiającym zarządzanie i przetwarzanie bazy danych. Obecny standard SQL-92. Wyróżnia się: o DDL (Data Definition Language) obejmuje instrukcje definicji danych (np. CREATE TABEL). o o DML (Data Manipulation Language) - obejmuje instrukcje manipulacji na danych (np. SELECT) Embadded and Dynamic SQL zagnieżdżony SQL obejmuje instrukcje umożliwiające tworzenie instrukcji SQL za pomocą język hosta (konkretnego środowiska programistycznego) Strona 17 z 41

18 o Security obejmuje instrukcje kontroli mechanizmów dostępu użytkowników do obiektów. Normalizacja w bazach danych Przy projektowaniu bazy danych na podstawie modelu ER uwagę należy zwrócić na jej właściwą postać. Poprawna struktura bazy danych powinna wyeliminować niepożądane anomalie oraz redundancję danych. Analizując niejednoznaczność uwagę należy zwrócić na: anomalię aktualizacji czyli sytuację, w której dokonanie zmiany w bazie danych powoduje potrzebę innych poprawek; anomalię usuwania czyli sytuację, w której usunięcie jednych danych powoduję utratę innych; anomalię wstawiania czyli przypadek, w którym nie ma możliwości dodania nowych danych, jeżeli nie wprowadzono danych z nimi powiązanych. Aby wyeliminować opisane błędy, na etapie projektowania dokonuje się normalizacji. Normalizacja zajmuje się klasyfikacją struktury bazy danych jest to proces uściślania i korygowania bazy danych, polegający na rozdzieleniu wstępnie zaprojektowanych schematów relacji na mniejsze, gromadzące wybrane atrybuty. Proces ten w swym założeniu eliminuje możliwość utraty informacji podczas dekompozycji relacji, a jego efektem końcowym jest reprezentowanie wszystkich zależności funkcyjnych w pojedynczych relacjach. Kolejnymi etapami normalizacji, jest przekształcanie aktualnej postaci bazy danych do kolejnych tzw. postaci normalnych (ang. Normal Form) 1. Pierwsza postać normalna (1NF) każde pole musi być atomowe (niepodzielne) Zakłada atomiczną postać każdego z atrybutów, a zatem wyeliminowanie atrybutów wielowartościowych. Normalizacja na tym etapie polega na przekształceniu encji na mniejsze encje, a tym samym opisanie kilkoma prostymi atrybutami mniejszej encji, aniżeli opis atrybutem złożonym encji przed normalizacją. (np. rozbicie atrybutu adres na atrybuty: ulica, miasto, kod itp.) 2. Druga postać normalna (2NF) każde pole nie będące kluczem musi zależeć od klucza podstawowego. Zakłada spełnienie warunków 1NF oraz dodatkowo wymaga aby każdy atrybut niekluczowy był w pełni funkcyjnie zależny od klucza głównego, a nie innego podzbioru atrybutów. Proces normalizacji na tym etapie polega na usunięciu wszystkich częściowych zależności funkcyjnych, czyli zależności od fragmentu klucza głównego, które powodują redundancję oraz występowanie anomalii przy aktualizacji. 3. Trzecia postać normalna (3NF) pole nie będące kluczem nie może zależeć od innego pola nie będącego kluczem. Zawiera w sobie warunki 2NF, ponadto wymaga aby wszystkie pośrednie zależności (czyli między atrybutami nie wchodzącymi w skład klucza głównego) zostały usunięte, czyli aby wyeliminować zależności atrybutów nie będących kluczami głównymi. Ponadto istnieje czwarta i piąta postać normalna oraz poziom normalizacji Boyce a-codda. Czwarta (4NF) wymaga aby wszystkie zależności wielowartościowe dotyczyły kluczy. Schemat relacji nie powinien opisywać jednocześnie dwóch różnych zależności typu 1 do wielu. Piata postać normalna zakłada aby wszystkie pozostałe zależności zostały wyeliminowane. *W zasadzie pierwsze trzy postacie normalne są najistotniejsze i na nie zwróćcie uwagę. Strona 18 z 41

19 4. Metody projektowania systemów informatycznych Opracowanie: Rafał Dylewski PROJEKTOWANIE I JEGO MIEJSCE W CYKLU ŻYCIA SYSTEMU Projektowanie systemu informacyjnego jest organizacji jest jednym z etapów w cyklu życia systemu. Etap ten wykonany po analizie, decyduje o tym, jaki będzie przyszły kształt systemu informacyjnego, a tym samym, jaka będzie skuteczność systemu zarządzania. Projektowanie jest czynnością hybrydową, która polega na właściwym przemieszaniu sztuki, nauk ścisłych i matematyki. Nie powinna być ona identyfikowana z którąkolwiek z tych dziedzin oddzielnie. Projektowanie systemów informacyjnych (informatycznych) traktujemy jako zespół logicznie uporządkowanych czynności zmierzających do realizacji nadrzędnego celu, jakim jest budowa systemu informacyjnego (informatycznego). Opis takiego zespołu czynności nazywamy metodyką projektowania systemu informatycznego. Metodyka projektowania, będąca określonym sposobem organizacji projektowania, wynika z przyjętej strategii. Przez strategię projektowania rozumiemy określony i logicznie sprawdzony sposób podejścia do rozwiązania problemu sformułowanego w analizie systemu. W literaturze pojęciem metodyka projektowania systemów informacyjnych lub systemów informatycznych organizacji określa się podział prac projektowych na: stadia, etapy, fazy i kroki postępowania przy realizacji konkretnego przedsięwzięcia. W ten sposób określa się ją jako logiczny i uporządkowany zbiór wskazówek i wytycznych dotyczących metod oraz technik, które należy stosować przy projektowaniu systemów. Stosowania metodyka projektowania systemu zależy od wielu czynników, takich jak: Infrastruktura zarządzania, Dysponowane zasoby, Kwalifikacje kadry użytkownika i projektanta, Organizacja i specyfika jej otoczenia. METODOLOGIA PROJEKTOWANIA SYSTEMÓW INFORMACYJNYCH Dla przedstawienia podstawowych podejść do procesu projektowania zastosować można dwa kryteria: 1 - uwzględniające aspekt czasu, 2 - zorientowane na procedurę działań. Ad. 1 Projektowanie diagnostyczne, w którym za punkt wyjścia przyjmuje się obecny stan organizacji, a projektant pragnie ją usprawnić; Projektowanie prognostyczne, gdzie za punkt wyjścia bierzemy naszą wizję organizacji w przyszłości, a nie interesuje nas stan obecny. Ad.2 Strona 19 z 41

20 Drugie z kryteriów dotyczy procedury działań i zgodnie z systematyką zaproponowaną przez firmę Digital możemy wyróżnić następujące procedury: kaskadowa, ewolucyjna, przyrostowa, spiralna. Wymienione podejścia można zestawić następująco: Rys 1. Typologia podejść do projektowania systemów Podejście diagnostyczne, najbardziej popularne, nazywane często podejściem tradycyjnym. W podejściu tym projektuje się system lepszy od istniejącego. Znamy system obecny i jego niedomagania oraz istniejące możliwości poprawy. Naszym zadaniem jest poprawa jego stanu, zaprojektowanie systemu lepszego od obecnie funkcjonującego. W podejściu prognostycznym w zasadzie nie interesuje nas obecna sytuacja. Pierwszym zadaniem jest określenie horyzontu czasu, a ściślej, punktu w przyszłości, na jaki projektujemy system. Przyjmujemy zasadę, że nasz system powinien być przez długi czas nowoczesny. Jednak, aby ten postulat zrealizować, należy zdawać sobie sprawę z faktu, że im horyzont czasu jest dłuższy, tym nasza wiedza o przyszłych warunkach funkcjonowania obiektu jest mniejsza. I nie jest to tylko związane z naszymi pragnieniami, ale w przeważającej mierze z tym, że projektując system metodą prognostyczną zwiększa się ryzyko podjęcia nietrafionych decyzji. Dlatego decyzja przyjęcia diagnostycznego czy prognostycznego podejścia do projektowania jest decyzją strategiczną. Niezależnie od przyjętego kryterium czasu możemy zastosować różną sekwencję postępowania (procedury działania). Procedura kaskadowa Klasyczny (konwencjonalny, kaskadowy) cykl życia oprogramowania to sekwencja dobrze wyodrębnionych kroków, zazwyczaj obejmujących planowanie systemu, identyfikację i specyfikację wymagań, projektowanie, implementację, testowanie i walidację systemu, jego wdrożenie oraz utrzymanie. W modelu tym: Przejście do następnego etapu wymaga ukończenia prac i dostarczenia produktów etapu poprzedniego, Iteracje mogą występować jedynie w obrębie etapów sąsiadujących, Produkty końcowe fazy stają się produktami wejściowymi kolejnego etapu, a weryfikacja jest elementem każdego kroku. Strona 20 z 41

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 Bazy Danych LITERATURA C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 J. D. Ullman, Systemy baz danych, WNT - W-wa, 1998 J. D. Ullman, J. Widom, Podstawowy

Bardziej szczegółowo

Bazy danych - wykład wstępny

Bazy danych - wykład wstępny Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,

Bardziej szczegółowo

Baza danych. Baza danych to:

Baza danych. Baza danych to: Baza danych Baza danych to: zbiór danych o określonej strukturze, zapisany na zewnętrznym nośniku (najczęściej dysku twardym komputera), mogący zaspokoić potrzeby wielu użytkowników korzystających z niego

Bardziej szczegółowo

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Systemy baz danych w zarządzaniu przedsiębiorstwem W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Proces zarządzania danymi Zarządzanie danymi obejmuje czynności: gromadzenie

Bardziej szczegółowo

Wykład I. Wprowadzenie do baz danych

Wykład I. Wprowadzenie do baz danych Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles

Bardziej szczegółowo

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Podstawowe definicje Baza danych to uporządkowany zbiór danych umożliwiający łatwe przeszukiwanie i aktualizację. System zarządzania bazą danych (DBMS) to oprogramowanie

Bardziej szczegółowo

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d. TECHNOLOGIE BAZ DANYCH WYKŁAD 1 Wprowadzenie do baz danych. Normalizacja. (Wybrane materiały) Dr inż. E. Busłowska Definicja bazy danych Uporządkowany zbiór informacji, posiadający własną strukturę i wartość.

Bardziej szczegółowo

Baza danych. Modele danych

Baza danych. Modele danych Rola baz danych Systemy informatyczne stosowane w obsłudze działalności gospodarczej pełnią funkcję polegającą na gromadzeniu i przetwarzaniu danych. Typowe operacje wykonywane na danych w systemach ewidencyjno-sprawozdawczych

Bardziej szczegółowo

Technologia informacyjna

Technologia informacyjna Technologia informacyjna Pracownia nr 9 (studia stacjonarne) - 05.12.2008 - Rok akademicki 2008/2009 2/16 Bazy danych - Plan zajęć Podstawowe pojęcia: baza danych, system zarządzania bazą danych tabela,

Bardziej szczegółowo

Alicja Marszałek Różne rodzaje baz danych

Alicja Marszałek Różne rodzaje baz danych Alicja Marszałek Różne rodzaje baz danych Rodzaje baz danych Bazy danych można podzielić wg struktur organizacji danych, których używają. Można podzielić je na: Bazy proste Bazy złożone Bazy proste Bazy

Bardziej szczegółowo

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38 Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem zajęcia 1 dr Jakub Boratyński pok. A38 Program zajęć Bazy danych jako podstawowy element systemów informatycznych wykorzystywanych

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Pojęcie systemu informacyjnego i informatycznego

Pojęcie systemu informacyjnego i informatycznego BAZY DANYCH Pojęcie systemu informacyjnego i informatycznego DANE wszelkie liczby, fakty, pojęcia zarejestrowane w celu uzyskania wiedzy o realnym świecie. INFORMACJA - znaczenie przypisywane danym. SYSTEM

Bardziej szczegółowo

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

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko Podstawowe pojęcia dotyczące relacyjnych baz danych mgr inż. Krzysztof Szałajko Czym jest baza danych? Co rozumiemy przez dane? Czym jest system zarządzania bazą danych? 2 / 25 Baza danych Baza danych

Bardziej szczegółowo

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy) Rok akademicki 2012/2013, Wykład nr 2 2/25 Plan wykładu nr 2 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013

Bardziej szczegółowo

RELACYJNE BAZY DANYCH

RELACYJNE BAZY DANYCH RELACYJNE BAZY DANYCH Aleksander Łuczyk Bielsko-Biała, 15 kwiecień 2015 r. Ludzie używają baz danych każdego dnia. Książka telefoniczna, zbiór wizytówek przypiętych nad biurkiem, encyklopedia czy chociażby

Bardziej szczegółowo

Relacyjny model baz danych, model związków encji, normalizacje

Relacyjny model baz danych, model związków encji, normalizacje Relacyjny model baz danych, model związków encji, normalizacje Wyklad 3 mgr inż. Maciej Lasota mgr inż. Karol Wieczorek Politechnika Świętokrzyska Katedra Informatyki Kielce, 2009 Definicje Operacje na

Bardziej szczegółowo

Normalizacja baz danych

Normalizacja baz danych Normalizacja baz danych Definicja 1 1 Normalizacja to proces organizowania danych w bazie danych. Obejmuje to tworzenie tabel i ustanawianie relacji między tymi tabelami zgodnie z regułami zaprojektowanymi

Bardziej szczegółowo

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

Program wykładu. zastosowanie w aplikacjach i PL/SQL; Program wykładu 1 Model relacyjny (10 godz.): podstawowe pojęcia, języki zapytań (algebra relacji, relacyjny rachunek krotek, relacyjny rachunek dziedzin), zależności funkcyjne i postaci normalne (BCNF,

Bardziej szczegółowo

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II Rozkład wymagający

Bardziej szczegółowo

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I Rozkład zgodny

Bardziej szczegółowo

Wprowadzenie do baz danych

Wprowadzenie do baz danych Wprowadzenie do baz danych Bazy danych stanowią obecnie jedno z ważniejszych zastosowań komputerów. Podstawowe zalety komputerowej bazy to przede wszystkim szybkość przetwarzania danych, ilość dostępnych

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

Bardziej szczegółowo

WPROWADZENIE DO BAZ DANYCH

WPROWADZENIE DO BAZ DANYCH 1 Technologie informacyjne WYKŁAD IV WPROWADZENIE DO BAZ DANYCH MAIL: WWW: a.dudek@pwr.edu.pl http://wgrit.ae.jgora.pl/ad Bazy danych 2 Baza danych to zbiór danych o określonej strukturze. zapisany na

Bardziej szczegółowo

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego

Bardziej szczegółowo

Księgarnia PWN: Michael J. Hernandez Bazy danych dla zwykłych śmiertelników

Księgarnia PWN: Michael J. Hernandez Bazy danych dla zwykłych śmiertelników Księgarnia PWN: Michael J. Hernandez Bazy danych dla zwykłych śmiertelników Słowo wstępne (13) Przedmowa i podziękowania (drugie wydanie) (15) Podziękowania (15) Przedmowa i podziękowania (pierwsze wydanie)

Bardziej szczegółowo

Tworzenie bazy danych na przykładzie Access

Tworzenie bazy danych na przykładzie Access Tworzenie bazy danych na przykładzie Access Tworzenie tabeli Kwerendy (zapytania) Selekcja Projekcja Złączenie Relacja 1 Relacja 2 Tworzenie kwedend w widoku projektu Wybór tabeli (tabel) źródłowych Wybieramy

Bardziej szczegółowo

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski BAZY DANYCH wprowadzenie Opracował: dr inż. Piotr Suchomski Prowadzący Katedra Systemów Multimedialnych dr inż. Piotr Suchomski (e-mail: pietka@sound.eti.pg.gda.pl) (pok. 730) dr inż. Andrzej Leśnicki

Bardziej szczegółowo

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS UNIWERSYTET ZIELONOGÓRSKI INSTYTUT INFORMATYKI I ELEKTROTECHNIKI ZAKŁAD INŻYNIERII KOMPUTEROWEJ Przygotowali: mgr inż. Arkadiusz Bukowiec mgr inż. Remigiusz Wiśniewski LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Bardziej szczegółowo

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy 1 Podstawowym przeznaczeniem arkusza kalkulacyjnego jest najczęściej opracowanie danych liczbowych i prezentowanie ich formie graficznej. Ale formuła arkusza kalkulacyjnego jest na tyle elastyczna, że

Bardziej szczegółowo

SZKOLENIE: Administrator baz danych. Cel szkolenia

SZKOLENIE: Administrator baz danych. Cel szkolenia SZKOLENIE: Administrator baz danych. Cel szkolenia Kurs Administrator baz danych skierowany jest przede wszystkim do osób zamierzających rozwijać umiejętności w zakresie administrowania bazami danych.

Bardziej szczegółowo

poziom: Core wersja: 2.6 moduł: B : Wytwarzanie SYLLABUS

poziom: Core wersja: 2.6 moduł: B : Wytwarzanie SYLLABUS poziom: Core wersja: 2.6 moduł: B : Wytwarzanie SYLLABUS Niniejszy dokument jest syllabusem obowiązującym dla certyfikatu EUCIP ver. 2.6. Prezentuje obszary wiedzy, których znajomość jest niezbędna do

Bardziej szczegółowo

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka. Email: krzysztof.pieczarka@gmail.

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka. Email: krzysztof.pieczarka@gmail. Wrocławska Wyższa Szkoła Informatyki Stosowanej Bazy danych Dr hab. inż. Krzysztof Pieczarka Email: krzysztof.pieczarka@gmail.com Literatura: Connoly T., Begg C., Systemy baz danych Praktyczne metody projektowania,

Bardziej szczegółowo

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI LABORATORIUM TECHNOLOGIA SYSTEMÓW INFORMATYCZNYCH W BIOTECHNOLOGII Aplikacja bazodanowa: Cz. II Rzeszów, 2010 Strona 1 z 11 APLIKACJA BAZODANOWA MICROSOFT ACCESS

Bardziej szczegółowo

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ Systemy baz danych 1. 2 Wstęp do baz danych 2. 2 Relacyjny model baz danych. 3. 2 Normalizacja baz danych. 4. 2 Cechy

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Oracle11g: Wprowadzenie do SQL

Oracle11g: Wprowadzenie do SQL Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom

Bardziej szczegółowo

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki

Bardziej szczegółowo

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret Ogólny plan przedmiotu BAZY DANYCH Wykład 1: Wprowadzenie do baz danych Małgorzata Krętowska Politechnika Białostocka Wydział Informatyki Wykład : Wprowadzenie do baz danych Normalizacja Diagramy związków

Bardziej szczegółowo

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl Bazy Danych Bazy Danych i SQL Podstawowe informacje o bazach danych Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl Literatura i inne pomoce Silberschatz A., Korth H., S. Sudarshan: Database

Bardziej szczegółowo

Uzupełnij pola tabeli zgodnie z przykładem poniżej,

Uzupełnij pola tabeli zgodnie z przykładem poniżej, 1. Wykonaj bazę danych biblioteki szkolnej, Otwórz MS Access a następnie z menu plik wybierz przycisk nowy, w oknie nowy plik wybieramy pusta baza danych nadaj jej nazwę Biblioteka i wybierz miejsce w

Bardziej szczegółowo

Projektowanie systemów baz danych

Projektowanie systemów baz danych Projektowanie systemów baz danych Seweryn Dobrzelewski 4. Projektowanie DBMS 1 SQL SQL (ang. Structured Query Language) Język SQL jest strukturalnym językiem zapewniającym możliwość wydawania poleceń do

Bardziej szczegółowo

Transformacja wiedzy w budowie i eksploatacji maszyn

Transformacja wiedzy w budowie i eksploatacji maszyn Uniwersytet Technologiczno Przyrodniczy im. Jana i Jędrzeja Śniadeckich w Bydgoszczy Wydział Mechaniczny Transformacja wiedzy w budowie i eksploatacji maszyn Bogdan ŻÓŁTOWSKI W pracy przedstawiono proces

Bardziej szczegółowo

Co to są relacyjne bazy danych?

Co to są relacyjne bazy danych? Co to są relacyjne bazy danych? Co to są relacyjne bazy danych? O Są to zbiory danych pogrupowane w tabele o strukturze: kolejne kolumny określają kolejne porcje informacji potrzebne dla każdego wystąpienia,

Bardziej szczegółowo

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Bardziej szczegółowo

Bazy danych Karta pracy 1

Bazy danych Karta pracy 1 Bazy danych Karta pracy 1 Bazy danych Karta pracy 1 1. Utwórz katalog Bazy danych służący do przechowywania wszelkich danych dotyczących kursu. 2. W katalogu Bazy danych stwórz podkatalog BD1 służący jako

Bardziej szczegółowo

ORGANIZACJA I ZARZĄDZANIE INFORMACJĄ W BAZIE DNYCH. podstawowe pojęcia.

ORGANIZACJA I ZARZĄDZANIE INFORMACJĄ W BAZIE DNYCH. podstawowe pojęcia. ORGANIZACJA I ZARZĄDZANIE INFORMACJĄ W BAZIE DNYCH. podstawowe pojęcia. 1. Definicja bazy danych, Baza danych to uporządkowany zbiór danych z pewnej dziedziny tematycznej, zorganizowany w sposób ułatwiający

Bardziej szczegółowo

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0 ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL Użytkowanie baz danych. Sylabus opisuje zakres wiedzy

Bardziej szczegółowo

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

Bardziej szczegółowo

5.4. Tworzymy formularze

5.4. Tworzymy formularze 5.4. Tworzymy formularze Zastosowanie formularzy Formularz to obiekt bazy danych, który daje możliwość tworzenia i modyfikacji danych w tabeli lub kwerendzie. Jego wielką zaletą jest umiejętność zautomatyzowania

Bardziej szczegółowo

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs. www.poczta.greenlemon.pl

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs. www.poczta.greenlemon.pl Instrukcja do panelu administracyjnego do zarządzania kontem FTP WebAs www.poczta.greenlemon.pl Opracowanie: Agencja Mediów Interaktywnych GREEN LEMON Spis treści 1.Wstęp 2.Konfiguracja 3.Konto FTP 4.Domeny

Bardziej szczegółowo

OPRACOWANIE: SŁAWOMIR APANOWICZ

OPRACOWANIE: SŁAWOMIR APANOWICZ PROJEKTOWANIE RELACYJNEJ BAZY DANYCH OPRACOWANIE: SŁAWOMIR APANOWICZ 1. Ogólne informacje o projektowaniu bazy danych Przystępując do projektowania bazy danych należy określić jej cel oraz zadania, jakie

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy dwie Encje (tabele) prawym

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Bazy danych Database Kierunek: Rodzaj przedmiotu: obieralny Rodzaj zajęć: wykład, laboratorium Matematyka Poziom kwalifikacji: I stopnia Liczba godzin/tydzień: 2W, 2L Semestr: III Liczba

Bardziej szczegółowo

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Koszalin, 15.06.2012 r. Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Zespół projektowy: Daniel Czyczyn-Egird Wojciech Gołuchowski Michał Durkowski Kamil Gawroński Prowadzący: Dr inż.

Bardziej szczegółowo

1. Zarządzanie informacją w programie Access

1. Zarządzanie informacją w programie Access 1. Zarządzanie informacją w programie Access a. 1. Cele lekcji i. a) Wiadomości Uczeń: zna definicję bazy danych i jej zadania, zna pojęcia: rekord, pole, klucz podstawowy, zna obiekty bazy danych: tabele,

Bardziej szczegółowo

SPIS TREŚCI Funkcje systemu operacyjnego Zapewnia obsługę dialogu między użytkownikiem a komputerem Nadzoruje wymianę informacji między poszczególnymi urządzeniami systemu komputerowego Organizuje zapis

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ

REFERAT PRACY DYPLOMOWEJ REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany

Bardziej szczegółowo

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

Bardziej szczegółowo

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych

Bardziej szczegółowo

INFORMATYKA Pytania ogólne na egzamin dyplomowy

INFORMATYKA Pytania ogólne na egzamin dyplomowy INFORMATYKA Pytania ogólne na egzamin dyplomowy 1. Wyjaśnić pojęcia problem, algorytm. 2. Podać definicję złożoności czasowej. 3. Podać definicję złożoności pamięciowej. 4. Typy danych w języku C. 5. Instrukcja

Bardziej szczegółowo

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Usługi analityczne budowa kostki analitycznej Część pierwsza. Usługi analityczne budowa kostki analitycznej Część pierwsza. Wprowadzenie W wielu dziedzinach działalności człowieka analiza zebranych danych jest jednym z najważniejszych mechanizmów podejmowania decyzji.

Bardziej szczegółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

Bardziej szczegółowo

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,

Bardziej szczegółowo

Kiedy i czy konieczne?

Kiedy i czy konieczne? Bazy Danych Kiedy i czy konieczne? Zastanów się: czy często wykonujesz te same czynności? czy wielokrotnie musisz tworzyć i wypełniać dokumenty do siebie podobne (faktury, oferty, raporty itp.) czy ciągle

Bardziej szczegółowo

Aplikacje webowe wspomagające działalność przedsiębiorstwa na przykładzie przychodni stomatologicznej

Aplikacje webowe wspomagające działalność przedsiębiorstwa na przykładzie przychodni stomatologicznej Aplikacje webowe wspomagające działalność przedsiębiorstwa na przykładzie przychodni stomatologicznej Małgorzata Barańska Wydział Informatyki i Zarządzania, Politechnika Wrocławska Beata Laszkiewicz Wydział

Bardziej szczegółowo

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:

Bardziej szczegółowo

Modelowanie i Programowanie Obiektowe

Modelowanie i Programowanie Obiektowe Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do

Bardziej szczegółowo

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi 1 Rozdział 1 Wprowadzenie do PHP i MySQL Opis: W tym rozdziale kursanci poznają szczegółową charakterystykę

Bardziej szczegółowo

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką? ROZDZIAŁ1 Podstawy inżynierii oprogramowania: - Cele 2 - Zawartość 3 - Inżynieria oprogramowania 4 - Koszty oprogramowania 5 - FAQ o inżynierii oprogramowania: Co to jest jest oprogramowanie? 8 Co to jest

Bardziej szczegółowo

BAZY DANYCH Formularze i raporty

BAZY DANYCH Formularze i raporty BAZY DANYCH Formularze i raporty Za pomocą tabel można wprowadzać nowe dane, przeglądać i modyfikować dane już istniejące. Jednak dla typowego użytkownika systemu baz danych, przygotowuje się specjalne

Bardziej szczegółowo

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych KARTA PRZEDMIOTU Nazwa przedmiotu/modułu: Nazwa angielska: Kierunek studiów: Poziom studiów: Profil studiów Jednostka prowadząca: Programowanie aplikacji internetowych Web application development edukacja

Bardziej szczegółowo

Projektowanie bazy danych przykład

Projektowanie bazy danych przykład Projektowanie bazy danych przykład Pierwszą fazą tworzenia projektu bazy danych jest postawienie definicji celu, założeń wstępnych i określenie podstawowych funkcji aplikacji. Każda baza danych jest projektowana

Bardziej szczegółowo

Zasady organizacji projektów informatycznych

Zasady organizacji projektów informatycznych Zasady organizacji projektów informatycznych Systemy informatyczne w zarządzaniu dr hab. inż. Joanna Józefowska, prof. PP Plan Definicja projektu informatycznego Fazy realizacji projektów informatycznych

Bardziej szczegółowo

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk Wstęp wprowadzający do laboratorium 2 mgr inż. Rafał Grycuk Plan prezentacji 1. Czym jest T-SQL i czym się różni od standardu SQL 2. Typy zapytań 3. Zapytanie typu SELECT 4. Słowo o indeksach T-SQL (1)

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Wybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej

Wybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej Wybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej Spis treści Autor: Marcin Orchel Algorytmika...2 Algorytmika w gimnazjum...2 Algorytmika w liceum...2 Język programowania w

Bardziej szczegółowo

KURS ACCESS 2003 Wiadomości wstępne

KURS ACCESS 2003 Wiadomości wstępne KURS ACCESS 2003 Wiadomości wstępne Biorąc c udział w kursie uczestnik zapozna się z tematyką baz danych i systemu zarządzania bazami danych jakim jest program Microsoft Access 2003. W trakcie kursu naleŝy

Bardziej szczegółowo

OpenOfficePL. Zestaw szablonów magazynowych. Instrukcja obsługi

OpenOfficePL. Zestaw szablonów magazynowych. Instrukcja obsługi OpenOfficePL Zestaw szablonów magazynowych Instrukcja obsługi Spis treści : 1. Informacje ogólne 2. Instalacja zestawu a) konfiguracja połączenia z bazą danych b) import danych z poprzedniej wersji faktur

Bardziej szczegółowo

Projektowanie baz danych za pomocą narzędzi CASE

Projektowanie baz danych za pomocą narzędzi CASE Projektowanie baz danych za pomocą narzędzi CASE Metody tworzenia systemów informatycznych w tym, także rozbudowanych baz danych są komputerowo wspomagane przez narzędzia CASE (ang. Computer Aided Software

Bardziej szczegółowo

Bazy danych 2. Wykład 1

Bazy danych 2. Wykład 1 Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu

Bardziej szczegółowo

QUERY język zapytań do tworzenia raportów w AS/400

QUERY język zapytań do tworzenia raportów w AS/400 QUERY język zapytań do tworzenia raportów w AS/400 Dariusz Bober Katedra Informatyki Politechniki Lubelskiej Streszczenie: W artykule przedstawiony został język QUERY, standardowe narzędzie pracy administratora

Bardziej szczegółowo

ZAPOZNANIE SIĘ ZE SPOSOBEM PRZECHOWYWANIA

ZAPOZNANIE SIĘ ZE SPOSOBEM PRZECHOWYWANIA LABORATORIUM SYSTEMÓW MOBILNYCH ZAPOZNANIE SIĘ ZE SPOSOBEM PRZECHOWYWANIA DANYCH NA URZĄDZENIACH MOBILNYCH I. Temat ćwiczenia II. Wymagania Podstawowe wiadomości z zakresu obsługi baz danych i języka SQL

Bardziej szczegółowo

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski. Bazy danych ITA-101. Wersja 1

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski. Bazy danych ITA-101. Wersja 1 Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski Bazy danych ITA-101 Wersja 1 Warszawa, wrzesień 2009 Wprowadzenie Informacje o kursie Opis kursu We współczesnej informatyce coraz większą

Bardziej szczegółowo

Wybrane problemy z dziedziny modelowania i wdrażania baz danych przestrzennych w aspekcie dydaktyki. Artur Krawczyk AGH Akademia Górniczo Hutnicza

Wybrane problemy z dziedziny modelowania i wdrażania baz danych przestrzennych w aspekcie dydaktyki. Artur Krawczyk AGH Akademia Górniczo Hutnicza Wybrane problemy z dziedziny modelowania i wdrażania baz danych przestrzennych w aspekcie dydaktyki Artur Krawczyk AGH Akademia Górniczo Hutnicza Problem modelowania tekstowego opisu elementu geometrycznego

Bardziej szczegółowo

Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych dr inż. Adam Iwaniak Infrastruktura Danych Przestrzennych w Polsce i Europie Seminarium, AR Wrocław

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

Pytania SO Oprogramowanie Biurowe. Pytania: Egzamin Zawodowy

Pytania SO Oprogramowanie Biurowe. Pytania: Egzamin Zawodowy Pytania SO Oprogramowanie Biurowe Pytania: Egzamin Zawodowy Pytania SO Oprogramowanie Biurowe (1) Gdzie w edytorze tekstu wprowadza się informację lub ciąg znaków, który ma pojawić się na wszystkich stronach

Bardziej szczegółowo

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym 1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle

Bardziej szczegółowo

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. 2/34 Modelowanie CRC Modelowanie CRC (class-responsibility-collaborator) Metoda identyfikowania poszczególnych

Bardziej szczegółowo

Porównanie systemów zarządzania relacyjnymi bazami danych

Porównanie systemów zarządzania relacyjnymi bazami danych Jarosław Gołębiowski 12615 08-07-2013 Porównanie systemów zarządzania relacyjnymi bazami danych Podstawowa terminologia związana z tematem systemów zarządzania bazami danych Baza danych jest to zbiór danych

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót

Bardziej szczegółowo

STUDIA STACJONARNE I STOPNIA Przedmioty kierunkowe

STUDIA STACJONARNE I STOPNIA Przedmioty kierunkowe STUDIA STACJONARNE I STOPNIA Przedmioty kierunkowe Technologie informacyjne Prof. dr hab. Zdzisław Szyjewski 1. Rola i zadania systemu operacyjnego 2. Zarządzanie pamięcią komputera 3. Zarządzanie danymi

Bardziej szczegółowo

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1 Bazy danych wprowadzenie teoretyczne Piotr Prekurat 1 Baza danych Jest to zbiór danych lub jakichkolwiek innych materiałów i elementów zgromadzonych według określonej systematyki lub metody. Zatem jest

Bardziej szczegółowo

Paweł Kurzawa, Delfina Kongo

Paweł Kurzawa, Delfina Kongo Paweł Kurzawa, Delfina Kongo Pierwsze prace nad standaryzacją Obiektowych baz danych zaczęły się w roku 1991. Stworzona została grupa do prac nad standardem, została ona nazwana Object Database Management

Bardziej szczegółowo

Wykład 1 Inżynieria Oprogramowania

Wykład 1 Inżynieria Oprogramowania Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI

Bardziej szczegółowo

Konspekt do lekcji informatyki dla klasy II gimnazjum. TEMAT(1): Baza danych w programie Microsoft Access.

Konspekt do lekcji informatyki dla klasy II gimnazjum. TEMAT(1): Baza danych w programie Microsoft Access. Konspekt do lekcji informatyki dla klasy II gimnazjum. Opracowała: Mariola Franek TEMAT(1): Baza danych w programie Microsoft Access. Cel ogólny: Zapoznanie uczniów z możliwościami programu Microsoft Access.

Bardziej szczegółowo

Narzędzie informatyczne do modelowania, zarządzania i dokumentowania procesów systemu zarządzania jakością

Narzędzie informatyczne do modelowania, zarządzania i dokumentowania procesów systemu zarządzania jakością Narzędzie informatyczne do modelowania, zarządzania i dokumentowania procesów systemu zarządzania jakością ProMoS Każde działanie można ująć w formie procesu i odpowiednio doskonalić. (W.E. Deming) ProMoS

Bardziej szczegółowo