Relacyjny model danych 1.pdf
(
416 KB
)
Pobierz
7.04.2015
Relacyjny model danych
Wykład 1
SQL język relacyjnych i obiektoworelacyjnych
baz danych – podstawowe konstrukcje
Streszczenie
W tym wykładzie rozpoczynamy naukę podstawowego języka baz danych SQL.
Warto przypomnieć, że wprowadzenie do języka SQL było już przedstawione na
wykładach z "Relacyjnych Baz Danych". Część materiału będzie
więc teraz przypomnieniem.
Rozpoczniemy od krótkiego wprowadzenia w dziedzinę baz danych w tym od
przypomnienia definicji relacyjnego modelu danych (z pierwszego wykładu z
przedmiotu "Relacyjne bazy danych"). Następnie przejdziemy do nauki języka
SQL przedstawiając podstawowe informacje na temat typów danych, instrukcji
tworzących, modyfikujących i usuwających tabele bazy danych oraz instrukcji,
które wstawiają, usuwają i modyfikują dane w tabelach w bazie danych. Na
temat wymienionych instrukcji będzie też mowa w kolejnych wykładach. Na tym
wykładzie rozpoczniemy też dyskusję centralnego tematu w dziedzinie baz
danych, a mianowicie jak wydobywać dane z tabel w bazie danych. Wspomnimy
także o programie SQL*Plus, który jest standardowym, tekstowym interfejsem
do baz danych Oracle.
1.1 Bazy danych
Informacje (dane) są takim samym zasobem firmy, jak każdy inny (np.
pracownicy, materiały, urządzenia) i wymagającym, tak samo jak one,
zarządzania. Informacja może mieć wartość dla firmy tylko wtedy, gdy jest
dokładna i dostępna wtedy, kiedy trzeba. Baza danych stała się standardową
metodą strukturalizacji zarządzania informacją w większości organizacji.
Baza danych dotyczy zawsze pewnego fragmentu rzeczywistości związanego z
firmą, organizacją lub innym działającym lub planowanym systemem. Stanowi
kolekcję danych, których zadaniem jest reprezentowanie tego fragmentu
rzeczywistości. Baza danych jest na ogół częścią systemu informacyjnego,
obsługującego zapotrzebowania informacyjne związane z tym fragmentem
http://edu.pjwstk.edu.pl/wyklady/sbd/scb/w1.htm
1/29
7.04.2015
Relacyjny model danych
rzeczywistości.
W kontekście systemów informacyjnych warto podkreślić wszechobecność
informacji elektronicznej w codziennym życiu, dostępnej zaczynając od serwisów
działających na przeglądarkach internetowych, a kończąc na skomplikowanych
aplikacjach naukowych, jak projekty badania genomu człowieka i projekt
obserwacji Ziemi prowadzony przez NASA. Warto tu też wspomnieć o
zastosowaniach, które obejmują duże zbiory danych, takie jak biblioteki
elektroniczne, multimedialne bazy danych i interaktywne wideo.
Każda baza danych jest oparta na ustalonym modelu danych określającym
podstawowe zasady strukturalizacji i posługiwania się zbiorami danych. Obecnie
najpopularniejszym modelem jest relacyjny model danych, który za chwilę
przypomnimy. W wykładzie 7 będzie mowa o rozszerzeniu modelu relacyjnego
do obiektoworelacyjnego modelu danych. W dodatkowym wykładzie
przedstawimy najnowszy model danych – oparty na języku XML.
Każda baza danych jest zarządzana przez wyspecjalizowany system, który
zarządza zapisem i przechowywaniem danych w pamięci komputera (przede
wszystkim na dyskach), zabezpiecza dane przed utratą i niepowołanym lub
nieodpowiednim użyciem oraz udostępnia dane zapisane w bazie danych przy
użyciu języka wysokiego poziomu opartego na przyjętym modelu danych.
Począwszy od tego wykładu aż do wykładu 7 będziemy prezentować język SQL
służący do komunikacji z bazami danych (oparty na relacyjnym i obiektowo
relacyjnym modelu danych).
W wykładach od 8 do 13 będziemy studiować architekturę i zasady działania
systemu zarządzania bazą danych.
Natomiast wykłady od 14 do 15 i dodatkowe 2 i 3 zawierają materiał dotyczący
trzech specyficznych rodzajów systemów baz danych, odpowiednio systemów
rozproszonych, hurtowni danych oraz baz danych opartych na języku XML.
1.2 Relacyjny model danych
Relacyjny model danych pojawił się po raz pierwszy w artykule naukowym
Edgara Codda w 1970 roku. W terminologii matematycznej baza danych jest
zbiorem relacji. Stąd historycznie pochodzi nazwa relacyjny model danych i
relacyjna baza danych. W matematyce definiuje się relację jako podzbiór
iloczynu kartezjańskiego zbiorów wartości. Reprezentacją relacji jest
http://edu.pjwstk.edu.pl/wyklady/sbd/scb/w1.htm
2/29
7.04.2015
Relacyjny model danych
dwuwymiarowa tabela złożona z kolumn i wierszy.
Przyjmuje się następujące założenia o tabeli jako podstawowym elemencie
relacyjnego modelu danych:
Liczba kolumn jest z góry ustalona.
Z każdą kolumną jest związana jej nazwa oraz dziedzina, określająca zbiór
wartości, jakie mogą wystąpić w kolumnie.
Na przecięciu wiersza i kolumny znajduje się pojedyncza (atomowa)
wartość należąca do dziedziny kolumny.
Wiersz reprezentuje jeden rekord informacji np. informacje o osobie.
W modelu relacyjnym abstrahujemy od kolejności wierszy (rekordów) i
kolumn (pól w rekordzie).
Przedstawimy teraz trzy tabele, które będą nam towarzyszyć w przykładach w
większości wykładów.
W tabeli EMP zapisujemy informacje o pracownikach hipotetycznej firmy. Jeden
wiersz reprezentuje dane jednego pracownika. W szczególności wynika z niego,
że pracownik o nazwisku "King" pracuje w departamencie o numerze 10, piastuje
stanowisko "PRESIDENT" oraz jego zarobki wynoszą 5000.
EMP
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
‐‐‐‐‐ ‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐ ‐‐‐‐ ‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐ ‐‐‐‐ ‐‐‐‐‐‐
7839 KING PRESIDENT NULL 17‐NOV‐81 5000 NULL 10
7698 BLAKE MANAGER 7839 01‐MAY‐81 2850 NULL 30
7782 CLARK MANAGER 7839 09‐JUN‐81 2450 NULL 10
7566 JONES MANAGER 7839 02‐APR‐81 2975 NULL 20
7654 MARTIN SALESMAN 7698 28‐SEP‐81 1250 1400 30
7499 ALLEN SALESMAN 7698 20‐FEB‐81 1600 300 30
7844 TURNER SALESMAN 7698 08‐SEP‐81 1500 0 30
7900 JAMES CLERK 7698 03‐DEC‐81 950 NULL 30
7521 WARD SALESMAN 7698 22‐FEB‐81 1250 500 30
7902 FORD ANALYST 7566 03‐DEC‐81 3000 NULL 20
7369 SMITH CLERK 7902 17‐DEC‐80 800 NULL 20
7788 SCOTT ANALYST 7566 09‐DEC‐82 3000 NULL 20
7876 ADAMS CLERK 7788 12‐JAN‐83 1100 NULL 20
7934 MILLER CLERK 7782 23‐JAN‐82 1300 NULL 10
Wśród wartości występujących w tabeli EMP znajduje się charakterystyczna dla
baz danych tzw. pseudowartość NULL reprezentująca "brak wartości" w danym
http://edu.pjwstk.edu.pl/wyklady/sbd/scb/w1.htm
3/29
7.04.2015
Relacyjny model danych
polu. Jest to coś innego niż po prostu puste miejsce lub zero. W szczególności
możemy więc z tabeli EMP odczytać, że pracownik o nazwisku "King" nie ma
przełożonego oraz nie dotyczy go prowizja (COMM).
W tabeli DEPT zapisujemy informacje o departamentach (działach) hipotetycznej
firmy.
DEPT
DEPTNO DNAME LOC
‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
W tabeli SALGRADE zapisujemy informacje o klasach zaszeregowania zarobków
pracowników hipotetycznej firmy.
SALGRADE
GRADE LOSAL HISAL
‐‐‐‐‐ ‐‐‐‐‐ ‐‐‐‐‐
1 700 1200
2 1201 1400
3 1401 2000
4 2001 3000
5 3001 9999
W szczególności możemy z tabeli SALGRADE odczytać, że grupa zaszeregowania
1 obejmuje zarobki od 700 do 1200.
Tabele EMP, DEPT i SALGRADE stanowią przykładową bazę danych używaną do
nauki SQL w materiałach firmy Oracle.
Znaczenie kolumny Deptno w tabeli Emp
Jej wartości nie opisują cechy pracownika.
Reprezentują związek danego pracownika z departamentem, o którym
informacja znajduje się w innej tabeli i tylko korzystając z identyfikatora
możemy rozpoznać w innej tabeli wiersz właściwego departamentu i odczytać
http://edu.pjwstk.edu.pl/wyklady/sbd/scb/w1.htm
4/29
7.04.2015
Relacyjny model danych
o nim informacje.
Istotne jest więc, aby identyfikator ten jednoznacznie określał dany
departament. W modelu relacyjnym nie ma innej możliwości identyfikacji
wiersza tylko poprzez wartości kolumn, które jednoznacznie identyfikują
wiersz.
Klucz główny i jednoznaczny
Dla każdej tabeli musi być określony jednoznaczny identyfikator nazywany
kluczem głównym zbiór złożony z jednej lub więcej kolumn, w których
wartości jednoznacznie identyfikują cały wiersz.
Klucz jednoznaczny (nazywany też kluczem alternatywnym lub w skrócie
kluczem) ma tę samą własność co klucz główny przy czym klucz główny jest
tylko jeden, kluczy jednoznacznych w tabeli może być więcej niż jeden.
W tabeli Emp kluczem głównym jest jednoznaczny numer pracownika Empno.
Ename nie musi być kluczem!
W tabeli Dept kluczem głównym jest jednoznaczny numer departamentu
Deptno.
W tabeli Salgrade kluczem głównym jest jednoznaczny numer
zaszeregowania Grade.
Klucz obcy
Klucz obcy jest to zbiór złożony z jednej lub więcej kolumn, których
wartości występują jako wartości ustalonego klucza głównego lub
jednoznacznego w tej samej lub innej tabeli i są interpretowane jako
wskaźniki do wierszy w tej drugiej tabeli.
W tabeli Emp kluczem obcym jest numer Deptno, którego wartości pochodzą
z kolumny Deptno w tabeli Dept.
Na przykład, wartość 10 występująca w wierszu pracownika o nazwisku
"King" tabeli Emp stanowi odwołanie do wiersza w tabeli Dept, w którym są
zapisane informacje o departamencie o numerze 10 i nazwie "Accounting":
"Pracownik King pracuje w departamencie Accounting"
W tabeli Emp kluczem obcym jest też numer Mgr, którego wartości pochodzą
http://edu.pjwstk.edu.pl/wyklady/sbd/scb/w1.htm
5/29
Plik z chomika:
uchym
Inne pliki z tego folderu:
PL_SQL 5.pdf
(303 KB)
Relacyjny model danych.pdf
(356 KB)
Relacyjny model danych 1.pdf
(416 KB)
Relacyjny model danych 4.pdf
(253 KB)
SBD 13.pdf
(324 KB)
Inne foldery tego chomika:
Zgłoś jeśli
naruszono regulamin