Wykład 3. Część pierwsza: Obliczenia i arkusze kalkulacyjne Trochę historii Pierwsze komputery i obliczenia Komputery osobiste i arkusze II. Specyfika arkuszy kalkulacyjnych Ogólna struktura i typowe zastosowania Przykładowe parametry III. Microsoft Excel Podstawowe cechy aplikacji Wybrane funkcje obliczeniowe Wybrane możliwości pracy z arkuszami I. I.1 Pierwsze komputery i obliczenia Zaczęło się od obliczeń … Pierwsze języki programowania „wysokiego poziomu” (lata 50-te XX w.) Automatyzacja obliczeń ideą prehistorii komputerów Rozwój komputerów w czasie II Wojny Światowej motywowany obliczeniami dla potrzeb militarnych; np. krzywych balistycznych pocisków Fortran, Algol – obliczenia numeryczne Cobol – obliczenia ekonomiczne Rozwój dziedzin matematyki dotyczących obliczeń Metody numeryczne – rozwiązywanie problemów matematycznych drogą obliczeń (całki, układy równań…) Teoria obliczeń – obliczalność, złożoność obliczeniowa I. 2 Komputery osobiste i arkusze Pierwszy arkusz kalkulacyjny VisiCalc opracowany dla komputerów osobistych firmy Apple (1978) zrewolucjonizował sposób prowadzenia obliczeń w firmach przyczynił się do wzrostu sprzedaży komputerów Arkusz kalkulacyjny Lotus 1-2-3 opracowany dla systemu operacyjnego DOS (1983) wiodący arkusz kalkulacyjny dla PC-tów w trybie tekstowym znalazł wielu naśladowców, m.in. Quattro Pro firmy Borland później w graficznym środowisku Windows, w pakiecie biurowym Lotus SmartSuite, obecnie IBM Lotus Symphony II.1 Ogólna struktura i typowe zastosowania arkuszy obliczeniowych Struktura arkusza Dane i obliczenia w regularnej strukturze tabeli Numerowane wiersze i kolumny oznaczane literami Komórki na przecięciu wierszy i kolumn Zawartość komórek powiązana przez formuły obliczeniowe Adresowanie względne i bezwzględne Zakresy zastosowań Obliczenia ekonomiczne i księgowe Tabelaryczne zestawienia informacji Praca z danymi: wyszukiwanie, filtrowanie, prezentacja Wspomaganie decyzji biznesowych II.2 Przykładowe parametry arkuszy Arkusz VisiCalc Lotus 1-2-3 Excel 1.0 Excel 2003 Rok wydania 1979 (1981 na PC) 1983 1985 (1987 na PC) 2002 Platformy Apple II, … PC PC (DOS) Macintosh, PC (Windows) PC Rozmiary arkusza (kolumny × wiersze) 63 × 254 256 × 2048 256 × 16384 256 × 65536 Liczba funkcji 28 41 114 235 Liczba typów wykresów 0 5 7 14+20 Cena (~) 99$ 495$ 395$ 229$ JO II.3 Relacyjne bazy danych III.1 Microsoft Excel Wiodąca, wszechstronna aplikacja arkusza kalkulacyjnego z graficznym interfejsem użytkownika Geneza i pierwsze wersje Sukcesor DOS-owego arkusza Microsoftu MultiPlan (1982) Najpierw dla komputerów Apple Macintosh (1985) Wersja dla Windows (1987) zaważyła na ich sukcesie Wygrana konkurencja z Lotus 1-2-3 Kolejne wersje w minionych dwóch dekadach Szereg wersji dla komputerów McIntosh (ostatnia w 2008) 10 wersji dla PC z systemem Windows (od roku 1993 związane z pakietem MS Office, przyczyniły się do jego powodzenia) najnowsza wersja dla Windows w pakiecie MS Office 2007 III.2 Środowisko programu Excel Prototypowe GUI MS Office, zintegrowane z innymi aplikacjami Skoroszyt i arkusze Specyficzne pozycje menu Arkusz ma 216(220) wierszy 28(214) kolumn w wersji 2003 (2007) Skoroszyt zawiera dowolną liczbę arkuszy (domyślnie 3) Dowolna liczba otwartych skoroszytów w aplikacji Excel Widok / Podgląd podziału stron; Wstaw / Wiersze, Kolumny, Arkusz, Funkcja, Nazwa; Format / Komórki, Wiersz, Kolumna, Formatowanie warunkowe Dane / Sortuj, Filtr, Grupy i konspekt, Sumy częściowe, Tabele przestawne, Importuj dane zewnętrzne Specyficzne paski narzędziowe do pracy z danymi, formularzy, formuł, tabeli przestawnych III.3 Zawartość komórek arkusza Wartości wpisywane przez użytkownika (lub importowane) format ogólny: domyślna interpretacja zależnie od treści formaty liczb: liczbowy, naukowy; procentowy, ułamkowy; walutowy, księgowy; data, czas tekstowy: dowolna zawartość interpretowana jako tekst formaty specjalne i niestandardowe Formuły – wartości wyliczane (wyrażenia po znaku =) Zwykłe: ich argumentami są wartości pobrane z innych komórek, funkcje lub stałe; argumenty mogą być połączone operatorami Tablicowe: wynik i / lub argumenty w postaci zakresu komórek (czyli tablicy), np. operacje na macierzach Przykład: prosta formula tablicowa III.3.1 Przykłady Formuła: =1/3 wyświetlana w różnych formatach Formuły tablicowe: (Ctrl+Shift) {=B8:C12/10} {=B8:C12+G8:H12} III.4 Funkcje obliczeniowe i narzędzia interakcyjne, „kreatory” Bogaty zestaw funkcji różnych kategorii Matematyczne, Statystyczne, Finansowe Daty i czasu Logiczne Bazy danych, Tekstowe, Informacyjne, Wyszukiwania i adresu Liczne narzędzia wspomagające pracę ze skoroszytem, m.in.: Wstawianie funkcji – specyfikacja argumentów, podgląd wyniku, tekst pomocy (opis funkcji i argumentów) Kreator wykresów – wybór rodzaju wykresu, formatowanie elementów, powiązanie z seriami danych arkusza Rejestracja i organizacja makr – zapis powtarzalnych sekwencji czynności do wielokrotnego wykorzystania Kreator tabel i wykresów przestawnych – agregacja danych III.5 Przykłady użycia funkcji: obliczanie lat pracy w tabeli KADRY (w kolumnie G data zatrudnienia) Formuły z funkcjami daty i funkcją zaokrąglenia liczby Wersja A (zgrubna): rok bieżący – rok daty zatrudnienia =ROK(DZIŚ())-ROK($G18) Wersja B (przybliżona): liczba dni zatrudnienia / liczba dni w roku =LICZBA.CAŁK((DZIŚ()-$G18)/365) Formuła z funkcjami daty i funkcjami logicznymi Wersja C (dokładna): pełne lata kalendarzowe o 1 rok mniej, jeżeli w bieżącej dacie jest wcześniejszy miesiąc, lub w ten sam miesiąc oraz wcześniejszy dzień, niż w dacie zatrudnienia =ROK(DZIŚ())-ROK($G18) JEŻELI(LUB(MIESIĄC(DZIŚ())<MIESIĄC($G18); ORAZ(MIESIĄC(DZIŚ())=MIESIĄC($G18); DZIEŃ(DZIŚ())<DZIEŃ($G18))) ; 1 ; 0 ) III.6 Formaty warunkowe do przykładów z III.5 Formatowanie warunkowe umożliwia zróżnicowanie formatów w zakresie komórek na podstawie warunków logicznych przez: nałożenie warunku na wartość wskazanej komórki lub wpisanie formuły zmianę czcionki, obramowania, deseniu komórek spełniających warunek. Przykład zastosowania dla zaznaczenia różnic Warunek określony na wartości komórki: Wartość komórki jest nierówna $J18 wyróżni formatem czcionki te wyniki wyliczeń lat pracy metodą B i C, które różnią się od umieszczonego w kolumnie J wyliczenia metodą A. Przykład zastosowania dla szybkiego pokolorowania komórek w zakresie Warunek określony przez formułę: Formuła jest =MOD(WIERSZ();2)=0 zmieni kolor parzystych wierszy zakresu; funkcja WIERSZ() zwraca numer wiersza, funkcja MOD(x;2) zwraca wartość 0 dla parzystych wartości x. III.7 Wybrane możliwości Excela Import danych Analiza danych Wykresy danych – bogata galeria typów i podtypów Raporty i wykresy dla tabeli przestawnych; formularze Programowanie Poszukiwanie oczekiwanych wyników, symulacje Grupowanie, sumy częściowe list danych; tabele przestawne Prezentacja danych Obsługa licznych formatów i źródeł danych Wspomaganie tworzenia kwerend, tj. zapytań do baz danych Makra, moduły Visual Basic for Applications Współpraca z otoczeniem Praca grupowa, w sieci, współpraca z innymi aplikacjami Część druga: Aplikacje z bazami danych IV. Bazy danych Geneza i podstawowe pojęcia Zalety systemów baz danych Klasyfikacja baz danych V. Przykład projektu aplikacji z bazą danych Projekt struktury bazy danych Tabele i kwerendy SQL VI. Microsoft Access Ogólne cechy programu Access Składniki aplikacji z bazą danych IV.1 Geneza i podstawowe pojęcia Technologie baz danych (od lat 60/70 XX w.) rosnąca objętość gromadzonych informacji postęp środków technicznych informatyki (w tym pamięci masowych na taśmach i dyskach znaczenie informacji w zarządzaniu potrzeba sprawniejszych metod przetwarzania Baza danych DB zorganizowany (ustrukturalizowany) zbiór wzajemnie powiązanych danych database System zarządzania bazą danych DBMS management system zakładanie i aktualizacja bazy dostęp do danych wiarygodność, bezpieczeństwo i spójność danych SZBD IV.2 Zalety systemów baz danych Mechanizmy strukturalizacji danych Niezależność danych od programów dostęp do danych za pośrednictwem języka zapytań aktualizacja bazy przez język manipulacji danymi Scentralizowana kontrola spójności danych jednoznaczność i sensowność danych jednokrotna aktualizacja danych zachowanie warunków ograniczających kontrola równoległego (równoczesnego) dostępu do danych Scentralizowana ochrona niezawodności systemu i bezpieczeństwa danych IV. 3 Klasyfikacja baz danych Ze względu na model danych (logiczną strukturę danych i zachodzących między nimi związków) rozróżnia się bazy danych: Relacyjne: dane w tabelach, ustanowione relacje między danymi Sieciowe: związki między jednostkami danych tworzą strukturę grafu Hierarchiczne: związki między jednostkami danych tworzą strukturę drzewa Obiektowe: dane o strukturze obiektów programowych Multimedialne: dane w formatach grafiki, dźwięku itp. Ze względu na konfigurację występują systemy baz danych: scentralizowane: centralnie zarządzane w jednym węźle sieci rozproszone: spójnie zarządzane bazy danych w wielu węzłach sieci Ze względu na dostępność występują systemy baz danych: wielodostępne: dostępne dla wielu użytkowników i aplikacji lokalne: dostępne na jednym komputerze IV.4 Popularne przykłady SZBD Nazwa Producent Oracle dBase Oracle Corp. Pierwsze Ostatnie wydanie wydanie Typ Licencja Ashton-Tate 1979 1980 2009 ROR komercyjna pseudo -”2008 relacyjny DB2 IBM 1983 2009 PostgreSQL U.C.Berkeley 1988 MS SQL Server Microsoft MS Access MySQL -”- 2009 ROR OR darmowa 1989 2008 R komercyjna Microsoft 1992 2007 R -”- MySQL AB 1995 2010 R darmowa, komercyjna R – relacyjny, OR – obiektowo-relacyjny V.1 Przykład aplikacji z bazą danych do obsługi biblioteki Dane o książkach F1: Katalog książek K: Książki Dane o czytelnikach Dane o wypożyczeniach Dane o zwrotach F2: Rejestr czytelników F3: Wypożyczenia F4: Zwroty C: Czytelnicy W: Wypożyczenia SZBD V.2 Trzy aspekty projektowania struktury bazy danych Funkcje aplikacji bazy danych Funkcjonalna struktura b.d. Logiczna struktura b.d. Fizyczna struktura b.d. F1 F2 F3 C K C W WW KC 1 K F4 C WW KC n C 1 n W Zewnętrzne modele danych Pojęciowy model danych Wewnętrzny model danych Krotności związków między danymi 1:1, 1:n, (m:n). W przykładzie 1:n - jeden do wielu - związek jednej pozycji zbioru danych C (czytelnicy) z wieloma pozycjami zbioru W (wypożyczenia) V.3 Model danych bazy relacyjnej Tabele zawierają rekordy danych o jednorodnej strukturze Rekordy danych zawierają nazwane pola np. CZYTELNICY (Nr karty, Nazwisko, Imię, Adres, Kod, Miasto, Telefon) KSIĄŻKI (Sygnatura, Autor, Tytuł, Dział, Rok wydania) WYPOŻYCZENIA (Numer#, Nr karty, Sygnatura , Data wyp, Data zwr) klucz podstawowy identyfikuje rekordy klucz obcy reprezentuje związek (relację) z inną tabelą Symbol # oznacza automatyczne numerowanie pól kolejnych rekordów przez SZBD V.4 Kwerendy w języku SQL SQL (Structured Query Language) to standardowy R=Relational język relacyjnych baz danych obsługiwany przez wszystkie liczące się systemy RDBMS pozwala tworzyć zapytania do bazy danych, definiować tabele danych i manipulować danymi w tabelach Przykład zapytania wybierającego dane o aktualnie wypożyczonych książkach: SELECT KSIĄŻKI.Tytuł, Date()-WYPOŻYCZENIA![Data wyp] AS [Ile dni] FROM KSIĄŻKI INNER JOIN WYPOŻYCZENIA ON KSIĄŻKI.Sygnatura=WYPOŻYCZENIA.Sygnatura WHERE (((WYPOŻYCZENIA.[Data zwr]) Is Null)); VI.1 Ogólne cechy programu MS Access Program do tworzenia aplikacji z bazami danych Bazy danych w programie Access Relacyjny model danych Obsługa języka SQL Dane liczbowe i tekstowe, obiekty binarne (np. obrazy) Konfiguracja lokalna i wielodostępna Komunikacja z innymi systemami baz danych „Obiekty” MS Access reprezentują struktury danych, środki prezentacji danych oraz elementy oprogramowania Narzędzia GUI wspomagające pracę z aplikacją MS Access VI.2 Składniki aplikacji programu Access Baza danych Tabele z danymi połączone przez tzw. relacje Kwerendy w języku SQL (zapytań i manipulacji danymi) wybierające dają selektywny dostęp do danych krzyżowe tworzą zagregowane postacie danych (np. podsumowania) funkcjonalne usuwają, aktualizują, dołączają dane, tworzą nowe tabele – pozwalają manipulować danymi w bazie Obiekty graficznej prezentacji danych Formularze, raporty, a także strony dostępu w sieci Web Programowanie Makra i moduły w języku VBA (Visual Basic for Access)