Jaka jest różnica między schematem a tabelą i bazą danych?

To jest prawdopodobnie n00blike (lub gorzej) pytanie. Ale zawsze postrzegałem schemat jako definicję tabeli w bazie danych. Jest to błędne lub nie do końca poprawne. Niewiele pamiętam z moich kursów bazodanowych.

Author: Christopher Rapcewicz, 2008-11-18

13 answers

Schemat : baza danych : Tabela :: plan piętra: Dom : pokój

 198
Author: MusiGenesis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-01 13:36:07

A schemat relacji jest logiczną definicją tabeli-określa jaka jest nazwa tabeli oraz jaka jest nazwa i typ każdej kolumny. To jak plan lub plan. Schemat bazy danych jest zbiorem schematów relacji dla całej bazy danych.

A Tabela jest strukturą zawierającą kilka wierszy (aka "krotki"), z których każdy ma atrybuty zdefiniowane przez schemat. Tabele mogą również zawierać indeksy, które pomagają w wyszukiwaniu wartości na niektórych kolumny.

A baza danych jest formalnie dowolnym zbiorem danych. W tym kontekście baza danych byłaby zbiorem tabel. A DBMS (System zarządzania bazami danych) to oprogramowanie (takie jak MySQL, SQL Server, Oracle itp.), które zarządza i uruchamia bazę danych.

 98
Author: Ian Varley,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-18 13:49:56

W skrócie, schemat jest definicją dla całej bazy danych, więc zawiera tabele, widoki, procedury składowane, indeksy, klucze podstawowe i obce itp.

 14
Author: Graeme Perrow,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-18 13:48:45

Wykazano, że ten konkretny Post odnosi się tylko do Oracle i definicja schematu zmienia się, gdy w kontekście innego DB.

Prawdopodobnie coś w rodzaju po prostu wygooglować, ale FYI terminy wydają się różnić w swoich definicjach, co jest najbardziej irytujące:)

W Oracle baza danych jest bazą danych. W swojej głowie pomyśl o tym jako o plikach danych i dziennikach ponownego wykonywania oraz rzeczywistej fizycznej obecności na dysku samej bazy danych (tzn. nie instancji)

A Schemat jest efektywnie użytkownikiem. Dokładniej, jest to zestaw tabel / procs / indexes itp należący do użytkownika. Inny użytkownik ma inny schemat (tabele, które posiada), jednak użytkownik może również zobaczyć dowolne Schematy, na których ma wybrane przywileje. Tak więc baza danych może składać się z setek schematów, a każdy schemat setki tabel. Możesz mieć tabele o tej samej nazwie w różnych schematach, które znajdują się w tej samej bazie danych.

Tabela jest tabelą, zbiorem wierszy i kolumn zawierających dane i jest zawarte w schematach.

Definicje mogą być różne na przykład w SQL Server. Nie jestem tego świadoma.

 10
Author: Robert,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-18 03:49:16

Schemat zachowuje się jak obiekt nadrzędny, jak widać w świecie OOP. więc to nie jest sama baza danych. może ten link jest przydatny.

Ale w MySQL te dwa są równoważne. Baza słów kluczowych lub bazy danych można go zastąpić schematem lub schematami wszędzie tam, gdzie się pojawia. Przykłady:

  • CREATE DATABASE CREATE SCHEMA
  • POKAŻ BAZY DANYCH POKAŻ SCHEMATY

Dokumentacja MySQL

Schema & DATABASE terms are something DBMS zależny.

A tabela jest zbiorem elementów danych (wartości), który jest zorganizowany za pomocą modelu pionowych kolumn (które są identyfikowane za pomocą ich nazwy) i poziomych wierszy. Baza danych zawiera jedną lub więcej tabel . I przechowujesz swoje dane w tych tabelach. Tabele mogą być ze sobą powiązane (patrz tutaj ).

 7
Author: earthdan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-15 09:40:00

Więcej o schematach:

W SQL 2005 schemat jest sposobem grupowania obiektów. Jest to kontener, do którego można umieszczać obiekty. Ludzie mogą posiadać ten obiekt. Możesz przyznać prawa na schemacie.

W 2000 roku schemat był odpowiednikiem użytkownika. Teraz złamał się wolny i jest bardzo przydatny. Możesz wrzucić wszystkie PROCKI użytkownika do określonego schematu, a PROCKI administratora do innego. Przyznaj EXECUTE odpowiedniemu użytkownikowi/roli i koniec z przyznawaniem EXECUTE na określonych procedurach. Nieźle.

Zapis kropki przebiegałby tak:

Serwer.Baza danych.Schemat.Obiekt

LUB

Myserver01Adventureworks.Księgowość.Fasola

 2
Author: Sam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-18 20:46:41

A {[0] } jest zbiorem obiektów bazy danych, który zawiera również struktury logiczne. Posiada nazwę użytkownika, który jest jego właścicielem. A database może mieć dowolną liczbę schematów. Jedna tabela z bazy danych może pojawić się w dwóch różnych schematach o tej samej nazwie. Użytkownik może przeglądać dowolny schemat, dla którego został przypisany select privilege.

 2
Author: Iswarya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-09 17:40:13

W oracle Schema jest jednym użytkownikiem w jednej bazie danych,na przykład scott jest jednym schematem w bazie danych ORCL. W jednej bazie danych możemy mieć wiele schematów takich jak scott

 1
Author: prasadj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-09 06:04:28

Jak to ładnie ujął MusiGenesis, w większości baz danych:

Schema : database: table:: floor plan : house: room

Ale w Oracle może być łatwiej:

Schema : database: table:: owner : house: room

 1
Author: cmrust,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-12 02:50:26

Schematy zawierają bazy danych.

Bazy danych są częścią schematu.

Czyli schematy > bazy danych.

Schematy zawierają widoki, procedury składowane, bazy danych, wyzwalacze itp.

 0
Author: Rafael Lopes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-04 16:02:42

Schemat nie jest planem dla całej bazy danych. Jest to plan/kontener dla podzbioru obiektów (np.tabel) wewnątrz bazy danych A.

oznacza to, że możesz mieć wiele obiektów(np. tabele) wewnątrz jednej bazy danych, które nie muszą należeć do tej samej kategorii funkcjonalnej. Możesz więc grupować je pod różnymi schematami i nadawać im różne uprawnienia dostępu użytkownika.

powiedział, że nie jestem pewien, czy można mieć jedną tabelę pod wieloma schematami. Studio Zarządzania UI daje listę rozwijaną do przypisania schematu do tabeli, a tym samym umożliwia wybranie tylko jednego schematu. Myślę, że jeśli zrobisz to za pomocą TSQL, może to utworzyć 2 (lub wiele) różnych obiektów z różnymi identyfikatorami obiektów.

 0
Author: Gadam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-27 16:01:43

Baza danych Schemat jest sposobem logicznego grupowania obiektów, takich jak tabele, widoki, procedury składowane itp. Pomyśl o schemacie jako kontenerze obiektów. Tabele są zbiorami wierszy i kolumn. połączenie wszystkich tabel tworzy db.

 0
Author: vivek chandel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-18 09:11:42

W przeciwieństwie do niektórych z powyższych odpowiedzi, oto moje zrozumienie oparte na doświadczeniu z każdą z nich:

  • MySQL: database/schema :: table
  • SQL Server: database :: (schema/namespace ::) table
  • Wyrocznia: database/schema/user :: (tablespace ::) table

Proszę mnie poprawić, czy tablespace jest opcjonalne, czy nie z Oracle, dawno nie pamiętam ich używania.

 0
Author: Sridhar-Sarnobat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-14 21:21:02