Jak działa relacyjna baza danych? Relacyjny model bazy danych

Systemy zarządzania bazami danych i systemy ekspertowe. Podstawowe pojęcia dotyczące relacyjnych baz danych. Praca z prośbami. Formularze. Raporty. Tworzenie bazy danych.

Systemy zarządzania bazami danych i ich funkcje

W nowoczesna technologia bazy danych do tworzenia baz danych, ich obsługa i utrzymanie, specjalistyczne oprogramowanie- systemy zarządzania bazą danych. DBMS to zestaw narzędzi programowych i językowych niezbędnych do tworzenia i obsługi baz danych.

Na etapie tworzenia bazy danych DBMS służy do opisu struktury bazy danych: definicja tabel; określenie liczby pól; rodzaj danych w nich wyświetlanych; rozmiary pól; definiowanie relacji pomiędzy tabelami. Oprócz tabel większość DBMS zapewnia tworzenie specjalne środki do pracy z danymi - formularze, zapytania.

W trakcie działania baz danych SZBD zapewnia edycję struktury bazy danych, wypełnianie jej danymi, wyszukiwanie, sortowanie, selekcję danych według zadanych kryteriów oraz generowanie raportów.

W systemy informacyjne ah, które działają na kompatybilnych z IBM komputery osobiste, tak zwane systemy zarządzania bazami danych podobne do dBASE, na przykład dBASE, FoxPro i Clipper, stały się powszechne. Dla użytkowników istotne jest to, że pomimo różnic w językach poleceń i formatach plików indeksowych, wszystkie te SZBD wykorzystują te same pliki baz danych z rozszerzeniem .DBF, których format stał się od pewnego czasu swego rodzaju standardem baz danych.

W bazach danych typu dBASE faktycznie stosuje się relacyjne podejście do organizacji danych, tj. każdy plik .DBF jest dwuwymiarową tabelą składającą się ze stałej liczby kolumn i liczba zmienna linie (rekordy). W terminach przyjętych w dokumentacja techniczna, każda kolumna odpowiada polu jednego z pięciu typów (N - numeryczne, C - znakowe, D - data, L - logiczne, M - notatka), a każda linia odpowiada rekordowi o stałej długości, składającemu się z ustalonej Liczba pól. Używając języki poleceń z tych systemów DBMS tworzone i korygowane są układy plików. DBF (opisy tabel), tworzone są pliki indeksowe, opisane są procedury pracy z bazami danych (odczyt, wyszukiwanie, modyfikacja danych, raportowanie i wiele innych). Cecha charakterystyczna Plik .DBF jest prosty i przejrzysty: fizyczna reprezentacja danych na dysku jest dokładnie taka sama, jak tabela na papierze. Generalnie jednak systemy zbudowane na plikach .DBF należy uznać za przestarzałe.



Inne systemy DBMS (z innym formatem pliku) są również bardzo popularne - Paradox, Clarion itp. Należy podkreślić, że wymienione systemy wywodzą się z MS-DOS, ale obecnie prawie wszystkie z nich zostały ulepszone i mają wersje dla systemu Windows.

Wśród nowoczesnych systemów relacyjnych najpopularniejszym systemem DBMS dla Windows jest Access firmy Microsoft, Approach firmy Lotus, Paradox firmy Borland. Wiele z tych systemów obsługuje Technologia OLE i może manipulować nie tylko liczbami i informacje tekstowe, ale również obrazy graficzne(rysunki, fotografie), a nawet fragmenty dźwiękowe i klipy wideo.

Wymienione systemy DBMS często nazywane są desktopami, co oznacza stosunkowo niewielką ilość danych obsługiwanych przez te systemy. Jednak często wykorzystuje się je nie tylko indywidualni użytkownicy, ale także całe zespoły (zwłaszcza w lokalnych sieciach komputerowych).

Jednocześnie w centrum nowoczesności technologia informacyjna potężniejsze stopniowo się poruszają relacyjny system DBMS z tzw. dostępem SQL. Te systemy DBMS oparte są na technologii klient-serwer. Do wiodących producentów takich systemów należą Oracle, Centura (Gupta), Sybase, Informix, Microsoft i inni.

Typy danych w bazach danych

Systemy informacyjne współpracują z następującymi głównymi typami danych.

Dane tekstowe. Wartość poszczególnych danych tekstowych (znakowych) jest reprezentowana przez zbiór dowolnych znaków alfanumerycznych, których długość najczęściej nie przekracza 255 (na przykład 5, 10, 140). Dane tekstowe reprezentują nazwiska i stanowiska osób, nazwy firm, produktów, urządzeń itp. w systemie IS. W konkretnym przypadku wartością danych tekstowych może być nazwa pliku zawierającego informacje nieustrukturyzowane dowolna długość(na przykład biografia lub zdjęcie podmiotu). Właściwie to jest łącze strukturalne, co pozwala znacznie rozszerzyć zawartość informacyjną Twojej tabeli.

Dane numeryczne. Dane tego typu są zwykle używane do reprezentowania atrybutów, których wartościami należy manipulować. działania arytmetyczne(wagi, ceny, współczynniki itp.). Zwykle ma to numeryczne dane odniesienia dodatkowe cechy, na przykład: liczba całkowita o długości 2 bajtów, liczba zmiennoprzecinkowa (4 bajty) w ustalonym formacie itp. Separatorem pomiędzy częścią całkowitą i ułamkową jest zwykle kropka.

Dane typu data i/lub godzina. Dane typu daty są podawane w formacie znanym maszynowo, na przykład DD.MM.RR (dzień, miesiąc, rok). Na pierwszy rzut oka tak szczególny przypadek dane tekstowe. Jednakże użycie specjalnego typu daty w układzie scalonym ma następujące zalety. Po pierwsze, system zyskuje możliwość zachowania ścisłej kontroli (na przykład wartość miesiąca może być dyskretna tylko w przedziale 01-12). Po drugie, możliwe staje się automatyczne reprezentowanie formatu daty w zależności od tradycji danego kraju (na przykład w USA przyjęto format MM-DD-GT). Po trzecie, przy programowaniu operacje arytmetyczne na datach są znacznie uproszczone (spróbuj np. ręcznie obliczyć datę 57 dni po podanej dacie). Za pomocą tego typu czas.

Dane logiczne. Dane tego typu (czasami nazywane Boolean) mogą przyjmować tylko jedną z dwóch wzajemnie wykluczających się wartości – True lub False (warunkowo: 1 lub 0). W rzeczywistości jest to przełącznik, którego wartość można interpretować jako „Tak” i „Nie” lub jako „Prawda” i „Fałsz”. Typ Boolean jest wygodny w użyciu w przypadku tych atrybutów, które mogą przyjmować jedną z dwóch wzajemnie wykluczających się wartości, na przykład posiadanie prawa jazdy (tak lub nie), służba wojskowa (tak lub nie) itp.

Pola obiektu OLE. Wartością takich danych może być dowolny obiekt OLE dostępny na komputerze (grafika, dźwięk, wideo). W szczególności lista uczniów może zawierać nie tylko statyczne zdjęcie ucznia, ale także jego głos.

Typy niestandardowe. Wiele systemów daje użytkownikom możliwość tworzenia własnych typów danych, np.: „Dzień tygodnia” (poniedziałek, wtorek itp.), „Adres” ( kod pocztowy- miasto - ...), itp.

W konkretnym przypadku wartością danych tekstowych może być zbiór spacji, a wartością danych numerycznych może być zero. Jeśli w tabeli nie zostaną w ogóle wprowadzone żadne informacje, wartość będzie pusta (Null). Wartości null nie należy mylić z zerem ani spacjami. W wielu systemach ważne jest, aby użytkownik odnotował brak danych dla niektórych wystąpień obiektu (na przykład brak adresu „Adres ma wartość Null”). Jeśli przypadkowo wpiszesz spację w takim wierszu tabeli, system uzna, że ​​adres został podany i ten egzemplarz nie zostaną ujęte na liście obiektów z brakującymi adresami.

Relacyjne bazy danych

Najwygodniejszym sposobem zarówno dla użytkownika, jak i komputera jest przedstawienie danych w formie dwuwymiarowej tabeli – większość współczesnych systemów informatycznych współpracuje właśnie z takimi tabelami. Bazy danych składające się z dwuwymiarowych tabel nazywane są relacyjny , (w języku angielskim „relacja” - relacja). Główną ideą podejścia relacyjnego jest reprezentowanie dowolnej struktury danych w postaci prostej dwuwymiarowej tabeli.

