banco de dados - introdução - projeto de banco de dados - der
DESCRIPTION
Material sobre Banco de Dados para aulas da disciplina na Faculdade Vale do Salgado - Icó. Roteiro do Material: - Introdução - Modelos de Dados - Projeto de Banco de Dados - Abordagem Entidade-RelacionamentoTRANSCRIPT
![Page 1: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/1.jpg)
Banco de Dados
Introdução a Banco de Dados
1
![Page 2: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/2.jpg)
Quem é esse professor?
Rangel Xavier
26 anos
Juazeiro do Norte
Sistemas de Informação
Frontend e Design
Teacher FJN and FVS
Up Marketing Digital
2
![Page 3: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/3.jpg)
O que é um Banco de Dados??
3
![Page 4: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/4.jpg)
Alguns termos típicos
Dados – fatos que podem ser armazenados ex:nomes, telefones, endereços
Banco de dados – coleção de dados relacionados logicamente, ex: agenda de telefones
Sistema de Gerência de Bases de Dados (SGBD) – coleção de programas que permite a criação e gerência de bases de dados ou Sistemas de Banco de dados
4
![Page 5: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/5.jpg)
Propriedades do termo Banco de Dados
O termo Banco de Dados é muito genérico, vamos há algumas propriedades:
1. Representa algum aspecto do mundo real
2. É uma coleção logicamente coerente de dados com algum significado coerente
3. É projetado, construído e populado com dados para uma finalidade específica
5
![Page 6: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/6.jpg)
Exemplo
www.amazon.com
Contém dados de mais de 20 milhões de livros,
CDs, vídeos, DVDs, jogos, eletrônicos, etc... Cerca de 15 milhões de usuários acessam o amazon.com todos os dias e utilizam o banco
de dados para realizarem compras
6
![Page 7: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/7.jpg)
Banco de Dados + Software de
SGBD = Sistema de Banco de Dados
7
![Page 8: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/8.jpg)
Ambiente de Sistema de Banco de Dados
8
![Page 9: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/9.jpg)
Um banco de dados pode ser criado e mantido
manualmente, ou pode ser computadorizado!
9
![Page 10: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/10.jpg)
Motivação
Sistema de Banco de Dados X Sistemas de Arquivos
Antes de SGBDs as aplicações utilizavam sistemas de arquivos do Sistema Operacional.
10
![Page 11: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/11.jpg)
Exemplo
Banco de dados UNIVERSIDADE para manter informações referentes a alunos, disciplinas e notas em um ambiente universitário
11
![Page 12: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/12.jpg)
Exemplo
12
![Page 13: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/13.jpg)
Exemplo
13
![Page 14: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/14.jpg)
Manipulação do banco de dados
Recuperar uma lista de todas as disciplinas e notas de ‘Silva’
Listar os pré-requisitos do curso de ‘Banco de Dados’
Alterar o tipo de aluno de ‘Silva’ para segundo ano
Criar uma outra turma para a disciplina ‘Banco de Dados’
14
![Page 15: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/15.jpg)
Sistema de Banco de Dados versus Sistema de Arquivos
15
![Page 16: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/16.jpg)
Características da abordagem de banco de dados
Abordagem de banco de dados versus a abordagem de sistemas de arquivos:
• Isolamento entre programas e dados, e abstração de dados (Estrutura de Arquivos é armazenada no catalogo do SGBD)
• Suporte de múltiplas visões de dados
• Compartilhamento de dados e processamento de transações multiusuário (Vários Usuários Acessam)
16
![Page 17: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/17.jpg)
Atores em Cena
Administradores de banco de dados – autoriza o acesso ao banco de dados, coordena e monitora o seu uso e adquire recursos de software e hardware conforme a necessidade.
Projetistas de banco de dados – identificar os dados a serem armazenados e escolher estruturas apropriadas para representar e armazenar esses dados.
Usuários Finais - pessoas que irão ter acesso ao banco de dados para consultas, atualizações e geração de relatórios.
17
![Page 18: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/18.jpg)
Atores em Cena
Analistas de Sistemas e Programadores – Analistas de Sistemas identificam as necessidades dos usuários finais. Os Programadores implementam as necessidades dos usuários finais. Esses analista/programadores devem estar familiarizados com todo o conjunto de capacidades fornecidos pelos SGBDs.
18
![Page 19: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/19.jpg)
Vantagens de usar a abordagem SGBD
Controlando a Redundância – Centralizar as informações para evitar que os mesmo dados sejam inseridos em vários lugares. Utilizar chaves primárias e chaves estrangeiras...
Restringindo o acesso não autorizado – Permitir que apenas usuários autorizados tenham acesso as informações, e garantir que os mesmo só acessarão o que foi definido para os mesmos...
19
![Page 20: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/20.jpg)
Vantagens de usar a abordagem SGBD
Oferecendo backup e recuperação – Um SGBD precisa oferecer recursos para recuperar-se de falhas de hardware ou software.
Oferecendo múltiplas interfaces do usuário – Dependendo do usuário que utiliza um banco de dados, o SGBD deve oferecer uma variedade de interfaces de usuário.
Representando relacionamentos complexos entre dados - Um SGBD deve ser capaz de representar uma série de relacionamentos complexos entre dados (1-1; N-M; 1-M...)
20
![Page 21: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/21.jpg)
Vantagens de usar a abordagem SGBD
Impondo restrições de integridade – por exemplo o campo TIPO_ALUNO da tabela ALUNO deve ser um inteiro de um digito e que o valor de NOME precisa ser um alfa numérico de até 30 caracteres. Outros exemplo: chaves.
21
![Page 22: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/22.jpg)
Vantagens de usar a abordagem SGBD
Implicações adicionais do uso da abordagem de banco de dados:
- Potencial para garantir padrões – definir e impor o uso de padrões entre os usuários do banco
- Flexibilidade – poder alterar a estrutura do banco de dados a medida que as necessidades mudam
- Disponibilidade de informações atualizadas – torna um banco de dados disponível a todos os usuários
22
![Page 23: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/23.jpg)
Desvantagens dos SGBD
23
Aumento de Custos – Exigem hardware e software sofisticados, e pessoal altamente treinado
Complexidade de Gerenciamento
Manutenção do Banco de Dados Atualizado
![Page 24: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/24.jpg)
SGBD: Funcionamento
24
![Page 25: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/25.jpg)
S.A: Funcionamento
25
![Page 26: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/26.jpg)
Quando usar Sistema de Arquivos?
Quando não houver muitas mudanças;
Apenas um usuário
26
![Page 27: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/27.jpg)
Vamos entender uma coisa...
Dados
Campos
Registros
Arquivos
27
![Page 28: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/28.jpg)
Campos
É a unidade básica formadora de um registro. Constitui a célula da informação. É a menor porção de um arquivo que pode ser referenciada por um programa.
Cada campo possui NOME, TIPO (Texto, Numero, Data) e TAMANHO (30, 1, 20).
28
![Page 29: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/29.jpg)
Registro
Um registro é constituído por conjunto de campos valorados (contendo dados). Consiste na unidade de armazenamento e recuperação da informação em um arquivo. Geralmente, os registros de um arquivo possuem um formato padrão definido pela sequencia, tipo e tamanho dos campos que o compõem.
29
![Page 30: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/30.jpg)
Arquivo
Um arquivo é uma coleção de REGISTROS do mesmo tipo, ou seja, referentes a um mesmo assunto e com o mesmo formato padrão.
30
![Page 31: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/31.jpg)
Projeto de Banco de Dados
Projeto Físico
Projeto Lógico
Projeto Conceitual
Requisitos de Dados
31
![Page 32: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/32.jpg)
Conceitual
O projeto conceitual inicia a partir das especificações e abstrações do mundo real e resulta no esquema conceitual de banco de dados
32
Registra QUE dados podem aparecer no banco, mas não registra COMO estes dados estão
armazenados no SGBD
![Page 33: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/33.jpg)
Conceitual
A técnica mais difundida de modelagem conceitual é a abordagem entidade-relacionamento (ER). Nesta técnica, um modelo conceitual é usualmente representado através de um diagrama, chamado diagrama entidade-relacionamento (DER)
33
![Page 34: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/34.jpg)
Lógico
O projeto lógico consiste no mapeamento do esquema conceitual para o modelo de dados do SGBD adotado, resultando em um esquema lógico.Um esquema lógico é uma descrição da estrutura do banco de dados que pode ser processada por um SGBD. Os modelos lógicos mais utilizados pertencem a três classes: relacional, redes e hierárquico, sendo amplamente utilizado o modelo relacional
34
![Page 35: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/35.jpg)
Físico
O projeto físico inicia-se a partir do esquema lógico e resulta no esquema físico. Um esquema físico é uma descrição da implementação do bando de dados e é direcionado para um SGBD específico.
35
![Page 36: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/36.jpg)
“Exercício”
Descreva um modelo conceitual para armazenar os dados de livros.
Descreva um modelo conceitual para armazenar clientes em um hotel.
Descreva um modelo conceitual para guardar automóveis.
36
![Page 37: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/37.jpg)
Modelo de Dados
Os SGBD’s utilizam diferentes formas de representação, ou modelos de dados, para descrever as estrutura das informações contidas em seus banco de dados.
37
![Page 38: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/38.jpg)
Modelo de Dados
Hierárquico
Redes
Relacional
Orientado a Objeto
38
![Page 39: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/39.jpg)
Hierárquico
Criada em 1960;
Projetos complexos como o do foguete Apollo;
Estrutura lógica é representada por uma estrutura de arvore. “De cima para baixo”
Difícil de implementar e gerenciar e não dispunha de independência estrutural.
39
Modelos de Dados
![Page 40: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/40.jpg)
Hierárquico
Neste modelo os dados são estruturados em hierarquia ou arvores. Os “nós” das hierarquias contêm ocorrências de registros, onde cada registro é uma coleção de campos, contendo apenas uma informação
40
Modelos de Dados
![Page 41: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/41.jpg)
Hierárquico
41
![Page 42: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/42.jpg)
Rede
Eliminou o Modelo Hierárquico, permitiu que um mesmo registro estivesse envolvido em várias associações.
42
Modelos de Dados
![Page 43: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/43.jpg)
Rede
43
![Page 44: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/44.jpg)
Relacional
A estrutura fundamental do modelo Relacional é a relação (tabelas).
Não tem caminho pre-definidos para fazer acesso aos dados como os modelos passado;
44
Modelos de Dados
![Page 45: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/45.jpg)
Relacional
45
![Page 46: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/46.jpg)
Orientada a Objeto
O dados e relacionamentos são contidos em uma única estrutura chamada de objeto.
O objeto inclui informações sobre o relacionamento entre os fatos em seu interior, e também relacionamento com outros objetos.
46
Modelos de Dados
![Page 47: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/47.jpg)
Orientada a Objeto
O modelo de dados OO baseia-se nos seguintes componentes:
Objeto: É uma abstração de uma entidade real;
Atributos: Descrevem as propriedades ou características de um objeto.
Classes: Objetos que tem características similares são agrupados em classes.
47
Modelos de Dados
![Page 48: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/48.jpg)
Orientada a Objeto
Os modelos de dados orientados a objetos normalmente são representados por um diagrama de classe em UML.
UML: Unified Modeling Language. É uma linguagem (baseada em OO) que descreve um conjunto de diagramas que podem ser utilizadas para modelar graficamente um sistema.
48
Modelos de Dados
![Page 49: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/49.jpg)
Modelagem de Dados
49
![Page 50: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/50.jpg)
Modelagem
50
![Page 51: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/51.jpg)
É um padrão para a modelagem conceitual.
Criada em 76 por Peter Chen que junto com alguns conceitos apresenta uma notação gráfica para diagramas.
51
Abordagem Entidade-Relacionamento
![Page 52: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/52.jpg)
Carateristicas
Ser um modelo simples, com poucos conceitos;
Representação gráfica de fácil compreensão.
Um esquema conceitual de dados também é chamado de esquema ER, diagrama ER ou modelo ER.
52
![Page 53: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/53.jpg)
Abordagem Relacional
É a utilização de conceitos de entidade e relacionamento para criar as estruturas que irão compor o Banco de Dados.
Maior erro nesta fase é admitir que já sabe tudo para ser feito.
53
![Page 54: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/54.jpg)
Abordagem Relacional
Para minimizar problemas, deve-se criar uma estrutura gráfica que permite identificar as entidades de um sistema e como estas se relacionam.
54
![Page 55: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/55.jpg)
Objetivo da Modelagem
Desenvolver um modelo que contem entidades e relacionamentos, e seja capaz de representas os requerimentos das informações do negócio, evitando redundâncias, inconsistências e economia de espaço.
55
![Page 56: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/56.jpg)
Objetos Conceituais
A ER é a técnica mais utilizada para modelagem;
O modelo de dados é representado através de um modelo entidade-relacionamento (MER), que graficamente é chamado de Diagrama entidade-relacionamento (DER).
56
![Page 57: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/57.jpg)
Entidades e Relacionamentos
O que são Entidades e Relacionamentos?
Estes são o conceito principal/inicial para criar um diagrama;
57
![Page 58: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/58.jpg)
Entidade
São objetos que existem no mundo real com uma identificação distinta e com um significado próprio.
São descritas como objeto da realidade na qual se deseja manter informações no bancos de dados.
Representado por um substantivo na descrição do negócio.
58
![Page 59: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/59.jpg)
Entidade
59
Carros
Pessoas
Empresa
Cidade
Aluno
![Page 60: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/60.jpg)
Notação - Entidade
Em um diagrama ER uma enTidade é representada através de uma retângulo contendo o nome da entidade.
60
MÉDICO ALUNO
![Page 61: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/61.jpg)
Relacionamento
É o fato ou acontecimento que liga dois objetos existentes do mundo real.
O fato que seja a junção de duas ou mais tabelas;
61
![Page 62: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/62.jpg)
Notação - Relacionamento
A notação do relacionamento no diagrama é representado por um losango .
Um relacionamento é caracterizado por um verbo.
62
![Page 63: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/63.jpg)
Notação - Relacionamento
63
MORAM
PESSOAS
AP
![Page 64: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/64.jpg)
Grau de Relacionamento
O grau de relacionamento também é chamado de cardinalidade.
A cardinalidade é um conceito importante para ajudar a definir o relacionamento, ela define o número de ocorrências em um relacionamento.
64
![Page 65: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/65.jpg)
Relacionamentos
Os relacionamentos podem ser:
1-1 (Um para um)
1-N (Um para muitos)
N-N (Muitos para muitos)
A isso damos o nome de cardinalidade.
No MER os relacionamentos são identificados com um verbo
65
![Page 66: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/66.jpg)
Exemplo de 1:1
Pessoa Automóvel Possui
1
1 1
1
Uma pessoa possui um automóvel Um automóvel pertence a uma pessoa.
66
![Page 67: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/67.jpg)
Exemplo de 1:N
Pessoa Automóvel Possui
1
N 1
1
Uma pessoa possui vários automóveis Vários automóveis é pertencem a uma pessoa.
67
![Page 68: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/68.jpg)
Exemplo de N:N
Aluno Professor Possui
1
N 1
N
Um aluno possui vários professores. Um professor possui vários alunos.
68
![Page 69: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/69.jpg)
Obtendo a cardinalidade
Aluno Professor Possui
1
N 1
N
Um aluno possui vários professores.
Um professor possui vários alunos.
69
![Page 70: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/70.jpg)
Relacionamento Unário
Relacionamento unário (grau 1) – uma entidade se relaciona com ela mesma
70
![Page 71: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/71.jpg)
Relacionamento Binário
Relacionamento binário (grau 2) – é um relacionamento que liga dois tipos diferentes de entidades. É o mais comum dos tipos de relacionamentos.
71
![Page 72: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/72.jpg)
Relacionamento Ternário
Relacionamento ternário (grau 3) – é um relacionamento em que três entidades estão interligadas por um mesmo relacionamento.
72
![Page 73: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/73.jpg)
Outros Relacionamentos
Outros graus de relacionamentos também podem ser usados (quaternário, grau 5, etc...)
73
![Page 74: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/74.jpg)
Exercício
Em equipe, criem em 5 exemplos de cada relacionamento (1:1, 1:N, N:N).
74
![Page 75: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/75.jpg)
Exercício
Uma livraria mantém o cadastro de livros disponíveis para a venda. Para cada livro são armazenados código, nome, língua e ano em que foi escrito. Para os autores é mantido igualmente um cadastro que inclui nome, data de nascimento, pais de nascimento e uma breve nota biográfica. Cada livro pode ter vários autores e para um mesmo autor podem existir vários livros cadastrados. As editoras são incluídas no cadastro a partir do seu nome, endereço, telefone. Para um mesmo livro podem existir várias edições realizadas por editoras diferentes ou em anos diferentes . Cada edição tem um código (ISBN) , preço, ano, número de páginas e quantidade em estoque.
75
![Page 76: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/76.jpg)
Cardinalidade Mínima
Além da cardinalidade máxima, uma outra informação que pode ser representada por um modelo ER é o número mínimo de ocorrências de entidade que são associadas a uma entidade através de um relacionamento.
76
![Page 77: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/77.jpg)
Cardinalidade Mínima
Para fins de projeto de BD, consideram-se apenas duas cardinalidades mínimas: a cardinalidade mínima 0 e a cardinalidade mínima 1
77
![Page 78: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/78.jpg)
Cardinalidade Mínima 1
Recebe também a denominação de “associação obrigatória”, já que ela indica que o relacionamento deve obrigatoriamente associar uma ocorrência de entidade a cada ocorrência da entidade em questão
78
![Page 79: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/79.jpg)
Cardinalidade Mínima 0
Já a cardinalidade mínima 0 também recebe a denominação de “associação opcional”
Não existe correspondente na outra entidade
79
![Page 80: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/80.jpg)
Cardinalidade Mínima 0
Já a cardinalidade mínima 0 também recebe a denominação de “associação opcional”
Não existe correspondente na outra entidade
80
![Page 81: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/81.jpg)
Cardinalidade Mínima
No exemplo acima, vamos imaginar que duas entidades, uma de homens e outra de mulheres, alguns homens são casados com mulheres da outra entidade e outros não. Da mesma forma, algumas mulheres são casadas, outras não.
81
![Page 82: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/82.jpg)
Cardinalidade Mínima
Para ajudar-nos a definir a cardinalidade mínima das entidades, uma pergunta deve ser feita.
• Um homem pode ser casado no mínimo com quantas mulheres da outra entidade? E no máximo? (legalmente!)
82
![Page 83: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/83.jpg)
Cardinalidade Mínima
83
![Page 84: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/84.jpg)
Cardinalidade Mínima
Quando usamos a cardinalidade mínima e máxima, deve ser escrita da seguinte forma:
(mínima, máxima)
84
![Page 85: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/85.jpg)
Exemplo
85
![Page 86: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/86.jpg)
Exemplo
86
![Page 87: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/87.jpg)
Exemplo
87
![Page 88: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/88.jpg)
Exemplo
88
![Page 89: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/89.jpg)
Atributos
89
![Page 90: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/90.jpg)
Atributos
São informações que qualificam uma entidade e descrevem uma característica.
Quando transpostos para o modelo físico são chamados de campos.
4 tipos de atributos (compostos, simples, multivalorados e especiais)
90
![Page 91: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/91.jpg)
Atributos Compostos
Podem ser divididos em subpartes menores que representam outros atributos básicos com significados diferentes.
Exemplo: Atributo Endereço, que pode ser dividido em numero, logradouro, cidade, estado, CEP e etc.
91
![Page 92: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/92.jpg)
Atributos Simples
O tipo de atributo mais comum;
Não podem ser subdivididos;
Característica de uma Entidade;
Possui um único valor;
92
![Page 93: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/93.jpg)
Atributos Multivalorado
A maioria dos atributos possui apenas um valor. Em alguns casos, um atributo pode ter um conjunto de valores para a mesma entidade.
Exemplo: Atributo Telefone. Uma pessoa poderá ter mais de um número de telefone
93
![Page 94: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/94.jpg)
Atributos Especiais
São chamados também de Determinante;
Identifica de forma única uma entidade, ou seja, não pode haver dados repetidos.
Por sua vez, os atributos especiais são divididos em 4.
94
![Page 95: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/95.jpg)
Atributos
Atributos Especiais
Chave Primária
Chave candidata
Chave estrangeira
Chave composta
95
![Page 96: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/96.jpg)
Chave Primária
É o atributo cujo valor identifica unicamente uma entidade entre todas as outras.
Atributo ou combinação de atributos que possuem a propriedade de identificar de forma única uma linha da tabela. Corresponde a um atributo determinante.
96
![Page 97: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/97.jpg)
Chave Estrangeira
É quando um atributo de uma entidade é a chave primária de outra entidade com a qual ela se relaciona.
97
![Page 98: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/98.jpg)
Chave Candidata
É a base para a definição/construção de uma chave primária. A chave primária é extraída a partir do conjunto de chaves candidatas de uma tabela;
A chave candidata é apenas conceitual, ou seja, ela não é implementada.
Os atributos com essa características poderiam ser primária já que possuem por natureza a identificação única.
98
![Page 99: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/99.jpg)
Chave Composta
A chave primária composta é aquela que é criada em dois campos e desta forma passa a utilizar a junção dos dados dos dois campos indicados para formar um valor único e assim aplicar o bloqueio de duplicidade.
99
![Page 100: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/100.jpg)
Chave Composta
Exemplo: A entidade CIDADE com os atributos cidade, estado e população.
Chave primária: cidade
Suponhamos que ao inserirmos valores nesta tabela exista nomes de cidades iguais.
Precisa junta dois campos para seres diferenciados.
100
![Page 101: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/101.jpg)
Notação - Atributo
101
ENTIDADE
![Page 102: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/102.jpg)
Prática
A pessoa tem um carro sedan e é proprietário de um apartamento na Lapa.
102
![Page 103: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/103.jpg)
Entidade Fraca e Entidade Forte
103
![Page 104: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/104.jpg)
É possível que nem sempre uma entidade não tenha atributos suficientes para formar uma chave primária.
Essas entidades são chamas de Entidades Fracas
104
![Page 105: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/105.jpg)
Um conjunto de entidades que possui uma chave primária é chamado de Entidade Forte
105
![Page 106: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/106.jpg)
Embora as Entidades Fracas não tem chave primária, é necessário uma forma de distinção entre todas as outras entidades.
O discriminador de um conjunto de entidade fraca é um conjunto de atributos que permite a distinção seja feita.
106
![Page 107: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/107.jpg)
Notação: Entidade Fraca
As entidades fracas são representadas por um retângulo duplicado.
107
![Page 108: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/108.jpg)
Especialização e Generalização
108
![Page 109: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/109.jpg)
Generalização
É um processo de abstração em que vários tipos de entidades são agrupados em uma única entidade genérica, que mantém as propriedades comuns.
A entidade genérica é denominada superclasse
109
![Page 110: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/110.jpg)
Especialização
É o processo inverso da Generalização, ou seja, novas entidades especializadas são criadas, com atributos que acrescentam detalhes à entidade genérica existente.
As entidades especializadas são as subclasses
110
![Page 111: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/111.jpg)
Este conceito está associado a ideia de herança de propriedades. Ou seja, as subclasses possuem, além de seus próprios atributos, os atributos também da sua superclasse.
111
![Page 112: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/112.jpg)
Notação
112
![Page 113: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/113.jpg)
Exemplo
113
![Page 114: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/114.jpg)
Entidade Associativa (Agregação)
O uso desta abstração é necessário quando um relacionamento deve ser representado como uma entidade no modelo conceitual. Isto ocorre quando é necessário estabelecer um relacionamento entre uma entidade e um relacionamento.
114
![Page 115: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/115.jpg)
Entidade Associativa (Agregação)
Para atender a esta situação foi criado o conceito de Entidade Associativa ou Agregação.
Que nada mais é do que, quando um relacionamento passa a ser tratado como entidade.
115
![Page 116: Banco de Dados - Introdução - Projeto de Banco de Dados - DER](https://reader033.vdocuments.site/reader033/viewer/2022050719/54c2fb3b4a79590d248b465a/html5/thumbnails/116.jpg)
Exemplo
Médico
Consulta
Paciente
Prescrição
Medicamento
116