A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva

Apresentações semelhantes


Apresentação em tema: "Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva"— Transcrição da apresentação:

1 Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva

2 Banco de Dados Introdução Sistemas de Gerenciamento de Banco de Dados – Software com recursos específicos para facilitar a manipulação das informações dos bancos de dados e o desenvolvimento de programas aplicativos.

3 Banco de Dados Esquematização – Deverá fornecer mecanismos que possibilitem a compreensão do relacionamento existentes entre as tabelas e de sua eventual manutenção. Controle de Integridade – Deverá impedir que aplicações ou acessos pelas interfaces possam comprometer a integridade dos dados. Backups – Deverá apresentar facilidade para criar e recuperar cópias dos dados. Características

4 Banco de Dados Características Controle de Redundâncias – Diminuir a redundância de dados gerenciando processo de armazenamento. Compartilhamento dos Dados – Deve incluir software de controle de concorrência ao acesso dos dados, garantindo em qualquer tipo de situação a escrita/leitura de dados sem erros. Controle de Acesso – Deve dispor de recursos que possibilitem selecionar a autoridade de cada usuário. Interfaceamento – Deverá disponibilizar formas de acesso gráfico.

5 Banco de Dados Arquitetura de um SGBD processador de consultas gerenciador de transações gerenciador de armazenamento Dados e Metadados Modificação do esquema ConsultaModificação dos dados

6 Banco de Dados Processador de consultas É responsável por transformar uma consulta ou modificação solicitados pelo usuário em uma sequência de operações a serem executadas sobre os dados de uma base de dados. O processador de consultas é responsável por: executar consultas; modificar os dados da base de dados (inserir, remover, modificar) ou metadados (num SGBD relacional inclui nome das relações, nomes dos atributos, tipos de atributos); fazer um planejamento (query plan) para obter a melhor maneira de executar uma consulta (ex: usar índice, reordenar as operações, etc);

7 Banco de Dados Gerenciador de Transações Consultas e outras ações são agrupadas em transações, que são unidades que devem ser executadas atomicamente e de forma isolada. A execução de uma transação deve ser durável, ou seja o efeito de uma transação que foi completada deve ser preservada mesmo após uma falha do sistema.

8 Banco de Dados Gerenciador de Transações Consultas e outras ações são agrupadas em transações, que são unidades que devem ser executadas atomicamente e de forma isolada. A execução de uma transação deve ser durável, ou seja o efeito de uma transação que foi completada deve ser preservada mesmo após uma falha do sistema. uma transação é uma coleção de operações que desempenha uma função lógica única dentro de uma aplicação do sistema de banco de dados

9 Banco de Dados Gerenciador de Transações – Requisitos para a execução de uma trqansação. atomicidade: toda a transação é executada ou nada é feito; consistência: após uma transação ter sido completada a base de dados satisfaz as condições de consistencias previamente assumidas; isolamento: se duas transações estão sendo executadas simultâneamente seus efeitos devem ser isolados uma da outra;(locking – controle de concorrência)

10 Banco de Dados Gerenciador de Transações – Requisitos para a execução de uma trqansação. durabilidade: uma vez que o sistema tenha informado que uma transação ocorreu com sucesso, seu efeito não deve ser perdido em caso de falha;(logging – recuperação de falhas) consiteência – uma transação, uma vez executada, deve garantir a consistência do banco de dados ( ex: atributo a tem valor sempre menor que atributo B).

11 Banco de Dados Gerenciador de Armazenamento gerenciar os acessos feitos à base de dados de acordo com as solicitações feitas pelos níveis mais altos do SGBD; gerenciar os recursos de disco e de memória. Estas funções poderiam ser executadas pelos sistemas operacionais convencionais. No entanto, seria muito difícil garantir os requisitos fundamentais de uma transação além da manutenção de redundância dos dados.

12 Banco de Dados Gerenciador de Armazenamento motor de execução (execution engine) gerenciador de espaço em disco Disco gerenciador de buffer pool MEMÓRIAMEMÓRIA

13 Banco de Dados Gerenciador de armazenamento (Cont.) Gerenciador de espaço em disco - gerenciar os espaços livres e ocupados na área reservada para a base de dados; suportar o conceito de páginas como unidade de dados; transferir páginas da (para) a memória. Gerenciador de Buffer Pool - gerenciar a memória principal alocada para o SGBD; alocar e desalocar área de memória para suportar os dados as serem processados.

