Baixe o app para aproveitar ainda mais
Prévia do material em texto
CATÁLOGO •OBJETIVOS DE APRENDIZAGEM •1. CONHECER A ARQUITETURA INTERNA DOS SISTEMAS DE BANCO DE DADOS •2. DESCREVER AS FUNÇÕES DO CATÁLOGO DO SGBD. •3. AVALIAR A UTILIZAÇÃO DE ÍNDICES NAS TABELAS. BY PROF. VITORINO 2 CATÁLOGO •O QUE É? BY PROF. VITORINO 3 CATÁLOGO •O QUE É? •SUBSTANTIVO MASCULINO •LISTA, RELAÇÃO, ENUMERAÇÃO ORDENADA DE COISAS OU DE PESSOAS, ESPECIALMENTE ORGANIZADA EM ORDEM ALFABÉTICA • EXEMPLOS: • CATÁLOGO DE BIBLIOTECA; CATÁLOGO DE PLANTAS; CATÁLOGO DE NÚMEROS TELEFÔNICOS. BY PROF. VITORINO 4 CATÁLOGO •VEJAMOS A ESTRUTURA DE ARMAZENAMENTO DOS PRINCIPAIS SGBD`S DO MERCADO BY PROF. VITORINO 5 CATÁLOGO •ANTES DE INICIARMOS NOSSA DISCUSSÃO SOBRE CATÁLOGO, PRECISAMOS DEFINIR O QUE É ESTRUTURA DE ARMAZENAMENTO DE UM SISTEMA GERENCIADOR DE BANCO DE DADOS BY PROF. VITORINO 6 CATÁLOGO • ARQUITETURA DE ARMAZENAMENTO DO SGBD • É A DESCRIÇÃO DA ESTRUTURA BÁSICA DE UM SGBD QUE EXPLICA COMO OS DADOS SÃO ARMAZENADOS NO NÍVEL LÓGICO E FÍSICO. • AS ESTRUTURAS LÓGICAS – NORMALMENTE ESPECIFICIDADES DO SGBD -, SÃO CRIADAS E RECONHECIDAS PELO SGBD E NÃO SÃO RECONHECIDAS PELO SISTEMA OPERACIONAL. • NORMALMENTE AS ESTRUTURAS FÍSICAS DE UM BANCO DE DADOS PODEM SER VISUALIZADAS NO NÍVEL DO SISTEMA OPERACIONAL BY PROF. VITORINO 7 CATÁLOGO •ARQUITETURA DE ARMAZENAMENTO DO SGBD BY PROF. VITORINO 8 BY PROF. VITORINO 9 CATÁLOGO •ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 10 ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 11 ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 12 •BANCO DE DADOS E INSTÂNCIA • UM SISTEMA GERENCIADOR DE BANCO DE DADOS ORACLE CONSISTE EM UM BANCO DE DADOS E, PELO MENOS, UMA INSTÂNCIA DE BANCO DE DADOS (COMUMENTE REFERIDA COMO SIMPLESMENTE UMA INSTÂNCIA). • COMO UMA INSTÂNCIA E UM BANCO DE DADOS ESTÃO TÃO INTIMAMENTE CONECTADOS, O TERMO BANCO DE DADOS ORACLE É USADO ÀS VEZES PARA SE REFERIR À INSTÂNCIA E AO BANCO DE DADOS. NO SENTIDO MAIS ESTRITO, OS TERMOS TÊM OS SEGUINTES SIGNIFICADOS: https://docs.oracle.com/cd/E11882_01/server.112/e40540/glossary.htm#CHDHBJHG https://docs.oracle.com/cd/E11882_01/server.112/e40540/glossary.htm#CHDHBJHG https://docs.oracle.com/cd/E11882_01/server.112/e40540/glossary.htm#CBAFGFCJ ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 13 •BANCO DE DADOS E INSTÂNCIA • INSTÂNCIA DO BANCO DE DADOS • UMA INSTÂNCIA É UM CONJUNTO DE ESTRUTURAS DE MEMÓRIA , COMPOSTAS POR PROCESSOS EM BACKGROUND, QUE GERENCIA ARQUIVOS DE BANCO DE DADOS. • A INSTÂNCIA CONSISTE EM UMA ÁREA DE MEMÓRIA COMPARTILHADA, CHAMADA DE ÁREA GLOBAL DO SISTEMA (SGA) E UM CONJUNTO DE PROCESSOS EM SEGUNDO PLANO . • UMA INSTÂNCIA PODE EXISTIR INDEPENDENTEMENTE DOS ARQUIVOS DO BANCO DE DADOS. https://docs.oracle.com/cd/E11882_01/server.112/e40540/glossary.htm#CBAICBIA https://docs.oracle.com/cd/E11882_01/server.112/e40540/glossary.htm#CBAICBIA https://docs.oracle.com/cd/E11882_01/server.112/e40540/glossary.htm#CHDBJJGB ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 14 •BANCO DE DADOS E INSTÂNCIA • A FIGURA NO SLIDE 9 MOSTRA UM BANCO DE DADOS E SUA INSTÂNCIA. PARA CADA CONEXÃO DO USUÁRIO COM A INSTÂNCIA, O APLICATIVO É EXECUTADO POR UM PROCESSO DO CLIENTE . • CADA PROCESSO DO CLIENTE ESTÁ ASSOCIADO AO SEU PRÓPRIO PROCESSO DO SERVIDOR. •O PROCESSO DO SERVIDOR POSSUI SUA PRÓPRIA MEMÓRIA DE SESSÃO PRIVADA, CONHECIDA COMO ÁREA GLOBAL DO PROGRAMA (PGA) . https://docs.oracle.com/cd/E11882_01/server.112/e40540/intro.htm#CEGDIFEF https://docs.oracle.com/cd/E11882_01/server.112/e40540/glossary.htm#CBADEIIA https://docs.oracle.com/cd/E11882_01/server.112/e40540/glossary.htm#CHDCHGAJ https://docs.oracle.com/cd/E11882_01/server.112/e40540/glossary.htm#CHDCHGAJ ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 16 •BANCO DE DADOS E INSTÂNCIA •PRINCIPAIS PROCESSOS EM BACKGROUND (SEGUNDO PLANO) • PMON • (PROCESS MONITOR) É UM PROCESSO EM SEGUNDO PLANO DO ORACLE CRIADO QUANDO VOCÊ INICIA UMA INSTÂNCIA DE BANCO DE DADOS. O PROCESSO PMON LIBERARÁ RECURSOS SE UM PROCESSO DO USUÁRIO FALHAR. • PMON NORMALMENTE ACORDA A CADA 3 SEGUNDOS PARA REALIZAR SUAS ATIVIDADES DE LIMPEZA. PMON DEVE ESTAR SEMPRE EM EXECUÇÃO PARA UMA INSTÂNCIA. CASO CONTRÁRIO, A INSTÂNCIA SERÁ ENCERRADA; https://www.orafaq.com/wiki/Instance ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 17 • BANCO DE DADOS E INSTÂNCIA • PRINCIPAIS PROCESSOS EM BACKGROUND (SEGUNDO PLANO) • SMON (SYSTEM MONITOR) • É UM PROCESSO EM SEGUNDO PLANO DO ORACLE CRIADO QUANDO VOCÊ INICIA UMA INSTÂNCIA DE BANCO DE DADOS. O PROCESSO SMON EXECUTA A RECUPERAÇÃO DA INSTÂNCIA, LIMPA APÓS DESLIGAMENTOS SUJOS E UNE EXTENSÕES LIVRES ADJACENTES EM EXTENSÕES LIVRES MAIORES. • O SMON ACORDA A CADA 5 MINUTOS PARA REALIZAR ATIVIDADES DE LIMPEZA. O SMON DEVE ESTAR SEMPRE EM EXECUÇÃO PARA UMA INSTÂNCIA. CASO CONTRÁRIO, A INSTÂNCIA SERÁ ENCERRADA; https://www.orafaq.com/wiki/Instance ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 18 •BANCO DE DADOS E INSTÂNCIA •PRINCIPAIS PROCESSOS EM BACKGROUND (SEGUNDO PLANO) •MMAN (MEMORY MANAGER) • É UM PROCESSO EM SEGUNDO PLANO QUE GERENCIA O REDIMENSIONAMENTO DINÂMICO DE ÁREAS DE MEMÓRIA SGA (SYSTEM GLOBAL AREA) CONFORME A CARGA DE TRABALHO AUMENTA OU DIMINUI; https://www.orafaq.com/wiki/SGA ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 19 •BANCO DE DADOS E INSTÂNCIA •BASE DE DADOS •UM SISTEMA GERENCIADOR DE BANCO DE DADOS É UM CONJUNTO DE ARQUIVOS, LOCALIZADOS NO DISCO, QUE ARMAZENAM DADOS. ESSES ARQUIVOS PODEM EXISTIR INDEPENDENTEMENTE DE UMA INSTÂNCIA DE BANCO DE DADOS. ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 20 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 21 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •UM BANCO DE DADOS ORACLE É UM CONJUNTO DE ARQUIVOS QUE ARMAZENAM DADOS DO ORACLE EM ARMAZENAMENTO EM DISCO PERSISTENTE. ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 22 • ESTRUTURAS DE ARMAZENAMENTO FÍSICO • ARQUIVOS DE DADOS E ARQUIVOS TEMPORÁRIOS • UM ARQUIVO DE DADOS (DATA FILE) É UM ARQUIVO FÍSICO NO DISCO QUE FOI CRIADO PELO BANCO DE DADOS ORACLE E CONTÉM ESTRUTURAS DE DADOS, COMO: • TABELAS E ÍNDICES. • UM ARQUIVO TEMPORÁRIO É UM ARQUIVO DE DADOS QUE PERTENCE A UMA TABLESPACE TEMPORÁRIA. • OS DADOS SÃO GRAVADOS NESSES ARQUIVOS EM UM FORMATO PROPRIETÁRIO DA ORACLE QUE NÃO PODE SER LIDO POR OUTROS PROGRAMAS. ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 23 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE DADOS E ARQUIVOS TEMPORÁRIOS •ARQUIVOS DE CONTROLE (CONTROL FILES) • O ARQUIVO DE CONTROLE DE UM BANCO DE DADOS É UM PEQUENO ARQUIVO BINÁRIO NECESSÁRIO PARA QUE O BANCO DE DADOS INICIE E OPERE COM ÊXITO. ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 24 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE DADOS E ARQUIVOS TEMPORÁRIOS •ARQUIVOS DE CONTROLE (CONTROL FILES) • UM ARQUIVO DE CONTROLE É ATUALIZADO CONTINUAMENTE PELO ORACLE DURANTE O USO DO BANCO DE DADOS, PORTANTO, DEVE ESTAR DISPONÍVEL PARA GRAVAÇÃO SEMPRE QUE O BANCO DE DADOS FOR ABERTO. SE POR ALGUM MOTIVO O ARQUIVO DE CONTROLE NÃO ESTIVER ACESSÍVEL, O BANCO DE DADOS NÃO FUNCIONARÁ CORRETAMENTE. ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 25 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE DADOS E ARQUIVOS TEMPORÁRIOS •ARQUIVOS DE CONTROLE (CONTROL FILES) • CADA ARQUIVO DE CONTROLE ESTÁ ASSOCIADO A APENAS UM BANCO DE DADOS ORACLE. ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 26 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE DADOS E ARQUIVOS TEMPORÁRIOS •ARQUIVOS DE CONTROLE (CONTROL FILES) • CONTEÚDO DO ARQUIVO DE CONTROLE • UM ARQUIVO DE CONTROLE CONTÉM INFORMAÇÕES SOBRE O BANCO DE DADOS ASSOCIADO QUE É NECESSÁRIO PARA QUE O BANCO DE DADOS SEJA ACESSADO POR UMA INSTÂNCIA, NA INICIALIZAÇÃO E DURANTE A OPERAÇÃO NORMAL. ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 27 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE DADOS E ARQUIVOS TEMPORÁRIOS •ARQUIVOS DE CONTROLE (CONTROL FILES) • CONTEÚDO DO ARQUIVO DE CONTROLE • AS INFORMAÇÕES DE UM ARQUIVODE CONTROLE PODEM SER MODIFICADAS APENAS PELO ORACLE; • NENHUM ADMINISTRADOR DE BANCO DE DADOS OU USUÁRIO FINAL PODE EDITAR UM ARQUIVO DE CONTROLE DE BANCO DE DADOS. ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 28 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE DADOS E ARQUIVOS TEMPORÁRIOS •ARQUIVOS DE CONTROLE (CONTROL FILES) • CONTEÚDO DO ARQUIVO DE CONTROLE • ENTRE OUTRAS COISAS, UM ARQUIVO DE CONTROLE CONTÉM INFORMAÇÕES COMO: • O NOME DO BANCO DE DADOS • O TIMESTAMP (CARIMBO DE DATA / HORA) DA CRIAÇÃO DO BANCO DE DADOS • OS NOMES E LOCALIZAÇÕES DOS ARQUIVOS DE DADOS ASSOCIADOS E ARQUIVOS DE REDO LOG ONLINE • INFORMAÇÕES DA TABLESPACE ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 29 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE DADOS E ARQUIVOS TEMPORÁRIOS •ARQUIVOS DE CONTROLE (CONTROL FILES) • CONTEÚDO DO ARQUIVO DE CONTROLE • ENTRE OUTRAS COISAS, UM ARQUIVO DE CONTROLE CONTÉM INFORMAÇÕES COMO: • INTERVALOS OFFLINE DO ARQUIVO DE DADOS • O HISTÓRICO DE LOG • INFORMAÇÕES DE REGISTRO ARQUIVADAS • CONJUNTO DE BACKUP E INFORMAÇÕES DE PEÇA DE BACKUP • ARQUIVO DE DADOS DE BACKUP E INFORMAÇÕES DE REDO LOG ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 30 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE DADOS E ARQUIVOS TEMPORÁRIOS •ARQUIVOS DE CONTROLE (CONTROL FILES) • CONTEÚDO DO ARQUIVO DE CONTROLE • ENTRE OUTRAS COISAS, UM ARQUIVO DE CONTROLE CONTÉM INFORMAÇÕES COMO: • INFORMAÇÕES DE CÓPIA DO ARQUIVO DE DADOS • O NÚMERO DE SEQUÊNCIA DE LOG ATUAL • INFORMAÇÕES DE CHECKPOINT ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 31 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE DADOS E ARQUIVOS TEMPORÁRIOS •ARQUIVOS DE LOG DE REDO ON-LINE • O REDO LOG ON-LINE É UM CONJUNTO DE ARQUIVOS QUE CONTÉM REGISTROS DE ALTERAÇÕES FEITAS NOS DADOS. ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 32 •ESTRUTURAS DE ARMAZENAMENTO LÓGICO ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 33 •ESTRUTURAS DE ARMAZENAMENTO LÓGICO •ESSAS ESTRUTURAS SÃO CRIADAS E RECONHECIDAS PELO ORACLE DATABASE E NÃO SÃO CONHECIDAS PELO SISTEMA OPERACIONAL. ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 34 •ESTRUTURAS DE ARMAZENAMENTO LÓGICO •O ORACLE DATABASE ALOCA ESPAÇO LÓGICO PARA TODOS OS DADOS NO BANCO DE DADOS. AS UNIDADES LÓGICAS DE ALOCAÇÃO DE ESPAÇO DO BANCO DE DADOS SÃO: • ORACLE DATA BLOCKS, EXTENTS, SEGMENTS E TABLESPACE. • EM UM NÍVEL FÍSICO, OS DADOS SÃO ARMAZENADOS EM ARQUIVOS DE DADOS (DATA FILES) EM DISCO. OS DADOS NOS DATA FILES SÃO ARMAZENADOS NOS BLOCOS DO SISTEMA OPERACIONAL. ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 35 •ESTRUTURAS DE ARMAZENAMENTO LÓGICO •TAMANHO DO BLOCO DE DADOS • OS VALORES TÍPICOS DO TAMANHO DOS BLOCOS DO BANCO DE DADOS ORACLE SÃO DEFINIDOS NO MOMENTO DA INSTALAÇÃO DO BANCO DE DADOS, PODENDO VARIAR DE 2048 A 32768 BYTE. • CONSIDERANDO QUE OS SISTEMAS DE ARQUIVOS DOS ATUAIS SO’S, POR PADRÃO ESTES VALORES PODEM SER CONFIGURADOS COM 4096 E 8192 BYTES, CONTUDO O VALOR DESTE PARÂMETRO DEVE SER UM MÚLTIPLO DO TAMANHO DE UM CLUSTER OU UNIDADE DE ALOCAÇÃO DE ARQUIVOS NO NÍVEL DO DISPOSITIVO ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 36 • ESTRUTURAS DE ARMAZENAMENTO LÓGICO SEGMENT EXTENT ORACLE DATA BLOCK Tablespace DATA FILE OS BLOCK LOGICAL PHYSICAL GEOMETRIA DO DISCO/HDD BY VITORINO 37 LBA –LOGICAL BLOCK ADDRESSING ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 38 • ESTRUTURAS DE ARMAZENAMENTO Schema objects ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 39 •ESTRUTURAS DE ARMAZENAMENTO •TABLESPACES • É UM CONTÊINER DE ARMAZENAMENTO LÓGICO PARA SEGMENTOS. • SEGMENTOS SÃO OBJETOS DE BANCO DE DADOS, COMO: • TABELAS E ÍNDICES, QUE CONSOMEM ESPAÇO DE ARMAZENAMENTO. • NO NÍVEL FÍSICO, UMA TABLESPACE ARMAZENA DADOS EM UM OU MAIS ARQUIVOS DE DADOS OU ARQUIVOS TEMPORÁRIOS. ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 40 •ESTRUTURAS DE ARMAZENAMENTO •UM BANCO DE DADOS ORACLE DEVE TER AS TABLESPACES: SYSTEM E SYSAUX. ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 41 •ESTRUTURAS DE ARMAZENAMENTO •UM BANCO DE DADOS DEVE TER VÁRIAS TABLESPACES, VAMOS DISCORRER SOBRE AS PRINCIPAIS: SYSTEM, SYSAUX. USERS, UNDO E DEFAULT TEMPORARY. • SYSTEM TABLESPACE • A SYSTEM TABLESPACE É UMA TABLESPACE ADMINISTRATIVA NECESSÁRIA INCLUSA NO BANCO DE DADOS QUANDO É CRIADO. • O BANCO DE DADOS ORACLE USA SYSTEM TABLESPACE PARA GERENCIAR O BANCO DE DADOS. https://docs.oracle.com/cd/B19306_01/server.102/b14220/physical.htm#i10741 ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 42 •ESTRUTURAS DE ARMAZENAMENTO •TABLESPACE SYSTEM •A SYSTEM TABLESPACE INCLUI AS SEGUINTES INFORMAÇÕES, TODAS DE PROPRIEDADE DO USUÁRIO SYS: • O DICIONÁRIO DE DADOS [ORACLE E SQL-SERVER] , [CATÁLOGO NO DB2]; • TABELAS E VIEWS QUE CONTÊM INFORMAÇÕES ADMINISTRATIVAS SOBRE O BANCO DE DADOS; • OBJETOS ARMAZENADOS COMPILADOS, COMO GATILHOS, PROCEDIMENTOS E PACOTES. ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 43 •ESTRUTURAS DE ARMAZENAMENTO •TABLESPACE SYSTEM •A SYSTEM TABLESPACE É GERENCIADA COMO QUALQUER OUTRA TABLESPACE, MAS REQUER UM NÍVEL MAIS ALTO DE PRIVILÉGIO E É RESTRITO PARA ALGUNS USUÁRIOS. • POR EXEMPLO, VOCÊ NÃO PODE RENOMEAR OU DESCARTAR A SYSTEM TABLESPACE ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 44 •ESTRUTURAS DE ARMAZENAMENTO •TABLESPACE SYSAUX • A SYSAUX TABLESPACE É UMA TABLESPACE AUXILIAR PARA O SYSTEM TABLESPACE. • A SYSAUX TABLESPACE FORNECE UM LOCAL CENTRALIZADO PARA OS METADADOS DO BANCO DE DADOS QUE NÃO RESIDEM NA SYSTEM TABLESPACE. • REDUZ O NÚMERO DE TABLESPACE CRIADOS POR PADRÃO, TANTO NO BANCO DE DADOS DE ORIGEM COMO NOS BANCOS DE DADOS DEFINIDOS PELO USUÁRIO. ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 45 •ESTRUTURAS DE ARMAZENAMENTO •USERS TABLESPACE • A USERS TABLESPACE É GERADA TODA VEZ QUE UM BANCO DE DADOS É CRIADO, SEJA ATRAVÉS DE SCRIPTS OU PELO DBCA (DATABASE CONFIGURATION ASSISTANT); • USERS TABLESPACE CONTÉM TODOS OS OBJETOS CRIADO PELO USUÁRIO, COMO: TABELAS, ÍNDICES, VIEWS, STORED PROCEDURE, TRIGGERS E OUTROS ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 46 •ESTRUTURAS DE ARMAZENAMENTO •UNDO TABLESPACE •A UNDO TABLESPACE SÃO USADAS EXCLUSIVAMENTE PARA ARMAZENAR INFORMAÇÕES DE LOG PASSÍVEIS DE VOLTAREM A UM ESTADO ANTERIOR; • NÃO SE PODE CRIAR NENHUM OUTRO TIPO DE SEGMENTO (POR EXEMPLO, TABELAS OU ÍNDICES) NAS UNDO TABLESPACES. CADA BANCO DE DADOS CONTÉM ZERO OU MAIS UNDO TABLESPACE; ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 47 •ESTRUTURAS DE ARMAZENAMENTO •UNDO TABLESPACE •NO MODO DE GERENCIAMENTO AUTOMÁTICO DO UNDO, CADA INSTÂNCIA DO ORACLE É ATRIBUÍDA A UMA (E APENAS UMA) UNDO TABLESPACE. •OS DADOS DE UNDO SÃO GERENCIADOS EM UMA UNDO TABLESPACE USANDO SEGMENTOS DE UNDO QUE SÃO CRIADOS E MANTIDOS AUTOMATICAMENTE PELO ORACLE. ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 48 •ESTRUTURAS DE ARMAZENAMENTO •UNDO TABLESPACE •QUANDO A PRIMEIRA OPERAÇÃO DML É EXECUTADA DENTRO DE UMA TRANSAÇÃO, A TRANSAÇÃO É LIGADA (ATRIBUÍDA) A UM SEGMENTO DE UNDO (E, PORTANTO, A UMA TABELA DE TRANSAÇÃO) ATUAL UNDO TABLESPACE. • EM RARAS CIRCUNSTÂNCIAS, SE A INSTÂNCIA NÃO TIVER UMA UNDO TABLESPACE DESIGNADA, A TRANSAÇÃO SERÁ VINCULADA AO SEGMENTO DE UNDO DO SISTEMA ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 49 •ESTRUTURAS DE ARMAZENAMENTO •DEFAULT TEMPORARY TABLESPACE •A DEFAULT TEMPORARY TABLESPACE DEVE SER GERADA QUANDO O BANCO DE DADOS É CRIADO; •QUANDO A SYSTEM TABLESPACE É ACIONADA É NECESSÁRIO DEFINIR, PELO MENOS, UMA DEFAULT TEMPORARY TABLESPACE. ESTA AÇÃO SE FAZ NECESSÁRIA PELA LIMITAÇÃO DA SYSTEM TABLESPACE NÃO PODER ARMAZENAR DADOS TEMPORÁRIOS PADRÃO. ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 50 •ESTRUTURAS DE ARMAZENAMENTO •DEFAULT TEMPORARY TABLESPACE • SE A SYSTEM FOR GERENCIADO PELO DICIONÁRIO E SE O DBA NÃO DEFINIR UMA DEFAULT TEMPORARY TABLESPACE AO CRIAR O BANCO DE DADOS, ELE - SYSTEM -, AINDA SERÁ USADO PARA ARMAZENAMENTO TEMPORÁRIO PADRÃO. NO ENTANTO, O DBA RECEBERÁ UM AVISO NO ALERT.LOGDIZENDO QUE UMA DEFAULT TEMPORARY TABLESPACE É RECOMENDADA E SERÁ NECESSÁRIO EM AÇÕES FUTURAS. ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 51 •ESTRUTURAS DE ARMAZENAMENTO •VANTAGENS DAS TABLESPACES: • PERMITE A UM OBJETO CÓPIAS E REPOSIÇÕES TOTAIS E PARCIAIS, MELHORANDO TEMPOS DE BACKUP E RESTORE E REDUZINDO CUSTOS; • PERMITE PESQUISAS PELO TODO OU PELAS PARTES. AS PESQUISAS EM "FULL TABLE SCAN" PARCIAIS SÃO MAIS RÁPIDAS; ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 52 •ESTRUTURAS DE ARMAZENAMENTO •VANTAGENS DAS TABLESPACES? • PERMITE A REDUÇÃO DE CUSTOS DE ARMAZENAMENTO, POIS UMA PARTE DA TABELA QUE SEJA MUITO UTILIZADA PODE SER ARMAZENADA NUM DISPOSITIVO RÁPIDO (E CARO) SENDO O RESTANTE ARMAZENADO EM DISPOSITIVOS MAIS LENTOS (E BARATOS); ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 53 •ESTRUTURAS DE ARMAZENAMENTO •VANTAGENS DAS TABLESPACES? • SE O PARTICIONAMENTO SEGUIR UM CRITÉRIO TEMPORAL OS DADOS MAIS ANTIGOS PODEM SER RETIRADOS DA BASE DE DADOS, LIBERANDO ESPAÇO. ESTES DADOS PODEM SER REALOCADOS ON-LINE SE NECESSÁRIO; ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 54 •ESTRUTURAS DE ARMAZENAMENTO: SEGMENT; EXTENT, DATA BLOCKS ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 55 •ESTRUTURAS DE ARMAZENAMENTO •OBJETOS DE SCHEMA •UM SCHEMA DE BANCO DE DADOS É UM CONTÊINER LÓGICO PARA ESTRUTURAS DE DADOS, CHAMADO DE OBJETOS DE SCHEMA ; • EXEMPLOS DE OBJETOS DE SCHEMA SÃO TABELAS, ÍNDICES E VIEWS; •OBJETOS DE SCHEMA SÃO CRIADOS E MANIPULADOS COM O GRUPO DE INSTRUÇÕES SQL-DDL; •NÃO HÁ RELACIONAMENTO ENTRE UMA TABLESPACE E UM SCHEMA. ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 56 •ESTRUTURAS DE ARMAZENAMENTO •OBJETOS DE SCHEMA •OBJETOS NO MESMO SCHEMA PODEM USAR ARMAZENAMENTO EM DIFERENTES TABLESPACE, UMA TABLESPACE PODE CONTER DADOS DE DIFERENTES SCHEMAS.. ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 57 •ESTRUTURAS DE ARMAZENAMENTO •OBJETOS DE SCHEMA ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 58 •ESTRUTURAS DE ARMAZENAMENTO •TIPOS DE OBJETOS DE SCHEMA: OBJETOS DE SCHEMA OBJETOS DE SCHEMA TABELAS DIMENSÕES ÍNDICES TRIGGERS PARTIÇÕES STORED PROCEDURES / STORED FUNCTIONS VIEWS PACOTES PL/SQL SEQUENCIAS OPERADORES CLUSTERS JAVA CLASSES, JAVA RESOURCES, JAVA SOURCES RESTRIÇÕES SEQUÊNCIAS ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 59 •ESTRUTURAS DE ARMAZENAMENTO •OBSERVAÇÃO SOBRE OBJETOS DE SCHEMA NO ORACLE: • NO ORACLE O CONCEITO DE SCHEMA E USUÁRIO SE CONFUNDEM. • DIFERENTEMENTE DE OUTROS SGBD, NO ORACLE O SCHEMA – POR DEFAULT -, É CRIADO NO MOMENTO DA CRIAÇÃO DE UM USUÁRIO E TEM O MESMO NOME DO USUÁRIO; • ESTA CARACTERÍSTICAS CAUSA ALGUMA CONFUSÃO PARA OS PROFISSIONAIS QUE MIGRAM DO ORACLE PARA OUTROS SGBD E VICE VERSA. • APESAR DESTA FORMA EM QUE A ORACLE TRATA USUÁRIOS E SCHEMAS, É POSSÍVEL, COM UM POUCO DE TRABALHO, CONTORNAR ESTE “PROBLEMA” ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 60 •ESTRUTURAS DE ARMAZENAMENTO •OBSERVAÇÃO SOBRE OBJETOS DE SCHEMA NO ORACLE: • FINALIZANDO, NA COMUNIDADE ORACLE, HÁ COMENTÁRIOS DE QUE A ORACLE ADOTOU O CONCEITO APENAS PARA FICAR DENTRO DO PADRÃO ESTABELECIDO PELA ANSI SQL3 E ISO/IEC EM 1994 ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 61 •ESTRUTURAS DE ARMAZENAMENTO •DICIONÁRIO DE DADOS: • CONJUNTO DE TABELAS E VIEWS SOMENTE DE LEITURA QUE ARMAZENAM INFORMAÇÕES - METADADOS ADMINISTRATIVOS -, SOBRE A ESTRUTURA DO BANCO DE DADOS. •METADADOS REPRESENTAM "DADOS SOBRE DADOS" OU •METADADOS SÃO INFORMAÇÕES ESTRUTURADAS QUE DESCREVEM, EXPLICAM, LOCALIZAM, OU SEJA, TORNAM FÁCIL RECUPERAR, USAR OU GERENCIAR UMA FONTE DE INFORMAÇÃO ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 62 •ESTRUTURAS DE ARMAZENAMENTO •DICIONÁRIO DE DADOS • TODAS AS TABELAS DE DICIONÁRIO DE DADOS E VIEWS DE UM DETERMINADO BANCO DE DADOS SÃO ARMAZENADAS NO SYSTEM TABLESPACE DO BANCO DE DADOS ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 63 • ESTRUTURAS DE ARMAZENAMENTO • DICIONÁRIO DE DADOS • UM DICIONÁRIO DE DADOS CONTÉM INFORMAÇÕES COMO AS SEGUINTES: • AS DEFINIÇÕES DE TODOS OS OBJETOS DE SCHEMA NO BANCO DE DADOS (TABELAS, VIEWS, ÍNDICES, CLUSTERS, SINÔNIMOS, SEQUÊNCIAS, PROCEDIMENTOS, FUNÇÕES, PACOTES, ACIONADORES E ASSIM POR DIANTE) • ESTATÍSTICAS DE QUANTO ESPAÇO FOI ALOCADO PARA E É USADO ATUALMENTE PELOS OBJETOS DE SCHEMA; • ESTATÍSTICAS DO OTIMIZADOR DE CONSULTA NO DICIONÁRIO DE DADOS ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 64 •ESTRUTURAS DE ARMAZENAMENTO •DICIONÁRIO DE DADOS •UM DICIONÁRIO DE DADOS CONTÉM INFORMAÇÕES COMO AS SEGUINTES: • VALORES PADRÃO PARA COLUNAS • INFORMAÇÃO DE RESTRIÇÃO DE INTEGRIDADE • SÃO USADOS PARA GARANTIR A EXATIDÃO E A CONSISTÊNCIA DOS DADOS • OS NOMES DOS USUÁRIOS DO ORACLE https://pt.wikipedia.org/wiki/Consist%C3%AAncia_(base_de_dados) ORACLE DATABASE ARCHITECTURE BY PROF. VITORINO 65 •ESTRUTURAS DE ARMAZENAMENTO •DICIONÁRIO DE DADOS •UM DICIONÁRIO DE DADOS CONTÉM INFORMAÇÕES COMO AS SEGUINTES: • PRIVILÉGIOS E FUNÇÕES QUE CADA USUÁRIO RECEBEU • INFORMAÇÕES DE AUDITORIA, COMO QUEM ACESSOU OU ATUALIZOU VÁRIOS OBJETOS DE SCHEMA • OUTRAS INFORMAÇÕES GERAIS DO BANCO DE DADOS ORACLE DATABASE ARCHITECTURE CATÁLOGO / DICIONÁRIO DE DADOS 66 ◼ Plano de execução da query BY PROF. VITORINO CATÁLOGO BY PROF. VITORINO 67 •IBM – DB2 IBM DB2 DATABASE ARCHITECTURE BY PROF. VITORINO 68 IBM DB2 DATABASE ARCHITECTURE BY PROF. VITORINO 69 •INSTÂNCIA DO IBM-DB2 • UMA INSTÂNCIA NO DB2 PARA LUW (LINUX®, UNIX, AND WINDOWS) É UMA CÓPIA DO SGBDR, INCLUINDO TODOS OS PROCESSOS QUE EXECUTAM O DB2 E A MEMÓRIA (ESPAÇOS DE ENDEREÇO) ASSOCIADOS A ESSA INSTÂNCIA DO DB2 E ALGUNS PARÂMETROS DE CONFIGURAÇÃO (ZPARMS) PARA CONTROLAR ESSA INSTÂNCIA. • PENSE NISSO COMO UMA CÓPIA DO CÓDIGO DO DB2 EM EXECUÇÃO EM UM SERVIDOR. • VOCÊ PODE TER QUANTAS INSTÂNCIAS QUISER EM EXECUÇÃO EM UM ÚNICO SERVIDOR. IBM DB2 DATABASE ARCHITECTURE BY PROF. VITORINO 70 IBM DB2 DATABASE ARCHITECTURE BY PROF. VITORINO 71 BY PROF. VITORINO 72 IBM DB2 DATABASE ARCHITECTURE BY PROF. VITORINO 73 IBM DB2 DATABASE ARCHITECTURE BY PROF. VITORINO 74 •ESTRUTURAS DE ARMAZENAMENTO LÓGICO •ESSAS ESTRUTURAS SÃO CRIADAS E RECONHECIDAS PELO IBM DB2 E NÃO SÃO CONHECIDAS PELO SISTEMA OPERACIONAL. IBM DB2 DATABASE ARCHITECTURE BY PROF. VITORINO 75 •PARTITION GROUP • UM CONJUNTO NOMEADO DE UMA OU MAIS PARTIÇÕES DE BANCO DE DADOS QUE PERTENCEM A UM BANCO DE DADOS; • UM PARTITION GROUP DE BANCO DE DADOS QUE CONTÉM MAIS DE UMA PARTIÇÃO DE BANCO DE DADOS É CONHECIDO COMO PARTITION GROUP DE BANCO DE DADOS DE PARTIÇÃO MÚLTIPLA . • VÁRIOS PARTITIONS GROUPS DE BANCO DE DADOS DE PARTIÇÃO PODEM SER DEFINIDOS APENAS COM PARTIÇÕES DE BANCO DE DADOS QUE PERTENCEM À MESMA INSTÂNCIA. IBM DB2 DATABASE ARCHITECTURE BY PROF. VITORINO 76 •PARTITION GROUP IBM DB2 DATABASE ARCHITECTURE BY PROF. VITORINO 77 •PARTITION GROUP •PARTITION GROUPS PADRÃO • TRÊS PARTITION GROUP SÃO DEFINIDOS AUTOMATICAMENTE NO MOMENTO DA CRIAÇÃO DO BANCO DE DADOS NO SGBD IBM DB2: • IBMCATGROUP PARA A TABLESPACE SYSCATSPACE, MANTENDO TABELAS DE CATÁLOGO DO SISTEMA IBM DB2 DATABASE ARCHITECTURE BY PROF. VITORINO 78 •PARTITION GROUP •PARTITION GROUPS PADRÃO • IBMTEMPGROUP PARA A TABLESPACE TEMPSPACE1, CONTENDO TABELAS TEMPORÁRIAS CRIADAS DURANTE O PROCESSAMENTO DO BANCO DE DADOS IBM DB2 DATABASE ARCHITECTURE BY PROF. VITORINO 79 • PARTITION GROUP • PARTITION GROUPS PADRÃO • IBMDEFAULTGROUP PARA A TABLESPACE USERSPACE1, CONTENDO: • TABELAS E ÍNDICES DO USUÁRIO; • UMA TABLESPACE TEMPORÁRIA DO USUÁRIO PARA UMA TABELA TEMPORÁRIA DECLARADA; OU • UMA TABELA TEMPORÁRIA PODE SER CRIADA EM IBMDEFAULTGROUP OU QUALQUER GRUPO DE PARTIÇÃO DE BANCO DE DADOS CRIADO PELO USUÁRIO, MAS NÃO EM IBMTEMPGROUP. IBM DB2 DATABASE ARCHITECTURE BY PROF. VITORINO 80 •ESTRUTURAS DE ARMAZENAMENTO LÓGICO • TABLESPACE • UMA TABLESPACE É UMA ESTRUTURA DE ARMAZENAMENTO QUE CONTÉM TABELAS, ÍNDICES, OBJETOS GRANDES E DADOS LONGOS. • ELAS SÃO USADAS PARA ORGANIZARDADOS EM UM BANCO DE DADOS EM AGRUPAMENTOS DE ARMAZENAMENTO LÓGICOS RELACIONADOS A ONDE OS DADOS SÃO ARMAZENADOS EM UM SISTEMA. • TABLESPACES SÃO ARMAZENADOS EM GRUPOS DE PARTIÇÕES DE BANCO DE DADOS. IBM DB2 DATABASE ARCHITECTURE BY PROF. VITORINO 81 •ESTRUTURAS DE ARMAZENAMENTO LÓGICO • TABLESPACE • USAR TABLESPACES PARA ORGANIZAR O ARMAZENAMENTO OFERECE VÁRIOS BENEFÍCIOS: • RECUPERABILIDADE • ALOCAÇÃO DE MAIS TABELAS • GERENCIAMENTO AUTOMÁTICO DE ARMAZENAMENTO • MELHORAR DESEMPENHO OU UTILIZAÇÃO DE MEMÓRIA IBM DB2 DATABASE ARCHITECTURE BY PROF. VITORINO 82 •ESTRUTURAS DE ARMAZENAMENTO LÓGICO •TABLESPACE • CONTÊINERES • UM CONTÊINER PODE SER UM NOME DE DIRETÓRIO, UM NOME DE DISPOSITIVO OU UM NOME DE ARQUIVO • UM ÚNICO TABLESPACE PODE TER VÁRIOS CONTÊINERES IBM DB2 DATABASE ARCHITECTURE BY PROF. VITORINO 83 •ESTRUTURAS DE ARMAZENAMENTO LÓGICO • SCHEMA • SCHEMA É UMA COLEÇÃO DE OBJETOS NOMEADOS CLASSIFICADOS LOGICAMENTE NO BANCO DE DADOS. • EM UM BANCO DE DADOS, NÃO É POSSÍVEL CRIAR VÁRIOS OBJETOS DE BANCO DE DADOS COM O MESMO NOME. PARA FAZER ISSO, O SCHEMA FORNECE UM AMBIENTE DE GRUPO. • UM SCHEMA PODE CONTER TABELAS, FUNÇÕES, ÍNDICES, PROCEDIMENTOS, GATILHOS ETC. IBM DB2 DATABASE ARCHITECTURE BY PROF. VITORINO 84 •ESTRUTURAS DE ARMAZENAMENTO LÓGICO •SCHEMA IBM DB2 DATABASE ARCHITECTURE BY PROF. VITORINO 85 •ESTRUTURAS DE ARMAZENAMENTO LÓGICO •CATALOG • CONJUNTO DE TABELAS QUE CONTÊM INFORMAÇÕES SOBRE OS DADOS QUE O DB2 CONTROLA. • AS TABELAS DE CATÁLOGOS CONTÊM INFORMAÇÕES SOBRE OBJETOS DO DB2 , COMO TABELAS, VISUALIZAÇÕES E ÍNDICES. QUANDO VOCÊ CRIA, ALTERA OU DELETA UM OBJETO, O DB2 INSERE, ATUALIZA OU EXCLUI LINHAS DO CATÁLOGO QUE DESCREVEM O OBJETO • POR EXEMPLO, SYSIBM.SYSTABLES É UMA TABELA DE CATÁLOGO QUE REGISTRA INFORMAÇÕES QUANDO UMA TABELA É CRIADA. O DB2 INSERE UMA LINHA EM SYSIBM.SYSTABLES QUE INCLUI O NOME DA TABELA, SEU PROPRIETÁRIO, SEU CRIADOR E O NOME DE SEU TABLESPACE E SEU BANCO DE DADOS. IBM DB2 DATABASE ARCHITECTURE BY PROF. VITORINO 86 •ESTRUTURAS DE ARMAZENAMENTO LÓGICO •CATALOG •O CATÁLOGO DO DB2 CONSISTE EM TABELAS DE DADOS SOBRE TUDO DEFINIDO PARA O SISTEMA DB2 , INCLUINDO TABLESPACES, ÍNDICES, TABELAS, CÓPIAS DE TABLESPACES E ÍNDICES E GRUPOS DE ARMAZENAMENTO. •O BANCO DE DADOS DO SISTEMA DSNDB06 CONTÉM O CATÁLOGO DO DB2 . IBM DB2 DATABASE ARCHITECTURE BY PROF. VITORINO 87 •ESTRUTURAS DE ARMAZENAMENTO LÓGICO •CATALOG •ARMAZENA ESTATÍSTICAS UTEIS PARA OTIMIZAÇÃO DE QUERIES CATÁLOGO •SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 88 SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 89 •ARQUITETURA SIMPLIFICADA DO SQL- SERVER SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 90 •ESTRUTURA DE ARMAZENAMENTO SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 91 •ESTRUTURA DE ARMAZENAMENTO SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 92 • ESTRUTURAS DE ARMAZENAMENTO LÓGICO SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 93 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO • VIMOS EM AULAS PASSADAS QUE NO SQL-SERVER OS DADOS NAS TABELAS SÃO ARMAZENADAS - NO NÍVEL LÓGICO - NA FORMA DE LINHA E COLUNA [TUPLA OU REGISTRO], CONTUDO NO NÍVEL FÍSICO – ISTO É, NO ÂMBITO DO SISTEMA OPERACIONAL -, O ARMAZENAMENTO OCORREM EM PÁGINAS DE DADOS • A LÓGICA DE ARMAZENAMENTO DE DADOS - NO SQL-SERVER -, POUCO DIFERE DE SEUS CONCORRENTES MAIS PRÓXIMOS. NOS PRÓXIMOS SLIDES VAMOS DETALHAR OS SCHEMAS MOSTRADOS NOS TRÊS ÚLTIMOS SLIDES. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 94 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •FILEGROUPS • DENTRO DA ARQUITETURA DO SQL-SERVER O PRIMEIRO ELEMENTO A CONSIDERAR SÃO OS FILEGROUPS. • FILEGROUPS SÃO ESTRUTURA LÓGICAS, SIMILARES AOS DIRETÓRIOS DO SISTEMA DE ARQUIVO DO WINDOWS, ONDE OS OBJETOS DO BANCO DE DADOS SÃO ARMAZENADOS; • FILEGROUPS ESTÃO PARA O SQL-SERVER ASSIM COMO TABLESPACES ESTÃO PARA O ORACLE E IBM-DB2 SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 95 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •FILEGROUPS • CADA BANCO DE DADOS TEM: • UM FILEGROUP PRIMÁRIO: • TODAS AS TABELAS DO SISTEMA FAZEM PARTE DO GRUPO DE ARQUIVOS PRIMÁRIO. • FILEGROUPS PARA DADOS OTIMIZADOS PARA MEMÓRIA • UM GRUPO DE ARQUIVOS COM OTIMIZAÇÃO DE MEMÓRIA BASEIA- SE NO GRUPO DE ARQUIVOS DO FLUXO DE ARQUIVO SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 96 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •FILEGROUPS • FILEGROUPS DEFINIDOS PELOS USUÁRIOS • QUALQUER GRUPO DE ARQUIVOS QUE SEJA GERADO PELO USUÁRIO QUANDO ESTE CRIA O BANCO DE DADOS PELA PRIMEIRA VEZ OU QUANDO O MODIFICA POSTERIORMENTE. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 97 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •HEAPS (HOBT) • SÃO ESTRUTURA QUE ORGANIZAM AS TABELAS E OBJETOS, CRIADOS PELOS USUÁRIOS, NA FORMA DE ÁRVORE. • USADO PARA DESCREVER UM SUBCONJUNTO DE PÁGINAS DE DADOS / ÍNDICE DENTRO DE UMA ÚNICA PARTIÇÃO; • A RELAÇÃO ENTRE UMA PARTIÇÃO E UM HOBT É SEMPRE 1 PARA 1 - O QUE SIGNIFICA QUE OS VALORES HOBT_ID E PARTITION_ID NA TABELA SYS.PARTITIONS SÃO COMPLETAMENTE INTERCAMBIÁVEIS. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 98 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •HEAPS SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 99 •EXTENTS (EXTENSÕES) • AS EXTENTS SÃO UNIDADES BÁSICAS EM QUE O ESPAÇO É GERENCIADO. • UM EXTENT TEM OITO PÁGINAS FISICAMENTE CONTÍGUAS OU 64 KiB. ISSO SIGNIFICA QUE OS BANCOS DE DADOS DO SQL SERVER TÊM 16 EXTENTS POR MEGABYTE. Kibibyte, segundo IEC – International Electrotechnical Commission (Comissão Eletrotécnica Internacional) https://www.iec.ch/ SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 100 • EXTENTS (EXTENSÕES) •O SQL SERVER TEM DOIS TIPOS DE EXTENTS: • EXTENTS UNIFORMES QUE PERTENCEM A UM ÚNICO OBJETO; • TODAS AS OITO PÁGINAS NOS EXTENTS PODEM SER USADAS APENAS PELO OBJETO PROPRIETÁRIO. • EXTENTS MISTAS COMPARTILHADAS POR ATÉ OITO OBJETOS. • CADA UMA DAS OITO PÁGINAS DO EXTENT PODE PERTENCER A UM OBJETO DIFERENTE. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 101 •EXTENTS (EXTENSÕES) •O SQL SERVER TEM DOIS TIPOS DE EXTENSÕES: SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 102 •ESTRUTURA DE ARMAZENAMENTO • PAGES (PÁGINAS) • UNIDADE FUNDAMENTAL DE ARMAZENAMENTO DO SQL- SERVER • ONDE ESTÃO OS ARQUIVOS “.mdf” OU “.ndf” • SÃO NUMERADAS DE 0 A n SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 103 •ESTRUTURA DE ARMAZENAMENTO • PAGES (PÁGINAS) • AS OPERAÇÕES DE I/O EM DISCO SÃO EXECUTADAS NO NÍVEL DE PÁGINA • O SQL-SERVER GRAVA OU LÊ PÁGINAS INTEIRAS DE DADOS SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 104 •PAGES (PÁGINAS) A page Header tem 96 bytes para armazenar informações sobre: Número da página; Tipo de página; Espaço livre na página ID da unidade de alocação (cluster) do objeto proprietário da página SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 105 •PAGES (PÁGINAS) • SEMELHANTE A UM LIVRO, NO SQL SERVER, TODAS AS LINHAS DE DADOS SÃO ESCRITAS EM PÁGINAS. • EM UM LIVRO, TODAS AS PÁGINAS TÊM O MESMO TAMANHO FÍSICO. DA MESMA FORMA, NO SQL SERVER, TODAS AS PÁGINAS DE DADOS TÊM O MESMO TAMANHO – 8 KiB. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 106 •PAGES (PÁGINAS) • EM UM LIVRO, A MAIORIA DAS PÁGINAS CONTÉM OS DADOS – O CONTEÚDO PRINCIPAL DO LIVRO – E ALGUMAS PÁGINAS CONTÊM METADADOS SOBRE O CONTEÚDO – POR EXEMPLO, SUMÁRIO E ÍNDICE. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 107 •PAGES (PÁGINAS) • NOVAMENTE, O SQL SERVER NÃO É DIFERENTE: A MAIORIA DAS PÁGINAS CONTÉM LINHAS REAIS DE DADOS QUE FORAM ARMAZENADAS POR USUÁRIOS; ELAS SÃO CHAMADAS DE PÁGINAS DE DADOS E PÁGINAS DE TEXTO/IMAGEM (PARA CASOS ESPECIAIS). • AS PÁGINAS DE ÍNDICE CONTÊM REFERÊNCIAS DE ÍNDICE SOBRE O LOCAL EM QUE OS DADOS ESTÃO E, FINALMENTE, HÁ PÁGINAS DE SISTEMA QUE ARMAZENAM UMA VARIEDADE DE METADADOS SOBRE A ORGANIZAÇÃO DOS DADOS (PÁGINAS PFS, GAM, SGAM, IAM, DCM, BCM). SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 108 •TIPOSDE PÁGINAS (PAGES) Tipo de Página Funcionalidade Data Armazena dados de tipos diferentes: text. ntext e image Index Chave dos índices, com ponteiros direcionados para as páginas de dados Text and Image Armazena dados do tipo text, ntext e image Page Free Space (PFS) Controla os espaços livres nas páginas Global Allocation Map (GAM) Controla a alocação de extents Shared Global Allocation Map (SGAM) Controla a alocação de extends mistas pelos objetos Index Allocation MAP Controla as extents utilizadas por HEAP TABLES ou índices. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 109 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE DADOS PRIMÁRIOS: • OS ARQUIVOS DE DADOS PRIMÁRIOS TÊM A EXTENSAO MDF – MASTER DATABASE FILE • O MASTER DATABASE FILE CONTÉM TODAS AS PRINCIPAIS INFORMAÇÕES DO BANCO DE DADOS QUE FAZEM PARTE DO SERVIDOR • MASTER DATABASE FILE APONTA PARA OUTROS ARQUIVOS DO BANCO DE DADOS E OBJETOS, COMO TABELAS, ÍNDICES, STORED PROCEDURE E VIEWS FAZEM PARTE DO ROL DE ARQUIVOS DO MASTER DATABASE FILE. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 110 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE DADOS PRIMÁRIOS: •MASTER DATABASE FILE: •MASTER DATABASE FILE: O PRINCIPAL TRABALHO DO ARQUIVO MASTER.MDF É: • REGISTRAR TODAS AS INFORMAÇÕES NO NÍVEL DE SISTEMA PARA UM SISTEMA DO SQL SERVER, INCLUINDO METADADOS E PARÂMETROS DE CONFIGURAÇÃO DO SISTEMA; • REGISTRAR A EXISTÊNCIA DE TODOS OS BANCO DE DADOS E O LOCAL DESSES BANCO DE DADOS; • REGISTRAR AS INFORMAÇÕES DE INICIALIZAÇÃO PARA O SQL- SERVER; SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 111 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE DADOS PRIMÁRIOS: •MASTER DATABASE FILE: • BANCO DE DADOS MESTRE: • O SQL-SERVER NÃO PODERÁ INICIAR SE O BANCO DE DADOS MESTRE NÃO ESTIVER DISPONÍVEL. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 112 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE DADOS PRIMÁRIOS: •MODEL DATABASE FILE: • O BANCO DE DADOS MODELO: USADO COMO MODELO PARA TODOS OS BANCOS DE DADOS CRIADOS EM UMA INSTÂNCIA DO SQL SERVER; • É CRIADO TODA VEZ QUE O SQL SERVER É INICIADO; • DEVE SEMPRE EXISTIR EM UM SISTEMA SQL SERVER; SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 113 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE DADOS PRIMÁRIOS: •MODEL DATABASE FILE: • O BANCO DE DADOS MODELO • TODO O CONTEÚDO DO BANCO DE DADOS MODELO , INCLUINDO AS OPÇÕES, É COPIADO PARA O NOVO BANCO DE DADOS. • ALGUMAS CONFIGURAÇÕES DO MODELO TAMBÉM SÃO USADAS PARA CRIAR UM NOVO TEMPDB DURANTE A INICIALIZAÇÃO, DE MODO QUE UM BANCO DE DADOS MODELO SEMPRE DEVE EXISTIR EM UM SISTEMA SQL SERVER . SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 114 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE DADOS PRIMÁRIOS: •MSDB DATABASE FILE: • BANCO DE DADOS MSDB: MSDB.MDF É USADO PELO SQL SERVER AGENT PARA AGENDAR ALERTAS E TRABALHOS PARA O HISTÓRICO DE BACKUP E RESTAURAÇÃO; • RECOMENDA-SE CONSIDERAR A COLOCAÇÃO DO LOG DE TRANSAÇÕES MSDB NO REPOSITÓRIO TOLERANTE A FALHAS. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 115 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE DADOS PRIMÁRIOS: •RESOURCE DATABASE FILE: • O RESOURCE DATABASE FILE, RESOURCE.MDF É UM BANCO DE DADOS SOMENTE LEITURA QUE CONTÉM TODOS OS OBJETOS DE SISTEMA INCLUSOS NO SQL SERVER; • OBJETOS DO SISTEMA SQL SERVER, COMO: SYS.OBJECTS, SÃO FISICAMENTE PERSISTENTES NO RESOURCE DATABASE FILE, MAS APARECEM LOGICAMENTE NO SCHEMA SYS DE CADA BANCO DE DADOS. • O RESOURCE DATABASE FILE NÃO CONTÉM DADOS OU METADADOS DE USUÁRIO. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 116 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE DADOS PRIMÁRIOS: • TEMPDB DATABASE FILE: • O BANCO DE DADOS DO SISTEMA TEMPDB [TEMPDB.MDF] É UM RECURSO GLOBAL DISPONÍVEL PARA TODOS OS USUÁRIOS CONECTADOS À INSTÂNCIA DO SQL SERVER OU CONECTADOS AO BANCO DE DADOS SQL. O TEMPDB É USADO PARA MANTER: • OBJETOS DE USUÁRIO TEMPORÁRIOS CRIADOS EXPLICITAMENTE COMO: ÍNDICES E TABELAS TEMPORÁRIAS GLOBAIS OU LOCAIS, STORED PROCEDURES TEMPORÁRIOS, VARIÁVEIS DE TABELA, TABELAS RETORNADAS EM FUNÇÕES COM VALOR DE TABELA OU CURSORES; SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 117 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE DADOS PRIMÁRIOS: • TEMPDB DATABASE FILE: • BANCO DE DADOS DO SISTEMA TEMPDB • OBJETOS INTERNOS CRIADOS PELO MECANISMO DE BANCO DE DADOS. ELES INCLUEM: • TABELAS DE TRABALHO PARA ARMAZENAR RESULTADOS INTERMEDIÁRIOS PARA SPOOLS, CURSORES, CLASSIFICAÇÕES E ARMAZENAMENTO TEMPORÁRIO LOB (OBJETO GRANDE). • ARQUIVOS DE TRABALHO PARA OPERAÇÕES DE JUNÇÃO DE HASH OU DE AGREGAÇÃO DE HASH. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 118 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE DADOS PRIMÁRIOS: • TEMPDB DATABASE FILE: •BANCO DE DADOS DO SISTEMA TEMPDB • OBJETOS INTERNOS CRIADOS PELO MECANISMO DE BANCO DE DADOS. ELES INCLUEM: • RESULTADOS INTERMEDIÁRIOS DE CLASSIFICAÇÃO PARA OPERAÇÕES COMO CRIAR OU RECRIAR ÍNDICES (SE SORT_IN_TEMPDB FOR ESPECIFICADO) OU DETERMINADAS CONSULTAS GROUP BY, ORDER BY OU UNION. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 119 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE LOG: • LDF - LOG DATABASE FILE: MANTÉM AS TRANSAÇÕES DE LOG • O OBJETIVO PRINCIPAL DE UM ARQUIVO LDF É GARANTIR A APLICAÇÃO DAS PROPRIEDADES ACID: ATOMICIDADE, CONSISTÊNCIA, ISOLAMENTO E DURABILIDADE: • ATOMICIDADE: SE UMA PARTE DA TRANSAÇÃO FALHAR, TODA A TRANSAÇÃO FALHARÁ, E O ESTADO DO BANCO DE DADOS ESTARÁ INALTERADO; • CONSISTÊNCIA: QUALQUER TRANSAÇÃO TRAZ O BANCO DE DADOS DE ESTADO VÁLIDO PARA OUTRO; SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 120 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE LOG: • LDF - LOG DATABASE FILE: MANTEM AS TRANSAÇÕES DE LOG • ISOLAMENTO: A EXECUÇÃO DE TRANSAÇÕES SIMULTÂNEAS TRAZ O BANCO DE DADOS PARA UM ESTADO COMO SE AS TRANSAÇÕES FOSSEM EXECUTADAS SERIALMENTE, UMA POR UMA; • DURABILIDADE: UMA VEZ COMPROMETIDA, A TRANSAÇÃO PERMANECE ASSIM, MESMO NO CASO DE ERROS, PERDA DE ENERGIA OU FALHAS SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 121 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE LOG: • LDF - LOG DATABASE FILE: MANTÉM AS TRANSAÇÕES DE LOG • UM ARQUIVO LDF ARMAZENA INFORMAÇÕES SUFICIENTES PARA REPRODUZIR OU DESFAZER UMA ALTERAÇÃO OU RECUPERAR O BANCO DE DADOS PARA UM PONTO ESPECÍFICO NO TEMPO. • PORTANTO, DEVIDO A VÁRIOS REQUISITOS DE AUDITORIA OU RECUPERAÇÃO, MUITAS VEZES É NECESSÁRIO ABRIR O ARQUIVO LDF E VISUALIZAR SEU CONTEÚDO. •MAS VER O CONTEÚDO DO ARQUIVO LDF NÃO É UMA TAREFA FÁCIL. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 122 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •ARQUIVOS DE DADOS SECUNDÁRIOS: •NDF- NEXT DATABASE FILE: • OS ARQUIVOS DE DADOS SECUNDÁRIOS SÃO OPCIONAIS, SÃO DEFINIDOS PELO USUÁRIO E ARMAZENAM DADOS DO USUÁRIO • NDF É A EXTENSÃO ATRIBUÍDAS A ARQUIVOS CLASSIFICADOS NO SQL- SERVER COMO SECUNDÁRIOS; • PODEM SER UTILIZADOS PARA DISTRIBUIR DADOS EM VÁRIOS DISCOS, UMA ESTRATÉGIA PARA ESCALAR O BANCO; SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 123 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •SCHEMA SQL-SERVER •UM SCHEMA DE BANCO DE DADOS É UMA MANEIRA DE AGRUPAR OBJETOS LOGICAMENTE, COMO TABELAS, VIEWS, STORED PROCEDURE, ETC. PENSE EM UM SCHEMA COMO UM CONTÊINER DE OBJETOS •NO SQL SERVER, UM SCHEMA DE BANCO DE DADOS FACILITA O GERENCIAMENTO DE SEGURANÇA, AUXILIANDO NA DEFINIÇÃO DE QUEM PODE ACESSAR CADA OBJETO DE BANCO DE DADOS. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 124 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •SCHEMA SQL-SERVER • VOCÊ PODE ATRIBUIR PERMISSÕES DE LOGIN DE USUÁRIO A UM ÚNICO SCHEMA PARA QUE O USUÁRIO POSSA ACESSAR APENAS OS OBJETOS QUE ESTÃO AUTORIZADOS A ACESSAR. • OS SCHEMAS PODEM SER CRIADOS E ALTERADOS EM UM BANCO DE DADOS, E OS USUÁRIOS PODEM RECEBER ACESSO A UM SCHEMA. UM SCHEMA PODE SER DE PROPRIEDADE DE QUALQUER USUÁRIO, E A PROPRIEDADE DO SCHEMA É TRANSFERÍVEL. • UM SCHEMA DE BANCO DE DADOS TAMBÉM PODE ATUARCOMO UM NAMESPACE. ISSO EVITA CONFRONTOS DE NOMES DE OBJETOS DE DIFERENTES SCHEMAS. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 125 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •SCHEMA SQL-SERVER • EXEMPLO: dbo – Database Owner. Schema default criado pelo SQL-Server quando o usuário opta por não defini-lo SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 126 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •DICIONÁRIO DE DADOS • NO SQL SERVER, O DICIONÁRIO DE DADOS É UM CONJUNTO DE TABELAS DE BANCO DE DADOS USADO PARA ARMAZENAR INFORMAÇÕES SOBRE A DEFINIÇÃO DE UM BANCO DE DADOS. O DICIONÁRIO CONTÉM INFORMAÇÕES SOBRE OBJETOS DE BANCO DE DADOS, COMO TABELAS, ÍNDICES, COLUNAS, TIPOS DE DADOS E VISUALIZAÇÕES. • O DICIONÁRIO DE DADOS É USADO PELO SQL SERVER PARA EXECUTAR CONSULTAS E É ATUALIZADO AUTOMATICAMENTE SEMPRE QUE OS OBJETOS SÃO ADICIONADOS, REMOVIDOS OU ALTERADOS NO BANCO DE DADOS. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 127 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •DICIONÁRIO DE DADOS • O SQL SERVER USA O DICIONÁRIO DO BANCO DE DADOS PARA VERIFICAR INSTRUÇÕES SQL. • QUANDO VOCÊ EXECUTA UMA INSTRUÇÃO SQL, O SGBD ANALISA A INSTRUÇÃO E, EM SEGUIDA, DETERMINA SE AS TABELAS E OS CAMPOS QUE VOCÊ ESTÁ REFERENCIANDO SÃO VÁLIDOS. PARA FAZER ISSO RAPIDAMENTE, ELE FAZ REFERÊNCIA AO DICIONÁRIO DE DADOS. • ALÉM DE TESTAR A VALIDADE DE INSTRUÇÕES, O SQL SERVER USA O DICIONÁRIO DE DADOS PARA AUXILIAR NA GERAÇÃO DO PLANO DE CONSULTA E PARA FAZER REFERÊNCIA ÀS INFORMAÇÕES QUE DEFINEM A ESTRUTURA DO BANCO DE DADOS. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 128 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •DICIONÁRIO DE DADOS • O DICIONÁRIO DE DADOS SE TORNA UM GUIA, POR SI SÓ, PARA O SQL SERVER USAR PARA ACESSAR SEUS DADOS. • SIMPLIFICANDO, SEM O DICIONÁRIO DE DADOS, EMBORA O SQL SERVER CONHEÇA E ENTENDA A LINGUAGEM SQL, ELE NÃO SABERIA SOBRE SUAS TABELAS E COLUNAS DE BANCOS DE DADOS; PORTANTO, NÃO SERIA CAPAZ DE CONSULTÁ-LOS. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 129 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •DICIONÁRIO DE DADOS • COMO O DICIONÁRIO DE DADOS CONTÉM A DEFINIÇÃO DO BANCO DE DADOS, É UM RECURSO MUITO BOM PARA VOCÊ USAR PARA OBTER INFORMAÇÕES SOBRE O BANCO DE DADOS. O MAIS LEGAL É QUE O DICIONÁRIO DE DADOS É COMPOSTO DE TABELAS E VISUALIZAÇÕES SQL. ISSO SIGNIFICA QUE VOCÊ PODE OBTER INFORMAÇÕES SOBRE O BANCO DE DADOS POR MEIO DE CONSULTAS! • OS DICIONÁRIOS DE DADOS SÃO USADOS POR DESIGNERS E DESENVOLVEDORES PARA ENTENDER A ESTRUTURA DO BANCO DE DADOS. VOCÊ PODE PENSAR NO DICIONÁRIO COMO UM DOCUMENTO DE REFERÊNCIA ATUALIZADO. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 130 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •DICIONÁRIO DE DADOS • O DICIONÁRIO DE DADOS É ARMAZENADO EM UMA SÉRIE DE TABELAS DO SISTEMA. EMBORA VOCÊ POSSA CONSULTAR DIRETAMENTE ESSAS TABELAS, RECOMENDA-SE, POR MOTIVO DE POSSIBILIDADE DE ALTERAÇÕES DE ESTRUTURA INTERNAS PELA MICROSOFT, A CONSULTA AS VIEWS INFORMATION_SCHEMA EM VEZ DE ACESSAR DIRETAMENTE AS TABELAS. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 131 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •DICIONÁRIO DE DADOS •VIEWS INFORMATION_SCHEMA • AS VIEWS INFORMATION_SCHEMA INCLUÍDAS NO SQL SERVER ESTÃO EM CONFORMIDADE COM O PADRÃO ISO DO ISO-92 . ISSO SIGNIFICA QUE OUTROS FORNECEDORES DE BANCO DE DADOS QUE ESTÃO EM CONFORMIDADE COM O PADRÃO ISO FORNECERÃO O MESMO CONJUNTO DE VISUALIZAÇÕES. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 132 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •DICIONÁRIO DE DADOS •ALGUMAS DAS VISUALIZAÇÕES MAIS USADAS E SUAS DESCRIÇÕES: • COLUMNS - RETORNA UMA LINHA PARA CADA COLUNA QUE O USUÁRIO ATUAL TEM ACESSO PARA USAR NO BANCO DE DADOS ATUAL. ESSA VIEW PODE SER USADA PARA DETERMINAR O TIPO DE DADOS E A TABELA QUE A COLUNA ESTÁ DEFINIDA PARA USO. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 133 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •DICIONÁRIO DE DADOS •ALGUMAS DAS VISUALIZAÇÕES MAIS USADAS E SUAS DESCRIÇÕES: • TABLES - RETORNA UMA LINHA PARA CADA TABELA QUE OS USUÁRIOS TÊM ACESSO PARA USAR DENTRO DO BANCO DE DADOS ATUAL. OBSERVE QUE AMBAS AS TABELAS E EXIBIÇÕES SÃO RETORNADAS USANDO A VIEWS TABLES. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 134 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •DICIONÁRIO DE DADOS • VIEW_TABLE_USAGE - RETORNA UMA LINHA PARA CADA TABELA QUE É USADA EM UMA VISÃO DENTRO DO BANCO DE DADOS ATUAL. • VIEWS - RETORNA UMA LINHA PARA VIEWS QUE PODEM SER ACESSADAS USANDO AS PERMISSÕES DO USUÁRIO DA CORRENTE DO BANCO DE DADOS ATUAL. SQL-SERVER DATABASE ARCHITECTURE BY PROF. VITORINO 135 •ESTRUTURAS DE ARMAZENAMENTO FÍSICO •CATALOG VIEWS DO SQL SERVER • AS CATALOG VIEWS SÃO OUTRA MANEIRA DE VISUALIZAR O DICIONÁRIO DE DADOS. • RECOMENDAMOS USAR EXIBIÇÕES DO CATÁLOGO POR SEREM A INTERFACE MAIS GERAL PARA METADADOS DE CATÁLOGO E PROPORCIONAREM A MANEIRA MAIS EFICAZ DE OBTER, TRANSFORMAR E APRESENTAR FORMAS PERSONALIZADAS DESSAS INFORMAÇÕES. • TODOS OS METADADOS DE CATÁLOGOS DISPONÍVEIS PARA O USUÁRIO SÃO EXPOSTOS POR MEIO DE EXIBIÇÕES DO CATÁLOGO. CATÁLOGO E/OU DICIONÁRIO DE DADOS BY PROF. VITORINO 136 •IMPORTÂNCIA DO PARA A VIDA DO DBA •O CORAÇÃO DE QUALQUER SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS RELACIONAL É O CATÁLOGO DO SISTEMA/ DICIONÁRIO DE DADOS QUE DOCUMENTA OS OBJETOS DE BANCO DE DADOS E AS CONFIGURAÇÕES DO SISTEMA QUE ESTÃO SENDO USADOS; CATÁLOGO E/OU DICIONÁRIO DE DADOS BY PROF. VITORINO 137 •IMPORTÂNCIA DO PARA A VIDA DO DBA •O CATÁLOGO DO SISTEMA/ DICIONÁRIO DE DADOS OFERECE VÁRIAS INFORMAÇÕES SOBRE O SEU SGBD. •VOCÊ PODE PENSAR NISSO COMO A BASE DE CONHECIMENTO DE TODOS OS DADOS CONHECIDOS PELO SISTEMA. POR ESSE MOTIVO, É IMPORTANTE QUE OS DBAS ENTENDAM O QUE ESTÁ NO CATÁLOGO DO SISTEMA/ DICIONÁRIO DE DADOS , ALÉM DE COMO ACESSAR E MANIPULAR AS INFORMAÇÕES NELE CONTIDAS. CATÁLOGO E/OU DICIONÁRIO DE DADOS BY PROF. VITORINO 138 •IMPORTÂNCIA PARA A VIDA DO DBA • NATURALMENTE, DEPENDENDO DO SGBD QUE VOCÊ USA, O CATÁLOGO DO SISTEMA/ DICIONÁRIO DE DADOS PODE USAR OUTRO NOME. CONSULTE A TABELA ABAIXO PARA UM RESUMO DO NOME USADO PELOS SISTEMAS RELACIONAIS MAIS POPULARES. SGBD NOME ORACLE DICIONÁRIOS DE DADOS SQL Server DICIONÁRIO DE DADOS / CATALÓGO DB2 CATÁLODO DO DB2 OU CATÁLOGO DO SISTEMA MySQL SCHEMA DE INFORMAÇÕES CATÁLOGO E/OU DICIONÁRIO DE DADOS BY PROF. VITORINO 139 •IMPORTÂNCIA PARA A VIDA DO DBA •A LOCALIZAÇÃO FÍSICA E A CONFIGURAÇÃO DO CATÁLOGO DO SISTEMA/ DICIONÁRIO DE DADOS TERÃO UM IMPACTO NO DESEMPENHO GERAL DO SGBD. •O DBA DEVE DECIDIR ONDE SERÁ INSTALADO, EM QUE TIPO DE DISCO E QUANTO ESPAÇO ALOCAR. ESSAS DECISÕES GERALMENTE SÃO TOMADAS NO PLANEJAMENTO DO BANCO E ANTES DA INSTALAÇÃO. CATÁLOGO E/OU DICIONÁRIO DE DADOS BY PROF. VITORINO 140 •IMPORTÂNCIA PARA A VIDA DO DBA •O CATÁLOGO DO SISTEMA/ DICIONÁRIO DE DADOS PERMITE: • REALIZAR UM SIMPLES TROUBLESHOOTING PARA SOLUCIONAR PROBLEMAS DE DESEMPENHO; • OTIMIZAR CONSULTAS; • AUXILIAR NO ESTABELECIMENTO DE UMA POLÍTICA DE BACKUP AND RECOVERY; • AUXILIAR NO ESTABELECIMENTO DE UMA POLÍTICA SEGURANÇA; • AUXILIAR NO ESTABELECIMENTO DE ESTRATÉGIAS DE CONTROLE DO CRESCIMENTO DE ARQUIVOS DE LOG BY PROF. VITORINO 141 RFC - 1122 REFERÊNCIA BY PROF. VITORINO 142 • Korth, H. F.; Silberschatz, A. Sudarshan, S.. SISTEMA DE BANCO DE DADOS. 7ª. Edição, RIO DE JANEIRO: LTC, 2020. CAPÍTULO 1, PÁGINAS 1-20; • Elmasri, R.; Navathe, S. B. SISTEMAS DE BANCO DE DADOS. 7ª. EDIÇÃO., SÃO PAULO: PEARSON EDUCATION BRASIL, 2018. CAPÍTULOS 1-2, PÁGINAS 3-51 • Date, C. J.. INTRODUÇÃO A SISTEMAS DE BANCO DE DADOS. 8ª. EDIÇÃO, TIO DE JANEIRO: ELSEVIER EDITORA, 2003. CAPÍTULOS 1-3, PÁGINAS 3-70 • ORACLE® DATABASE README 10G RELEASE 2 (10.2), DISPONÍVEL EM https://docs.oracle.com/cd/b16351_01/doc/readmes.102/b14233/toc.htm, ACESSADO EM 19/08/2020; https://docs.oracle.com/cd/B16351_01/doc/readmes.102/b14233/toc.htm REFERÊNCIA BY PROF. VITORINO 143 • ORACLE9I DATABASE CONCEPTS RELEASE 2 (9.2), DISPONÍVELEM https://docs.oracle.com/cd/b10500_01/server.920/a96524/c11schem.htm, ACESSADO EM 19/08/2020; • IBM KNOWLEDGE CENTER - DESIGN DO BANCO DE DADOS, DISPONÍVEL EM https://www.ibm.com/support/knowledgecenter/pt- br/sslkt6_7.6.0/com.ibm.mbs.doc/configur/c_ctr_database_design.html, ACESSADO EM 19/08/2020; • MICROSOFT SQL DOCUMENTATION, DISPONÍVEL EM https://docs.microsoft.com/pt-br/sql/relational- databases/databases/database-files-and-filegroups?view=sql-server-2017, ACESSADO EM 19/08/2020; https://docs.oracle.com/cd/B10500_01/server.920/a96524/c11schem.htm https://www.ibm.com/support/knowledgecenter/pt-br/ https://www.ibm.com/support/knowledgecenter/pt-br/SSLKT6_7.6.0/com.ibm.mbs.doc/configur/c_ctr_database_design.html https://docs.microsoft.com/pt-br/sql/relational-databases/databases/database-files-and-filegroups?view=sql-server-2017
Compartilhar