estou querendo criar um sistema para gerenciamento de escolas. ate ai tudo bem…so que sempre que faço um sistema eu uso apenas um banco de dado. crio as tabelas no mysql e tals. só que queria criar um sistema onde o usuário fosse “a escola”, ou seja, vou cadastrar vareas escolas e cada uma terá o seu perfil para gerenciar seus alunos e professores. A duvida é a seguinte: Como eu crio um banco onde se possa ter perfis diferentes para cada escola?
Banco de dados relacional é o tipo de banco de dados que você está utilizando, baseado em tabelas e em estruturas/dados gerenciados por SQL.
Oracle, Postgres, MySQL, MariaDB, SQL Server são todos relacionais.
Existem bancos de dados não relacionais, normalmente definidos pelo nome NoSQL (Not Only SQL), como Cassandra e MongoDB.
Schemas podem ser entendidas como divisões dentro destes bancos de dados relacionais.
P.S.: Como você tem o MySQL, eu sugeriria instalar o MySQL Workbench. Vai facilitar a tua vida.
Não entendi muito bem a sua pergunta, mas você irá conectar no banco com o usuário e senha de um schema criado, sendo assim aquele usuário só terá acesso ao schema que você permitir.
Apesar de não ser isso, nesse primeiro momento pense no schema como um login com permissões de quais tabelas você poderá acessar e visualizar.
Você terá um banco de dados onde existem as tabelas.
tabela1, tabela2, tabela3, tabela4.
Todas essas tabelas estão dentro do mesmo banco.
Mas você precisa dar acesso apenas a tabela1 e tabela2 a um usuário.
Você pode criar um schema e atribuir essas tabelas a ele.
E ao criar um novo usuário, você permite que ele visualize e faça alterações apenas esse Schema(tabela1 e tabela2).
Eu concordo, mas ele queria criar apenas um banco e dar acessos diferentes a tabelas para aplicações que utilizassem o MESMO banco e aqui na empresa nos utilizamos os schemas pra isso.
Então eu crio o banco de dados e as tabelas. os meus clientes iram acessar o mesmo banco com senha e login. mas nem todos teram acesso as tabelas, somente aquelas que eu permitir…pra isso eu crio os schemas que darão permissao a um usuario especifico.
Pergunta:
quero criar um sistema de gerenciamento de farmacias. o Usuario seria as farmacias, e cada uma delas tera seu estoque de remedios e funcionarios e outra funcionalidades. os schemas dentro das tabelas serviriam para cada farmacia acessar seu perfil. A pergunta é: fazendo assim, eu teria que modelar o banco manualmente?
Não, você pode usar frameworks para criar as tabelas, pois com schemas você pode ter duas tabelas de mesmo nome dentro de um banco, pois ele estará vinculada ao schema(Que pode ser entendido como vários bancos de dados dentro de um banco de dados).
FUNCIONA…kkkkkkkkkkkkk…valeu irmão. fiz exatamente como vc falou…criei duas tabelas iguais e nomeei de TabelaUs1 e TabelaUs2, (vinculadas aos schemas ) dai criei dois usurários fictícios: usurário1 e usurário2. dai dei permissão pra cada um entrar nos seus schemas…e o resultado? O usuario1 não vê o usuario2 e vice versa, cada um so entra na sua tabela e pronto…kkkkk…muito bom…gostei da explicação e da ajuda…Vou usar esse metodo pra todos os meus sistemas…
Se estiverem devidamente vinculadas ao Schema, você pode até criar de nomes idênticos, TabelaUs e TabelaUs, o banco vai enxergar as mesmas como schema1.TabelaUs e schema2.TabelaUs
E quando um usuário entrar, ele vai só visualizar os dados da tabela que ele tem acesso.