Przykładem wdrożenia relacyjnego modelu danych może być tabela z informacjami o uczniach.

Jak widać z powyższego przykładu, tabela relacyjna ma następujące właściwości:

· każdy wiersz tabeli to jeden element danych (informacja o jednym uczniu);

· wszystkie kolumny w tabeli są jednorodne, tj. mają wszystkie elementy w kolumnie taki sam typ i długość (na przykład kolumna Imię wyświetla imiona uczniów o długości do 17 znaków);

każda kolumna ma unikalna nazwa(na przykład tabela nie ma dwóch kolumn Nazwa);

· niedopuszczalne są identyczne wiersze w tabeli (wpis dla każdego ucznia dokonywany jest tylko raz);

· Kolejność wierszy i kolumn w tabeli może być dowolna (wpisu o uczniu w tabeli dokonuje się przy przyjęciu do szkoły, kolejność kolumn nie ma znaczenia).

Elementy strukturalne relacyjnej bazy danych

Używając jako przykładu tabeli relacyjnej, spójrzmy na główne elementy konstrukcyjne Baza danych.

1. W relacyjnych bazach danych dowolny zbiór danych prezentowany jest w postaci dwuwymiarowych tabel (relacji), podobnych do opisanej powyżej listy uczniów. Ponadto każda tabela składa się ze stałej liczby kolumn i określonej (zmiennej) liczby wierszy. Opis kolumn nazywany jest zwykle układem tabeli.

2. Każda kolumna tabeli reprezentuje pole – elementarną jednostkę logicznej organizacji danych, która odpowiada niepodzielnej jednostce informacji – szczegółom obiektu danych (np. nazwisko studenta, adres).

Do opisu pola wykorzystywane są następujące cechy:

· nazwa pola (np. nr akt osobowych, nazwisko);

· typ pola (np. znak, data);

· dodatkowe cechy (długość pola, format, dokładność).

Na przykład pole Data urodzenia może być typu „data” i mieć długość 8 (6 cyfr i 2 kropki oddzielające dzień, miesiąc i rok w zapisie daty).

3. Każdy wiersz tabeli nazywany jest rekordem. Rekord logicznie łączy wszystkie pola opisujące jeden obiekt danych, przykładowo wszystkie pola w pierwszym wierszu powyższej tabeli opisują dane dotyczące studenta Iwana Wasiljewicza Pietrowa, urodzonego 12 marca 1989 r., zamieszkałego pod adresem: ul. Gorki, lat 12-34, uczy się w klasie 4A, sygn. akt osobowych P-69. System numeruje rekordy w kolejności: 1,2, ..., n, gdzie n oznacza Łączna rekordy (wiersze) w tabeli na ten moment. W odróżnieniu od ilości pól (kolumn) w tabeli, ilość rekordów podczas działania bazy danych może zmieniać się w zależności od potrzeb (od zera do milionów). Zmienić można także liczbę pól, ich nazwy i typy, lecz jest to specjalna operacja tzw zmiana układu tabeli .

4. Struktura rekordu pliku określa pola, których wartości stanowią prosty klucz identyfikujący instancję rekordu. Przykład tego prosty klucz w tabeli Studenci znajduje się pole nr akt osobowych, którego wartość jednoznacznie identyfikuje jeden obiekt tabeli - jednego ucznia, gdyż w tabeli nie ma dwóch uczniów o tym samym numerze akt osobowych.

5. Każde pole może znajdować się w kilku tabelach (np. pole Nazwisko można umieścić w tabeli Lista uczniów w grupie teatralnej).

Baza danych (DB) - to nazwany zbiór ustrukturyzowanych danych powiązanych z konkretnym Tematyka i przeznaczone do przechowywania, gromadzenia i przetwarzania za pomocą komputera.

Baza relacyjna Dane (RBD) to zbiór relacji, których nazwy pokrywają się z nazwami relacji schematu w schemacie bazy danych.

Podstawowe koncepcje relacyjne bazy danych:

· Typ danych– rodzaj wartości konkretnej kolumny.

· Domena(domena) – zbiór wszystkich prawidłowych wartości atrybutów.

· Atrybut(atrybut) – nagłówek kolumny tabeli charakteryzujący nazwaną właściwość obiektu, np. nazwisko studenta, datę zamówienia, płeć pracownika itp.

· Orszak– wiersz tabeli reprezentujący zbiór wartości logicznie powiązanych atrybutów.

· Postawa(relacja) – tabela odzwierciedlająca informacje o obiektach świata rzeczywistego, np. o studentach, zakonach, pracownikach, mieszkańcach itp.

· Główny klucz (główny klucz) – pole (lub zbiór pól) tabeli, które jednoznacznie identyfikuje każdy jej rekord.

· Klucz alternatywny to pole (lub zestaw pól), które nie pasuje do klucza podstawowego i jednoznacznie identyfikuje instancję rekordu.

· Klucz zewnętrzny to pole (lub zbiór pól), którego wartości odpowiadają istniejącym wartościom klucza podstawowego innej tabeli. Kiedy łączysz dwie tabele, klucz podstawowy pierwszej tabeli jest łączony z kluczem obcym drugiej tabeli.

· Model relacyjny dane (RMD)- organizowanie danych w formie dwuwymiarowych tabel.

Każda tabela relacyjna musi mieć następujące właściwości:

1. Każdy rekord tabeli jest unikalny, tj. zestaw wartości w polach nie jest powtarzany.

2. Każda wartość zapisana na przecięciu wiersza i kolumny jest niepodzielna (nierozłączna).

3. Wartości w każdym polu muszą być tego samego typu.

4. Każde pole ma unikalną nazwę.

5. Kolejność wpisów nie ma znaczenia.

Główne elementy bazy danych:

Pole- elementarna jednostka logicznej organizacji danych. Do opisu pola wykorzystywane są następujące cechy:

· imię, na przykład Nazwisko, Imię, Patronim, Data urodzenia;

· wpisz np. ciąg znaków, cyfrę, datę;

· długość, np. w bajtach;

· precyzja danych liczbowych, np. dwa miejsca po przecinku, aby pokazać część ułamkową liczby.

Nagrywać- zbiór wartości logicznie powiązanych pól.

Indeks– sposób na przyspieszenie wyszukiwania rekordów, służący do ustalania powiązań pomiędzy tabelami. Tabela, dla której używany jest indeks, nazywana jest indeksowaną. Pracując z indeksami, należy zwrócić uwagę na organizację indeksów, która jest podstawą klasyfikacji. Prosty indeks jest reprezentowany przez pojedyncze pole lub wyrażenie logiczne, przetwarzając jedno pole. Indeks złożony reprezentowane przez kilka pól z możliwością wykorzystania różne funkcje. Indeksy tabel są przechowywane w pliku indeksu.


Integralność danych– jest to sposób zabezpieczenia danych na polach komunikacyjnych, który pozwala na utrzymanie tabel w spójnym (spójnym) stanie (czyli nie pozwala na istnienie w tabeli podrzędnej rekordów, które nie mają odpowiadających sobie rekordów w tabeli nadrzędnej tabela).

Wniosek– sformułowane pytanie dla jednej lub większej liczby wzajemnie powiązanych tabel zawierających kryteria próbkowania danych. Żądanie jest składane za pomocą język strukturalny Zapytania SQL(Strukturalny język zapytań). Pobieranie danych z jednej lub większej liczby tabel może skutkować utworzeniem zestawu rekordów nazywanego widokiem.

Prezentacja danych– nazwane zapytanie przechowywane w bazie danych w celu pobrania danych (z jednej lub większej liczby tabel).

Widok to zasadniczo tabela tymczasowa utworzona w wyniku zapytania. Samo zapytanie można wysłać na adres osobny plik, raport, tabela tymczasowa, tabela na dysku itp.

Raport– element systemu, którego głównym zadaniem jest opisywanie i drukowanie dokumentów na podstawie informacji z bazy danych.

ogólna charakterystyka współpraca z RDB:

