background image

 

 

Techniki operowania danymi

w bazach relacyjnych 

Warszawa, 2010

© Witold Marowski, IMRC PW

Politechnika Warszawska, Wydział Samochodów 

i Maszyn Roboczych

Studia Inżynierskie, semestr VII

background image

 

 

Przegląd zagadnień

• Rodzaje operacji na danych w bazie 

relacyjnej

• Operowanie danymi w bazach relacyjnych: 

język SQL, technika Query by Example

• Struktura i podstawowe cechy języka SQL
• Kwerendy wyszukujące dane w języku SQL

• Składnia ogólna, warunki wyszukiwania, 

porządkowanie zbioru wyników

• Wyszukiwanie danych w pojedynczej tabeli
• Wyszukiwanie danych w kilku tabelach

• Kwerendy agregujące: operacje statystyczne na 

danych

• Kwerendy zagnieżdżone

• Wprowadzanie nowych wierszy do tabeli
• Edycja danych w tabeli
• Usuwanie wierszy z tabeli

background image

 

 

Podstawowe zasady operowania 
danymi 

Operacje na danych są dokonywane przy użyciu 

odwołań do logicznej struktury relacyjnej bazy 

danych

Struktura logiczna 

(uporządkowanie 

danych)

Operowanie 

danymi

Rodzaje operacji na danych

• Wyszukiwanie danych, które spełniają zadane 

kryteria wyboru, z jednej lub wielu tabel ( 

 

zwracanie zbiorów rekordów

)

• Wstawianie nowych wierszy do tabeli

• Modyfikowanie wartości pól w tych wierszach 

tabeli, które spełniają zadane warunki ( 

 

operacje na zbiorach wierszy

)

• Usuwanie tych wierszy tabeli, które spełniają 

zadane warunki ( 

 operacje na zbiorach wierszy

)

background image

 

 

Język SQL

• Przedmiotowo zorientowany język IV generacji 

przeznaczony do obsługi relacyjnych baz 
danych

• Historia: początki ok. 1975 (IBM), implementacja 

rynkowa 1979 (Oracle), ostatni standard 
ANSI/ISO: 1992

• Język nieproceduralny ( 

co

 zrobić, nie 

jak

 )

• DDL

 (Data Definition Language) – język 

definiowania danych – definiowanie obiektów bazy 
danych oraz określanie powiązań między nimi (np. 
definiowanie struktury tabel oraz relacji między 
tabelami)

• DML

 (Data Manipulation Language) – język 

operowania danymi – przeprowadzanie operacji 
na danych w istniejącej strukturze logicznej 
relacyjnej bazy danych

• Nazwa: 

S

tructured 

Q

uery 

L

anguage 

• Podzbiory poleceń języka SQL

background image

 

 

Język SQL, cd.

• Polecenia języka SQL

• dowolna wielkość liter

• logika trójwartościowa ( 

TrueFalseUnknown

 )

• ciągi znakowe zgodne ze składnią języka 

• Operatory języka operowania danymi

• dowolny podział na wiersze, brak znaku 

kontynuacji

• NULL

 – wartość pusta

• łączenia ciągów znakowych (konkatenacji):  

&

 , 

||

• arytmetyczne:  

+

 , 

-

 , 

*

 , 

/

 

• relacji (ogólne): 

=

<>

>

>=

<

<=

• logiczne: 

NOT

AND

OR

• relacji (specyficzne dla SQL): 

[

NOT

]

 IN (

lista

)

,

     

[

NOT

]

 BETWEEN 

WartośćMin

 AND 

WartośćMax

,

     

[

NOT

]

 LIKE 

wzorzec

IS 

[

NOT

]

 NULL

background image

 

 

Wyszukiwanie danych przy użyciu 
języka SQL

• Instrukcja SELECT – kwerenda wybierająca

• zwraca zbiór rekordów danych pochodzących z 

jednej lub wielu tabel

