Modelagem de Banco de Dados
“Habilidade mental que permite aos seres
humanos visualizarem os problemas do mundo
real com vários graus de detalhe, dependendo
do contexto do problema.”
(J.Rumbaugh - Modelagem e Projetos Baseados em Objetos)
Níveis de Abstração de Informação
(Valdemar W. Setzer) mundo real seres, objetos, organismos, fatos organização; alterações modelo descritivoinformações informais descrições das estruturas edas transações
modelo conceitual
informações formais estruturas de informações; especificações de manipulação
modelo operacional dados
estruturas externas de dados; especificações e programas de manipulação
modelo interno cadeia de bits e bytes
estruturas internas de arquivos e tabelas; programas interpretáveis ou executáveis
(Henry F. Korth)
Visão 1 Visão 2 ... Visão 3 Nível Conceitual
Modelos de Dados
“Coleção de ferramentas conceituais para
descrição de dados, relacionamento entre os
dados, semântica e restrições de dados.”
Níveis de Abstração de Informação
Modelos de Dados
• Modelo Entidade-Relacionamento• Modelo Lógico Relacional • Modelos de dados físicos.
Independência de Dados
“É a capacidade de modificar uma definição de esquema em um nível, sem afetar a definição de esquema em um nível
mais alto”
Independência de dados FÍSICA: capacidade de modificar o
esquema físico sem precisar reescrever os programas de aplicação
Independência de dados LÓGICA: capacidade de modificar o
esquema conceitual sem a necessidade de reescrever os programas de aplicação
Sistema Gerenciador de Banco de Dados (SGBD)
“Um SGBD é uma coleção de programas que permitem ao usuário definir, construir e manipular Bases de Dados para as mais diversas finalidades.”
Características Gerais de um SGBD:
• Interação com o gerenciador de arquivos • Garantia de Integridade
• Garantia de Segurança • Recuperação e Backup • Controle de Concorrência
Administradores e Usuários de Banco de Dados
Administrador de Dados: Desenvolve e administra estratégias, procedimentos, práticas e planos capazes de disponibilizar os dados corporativos necessários, quando necessários, com integridade, privacidade, documentação e compartilhamento. Participa dos levantamentos de dados, e regras de negócio da empresa. Elabora e/ou acompanha a confecção de modelos. Participa do planejamento de sistemas com os modelos lógicos. Participa de pesquisa de softwares de apoio, relacionados a área de AD, assim como SGBD.
Administrador de Banco de Dados: Define a criação do esquema original do banco de dados, a partir dos modelos lógicos. Definição da estrutura de armazenamento e do método de acesso. Modificação da organização física e do esquema. Concessão de autorização para acesso a dados. Especificação de restrições e integridades. Usuários: • Programadores de Aplicação • Usuários Ocasionais • Usuários Simples • Usuários Especializados
Estrutura Geral de Sistema
• Arquivo de Dados: armazenam os dados propriamente ditos.
• Dicionário de Dados: armazena informações sobre a estrutura do banco de
dados.
• Índices: proporcionam acesso rápido aos itens de dados com valores
específicos.
Vantagens dos Bancos de Dados
• Redução ou Eliminação de Redundâncias• Eliminação de Inconsistências • Compartilhamento dos Dados
• Restrições de Segurança • Padronização dos Dados • Independência dos Dados • Manutenção da Integridade
Modelo Entidade-Relacionamento
“O modelo de dados entidade-relacionamento baseia-se na percepção de um universo constituído por um grupo básico de objetos chamados entidades e por relacionamentos entre estes objetos. Ele foi desenvolvido a fim de facilitar o projeto de banco de dados permitindo a especificação de um esquema de
empreendimento. Tal esquema representa a estrutura lógica
O Modelo E-R
O Modelo E-R
• Proposto por Peter Chen [1976]
• “The Entity-Relationship Model: Toward the
unified view of data”
• Notações:
– Chen
– Martin (“pé-de-galinha”)
– Bachman (setas)
O Modelo E-R
O Modelo E-R
Elementos:
– Entidades
Conjuntos de “coisas” que possuem características próprias.
– Atributos
Representam as características de uma Entidade.
– Relacionamentos
Entidade -
Entidade -
conceito
conceito
• conjunto de objetos sobre os quais é preciso
armazenar informações úteis.
• conjunto de vários elementos (mais que 1).
• conjuntos de elementos distinguíveis que aceitam um
código para diferenciá-los.
• seus atributos NÃO dependem de outras entidades.
• conjuntos qualificativos (ex. grau de instrução).
• Ex de possíveis Entidades: pessoas, locais, objetos,
documentos, etc.
Cuidado:
aquilo que é entidade numa circunstância, pode não ser em outra.
Cuidado:
aquilo que é entidade numa circunstância, pode não ser em outra.
Entidade
Entidade
representação
representação
Funcionários Produtos Cargos Notas Fiscaismatricula nome endereço código descrição unidade
número
série data
emissão código
Entidades Fortes e Fracas
• Entidade Forte: é uma entidade que possui atributo
identificador, por definição é uma entidade dominante.
• Entidade Fraca: por definição é uma entidade subordinada.
Para formarmos o atributo identificador de uma entidade fraca, utilizamos o atributo identificador da entidade forte da qual ela é existencialmente dependente mais um conjunto mínimo de atributos que possa identificar uma entidade em um conjunto de entidades fracas.
Entidades Fracas
Entidades Fracas
• Dependem de uma “entidade forte”
• A Entidade Fraca é representada por:
• Dependência de Existência
• Dependência de Identificador
Entidades Fracas
Entidades Fracas
Dependência de Existência
Pertence
Entidades Fracas
Entidades Fracas
Dependência de Identificador
Faz
Atributos
Atributos
conceito
conceito
• informações úteis a respeito de uma entidade
ou relacionamento.
• os atributos de uma entidade permanecem
constantes para todos os seus relacionamentos.
• os atributos de uma entidade são
Atributos
Atributos
tipos
tipos
• determinante:
– seu valor representa um elemento da entidade. – seu valor é único para a entidade.
– deve ser sublinhado. • composto
– necessita ser dividido em sub-atributos, para que seu significado seja melhor compreendido.
• multivalorado
– pode assumir mais do que um valor para cada entidade, é diferenciado com um (*).
Atributos
Atributos
representação
representação
Funcionários Produtos Cargos Notas Fiscaismatricula nome endereço código descrição unidade
número
série data
emissão código
Atributos
Atributos
ex: atributo composto
ex: atributo composto
Funcionários
matricula endereço rua nº CEP
Atributos
Atributos
ex: multi-valorado
ex: multi-valorado
Funcionários matricula * telefoneRelacionamento
Relacionamento
É uma associação entre várias entidades.
Conjunto de Relacionamentos
É um grupo de relacionamentos do mesmo tipo.
• associação entre entidades.
• representam os vínculos que existem entre as entidades no
mundo real.
Mapeamento
Cardinalidade
Expressa o número de entidades ao qual outra entidade pode estar associada via um relacionamento.
Tipos de Cardinalidade:
• Um-para-um (1:1): uma entidade em A está associada a no
máximo uma entidade em B, e uma entidade em B está associada a no máximo uma entidade em A.
• Um-para-muitos (1:N): uma entidade em A está associada a
qualquer número de entidades em B, entretanto uma entidade em B está associada a no máximo uma entidade em A.
• Muitos-para-muitos (N:N): uma entidade em A está associada a
qualquer número de entidades em B, e uma entidade em B está associada a qualquer número de entidades em A.
Exemplo Cardinalidade Um-para-um (1:1) a 2 b1 b2 b3 b4 a 1 a 3 a 4 a 2
Exemplo Cardinalidade Um-para-Muitos (1:N) a 2 b1 b2 b3 b4 a 1 a 3 a 2 b4
Exemplo Cardinalidade Muitos-para-Muitos (N:N) a 2 b1 b2 b3 b4 a 1 a 3 a 4 a 2
Dependência Existencial:
se a existência da entidade x depende da existência da entidade
y, então diz-se que x é existencialmente dependente de y. A
entidade y é chamada dominante e x é chamada subordinada.
a 2 b1 b2 b3 b4 a 1 a 3 a 2 b4 a2 b1 b2 a1 a3 b4
Diagrama Entidade-Relacionamento (MER)
• Entidade: representada por retângulos.• Atributos: representados por círculos ou elipses.
• Relacionamentos: representados por losangos ligados às
entidades por linhas.
Cliente nome endereço rg CC saldo numero ClienteConta
Diagrama Entidade-Relacionamento (MER)
Cliente nome endereço rg CC saldo numero ClienteConta 1 1 Cliente nome endereço rg CC saldo numero ClienteConta 1 N Cliente nome endereço rg CC saldo numero ClienteConta N NDiagrama Entidade-Relacionamento (MER)
Cliente nome endereço rg CC saldo numero ClienteConta 1 1-N Cliente nome endereço rg CC saldo numero ClienteConta 1-2 N Aluno nome endereço rg Disciplina Prof Nome Matricula 30 NDiagrama Entidade-Relacionamento (MER)
Empregado nome endereço rg Trabalha para 1 N gerente funcionárioEntidade Fraca
CC Transações data numero CCTransação 1 N saldo numero valorDiagrama Entidade-Relacionamento (MER)
Grau do Relacionamento
Empregado nome endereço rg Trabalha para 1 N gerente funcionário Unário CC Transações data numero CCTransação 1 N saldo numero valor BinárioDiagrama Entidade-Relacionamento (MER)
Grau do Relacionamento
Cliente nome endereço rg 1-2,1-N CC Agência nome ClienteCCGerente 1-N,1-N 1,N saldo numero TernárioDiagrama Entidade-Relacionamento (MER)
Dependência Existencial ou
Relacionamento Parcial
CC Transações data numero CCTransação 1 N saldo numero valorNem todas as contas correntes precisam conter transações, mas todas as transações devem se relacionar com uma conta corrente.
Diagrama Entidade-Relacionamento (MER)
Atributos de Relacionamentos
Cliente nome endereço rg CC saldo numero ClienteConta N N rg numeroDiagrama Entidade-Relacionamento (MER)
Especialização ou Generalização
Conta saldo numero é uma Poupança juros Corrente descobertoEspecialização ou Generalização
As especializações se utilizam de herança para compartilhar atributos e/ou relacionamentos. Isto quer dizer que as entidades Popança e Corrente possuem todos os atributos e relacionamentos da entidade Conta, mas a entidade Conta não possua os relacionamentos e atributos das entidades especializadas. Diz-se que a entidade superior (Conta) é a entidade Mãe. E as entidades inferiores (Poupança e Corrente) são entidades Filho. Desta forma é fácil fazer a analogia de que os filhos herdam as características dos pais, e nunca o contrário.
Diagrama Entidade-Relacionamento (MER)
Agregação
Funcionário N Trabalha N Projeto
Máquina Usa
N 1
Diagrama Entidade-Relacionamento (MER)
Simplificando Relacionamentos
Cliente nome endereço rg CC saldo numero ClienteConta N N rg numero Cliente nome endereço rg CC saldo numero ClienteConta N N rg numero 1 1Integridade
Um meio de assegurar que mudanças feitas no
banco de dados, não resultem em perdas e/ou
inconsistências dos dados.
Tipos de Restrição
Declarações de Chave: O conjunto de restrições e atualizações válidas é
restringido àquelas que não criam duas entidades com o mesmo valor numa chave candidata.
Cardinalidade: Restringe o conjunto de relacionamentos válidos entre
entidades.
Tipo de Domínio: Restringe o atributo a um tipo específico de dado. Os tipos
variam de acordo com o SGBD usado.
Integridade Referencial: Assegura que um valor que aparece em uma relação
para um dado conjunto de atributos apareça também em um certo conjunto de atributos em outra relação.
Tipos de Restrição
Dependências Funcionais
EMPRESTIMO (num_emprestimo,agencia, cpf, quantia)
num_emprestimo quantia Dependências Funcionais A B C D a1 b1 c1 d1 a1 b2 c1 d2 a2 b2 c2 d2 a2 b3 c2 d3 a3 b3 c2 d4 A A A C AB D AB A D C
A partir das dependências dadas acima, encontre mais 5 dependências.