Najbardziej powszechną interpretacją relacyjnego modelu danych wydaje się być interpretacja Daty, który reprodukuje go (z różnymi udoskonaleniami) niemal we wszystkich swoich książkach. Według Date model relacyjny składa się z trzech części opisujących różne aspekty podejścia relacyjnego: części strukturalnej, części manipulacyjnej i części holistycznej.

Strukturalna część modelu stwierdza, że ​​jedyną strukturą danych stosowaną w relacyjnych bazach danych jest znormalizowana relacja n-arna.

Część manipulacyjna modelu stwierdza dwa podstawowe mechanizmy manipulowania relacyjnymi bazami danych - algebra relacyjna i rachunek relacyjny. Pierwszy mechanizm opiera się głównie na teoria klasyczna zbiory (z pewnymi wyjaśnieniami), a drugi - na klasycznym aparacie logicznym rachunku predykatów pierwszego rzędu. Należy zauważyć, że główną funkcją manipulacyjnej części modelu relacyjnego jest zapewnienie miary relacyjności dowolnego konkretnego języka relacyjnych baz danych: język nazywa się relacyjnym, jeśli ma nie mniejszą wyrazistość i moc niż algebra relacyjna lub rachunek relacyjny.


28. JĘZYKI ALGORYTMICZNE. TŁUMACZE (TŁUMACZE I KOMPILERZY). PODSTAWY JĘZYKA ALGORYTMICZNEGO. STRUKTURA PROGRAMU. IDENTYFIKATORY. ZMIENNE. OPERATORZY. PRZETWARZANIE TABLICE JEDNOWYMIAROWYCH I DWUWYMIAROWYCH. FUNKCJE UŻYTKOWNIKA. PODPROGRAMY. PRACA Z PLIKAMI DANYCH.

Język wysoki poziom - język programowania, którego koncepcje i struktura są wygodne dla ludzkiej percepcji.

Język algorytmiczny(Język algorytmiczny) – język programowania – sztuczny (formalny) język przeznaczony do pisania algorytmów. Język programowania definiuje się poprzez jego opis i implementuje w postaci specjalnego programu: kompilatora lub interpretera. Przykładami języków algorytmicznych są Borland Pascal, C++, Basic itp.

Podstawowe pojęcia języka algorytmicznego:

Skład języka:

Zwykły potoczny składa się z czterech głównych elementów: symboli, słów, zwrotów i zdań. Język algorytmiczny zawiera podobne elementy, tylko słowa nazywane są konstrukcjami elementarnymi, frazy nazywane są wyrażeniami, a zdania nazywane są operatorami.

Symbolika, elementarne konstrukcje, wyrażenia i operatory tworzą struktura hierarchiczna, ponieważ struktury elementarne powstają z ciągu symboli.

Wyrażenia jest ciągiem elementarnych struktur i symboli,

Operator- ciąg wyrażeń, struktur elementarnych i symboli.

Opis języka:

Opis znaku składa się z listy prawidłowych znaków języka. Opis struktur elementarnych oznacza zasady ich powstawania. Opis wyrażeń to zasady tworzenia wszelkich wyrażeń mających sens w danym języku. Opis operatorów uwzględnia wszystkie typy operatorów dozwolonych w danym języku. Opis każdego elementu języka jest podany przez jego SKŁADNIĘ i SEMANTYKĘ.

Syntaktyczny definicje ustanawiają zasady konstruowania elementów języka.

Semantyka określa znaczenie i zasady użycia tych elementów języka, dla których podano definicje składniowe.

Symbole języka- są to podstawowe, niepodzielne znaki, według których pisane są wszystkie teksty w tym języku.

Struktury elementarne- Ten jednostki minimalne języki posiadające niezależne znaczenie. Tworzą się z podstawowych symboli języka.

Wyrażenie w języku algorytmicznym składa się z elementarnych struktur i symboli, określa regułę obliczania określonej wartości.

Operator zestawy Pełny opis jakąś czynność, którą należy wykonać. Do opisu złożone działanie może być wymagana grupa operatorów.

W tym przypadku operatory są łączone w Operator złożony Lub Blok. działania, określone przez operatory, są wykonywane na danych. Instrukcje języka algorytmicznego, które dostarczają informacji o typach danych, nazywane są deklaracjami lub instrukcjami niewykonywalnymi. Zbiór opisów i operatorów połączonych jednym algorytmem tworzy program w języku algorytmicznym. W procesie badania języka algorytmicznego konieczne jest odróżnienie języka algorytmicznego od języka, za pomocą którego przeprowadzany jest opis badanego języka algorytmicznego. Zwykle język, którego się uczy, nazywa się po prostu językiem, a język, w odniesieniu do którego podaje się opis badanego języka - Metajęzyk.

Tłumacze - (Angielski tłumacz - tłumacz) to program tłumaczący. Konwertuje program napisany w jednym z języków wysokiego poziomu na program składający się z instrukcji maszynowych.

Program napisany w jakimkolwiek języku algorytmicznym wysokiego poziomu nie może być bezpośrednio wykonany na komputerze. Komputer rozumie tylko język poleceń maszyny. W konsekwencji program w języku algorytmicznym musi zostać przetłumaczony (przetłumaczony) na język poleceń konkretnego komputera. Tłumaczenie takie odbywa się automatycznie za pomocą specjalnych programów tłumaczących stworzonych dla każdego języka algorytmicznego i dla każdego typu komputera.

Istnieją dwie główne metody transmisji — kompilacja i interpretacja.

1.Kompilacja: Kompilator(kompilator angielski - kompilator, kolektor) czyta cały program, tłumaczy go i tworzy kompletną wersję programu w języku maszynowym, która następnie jest wykonywana.

Na kompilacja cały oryginalny program jest natychmiast konwertowany na sekwencję instrukcji maszynowych. Następnie powstały program jest wykonywany przez komputer z dostępnymi danymi źródłowymi. Zaletą tej metody jest to, że tłumaczenie jest wykonywane jednorazowo, a (wielokrotne) wykonanie powstałego programu można przeprowadzić za pomocą wysoka prędkość. Jednocześnie powstały program może zajmować dużo miejsca w pamięci komputera, ponieważ podczas tłumaczenia jeden operator językowy jest zastępowany setkami, a nawet tysiącami poleceń. Ponadto debugowanie i modyfikacje nadawanego programu są bardzo trudne.

2. Tłumaczenie ustne: Tłumacz ustny(Angielski tłumacz - interpreter, interpreter) tłumaczy i wykonuje program linia po linii.

Na interpretacje program źródłowy jest przechowywany w pamięci komputera w niemal niezmienionym stanie. Program interpretujący dekoduje instrukcje oryginalny program pojedynczo i natychmiast zapewnia ich wykonanie na podstawie dostępnych danych. Interpretowany program zajmuje niewiele miejsca w pamięci komputera i jest łatwy do debugowania i modyfikacji. Ale wykonanie programu jest dość powolne, ponieważ przy każdym wykonaniu interpretacja wszystkich operatorów odbywa się od nowa.

Skompilowane programy działają szybciej, ale zinterpretowane są łatwiejsze do naprawienia i zmiany.

Każdy konkretny język jest nastawiony albo na kompilację, albo na interpretację – w zależności od celu, dla którego został stworzony. Na przykład Pascal jest zwykle używany do rozwiązywania problemów złożone zadania, w którym ważna jest szybkość programów. Dlatego dany język zwykle implementowane przy użyciu kompilatora.

Z kolei BASIC powstał jako język dla początkujących programistów, dla których wykonywanie programu linia po linii ma niezaprzeczalne zalety.

Czasami istnieje zarówno kompilator, jak i tłumacz dla tego samego języka. W takim przypadku możesz użyć interpretera do opracowania i przetestowania programu, a następnie skompilować debugowany program, aby poprawić jego szybkość wykonywania.

II. Model sieciowy

III. Model relacyjny

nagraniepole

hierarchiczny I modele sieciowe klucz obcy


4. Relacyjny model danych

Relacyjna baza danych

* Postawa

* Atrybut kolumna (pole) stoły.

* Typ danych

* Połączenie klucz.

* Stowarzyszenie

Główny Funkcje RDBMS to:

· Definicja danych

· Przetwarzanie danych

· Zarządzanie danymi

Dostęp Microsoftu

Okno bazy danych w Accessie



Tryby pracy z obiektami

Przyciski umożliwiające pracę z obiektami bazy danych znajdują się na pasku narzędzi okna bazy danych:

