Różnica pomiędzy schematem / bazą danych w MySQL

Czy jest różnica między schematem a bazą danych w MySQL? W SQL Server baza danych jest kontenerem wyższego poziomu w stosunku do schematu.

Czytałem, że Create Schema i Create Database robią zasadniczo to samo w MySQL, co prowadzi mnie do przekonania, że schematy i bazy danych to różne słowa dla tych samych obiektów.

Author: AakashM, 2012-07-23

7 answers

Zgodnie z definicją w słowniku MySQL:

W MySQL, fizycznie, a schemat jest synonimem baza danych. Możesz zastąpić słowo kluczowe SCHEMA zamiast DATABASE w składni MySQL SQL, na przykład używając CREATE SCHEMA zamiast CREATE DATABASE.

Niektóre inne produkty bazodanowe wyróżniają się. Na przykład w produkcie bazy danych Oracle, a schemat przedstawia tylko część bazy danych: tabele i inne obiekty należące do jednego użytkownika.

 364
Author: eggyal,
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-07-23 18:32:06

Zależy od serwera bazy danych. MySQL nie obchodzi, to w zasadzie to samo.

Oracle, DB2, inne rozwiązania bazodanowe na poziomie przedsiębiorstwa wyróżniają się. Zwykle schemat jest zbiorem tabel , a baza danych jest zbiorem schematów.

 68
Author: user2631022,
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
2016-05-03 16:03:51

Odwołanie do Dokumentacja MySql ,

CREATE DATABASE tworzy bazę danych o podanej nazwie. Aby skorzystać z tego oświadczenie, potrzebujesz uprawnienia CREATE dla bazy danych. Utwórz SCHEMA jest synonimem CREATE DATABASE od MySQL 5.0.2.

 19
Author: Akash KC,
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-07-23 18:34:02

PostgreSQL obsługuje schematy, które są podzbiorem bazy danych: https://www.postgresql.org/docs/current/static/ddl-schemas.html

Baza danych zawiera jeden lub więcej nazwanych schematów, które z kolei zawierają stoły. Schematy zawierają również inne rodzaje nazwanych obiektów, w tym typy danych, funkcje i operatory. Można użyć tej samej nazwy obiektu w różnych schematach bez konfliktu; na przykład zarówno schemat 1 jak i myschema może zawierać tabele o nazwie mytable. W przeciwieństwie do bazy danych, Schematy nie są sztywno oddzielone: użytkownik może uzyskać dostęp do obiektów w dowolnym z Schematy w bazie danych, do których są podłączone, jeśli mają uprawnienia aby to zrobić.

Schematy są analogiczne do katalogów na poziomie systemu operacyjnego, z tym że schematów nie można zagnieżdżać.

Moim skromnym zdaniem MySQL nie jest referencyjną bazą danych. Nigdy nie należy cytować MySQL dla wyjaśnienia. MySQL implementuje Niestandardowy SQL i czasami twierdzi, że funkcje, których nie wsparcie. Na przykład w MySQL CREATE schema utworzy tylko bazę danych. To naprawdę wprowadza użytkowników w błąd.

Ten rodzaj słownictwa jest nazywany "MySQLism" przez DBAs.

 9
Author: Jean-Michel P.,
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-14 09:52:40

W MySQL Schemat jest synonimem baza danych. To dość mylące dla początkujących ludzi, którzy przeskakują do MySQL i już pierwszego dnia znaleźć słowo Schemat, więc faceci nie ma się czym martwić, ponieważ oba są takie same.

Kiedy uruchamiasz MySQL po raz pierwszy, musisz utworzyć bazę danych (jak każdy inny system bazodanowy) do pracy, dzięki czemu możesz utworzyć schemat który jest niczym innym jak utworzyć bazę danych

W jakimś innym systemie bazodanowym schemat reprezentuje część bazy danych lub zbiór tabel, a zbiór schematów jest bazą danych.

 7
Author: Riz,
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-02-13 14:48:19

Tak, ludzie używają tych terminów zamiennie w odniesieniu do MySQL. Choć często usłyszysz ludzie niewłaściwie odnoszą się do całego serwera bazy danych jako bazy danych.

 4
Author: Mike Brant,
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-07-23 18:28:43

Microsoft SQL Server na przykład Schematy odnoszą się do pojedynczego użytkownika i są kolejnym poziomem kontenera w kolejności Wskazywania serwera, bazy danych, schematu, tabel i obiektów.

Na przykład, gdy zamierzasz zaktualizować dbo.table_a i składnia nie jest pełna, np. Aktualizacja tabeli.a system DBMS nie może zdecydować się na użycie zamierzonej tabeli. Zasadniczo domyślnie DBMS będzie używać myuser.table_a

 0
Author: EliD,
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-01 19:27:34