background image

 

 

Wprowadzenie do 
Relacyjnych Baz Danych. 
Pojęcia podstawowe

Piotr Piskozub

WYKŁAD

Informatyka  – Semestr I

background image

 

 

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

background image

 

 

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.

background image

 

 

Etapy projektowania baz 
danych

 

Koncepcja 

Analiza 

Projekt 

Implementacja 

Dokumentacja 

Wdrażanie 

Eksploatacja 

background image

 

 

Relacyjny model danych

 

 

Num_Iden 

Imie 

Nazwisko  Typ_Uczel 

Piotr 

Miczulski 

Jan 

Kowalski 

Marcin 

Nowak 

Anna 

Potocka 

Ewa 

Lis 

Anna 

Wojtasik 

Tomasz 

Konieczny 

Komórka

Atrybut

Krotka

Wartość

Różne spotykane sposoby 
nazewnictwa:

• Relacja – Atrybut – Krotka

• Tablica – Kolumna – Wiersz

• Plik – Pole - Rekord

background image

 

 

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

background image

 

 

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 

Artur 

Kotecki 

... 

... 

... 

... 

Jan 

Kowalski 

... 

... 

... 

... 

Rafał 

Czerniak 

... 

... 

... 

... 

Stefan 

Antkowiak 

... 

... 

... 

... 

Ewa 

Konieczna 

... 

... 

... 

... 

Anna 

Wojtasik 

... 

... 

... 

... 

Jarosław 

Nowak 

... 

... 

... 

... 

klucze potencjalne

 

klucz główny

 

background image

 

 

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)

background image

 

 

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

background image

 

 

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

background image

 

 

Kwerenda wybierająca (2)

SELECT p1p2, ..., 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

background image

 

 

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;


Document Outline