Różne systemy zarządzania bazami danych definiują schemat na ich własny sposób. Może to utrudnić programistom baz danych dokładne określenie, czym jest schemat – zwłaszcza podczas przełączania między różnymi systemami DBMS.
Ten artykuł zawiera definicje używane przez trzy wiodące systemy baz danych.
MySQL
Dokumentacja MySQL definiuje schemat zarówno z koncepcyjnego, jak i fizycznego punktu widzenia.
Koncepcyjny
Koncepcyjnie schemat to zestaw powiązanych ze sobą obiektów bazy danych, takich jak tabele, kolumny tabel, typy danych kolumn, indeksy, klucze obce i tak dalej. Obiekty te są połączone za pomocą składni SQL, ponieważ kolumny tworzą tabele, klucze obce odnoszą się do tabel i kolumn i tak dalej. W idealnym przypadku są one również połączone logicznie, współpracując ze sobą w ramach zunifikowanej aplikacji lub elastycznego frameworka. Na przykład schemat_informacji i performance_schema bazy danych używają „schematu” w swoich nazwach, aby podkreślić bliskie relacje między zawartymi w nich tabelami i kolumnami.
Fizyczne
Następnie wskazuje się, że z fizycznego punktu widzenia nie ma rozróżnienia między schematami a bazami danych:
W MySQL fizycznie schemat jest synonimem bazy danych . Możesz zastąpić słowo kluczowe SCHEMA
zamiast DATABASE
w składni MySQL SQL, na przykład przy użyciu CREATE SCHEMA
zamiast CREATE DATABASE
.
Źródło:„Słowniczek MySQL”. Podręcznik MySQL 5.7. MySQL. Pobrano 6 czerwca 2016.
Serwer SQL
Słownik
Schemat bazy danych
Nazwy tabel, pól, typów danych oraz kluczy podstawowych i obcych bazy danych.
Źródło:„Słownik”. Dokumentacja techniczna SQL Server 2016. Sieć programistów Microsoft. Pobrano 6 czerwca 2016.
Artykuł techniczny dotyczący SQL Server
Ten artykuł o schematach obiektów bazy danych wyraźnie rozróżnia użytkownika bazy danych od schematu (jest to przeciwieństwo tego, jak Oracle definiuje schematy – poniżej).
Schemat to odrębna przestrzeń nazw ułatwiająca separację, zarządzanie i własność obiektów bazy danych.
i
Obiekt należący do użytkownika bazy danych nie jest już powiązany z tym użytkownikiem. Obiekt należy teraz do schematu – kontenera, który może pomieścić wiele obiektów bazy danych.
i
Ta separacja oznacza, że obiekty i schematy można tworzyć przed dodaniem użytkowników do bazy danych. Oznacza to również, że użytkownik może zostać usunięty bez upuszczania obiektów należących do tego użytkownika.
Źródło:„Najlepsze praktyki dotyczące serwera SQL — Implementacja schematów obiektów bazy danych”. Artykuł w witrynie Microsoft TechNet. Opublikowano:listopad 2008. Pobrano 6 czerwca 2016.
Baza danych Oracle
System schematów bazy danych Oracle różni się znacznie od innych systemów. Schemat Oracle jest bardzo powiązany z użytkownikiem bazy danych.
Schemat to zbiór logicznych struktur danych lub obiektów schematu. Właścicielem schematu jest użytkownik bazy danych i ma taką samą nazwę jak ten użytkownik. Każdy użytkownik posiada jeden schemat.
Oracle rozróżnia obiekty schematu i obiekty nieschematowe . Innymi słowy, niektóre obiekty bazy danych nie mogą być zawarte w schemacie.
Obiekty schematu
W Oracle Database obiekty schematu zawierać następujące elementy:
- Klastry
- Ograniczenia
- Linki do bazy danych
- Wyzwalacze bazy danych
- Wymiary
- Zewnętrzne biblioteki procedur
- Tabele zorganizowane według indeksu
- Indeksy
- Typy indeksów
- Klasy Java, zasoby Java, źródła Java
- Zmaterializowane widoki
- Dzienniki widoku zmaterializowanego
- Modele górnicze
- Tabele obiektów
- Typy obiektów
- Widoki obiektów
- Operatorzy
- Pakiety
- Sekwencje
- Funkcje składowane, procedury składowane
- Synonimy
- Stoły
- Widoki
Obiekty nonschema
W Oracle Database następujące obiekty są obiektami nieschematycznymi :
- Konteksty
- Katalogi
- Edycje
- Przywróć punkty
- Role
- Segmenty wycofania
- Przestrzenie tabel
- Użytkownicy
Źródło:„Obiekty bazy danych”. Dokumentacja online bazy danych Oracle 12c, wydanie 1 (12,1). Centrum pomocy Oracle. Pobrano 6 czerwca 2016.