otwarty– umożliwia przejście do trybu edycji tabeli, wykonania zapytania, załadowania formularza, zbudowania raportu, uruchomienia makra.

Konstruktor– zapewnia przejście do trybu konfiguracji wybranego obiektu.

Tworzyć– umożliwia rozpoczęcie tworzenia nowego obiektu wybranego typu.

7. Praca z tabelami

Aby utworzyć tabelę należy przejść do listy tabel i kliknąć przycisk Tworzyć . Pojawi się nowe okno dialogowe Nowy stół:

Tabelę w programie Access możesz utworzyć na kilka sposobów:

· zbudować nowy stół„od zera”, używając Projektant;

· początek Kreator tabelispecjalny program monit o utworzenie tabeli w tryb krok po kroku na bazie standardowe rozwiązania, dostępne w Accessie;

· zaimportować tabelę bazy danych z pliku programu, na przykład FoxPro lub Excel.

Określenie nazwy pola

Nazwa pola jest podana w kolumnie Nazwa pola. Nazwa może zawierać maksymalnie 64 znaki, dozwolone są dowolne znaki z wyjątkiem kropki, wykrzyknik i nawiasy kątowe. Powtarzanie nazw pól jest niedozwolone.

Definicja typu danych

Dla każdego pola należy określić typ danych, jakie ono zawiera. Typ danych wybierany jest z listy, którą można wywołać klikając na kolumnę Typ danych. Dostęp działa następujące typy dane:

Ø Tekst– do przechowywania zwykłego tekstu za pomocą maksymalny numer 255 znaków.

Ø Pole NOTATKA– do przechowywania dużej ilości tekstu do 65 535 znaków.

Ø Liczbowy– do przechowywania liczb rzeczywistych.

Ø Data i godzina– do przechowywania dat kalendarzowych i aktualnego czasu.

Ø Monetarny– pola te zawierają kwoty pieniężne.

Ø Lada– w celu ustalenia unikalnego klucza systemowego tabeli. Zwykle używane do sekwencyjnego numerowania rekordów. Po dodaniu do tabeli nowe wejście Wartość tego pola zwiększa się o 1 (jeden). Wartości w takich polach nie są aktualizowane.

Ø Logiczne – do przechowywania danych przyjmujących wartości: Tak lub Nie.

Ø Pole obiektu OLE– do przechowywania obiektów utworzonych w innych aplikacjach.

Opis właściwości pola

Jak już wspomniano, charakterystykę poszczególnych pól definiuje się w obszarze właściwości pól (tab Są pospolite). Każde pole ma określony zestaw właściwości, w zależności od typu pola. Niektóre typy pól mają podobne zestawy właściwości pól. Poniżej wymieniono główne właściwości pól.

Ø Rozmiar polamaksymalna długość pole tekstowe(domyślnie 50 znaków) lub typ danych pole liczbowe. Zalecane jest ustawienie wartości minimalnej dopuszczalna wartość tę właściwość, ponieważ przetwarzanie danych mniejszy rozmiar działa szybciej.

Jeśli typ danych jest numeryczny, dozwolone są następujące wartości właściwości: Rozmiar pola:

Komentarz. Jeśli pole zostanie skonwertowane do mniejszego rozmiaru, może nastąpić utrata danych.

Ø Format pola– format wyświetlania danych na ekranie lub wydruku. Zazwyczaj używany jest format domyślny.

Ø Liczba miejsc po przecinku– ustawia liczbę miejsc dziesiętnych po przecinku dla typów danych numerycznych i walutowych.

Ø Maska wprowadzania– określa formę w jakiej dane są wprowadzane do pola (narzędzie do automatyzacji wprowadzania danych).

Ø Podpis– oznaczenie pola, które będzie wykorzystywane do wyświetlania pola w tabeli, formularzu lub raporcie. Jeżeli wartość ta nie zostanie zdefiniowana, jako podpis zostanie przyjęta nazwa pola.

Ø Domyślna wartośćwartość standardowa, który jest automatycznie wpisywany w pole podczas tworzenia nowego rekordu danych.

Ø Warunek wartości– ustawia ograniczenia na wprowadzane wartości, umożliwiając tym samym kontrolę nad poprawnością wprowadzania danych.

Ø Komunikat o błędzie– ustawia treść komunikatu wyświetlanego na ekranie w przypadku naruszenia warunku na wartości.

Ø Pole obowiązkowe– określa, czy pole to może zawierać wartości Null (tzn. pozostać puste), czy też należy w nim wprowadzić dane.

Ø Pole indeksowane– służy do wyszukiwania i sortowania rekordów według wartości zapisanej w tym polu, a także do automatycznego eliminowania duplikatów rekordów. Pola typu NOTATKA, Obiekt OLE I Hiperłącze nie można indeksować.

Definicja pola kluczowego

Po określeniu charakterystyki wszystkich pól należy dokonać wyboru co najmniej, jedno kluczowe pole. Z reguły jako pola kluczowe określane są pola zawierające dane jednorazowe lub tworzone są pola z typem danych Lada . W żadnym wypadku pole kluczowe nie powinno zawierać zduplikowanych danych. Aby zdefiniować klucz należy wybrać żądane pole (lub pola) i kliknąć przycisk Pole kluczowe Edytować . Obraz klucza pojawi się po lewej stronie znacznika.

Zapisywanie tabeli

Przed wprowadzeniem informacji należy zapisać projektowaną tabelę: nacisnąć przycisk Ratować na pasku narzędzi lub odpowiednie polecenie w p.m. Plik i wprowadź nazwę tabeli, po czym na ekranie pojawi się pytanie „Utworzyć teraz pole kluczowe?”. (Tak lub nie)

Jeśli odpowiedź brzmi „ Tak", wówczas Access automatycznie utworzy pole o nazwie "Kod" i typie danych Lada , Jeśli " NIE", wówczas tabela zostanie utworzona bez pola klucza. W takim przypadku musisz otworzyć utworzoną tabelę w trybie Projektant i ręcznie zdefiniuj pole kluczowe.

Wprowadzanie danych

Aby przełączyć tabelę w tryb wprowadzania informacji, należy przełączyć się w tryb Stoły. Pola wypełniane są sekwencyjnie. Wygodne jest przemieszczanie się z jednego pola na drugie za pomocą klawisza Patka(lub kombinacja Shift+Tab- w przeciwnym kierunku). Jeśli tabela została zaprojektowana z domyślnymi wartościami dla niektórych pól, wartości te automatycznie pojawią się w odpowiednich polach. Wpisy w tabeli można przenosić, kopiować i usuwać w taki sam sposób jak w arkusze kalkulacyjne, czyli najpierw wybierz linie, a następnie wykonaj niezbędną operację. Kolumnę można wybrać klikając na nagłówek. Za pomocą tej metody kolumny można przesuwać w lewo i w prawo przeciągnij i upuść upuszczać(przeciągnij i upuść).

W razie potrzeby możesz wrócić do trybu Projektant. Dzięki temu można skorygować wszystko w strukturze tabeli.

Sortowanie danych w tabeli

Dane w tabeli można sortować rosnąco lub malejąco. Aby to zrobić, należy umieścić kursor myszy w dowolnej komórce kolumny, której wartości zostaną posortowane od godz. Posty wybierz drużynę Sortowanie lub kliknij odpowiedni przycisk na panelu.

8. Tworzenie połączeń pomiędzy tabelami bazy danych

Relację między tabelami ustala się poprzez zdefiniowanie w jednej tabeli ( podrzędny) pole odpowiadające kluczowi innej tabeli ( główny). Nawiązane połączenie połączy rekordy zawierające w danym polu te same wartości. Program Access będzie później korzystać z połączeń utworzonych w kwerendach, formularzach i raportach.

Notatki.

Ø Obydwa pola, które mają zostać połączone, muszą mieć to samo typ danych.

Ø Właściwości Rozmiar pola dla obu połączonych pól typ numeryczny powinno być takie samo.

Ø Jeśli polem kluczowym tabeli głównej jest pole z typem danych Lada, wówczas pole to można powiązać z polem numerycznym w podtabeli. W tym przypadku dla pola numerycznego tabeli połączonej dla właściwości Rozmiar pola należy określić wartość Długa liczba całkowita .

Integralność danych