14 Banco de Dados Gerenciador de armazenamento (Cont.) Motor de Execução - executa cada uma das etapas.do plano de consulta definido pelo processador de consultas. Interage com a maioria dos componentes do SGBD, seja diretamente ou através dos buffers. Suas funções incluem: liberar e requisitar espaço livre em disco ; manter informações sobre as páginas alocadas para cada tabela; organizar os registros dentro de uma página; ser capaz de identificar a página no disco que contém o registro sendo solicitado; suportar estruturas de dados auxiliares para garantir acesso mais rápido à página que contém a informação solicitada; gerenciar o catálogo do sistema, que são estruturas de dados que mantêm informações sobre todas as relações, índices e visões de uma base de dados.

15 Banco de Dados Gerenciador de armazenamento (Cont.) Motor de Execução - executa cada uma das etapas.do plano de consulta definido pelo processador de consultas. Interage com a maioria dos componentes do SGBD, seja diretamente ou através dos buffers. Suas funções incluem: liberar e requisitar espaço livre em disco ; manter informações sobre as páginas alocadas para cada tabela; organizar os registros dentro de uma página; ser capaz de identificar a página no disco que contém o registro sendo solicitado; suportar estruturas de dados auxiliares para garantir acesso mais rápido à página que contém a informação solicitada; gerenciar o catálogo do sistema, que são estruturas de dados que mantêm informações sobre todas as relações, índices e visões de uma base de dados.

16 Banco de Dados 16 Controle de concorrência Locking Um gerente centralizado ou distribuído registra todos os locks e rejeita pedidos de lock em objetos já alocados a outros processos lock para escrita deve ser exclusivo, mas lock para leitura pode ser compartilhado Quanto menor a granularidade do lock maior a chance de paralelismo, mas também maior é a chance de deadlock Lock em duas fases: growing: todos os locks são adquiridos shrinking: todos os locks são liberados Strict two-phase locking : a fase shrinking ocorre instantaneamente (previne cascade aborts )

17 Banco de Dados 17 Controle otimista Os objetos são modificados sem preocupação com concorrência até o fim da transação Quando chegar o momento de commit, a transação verifica se outra transação modificou os mesmos objetos que ela tenha modificado Se não há conflito, então o commit é feito (repasse de objetos do espaço de trabalho privado), senão é feito um abort Controle de concorrência

18 Banco de Dados 18 Timestamps Cada transação recebe um timestamp único em seu início Cada objeto no sistema tem um read timestamp e um write timestamp, dizendo que transação fez a operação Se transações são curtas e espaçadas no tempo, normalmente, quando uma transação fizer acesso a um objeto, os timestamps do objeto serão mais velhos que o timestamp da transação. Caso contrário a transação está atrasada e deve ser abortada. Controle de concorrência

19 Banco de Dados Os Bancos de dados centralizados: Características Dados integrados (mesmo local); Redução de dados duplicados (reduz espaços dos arquivos); Facilita a implementação do tratamento de concorrência entre clientes, Não existe inconsistência entre cópias (só 1 cópia) Redundância é indesejável; DBA garante a segurança de todo o sistema; Responsabilidade centralizada Banco Centralizado X Banco Distribuído

20 Banco de Dados Desvantagens (BD centralizado) A centralização dos dados vai de encontro ao objetivo de tornar os dados mais facilmente disponíveis ao usuário final em aplicações geograficamente dispersas; Vulnerabilidade maior a falhas; Às vezes não permitem um crescimento gradativo da capacidade computacional instalada de forma simples e adequada. Banco Centralizado X Banco Distribuído

21 Banco de Dados O Banco de Dados é controlado pelo gerenciador, o SGBD, onde as aplicações são construídas, para se ter acesso à manipulação dos dados. BD CENTRALIZADO É composto por apenas um tipo de BD. É encontrado em um só nó da rede. Banco Centralizado X Banco Distribuído

22 Banco de Dados Os bancos de dados distribuídos: Características Compartilhamento de Dados e controle distribuído Autonomia; - Crescimento incremental; Disponibilidade; - Consultas em paralelo; Desvantagens: Custo de desenvolvimento do software; Grande potencial para bugs; Aumento do overhead de processamento:Devido à troca de mensagens e à computação adicional para obter a coordenação entre os nós. Banco Centralizado X Banco Distribuído

23 Banco de Dados O sistema de software,o SGBDD, possibilita a gerência da base de dados distribuída e torna a distribuição invisível para o usuário. BD DISTRIUÍDO Pode ser composto por mais de um tipo de BD. É encontrado em mais de um nó da rede. Banco Centralizado X Banco Distribuído

