Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Co to jest schemat bazy danych?

W kategoriach bazy danych schemat (wymawiane „skee-muh” lub „skee-mah”) to organizacja i struktura bazy danych. Oba schematyschemat mogą być używane w liczbie mnogiej.

Schemat zawiera obiekty schematu, którymi mogą być tabele, kolumny, typy danych, widoki, procedury składowane, relacje, klucze podstawowe, klucze obce itp.

Schemat bazy danych można przedstawić na diagramie wizualnym, który przedstawia obiekty bazy danych i ich wzajemne relacje.

Powyżej znajduje się prosty przykład diagramu schematu. Pokazuje trzy tabele wraz z ich typami danych, relacjami między tabelami, a także ich kluczami podstawowymi i kluczami obcymi.

Oto bardziej złożony przykład schematu bazy danych:

W tym przypadku diagram schematu został podzielony na cztery sekcje:

  • Dane klienta :Dane dotyczące klientów, takie jak ich imię i nazwisko, adres itp.
  • Biznes :Dane wymagane do prowadzenia działalności, takie jak personel, lokalizacje sklepów, szczegóły płatności itp.
  • Zapasy :Szczegóły dotyczące wszystkich produktów. W tym przypadku produktami są filmy, więc zawiera dane, takie jak tytuł filmu, jego kategoria, aktorzy itp.
  • Wyświetlenia :Specjalny widok na dane wykorzystywane do oceny.

Patrząc na te diagramy schematów, możemy przejść dalej i utworzyć bazę danych. W rzeczywistości MySQL Workbench umożliwia wygenerowanie CREATE TABLE skrypt prosto z diagramu. Następnie możesz użyć skryptu do utworzenia bazy danych. Możesz nawet przekształcić bazę danych w diagram.

Czy schemat i baza danych to to samo?

Jeśli chodzi o bazy danych, jest dużo zamieszania na temat schematów. Często pojawia się pytanie, czy istnieje różnica między schematami a bazami danych, a jeśli tak, to jaka jest różnica.

Zależy od dostawcy

Jednym z powodów tego zamieszania jest to, że systemy baz danych mają tendencję do podejścia do schematów na swój własny sposób.

  • Dokumentacja MySQL stwierdza, że ​​fizycznie schemat jest synonimem bazy danych . Dlatego schemat i baza danych to to samo .
  • Jednak dokumentacja Oracle Database stwierdza, że ​​niektóre obiekty mogą być przechowywane w bazie danych, ale nie w schemacie. Dlatego schemat i baza danych to dwie różne rzeczy .
  • I zgodnie z tym artykułem technicznym dotyczącym SQL Server, schemat jest oddzielną jednostką wewnątrz bazy danych. Są to więc dwie różne rzeczy .

Tak więc, w zależności od używanego RDBMS, schematy i bazy danych mogą, ale nie muszą być tym samym.

A co ze standardem SQL?

Standard ISO/IEC 9075-1 SQL definiuje schemat jako trwały, nazwany zbiór deskryptorów .

Jeśli byłeś wcześniej zdezorientowany, mam nadzieję, że nie tylko go pogorszyłem…

Szerokie znaczenie

Innym powodem zamieszania jest prawdopodobnie fakt, że termin schema ma tak szerokie znaczenie. Ma różne konotacje w różnych kontekstach.

Schemat słów pochodzi od greckiego słowa skhēma , co oznacza formularzfigura , kształt lub plan .

Schemat jest używany w psychologii do opisania zorganizowanego wzorca myślenia lub zachowania, który organizuje kategorie informacji i relacje między nimi.

Przed zaprojektowaniem bazy danych musimy również przyjrzeć się kategoriom informacji i relacjom między nimi. Musimy stworzyć koncepcyjny schemat zanim zaczniemy od fizycznego schemat w DBMS.

W rozwoju oprogramowania, omawiając schematy, można mówić o koncepcji schematy, fizyczne schematy, wewnętrzne schematy, zewnętrzne schematy, logiczne schematy itp. Każdy z nich ma swoje specyficzne znaczenie.

Definicje schematów przez DBMS

Oto krótka definicja schematu z trzech wiodących systemów baz danych:

MySQL

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.

….

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

Nazwy tabel, pól, typów danych oraz kluczy podstawowych i obcych bazy danych.

"Słowniczek". Dokumentacja techniczna SQL Server 2016. Sieć programistów Microsoft. 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.

Źródło:„Obiekty bazy danych”. Dokumentacja online bazy danych Oracle 12c, wydanie 1 (12,1). Centrum pomocy Oracle. Pobrano 6 czerwca 2016.

Ten artykuł na temat definicji schematów DBMS zawiera więcej szczegółów.

Tworzenie schematów

Pomimo różnic w definiowaniu schematów, każdy z trzech wyżej wymienionych DBMS obsługuje CREATE SCHEMA oświadczenie.

I na tym kończy się podobieństwo.

MySQL

W MySQL, CREATE SCHEMA tworzy bazę danych.

Dzieje się tak, ponieważ CREATE SCHEMA jest synonimem CREATE DATABASE . Innymi słowy, możesz użyć CREATE SCHEMA lub CREATE DATABASE zrobić to samo.

Baza danych Oracle

W bazie danych Oracle CREATE SCHEMA instrukcja nie tworzy schematu. Dzieje się tak, ponieważ schemat jest już utworzony dla każdego użytkownika bazy danych.

W Oracle CREATE USER instrukcja tworzy schemat.

W Oracle CREATE SCHEMA instrukcja umożliwia wypełnienie schematu tabelami i widokami oraz nadawanie uprawnień do tych obiektów bez konieczności wydawania wielu instrukcji SQL w wielu transakcjach.

Serwer SQL

W SQL Server CREATE SCHEMA utworzy schemat o nazwie, którą mu nadasz.

W przeciwieństwie do MySQL, CREATE SCHEMA instrukcja tworzy schemat, który jest zdefiniowany oddzielnie od bazy danych.

W przeciwieństwie do Oracle, CREATE SCHEMA instrukcja faktycznie tworzy schemat.

W SQL Server, po utworzeniu schematu, możesz dodać do niego użytkowników i obiekty.

Wniosek

Termin schemat mogą być używane w wielu różnych kontekstach. W kontekście tworzenia schematów w określonym systemie zarządzania bazą danych musisz pracować z tym, jak DBMS definiuje schematy.

A kiedy przełączysz się na nowy DBMS, sprawdź, jak ten system definiuje schematy.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak obciąć tabelę z ograniczeniami klucza obcego?

  2. Zarządzanie kontami użytkowników, role, uprawnienia, uwierzytelnianie PHP i MySQL - Część 4

  3. MySQL:Jak wielokrotnie dołączać do tego samego stołu?

  4. Jak zmienić rozmiar kolumny w MySQL?

  5. Normalizacja w MYSQL