4. Modelos de Bases de Dados - Definição
Uma das características fundamentais da abordagem de base de dados
é que ela providencia algum nível de asbtração.
Asbtração de dados geralmente refere-se a omissão de detalhes de
organização e armazenamento, focando-se nas características assenciais
para a compreensão dos dados.
Modelo de dados é um conjunto de conceitos que podem ser usados
para descrever a estrutura de uma base se dados – fornecendo os
meios necessários para atingirmos a abstração.
5. Modelos de Bases de Dados - Categorias
Model Concepual
▫ Representação o mais aproximado possível da realidade a modelar, sem considerar restrições
técnicas ao nível da implementação.
▫ Fornece conceitos que estão próximos do modo como muitos usuários percebem dados.
Modelo Lógico
▫ Leva em conta algumas limitações e implementa recursos como adequação de padrão e
nomenclatura, define as chaves primárias e estrangeiras, normalização, integridade referencial,
entre outras.
Modelo Físico
▫ Adaptação do modelo conceptual construído anteriormente às características de um sistema
informático específico.
▫ Fornece conceitos que descrevem os detalhes de como os dados são armazenados na mídia de
armazenamento do computador.
6. Modelos de Bases de Dados - Exemplos
Figura 1: Exemplos de Modelos de Base de Dados
7. Modelo Conceptual
Abordagem
Processo de Design
Modelo Conceptual de Entidade Relação
Schema de Dados
Dependência de Dados
Generelazição e Especialização
8. Modelo Conceptual - Abordagem
Esquematização dos dados necessários para um conjunto de aplicações,
visualizando simultaneamente o relacionamento existente entre eles. O
modelo produzido auxiliará à criação da Base de Dados pretendida.
Existem normalmente duas abordagens para a concepção e modelação
de uma base de dados:
Abordagem Bottom-Up
Abordagem Top-Down
9. Modelo Conceptual - Abordagem Bottom-Up
Começa pela identificação dos itens mais elementares de informação (atributos) e
prossegue agrupando-os e identificando os relacionamentos entre eles. Esta é a
metodologia mais comummente utilizada no processo de construção de bases de
dados, sendo normalmente composta pelas seguintes fases:
▫ Modelo Entidade / Relacionamento
▫ Análise das dependências funcionais
▫ Construção do modelo
10. Modelo Conceptual - Abordagem Top-Down
Normalmente mais utilizada em grandes projectos, onde a quantidade e
complexidade da informação a modelar é elevada. Começa pela identificação de
grandes objectos de informação (entidades). Identifica os relacionamentos entre
entidades e os atributos que compõem cada uma.
Apresenta como principais vantagens:
▫ Construção faseada
▫ Facilita a comunicação entre o analista (autor do modelo) e o implementador.
▫ Não exige o levantamento antecipado de todos os itens de informação (atributos) a
incluir na base de dados.
▫ Facilidade em lidar com grandes quantidades de informação.
11. Modelo Conceptual – Processo de Design
Primeira fase: Colecta e Análise de Requisitos
▫ Resultado: Requisitos Funcionais (Consiste em operações e transações definidadas pelos usuários)
▫ São usadas ferramentas como diagramas de fluxo e de sequência para especificar estes requisitos.
Segunda fase: Desenho Conceptual (Criação do Esquema Conceptual)
▫ Construção faseada
▫ Facilita a comunicação entre o analista (autor do modelo) e o implementador.
Terceira fase: Desenho Lógico (Criação do Esquema Conceptual)
▫ Construção faseada
▫ Facilita a comunicação entre o analista (autor do modelo) e o implementador.
13. Modelo Conceptual de Entidade Relação (E-R)
Entidade
Atributo
Relação
Diagrama de Representação E-R
14. Modelo Conceptual de E-R - Entidade
Entidade: Qualquer objecto ou conceito com interesse para a
organização a respeito da qual é necessário registar informação. Esta
deve poder ser identificada de forma unívoca.
Uma entidade pode ser um objeto do mundo real, animado ou
inanimado, que pode ser facilmente identificável. Por exemplo, numa
base de dados de uma escola, os “estudntes”, “professores”,
“disciplinas” e “cursos” podem ser considerados como entidades.
Todas essas entidades tem alguns atributos ou propriedades que lhes
dão sua identidade.
16. Modelo Conceptual de E-R – Atributo: Definição
▫ As entidades são representadas por meio de suas propriedades chamadas
atributos. Todos atributos possuem valores. Por exemplo, uma entidade
“estudante” pode ter nome, classe e idade como atributos.
▫ Os atributos ser elementos atómicos de informação.
▫ Existe um domínio ou intervalo de valores que podem ser atribuídos a
atributos.
17. Modelo Conceptual de E-R – Atributo: Tipos de Atributos
▫ Simples: Atributos simples são valores atômicos, que não podem ser dividido ainda mais. Por
exemplo, o número de telefone de um estudante é um valor atômico de 9 dígitos.
▫ Compostos: Atributos compostos são formados a partir de mais de um atributo simples. Por
exemplo, o nome completo de um estudante pode ser composto pelo primeiro_nome e pelido.
▫ Derivados (de Estado): são os atributos que não existem na base de dados física, mas seus valores
são derivados de outros atributos presentes na base de dados. São atributos cujos valores variam
ao longo do ciclo de vida da entidade. Por exemplo, salario_medio em um departamento não
deve ser guardado diretamente na base de dados, mas sim derivado. Um outro exemplo, a idade
pode ser derivada da data_de_nascimento.
▫ Uni-valor: Atributos que contêm valor único. Para exemplo: numero_de_bi e numero_de_inss.
18. Modelo Conceptual de E-R – Atributo: Tipos de Atributos (cont.)
▫ Multi-valor: Atributos multi-valor podem conter mais de um valores. Por
exemplo, uma pessoa pode ter mais de um número de telefone, email, etc.
▫ Atributos descritivos: Atributos que caracterizam uma entidade e cujos
valores para, cada ocorrência da entidade, são (quase) imutáveis ao longo
do seu ciclo de vida.
19. Modelo Conceptual de E-R – Atributo: Chaves
▫ Chave: é um atributo ou conjunto de atributos que identifica exclusivamente uma
entidade entre um conjunto de entidades.
▫ Super chave: Um conjunto de atributos (um ou mais) que identifica
coletivamente uma entidade em um conjunto de entidades.
▫ Chave candidata: Uma superchave mínima é chamada de chave candidata. Um
conjunto de entidade pode ter mais de uma chave candidata.
▫ Chave primária: Uma chave primária é uma das chaves candidatas escolhidas
pelo designer de base de dados para identificar exclusivamente o conjunto de
entidades.
20. Modelo Conceptual de E-R - Relação
Definição
Grau de relacionamento
Cardinalidade
Dependência
21. Modelo Conceptual de E-R – Relação: Definição
A associação entre entidades é chamada de relacionamento. Por
exemplo, um Funcionário “trabalha” num Departamento, um
Estudante “matricula-se” num curso. Aqui, “trabalha” e “matricula-se”
são chamados relacionamentos.
Um conjunto de relacionamentos do mesmo tipo é chamado de
conjunto de relacionamentos. Entidades semelhantes, um
relacionamento também pode ter atributos. Esses atributos são
chamados de atributos descritivos.
22. Modelo Conceptual de E-R –
Relação: Definição
Figura 3: Conjunto de relacionamentos
23. Modelo Conceptual de E-R – Relação: Grau de Relacionamento
O número de entidades participantes em um relacionamento define o grau
do relação.
Unária (grau 1)
Binária (grau 2)
Ternária (grau 3)
N-nária (grau n)
Figura 4: Relacionamento unário
Figura 5: Relacionamento ternário
24. Modelo Conceptual de E-R – Relação: Cardinalidade
A cardinalidade define o número de entidades em um conjunto de
entidades, que pode ser associado a um número de entidades de outro
conjunto de entidades, por meio de um relacionamento.
Um-Para-Um
Um-Para-Muitos
Muitos-Para-Muitos
Figura 6: Cardinalidade 1:1, 1:N, N:1 e N:M
25. Modelo Conceptualde E-R – Relação: Cardinalidade (cont.)
Cardinalidade Máxima e Mínima
▫ 0,1 – cada ocorrência da entidade participa, no máximo, uma vez na relação
▫ 1,1 – cada ocorrência da entidade participa uma e só uma vez na relação
▫ 0, n – cada ocorrência da entidade pode participar ou não na relação mais que
uma vez
▫ 1,n – cada ocorrência da entidade participa pelo menos uma vez na relação
26. Modelo Conceptual de E-R – Diagrama de Representação
Entidades
Atributos
Relações
27. Modelo Conceptual de E-R – Adiagrama de Representação: Entidades
O objeto básico que o modelo ER representa é uma entidade, que é
uma coisa no mundo real com uma existência independente.
Uma entidade é representada por meio de um rectângulo.
Figura 7: Representão de Atributos
28. Modelo Conceptual de E-R – Adiagrama de Representação: Atributos
Atributos são as propriedades das entidades. Atributos são
representados por meio de elipses. Cada elipse representa um
atributo e está diretamente ligada à sua entidade (retângulo).
Figura 8: Atributos simples
29. Modelo Conceptual de E-R – Adiagrama de Representação: Atributos (cont.)
Atributos compostos: são divididos em uma estrutura semelhante a uma árvore, e são
representado por elipses ligadas a uma elipse.
Atributos multi-valor: são representados por elipse dupla.
os atributos são representados por elipse dupla.
Figura 9: Atributo composto Figura 10: Atributo multi-valor
Figura 5: Atributo composto
30. Modelo Conceptual de E-R – Adiagrama de Representação: Atributos (cont.)
Atributos derivados: são representado por elipses tracejadas.
Figura 11: Atributo derivado
YEAR
31. Modelo Conceptual de E-R – Diagrama de Representação: Relações
Relacionamentos são representados por caixa em forma de losângulo. O
nome do relacionamento é escrito dentro da caixa. Todas as entidades
(retângulos) que participam de um relacionamento estão ligados a ela
por uma linha.
Figura 12: Relacionamento entre entidades
32. Modelo Conceptual de E-R – Diagrama de Representação: Relações (cont.)
Relacionamentos binários e sua cardinalidade
▫ Um relacionamento onde participam duas entidades é chamado relacionamento binário.
▫ Cardinalidade:
1 para 1 (1:1)
1 para N (1:N)
N para 1 (N:1)
N para M (N:M)
Figura 13: Cardinalidade 1:1
Figura 14: Cardinalidade 1:N
Figura 15: Cardinalidade N:1
Figura 16: Cardinalidade N:M
33. Modelo Conceptual de E-R – Diagrama de Representação: Relações (cont.)
Restrições de participação
▫ Participação total: Cada entidade está envolvida no relacionamento. A participação é
representada por linhas duplas.
▫ Participação parcial: nem todas as entidades estão envolvidas no relacionamento. A participação
parcial é representada por uma linha única.
Figura 16: Participação total e partial
35. Schema de Dados: Schema de Base de Dados
• Um schema de base de dados é a estrutura esqueletica que representa a
visualização lógica de toda base de dados. Ele define como os dados são
organizados e como as relações entre eles estão associados. Ele formula todas as
restrições que devem ser aplicadas aos dados.
• Um schema de base de dados define suas entidades e o relacionamento entre elas,
contém um detalhe descritivo da base de dados, e que pode ser representado por
meio de diagramas de schema. É função dos designers de base de dados projetarem
o schema para ajudar os programadores a entenderem a base de dados.
• Um schema de base de dados pode ser dividido em duas categorias:
▫ Física; e
▫ Lógica.
36. Schema de Dados: Schema de Base de Dados (cont.)
• Schema Físico: este esquema pertence ao armazenamento real dados e
na sua forma de ficheiros, índices, etc. Ele define como é que os dados
serão armazenados em dispositivos de armazenamento secundários.
• Schema Lógico: Este esquema define todas as regras lógicas restrições
que precisam ser aplicadas aos dados armazenados. Ele define tabelas,
visualizações e restrições de integridade.
38. Schema de Dados: Instância de Base de Dados
• É importante distinguir esses dois termos individualmente. Schema de Base
de dados é o esqueleto da base de dados. Ele é desenvolvido quando a base
de dados não existe. Uma vez que o base de dados esteja operacional, é
muito difícil fazer qualquer alteração a sua estrutura. Um schema de base de
dados não contém nenhum dado ou informação.
• Instância de base de dados é um estado da base de dados operacional e com
dados em num dado instante de tempo. Ela contém um snapshot da base de
dados. Instâncias de base de dados tendem a mudar com tempo. Um SGBD
garante que todas as suas instâncias (estado) estejam em um estado válido,
diligentemente seguindo todas as validações, restrições e condições que o
designers de base de dados impuseram.
40. Dependência de Dados: Metadados
• Um sistema de base de dados normalmente contém muitos dados, para além
dos dados dos usuários. Para Por exemplo, ele armazena dados sobre dados,
conhecidos como metadados, que permitem localizar e recuperar dados
facilmente. É bastante difícil modificar ou atualizar um conjunto de
metadados, uma vez armazenados na base de dados. Mas, à medida que o
SGBD se expande, ele precisa mudar com o tempo para satisfazer os
requisitos dos usuários. Se todos os dados forem dependentes, tornar-se-ia
um trabalho tedioso e altamente complexo.
• Os metadados por sí seguem uma arquitetura em camadas; portanto, quando
alteramos os dados em uma camada, não afeta os dados em outro nível.
Estes dados são independentes mas mapeados um para o outro.
41. Dependência de Dados: Dependência Lógica
• Dados lógicos são dados sobre a base de dados, ou seja, armazenam
informações sobre como os dados são mantido/geridos por dentro. Por
exemplo, uma tabela (relação) armazenada na base de dados e todas as
restrições aplicadas a essa relação.
• A independência lógica dos dados é um tipo de mecanismo que se
liberaliza de dados reais armazenados no disco. Se fizermos algumas
alterações no formato da tabela, não deve alterar os dados residentes
no disco.
42. Dependência de Dados: Dependência Física
• Todos os esquemas são lógicos e os dados reais são armazenados em
formato de bit no diretório disco. Independência físicos de dados é o
poder de alterar os dados físicos sem afetar o esquema ou os dados
lógicos.
• Por exemplo, caso desejemos alterar ou atualizar o próprio sistema de
armazenamento - suponha que queremos substituir discos rígidos por
SSD - ele não deve ter nenhum impacto nos dados ou esquemas lógicos.
44. Generalização e Especialização: Generalização
O Modelo ER tem o poder de expressar entidades de uma base de
dados de maneira hierárquica. À medida que a hierarquia sobe, ela
generaliza a visão das entidades, e à medida que descemos na
hierarquia, ele nos dá os detalhes de cada entidade.
O processo de agregação de entidades numa só entidade, onde esta
entidade contêm as propriedades de todas as entidades agregadas, é
chamado generalização.
46. Generalização e Especialização: Especialização
A especialização é o oposto de generalização. Na especialização, um grupo de
entidades é dividido em subgrupos com base em suas características.
Figura 19: Especialização
47. Generalização e Especialização: Herança
• Todos os recursos acima do Modelo de ER são utilizados para criar
classes de objetos em programação orientada a objetos. Os detalhes
das entidades geralmente estão ocultados do usuário; esse processo
conhecido como abstração.
• A herança é uma característica importante da Generalização e
Especialização. Ela permite que as entidades de nível inferior herdem os
atributos de entidades de nível superior.