Bazy danych to uporządkowany zbiór informacji z określonej

advertisement
Informacje ogólne
Bazy danych to uporządkowany zbiór informacji z określonej dziedziny lub tematyki
przeznaczony do wyszukiwania mogący zaspokoić potrzeby wielu użytkowników korzystających
z niego w sposób selektywny w odpowiednim dla siebie czasie.
Praktycznie nie ma już dziedziny zainteresowań która nie podlegała by odwzorowaniu w
komputerową bazę danych.
W każdej bazie danych można wyodrębnić dwa składniki:
- model danych,
- system zarządzania bazą danych (w skrócie SZBD).
Termin model danych rozumiany będzie szeroko, tzn. jako zbiór zasad dotyczących struktury
danych, i ich związków z rzeczywistością.
Pod pojęciem SZBD rozumieć będziemy zbiór narzędzi (aplikacji) umożliwiający dostęp do
danych, w szczególności ich odczyt i modyfikację.
Struktura baz danych
Bazy danych są tworzone przez zbiór jednostek plik jednostek o jednolitej strukturze zwanych
rekordami. Rekordy zawierają pola różnorodnych typów (numeryczne, tekstowe, znakowe,
walutowe itp.).
Bazę danych tworzą wielokolumnowe tabele spełniające ścisłe wymogi. Tabele takie określa się
mianem relacji, a tworzone przez nie bazy nazywamy relacyjnymi bazami danych.
Każda relacja zawiera klucz główny czyli kolumnę lub kolumny, której wartość jednoznacznie
identyfikuje dany wiersz.
Do wiązania ze sobą danych przechowywanych w różnych tabelach używa się kluczy obcych
czyli kolumny lub grupy kolumn o wartościach z tej samej dziedziny co klucz główny tabeli z
nią powiązanej.
Klucz obcy odnoszący się do
kolumny:
pracownicy. Nr_pracownika
Tabela zakłady
Kod_zakładu
nazwa
adres
kierownik
(klucz główny)
Klucz obcy odnoszący się
do kolumny:
zakłady.kod_zakładu
Tabela Pracownicy
Nr_pracownika
(klucz główny)
nazwisko
zakład
pokój
telefon
Relacyjne bazy danych
Większość popularnych obecnie komputerowych systemów baz danych opiera się na modelu
relacyjnym. Dzięki relacjom pomiędzy danymi w różnych tabelach, istnieje możliwość ich
zaprezentowania w dowolny sposób.
Typy relacji jakie mogą wystąpić w bazie danych:
1 do 1 – typ relacji polegający na tym, że jednemu rekordowi jednej tabeli odpowiada jeden
rekord w drugiej tabeli (np. jeden dziennik przypada na daną klasę)
dzienniki
Id klasy
klasy
Id klasy
Nr dziennika
Profil
Wychowawca
1 do wielu - typ relacji polegający na tym, że jednemu rekordowi pierwszej tabeli odpowiada
wiele rekordów w innych tabelach, ale każdemu rekordowi z tych tabel odpowiada tylko 1 rekord
w pierwszej tabeli. (np. każdy uczeń może otrzymać dowolną liczbę ocen z danego przedmiotu)
uczniowie
Id ucznia
Imię i nazwisko
adres
oceny z matematyki
Id ucznia
Ocena
Za co
wiele do wielu - typ relacji polegający na tym, że wiele rekordów jednej tabeli jest powiązanych
z wieloma rekordami w innych tabelach.
Język SQL
Język SQL jest ogólnie przyjętym standardem języków baz danych. Polecenia języka SQL dzielą
się na dwie grupy:
- polecenia DDL, służące do definiowania danych
- polecenia DML, służące do modyfikowania danych.
Za pomocą języka DDL możemy utworzyć takie obiekty w bazie danych jak np. tabele.
Polecenia języka DML służą do wstawiania, modyfikowania i usuwania danych z istniejących
obiektów.
I. Instrukcje:
Instrukcja SELECT powoduje pobranie przez SZBD danych z tabeli, której nazwa określona jest
poprzez klauzulę FROM.
SELECT NazwaKolumny, NazwaKolumny, ...
FROM NazwaTabeli;
Przykład: Wyświetlenie wszystkich kolumn w tabeli uczniowie.
SELECT *
FROM Uczen;
Przykład: Ogranicza liczbę kolumn do kolumny zawierającej imiona i nazwiska
SELECT Imię, Nazwisko
FROM Uczen;
Słowo WHERE jest używane do określania, że tylko niektóre wiersze (rekordy) tabeli mają być
wyświetlane. Wyświetlane rekordy bazują na kryteriach przedstawionych w klauzuli WHERE.
WHERE nazwa_pola operator wartość
Przykład:
Wyświetlenie kwerendy zawierającej Imię, Nazwisko i Telefon ucznia z identyfikatorem ‘JBA’.
SELECT Imię, Nazwisko, [telefon kontaktowy]
FROM Uczeń
WHERE [ID ucznia]='JBA';
Operator AND łączy dwa lub więcej warunków i wyświetla wiersz tylko wtedy, gdy dane w tym
wierszu spełniają wszystkie przedstawione warunki. Operator OR łączy dwa lub więcej
warunków, ale zwraca wiersz, jeżeli dowolny z nich (warunków) jest spełniony.
Np. chcemy wiedzieć ile ocen niedostatecznych wystawiliśmy na koniec semestru z matematyki.
SELECT Ocena
FROM Ocena
WHERE Ocena=1 AND [ID przedmiotu]='MAT' AND [Zdobyta za]='semestr';
II. Dodawanie, modyfikowanie i usuwanie wierszy
INSERT INTO - dodawanie wierszy (rekordów)
INSERT INTO Tabela ( pole1, pole2)
VALUES ('wartość_1', 'wartość_2');
UPDATE – modyfikowanie danych
Aby podnieść semestralną ocenę z matematyki wszystkim uczniom o 1 napiszemy:
UPDATE Ocena
SET Ocena=Ocena+1
WHERE [Zdobyta za]='Semestr' AND [ID przedmiotu]='MAT';
DELETE – Usuwanie wierszy
Chcemy z listy przedmiotów usunąć przedmiot Filozofia wykorzystamy do tego poniższą
instrukcję:
DELETE *
FROM [Lista przedmiotów]
WHERE [Id przedmiotu]='FILO';
III. Funkcje agregacyjne
SUM () zwraca sumę wartości z wierszy spełniających zapytanie dla kolumny numerycznej.
AVG () zwraca średnią dla danej kolumny.
MAX () zwraca największą wartość w danej kolumnie.
MIN () zwraca najmniejszą wartość w danej kolumnie.
COUNT(*) zwraca liczbę określającą ilość wierszy spełniających warunki.
Powracamy do wcześniejszego problemu. Chcemy wiedzieć ile ocen niedostatecznych
wystawiliśmy na koniec semestru z matematyki.
SELECT COUNT([Ocena])
FROM Ocena
WHERE [Ocena]=2 And [ID przedmiotu]='MAT' And [Zdobyta za]='semestr';
Download