• Składnia ogólna instrukcji SELECT

• rekordy zbioru wyników spełniają zadane 

kryteria wyszukiwania 

• jeżeli brak jest rekordów spełniających kryteria 

wyszukiwania, zbiór wyników jest pusty

SELECT 

specyfikacja danych podlegających wyszukiwaniu

FROM 

źródło danych

WHERE 

kryteria wyszukiwania

ORDER BY 

sposób uporządkowania zbioru wyników

Człony 

obowiązkowe

Człony 

opcjonalne

background image

 

 

Wyszukiwanie danych przy użyciu 
języka SQL

• Struktura logiczna przykładowej bazy danych 

KURSY

background image

 

 

Wyszukiwanie danych przy użyciu 
instrukcji SELECT języka SQL

• Wybór całej zawartości tabeli

SELECT * FROM 

nazwa tabeli

ORDER BY 

kolumna1 [DESC][, kolumna2 [DESC], ...]

Określenie źródła 

danych i 

zwracanych kolumn, 

obowiązkowe

Porządkowanie 

zbioru 

wyników, 

opcjonalne

SELECT * FROM  Wykladowcy  ORDER  BY  WYK_NAZ

• Wybór niektórych kolumn tabeli

SELECT 

lista elementów

 FROM 

nazwa tabeli

ORDER BY 

kolumna1 [DESC][, kolumna2 [DESC], ...]

obowiązkowe

opcjonaln

e

Nazwy kolumn lub wyrażenia zbudowane z ich 

użyciem

SELECT WYK_TYTUL, WYK_IMIE, WYK_NAZ FROM  Wykladowcy  
ORDER  BY  WYK_NAZ, WYK_IMIE, WYK_TYTUL

background image

 

 

Wyszukiwanie danych przy użyciu 
instrukcji SELECT języka SQL

• Wybór wierszy z tabeli zgodnie z kryteriami 

wyszukiwania

SELECT 

lista elementów

 FROM 

nazwa tabeli

WHERE 

kryteria wyszukiwania

ORDER BY 

kolumna1

 

[DESC][,

 

kolumna2

 

[DESC], ...]

Nazwy kolumn 

lub wyrażenia 

zbudowane z 

ich użyciem

