1. Co to jest baza danych?
Baza danych to zbiór danych w postaci tabel oraz narzędzi stosowanych do gromadzenia, przekształcania oraz wyszukiwania danych. Zbiór danych zapisanych w ściśle określony sposób w strukturach odpowiadających założonemu modelowi danych. W potocznym ujęciu obejmuje dane oraz program komputerowy wyspecjalizowany do gromadzenia i przetwarzania tych danych.
2. Wymień przykładowe zastosowanie baz danych.
Systemy finansowo-księgowe
Systemy wspomagające zarządzanie
Rejestry i kartoteki (np. publiczne)
Systemy rezerwacji (np. lotniczej)
Systemy internetowe (np. sklepy elektroniczne)
3. Omów rolę baz danych we współczesnych systemach informacyjnych.
Współczesne profesjonalne systemy informacyjne z reguły wykorzystują bazy danych. W ogromnej większości przypadków stosowane są systemy relacyjne.
Dlaczego baza danych stanowi dobry fundament systemów informacyjnych?
• Bezpieczeństwo
–zabezpieczenia dostępu
–niezawodność
–ograniczenia integralności
–możliwość scentralizowanego administrowania danymi
–przetwarzanie transakcyjne
• Wydajność
–wydajne przetwarzanie transakcji
–szybkie wyszukiwanie
• Wielodostęp
–Otwartość
–elastyczność dostępu do danych
–współdziałanie z różnymi źródłami danych
• Możliwości rozwoju
–skalowalność
–przenośność
–możliwości pracy rozproszonej
4. Wymień składniki systemów informacyjnych z bazami danych.
Baza danych
• System zarządzania bazą danych (DBMS -Database Management System)
–jest obowiązkowym pośrednikiem między programami a danymi
–wymusza właściwe operowanie danymi
–realizuje zapytania i manipulacje danymi zlecone przez programy
• Metadane (słownik)
–struktura danych
–reguły integralności
–prawa dostępu
• Dane
• Języki dostępu do danych
–język definiowania danych
–język manipulowania danymi
–język zapytań
Aplikacja
• Warstwa sieciowa
• Środowiska wykonania aplikacji (runtime, serwery aplikacyjne, kontenery itp.)
• Moduły aplikacji
5. Omów znane ci architektury systemów z bazami danych.
1. Architektura jednokomputerowa
• Budowa
–wszystkie funkcje w jednym komputerze, niekiedy w jednym programie
• Problemy
–brak wielodostępu
2. Architektura ze współdzieleniem plików
• Budowa
–wszystkie funkcje w komputerze „klienta”
–wiele programów
- pełni funkcję „lokalnych DBMS”
- współdzieli te same pliki danych (na serwerze plików lub w sieci peer-to-peer)
• Problemy
–słaba koordynacja wielodostępu
–brak scentralizowanych zabezpieczeń dostępu i integralności danych
–model „dane do zapytania”
–nie nadaje się do zastosowań profesjonalnych (co najwyżej SOHO)
3. Architektura klient-serwer
• Budowa
–klient –specjalny program (runtime)
• prezentacja
• logika aplikacji
• część przetwarzania danych
–serwer danych –DBMS
• składowanie danych
• realizacja zapytań
• przetwarzanie danych
• Zalety
–możliwość budowy silnych systemów z
–dość słabych komputerów –model „zapytanie do danych”
• Problemy
–konieczność instalacji specjalizowanego oprogramowania na klientach
–trudne administrowanie klientami
–duże koszty eksploatacji komputerów-klientów
4 Architektura wielowarstwowa
• Klient –przeglądarka WWW
–prezentacja
–część logiki aplikacji (gruby klient)
• Serwer aplikacyjny
– serwer HTTP (może być w osobnej warstwie)
– wykonywanie aplikacji
• logika aplikacji
• część przetwarzania danych
• Serwer danych –DBMS
–składowanie danych
–przetwarzanie danych
Cienki klient
• Istota
–na komputerze klienta tylko przeglądarka WWW
–klient realizuje tylko prezentację
• Zalety
–brak problemów z administrowaniem klientami
–powszechnie znane środowisko pracy
–darmowe oprogramowanie
–całkowita przenośność
–scentralizowane administrowanie
–bezpieczeństwo
6. Wymień i omów znane ci modele danych w bazach danych.
1. Model hierarchiczny
•Cechy podstawowe
–struktura danych ma postać drzewa
węzły: typy opisywanych obiektów
łuki: związki typu ojciec-syn
–opis obiektu (rekord) zbudowany z pól
–zawierających dane opisujące obiekt
–związki zrealizowane jako wskaźniki
–łatwo realizuje się tylko jeden rodzaj związku między dwoma typami obiektów
•Znaczenie praktyczne
–system IBM IMS (1978)
•bardzo wielkie dane zgromadzone
•poprzednik użyty w programie Apollo
–nowych projektów nie robi się
2. Model sieciowy
•Struktura danych ma postać grafu (sieci)
•Związki reprezentowane przez wskaźniki
•Znaczenie wyłącznie historyczne
3. Model relacyjny
•Cechy podstawowe
–dane zawarte w tabelach
•liczba kolumn i typy stałe
•liczba wierszy zmienna
•wiersze nie mają numerów ani adresów
•wiersze identyfikowane przez wartości wybranych kolumn (kluczy)
–związki pomiędzy wierszami tabel
•zdefiniowane poprzez zależności między wartościami wybranych kolumn
•nie ma wskaźników
•Znaczenie praktyczne
–model dominujący we wszelkich dziedzinach zastosowań
•Ograniczenia
–mało naturalna reprezentacja danych
–trudne operowanie na złożonych obiektach
•brak złożonych typów danych
•dane rozproszone w wielu tabelach
–ograniczona podatność na zmiany modelu
4. Model obiektowy
•Cechy podstawowe
–obiekt w bazie reprezentuje obiekt w świecie zewnętrznym
–łączne modelowanie danych i zachowań
–złożone typy danych
–tożsamość obiektu niezależna
–od zawartości danych
–dziedziczenie (inheritance):
•strukturalne: potomek dziedziczy strukturę danych
•behawioralne: potomek dziedziczy metody i operatory
–enkapsulacja: wnętrze obiektu dostępne jedynie w sposób w nim zdefiniowany
–polimorfizm: tak samo nazwane metody i operatory działają swoiście w zależności od klasy obiektu
•Zalety
–dość naturalna reprezentacja świata
–łatwość działania na złożonych obiektach duża podatność na zmiany
•Znaczenie praktyczne
–stosowany powszechnie w programowaniu
–w bazach danych w zasadzie tylko w zastosowaniach naukowych lub eksperymentalnych
–przewidywana ewolucja baz relacyjnych w kierunku relacyjno-obiektowych
7. W jaki sposób organizowane są dane w modelach relacyjnych.
Z praktycznego punktu widzenia
relacja odpowiada tabeli
atrybuty odpowiadają kolumnom tej tabeli
Cechy tabeli relacyjnej
liczba i nazwy kolumn ustalone
typ danych dla każdej z kolumn ustalony
liczba wierszy zmienna
kolejność wierszy nieustalona
wiersze nie mają numerów ani adresów
Opcjonalność kolumn
Dopuszczalne są „puste komórki” –wartość NULL
dane nieznane
dane nieistniejące (nieadekwatne)
Kolumny obowiązkowe: nie mogą zawierać wartości NULL
8. Wyjaśnij pojęcia: pola i typy pól, rekordy, klucz podstawowy.
Pole: zwane także atrybutem lub kolumną, to struktura danych opisująca pojedynczą daną w rekordzie np. nazwisko pracownika.Typy pól: ??? UZUPEŁNIĆ !!!
Rekord: pojedynczy wiersz w tabeli. Zwany także krotką lub wierszem, to pozioma struktura danych opisująca jeden obiekt. Rekord składa się z pól opisujących dokładnie cechy obiektu np. pojedynczego pracownika.
Klucz podstawowy: Klucz podstawowy (ang. primary key) zwany też kluczem głównym to jedno lub więcej pól, których wartość jednoznacznie identyfikuje każdy rekord w tabeli. Taka cecha klucza nazywana jest unikatowością. Klucz podstawowy służy do powiązania rekordów w jednej tabeli z rekordami z innej tabeli. Klucz podstawowy jest nazywany kluczem obcym, jeśli odwołuje się do innej tabeli. Na przykład, w bazie pracowników kluczem podstawowym może być numer ewidencyjny pracownika.
9. Wymień najważniejsze cechy tabeli relacyjnej.
• liczba i nazwy kolumn ustalone
• typ danych dla każdej z kolumn ustalony
• liczba wierszy zmienna
• kolejność wierszy nieustalona
• wiersze nie mają numerów ani adresów
10. Wyjaśnij zasady wyboru klucza podstawowego w tabeli relacyjnej.
Powinien być.
złożony z kolumn obowiązkowych
niezmienny
niezbyt długi
łatwy do wyznaczenia
11. Wyjaśnij pojęcia kluczy i związków w modelu relacyjnym.
Klucz - Kolumna lub zbiór kolumn, których wartości jednoznacznie wyznaczają wiersz
Związek – powiązanie między tabelami wykorzystujące klucze (najlepiej główne).
12. Wymień i omów znane ci rodzaje kluczy wykorzystywane w tabelach relacyjnych.
1. Klucz główny
wyróżniony klucz właściwy
określa tożsamość wiersza
musi być
złożony z kolumn obowiązkowych
niezmienny
niezbyt długi
łatwy do wyznaczenia
Każda tabela relacyjna powinna mieć klucz główny
2. Klucze obce
kolumny dodane do tabel w celu realizacji związków
zawierają one wartości kluczy głównych z tabel powiązanych
muszą mieć typy zgodne z odpowiednimi kolumnami kluczy głównych
mogą mieć inne nazwy, ale wygodnie jest, jeśli nazwy są zgodne
jeśli klucz główny jest złożony (tzn. zawiera wiele kolumn), to odpowiedni klucz obcy musi być złożony analogicznie
3. Klucz złożony – składa się z kilku pól
13. Wymień i omów znane ci typy związków między tabelami.
1. relacja jeden-do-jednego .W relacji jeden-do-jednego każdy rekord w tabeli A może mieć tylko jeden dopasowany rekord z tabeli B, i tak samo każdy rekord w tabeli B może mieć tylko jeden dopasowany rekord z tabeli A. Ten typ relacji spotyka się rzadko, ponieważ większość informacji powiązanych w ten sposób byłoby zawartych w jednej tabeli. Relacji jeden-do-jednego można używać do podziału tabeli z wieloma polami, do odizolowania części tabeli ze względów bezpieczeństwa, albo do przechowania informacji odnoszącej się tylko do podzbioru tabeli głównej.
2. Relacja jeden-do-wielu. Relacja jeden-do-wielu jest najbardziej powszechnym typem relacji. W relacji jeden-do-wielu rekord w tabeli A może mieć wiele dopasowanych do niego rekordów z tabeli B, ale rekord w tabeli B ma tylko jeden dopasowany rekord w tabeli A.
3. Relacja wiele-do-wielu. W relacji wiele-do-wielu, rekord w tabeli A może mieć wiele dopasowanych do niego rekordów z tabeli B i tak samo rekord w tabeli B może mieć wiele dopasowanych do niego rekordów z tabeli A. Jest to możliwe tylko przez zdefiniowanie trzeciej tabeli (nazywanej tabelą łącza), której klucz podstawowy składa się z dwóch pól ž kluczy obcych z tabel A i B. Relacja wiele-do-wielu jest w istocie dwiema relacjami jeden-do-wielu z trzecią tabelą. Na przykład, tabele "Zamówienia" i "Produkty" są powiązane relacją wiele-do-wielu zdefiniowaną przez utworzenie dwóch relacji jeden-do-wielu z tabelą "Opisy zamówień".
14. Wymień podstawowe operacje na tabelach relacyjnych.
1. Operacje relacyjne
Operandami są tabele relacyjne
Wynikiem jest także tabela relacyjna
wirtualna –nie jest zapisywana
może być operandem w dalszych operacjach
2. Selekcja
Polega na wybraniu z tabeli jedynie niektórych wierszy
wybiera się wiersze spełniające tzw. warunek selekcji
Wynik jest tabelą o schemacie identycznym z tabelą wyjściową
3. Projekcja
Polega na wybraniu z tabeli jedynie niektórych kolumn
Wynik jest tabelą o schemacie będącym podzbiorem schematu tabeli wyjściowej
4. Operacje teoriomnogościowe
Polegają na potraktowaniu wierszy tabel jak elementów zbioru
Tabele uczestniczące w operacjach muszą mieć zgodne schematy
tę samą liczbę kolumn
takie same typy odpowiednich kolumn
Typowe operacje
suma
suma w sensie wielozbioru (z powtórzeniami)
przecięcie
różnica
5. Złączenie
Polega na połączeniu wierszy dwóch tabel
wynikowe wiersze są konkatenacją (sklejeniem) wierszy tabel wyjściowych
łączone są tylko te wiersze, które spełniają tzw. warunek złączenia
warunek ten porównuje wartości z obu tabel
Szczególne przypadki
złączenie równościowe
warunek złączenia jest równościowy
złączenie naturalne
równościowe
porównywane kolumny mają takie same nazwy
15. Podaj podstawowe zasady projektowania tabel relacyjnych.
Wymagania a zakres projektu
• Struktura danych musi zapewnić
- możliwość realizacji wymagań
- możliwość przyszłej rozbudowy
- elastyczność (w rozsądnym zakresie)
Zasady
• Klasyczne: niezależność od zastosowań (application independence)
- model danych nie powinien zależeć od konkretnych wymagań funkcjonalnych
- powinien odzwierciedlać „istotę rzeczy"
• „Nowoczesne": ścisła zależność od wymagań funkcjonalnych (use-case dhven)
- model danych powinien dokładnie pasować do wymaganych sposobów ich użycia
• Rozsądny kompromis
- zakres modelu danych powinien być dostosowany do wymagań
- ale struktura modelu danych powinna odzwierciedlać istotę rzeczy
(bez uproszczeń)
Nazwy w projektach baz danych
• Nazwy wszelkich elementów struktury w bazie danych muszą być czytelne
- z użyciem ustalonej terminologii
- bez skrótów!
- zrozumiałe także
♦ dla osób spoza zespołu projektowego
♦ po 10 latach
• Nazwy muszą spełniać wymagania DBMS
- maksymalna długość
- użyte znaki
♦ litera na początku
♦ dozwolone niektóre znaki specjalne
♦ w MS Access
» dozwolone spacje
» dozwolone znaki narodowe
♦ w poważniejszych bazach
» spacje zakazane (używać _) » znaki narodowe dozwolone, ale nie zalecane
• Konwencja tworzenia nazw powinna być jednolita w całym projekcie
Jak określić tabele
• Jedna tabela powinna opisywać obiekty
- jednakowego typu
- o prostej i jednolitej naturze
♦ nie typu całość + części
♦ nie połączenia z istoty różnych obiektów
• Każdy wiersz tabeli musi opisywać jeden obiekt
- mający dobrze określoną tożsamość: odróżnialny od innych
- opisywany prostymi atrybutami:
bez użycia kolekcji, złożonych typów itp.
• Punkt startu do projektu tabel
- analiza rzeczowników w opisie problemu
Redundancja i normalizacja
• Model danych nie powinien zawierać jawnej redundancji:
- powtórzeń danych
♦ chyba że wynika to np. z przepisów
- wyników prostych obliczeń
♦ przechowuje się wyniki obliczeń zmieniających się
• Każda z tabel musi być w trzeciej postaci normalnej
- jeśli stosujemy powyższe zasady, to zwykle 3NF „sama" wychodzi
- ale warto to sprawdzać, zwłaszcza jeśli się nie ma wprawy
Klucz główny
- każda tabela musi mieć klucz główny określający tożsamość wierszy
niezmienny
złożony z kolumn not nuli
niezbyt długi
łatwy do wyznaczenia
Klucz sztuczny
tworzony gdy brak naturalnych kandydatów na klucz główny
najczęściej liczbowy
wartość generowana automatycznie
Klucze unikalne
mogą zawierać wartości nuli
mogą być dość długie
służą do dodatkowych kontroli
Kolumny
Nazwy kolumn muszą ściśle odpowiadać projektowanej zawartości
- nie stosujemy „sztuczek"
• Typy danych dobiera się tak, by zapewnić
- efektywną reprezentację danych
- kontrolę poprawności danych
- niezbędną dokładność reprezentacji danych i operacji na nich
♦ np. wartości pieniężne reprezentuje się wyłącznie stałoprzecinkowo!
Struktury pomocnicze
• Indeksy
- przyspieszają wykonanie zapytań
- zapewniają unikalność kluczy
• Perspektywy
- upraszczają dostęp do danych
- izolują podsystemy
- zapewniają lepszą kontrolę dostępu
16. Wyjaśnij pojęcie redundancji danych w relacyjnej bazie danych.
Redundancja jest to powtarzanie się informacji
W bazach danych jest groźna
prowadzi do anomalii aktualizacji
powoduje marnowanie miejsca
Typowe przyczyny występowania redundancji
błędne połączenie danych w jednej tabeli
przechowywanie agregatów (wyników obliczeń)
17. Wyjaśnij pojęcie i podaj przykłady anomalii w relacyjnej bazie danych.
Anomalie aktualizacji- Niekorzystne zjawiska występujące przymanipulowaniu danymi
Mogą prowadzić do utraty spójności danych, np. do „rozjechania” się redundantnych kopii danych
18. Omów na czym polega kontrola integralności (poprawności) danych w relacyjnej b.d.
Integralność danych
Dane w bazie muszą spełniać narzucone im ograniczenia integralności
Ograniczenia te
wymuszają formalną poprawność danych
modelują reguły integralności obowiązujące w świecie
nie dopuszczają do zapisu w bazie danych na pewno niepoprawnych
19. Podaj przykłady ograniczeń integralności danych.
Typowe ograniczenia integralności
• Integralność kolumn
zapełnienie kolumn obowiązkowych
przynależność wartości kolumn do odpowiednich zbiorów wartości
• Integralność wierszy
zależności między danymi w każdym wierszu tabeli
• Integralność tabel
niepowtarzalność wartości kluczy
• Integralność referencyjna
zgodność wartości kluczy obcych z wartościami odpowiednich kluczy głównych
Deklaratywne więzy integralności
• Typowe ograniczenia
definiowane w sposób deklaratywny (bez programowania)
tworzone razem z tabelami
Automatycznie wymuszane przez system zarządzania bazą danych
• nie wymagają oprogramowywania w aplikacjach
• są wspólne dla wszelkich sposobów użycia danych
• nie dadzą się ominąć
Typowe więzy deklaratywne
Obowiązkowość kolumny (not null)
Klucz główny (primary key)
niepowtarzalny
obowiązkowe kolumny
jeden dla tabeli
identyfikuje wiersze
Klucz unikalny (unique key)
niepowtarzalny
kolumny mogą zawierać wartości NULL (powtórzenia wartości NULL dozwolone)
może być kilka dla tabeli
zapewniają dodatkowe sprawdzenie poprawności danych
Klucz obcy (foreign key)
wymusza zgodność wartości kolumn klucza obcego z wartościami odpowiedniego klucza głównego
chroni wskazywane wartości klucza głównego
Więzy kontrolne (check constraints)
narzucają proste warunki na zawartość każdego wiersza tabeli
20. Omów pojęcie indeksów i opisz cele ich stosowania.
Indeks (w bazach danych) jest strukturą danych zwiększającą prędkość wykonywania operacji na tabeli.
Problem wyszukiwania danych
• Selekcja: wyszukiwanie danych spełniających pewne warunki
• Złączenia: dopasowywanie danych z kilku tabel
- przeszukiwanie w zagnieżdżonych pętlach (nested loops)
- sortowanie obu tabel i dopasowywanie grup wierszy (sort merge)
Sposoby wyszukiwania danych w tabeli
• Wyszukiwanie liniowe (full scan)
- przeszukuje całą tabelę
- odrzuca wiersze nie spełniające warunku
- powolne - czas rośnie liniowo wraz ze wzrostem ilości danych
- daje dramatycznie powolne złączenia
• Wyszukiwanie z użyciem indeksu (index scan)
- szybkie wyszukiwanie wiersza wg warunku
♦ równościowego
♦ nierównościowego
- szybkie sortowanie
- możliwa wydajna realizacja złączeń
Indeksowanie
• Indeksuje się tzw. klucz indeksowania
- kolumna (indeks prosty)
- kilka kolumn (indeks złożony)
• Indeks zawiera strukturę drzewa
- w liściach zawarte są wskaźniki (adresy) do odpowiednich wierszy tabeli
• Wyszukiwanie w indeksie polega na nawigacji po drzewie
- od „korzenia"
- do odpowiedniego liścia
• Wyszukiwanie jest szybkie gdyż
- nie trzeba czytać całego indeksu
- indeks jest znacząco mniejszy od tabeli
• W przypadku zmian danych indeksy są automatycznie przebudowywane przez DBMS
• Indeksy unikalne
- struktura nie pozwala na powtórzenie wartości klucza
21. Wymień podstawowe etapy projektowania relacyjnej b.d.
a)określenie zbiorów niezbędnych danych (lista danych + krótki opis, do czego będą służyć)
b)określenie zbiorów pól w tabelach (czyli podział bazy na tabele)
c)określenie kluczy podstawowych (dla informatyków: niech doczytają o tzw. normalizacji danych – do 3 postaci normalnej włącznie)
d)ustalenie własności pół (omówienie własności: str. 72-73)
22. Wyjaśnij pojęcie systemu zarządzania b.d.
System zarządzający bazami (ang.database management system) Jest to program zarządzający (system bazy danych) bazami danych oraz służący do wykonywania tabel, formularzy, kwerend, raportów, makr, procedur, podprogramów oraz produkcji gotowych aplikacji.
23.Wymień i krótko opisz znane ci systemy zarządzania b.d.
IBM DB2 - relacyjny serwer danych z rodziny Information Management Software.
Informix – rodzina produktów Systemów Zarządzania Bazami Danych (SZBD) firmy IBM. Informix jest oferowany jako flagowy serwer dla przetwarzania transakcyjnego (OLTP) jak i rozwiązań zintegrowanych. IBM nabył technologię Informix w 2001 od Informix Software.
Firebird -b system zarządzania relacyjnymi bazami danych zgodny ze standardem ANSI SQL-92; obok MySQL oraz PostgreSQL jeden z trzech najpopularniejszych, wolnodostępnych Systemów Zarządzania Bazą Danych. Oferuje również wiele elementów standardu SQL-99 oraz SQL:2003
Microsoft SQL Server (MS SQL) to system zarządzania bazą danych, wspierany i rozpowszechniany przez korporację Microsoft. Jest to główny produkt bazodanowy tej firmy, który charakteryzuje się tym, iż jako język zapytań używany jest przede wszystkim Transact-SQL, który stanowi rozwinięcie standardu ANSI/ISO.
MySQL był pisany raczej z myślą o szybkości niż kompatybilności ze standardem SQL – przez dłuższy czas MySQL nie obsługiwał nawet transakcji, co było zresztą głównym argumentem przeciwników tego projektu. MySQL obsługuje większą część obecnego standardu ANSI/ISO SQL (tj. SQL:2003). Wprowadza również swoje rozszerzenia i nowe elementy języka [2].Oracle Database to oficjalna nazwa relacyjnego systemu baz danych (RDBMS) stworzonego przez Oracle Corporation. Nazwa Oracle pochodzi od nazwy kodowej jednego z projektów sponsorowanych przez CIA, nad którymi pracował współzałożyciel korporacji Oracle - Larry Ellison.
PostgreSQL to, obok MySQL i Firebird, jeden z trzech najpopularniejszych wolnodostępnych systemów zarządzania relacyjnymi bazami danych. Początkowo opracowywany na Uniwersytecie Kalifornijskim w Berkeley i opublikowany pod nazwą Ingres. W miarę rozwoju i zwiększania funkcjonalności, baza danych otrzymała nazwy Postgres95 i ostatecznie PostgreSQL, aby upamiętnić pierwowzór oraz zaznaczyć zgodność ze standardem SQL.
Microsoft Access – patrz pytanie nr 35.
24. Omów typowe zadania systemów zarządzania b.d.
środki do gromadzenia, utrzymywania i administrowania trwałymi i masowymi zbiorami danych,
środki zapewniające spójność i bezpieczeństwo danych,
sprawny dostęp do danych (zwykle poprzez język zapytań, np. SQL),
środki programistyczne służące do aktualizacji/przetwarzania danych (API dla popularnych języków programowania),
jednoczesny dostęp do danych dla wielu użytkowników (z reguły realizowany poprzez transakcje),
środki pozwalające na regulację dostępu do danych (autoryzację),
środki pozwalające na odtworzenie zawartości bazy danych po awarii,
środki do zarządzania katalogami, schematami i innymi metadanymi,
środki optymalizujące zajętość pamięci oraz czas dostępu (np. indeksy),
środki do pracy lub współdziałania w środowiskach rozproszonych.
zarządzanie wersjami i danymi nietrwałymi,
przechowywanie i udostępnianie danych multimedialnych,
wygodne (wizyjne) środowiska do tworzenia aplikacji,
pomosty do współpracy z innymi systemami,
wspomaganie dla perspektyw, procedur składowanych i aktywnych reguł,
pakiety statystyczne, pakiety dla przeprowadzania analiz (eksploracji danych),
pakiety do tworzenia hurtowni danych,
środki udostępniające bazę danych w sieci Internet, itd.
25. Wymień podstawowe mechanizmy kontroli dostępu do danych w systemach b.d.
Metody dostępu do danych
• Nawigacyjna
- rekord po rekordzie
♦ zwykle rekord = wiersz
- wymaga zaprogramowania algorytmu dostępu
- języki proceduralne
♦ z bezpośrednim dostępem do danych: Access Basic, xBase
♦ z zanurzonym SQL: C/C++, Java + JDBC
• Zwracająca struktury
wynikiem jest struktura tego samego typu, co istniejące w bazie (np. tabela)
wymaga podania warunków, które musi spełniać wynik
♦ algorytm jest wypracowywany przez optymalizator zapytań w DBMS
- języki nieproceduralne (deklaratywne): SQL
26. Co to jest SQL.
SQL (ang. Structured Query Language – strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych.
Język SQL jest językiem deklaratywnym. Decyzję o sposobie przechowywania i pobrania danych pozostawia się systemowi zarządzania bazą danych (DBMS).
27. Wymień części języka SQL.
Użycie SQL, zgodnie z jego nazwą, polega na zadawaniu zapytań do bazy danych. Zapytania można zaliczyć do jednego z trzech głównych podzbiorów:
SQL DML (ang. Data Manipulation Language – „język manipulacji danymi”),
SQL DDL (ang. Data Definition Language – „język definicji danych”),
SQL DCL (ang. Data Control Language – „język kontroli nad danymi”).
Instrukcje SQL w obrębie zapytań tradycyjnie zapisywane są wielkimi literami, jednak nie jest to wymóg. Każde zapytanie w SQL-u musi kończyć się znakiem średnika (;).
Dodatkowo, niektóre programy do łączenia się z silnikiem bazy danych (np. psql w przypadku PostgreSQL), używają swoich własnych instrukcji, spoza standardu SQL, które służą np. do połączenia się z bazą, wyświetlenia dokumentacji itp.
28. Omów polecenia części DDL i podaj przykład zapytania (DROP, CREATE, ALTER)
Dzięki DDL (Data Definition Language) można operować na strukturach, w których dane są przechowywane – czyli np. dodawać, zmieniać i kasować tabele lub bazy. Najważniejsze polecenia tej grupy to:
CREATE (np. CREATE TABLE, CREATE DATABASE, ...) – utworzenie struktury (bazy, tabeli, indeksu itp.),
DROP (np. DROP TABLE, DROP DATABASE, ...) – usunięcie struktury,
ALTER (np. ALTER TABLE ADD COLUMN ...) – zmiana struktury (dodanie kolumny do tabeli, zmiana typu danych w kolumnie tabeli).
29. Omów polecenia części DQL i podaj przykład zapytania (SELECT)
• Kolumny wymienia się w klauzuli SELECT
• Klauzula ORDER BY wymusza kolejność wierszy
SELECT kod_przedmiotu, nazwa
FROM przedmioty
ORDER BY kod_przedmiotu
30. Podaj przykład wyszukiwania danych z użyciem klauzuli WHERE.
SELECT * FROM pracownicy WHERE pensja > 2000 ORDER BY staz DESC;
Zwraca tabelę (listę) utworzoną ze wszystkich kolumn (*) tabeli „pracownicy” (FROM pracownicy) zawierającą pracowników, których pensja jest większa niż 2000 (WHERE pensja > 2000) i sortuje wynik malejąco według parametru staz (ORDER BY staz DESC).
31. Wyjaśnij cele stosowania funkcji agregujących i podaj przykład takiej funkcji.
Zapytania z funkcjami grupującymi
• Funkcje grupujące (agregujące)
- COUNT - zlicza wiersze
♦ COUNT(*) - wszystkie wiersze
♦ COUNT(kolumna~) - pomija wartości NULL
- MIN, MAX - znajdują najmniejszą/największą wartość
- SUM - sumuje
- AVG - oblicza średnią arytmetyczną
- VARIANCE, STDDEV - obliczają wariancję i odchylenie standardowe
• Klauzula GROUP BY wyznacza sposób grupowania
- musi w niej się znaleźć cała zawartość klauzuli SELECT oprócz elementów używających funkcji grupujących
32. Omów polecenia części DML i podaj przykład zapytania (DELETE, INSERT, UPDATE)
DML (Data Manipulation Language) służy do wykonywania operacji na danych – do ich umieszczania w bazie, kasowania, przeglądania, zmiany. Najważniejsze polecenia z tego zbioru to:
INSERT – umieszczenie danych w bazie, dodaje nowe wiersze
UPDATE – zmiana danych. Służą do modyfikacji danych w już istniejących tabelach
DELETE – usunięcie danych z bazy. Usuwa wiersze
33. Co to jest MySQL i gdzie znajduje zastosowanie?
Najpopularniejszy serwer bazodanowy, wyprodukowany przez firmę T.c.X DattaKonsultAB. Udostępniany wraz z kodem źródłowym, na zasadach określonych w licencji GNU.
Wymienione dalej możliwości MySQL-a sprawiają, iż stanowi poważną konkurencję dla podobnych, lecz komercyjnych produktów:
baza danych zdolna pomieścić nawet kilkadziesiąt milionów rekordów (wielkość ta zależy jedynie od fizycznych możliwości komputera)
interfejsy API dla najważniejszych języków programowania (m.in. C, PHP, Perl)
wykorzystanie mocy komputerów wieloprocesorowych
nieograniczona liczba użytkowników mogących jednocześnie korzystać z bazy danych
duża szybkość działania (wynikająca jednak w pewnym stopniu z braku niektórych funkcji - np. obsługi transakcji)
34. Opisz zadania i możliwości programu phpMyAdmin.
phpMyAdmin to napisane w języku PHP narzędzie służące do łatwego zarządzania bazą danych MySQL. Oprogramowanie wydawane jest na licencji GNU General Public License i umożliwia między innymi tworzenie/usuwanie baz danych, dodawanie/kasowanie relacji oraz edycję ich struktury i zawartości. Wszystkie operacje mogą być wykonywane z poziomu przeglądarki internetowej, w graficznym środowisku, bez konieczności pracy z domyślnym interfejsem tekstowym.
35. Co to jest Access i gdzie znajduje zastosowanie?
Microsoft Access - system obsługi relacyjnych baz danych, wchodzący w skład pakietu biurowego Microsoft Office dla środowiska Windows. Od wersji 2.0 dostępny w wersji polskiej[1].
Bazy danych Access są zapisywane w pojedynczych plikach (rozszerzenie mdb, skompilowana wersja mde). Jest to wygodne w przypadku prostych zastosowań, jednak kosztem wydajności, wielodostępności oraz bezpieczeństwa danych. Aby uniknąć takich problemów Access można podłączyć do zewnętrznych źródeł danych (do dowolnego źródła obsługującego popularne oprogramowanie pośredniczące, np. do serwera Microsoft SQL Server, PostgreSQL lub innej bazy MS Access). W takim przypadku Access spełnia rolę graficznego interfejsu dla zewnętrznych źródeł danych, a nie całego systemu obsługi baz danych.
Access posiada własny, wbudowany aparat bazy danych (Microsoft Jet), który pełni funkcje wewnętrznej bazy danych. Istnieje możliwość rezygnacji z MS Jet wykorzystując projekty programu Microsoft Access (rozszerzenie adp), ale wówczas wszystkie elementy bazy danych przechowywane są wyłącznie na tym podłączonym serwerze.
Do przykładowych zastosowań można zaliczyć prostsze aplikacje dla małych i średnich firm dotyczące analizy oraz przetwarzania danych. Microsoft Access można również wykorzystać do szybkiego prototypowania aplikacji bazodanowych.
Dostęp do baz danych utworzonych w Microsoft Access wymaga posiadania programu Access, bądź też napisania osobnego programu z użyciem zewnętrznych narzędzi. Wyjątkiem jest najbardziej rozbudowana wersja Developer, która umożliwia też tworzenie gotowej aplikacji zawartej w jednym pliku wykonywalnym.
36. Opisz zadania podstawowych obiektów wykorzystywanych w Accessie ( tabele, kwerendy, formularze i raporty)
Kwerendy- instrukcje, które są używane przy pracy z danymi to kwerendy. Za ich pomocą możemy tworzyć, usuwać lub modyfikować, a także filtrować, grupować lub sortować dane. Istnieje wiele rodzajów kwerend: wybierające, krzyżowe, dołączające, usuwające, aktualizujące oraz tworzące tabele. Zatem kwerenda daje możliwość przetwarzania danych bez konieczności tworzenia kolejnych tabel. Konstruowanie kwerendy jest bardziej skomplikowane niż zwykłych tabel. Najważniejsze jest, aby dokładnie określić, co dana kwerenda ma robić, a dopiero później zabierać się do pracy.
Raporty- Raporty służą przede wszystkim do przejrzystego prezentowania danych, które można sformatować tak, by atrakcyjnie wyglądały na ekranie czy na wydruku. Istnieją różne drogi ich tworzenia.
Formularze - Dzięki formularzom możemy sterować dostępem, do danych, jedne mogą być wyświetlane zaś inne nie. Odpowiednia oprawa graficzna pozwala na sprawniejsze, przyjemniejsze oraz bardziej przejrzyste współpracowanie z tabelą
Tabele – tu już wiadomo o co chodzi :)