Integralność danych to zbiór reguł utrzymujących poprawność relacji pomiędzy rekordami w powiązane tabele ah i chroń dane przed przypadkowymi zmianami lub usunięciem.

Zasady te obejmują:

Ø Nie można wprowadzać rekordów w podtabeli, które nie są powiązane z rekordem w tabeli głównej.

Ø W tabeli głównej nie można zmienić wartości pola kluczowego, jeśli w podtabeli znajdują się z nim powiązane rekordy.

Ø Nie można usunąć rekordów z tabeli głównej, jeśli są z nią powiązane rekordy w podtabeli.

Operacje kaskadowe

Integralność danych w powiązanych tabelach zapewniają dwa rodzaje operacji kaskadowych:

Ø operacje aktualizacji kaskadowej;

Ø kaskadowe operacje usuwania.

Operacje te można włączyć lub wyłączyć zaznaczając odpowiednie checkboxy: „Kaskadowa aktualizacja pól powiązanych” oraz „Kaskadowe usuwanie pól powiązanych”.

Jeśli zaznaczone jest pole wyboru „Kaskadowa aktualizacja powiązanych pól”, wszelkie zmiany wartości pola kluczowego w tabeli głównej znajdującego się po stronie „jeden” relacji 1:M spowodują automatyczna aktualizacja odpowiednie wartości we wszystkich powiązanych rekordach.

Zaznaczenie pola wyboru „Kaskadowe usuwanie powiązanych tabel” podczas usuwania rekordu z tabeli głównej gwarantuje, że automatyczne usuwanie powiązane rekordy w tabelach podrzędnych.

Usuwanie (zmiana) połączeń

Ø Otwórz okno Schemat danych;

Ø aktywuj lewym przyciskiem myszy połączenie, które ma zostać usunięte (zmienione);

Ø kliknij prawym przyciskiem myszy myszą, aby wyświetlić menu kontekstowe i wybrać polecenie Usuwać (Zmiana) odpowiednio.

9. Rodzaje relacji pomiędzy tabelami

Istnieją trzy typy relacji między tabelami:

Jeden na jednego (1:1). Wartość klucza w każdym rekordzie tabeli głównej może mieć odpowiadającą wartość w powiązanym polu tylko w jednym rekordzie tabeli podrzędnej. W takim przypadku związek między tabelami można ustalić tylko poprzez kluczowe pola oba stoły.

Jeden do wielu (1:M). Wartość klucza w każdym rekordzie tabeli głównej może mieć odpowiadające wartości w powiązanych polach w wielu rekordach w podtabeli. Ten typ relacji jest dość często stosowany w relacyjnych bazach danych.

Wiele do wielu (M:M). Zachodzi pomiędzy dwiema tabelami, gdy jeden rekord z pierwszej tabeli A (relacja wyjściowa) może być powiązany z więcej niż jednym rekordem innej tabeli B (relacja odbierająca), z kolei jeden rekord z innej tabeli może być powiązany z więcej niż jednym rekordem w pierwszy stół. Ten schemat jest realizowany tylko za pomocą trzeciej tabeli złączeń, której klucz łącza składa się z co najmniej dwóch pól. Pola te są polami kluczy obcych w tabelach A i B. Klucz podstawowy tabeli łączenia jest zwykle kombinacją kluczy obcych.

Jeżeli pomiędzy tabelami występują relacje typu M:M, tworzona jest dodatkowa tabela przecięcia, za pomocą której relacja M:M zostanie zredukowana do dwóch relacji typu 1:M. Program Access nie umożliwia zdefiniowania bezpośredniej relacji M:M między dwiema tabelami.

10. Tworzenie wniosków

Uruchamianie zapytania

Aby uruchomić żądanie wykonania z okna Projektant Należy kliknąć przycisk na pasku narzędzi Początek» ! lub uruchom polecenie Żądanie/Uruchom. Wyniki selekcji danych zapytania wyświetlane są na ekranie w trybie tabelarycznym.

Tworzenie warunków selekcji

Lista operatorów używanych przy określaniu wyrażeń jest następująca:

Ø operatorzy porównania:


= (równa się)

<> (nie równe)

> (więcej)

>= (nie mniej)

< (mniej)

<= (nie więcej)


MIĘDZY– umożliwia ustawienie zakresu wartości. Składnia: Między"Wyrażenie" I„Wyrażenie” (na przykład: MIĘDZY 10 I 20 oznacza to samo, co wyrażenie logiczne >= 10 I<= 20).

W– pozwala określić listę wartości używanych do porównania (operandem jest lista ujęta w nawiasy). Na przykład: W(„Brześć”, „Mińsk”, „Grodno”) oznacza to samo, co wyrażenie logiczne „Brześć” LUB"Mińsk" LUB„Grodno”.

Ø łamigłówka operatorzy:

I(na przykład: >=10 ORAZ<=20)

LUB(Na przykład:<50 OR >100)

NIE(na przykład: Is Not Null – pole zawierające wartość).

Ø operatora TAK JAK– sprawdza zgodność tekst Lub Pola notatki według zadanego wzorca charakteru.

Szablonowa tabela znaków

Przykłady użycia operatora Tak jak:

JAK „C*”– linie rozpoczynające się od symbolu C;

JAK „[A - Z] #”– dowolny symbol od A do Z oraz cyfra;

JAK „[! 0 - 9 ABC] * # #”– linie rozpoczynające się od dowolnego znaku innego niż cyfra lub litery A, B, C i kończące się 2 cyframi;

Złożone kryteria próbkowania

Często trzeba wybierać rekordy według warunku ustawionego dla kilku pól tabeli lub kilku warunków dla jednego pola. W tym wypadku zastosuj „Ja-zapytania”(wybierz rekordy tylko wtedy, gdy spełnione są wszystkie warunki) i „LUB zapytania”(wybierz rekordy, gdy spełniony jest co najmniej jeden z warunków).

Podczas ustawiania „ Zapytanie OR» każdy warunek selekcji należy umieścić w osobnej linii Formularz zapytania.

Podczas ustawiania „ I-zapytanie» każdy warunek selekcji powinien być umieszczony w tej samej linii, ale w różnych polach Formularz zapytania.

Operacje te można określić jawnie za pomocą operatorów LUB I I odpowiednio.

Funkcje Iif() i Format().

Funkcjonować IIf(warunek; ifTrue; ifFalse)– zwraca jeden z dwóch argumentów w zależności od wyniku oceny wyrażenia.

Funkcjonować Format(wyrażenie; instrukcja formatowania)– zwraca ciąg zawierający wyrażenie sformatowane zgodnie z instrukcjami formatowania.

Do wyrażeń data/godzina W instrukcjach formatowania możesz używać następujących znaków:

I. Model hierarchiczny

II. Model sieciowy

III. Model relacyjny

W modelu relacyjnym informacje prezentowane są w formie prostokątnych tabel. Każda tabela składa się z wierszy i kolumn i ma unikalną nazwę w obrębie bazy danych. Z kolei każda linia ( nagranie) takiej tabeli zawiera informacje odnoszące się tylko do jednego konkretnego obiektu, a każda kolumna ( pole) ma unikalną nazwę swojej tabeli.

W przeciwieństwie do relacyjnych baz danych (RDB). hierarchiczny I modele sieciowe, pozwalają w dowolnym momencie organizować połączenia między tabelami. W tym celu RDB wdraża mechanizm klucz obcy. Każda tabela bazy danych ma co najmniej jedno pole, które służy jako łącze do innej tabeli. W terminologii RDB takie pola nazywane są polami klucza obcego. Za pomocą kluczy obcych można powiązać dowolne tabele bazy danych na każdym etapie pracy z bazą danych.


4. Relacyjny model danych

Relacyjna baza danych (RDB) to zbiór najprostszych dwuwymiarowych, logicznie powiązanych ze sobą tabel relacji, składający się z wielu pól i rekordów odzwierciedlających określony obszar tematyczny.

Relacyjny model danych zaproponował E. Codd, znany amerykański specjalista od baz danych. Podstawowe koncepcje tego modelu zostały po raz pierwszy opublikowane w 1970 roku. Będąc z wykształcenia matematykiem, Codd zaproponował wykorzystanie aparatu teorii mnogości (suma, przecięcie, różnica, iloczyn kartezjański) do przetwarzania danych. Pokazał, że każda reprezentacja danych sprowadza się do zbioru dwuwymiarowych tablic specjalnego typu, znanych w matematyce jako relacja (w języku angielskim – relacja, stąd nazwa – relacyjne bazy danych).

