banco de dados revisão de banco de dados banco de dados adilson silva [email protected]

64
Banco de Dados Revisão de Banco Revisão de Banco de Dados de Dados Banco de Dados Adilson Silva [email protected]

Upload: internet

Post on 17-Apr-2015

173 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de Dados

Revisão de Banco Revisão de Banco de Dadosde Dados

Banco de Dados

Adilson [email protected]

Page 2: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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.

Page 3: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 4: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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.

Page 5: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de Dados

Arquitetura de um SGBD

processador de consultas

gerenciador de

transações

gerenciador de armazenamento

Dados e Metadados

Modificação do esquema

Consulta Modificação dos dados

Page 6: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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);

Page 7: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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.

Page 8: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 9: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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)

Page 10: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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).

Page 11: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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.

Page 12: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de Dados

Gerenciador de Armazenamento

motor de execução

(execution engine)

gerenciador de espaço em disco

Disco

gerenciador de buffer

pool

MEMÓRIA

Page 13: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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. 

Page 14: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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.

Page 15: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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.

Page 16: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de Dados16

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)

Page 17: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de Dados17

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

Page 18: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de Dados18

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

Page 19: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 20: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 21: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 22: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 23: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 24: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 25: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 26: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 27: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de Dados

O mal uso do banco de dados pode ser considerado:

• Intencional;

• Acidental;

Segurança de Dados

Page 28: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 29: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 30: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 31: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 32: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 33: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 34: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 35: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 36: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 37: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de Dados

Modelagem

Atividade de modelagem de dados em diversosní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, ...

Page 38: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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, ...

Page 39: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de DadosProjeto 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

Page 40: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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ânguloNome da entidade deve ser um substantivo no singularSe Nome composto separar por HífenUsar terminologia do usuário

Funcionário

Page 41: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 42: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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.

Page 43: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de DadosProjeto 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

Empregados DepartamentosLotação

Page 44: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de DadosProjeto 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)

Empregados DepartamentosLotação

“um empregado está lotado no máximo em 1 departamento. Um departamento tem até N empregados lotados nele.”

N 1

Page 45: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de DadosProjeto de Banco de Dados

Conceitos do Modelo de Entidade e Relacionamento

Exemplos de Cardinalidade Máxima

Empregados DepartamentosGerência1 1

Empregados ProjetosParticipaN N

Empregados Projetoscoordena1 2

Page 46: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de DadosProjeto 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

Empregados DepartamentosLotação(0,N) (1,1)

“um empregado obrigatoriamente está lotado no máximo em 1 departamento. Um departamento pode ter até Nempregados lotados nele.”

Page 47: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de DadosProjeto de Banco de Dados

Conceitos do Modelo de Entidade e Relacionamento

Exemplos de Cardinalidade Máxima e mínima

Empregados DepartamentosGerência(1,0) (1,0)

Empregados ProjetosParticipa(0,N)

Empregados Projetoscoordena(1,1) (1,2)

(0,N)

Page 48: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de DadosProjeto 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áximo1 empregado. Um empregado pode supervisionar no máximo N empregados.”

Page 49: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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,n)

(0,1)

Exemplo de determinação de cardinalidade: “um produto emuma cidade pode ser entregue por no máximo 1 distribuidor.”

Page 50: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Empregados ProjetosLotação

(0,N) (0,N)

Nome

Telefones

Endereço

RuaNúmero

Cidade

MatrículaCPF

Page 51: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 52: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de Dados

Modelo Conceitual Modelo Lógico

Produto Tem Estoque1:1

1:1

Cod_ProdNom_Prod

Estoque_Prod

Produtos

Page 53: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de Dados

Modelo Conceitual Modelo Lógico

Departamento Tem Funcionário1:1 0:N

Cod_Dep (CP)Nom_DepSigla_Dep

Departamento

Matricula (CP)Nome

Cod_dep (CE)

Funcionário

Page 54: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de Dados

Modelo Conceitual Modelo Lógico

Dependente Tem Funcionário0:N 1:1

Cod_Depe (CP)Nom_Dep

Matricula (CE)

Dependente

Matricula (CP)Nome

Funcionário

Page 55: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de Dados

Modelo Conceitual Modelo Lógico

Disciplina Cursa Aluno0:N 0:N

Cod_DiscNom_Disc

Carg_Hor_Dis

Disciplina

Matricula (CP)Nome

Aluno

Cod_Disc (CP/CE)Matricula (CP/CE)

Page 56: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de Dados

Modelo Conceitual Modelo Lógico

Funcionário Supervisiona

Matricula (CP)Nome

Matricula2(CE)

Funcionário

1:1

0:N

Page 57: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de Dados

Modelo Conceitual Modelo Lógico

Disciplina Pre_Requisito

Cod_disc (CP)Nome_disc

Carg_Hor_Disc

Disciplina

0:N

0:N

Cod_disc_Pre(CE)Cod_Dis_Pos (CE)

Pre_requisito

Page 58: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 59: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de DadosBanco de Dados Objeto-RelacionalModelos 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 objetosAs extensões incluem consultas envolvendo objetos,

atributos multivalorados, TADs, métodos e funções como predicados de busca em uma consulta

Page 60: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 61: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

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

Page 62: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de DadosBenefícios do Modelo de Dados Objeto-Relacional

Nova FuncionalidadeAumenta indefinidamente o conjunto de tipos e

funções fornecidas pelo SGBD

Desenvolvimento de aplicações simplificadoReuso de código

ConsistênciaPermite a definição de padrões, código reusável por

todas as aplicações

Page 63: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de DadosLinguagem de Consultas paraBancos 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

Page 64: Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva adilson.silva@fsm.com.br

Banco de Dados

Dúvidas!?

Adilson [email protected]

Projeto de Banco de Dados