• Nie Znaleziono Wyników

Język SQL. Rozdział 1. Wprowadzenie do baz danych

N/A
N/A
Protected

Academic year: 2021

Share "Język SQL. Rozdział 1. Wprowadzenie do baz danych"

Copied!
11
0
0

Pełen tekst

(1)

Język SQL. Rozdział 1.

Wprowadzenie do baz danych

Model danych, architektura systemu bazy

danych, funkcje systemu zarządzania bazą

danych, relacyjny model danych, język SQL.

(2)

Model danych

Obiekty świata Obiekty modelu danych

Relacja A

Relacja B

Klasa obiektów A

Klasa obiektów B

rzeczywistego

Klasa obiektów C

danych

?

(3)

Architektura systemu bazy danych

(4)

Funkcje systemu zarządzania bazą danych

Wymagania:

spójność bazy danych po awarii,

trwałość danych,

wielodostęp,

poufność danych,

wydajność,

rozproszenie danych.

Funkcje SZBD:

• odtwarzanie bazy danych,

• archiwizacja bazy danych,

• zarządzanie współbieżnością transakcji,

• identyfikacja użytkowników, autoryzacja dostępu,

szyfrowanie danych, kontrola dostępu,

• fizyczne struktury danych, optymalizacja zapytań,

• dwufazowe zatwierdzanie

transakcji, replikacja danych.

(5)

Relacyjny model danych

Historia

Podstawy teoretyczne:

• E.Codd: „A Relational Model for Large Shared Data Banks”, rok 1970.

Projekty badawcze (lata siedemdziesiąte):

• IBM System R, SEQUEL (1978),

• Berkley Ingres.

Produkty komercyjne:

• Oracle, Ingres, IBM DB2, Sybase, Informix, Microsoft SQL Server, ...

Produkty darmowe:

• PostgreSQL, MySQL, SQLite, ...

(6)

Model relacyjny

Baza danych

Struktury Dane Operacje

Ograniczenia

integralnościowe

(7)

Nazewnictwo Relacja

PRACOWNICY

KONOPKA ASYSTENT 220 1-10-1993 480

NAZWISKO ETAT ID_PRAC ZATRUDNIONY PLACA_POD rekord/

krotka

nazwa relacji

nazwa atrybutu (kolumny)

atrybut (kolumna) {ASYSTENT, ADIUNKT, PROFESOR}

dziedzina

(8)

Podejście relacyjne

Własności bazy danych:

• Widziana jako zbiór relacji.

• Nazwy relacji nie mogą się powtarzać.

• Operatory: selekcja, projekcja, iloczyn kartezjański, połączenie, suma, przecięcie, różnica.

• Dane nie są powiązane za pomocą żadnych wskaźników, powiązania między danymi tylko przez

porównywanie wartości atrybutów.

• Nieproceduralny język

komunikowania się z bazą danych.

• Użytkownik nie określa sposobu dostępu do danych i nie zna ich fizycznej organizacji.

Własności relacji:

• W relacji nie ma żadnych powtarzających się krotek.

• W relacji nie ma atrybutów o powtarzających się nazwach.

• Kolejność krotek w relacji jest całkowicie nieokreślona.

• Wartościami atrybutów są dane atomowe.

• Krotki są identyfikowane tylko i wyłącznie na

podstawie wartości

atrybutów, lokalizacja krotki nie ma żadnego wpływu na tożsamość krotki.

(9)

Schemat ćwiczebny

(10)

Język SQL

• Deklaratywny język dostępu do bazy danych, zorientowany na przetwarzanie zbiorów.

• Grupy poleceń języka:

• DML (ang. Data Manipulation Language),

• DDL (ang. Data Definition Language),

• DCL (ang. Data Control Language).

• Polecenie SQL może być zapisane:

• w jednym bądź wielu wierszach,

• dużymi lub małymi literami.

• Polecenie SQL zawsze kończymy średnikiem.

SELECT nazwisko, etat

FROM pracownicy; select NAZWISKO, ETAT from PRACOWNICY;

(11)

Standard SQL

• SQL jest językiem ustandaryzowanym.

• Edycje standardu:

• SQL-92,

• SQL: 1999,

• …

• SQL: 2019,

• SQL: 2020 (w przygotowaniu, stan w lutym 2020 r.).

• Standard (od SQL-92) wprowadza trzy tzw. "poziomy zgodności":

wejściowy, pośredni i pełny:

• poziom zgodności dla systemu bazodanowego określa, jaką część standardu języka SQL dany system wspiera,

• większość systemów bazodanowych wspiera jedynie poziom wejściowy.

Cytaty

Powiązane dokumenty

tytuł rok długość typFilmu nazwaStudia nazwiskoGwiazdy adresGwiazdy Gwiezdne Wojny 1977 124 kolor Fox Carrie Fisher Malibu Gwiezdne Wojny 1977 124 kolor Fox Mark Hamill

Z kilku tabel można zrobić jedną (więcej możliwości). Mogą być wartości

– Do obiektu mogą być dołączone typy, przy czym wszystkie obiekty jednego typu mają taką samą strukturę i zachowanie.. – W modelu zdefiniowano wiele

Zmień w relacji PRZYDZIALY definicję klucza obcego o nazwie FK_PRZYDZIALY_01 w taki sposób, aby usunięcie projektu z relacji PROJEKTY automatycznie powodowało usunięcie

Dodaj reguły poprawności wprowadzania danych do poszczególnych pól celem uniemożliwienia wprowadzenia niepoprawnego adresu e- mail, pesela, kodu pocztowego, adresu…..

Następnie stworzyć tabele łącznikowe do powiązania pacjentów i lekarzy oraz pielęgniarki i pokoje relacjami N:M (wiele-do-wielu) 3.. Posortuj następnie tabele wg

Sens tego zapytania można opisać w następujący sposób: Wybrać (SELECT) wszystkie kolumny z tabeli Ucznio- wie (Uczniowie.*) oraz wszystkie kolumny z tabeli Klasy (Klasy.*),

SELECT nazwisko, etat, placa_pod * 12 AS roczne_zarobki FROM pracownicy. ORDER BY etat DESC, roczne_zarobki