top of page

Schema - SQL SERVER

  • Foto do escritor: Amanda Nascimento
    Amanda Nascimento
  • 27 de nov. de 2023
  • 2 min de leitura

Atualizado: há 52 minutos



Um "schema" é uma estrutura lógica para objetos dentro de um banco de dados. Ele é usado principalmente para organizar e gerenciar objetos dentro de um banco de dados. Por exemplo, você pode ter um schema para as tabelas, outro para as views, e assim por diante, ou, dentro de um data mart você cria vários schemas, 1 por área de negócio e define o acesso ao usuário por schema. O schema fornece uma maneira de separar e organizar os objetos dentro de um banco de dados, facilitando a gestão e a segurança. É como se fosse uma "pasta" ou "espaço de nomes" para organizar os objetos de forma lógica.


Neste exemplo o meu banco de dados se chama DM_RH (Data Mart para a área de recursos humanos) e dentro deste data mart, criei o schema chamado RH.




Agora um passo a passo completo, criando um banco de dados e os schemas.




Criando um Banco de dados, arquivo .mdf e .log


Conectado ao seu servidor (pode ser local host. Clique aqui)

Logado com um usuário com permissões, em master, você deverá executar o script abaixo.

Caso deseje criar o banco em outro diretório, basta alterar o caminho C:\Data...


-- Criação do banco de dados datamart_BI

-- Obs: Precisa criar a pasta C:\Data


CREATE DATABASE datamart_BI

ON PRIMARY

(

NAME = 'datamart_BI_data',

FILENAME = 'C:\Data\datamart_BI.mdf', -- Ajuste o caminho conforme necessário

SIZE = 100MB, -- Tamanho inicial

MAXSIZE = UNLIMITED, -- Crescimento ilimitado

FILEGROWTH = 50MB -- Incremento de crescimento

)

LOG ON

(

NAME = 'datamart_BI_log',

FILENAME = 'C:\Data\datamart_BI.ldf', -- Ajuste o caminho conforme necessário

SIZE = 50MB,

MAXSIZE = 2GB,

FILEGROWTH = 25%

);



Criando schemas para algumas áreas


Após criar o banco de dados, clique na setinha azul para atualizar (ou F5) para o datamart aparecer, posteriormente, execute o script abaixo para criar os schemas e depois atualize de novo, e abra a pasta de segurança, esquemas, e lá estarão eles.





   Criando schema e transferindo uma tabela



CREATE SCHEMA NomeSchema;

GO

ALTER SCHEMA NomeSchema TRANSFER dbo.notas;



Copiando uma tabela de outro banco para este


financeiro é o nosso schema dentro do banco de dados data mart BI e iremos copiar a tabela selic que esta dentro de outro banco de dados.


USE datamart_BI;

GO


SELECT *

INTO financeiro.selic

FROM nomebancoorigem.dbo.selic;



Identificando quais schemas existem


SELECT name

FROM sys.schemas;

SELECT SCHEMA_NAME();



Identificando quais tabelas existem em um schema



SELECT *

FROM INFORMATION_SCHEMA.TABLES

WHERE TABLE_SCHEMA = 'financeiro' AND TABLE_NAME = 'selic';



Retornando nome das tabelas, nome database e nome do schema



SELECT

t.name AS 'Nome da Tabela',

DB_NAME() AS 'Nome do Banco de Dados',

s.name AS 'Nome do Schema'

FROM sys.tables t

INNER JOIN sys.schemas s ON t.schema_id = s.schema_id;




Deletar um schema existente


DROP SCHEMA NomeDoSchema;









© 2017-2025  Criado e desenvolvido por Amanda Nascimento

  • Discord
  • GitHub
  • youtube
  • LinkedIn Amanda
bottom of page