Wprowadzenie do
Relacyjnych Baz Danych.
Pojęcia podstawowe
Piotr Piskozub
WYKŁAD
Informatyka – Semestr I
Terminologia relacyjnych baz
danych
Przestrzeń zagadnienia to dobrze zdefiniowany fragment świata rzeczywistego
Model danych to opis konceptualny przestrzeni zagadnienia
Schemat bazy danych opisuje model danych zapisywanych w bazie danych
System bazy danych
Baza danych stanowi
fizyczną implementację
schematu i danych
Aparat bazy danych
nie stanowi części
bazy danych
Aplikacja składa się z
formularzy i raportów
wykorzystywanych przez
użytkowników
RDBMS. Narzędzia baz danych
Microsoft Jet
Microsoft SQL Server
Oracle Server
MySQL Server
Aparat bazy danych
Microsoft Access
Visual Basic, Visual C++
Borland Delphi i C++Builder, JBuilder
HTML, ASP, JSP, XML, XSL
JavaScript, VBScript
Programowanie aplikacji końcowych
SQL – Structured Query
Language
ADO – ActiveX Data Objects
ODBC –Open Database
Connectivity
System RDBMS:
• realizuje procedury niskiego
poziomu,
które pozwalają utrzymać dane
w określonej postaci,
• przeprowadza wszelkie
operacje
odczytu i zapisu z/do plików,
• zapewnia mechanizmy
szybkiego
dostępu do danych,
• optymalizuje sposób
przechowywania
danych,
• zapewnia integralność
i spójność danych.
Etapy projektowania baz
danych
Koncepcja
Analiza
Projekt
Implementacja
Dokumentacja
Wdrażanie
Eksploatacja
Relacyjny model danych
Num_Iden
Imie
Nazwisko Typ_Uczel
1
Piotr
Miczulski
P
2
Jan
Kowalski
P
3
Marcin
Nowak
U
4
Anna
Potocka
A
5
Ewa
Lis
A
6
Anna
Wojtasik
A
7
Tomasz
Konieczny
P
Komórka
Atrybut
Krotka
Wartość
Różne spotykane sposoby
nazewnictwa:
• Relacja – Atrybut – Krotka
• Tablica – Kolumna – Wiersz
• Plik – Pole - Rekord
Sposoby nazewnictwa
Ogólne zalecenia nadawania nazw atrybutom:
• należy przyjąć jeden system nadawania nazw i konsekwentnie
go stosować,
• nie stosować polskich liter; może to prowadzić do błędów w
działaniu systemu,
• stosować opisowe nazwy atrybutów.
Przykład:
• każde słowo skracamy do czterech znaków: data_budowy =>
data_bud
• gdy słowo kończy się na samogłoskę to ją odrzucamy:
prędkość_pojazdu => pred_poj
• pojedyncze słowa pozostawiamy bez zmian: imię => imie
Tablice, unikalność klucze
• Aby zapewnić unikalność wierszy stosuje się w tablicach
klucze główne,
• Każda tabela powinna zawierać klucz główny,
• Klucz składający się z kilku kolumn nazywamy kluczem
złożonym,
• Klucze potencjalne, to kandydaci na klucze główne
ID_Klien Imie
Nazwisko Adres PESEL Telefon Miasto
1
Artur
Kotecki
...
...
...
...
2
Jan
Kowalski
...
...
...
...
3
Rafał
Czerniak
...
...
...
...
4
Stefan
Antkowiak
...
...
...
...
5
Ewa
Konieczna
...
...
...
...
6
Anna
Wojtasik
...
...
...
...
7
Jarosław
Nowak
...
...
...
...
klucze potencjalne
klucz główny
Klucze obce
• Klucz obcy to kolumna zawierająca odniesienie do klucza
głównego innej tabeli,
• Jeżeli nie ma powiązania pomiędzy tablicami, to nie istnieje
klucz obcy,
• Zaleca się, aby przy powiązaniach między dwoma różnymi
tabelami pola, które
są kojarzone miały takie same nazwy,
• Dziedzina klucza głównego i klucza obcego muszą być takie
same, a więc
muszą być tego samego typu.
ID_Klien
Imie
Nazwisko
Adres
PESEL
Telefon
...
ID_Zam
ID_Klien
Data_Zam
Opis_Zam
...
...
...
Klucz obcy
(Foreign
key)
1:N
Klucz
główny
(Primary
key)
Zapytania/Kwerendy
Kwerenda
jest pytaniem dotyczącym danych przechowywanych w tabelach.
Rodzaje kwerend
kwerendy wybierające,
kwerendy parametryczne,
kwerendy krzyżowe,
kwerendy funkcjonalne (tworzące tabele, usuwające,
aktualizujące, dołączające),
kwerendy SQL (składające, przekazujące, definiujące dane,
podkwerendy)
Wykorzystując kwerendy można:
wybierać pola
wybierać i sortować rekordy
stawiać pytania dotyczące danych w wielu tabelach i
wykonywać obliczenia
wykorzystywać kwerendy jako źródło danych dla formularzy,
raportów i kwerend
modyfikować dane w tabelach
Kwerenda wybierająca (1)
Tabela: Czytelnicy
NrKart
y
Nazwisko
Imie
Ucze
n
NrMiejscowos
ci
RokUrodzen
ia
DataZapis
u
1
Kowalski
Jan
Nie
2
1967
2000-11-24
2
Nowakows
ka
Anna
Tak
1
1975
1999-04-17
3
Kotecki
Michał
Tak
2
1977
2000-11-24
4
Markiewicz
Paweł
Nie
1
1975
2001-01-06
5
Komorowsk
a
Barbara
Tak
2
1975
2001-01-17
Kwerenda wybierająca (2)
SELECT p1, p2, ..., pN FROM NazwaTabeli;
SELECT Nazwisko FROM Czytelnicy;
Nazwisko
Kowalski
...
Komorowsk
a
SELECT Nazwisko, Uczen FROM Czytelnicy;
Nazwisko
Ucze
n
Kowalski
Nie
...
...
Komorowsk
a
Tak
SELECT * FROM NazwaTabeli;
SELECT * FROM Czytelnicy;
Pobieranie wszystkich wierszy i kolumn z
jednej tabeli
Pobieranie wszystkich wierszy i wybranych kolumn z
jednej tabeli
NrKart
y
Nazwisko
Imie
Ucze
n
NrMiejscowos
ci
RokUrodzen
ia
DataZapis
u
1
Kowalski
Jan
Nie
2
1967
2000-11-24
...
...
...
...
...
...
...
5
Komorowsk
a
Barbara
Tak
2
1975
2001-01-17
Kwerenda parametryczna
Kwerenda parametryczna z jednym parametrem określającym rok urodzenia
czytelnika
SELECT NrKarty, [Nazwisko] & " " & [Imie] AS Czytelnik, RokUrodzenia
FROM Czytelnicy
WHERE RokUrodzenia = [Podaj rok urodzenia:]
ORDER BY [Nazwisko] & " " & [Imie];
NrKarty
Czytelnik
RokUrodzenia
2
Komorowska
Barbara
1975
4
Markiewicz Paweł
1975
5
Nowakowska
Anna1
1975
SELECT NrKarty, Nazwisko, RokUrodzenia FROM Czytelnicy
WHERE Nazwisko Like [Wprowadź pierwsze litery nazwiska:] & "*"
ORDER BY Czytelnicy.Nazwisko;