Jedną z głównych idei Codda było to, że połączenia między danymi powinny być ustanawiane zgodnie z ich wewnętrznymi związkami logicznymi. Drugą ważną zasadą zaproponowaną przez Codda jest to, że w systemach relacyjnych jedno polecenie może przetwarzać całe pliki danych, podczas gdy wcześniej jednym poleceniem można było przetwarzać tylko jeden rekord.

Podstawowe pojęcia dotyczące relacyjnych baz danych (RDB)

* Postawa– informacje o obiektach tego samego typu, np. o klientach, zamówieniach, pracownikach. W relacyjnej bazie danych relacja jest przechowywana w postaci tabeli.

* Atrybut– określona informacja o jakimś przedmiocie – np. adres klienta lub wynagrodzenie pracownika. Atrybut jest zwykle przechowywany jako kolumna (pole) stoły.

* Typ danych– pojęcie, które w modelu relacyjnym jest całkowicie równoważne odpowiedniemu pojęciu w językach algorytmicznych. Zbiór obsługiwanych typów danych jest określany przez system DBMS i może się znacznie różnić w zależności od systemu.

* Połączenie– sposób, w jaki informacje w jednej tabeli są powiązane z informacjami w innej tabeli. Relacje tworzone są za pomocą pasujących pól tzw klucz.

* Stowarzyszenie– Proces łączenia tabel lub zapytań w oparciu o dopasowanie wartości określonych atrybutów.

Zasady (normalizacja) budowy relacyjnej bazy danych

Normalizacja to proces reorganizacji danych poprzez eliminację powtarzających się grup i innych sprzeczności w celu doprowadzenia tabel do postaci umożliwiającej spójną i poprawną edycję danych. Ostatecznym celem normalizacji jest uzyskanie projektu bazy danych, w którym każdy fakt pojawia się tylko w jednym miejscu, tj. redundancja informacji jest wykluczona.

1. Każde pole dowolnej tabeli musi być unikalne.

2. Każda tabela musi mieć unikalny identyfikator ( główny klucz), które mogą składać się z jednego lub większej liczby pól tabeli.

3. Dla każdej wartości klucza podstawowego musi istnieć tylko jedna wartość w dowolnej kolumnie danych i wartość ta musi być powiązana z obiektem tabeli (tzn. w tabeli nie mogą znajdować się żadne dane, które nie są powiązane z obiektem tabeli). obiekt zdefiniowany przez klucz podstawowy, ale także informacje w tabeli muszą w pełni opisywać obiekt).

4. Powinna istnieć możliwość zmiany wartości dowolnego pola (nie zawartego w kluczu podstawowym), przy czym nie powinno to wiązać się ze zmianą innego pola (tzn. nie powinno być pól wyliczanych).

5. Systemy zarządzania bazami danych (DBMS)

Bazy danych utrzymywane są w środowisku komputerowym za pomocą oprogramowania – systemów zarządzania bazami danych, które stanowią zbiór ogólnych lub specjalistycznych narzędzi programowych i językowych niezbędnych do tworzenia baz danych na nośnikach maszynowych, ich aktualizowania i organizowania dostępu do nich przez różnych użytkowników w środowisku warunków przyjętej technologii przetwarzania danych.

DBMS - są to programy sterujące, które zapewniają wszelkie manipulacje bazami danych: tworzenie bazy danych, jej utrzymanie, korzystanie z niej przez wielu użytkowników itp., tj. wdrażają złożony zestaw funkcji do scentralizowanego zarządzania bazami danych i służą interesom użytkowników.

System DBMS można uznać za powłokę oprogramowania umieszczoną pomiędzy bazą danych a użytkownikiem. Zapewnia scentralizowaną kontrolę nad ochroną i integralnością danych, dostępem do danych, przetwarzaniem, raportowaniem opartym na bazach danych oraz innymi operacjami i procedurami.

System zarządzania relacyjnymi bazami danych (RDBMS)

Zestaw narzędzi do zarządzania RDB nazywa się system zarządzania relacyjną bazą danych , które mogą zawierać narzędzia, aplikacje, usługi, biblioteki, narzędzia do tworzenia aplikacji i inne komponenty. Dzięki połączeniu za pomocą wspólnych pól kluczowych informacje w bazie RDB można łączyć z wielu tabel w jeden zestaw wyników.

Główny Funkcje RDBMS to:

· Definicja danych– jakie informacje będą przechowywane, ustaw strukturę bazy danych i ich typ.

· Przetwarzanie danych– możesz wybrać dowolne pola, sortować i filtrować dane. Możesz łączyć dane i podsumowywać.

· Zarządzanie danymi– popraw i dodaj dane.

6. Ogólna charakterystyka SZBD ACCESS

Dostęp Microsoftu to kompletny funkcjonalnie relacyjny system zarządzania bazą danych, który zapewnia wszystkie niezbędne narzędzia do definiowania i przetwarzania danych, a także zarządzania nimi podczas pracy z dużymi wolumenami informacji. Jego różne wersje są częścią pakietu oprogramowania MS Office i działają w środowisku Windows (3.11/95/98/2000/XP).

Okno bazy danych w Accessie

Po utworzeniu nowego pliku bazy danych lub otwarciu istniejącego w obszarze roboczym okna Dostępu pojawia się okno bazy danych:


Relacyjna baza danych – podstawowe pojęcia

Często mówiąc o bazie danych, mają na myśli po prostu zautomatyzowane przechowywanie danych. Pomysł ten nie jest do końca słuszny. Dlaczego tak się dzieje, pokażemy poniżej.

Rzeczywiście, w wąskim znaczeniu tego słowa, baza danych to pewien zbiór danych niezbędnych do pracy (dane aktualne). Dane są jednak abstrakcją; nikt nigdy nie widział „tylko danych”; nie powstają ani nie istnieją samodzielnie. Dane są odzwierciedleniem obiektów w świecie rzeczywistym. Niech np. chcesz przechowywać informację o częściach przyjętych na magazyn. W jaki sposób obiekt świata rzeczywistego – część – będzie wyświetlany w bazie danych? Aby odpowiedzieć na to pytanie, musisz wiedzieć, które cechy lub aspekty części będą istotne i niezbędne w danym zadaniu. Mogą one obejmować nazwę części, jej wagę, wymiary, kolor, datę produkcji, materiał, z którego jest wykonana itp. W tradycyjnej terminologii obiekty świata rzeczywistego, o których informacja jest przechowywana w bazie danych, nazywane są bytami (niech to słowo nie przestraszy czytelnika – jest to termin powszechnie przyjęty), a ich rzeczywiste cechy nazywane są atrybutami.

Każdy atrybut określonego obiektu jest wartością atrybutu. Zatem część silnika ma atrybut masy o wartości 50, co odzwierciedla fakt, że silnik ten waży 50 kilogramów.

Błędem byłoby sądzić, że w bazie danych odzwierciedlane są tylko obiekty fizyczne. Jest w stanie wchłonąć informacje o abstrakcjach, procesach, zjawiskach - czyli o wszystkim, z czym człowiek spotyka się w swoich działaniach. Przykładowo w bazie danych można przechowywać informacje o zamówieniach na dostawę części do magazynu (choć nie jest to obiekt fizyczny, a proces). Atrybutami podmiotu „zamówienie” będzie nazwa dostarczanej części, liczba części, nazwa dostawcy, czas dostawy itp.

Obiekty w świecie rzeczywistym są ze sobą powiązane wieloma złożonymi zależnościami, które należy uwzględnić w działaniach informacyjnych. Na przykład części są dostarczane do magazynu przez ich producentów. Dlatego wśród atrybutów części konieczne jest uwzględnienie atrybutu „nazwa producenta”. To jednak nie wystarczy, ponieważ mogą być potrzebne dodatkowe informacje o producencie konkretnej części - jego adres, numer telefonu itp. Oznacza to, że baza danych musi zawierać nie tylko informacje o częściach i zamówieniach zakupu, ale także informacje o ich producentach. Ponadto baza danych musi odzwierciedlać powiązania pomiędzy częściami i producentami (każda część jest produkowana przez konkretnego producenta) oraz pomiędzy zamówieniami i częściami (każde zamówienie wydawane jest na konkretną część). Należy pamiętać, że w bazie danych muszą być przechowywane tylko istotne, istotne połączenia.

