Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof. Rômulo Alencar 1 BANCO DE DADOS � Professor: Luciano Vale, MSc. Scrum.org Certified - PSM I - Professional Scrum Master I Rational Certitied - Rational Unified Process v7.0 � IBM Certified System Administrator - WebSphere Application Server Network Deployment V7.0 IBM Certified Business Process Analyst - WebSphere Business Modeler Advanced Edition V7.0 IBM Certified Integration Developer - WebSphere Process Server V7.0 Contato: lucianovale@gmail.com Prof. Rômulo Alencar 2 � Conceitos Básicos de BD ◦ Esquema/Estado de um BD ◦ Arquitetura de 3 Esquemas ◦ Tipos de Usuários do BD ◦ Arquitetura do SBD � Modelo Relacional � SQL Prof. Rômulo Alencar 3 � Esquema de um BD ◦ Estrutura do BD ◦ Descrição do BD ◦ Conjunto de elementos/entidades/objetos/itens que compõem � Estado de um BD ◦ Conjunto de valores armazenados em um BD em um dado momento Prof. Rômulo Alencar 4 � Esquema Interno ◦ Físico ◦ Como os dados estão armazenados fisicamente � Esquema Conceitual ◦ Lógico ◦ Abstrato ◦ Como o usuário percebe os dados ◦ Baseado no Modelo de Dados adotado Prof. Rômulo Alencar 5 � Esquema Externo ◦ Visão (view) de dados ◦ Como um usuário (ou grupo de usuários) visualiza os dados ◦ Permite restringir ou facilitar o acesso aos dados ◦ São possíveis diversas visões diferentes para um mesmo esquema conceitual Prof. Rômulo Alencar 6 �Sistema de Banco de Dados (SBD) �Sistema Gerenciador de Banco de Dados (SGBD) �Banco de Dados (BD) �SBD = SGBD + BD Prof. Rômulo Alencar 7 Gerenciador de Transações Mecanismo de Consultas Gerenciador de Buffer Gerenciador de Arquivo Compilador DML Pre-compilador DML Sistema de Armazenamento Processador de Consultas SGBD SBD Código Objeto aplicativos Arquivos de dadosíndices Catálogo BD EsquemaConsultaPrograma Aplicativo DBAUsuário experienteProgramadores Interpretador DDL Fragmentos de código Prof. Rômulo Alencar 8 � SGBD ◦ Processador de Consultas � Compilador DML � Análise sintática e semântica de expressões DML � Tradução de uma expressão DML para a forma de representação interna de consulta (p.ex. álgebra relacional) � Pré-Compilador DML � Tradução de expressões DML em chamadas de procedimentos (rotinas) da linguagem hospedeira � Interpretador DDL � Interpretação de comandos DDL e armazenamento deles no catálogo � Tabelas contendo metadados � Mecanismo de Consultas � Otimização de geração de planos de execução de consultas Prof. Rômulo Alencar 9 � SGBD ◦ Sistema de Armazenamento � Gerenciador de Transações � Controle de concorrência � Recuperação do BD após falhas � Gerenciador de Buffer � Acessa objetos em disco e os carrega na memória principal � SGBD possui uma área de buffer em memória principal � Mapeamento: Bloco ⟷ Página � Definição da política de alocação do buffer � MRU, LRU, FIFO, LIFO, etc � Gerenciador de Arquivo � Responsável pelo armazenamento físico em disco � Gerencia a alocação de espaço em disco Prof. Rômulo Alencar 10 � BD ◦ Arquivos de dados � Armazena os dados ◦ Índices � Estruturas de índices para os arquivos de dados � Índices ordenados � Árvores B+ � Arquivos grade � Árvores R � Árvores quadrante � Índices não-ordenados � Índice hash Prof. Rômulo Alencar 11 � BD ◦ Catálogo � Armazena esquema do BD (metadados) � Nomes das tabelas � Atributos de cada tabela � Definição de índice para uma tabela, etc � Armazena informações estatísticas � Exemplo � Cardinalidade de uma tabela � Utilizadas na otimização de consultas ◦ Fragmentos de código � Stored procedures � Triggers � Métodos Prof. Rômulo Alencar 12 � Proposto por Edgar Codd ◦ Funcionário da IBM ◦ Em 1970 � Baseado em ◦ Teoria dos conjuntos ◦ Lógica de predicados � Forte base matemática Prof. Rômulo Alencar 13 � Modelo de dados mais popular do mercado ◦ Simplicidade de representação ◦ Alto desempenho ◦ Garantia de consistência � Exemplos ◦ Oracle ◦ SQL Server ◦ DB2 ◦ PosgreSQL ◦ MySQL ◦ Sybase Prof. Rômulo Alencar 14 � Dados são representados como Relações ◦ Relação � Sub-conjunto dos produtos cartesianos entre os conjuntos domínio de seus atributos � Na prática, é utilizado o conteito de Tabela ◦ Tabela � Dados são organizados em linhas e colunas � Cada linha representa um indivíduo � Cada coluna representa um atributo dos indivíduos Prof. Rômulo Alencar 15 � Exemplo de Tabela ◦ Tabela de Funcionários matriculamatriculamatriculamatricula nomenomenomenome cpfcpfcpfcpf enderecoenderecoenderecoendereco salariosalariosalariosalario 1 João 111.111.111- 11 Rua ABC, 123 1500,00 2 José 222.222.222- 22 Av. XYZ, 456 2500,00 3 Maria 333.333.333- 33 Rua DEF, 222 2000,00 4 Pedro 444.444.444- 44 Av. JKL, 555 3000,00 5 Paulo 555.555.555- 55 Rua GHI, 789 1500,00 Prof. Rômulo Alencar 16 � Operadores ◦ Álgebra Relacional ◦ Cálculo Relacional ◦ Permitem que os dados das relações sejam manipulados ◦ São os meios “oficiais” de manipulação de dados no Modelo Relacional Prof. Rômulo Alencar 17 � Linguagens de consulta ◦ Permitem manipulação facilitada dos dados de um BD relacional ◦ Na prática, são o padrão para manipulação de dados relacionais � SQL ⇒ Padrão do mercado ◦ Geralmente declarativas � Você diz o que quer, mas não como quer que seja executado ◦ Comumente convertidas para álgebra relacional durante a execução Prof. Rômulo Alencar 18 � Restrições de Integridade ◦ Conjunto de regras que, se aplicadas, garantem consistência ao BD ◦ Mais populares � Restrição de Domínio � Restrição de Chave � Restrição de Integridade Referencial � Regras de Negócio Prof. Rômulo Alencar 19 � Restrições de Integridade ◦ Restrição de Domínio � Um atributo possui um conjunto domínio relacionado � A matrícula de um funcionário, por exemplo, possui como conjunto domínio o conjunto dos números inteiros � A Restrição de Domínio diz que, necessariamente, o valor de um atributo faz parte do conjunto domínio do mesmo � Desta forma, torna-se impossível atribuir um valor diferente de um número inteiro a uma matrícula � Garantia de integridade! Prof. Rômulo Alencar 20 � Restrições de Integridade ◦ Restrição de Domínio � Na prática, a Restrição de Domínio é implementada através de � Indicação de tipos de dados � Regras de checagem (verificação) � Checks � Permissão (ou não) de valores nulos Prof. Rômulo Alencar 21 � Restrições de Integridade ◦ Restrição de Chave � Existe um sub-conjunto diferente de vazio do conjunto total de atributos que identifica cada entidade da relação � Valores não se repetem! � A Restrição de Chave garante que um indivíduo do mundo real não apareça mais de uma vez na mesma tabela � Garantia de integridade! � Uma tabela pode ter várias chaves, mas apenas uma delas será a chave primáriachave primáriachave primáriachave primária � As outras serão chaves candidataschaves candidataschaves candidataschaves candidatas � Cada chave pode ser � Simples → Um atributo � Composta → Mais de um atributo Prof. Rômulo Alencar 22 q Restrições de Integridade å Restrição de Chave ë Segundo o Modelo Relacional, toda relação precisa ter ao menos uma chave ñ Teoria dos Conjuntos ç Um conjunto não pode possuir elementos repetidos � Para garantir isso, uma chave deve existir! ë Na prática, porém, podemos ter tabelas com linhas repetidas ñ É importante que toda tabela possua uma chave! ñ Caso não seja possível encontrar um conjunto de atributos para compor a chave, pode-se incluir um novo atributo com essa finalidade ç Chave externa � Geralmente um código de auto-numeração Prof. Rômulo Alencar 23 � Restriçõesde Integridade ◦ Restrição de Integridade Referencial � Uma chave estrangeirachave estrangeirachave estrangeirachave estrangeira é um conjunto de campos de uma tabela que é chave primária em outra tabela � Utilizada para representar relacionamentos � Chave estrangeira funciona como um ponteiro para a outra tabela � A Restrição de Integridade Referencial diz que os possíveis valores que chave estrangeira pode assumir em sua tabela estão limitados aos valores da chave primária relacionada a ela na outra tabela � Garantia de integridade! Prof. Rômulo Alencar 24 � Restrições de Integridade ◦ Restrição de Integridade Referencial � Exemplo � Como a coluna “lotacao” é chave estrangeira de Departamentos em Funcionários, os valores dela estão limitados aos valores da chave primária de Departamentos: a coluna “codigo” matrículamatrículamatrículamatrícula nomenomenomenome lotacaolotacaolotacaolotacao 1 João 2 2 José 1 3 Maria 2 4 Pedro 3 Funcionários codigocodigocodigocodigo nomenomenomenome 1 Gerência 2 Financeiro 3 Vendas Departamentos Prof. Rômulo Alencar 25 � Restrições de Integridade ◦ Regras de Negócio � Quando as restrições de dados são demasiadamente complexas, é comum que elas sejam colocadas na aplicação � Pois muitas vezes o SGBD nem mesmo tem como implementá-las � Ainda que o SGBD possa implementá-las, sua aplicação pode interferir no desempenho do restante do sistema � SGBD é otimizado para recuperar dados! Prof. Rômulo Alencar 26 � Restrições de Integridade ◦ Regras de Negócio � Exemplo � Um cliente só poderá contrair um empréstimo se possuir salário acima de R$3.000,00, não possuir restrições de crédito nos últimos cinco anos, não possuir outros empréstimos em outras instituições bancárias, for casado e não possuir mais que três filhos � Como implementar eficientemente num BD?
Compartilhar