42642 ullman008 (2)

42642 ullman008 (2)



22 1 DZIEDZINA SYSTEMÓW BAZ DANYCH

(Komitet ds. systemów i języków danych (Cotnmiltee on Data System and languages)‘• W podrozdziale 2.7 Czytelnicy będą mieli sposobność poznać oba te modele: hierarchiczny i sieciowy, mimo że obecnie mają one już tylko historyczne znaczenie.

Kłopot z używaniem pierwszych modeli i systemów polegał na tym, że nie dawały one możliwości korzy stania z języków zapytań wysokiego poziomu. Na przykład język opracowany przez CODASYL dostarczał instrukcje poruszania się pomiędzy' elementami danych w postaci grafu wskaźników do nich. Trzeba było nie lada wysiłku, aby napisać w tym języku program, obsługujący nawet bardzo prosie zapytania.

1.1.2. Relacyjne systemy baz danych

Systemy baz danych zmieniły się znacznie od ukazania się w roku 1970 słynnego artykułu Teda Codda“. Propozycja Codda polegała na umożliwieniu prezentowania użytkownikowi danych w postaci tabel, nazywanych relacjami. Wewnątrz systemu natomiast mogła powstawać złożona struktura danych, która gwarantowała uzyskiwanie błyskawicznych wyników dla różnorodnych zapytań. Ale w przeciwieństwie do wczesnych baz danych użytkownik relacyjnych baz danych nic nie musiał wiedzieć o tej wewnętrznej strukturze. Zapytania można było wyrażać w języku bardzo wysokiego poziomu, co w znaczny sposób podniosło wydajność pracy programistów baz danych. Model relacyjny systemów baz danych dominuje w naszym podręczniku, poczynając od rozdziału 3, gdzie pojawia sic opis podstawowych pojęć. Od rozdziału 5 rozpocznie sic nauka języka SQL (struclured query language -język zapytań strukturalnych), najważniejszego języka zapytań dla modeli relacyjnych. Krótkie wprowadzenie do relacji pozwoli Czytelnikowi uchwycić prostotę tego modelu, a przedstawiony poniżej przykład w $QL obrazuje to, że model relacyjny umożliwia naturalny zapis zapytania bez szczegółowej „nawigacji” w bazie danych.

PRŻYKLAD 1.1

Relacje są przedstawione w postaci tabel. W nagłówkach kolumn znajdują się atrybuty, które opisują zawartość kolumn. Oto przykład relacji nazwanej Konta, służącej do księgowania kont bankowych, ich bilansu i typu.

Nr konta

Bilans

Typ

12345

67890

1000,00

2846,92

oszczędnościowy

rozliczeniowy

‘ CODASYl. Data Basc Task Group Apil 1971 Report. ACM. New York.

** Codd F..F.: A relationa! model for largc shared data banks. Comm. ACH, 13 : 6. s. 377-

W nagłówkach kolumn występują trzy atrybuty: nr konta, bilans oraz typ. Pod nazwami atrybutów znajdują sic wiersze nazywane krotkami. Zostały wypisane dwie krotki., wielokropki umieszczone pod nimi sugerują, że jest o wiele więcej krotek, po jednej dla każdego konta w banku. Pierwsza krotka informuje o tym. że na koncie o numerze 12345 zgromadzono tysiąc dolarów' i że jest to rachunek oszczędnościowy. Dane z drugiej krotki dotyczą konta rozliczeniowego o numerze 67890 z bilansem w wysokości 2846,92S.

Załóżmy, żc chcemy z bazy danych otrzymać informację o bieżącym bilansie konta nr 67890. Zapytanie w SQL wygląda następująco:

SELECT bilans

FROM Kónta

WHERE nr konta = 67890;

W następnym przykładzie pokażemy, w jaki sposób zapytać o konta oszczędnościowe z. bilansem ujemnym:

SELECT r.r konta

FRCM Konta

WHERE typ = 'oszczędnościowe' AND bilans < 0;

Nie oczekujemy oczywiście, że podanie dwóch przykładów wystarczy, aby Czytelnicy stali się ekspertami w zakresie programowania w $QL. Powinno to jednak umożliwić zrozumienie istoty zapisu instrukcji select-from-where tego języka. W zasadzie w przykładach tych zleca się systemowi baz danych przeprowadzenie następujących operacji:

1.    Sprawdzenie wszystkich krotek relacji Konta, wymienionej w klauzuli FROM.

2.    Wyszukanie wszystkich tych krotek, które spełniają w arunek opisany w: klauzuli WHERE.

3.    Sformułowanie odpowiedzi zawierającej wybrane krotki z uwzględnieniem atry butów wskazanych w klauzuli SELECT.

W praktyce system musi zapewnić „optymalizację” zapytania i znaleźć wydajny sposób znalezienia odpowiedzi, nawet jeśli relacje, których dotyczy zapytanie, są bardzo obszerne.

Najwcześniej na rynku pojawiły się relacyjne i „przedrelacyjne” systemy DBMS, produkowane w firmie IBM. Poza tym, aby tworzyć i sprzedawać relacyjne systemy DBMS, specjalnie powstawały nowe firmy. Niektóre z nich znajdują się obecnie wśród największych producentów- oprogramowania na święcie.


Wyszukiwarka

Podobne podstrony:
ullman013 (2) 32 I DZIEDZINA SYSTEMÓW BAZ DANYCH z warunków spójności dla bazy danych linii lotniczy
65864 ullman009 (2) 24 I DZIEDZINA SYSTEMÓW BAZ DANYCH1.1.3. Coraz mniejsze systemy Początkowo syste
29606 ullman007 (2) 20 1. DZIEDZINA SYSTEMÓW 3AZ DANYCH aktualizowania danych, za pomocą odpowiednie
ullman010 (2) 26 . DZIEDZINA SYSTEMÓW RAZ DANYCH jące przy projektowaniu DBMS. przeznaczonych do obs
43742 ullman045 (2) 96 ■ 2 MODRI.OWANIK BAZ DANYCH Istnieją jeszcze inne, ważne kategorie więzó
69806 ullman184 (2) 374    5 JI-ZYK BAZ DANYCH SQL Ćwiczenie 5.10.2. W ćwiczeniu 4.4.
70926 ullman021 (2) ł Kf 2 MOOF.I/)WAMn BAZ DANYCH Podstawowym celem języka ODL jest dostarczenie me
Rozwój w dziedzinie przetwarzania baz danych, składowania danych, nauczania maszyn oraz zarządzania
ullman021 (2) ł Kf 2 MOOF.I/)WAMn BAZ DANYCH Podstawowym celem języka ODL jest dostarczenie mechaniz
ullman045 (2) 96 ■ 2 MODRI.OWANIK BAZ DANYCH Istnieją jeszcze inne, ważne kategorie więzów, któ
ullman184 (2) 374    5 JI-ZYK BAZ DANYCH SQL Ćwiczenie 5.10.2. W ćwiczeniu 4.4.3 zost
81919 ullman139 (2) 1 1 284 5. Jlj7.YK BAZ DANYCH SQL Zapytanie to ma charakterystyczną dla większoś
56698 ullman014 (2) I DZIEDZINA SYSTEMÓW BAZ DANYCH W najprostszych systemach typu klient/serwer cał

więcej podobnych podstron