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

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

Revisão de Banco de Dados

Apresentações semelhantes


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

1 Revisão de Banco de Dados
Adilson Silva

2 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 Características 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.

4 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 processador de consultas gerenciador de armazenamento
Arquitetura de um SGBD Modificação do esquema Consulta Modificação dos dados processador de consultas gerenciador de transações gerenciador de armazenamento Dados e Metadados

6 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 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 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 atomicidade: toda a transação é executada ou nada é feito;
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 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 gerenciar os recursos de disco e de memória.
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 Gerenciador de Armazenamento
motor de execução (execution engine) M E Ó R I A gerenciador de buffer pool gerenciador de espaço em disco Disco

13 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 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 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 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 Controle de concorrência
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

18 Controle de concorrência
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.

19 Banco Centralizado X Banco Distribuído
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

20 Banco Centralizado X Banco Distribuído
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.

21 É encontrado em um só nó da rede.
Banco Centralizado X Banco Distribuído BD CENTRALIZADO 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.  É composto por apenas um tipo de BD.  É encontrado em um só nó da rede.

22 Os bancos de dados distribuídos: Características
Banco Centralizado X Banco Distribuído 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.

23 Pode ser composto por mais de um tipo de BD.
Banco Centralizado X Banco Distribuído BD DISTRIUÍDO 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.  Pode ser composto por mais de um tipo de BD. É encontrado em mais de um nó da rede.

24 Acessos não autorizados; Destruição ou alteração intencional;
Segurança 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;

25 Segurança 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.

26 Segurança 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?

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

28 A perda acidental pode resultar de:
Segurança 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);

29 Segurança 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.

30 Dois termos são comumente utilizados com sentidos diferentes:
Segurança 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;

31 Segurança 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;

32 Backup 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;

33 Recuperação e Reposição dos dados que foram salvos pelo Backup;
Recovery 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.

34 Autorizações de acesso
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;

35 Autorizações de acesso
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;

36 Pode-se atribuir a um usuário todas ou nenhuma dessas autorizações;
Autorizações de acesso 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;

37 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 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 – independente de detalhes de implementação em um SGBD
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 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 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 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 Conceitos do Modelo de Entidade e Relacionamento
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 Lotação Empregados Departamentos

44 Conceitos do Modelo de Entidade e Relacionamento
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) Lotação N 1 Empregados Departamentos “um empregado está lotado no máximo em 1 departamento. Um departamento tem até N empregados lotados nele.”

45 Conceitos do Modelo de Entidade e Relacionamento
Projeto de Banco de Dados Conceitos do Modelo de Entidade e Relacionamento Exemplos de Cardinalidade Máxima Gerência 1 1 Empregados Departamentos Participa N N Empregados Projetos coordena 1 2 Empregados Projetos

46 Conceitos do Modelo de Entidade e Relacionamento
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 Lotação (0,N) (1,1) Empregados Departamentos “um empregado obrigatoriamente está lotado no máximo em 1 departamento. Um departamento pode ter até N empregados lotados nele.”

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

48 Conceitos do Modelo de Entidade e Relacionamento
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 Supervisionado (0, N) Supervisão Empregados (0,1) Supervisor “um empregado pode ser supervisionado por no máximo 1 empregado. Um empregado pode supervisionar no máximo N empregados.”

49 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 (0,1) (0,n) Distribuição Cidade Distribuidores (0,n) Produtos Exemplo de determinação de cardinalidade: “um produto em uma cidade pode ser entregue por no máximo 1 distribuidor.”

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

51 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 Modelo Conceitual Modelo Lógico
1:1 1:1 Tem Produto Estoque Produtos Cod_Prod Nom_Prod Estoque_Prod

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

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

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

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

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

58 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 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 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 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 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 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 Adilson Silva adilson.silva@fsm.com.br
Projeto de Banco de Dados Dúvidas!? Adilson Silva


Carregar ppt "Revisão de Banco de Dados"

Apresentações semelhantes


Anúncios Google