SELECT KURS_NAZ, KURS_OD, KURS_DO, KURS_OPL FROM  Kursy
WHERE KURS_NAZ <>  "AutoCAD – kurs wstępny" AND KURS_OPL < 750
AND (KURS_OD >= #03/01/03#  OR  KURS_DO >= #04/01/03#)
ORDER  BY  KURS_NAZ, KURS_DO DESC

Wyrażenie logiczne, którego argumentami są 

nazwy kolumn tabeli lub wyrażenia zbudowane 

przy ich użyciu. Kwerenda zwraca tylko te wiersze 

tabeli, dla których wyrażenie logiczne 

umieszczone po słowie WHERE  

ma wartość PRAWDA (True)

Określenie 

źródła 

danych i 

zwracanych 

kolumn, 

obo-

wiązkowe

background image

 

 

Wyszukiwanie danych przy użyciu 
instrukcji SELECT języka SQL

• Zwracanie tylko jednego z identycznych 

rekordów zbioru wyników przeszukiwania 
źródła danych 

SELECT 

DISTINCT

 

lista elementów

 FROM 

nazwa tabeli

WHERE 

kryteria wyszukiwania

ORDER BY 

kolumna1 [DESC][, kolumna2 [DESC], ...]

Zbiór wyników takiej kwerendy jest 

nieedytowalny, gdyż jeden jego rekord może być 

przedstawicielem wielu różnych rekordów źródła 

danych

Słowo kluczowe DISTINCT – tylko różne 

rekordy w zbiorze wyników działania 

kwerendy

SELECT DISTINCT WYK_TYTUL 
FROM WYKLADOWCY 
ORDER BY WYK_TYTUL

Przykład: lista tytułów wykładowców nie zawierająca powtórzeń

background image

 

 

Wyszukiwanie danych przy użyciu 
instrukcji SELECT języka SQL

• Przeszukiwanie wielu tabel (źródeł 

danych)

• Należy określić warunki złączenia, czyli 

sposób, w jaki powinny być kojarzone ze sobą 
wiersze danych z poszczególnych obiektów 
źródłowych. Zazwyczaj używanym warunkiem 
jest żądanie identycznych wartości klucza 
obcego oraz jego rodzica, tj.

nazwa kolumny klucza obcego = nazwa kolumny 

rodzica

• Trzeba stosować jednoznaczne odwołania do 

kolumn źródeł danych podlegających złączeniu, 
w razie potrzeby należy używać składni

nazwa obiektu.nazwa kolumny

Brak określenia warunków złączenia: zostaje 

zwrócony iloczyn kartezjański wierszy złączanych 

obiektów

background image

 

 

SELECT 

lista elementów z obu złączonych tabel

FROM 

nazwa1

 

INNER JOIN

 

nazwa2

ON 

[nazwa1.]kolumna1

 

= [nazwa2.]kolumna2

WHERE 

kryteria wyszukiwania

ORDER BY 

kol_porz1 [DESC][, kol_porz2 [DESC], ...]

Instrukcja SELECT języka SQL

• Przeszukiwanie wielu tabel: złączenie 

wewnętrzne

Kolumny 

lub wyrażenia 

(ew. składnia 

obiekt.kolumna

)

Pełne 

odwołanie do 

kolumny tabeli 

źródłowej 

(jednoznacznoś

ć)

Określenie źródeł danych i sposobu ich 

złączenia. Tutaj: złączenie wewnętrzne dwóch 

tabel.

Wartości pól kolumn użytych do zdefiniowania złączenia nie 

muszą wchodzić w skład zbioru wyników działania kwerendy. 

SELECT PRZ_NAZ, ZAJ_GODZ 
FROM PRZEDMIOTY INNER JOIN ZAJECIA 
ON PRZEDMIOTY.PRZ_ID = ZAJECIA.PRZ_ID 
WHERE KURS_ID = 3 
ORDER BY PRZ_NAZ

Złączenie wewnętrzne

tabel PRZEDMIOTY i ZAJECIA

background image

 

 

Instrukcja SELECT języka SQL

• Złączenie wewnętrzne więcej niż 

dwóch tabel

SELECT KURS_NAZ, PRZ_NAZ, 
ZAJ_GODZ FROM 

KURSY INNER JOIN

 

(ZAJECIA INNER JOIN PRZEDMIOTY 
ON ZAJECIA.PRZ_ID = 
PRZEDMIOTY.PRZ_ID)

 

ON 

KURSY.KURS_ID = ZAJECIA.KURS_ID

 

ORDER BY KURS_NAZ, PRZ_NAZ

• W członie FROM instrukcji SELECT buduje się 

przy użyciu nawiasów kolejne złączenia par tabel 
według wzoru:

     

tabela_A

 

INNER JOIN (

złączenie tabel B i C przy 

użyciu klucza obcego i jego rodzica

) ON

 

para klucz 

obcy – jego rodzic pozwa-lająca na złączenie tabeli A z 
parą tabel złączonych w nawiasie

Złączenie tabeli PRZEDMIOTY z tabelą 

ZAJECIA

Złączenie tabeli KURSY ze 

złączeniem tabel PRZEDMIOTY i 

ZAJECIA

Przykład: utworzenie listy kursów wraz z przedmiotami wchodzącymi do ich programów

background image

 

 

SELECT PRZ_NAZ, KURS_ID 
FROM PRZEDMIOTY LEFT JOIN ZAJECIA 
ON PRZEDMIOTY.PRZ_ID = ZAJECIA.PRZ_ID 
ORDER BY PRZ_NAZ

Przykład: lista wszystkich proponowanych przedmiotów + ew. numery kursów, 

na których te przedmioty są prowadzone

SELECT 

lista elementów z obu złączonych tabel

                         

          

LEFT

FROM 

nazwa1

 

                             JOIN

 

nazwa2

                        

          

RIGHT

ON 

[nazwa1.]kolumna1

 

= [nazwa2.]kolumna2

WHERE 

kryteria wyszukiwania

ORDER BY 

kol_porz1 [DESC][, kol_porz2 [DESC], ...]

Instrukcja SELECT języka SQL

• Przeszukiwanie wielu tabel: złączenie 

zewnętrzne

Kolumny 

lub wyrażenia 

(ew. składnia 

obiekt.kolumna

)

Pełne 

odwołanie do 

kolumny tabeli 

źródłowej 

(jednoznacznoś

ć)

Określenie źródeł danych i sposobu ich złączenia 

(lewe lub prawe złączenie wewnętrzne dwóch 

tabel)

Lewe złączenie zewnętrzne

tabel PRZEDMIOTY i ZAJECIA

background image

 

 

Instrukcja SELECT języka SQL

• Kwerendy agregujące – zasada działania

A

A
A

A
A
A

B

B

W1

W1
W1

W1

W2

W2

W2

W3

Wybór:

tylko A

(WHERE)

A
A
A
A
A
A

W1

W1

W2

W2

W2

W3

Źródło danych

Wyniki 

wyszukiwani

a

Grupowanie 

według wartości 

kolumny W

(GROUP BY)

A

W3

A
A

W1
W1

A
A
A

W2
W2

W2

O

b

lic

ze

n

ia

 

s

ta

ty

s

ty

k

(f

u

n

k

c

je

 

a

g

re

g

u

c

e

)

Warunki dla grup 

(HAVING)

W1 wyniki obliczeń statyst.

W2 wyniki obliczeń statyst.

W3 wyniki obliczeń statyst.

W1 wyniki obliczeń statyst.

W3 wyniki obliczeń statyst.

Ostateczny 

zbiór 

wyników

background image

 

 

Instrukcja SELECT języka SQL

• Kwerendy agregujące – składnia ogólna

SELECT 

lista kolumn grupujących i funkcji agregujących

FROM 

źródło danych

WHERE 

kryteria wyszukiwania rekordów w źródle danych

GROUP BY 

lista kolumn grupujących wyniki wyszukiwania

HAVING 

warunki dla grup, dla których zwracane są wyniki obliczeń

ORDER BY 

kolumny grupujące lub wyniki obliczeń statystycznych

człony opcjonalne, każdy z nich może być 

pominięty

SELECT KURS_NAZ, Count(PRZ_ID) AS LiczbaPrzedmiotow 
FROM KURSY INNER JOIN ZAJECIA 
ON KURSY.KURS_ID = ZAJECIA.KURS_ID
GROUP BY KURS_NAZ
HAVING Count(PRZ_ID) > 2 
ORDER BY KURS_NAZ

Przykład:   określenie liczby przedmiotów w programach poszczególnych kursów, 

jednak z pominięciem  kursów, w których programach są mniej niż trzy przedmioty

background image

 

 

Instrukcja SELECT języka SQL

• Przegląd funkcji agregujących

COUNT(*)     liczba wierszy źródła danych, które spełniają

kryteria wyszukiwania

COUNT(

arg

)  liczba różnych od NULL wartości argumentu 

(kolumny lub wyrażenia) w spełniających kryteria
wyszukiwania wierszach źródła danych

AVG(

argnum

wartość średnia z wartości argumentu numerycznego

(kolumna lub wyrażenie typu numerycznego) 
w spełniających kryteria wyszukiwania wierszach 
źródła danych

SUM(

argnum

suma wartości argumentu numerycznego (kolumny 

lub wyrażenia typu numerycznego) w spełniających 
kryteria wyszukiwania wierszach źródła danych

MAX(

arg

wartość maksymalna argumentu (kolumny lub 
wyrażenia dowolnego typu) w spełniających kryteria
wyszukiwania wierszach źródła danych

MIN(

arg

wartość minimalna argumentu w zbiorze określonym
tak samo, jak dla funkcji MAX

background image

 

 

Instrukcja SELECT języka SQL

• Kwerendy agregujące – warunki WHERE i 

HAVING

   W członie HAVING należy zamieszczać tylko te 
warunki, których
    spełnienie można ocenić dopiero po wykonaniu 
obliczeń przez
    funkcje agregujące
   Kryteria wyboru rekordów ze źródła danych, które 
można
    sprawdzić bezpośrednio na podstawie wartości pól 
danego
    rekordu należy zamieścić w członie WHERE 
(zmniejszenie
    wielkości zbioru, na którym dokonywane są obliczenia 
    agregujące)

A

B

A

B

A

B

B

B

A
A
A

Wybór:

tylko A

(WHERE)

Źródło danych

Wyniki wyszukiwania – 

zbiór wyjściowy dla 

obliczeń agregujących

background image

 

 

Instrukcja SELECT języka SQL

• Kwerendy agregujące – przykłady 

stosowania warunków WHERE i HAVING

SELECT KURS_NAZ, AVG(KURS_DO – KURS_OD + 1) AS 
PrzecietnaLiczbaDni 
FROM KURSY
GROUP BY KURS_NAZ
HAVING KURS_NAZ NOT LIKE " *bazy danych* "
ORDER BY KURS_NAZ

Przykład:   Określenie przeciętnego czasu trwania kursów (w dniach), 

w zależności od nazwy kursu. Ze statystyki wyłączone są kursy

zawierające w nazwie ciąg znakowy "bazy danych"

Ten warunek można 
sprawdzić w członie 

WHERE

SELECT KURS_NAZ, AVG(KURS_DO – KURS_OD + 1) AS 
PrzecietnaLiczbaDni 
FROM KURSY
WHERE KURS_NAZ NOT LIKE " *bazy danych* "
GROUP BY KURS_NAZ
ORDER BY KURS_NAZ

Wstępne ograniczenie 

liczby rekordów danych

background image

 

 

Instrukcja SELECT języka SQL

• Kwerendy zagnieżdżone

SELECT 

lista

 

FROM 

źródło danych

WHERE 

nazwa kolumny

 

IN 

(SELECT

 element 

FROM

 źródło 

danych kwerendy zagnieżdżonej 

WHERE

 kryteria wyboru 

dla kwerendy zagnieżdżonej

)

ORDER BY 

lista kolumn porządkujących

kwerenda zagnieżdżona tworzy listę argumentów 

operatora IN

• kwerenda zagnieżdżona: ujęta w nawiasy instrukcja 

SELECT umieszczona w członie WHERE nadrzędnej 
instrukcji SELECT

• kwerenda zagnieżdżona może zawierać następną 

kwerendę zagnieżdżoną

• kwerendy zagnieżdżone wykonywane są w pierwszej 

kolejności, zaczynając od kwerendy najgłębiej 
zagnieżdżonej i określają argument(y) wyrażenia 
logicznego w członie WHERE kwerendy nadrzędnej

• przykład składni kwerendy zawierającej kwerendę 

zagnieżdżoną:

background image

 

 

Instrukcja SELECT języka SQL

• Kwerendy zagnieżdżone - przykład

SELECT DISTINCT ZAJECIA.KURS_ID, KURS_NAZ, KURS_OD 
FROM KURSY INNER JOIN ZAJECIA 
ON KURSY.KURS_ID = ZAJECIA.KURS_ID
WHERE WYK_ID IN 

(SELECT WYK_ID FROM WYKLADOWCY WHERE WYK_TYTUL LIKE " 

*dr* ")

ORDER BY KURS_NAZ, KURS_OD

Wybór kursów, dla których przynajmniej jeden z wykładowców ma tytuł, 

w skład którego wchodzi ciąg znakowy "dr"

• Zamiast kwerendy zagnieżdżonej lepiej jest 

stosować złączenie tabel i warunek WHERE, 
jeżeli jest to możliwe, np.:

SELECT DISTINCT ZAJECIA.KURS_ID, KURS_NAZ, KURS_OD 
FROM WYKLADOWCY INNER JOIN (KURSY INNER JOIN ZAJECIA 
ON KURSY.KURS_ID = ZAJECIA.KURS_ID) 
ON WYKLADOWCY.WYK_ID = ZAJECIA.WYK_ID
WHERE WYK_TYTUL LIKE " *dr* "

 

ORDER BY KURS_NAZ, KURS_OD

background image

 

 

Wprowadzanie do tabeli nowego 
wiersza

• Instrukcja INSERT języka SQL

INSERT INTO 

nazwa tabeli

 

lista nazw kolumn

 

VALUES ( 

lista wartości pól kolumn w nowym 

wierszu tabeli

 

)

• dotyczy pojedynczego wiersza tabeli
• postać ogólna:

• wartości pól typu innego niż numeryczny należy 

ujmować w odpowiednie separatory (np. tekst: " 
lub ', data: #)

• w bazach programu Access daty podaje się w formacie 

amerykańskim. tj. 

mm/dd/rr

 (miesiąc/dzień/rok)

• możliwe źródła błędów: naruszenie referencyjnej 

integralności danych, naruszenie reguł 
poprawności, próba powtórzenia wartości w obrębie 
jednoznacznego indeksu

INSERT INTO KURSY (KURS_NAZ, KURS_OD, KURS_DO, KURS_OPL) 
VALUES ("Programowanie obrabiarek CNC", #02/03/03#, 
#02/07/03#, 650)

... ale wówczas trzeba nadać wartości wszystkim polom 

wiersza (zgodnie z ich kolejnością określoną w projekcie 

tabeli)

Listę nazw kolumn 
można pominąć ...

background image

 

 

Modyfikowanie danych w tabeli

• Instrukcja UPDATE języka SQL

UPDATE 

nazwa tabeli

 

SET 

nazwa kolumny 1

 

wartość pola 1
[, nazwa kolumny 2 = wartość pola 2, ...]

 

WHERE 

warunki dla rekordów, których pola 

podlegają edycji

 

• dotyczy wszystkich wierszy spełniających podane
     

w członie WHERE kryteria wyboru

• wartości pól typu innego niż numeryczny należy 

ujmować w odpowiednie separatory (np. tekst: " 
lub ', data: #)

• postać ogólna:

• możliwe źródła błędów: naruszenie referencyjnej 

integralności danych, naruszenie reguł 
poprawności, próba powtórzenia wartości w obrębie 
jednoznacznego indeksu

UPDATE KURSY SET KURS_OD = KURS_OD + 1
WHERE KURS_OD BETWEEN #04/01/03# AND #04/24/03#

Jeżeli nie podano kryteriów wyboru modyfikowanych 

rekordów, edycji zostaną poddane WSZYSTKIE 

WIERSZE TABELI !

Wartość 

stała 

lub 

wyrażenie

background image

 

 

Usuwanie wierszy z tabeli

• Instrukcja DELETE języka SQL

DELETE * FROM 

nazwa tabeli

WHERE 

kryteria wyboru rekordów usuwanych z 

tabeli

• dotyczy wszystkich wierszy spełniających podane 

w członie WHERE kryteria wyboru

• postać ogólna:

• możliwe źródło błędów: naruszenie referencyjnej 

integralności danych (próba usunięcia z tabeli 
znajdującej się po stronie jeden
 relacji typu jeden do 
wielu
 takiego rekordu, do którego odwołują się 
klucze obce w tabeli po stronie wiele
 tej relacji)

DELETE * FROM KURSY WHERE KURS_DO <= #12/31/00#

DELETE * FROM WYKLADOWCY WHERE WYK_NAZ = "Kowalski"

Jeżeli nie podano kryteriów wyboru usuwanych 

rekordów, 

z tabeli zostaną usunięte WSZYSTKIE WIERSZE !

background image

 

 

Wykorzystywanie poleceń języka SQL

• Interaktywne

• zażądanie 

wykonania 
polecenia

• ręczne wpisanie treści polecenia języka SQL w 

interfejsie odpowiedniego programu obsługi bazy 
danych

• obejrzenie 

zwróconego zbioru 
rekordów

background image

 

 

Wykorzystywanie poleceń języka SQL

• Zagnieżdżenie w kodzie innego języka 

programowania

• zastosowanie techniki umożliwiającej 

interpretację 

     i wykonanie wpisanej instrukcji (metody 

obiektów tworzonych przez środowisko budowy 
aplikacji bazy danych, obiekty dostępu do danych, 
prekompilatory)

• wpisanie do kodu programu instrukcji SQL w 

postaci 

     ciągu znaków lub zaprogramowanie tworzenia 

takiej instrukcji przez wykonywany segment kodu 
odpowiednio do aktualnego kontekstu pracy 
programu

• ewentualne wykorzystanie w kodzie aplikacji 

zwróconego zbioru danych (zestawy rekordów, 
kursory)

SQLText = "DELETE FROM DOK_OBIEKTY WHERE OBPR_ID = " & _
          CStr(Me.df_OBPR_ID)
DoCmd.RunSQL SQLText, True

background image

 

 

Wykorzystywanie poleceń języka SQL

• Związanie ze zdarzeniami

• umieszczenie instrukcji SQL w procedurze 

wykonywanej w reakcji na wystąpienie 
określonego zdarzenia

• określenie źródła danych dla formularza

• Związanie z właściwościami obiektu 

wchodzącego w skład interfejsu 
użytkownika aplikacji

• określenie źródła danych dla formantu 

typu lista lub pole kombi (lista rozwijalna)

background image

 

 

Interfejs budowy poleceń operowania 
danymi

Technika QBE (Query by Example)

Przeciąganie 

żądanych 

pól myszą

Samochody

ID_Samochodu

Nr rejestracyjny

Opis

Rocznik

Naprawy

ID_Naprawy

Data przyjęcia

Data wydania

ID_Samochodu

1

N

• Praca w graficznym interfejsie użytkownika bazy 

danych

• Idea: graficzna budowa wzorcowej postaci wiersza 

zbioru wyników wyszukiwania wraz z kryteriami i 
sposobem sortowania

• W tle tworzona jest instrukcja SELECT języka SQL

Nr rejestracyjnyRocznik

Data przyjęcia Data wydania

Like ‘WID*’

> 25.10.02

Rosnąco

Rosnąco

Struktura wiersza wyników

Kryteria wyszukiwania

Uporządkowanie wyników

background image

 

 

Technika QBE – realizacja w programie  
Access

• Interfejs 

projektowani
a kwerendy 
wybierającej 
dane z tabel 
bazy

• Utworzona w 

tle instrukcja 
SELECT 

      języka SQL

background image

 

 

Technika QBE – realizacja w środowisku Visual 
Studio

Utworzo
na 
instrukc
ja 
SELECT

Interfejs 
projektowan
ia kwerendy 
wybierającej 
dane z tabel 
bazy

Wynik 
wykona
nia 
kwerend
y

background image

 

 

Techniki operowania danymi

w bazach relacyjnych

Warszawa, 2010

© Witold Marowski, IMRC PW

Politechnika Warszawska, Wydział Samochodów 

i Maszyn Roboczych

Studia Inżynierskie, semestr VII


Document Outline