24 Banco de Dados Os dados armazenados em Bancos de Dados precisam ser protegidos contra: Acessos não autorizados; Destruição ou alteração intencional; Introdução Acidental de Inconsistências; Segurança de Dados

25 Banco de Dados Existem alguns aspectos a serem considerados sobre segurança, e que são intimamente relacionadas com as decisões a serem tomadas pelo DBA. Entre elas: Aspectos Legais e Éticos. Por exemplo: Num Banco de Dados de um Banco, será que a pessoa que faz a solicitação referente ao crédito de um cliente, tem direito à informação? Controles Físicos. Por exemplo: A sala dos servidores deve ficar trancada ou protegida fisicamente de alguma maneira? Questões Políticas : Como decidir quem tem acesso a o que dentro do banco. Segurança de Dados

26 Banco de Dados Problemas Operacionais : Na adoção de um sistema de senhas, como as senhas são mantidas? Controle de Hardware: Uso de chaves de proteção? Segurança do Sistema Operacional : Qual a política de armazenamento e estrutura de arquivos do sistema? Segurança de Dados

27 Banco de Dados O mal uso do banco de dados pode ser considerado: Intencional; Acidental; Segurança de Dados

28 Banco de Dados A perda acidental pode resultar de: Quebras durante o processo de transações; Anomalias causadas por acesso concorrente ao BD; Problemas de estrutura física (incêndio, inundação ou problema elétrico na estrutura física onde está o servidor); Segurança de Dados

29 Banco de Dados É mais fácil proteger o sistema contra perdas acidentais do que contra acessos maldosos ao Banco de dados. Entre as formas de acesso maldoso estão: Leitura não autorizada de dados (roubo de informações); Modificação não autorizada de dados; Destruição não autorizada de dados; Inserção não autorizada de dados. Segurança de Dados

30 Banco de Dados Dois termos são comumente utilizados com sentidos diferentes: Segurança de Banco de Dados: Refere-se à proteção contra acessos maldosos; Integridade de Banco de Dados: Refere-se à perda acidental de consistência; Segurança de Dados

31 Banco de Dados Com a finalidade de proteger o Banco de Dados, medidas de segurança devem ser tomadas em vários níveis: Físico: O sistema de Computadores deve ser fisicamente seguro (o uso de backups será considerado mais à frente); Humano: Os usuários devem ser cuidadosamente autorizados (o uso de autorizações de acesso será considerado mais a frente); Sistema Operacional: Uma falha no SO, pode servir de meio de acesso não autorizado ao banco; Segurança de Dados

32 Banco de Dados Cópia de dados do banco de dados, inclusive dados de controle, guardados em um local seguro; Apesar de os SGDBs darem suporte a Backup, as estratégias de Backup são definidas pelo DBA; Pode ser de dois tipos: Físico; Lógico; Backup

33 Banco de Dados Recuperação e Reposição dos dados que foram salvos pelo Backup; Garantia de que o sistema voltará ao estado anterior à falha; É função do DBA utilizar um gerenciamento de backup-recovery para cada tipo de erro. Por exemplo, um DBA não comandará um recovery de todos os dados do banco, quando um problema ocorreu apenas em um arquivo de controle. Recovery

34 Banco de Dados Concessão de diferentes tipos de autorização permite ao administrador do banco de dados regular a quais partes do banco de dados, diversos usuários podem fazer acesso; Autorizações de acesso

35 Banco de Dados Um usuário pode ter diferentes formas de autorizações sobre um BD; Leitura: permite leitura, mas não modificação dos dados; Inserção: permite inserção de novos dados, mas não modificação dos existentes; Atualização: Permite atualização de dados, mas não remoção; Eliminação: Permite a eliminação de dados; Autorizações de acesso

36 Banco de Dados Pode-se atribuir a um usuário todas ou nenhuma dessas autorizações; Existem outras autorizações que permitem alteração da estrutura das relações, e que são fornecidas e gerenciadas pelo DBA: Índice: Permite criação ou remoção de índices; Recursos: Permite a criação de novas relações, gatilhos, procedures; Alteração: Permite a modificação de atributos de uma relação; Remoção: Permite remoção de relações; Autorizações de acesso

37 Banco de Dados Modelagem Atividade de modelagem de dados em diversos níveis de abstração Modelagem conceitual (projeto conceitual) – abstração de mais alto nível objetivo: representação dos requisitos de dados do domínio – independente de modelo de BD Modelagem lógica (projeto lógico) – representação da modelagem conceitual em um modelo de BD – ênfase na eficiência de armazenamento evitar: muitas tabelas (e junções); tabelas sub- utilizadas,...

