В MySQL такого не было, начал пользоваться postgresql увидел новое понятие схем.
Не понимаю для чего они нужны, при подключении из программ они обычно не указываются, и используется public по умолчанию.
В чем задумка схем, для чего они вообще используются?
SQL
Зачем нужны схемы (public) в postgresql?
из доков:
There are several reasons why one might want to use schemas:
To allow many users to use one database without interfering with each other.
To organize database objects into logical groups to make them more manageable.
Third-party applications can be put into separate schemas so they do not collide with the names of other objects.
Schemas are analogous to directories at the operating system level, except that schemas cannot be nested.
https://www.postgresql.org/docs/current/ddl-schemas.html
ну и там дальше про public...
There are several reasons why one might want to use schemas:
To allow many users to use one database without interfering with each other.
To organize database objects into logical groups to make them more manageable.
Third-party applications can be put into separate schemas so they do not collide with the names of other objects.
Schemas are analogous to directories at the operating system level, except that schemas cannot be nested.
https://www.postgresql.org/docs/current/ddl-schemas.html
ну и там дальше про public...
В MySQL схемы есть, но называются они "базы данных". Везде, где в командах MySQL пишется DATABASE, подразумевается SCHEMA. И если ты вместо DATABASE напишешь SCHEMA, MySQL выполнит команду с точно таким же результатом.
А вот слоя баз данных - в смысле стандарта SQL - в MySQL нет. От слова "совсем".
Так что относись к схеме public в PostgreSQL как к создаваемой по умолчанию базе в MySQL.
Схемы нужны для того, чтобы разделять таблицы по логическим секциям и при этом не потерять возможность обращения к таблицам разных секций через одно подключение к БД. В том числе, для использования таблиц разных секций в одном SQL-запросе.
А вот базы данных полностью изолированы друг от друга. Через подключение к БД невозможно обратиться к схемам и таблицам другой БД.
А вот слоя баз данных - в смысле стандарта SQL - в MySQL нет. От слова "совсем".
Так что относись к схеме public в PostgreSQL как к создаваемой по умолчанию базе в MySQL.
Схемы нужны для того, чтобы разделять таблицы по логическим секциям и при этом не потерять возможность обращения к таблицам разных секций через одно подключение к БД. В том числе, для использования таблиц разных секций в одном SQL-запросе.
А вот базы данных полностью изолированы друг от друга. Через подключение к БД невозможно обратиться к схемам и таблицам другой БД.
Похожие вопросы
- Postgresql Как правильно наладить связь между таблицами в базк данныъ?
- Postgresql ввод данных пользователем
- как в PostgreSQL(!) сделать группировку по одному полю но вывести в результат остальные поля из таблицы
- PostgreSQL - концепция хранения данных
- PostgreSQL Extensions. С помощью модуля tablefunc получите из таблицы projects базы HR
- Зачем нужны primary key и foreign key?
- Почему так нужен mysql?
- Вопрос к IT-шникам, расскажите про SQL Сколько времени нужно что бы ним овладеть? Для чего он нужен QA-ям ?
- Добрый день! Нужен взгляд специалиста в области СУБД. Буду создавать базу данных комплектующих пк.
- Нужна помощь по курсовой. Тема Базы данных