Zatem w szerokim tego słowa znaczeniu baza danych to zbiór opisów obiektów świata rzeczywistego i powiązań między nimi, istotnych dla określonego obszaru zastosowań. W dalszej części będziemy kontynuować tę definicję, wyjaśniając ją w miarę upływu czasu.

Relacyjny model danych

Mamy więc już pojęcie o tym, co jest przechowywane w bazie danych. Teraz musimy zrozumieć, w jaki sposób jednostki, atrybuty i relacje są odwzorowywane na struktury danych. Jest to określane na podstawie modelu danych.

Tradycyjnie wszystkie systemy DBMS są klasyfikowane w zależności od modelu danych, który stanowi ich podstawę. Zwyczajowo rozróżnia się modele danych hierarchiczne, sieciowe i relacyjne. Czasami uzupełniane są o model danych oparty na listach odwróconych. W związku z tym mówią o hierarchicznym, sieciowym, relacyjnym systemie DBMS lub DBMS opartym na odwróconych listach.

Pod względem rozpowszechnienia i popularności relacyjne systemy DBMS są dziś bezkonkurencyjne. Stały się one de facto standardem przemysłowym, dlatego też użytkownik krajowy będzie miał w swojej praktyce do czynienia z relacyjnym systemem DBMS. Przyjrzyjmy się pokrótce relacyjnemu modelowi danych, bez zagłębiania się w jego szczegóły.

Został opracowany przez Codda w latach 1969-70 na podstawie matematycznej teorii relacji i opiera się na systemie pojęć, z których najważniejsze to tabela, relacja, wiersz, kolumna, klucz podstawowy, klucz obcy.

Relacyjna baza danych to taka, w której wszystkie dane prezentowane są użytkownikowi w postaci prostokątnych tabel wartości danych, a wszelkie operacje na bazie danych sprowadzają się do manipulacji tabelami. Tabela składa się z wierszy i kolumn i ma unikalną nazwę w obrębie bazy danych. Tabela odzwierciedla typ obiektu (jednostki) świata rzeczywistego, a każdy jej wiersz reprezentuje konkretny obiekt. Zatem tabela Artykuł zawiera informacje o wszystkich częściach przechowywanych w magazynie, a jej wiersze to zestawy wartości atrybutów dla konkretnych części. Każda kolumna tabeli jest zbiorem wartości dla konkretnego atrybutu obiektu. Zatem kolumna Materiał reprezentuje zestaw wartości „Stal”, „Cyna”, „Cynk”, „Nikiel” itp. Kolumna Ilość zawiera nieujemne liczby całkowite. Wartości w kolumnie Waga są liczbami rzeczywistymi równymi masie części w kilogramach.

Wartości te nie pojawiają się z powietrza. Są one wybierane ze zbioru wszystkich możliwych wartości atrybutu obiektu, który nazywa się domeną. Zatem wartości w kolumnie materiału są wybierane ze zbioru nazw wszystkich możliwych materiałów - tworzyw sztucznych, drewna, metali itp. Dlatego zasadniczo niemożliwe jest, aby w kolumnie Materiał pojawiła się wartość, która nie istnieje w odpowiedniej domenie, na przykład „woda” lub „piasek”.

Każda kolumna ma nazwę, która jest zwykle zapisywana na górze tabeli ( Ryż. 1). Musi być unikalny w obrębie tabeli, ale różne tabele mogą zawierać kolumny o tej samej nazwie. Każda tabela musi mieć co najmniej jedną kolumnę; Kolumny ułożone są w tabeli według kolejności występowania ich nazw w momencie jej tworzenia. W przeciwieństwie do kolumn wiersze nie mają nazw; ich kolejność w tabeli nie jest określona, ​​a ich liczba jest logicznie nieograniczona.

Rysunek 1. Podstawowe pojęcia dotyczące baz danych.

Ponieważ wiersze w tabeli nie są uporządkowane, nie ma możliwości wybrania wiersza według jego pozycji - nie ma wśród nich „pierwszego”, „drugiego” ani „ostatniego”. Każda tabela ma jedną lub więcej kolumn, których wartości jednoznacznie identyfikują każdy z jej wierszy. Ta kolumna (lub kombinacja kolumn) nazywana jest kluczem podstawowym. W tabeli Części kluczem podstawowym jest kolumna Numer części. W naszym przykładzie każda część w magazynie posiada jeden numer, za pomocą którego pobierane są niezbędne informacje z tabeli Części. Dlatego w tej tabeli kluczem podstawowym jest kolumna Numer części. W tej kolumnie nie mogą znajdować się zduplikowane wartości - w tabeli Części nie powinny znajdować się wiersze posiadające tę samą wartość w kolumnie Numer części. Jeśli tabela spełnia ten wymóg, nazywa się ją relacją.

Relacja tabel jest najważniejszym elementem relacyjnego modelu danych. Jest obsługiwany przez klucze obce. Rozważmy przykład, w którym baza danych przechowuje informacje o zwykłych pracownikach (tabela Pracownik) i menedżerach (tabela Menedżer) w jakiejś organizacji (tabela Pracownicy) Ryż. 2). Kluczem podstawowym nagłówka tabeli jest kolumna Liczba (na przykład numer personelu). Kolumna Nazwisko nie może służyć jako klucz podstawowy, ponieważ w tej samej organizacji może pracować dwóch menedżerów o tych samych nazwiskach. Każdy pracownik podlega jednemu menadżerowi, co musi mieć odzwierciedlenie w bazie danych. Tabela Pracownik zawiera kolumnę Numer menedżera, a wartości w tej kolumnie wybierane są z kolumny Liczba tabeli Menedżer (patrz. Ryż. 2). Kolumna Numer menedżera jest kluczem obcym w tabeli Pracownik.

Rysunek 2. Relacja pomiędzy tabelami bazy danych.

Tabele nie mogą być przechowywane i przetwarzane, jeśli w bazie danych nie ma „danych o danych”, takich jak uchwyty do tabel, kolumn itp. Nazywa się je zwykle metadanymi. Metadane są również prezentowane w formie tabelarycznej i przechowywane w słowniku danych.

Oprócz tabel w bazie danych można przechowywać inne obiekty, takie jak wyświetlacze, raporty, widoki, a nawet programy użytkowe współpracujące z bazą danych.

Dla użytkowników systemu informacyjnego nie wystarczy, że baza danych po prostu odzwierciedla obiekty ze świata rzeczywistego. Ważne, aby taka refleksja była jednoznaczna i spójna. W tym przypadku mówi się, że baza danych spełnia warunek integralności.

Aby zapewnić poprawność i wzajemną spójność danych, na bazę danych nakładane są pewne ograniczenia, zwane ograniczeniami integralności danych.

Istnieje kilka rodzajów ograniczeń integralności. Wymagane jest na przykład, aby wartości w kolumnie tabeli były wybierane tylko z odpowiedniej domeny. W praktyce uwzględniane są również bardziej złożone ograniczenia integralności, na przykład integralność referencyjna. Jego istotą jest to, że klucz obcy nie może być wskaźnikiem do nieistniejącego wiersza w tabeli. Więzy integralności są implementowane za pomocą specjalnych środków, które zostaną omówione w sek.Serwer bazy danych .

Język SQL

Same dane w formie komputerowej nie są interesujące dla użytkownika, jeśli nie ma możliwości dostępu do nich. Dostęp do danych odbywa się w formie zapytań do bazy danych sformułowanych w standardowym języku zapytań. Obecnie dla większości systemów DBMS tym językiem jest SQL.

Pojawienie się i rozwój tego języka jako sposobu opisu dostępu do baz danych wiąże się z powstaniem teorii relacyjnych baz danych. Prototyp języka SQL powstał w 1970 roku w ramach projektu badawczego System/R, nad którym prace prowadzono w laboratorium IBM w Santa Teresa. Obecnie SQL jest standardowym interfejsem relacyjnego systemu DBMS. Jego popularność jest tak duża, że ​​twórcy nierelacyjnych systemów DBMS (na przykład Adabas) dostarczają swoim systemom interfejs SQL.