38 Banco de Dados Modelagem Modelagem física (implementação) – esquema SQL para a modelagem lógica dependente de SGBD – ênfase na eficiência de acesso implementação de consultas, índices,...

39 Banco de Dados Projeto de Banco de Dados Modelagem Conceitual Vantagens – independente de detalhes de implementação em um SGBD facilita a compreensão da semântica dos dados de um domínio melhor compreendido por usuários leigos – pode ser mapeado para qualquer modelo lógico de BD – facilita a manutenção do modelo lógico e a migração para outro modelo lógico processo de engenharia reversa

40 Banco de Dados Conceitos do Modelo de Entidade e Relacionamento ENTIDADE – É uma representação abstrata de um objeto do mundo real. Observações: Nome da entidade deve ser inscrito no retângulo Nome da entidade deve ser um substantivo no singular Se Nome composto separar por Hífen Usar terminologia do usuário Funcionário

41 Banco de Dados Conceitos do Modelo de Entidade e Relacionamento ATRIBUTO – São Propriedades ou características associadas a cada entidade. Composição: NOME DO ATRIBUTO; TIPO (Numérico, caracter, data, datetime); TAMANHO; DESCRIÇÃO CHAVE-PRIMÁRIA – É um Atributo ou grupo de atributos que identificam as linhas (PK) geralmente assumem um valor único. Não pode ter valor nulo Tem como função de garantir a unicidade das linhas Também chamado de Atributo determinante

42 Banco de Dados Conceitos do Modelo de Entidade e Relacionamento CHAVE-ESTRANGEIRA – Atributo ou grupo de atributos que fazem referência a atributo ou grupo de atributo de uma outra tabela. São utilizados para criar ligações entre as tabelas.

43 Banco de Dados Projeto de Banco de Dados Conceitos do Modelo de Entidade e Relacionamento Relacionamento – abstração de uma associação entre (ocorrências de) entidades – simbologia: losango nomeado denota um conjunto de ocorrências de relacionamentos EmpregadosDepartamentos Lotação

44 Banco de Dados Projeto de Banco de Dados Conceitos do Modelo de Entidade e Relacionamento A definição de um relacionamento envolve – cardinalidade máxima quantidade máxima de ocorrências de entidades que podem estar associadas a uma ocorrência de outra entidade (1 ou N) EmpregadosDepartamentos Lotação um empregado está lotado no máximo em 1 departamento. Um departamento tem até N empregados lotados nele. N1

45 Banco de Dados Projeto de Banco de Dados Conceitos do Modelo de Entidade e Relacionamento Exemplos de Cardinalidade Máxima EmpregadosDepartamentos Gerência 11 EmpregadosProjetos Participa NN EmpregadosProjetos coordena 12

46 Banco de Dados Projeto de Banco de Dados Conceitos do Modelo de Entidade e Relacionamento A definição de um relacionamento envolve – cardinalidade mínima indica se a participação das ocorrências de entidades no relacionamento é obrigatória ou opcional EmpregadosDepartamentos Lotação (0,N)(1,1) um empregado obrigatoriamente está lotado no máximo em 1 departamento. Um departamento pode ter até N empregados lotados nele.

47 Banco de Dados Projeto de Banco de Dados Conceitos do Modelo de Entidade e Relacionamento Exemplos de Cardinalidade Máxima e mínima EmpregadosDepartamentos Gerência (1,0) EmpregadosProjetos Participa (0,N) EmpregadosProjetos coordena (1,1)(1,2) (0,N)

48 Banco de Dados Projeto de Banco de Dados Conceitos do Modelo de Entidade e Relacionamento Auto-Relacionamento – representa uma associação entre ocorrências de uma mesma entidade – exige a identificação de papéis Empregados Supervisão Supervisionado Supervisor (0, N) (0,1) um empregado pode ser supervisionado por no máximo 1 empregado. Um empregado pode supervisionar no máximo N empregados.

49 Banco de Dados Conceitos do Modelo de Entidade e Relacionamento Relacionamento N-ário – abstração de uma associação entre N (ocorrências de) entidades – exemplo: relacionamento ternário Cidade Distribuição Distribuidores Produtos (0,n) (0,1) Exemplo de determinação de cardinalidade: um produto em uma cidade pode ser entregue por no máximo 1 distribuidor.

