Twoim problemem jest to, że powszechną NICOŚĆ mylisz z osobistą PUSTKĄ
SYSTEM BAZ DANYCH: Skomputeryzowany system, którego zasadniczym zadaniem jest przechowywanie informacji i udostępnianie jej na każde życzenie.
· DANE: Integracja danych ‒ jako połączenie zasadniczo odrębnych plików danych, z których całkowicie bądź częściowo usunięto powtarzające się dane; Współdzielenie danych ‒ poszczególne fragmenty danych mogą być wspólnie użytkowane przez kilku odrębnych użytkowników. Każdy użytkownik ma dostęp do tych samych danych.
· SPRZĘT: Urządzenia pamięci masowej, Procesor lub procesory i ich pamięć operacyjna wykorzystywana przez programy.
· PROGRAMY: System zarządzania bazą danych DBMS, Programy narzędziowe, Narzędzi budowy aplikacji, Pomoce projektowe, Edytory raportów.
· UŻYTKOWNICY: programiści aplikacji –pisanie programów wykorzystujących bazy danych , użytkownicy –bezpośrednio komunikują się z systemem–korzystają z aplikacji działających w trybie bezpośrednim lub interfejsu, administrator bazy danych, użytkownicy końcowi, naiwni użytkownicy końcowi, samodzielni użytkownicy końcowi; analitycy systemowi i twórcy aplikacji, projektanci SZBD, twórcy narzędzi.
BAZA DANYCH: Zbiór wzajemnie powiązanych i zintegrowanych danych o określonej strukturze, zapisany na nośniku pamięciowym, z którego może korzystać wielu użytkowników w sposób selektywny i w dogodnym dla siebie czasie. Zalety: Redukcja redundancji informacji, Zwiększenie spójności, Dostęp do danych, łatwy sposób pozyskiwania danych ochrona danych, Zachowanie integralności, Możliwość skutecznej ochrony danych, Wymuszanie zachowania standardów, Możliwość ustalenia priorytetów, Niezależność danych. Wady: złożone, trudne i czasochłonne do projektowania, Koszty sprzętu i oprogramowania, Wstępne szkolenie wymagane dla wszystkich programistów i użytkowników
ADMINISTRATOR BAZY DANYCH (DBA): technicznie odpowiada za realizację decyzji administratora danych (AD); implementuje techniczne sposoby kontroli potrzebne do realizacji decyzji podejmowanych przez AD; odpowiada za zapewnienie odpowiedniej wydajności systemu; realizuje szereg innych usług technicznych np. definiuje reguły bezpieczeństwa i integralności, łączność z użytkownikami.
SYSTEM ZARZĄDZANIA BAZĄ DANYCH: Zbiór programów umożliwiający tworzenie i eksploatację bazy danych, gwarantujący zapamiętywanie, manipulowanie i przetwarzanie danych oraz zapewniający licznym i różnorodnym użytkownikom bezpieczeństwo, poufność i integralność danych.
SYSTEM BAZ DANYCH: Baza danych + System zarządzania bazami danych
MODEL DANYCH: zbiór definicji opisujących sposób pojęciowej interpretacji realnego miniświata, jako informacji skomputeryzowanej, a także możliwe działania na takiej informacji. Modele:
· Obiektowy,
· Sieci semantyczne.
· Hierarchiczny model danych: dane zapisuje się w formie zależności zwierzchnictwa w rodzaju: jeden do jednego oraz jeden do wielu, z rozróżnieniem poziomów wyższego i niższego, rekordy przypominają strukturę drzewa, dane w takim modelu są znajdowane na zasadzie wyszukiwania rekordów podrzędnych względem rekordu nadrzędnego.
· Sieciowy model danych: zbudowany jest z rekordów i zbiorów, każdy rekord może mieć dowolną liczbę rekordów bezpośrednio nadrzędnych i wiele rekordów podrzędnych, czyli pozwala zapisywać dane ogólnie (m:n), jest rozwinięciem modelu hierarchicznego; pozwala na dostęp do danych wg określonej ścieżki.
· Relacyjny model danych: model baz danych oparty na postulatach relacyjności, reprezentacją relacji jest dwuwymiarowa tabela złożona z kolumn i wierszy.
v ZAŁOŻENIA:
ü pozwala zapisać dane w wielu nazwanych dwuwymiarowych tablicach (relacjach)
ü tabele („relacje”) zawierają zero lub więcej wierszy ("krotek") i jedną lub więcej kolumn ("atrybutów")
ü z każdą kolumną jest związana jej nazwa oraz dziedzina
ü na przecięciu wiersz i kolumny znajduje się pojedyncza (atomowa) wartość
ü wiersz reprezentuje jeden rekord informacji
ü kolejność kolumn i wierszy jest nieistotna
v ELEMENTY SKŁADOWE: rekord = krotka, pole = atrybut.
v NAGŁÓWEK ‒ zbiór wszystkich nagłówków w bazie danych nosi nazwę schematu bazy danych. Każdy nagłówek ma zdefiniowaną dziedzinę wartości.
v CECHY: elementy tablicy (relacji) reprezentują pojedyncze wartości; każda kolumna (atrybut) ma rozróżnialną nazwę, wszystkie wartości pochodzą z tej samej dziedziny, porządek kolumn w tablicy jest nieistotny, każdy wiersz (krotka) jest różny, w pojedynczej relacji nie występują krotki o identycznych wartościach.
REGUŁY RELACYJNE: Reguła Pierwszej Postaci Normalnej - zabronione jest tworzenie atrybutów wielowartościowych, dostęp do wierszy przez ich zawartość – wiersze są rozróżniane jedynie przez ich zawartość , wiersze unikalne – w pojedynczej relacji nie istnieją dwie krotki o identycznych wartościach dla wszystkich atrybutów.
KLUCZEM TABLICY T jest zbiór atrybutów K = {Ai1…Aik} o własnościach: 1.Jeśli x i y są różnymi krotkami w T, wówczas x[K] != y[K]; zawsze istnieje taki atrybut Aim w zbiorze K, że x[Aim] != y[Aim], 2.Nie istnieje podzbiór B zbioru K o własności 1. Atrybuty spełniające pierwszą własność noszą nazwę SUPERKLUCZY.
KLUCZ OBCY: to kolumna lub zbiór kolumn tabeli o wartościach z tej samej dziedziny co klucz główny. Klucz obcy służy do łączenia danych przechowywanych w różnych tabelach.
WARTOŚCI PUSTE I WARTOŚCI NULL
‒ wartości puste - specjalne elementy służące do reprezentowania nieznanych wartości atrybutów lub wartości, które dla danej krotki nie mają zastosowania
‒ wszystkie porównania i operacje na danych, w których argumentem jest null dają w wyniku null
‒żaden z atrybutów składających się na klucz nie może przybierać wartości null
‒ Null to trzecia wartość logiczna obok True i False
UNIA:, Jeśli R i S posiadają takie same nagłówki N(R) = N(S) wówczas: Unią tablic R i S jest tablica o takim samym nagłówku zawierająca wszystkie wiersze należące do jednej z par tablic R i S lub do obu tych relacji jednocześnie. Wszystkie powtórzenia wierszy są w tej operacji automatycznie eliminowane.
PRZECIĘCIE:, Jeśli R i S posiadają takie same nagłówki N(R) = N(S) wówczas:
Przecięciem tablic R i S jest tablica o takim samym nagłówku zawierająca wszystkie wiersze, które należą zarówno do tablicy R jak i do tablicy S.
RÓŻNICA: Jeśli R i S posiadają takie same nagłówki N(R) = N(S) wówczas: Różnicą tablic R i S jest tablica o takim samym nagłówku zawierająca wszystkie wiersze, które należą do tablicy R, a nie należą do tablicy S.
PROJEKCJA - R[]: N(R) = {X1X2…Xn}. Projekcja R na atrybuty Xi1Xi2…Xik (gdzie {Xi1Xi2…Xik} jest podzbiorem zbioru atrybutów tablicy R) jest relacją o N(T)= {Xi1Xi2…Xik} w której dla każdego wiersza r w relacji R istnieje pojedynczy wiersz t w relacji T taki, że r[Xij]=t[Xij] dla każdego Xij należącego do zbioru{Xi1Xi2…Xik}.
SELEKCJA : Dla relacji R o nagłówku N(R) = {X1X2…Xn} operacja selekcji tworzy nową relację T o tym samym zbiorze atrybutów i zawierającą krotki T spełniające warunek. Wyrażenie logiczne zdefiniowane w warunku może przyjąć postać:
1.<nazwa atrybutu><operacja porównania><wartość stała>
2.<nazwa atrybutu><operacja porównania><nazwa atrybutu>
<operacja porównania> jest zwykle jednym z operatorów należących do zbioru {=,>,>=,<,<=,¹}
<wartość stała> to stała z dziedziny wartości danego atrybutu
Klauzule mogą być również łączone za pomocą operatorów logicznych ORAZ, LUB, oraz NIE
ZŁĄCZENIE – R JOIN S: N(R) = {X1…XnY1…Ym}, N(S) = {Y1…YmZ1…Zk} (n,m,k>=0), Y1…Ym – podzbiór atrybutów współdzielonych przez relację R i S. Złączenie relacji R i S to relacja R JOIN S o nagłówku N(R JOIN S)={X1…XnY1…YmZ1…Zk}, która zawiera krotkę w relacji wynikowej, wtedy i tylko wtedy gdy istnieją takie krotki r w R i s w S, że r[Yi]=s[Yi] dla wszystkich i z przedziału 1<=i<=m.
DZIELENIE: N(R) = {X1…XnY1…Ym}, N(S) = {Y1…Ym} (n,m >=0). Wynikiem dzielenia relacji R ÷ S jest relacja T o nagłówku N(T) = {X1…Xn} zawierająca dokładnie te krotki t, które dla każdego wiersza s w relacji S spełniają warunek: wiersz powstały z konkatenacji t i s istnieje w relacji R
PRZEMIANOWANIE R:=S: Wynikiem operacji przemianowania relacji R jest relacja do której należą te same atrybuty i krotki co do relacji R ale nazwa nowej relacji jest S.
PRIORYTET OPERACJI: Najwyższy:Projekcja, Selekcja, Mnożenie, Złączenie, Dzielenie, Różnica Najmniejszy:Unia, Przecięcie.
WSPÓŁZALEŻNOŚĆ OPERACJI NA RELACJACH
•zbiór zupełnych działań –unia, różnica, produkt, selekcja, projekcja, operator przypisania
• działania wtórne -przecięcie, złączenie, dzielenie
•Złączenia zewnętrzne- Działają podobnie do złączeń równościowych, ale pozwalają na wybieranie także tych rekordów, w których wartość porównywanego pola jest równa NULL. Wyróżniamy: lewostronne, prawostronne, pełne
•Teta-złącznie
SCHEMAT TWORZENIA ZAPYTAŃ
KLIENCI ={kid, knazwa, kmiasto, krabat}
AGENCI ={aid, anazwa, amiasto, aprocent}
PRODUKTY={pid, pnazwa, pmiasto, pilosc, pcena}
ZAMOWIENIA ={zid, pid, aid, kid, zmiesiac, zliosc, zcena}
Wypisz nazwy klientów którzy zamówili co najmniej jeden produkt o cenie 20 zł
1)szukamy produktów o cenie 20 zł
(produkty gdzie pcena=20)[pid]
1)szukamy kid, który zamówił taki produkty
(produkty gdzie pcena=20)[pid] join zamówienia)[kid]
1)szukamy nazwy klientów którzy zamówili takie produkty
((produkty gdzie pcena=20)[pid] join zamówienia)[kid] join klienci) [knazwa]
ZŁĄCZNIE PRAWO(LEWO)STRONNE: Złączenie prawo i lewostronne zawiera informacje o wszystkich krotkach z relacji po prawej (lewej) stronie działania i tylko o odpowiadających im krotkach z relacji stojącej po drugiej stronie.
TETA-ZŁĄCZENIE - Specyficzny rodzaj złączenia, w którym przyjmuje się, że wartości opowiadających sobie atrybutów tym złączeniu nie muszą być równe, ale będą spełniać jeden z warunków porównania: >, <, >=, <=, <>, =. Tworzy iloczyn kartezjański dwóch relacji i wybiera tylko te krotki, które spełniają warunek.
QBE - język typu predykatowego umożliwiającego tworzenie zapytań w trypie interakcyjnym, zaimplementowany w większości DBMS dla komputerów PC, powiązany z interfejsem typu wskaż i naciśnij, zapytanie jest realizowane poprzez wypełnienie szablonów (wzorców) relacji wyświetlanych na ekranie monitora.
ROZKAZY STANDARDU QBE
• selekcja krotek – .P – rozkaz drukuj – żądanie wydruku wszystkich pól dla danej relacji
• modyfikacja zwartości relacji będącej przedmiotem zapytania – I. – rozkaz wstaw, – U. – rozkaz aktualizuj, – D. – Rozkaz kasuj.
PODSTAWOWE ZASADY PROJEKTOWANIA ZAPYTAŃ - wybór tablic bazy danych, których dotyczy zapytanie, określenie warunków łączących tablice, selekcja pól mających wejść w skład tabeli wynikowej, definicja kryteriów selekcji danych (opcjonalnie), specyfikacja obliczeń realizowanych na danych z tablic (opcjonalnie), uruchomienie zapytania, zachowanie zapytania (opcjonalnie)
TABELA ANSWER- tymczasowa tabela umieszczana w katalogu użytkownika, w trakcie uruchomienia zapytania tabela Answer jest nadpisywana nową zawartością, po zamykaniu systemu Paradox jest usuwana
SELEKCJA ATRYBUTÓW:
• Check – wyświetla wszystkie unikalne wartości w tablicy Answer, posortowane w porządku rosnącym
• CheckPlus - wyświetla wszystkie wartości z danego pola
• CheckDescending – Check + sortowanie malejąco
• CheckGroupBy - grupuje rekordy według zawartości danego pola (w zapytaniach operujących na zbiorach SET)
ZAPYTANIA OPERUJĄCE NA GRUPACH REKORDÓW
•Operatory agregujące: AVERAGE, COUNT, MAX, MIN, SUM
•słowa kluczowe ALL, UNIQUE
ZAPYTANIA OPERUJĄCE NA ZBIORACH REKORDÓW
•definicja zbioru rozpoczyna się słowem kluczowym SET
•de...