Język SQL ma oficjalny standard - ANSI/ISO. Większość programistów DBMS stosuje się do tego standardu, ale często rozszerza go, aby wdrożyć nowe możliwości przetwarzania danych. Nowe mechanizmy zarządzania danymi, które zostaną opisane w sek.Serwer bazy danych , można używać wyłącznie za pomocą specjalnych instrukcji SQL, które zazwyczaj nie są uwzględnione w standardzie językowym.

SQL nie jest tradycyjnym językiem programowania. Nie pisze się w nim programów, lecz zapytania do bazy danych. Dlatego SQL jest językiem deklaratywnym. Oznacza to, że można go wykorzystać do sformułowania tego, co należy uzyskać, ale nie może wskazać, w jaki sposób należy to zrobić. W szczególności w odróżnieniu od proceduralnych języków programowania (C, Pascal, Ada) język SQL nie posiada operatorów typu if-then-else, for, while itp.

Nie będziemy wchodzić w szczegóły dotyczące składni języka. Dotkniemy go tylko w zakresie niezbędnym do zrozumienia prostych przykładów. Za ich pomocą zostaną zilustrowane najciekawsze mechanizmy przetwarzania danych.

Zapytanie SQL składa się z jednej lub większej liczby instrukcji, jedna po drugiej, oddzielonych średnikiem. Tabela 1 poniżej zawiera listę najważniejszych operatorów zawartych w standardzie ANSI/ISO SQL.

Tabela 1. Podstawowe operatory SQL.

Zapytania SQL używają nazw, które jednoznacznie identyfikują obiekty bazy danych. W szczególności jest to nazwa tabeli (Detail), nazwa kolumny (Title), a także nazwy innych obiektów w bazie danych należących do typów dodatkowych (np. nazwy procedur i reguł), o czym będzie mowa w sek.Serwer bazy danych . Oprócz prostych stosuje się również nazwy złożone - np. kwalifikowana nazwa kolumny określa nazwę kolumny i nazwę tabeli, do której ona należy (Part.Weight). Dla uproszczenia w przykładach imiona będą pisane po rosyjsku, chociaż w praktyce nie jest to zalecane.

Każda kolumna w dowolnej tabeli przechowuje określone typy danych. Wyróżnia się podstawowe typy danych – ciągi znaków o stałej długości, liczby całkowite i rzeczywiste oraz dodatkowe typy danych – ciągi znaków o zmiennej długości, jednostki pieniężne, datę i godzinę, dane logiczne (dwie wartości – „TRUE” i „FALSE” ). W języku SQL można używać stałych liczbowych, łańcuchowych, znakowych oraz daty i godziny.

Spójrzmy na kilka przykładów.

Zapytanie „określ liczbę części na magazynie dla wszystkich typów części” realizuje się w następujący sposób:

WYBIERZ nazwę, ilość

Z Części;

Wynikiem zapytania będzie tabela z dwiema kolumnami - Nazwa i Ilość, które zostały pobrane z oryginalnej tabeli Części. Zasadniczo to zapytanie pozwala uzyskać pionowy rzut oryginalnej tabeli (ściślej, pionowy podzbiór zbioru wierszy tabeli). Ze wszystkich wierszy tabeli Części tworzone są wiersze zawierające wartości pobrane z dwóch kolumn - Nazwa i Ilość.

Zapytanie „Jakie części stalowe są na stanie?” sformułowane w SQL wygląda następująco:

Z części

GDZIE Materiał = „Stal”;

Wynikiem tego zapytania będzie także tabela zawierająca tylko te wiersze tabeli źródłowej, które w kolumnie Materiał mają wartość „Stal”. To zapytanie pozwala uzyskać rzut poziomy tabeli Part (gwiazdka w instrukcji SELECT oznacza wybranie wszystkich kolumn z tabeli).

Żądanie „określenia nazwy i ilości znajdujących się na stanie części, które są wykonane z tworzywa sztucznego i ważą mniej niż pięć kilogramów” będzie napisane w następujący sposób:

WYBIERZ nazwę, ilość

Z części

GDZIE Materiał = „Plastik”

I waga< 5;

Wynikiem zapytania jest tabela z dwiema kolumnami - Nazwa, Ilość, która zawiera nazwę i liczbę części wykonanych z tworzywa sztucznego i ważących mniej niż 5 kg. Zasadniczo operacja pobierania próbek to operacja polegająca na pierwszym utworzeniu rzutu poziomego (znajdź wszystkie wiersze tabeli części, dla których Materiał = „Plastik” i Waga< 5), а затем вертикальной проекции (извлечь Название и Количество из выбранных ранее строк).

Jednym z narzędzi zapewniających szybki dostęp do tabel są indeksy. Indeks to struktura bazy danych będąca wskaźnikiem do określonego wiersza w tabeli. Indeksu bazy danych używa się w taki sam sposób, jak indeksu w książce. Zawiera wartości pobrane z jednej lub większej liczby kolumn danego wiersza tabeli oraz odwołanie do tego wiersza. Wartości w indeksie są uporządkowane, co pozwala SZBD na szybkie przeszukanie tabeli.

Załóżmy, że do bazy Warehouse formułowane jest zapytanie:

WYBIERZ Nazwa Ilość, Materiał

Z części

GDZIE Liczba = „T145-A8”;

Jeżeli dla danej tabeli nie ma indeksów, to aby wykonać to zapytanie, DBMS musi przeskanować całą tabelę Części, wybierając kolejno z niej wiersze i sprawdzając warunek wyboru dla każdego z nich. W przypadku dużych tabel wykonanie takiego zapytania zajmie bardzo dużo czasu.

Jeżeli w kolumnie Szczegóły numeru tabeli został wcześniej utworzony indeks, wówczas czas wyszukiwania w tabeli zostanie skrócony do minimum. Indeks będzie zawierał wartości z kolumny Liczba oraz odnośnik do wiersza z tą wartością w tabeli Części. Wykonując zapytanie, SZBD najpierw znajdzie w indeksie wartość „T145-A8” (i zrobi to szybko, ponieważ indeks jest uporządkowany, a jego wiersze są małe), a następnie za pomocą łącza w indeksie określi fizyczna lokalizacja przeszukiwanego wiersza.

Indeks tworzony jest za pomocą instrukcji SQL CREATE INDEX. W tym przykładzie operator

UTWÓRZ UNIKALNY INDEKS Indeks części

Część ON (liczba);

utworzy indeks o nazwie „Indeks części” w kolumnie Numer części tabeli.

Użytkownika DBMS nie interesują pojedyncze instrukcje SQL, ale pewna ich sekwencja, zaprojektowana jako jedna całość i mająca sens z jego punktu widzenia. Każda taka sekwencja instrukcji SQL implementuje określoną akcję w bazie danych. Odbywa się to w kilku krokach, w każdym z nich wykonywane są określone operacje na tabelach bazy danych. Zatem w systemie bankowym przeniesienie określonej kwoty z rachunku krótkoterminowego na konto długoterminowe odbywa się w kilku operacjach. Wśród nich jest wypłata kwoty z rachunku krótkoterminowego i zaksięgowanie jej na rachunku długoterminowym.

Jeśli podczas tej akcji nastąpi awaria, na przykład, gdy pierwsza operacja zostanie zakończona, ale druga nie, wówczas pieniądze zostaną utracone. Dlatego też wszelkie działania na bazie danych należy wykonać w całości lub w ogóle nie wykonywać. Ta akcja nazywa się transakcją.

Przetwarzanie transakcji opiera się na dzienniku, który służy do wycofywania transakcji i przywracania stanu bazy danych. Więcej szczegółów na temat transakcji zostanie omówione w sek.Przetwarzanie transakcji .

Kończąc dyskusję na temat języka SQL, jeszcze raz podkreślmy, że jest to język zapytań. Niemożliwe jest napisanie złożonej aplikacji współpracującej z bazą danych. W tym celu współczesne SZBD wykorzystują język czwartej generacji (Forth Generation Language – 4GL), który posiada zarówno podstawowe możliwości języków proceduralnych trzeciej generacji (3GL), takich jak C, Pascal, Ada, jak i możliwość osadzania SQL instrukcje do tekstu programu, a także elementy sterujące interfejsu użytkownika (menu, formularze, dane wprowadzane przez użytkownika itp.). Obecnie 4GL jest jednym z de facto standardów narzędzi do tworzenia aplikacji bazodanowych.