50 Banco de Dados Conceitos do Modelo de Entidade e Relacionamento Classificações de Atributos – obrigatórios X opcionais – monovalorados X multivalorados – simples X compostos – Identificadores EmpregadosProjetos Lotação (0,N) Nome Telefones Endereço Rua Número Cidade Matrícula CPF

51 Banco de Dados Conceitos do Modelo de Entidade e Relacionamento Identificação de Relacionamentos – atributos identificadores adicionais podem ser necessários para definir a identificação de um relacionamento Restrições do Domínio O modelo ER não é capaz de expressar todas as RIs de um domínio de aplicação – uma documentação em anexo pode ser necessária

52 Banco de Dados Modelo Conceitual Modelo Lógico Produto Tem Estoque 1:1 Cod_Prod Nom_Prod Estoque_Prod Produtos

53 Banco de Dados Modelo Conceitual Modelo Lógico Departamento Tem Funcionário 1:1 0:N Cod_Dep (CP) Nom_Dep Sigla_Dep Departamento Matricula (CP) Nome Cod_dep (CE) Funcionário

54 Banco de Dados Modelo Conceitual Modelo Lógico Dependente Tem Funcionário 0:N 1:1 Cod_Depe (CP) Nom_Dep Matricula (CE) Dependente Matricula (CP) Nome Funcionário

55 Banco de Dados Modelo Conceitual Modelo Lógico Disciplina Cursa Aluno 0:N Cod_Disc Nom_Disc Carg_Hor_Dis Disciplina Matricula (CP) Nome Aluno Cod_Disc (CP/CE) Matricula (CP/CE)

56 Banco de Dados Modelo Conceitual Modelo Lógico Funcionário Supervisiona Matricula (CP) Nome Matricula2(CE) Funcionário 1:1 0:N

57 Banco de Dados Modelo Conceitual Modelo Lógico Disciplina Pre_Requisito Cod_disc (CP) Nome_disc Carg_Hor_Disc Disciplina 0:N Cod_disc_Pre(CE) Cod_Dis_Pos (CE) Pre_requisito

58 Banco de Dados Banco de Dados Objeto-Relacional SGBDs Objeto-Relacional combinam os benefícios do modelo Relacional com a capacidade de modelagem do modelo OO Fornecem suporte para consultas complexas sobre dados complexos Atendem aos requisitos das novas aplicações e da nova geração de aplicações de negócios

59 Banco de Dados Banco de Dados Objeto-Relacional Modelos e Linguagens O modelo de dados OR é uma extensão do modelo Relacional As extensões incluem mecanismos para permitir aos usuários estender o banco de dados com tipos e funções específicas da aplicação A linguagem de consulta OR é uma extensão da linguagem SQL para suportar o modelo de objetos As extensões incluem consultas envolvendo objetos, atributos multivalorados, TADs, métodos e funções como predicados de busca em uma consulta

60 Banco de Dados Modelo de Dados Objeto-Relacional Permite especificar e utilizar tipos abstratos de dados(TADs) da mesma forma que os tipos de dados pré-definidos TADs são tipos de dados definidos pelo usuário que encapsulam comportamento e estrutura interna (atributos) A tabela convencional é estendida para permitir a referência de objetos (referência de tipos), TADs e valores alfanuméricos como domínio de colunas

61 Banco de Dados Modelo de Dados Objeto-Relacional Utiliza referências para representar conexões inter-objetos tornando as consultas baseadas em caminhos de referência mais compactas do que as consultas feitas com junção Herança é implementada organizando todos os tipos em hierarquias Utiliza os construtores set, list, multiset ou array para organizar coleções de objetos

62 Banco de Dados Benefícios do Modelo de Dados Objeto- Relacional Nova Funcionalidade Aumenta indefinidamente o conjunto de tipos e funções fornecidas pelo SGBD Desenvolvimento de aplicações simplificado Reuso de código Consistência Permite a definição de padrões, código reusável por todas as aplicações

63 Banco de Dados Linguagem de Consultas para Bancos de Dados Objeto-Relacional O resultado de uma consulta ainda consiste de tabelas Um SGBD Objeto-Relacional ainda é relacional pois suporta dados armazenados em tabelas formadas por linhas e colunas A linguagem de consultas para BDOR é uma extensão da linguagem SQL, utilizada para definição e manipulação de dados e consultas

64 Banco de Dados Dúvidas!? Adilson Silva Projeto de Banco de Dados


Carregar ppt "Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva"

Apresentações semelhantes


Anúncios Google