Download - Fundamentos de Banco de Dados
![Page 1: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/1.jpg)
Fundamentos de Banco de Dados
Peter Lucas Gomes Costa Branco
![Page 2: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/2.jpg)
Introdução – Sociedade da
InformaçãoAula 1
![Page 3: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/3.jpg)
3
Na sociedade da informação, dois conceitos são essenciais:
Dado: é matéria-prima de forma crua, fatos que podem ser gravados e que possuem
algum significado implícito
Informação: é a associação de dado e contexto capaz de prover conhecimento
Sociedade da Informação
Dado
Informação
Conhecimento
Sistema de
Informação
Vantagem
Estratégica
![Page 4: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/4.jpg)
Conceitos
Dados:
Uma representação de fatos, conceitos ou instruções em uma maneira
formalmente ajustada para comunicação , interpretação ou
processamento por meios humanos ou automáticos.” (ROSEMBERG,
1986).
Informação
Resultado do processamento de dados, de forma que ela é derivada da
montagem, análise ou sumarização de dados em uma forma que
apresente sentido.” (Chandor, 1985).
![Page 5: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/5.jpg)
Conceitos
Bancos de dados
Também chamado de Bases de Dados, são conjuntos de dados com uma
estrutura regular que organizam informação. Um banco de dados
normalmente agrupa informações utilizadas para um mesmo fim.
coleções de dados que são organizadas de tal forma que possam ser
facilmente acessados, manipulados e atualizados.
Conhecimento
Conhecimento é a informação refinada. É a informação que foi
interpretada, categorizada, aplicada e revisada. (Mcgraw, 1989)
![Page 6: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/6.jpg)
Conceitos
Tecnologia da Informação
Captura da Informação;
Transmissão da Informação;
Processamento da Informação;
Armazenamento da Informação;
Exibição da Informação
Dentro desse contexto, Banco de Dados é o componente da
Tecnologia da Informação voltado para o Armazenamento da
Informação.
![Page 7: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/7.jpg)
Conceitos
7
Os Bancos de Dados, conforme conhecidos hoje, estão ligados à maioria
dos sistemas de armazenamento e consulta digital
Exemplos:
Sistemas bancários, de controle de estoque, de farmácias, de locadoras, de
controle de reservas
Sistemas de gestão de recursos em empresas
Sistemas de bibliotecas e acervos digitais
Mais recentemente, além de lidar com dados tradicionais os Bancos de Dados
puderam ser utilizados em outras áreas do conhecimento:
Banco de dados multimídia: armazena imagens, som e vídeo
Sistemas de Informação Geográfica: armazena e oferece recursos para
manipular dados espaciais
Sistemas em tempo real: vigilância aérea e controle de chão de fábrica
![Page 8: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/8.jpg)
Conceitos
8
Um banco de dados é uma coleção de dados relacionados
Deve armazenar e refletir fatos do mundo real
Um banco de dados deve atender 3 requisitos:
Um banco de dados deve representar aspectos do mundo real, chamado
de Universo de Discurso (UoD)
Um banco de dados deve possuir algum significado implícito
Um banco de dados é desenhado, construído e populado para um
público alvo e aplicações específicas
![Page 9: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/9.jpg)
O SGBD – Sistema de
gerenciamento de banco
de dadosAula 2
![Page 10: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/10.jpg)
O SGBD
10
Um Sistema Gerenciamento de Banco de
Dados (SGBD) é uma coleção de softwares
que permite criar e manter um banco de
dados
Definição de um banco de dados
Construção de um banco de dados
Manipulação de um banco de dados
![Page 11: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/11.jpg)
Pode-se criar um Banco de Dados manualmente
Também é possível desenvolver um SGBD proprietário,
destinado a finalidades específicas
O habitual é usar um SGBD desenvolvido por uma grande
companhia
Hoje, SGBDs open-source estão ganhando mercado
Baixo custo
Aplicações simples
![Page 12: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/12.jpg)
Profa. Elcione 12
Estrutura do SGBD
![Page 13: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/13.jpg)
Conceitos
13
Funções de um SGBD
Armazenamento, recuperação e atualização de dados
Prover acesso ao catálogo
Suporte a transações
Serviços de controle de concorrência
Serviços de recuperação
Serviços de autenticação
Serviços para garantir integridade
![Page 14: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/14.jpg)
Uso de Banco de Dados
Aula 3
![Page 15: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/15.jpg)
Usando o banco de dados
15
Inicialmente, os programas eram criados armazenando seus
dados em arquivos definidos pelo programador
A definição da estrutura dos arquivos era mantida dentro dos
programas
Isto dificultava a manutenção, evolução e integração com
outros programas
Aspectos considerados no desenvolvimento de aplicativos
com arquivos:
Número de arquivos (limitações SO)
Limitação do tipo do arquivo
Uso de memória
Codificação em baixo nível para coordenar concorrência e sincronização
![Page 16: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/16.jpg)
Uso de Banco de Dados
16
Do que foi apresentado, conclui-se que a criação de sistemas
baseados em arquivos possui desvantagens como:
Maior tempo de desenvolvimento
Necessidade de lidar com aspectos de manipulação de arquivos
Redundância na definição e armazenamento de dados
Maior esforço para manutenção do sistema
Dificuldade para implementar segurança
Isolamento
O desenvolvimento baseado em Bancos de Dados possui vantagens quando
comparado ao desenvolvimento baseado em arquivos
![Page 17: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/17.jpg)
Uso de Banco de Dados
17
Natureza auto-descritiva de um banco de dados
Um banco de dados possui uma descrição completa da sua
estrutura, armazenada no catálogo
A mesma estrutura do catálogo pode ser compartilhada
entre vários Bancos de Dados
O catálogo também registra restrições, definições de
usuários e segurança, entre outros dados
![Page 18: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/18.jpg)
Uso de Banco de Dados
18
Separação entre Programas e Dados e
Abstração de Dados
A independência entre programas e dados ocorre porque a alteração na
estrutura dos arquivos não precisa ser refletida nos programas (utilização de
mapeamentos)
A abordagem de Banco de Dados provê uma visão abstrata dos dados porque
oculta detalhes de como os dados são armazenados e mantidos. Isto chama-se
abstração de dados
![Page 19: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/19.jpg)
Uso de Banco de Dados
19
Suporte a MúltiplasVisões dos Dados
A abordagem de Banco de Dados oferece subsídios para visualizar um mesmo
conjunto de dados de forma diferente, de acordo com a necessidade
Cada usuário vê somente sua parte de interesse, seu subconjunto, do Banco de
Dados
Permite aumentar a segurança e adaptar a aparência do Banco de Dados
Exemplo:
Considere uma grande rede de supermercados
Quais informações devem ser vistas por um responsável pelo estoque?
Quais informações devem ser vistas pelo gerente geral?
![Page 20: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/20.jpg)
Uso de Banco de Dados
20
Compartilhamento de Dados e Suporte a Transações
Vários usuários acessam e operam sobre um Banco de Dados simultaneamente
Os dados permanecem integrados, mantidos em um único repositório
Os SGBDs fornecem mecanismos de controle de concorrência para que os
dados permaneçam consistentes após cada transação
![Page 21: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/21.jpg)
Quando usar SGBDs
21
As seguintes características são beneficiadas com o uso de
SGBDs:
Controle de Redundância
Restrição de Acesso
Armazenamento Persistente para Objetos de Programas e Estruturas de Dados
Fornecimento de Múltiplas Interfaces de Usuários
Representação de Relacionamentos Complexos entre os Dados
Imposição de Restrições de Integridade
Backup e Recuperação
Redução no tempo de desenvolvimento de aplicações
Flexibilidade
Disponibilidade da informação atualizada
Economia de escala
![Page 22: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/22.jpg)
Quando não usar SGBDs
22
Existem situações não apropriadas para o uso de um
SGBD devido:
Alto investimento inicial em hardware, software e treinamento
Generalidade que o SGBD fornece para definir e processar dados
Overhead gerado com a segurança, controle de concorrência,
recuperação e integridade dos dados
![Page 23: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/23.jpg)
23
Componentes do SGBD
Dados:
Informação armazenada.
Hardware:
Servidor de banco de dados.
Software:
Sistema de Gerenciamento de Banco Dados (SGDB).
Usuário:
Usuários que acessam o banco de dados.
![Page 24: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/24.jpg)
24
Exemplos de SGBDs
Em algumas circunstâncias é mais aconselhável usar arquivos regulares a
BDs:
MySQL;
Postgre;
Oracle;
SQL Server;
Sybase;
DB/2;
Informix
![Page 25: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/25.jpg)
Classificação do SGBDs
25
Os SGBDs podem ser classificados em critérios como:
O modelo de dados
SGBDs Relacionais, SGBDs Orientados a Objetos e SGBDs Objeto-Relacionais
O número de usuários
SGBDs monousuário e SGBDs multi-usuários
O número de sítios:
SGBDs centralizados e SGBDs Distribuídos
Preço
SGBDs baratos e SGBDs de alto custo
Licenciamento
Gratuitos, Open-source e proprietários
![Page 26: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/26.jpg)
Profissionais de Banco de dados
– The Database Professional
Aula 4
![Page 27: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/27.jpg)
Profissionais e Banco de Dados
27
Pode-se destacar os seguintes profissionais envolvidos em um
ambiente de Banco de Dados
Administrador de Banco de Dados (DBA)
É o responsável por gerenciar os recursos do Banco de Dados, ou seja, o
Banco de Dados em si, o SGBD e demais softwares
Autoriza acesso ao Banco de Dados
Coordena e monitora seu uso, gerencia softwares e suas licenças e hardwares
Define esquemas e estruturas de armazenamento para os Bancos de Dados
Normalmente existe uma equipe constituída por vários DBAs que garantem
o bom funcionamento do Banco de Dados
![Page 28: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/28.jpg)
Profissionais e Banco de Dados
28
Projetista de Banco de Dados
Identifica os requisitos para dados a serem armazenados
Escolhe estruturas adequadas para representar e armazenar os dados
A tarefa do projetista deve ser executada antes do Banco de Dados ser criado
O projetista pode compor a equipe de DBAs e realizar outras atividades relacionadas
ao Banco
![Page 29: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/29.jpg)
Profissionais e Banco de Dados
29
Analistas e programadores
Determinam os requisitos e desenvolvem especificações para os sistemas que utilizam
o Banco de Dados
Usuário Final
Recuperam e inserem dados no Banco de Dados durante a execução de suas tarefas
Normalmente interagem com o Banco a partir de uma aplicação ou interface
customizada
![Page 30: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/30.jpg)
Profissionais e Banco de Dados
30
Existem usuários que trabalham no desenvolvimento do SGBD
e seu ambiente:
Projetistas e desenvolvedores de SGBD: estão envolvidos no desenvolvimento
dos módulos de um SGBD
Desenvolvedores de ferramentas: são aqueles que desenvolvem ferramentas que
podem ser compradas para integrar o ambiente do Banco de Dados
Pessoal de manutenção e operadores: são os administradores de sistemas que
dão suporte a hardware e software relacionados ao Banco de Dados
![Page 31: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/31.jpg)
O Sistema de Banco de dados -
SBD
Aula 5
![Page 32: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/32.jpg)
O SBD – Sistema de banco de dados
32
O SGBD e o Banco de
Dados juntos constituem
o Sistema de Banco de
Dados
SGBD + BD = SBD
Dados + Catálogo = BD
Banco de Dados
SGBD
Sistemas/Aplicações
![Page 33: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/33.jpg)
33
Arquitetura de SBD
Os SGBDs evoluíram de sistemas monolíticos para sistemas
modularizados
Basicamente funcionam de acordo com a arquitetura cliente-servidor
O lado cliente lida com as aplicações que acessam o BD, manipulando
as interações dos usuários
O lado servidor cuida do armazenamento de dados, seu acesso e sua
procura
Tem se tornado comum a interação com BDs via web
![Page 34: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/34.jpg)
Arquitetura Cliente - Servidor
34
É um modelo computacional que separa clientes e servidores,
sendo interligados entre si geralmente utilizando-se uma rede
de computadores. Cada instância de um cliente pode enviar
requisições de dado para algum dos servidores conectados e
esperar pela resposta. Por sua vez, algum dos servidores
disponíveis pode aceitar tais requisições, processá-las e
retornar o resultado para o cliente.
![Page 35: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/35.jpg)
Arquitetura Cliente - Servidor
![Page 36: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/36.jpg)
Arquitetura de SBD
36
Acesso ao Banco de
Dados:
Aplicativo era executado em
uma única máquina, era
comum encontrar sistemas
monolíticos contendo todas
as funcionalidade s do
aplicativo em uma única
grande camada
![Page 37: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/37.jpg)
37
Arquitetura de SBD
Cliente-servidor com duas
camadas:
O cliente gerencia a lógica de
negócio, o processamento do
dados e a interface de usuário
O servidor gerencia e controla
o acesso ao BD
![Page 38: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/38.jpg)
Arquitetura de SBD
38
Cliente-servidor com três
camadas:
envolve a separação dasfuncionalidades usando camadas, como objetivo de separar a lógica deapresentação, a lógica de negocio e aconexão com o banco de dados(lógica de acesso a dados).
A separação em três camadas tornao sistema mais flexível, de modo quepartes podem ser alteradasindependentemente. Com oemprego de arquitetura em três,qualquer alteração em umadeterminada camada não influi nasdemais, desde que o mecanismo decomunicação entre elas permaneceinalterado.
![Page 39: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/39.jpg)
39
Arquitetura de SBD
![Page 40: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/40.jpg)
Os modelos de dados
Aula 6
![Page 41: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/41.jpg)
41
Classificação de Modelos de Dados
A maneira mais prática de classificar bancos de dados é
de acordo com a forma que seus dados são vistos pelo
usuário, ou seja, seu modelo de dados.
![Page 42: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/42.jpg)
42
Modelos
Modelos é a representação abstrata e simplificada de uma
determinada realidade, com a qual se pode explicar ou
testar o seu comportamento, em sua totalidade ou em
partes antes de sua existência real.
![Page 43: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/43.jpg)
Modelos de Dados
Um modelo de dados é uma coleção de conceitos que podem
ser usados para descrever a estrutura de um BD (tipos e
definições, restrições e operações).
Modelo de dados é um conjunto de conceitos que podem ser
usados para descrever a estrutura de um banco de dado, tipos
de dados, relacionamentos e restrições. Pode também incluir
operações que especificam consultas e atualizações no banco
de dados.
43
![Page 44: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/44.jpg)
Modelos de Dados
Diversos modelos foram e vem sendo utilizados ao
longo da história, com vantagens para um ou para
outro por determinados períodos.
Modelo em Redes
Modelo Hierárquico
Modelo Relacional
Modelo Orientado a Objetos
![Page 45: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/45.jpg)
Modelo Hierárquico
No modelo de rede, os dados são representados
por uma coleção de registros e os
relacionamentos entre dados são representados
por meio de links.
A estrutura de registros e links também é a
estrutura do modelo hierárquico.
![Page 46: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/46.jpg)
Modelo Hierárquico
São arquivos relacionados de forma que para cada
registro “Pai” pode se relacionar com vários
registros “Filhos” e o filho apenas pertencer a um
pai.
Não mapeia Relacionamentos de M:N
![Page 47: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/47.jpg)
Modelo Hierárquico
dummy
nome rua cidade nome rua cidade nome rua cidade
número saldo número saldo número saldo
Árvore de Banco de Dados
![Page 48: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/48.jpg)
Modelos de Redes
Um banco de dados de rede é uma coleção de registros
conectados uns aos outros por meio de links.
Um registro é, em muitos aspectos, similar a uma entidade
do modelo entidade-relacionamento.
Cada registro é uma coleção de campos (atributos), cada
qual contendo somente um valor..
![Page 49: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/49.jpg)
Modelos de Redes
é um conjunto de arquivos relacionados, de tal forma que
cada arquivo "pai" pode se relacionar com vários arquivos
"filhos" e cada arquivo "filho" pode ser filho de vários
arquivos "pai“.
A limitação que existia anteriormente nos BD Hierárquicos
para a implementação de relacionamentos "não
hierárquicos", deixa de existir com os BD de Redes, porém,
os relacionamentos entre os arquivos continuaram sendo
implementados através de ponteiros físicos, cuja manipulação
continuava sendo relativamente complexa, dificultando a
criação de linguagens de manipulação de Banco de Dados
voltadas para usuários finais.
![Page 50: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/50.jpg)
Modelos de Redes
Maria Soares 10 de Maio Manaus
José Batista 7 de setembro Manaus
1210 600,00
1310 700,00
1411 800,00
João da Silva Av. Tarumã Manaus 1010 500,00
Regsitro Cliente ContaLink
![Page 51: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/51.jpg)
Modelo Relacional
Proposto por Peter Chen em 1976.
É um modelo de dados de alto nível.
As entidades, relacionamentos, atributos e restrições
descrevem as regras de negócio do sistema.
![Page 52: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/52.jpg)
Modelo Entidade Relacionamento
O MER é um modelo de dados conceitual de alto-nível, ou
seja, seus conceitos foram projetados para serem
compreensíveis a usuários, descartando detalhes de como os
dados são armazenados.
Proporciona uma visão lógica de alto nível dos dados.
É uma descrição abstrata de uma porção do mundo real.
Através do MER, podemos ter uma fotografia do sistema.
![Page 53: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/53.jpg)
Modelo Entidade Relacionamento
![Page 54: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/54.jpg)
Componentes do MER
Entidade
Atributo de Entidade
Relacionamento entre Entidades
Cardinalidade
![Page 55: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/55.jpg)
Exemplo do DER
![Page 56: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/56.jpg)
Modelo Orientado à Objetos
O Uma nova maneira de pensar nos problemas utilizando
modelos organizados a partir de conceitos do mundo real. O
componente fundamental é o objeto que combina estrutura
e comportamento em uma única entidade".
Rumbaugh (1994)
![Page 57: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/57.jpg)
Modelo de Dados Orientado à Objetos
O modelo de dados Orientado a Objeto engloba todos
os conceitos do paradigma orientado a objeto:
Classe, Objeto
Abstração, Encapsulamento
Herança, Polimorfismo etc.
![Page 58: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/58.jpg)
Modelo de dados OO
![Page 59: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/59.jpg)
Modelos de Dados
59
Os modelos de dados podem ser categorizados da seguinte forma:
Nível Conceitual
É o nível de abstração mais alto onde os conceitos são próximos ao modo como os
usuários percebem os dados. Preocupa-se com as entidades, os objetos do problema
Nível Lógico
É o nível de abstração intermediário, onde os conceitos identificados são representados
através de estruturas lógicas
Nível Físico
É o nível que se preocupa com o armazenamento dos dados e as estruturas físicas
relacionadas
![Page 60: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/60.jpg)
Os níveis de banco de dados
Aula 7
![Page 61: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/61.jpg)
Independência de Dados
61
Três importantes características da abordagem de Banco de
Dados são:
Separação entre programa e dados
Suporte a múltiplas visões dos dados
Uso do catálogo para armazenar a descrição do Banco de Dados
Estas três características são conseguidas graças a arquitetura
dos Sistemas de Bancos de Dados, chamada de arquitetura de
três esquemas
![Page 62: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/62.jpg)
Independência de Dados
62
Esquema Conceitual
Esquema Interno
NÍVEL
CONCEITUAL
NÍVEL
INTERNO
Visão
Externa A
Mapeamento
Externo/Conceitual
Usuários
Finais
Banco de Dados
Visão
Externa B
Visão
Externa N..
.NÍVEL
EXTERNO
Mapeamento
Conceitual/Interno
![Page 63: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/63.jpg)
Independência de Dados
63
Estes 3 esquemas são apenas descrições dos dados
Uma requisição ao dado nesta arquitetura segue o caminho:
Esquema externo → Esquema conceitual → Esquema interno
Níveis X Modelos
Nível Externo → Modelo de Dados de Alto Nível ou Implementação
Nível Conceitual → Modelo de Dados de Alto Nível ou Implementação
Nível Interno → Modelo de Dados Físico
![Page 64: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/64.jpg)
Independência de Dados
64
A arquitetura mostrada viabiliza a independência dos dados porque é
possível modificar um nível sem afetar os níveis acima
Existem 2 tipos de independência de dados:
Independência lógica: alteração no esquema conceitual não altera os programas
Independência física: alteração no esquema interno não altera o esquema
conceitual e os programas
![Page 65: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/65.jpg)
Modelagem de Dados
65
O desenvolvimento de sistemas envolve:
Criação de interfaces gráficas
Criação de módulos com a lógica de negócio
Definição e construção do Banco de Dados
Os Banco de Dados preocupam-se com os dados (parte
estática) e os programas realizam o processamento (parte
dinâmica)
![Page 66: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/66.jpg)
Modelagem de Dados
Profa. Elcione66
![Page 67: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/67.jpg)
Profa. Elcione 67
Abstração de Dados
O Maior propósito dos Sistemas de BD é o de oferecer aos usuários
uma visão abstrata dos dados. Isto é, o sistema esconde certos
detalhes de como o dado é armazenado e mantido. A complexidade
está escondida através de diversos níveis de abstração que simplificam
a interação do usuário do Sistema.
![Page 68: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/68.jpg)
Profa. Elcione 68
Abstração de Dados
MundoRealMundo Real
nível conceitual
Modelo Entidade Relacionamento
Modelo Relacional
nível lógico
nível físico
![Page 69: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/69.jpg)
Profa. Elcione 69
Nível Conceitual
É o nível mais alto de abstração, fala de objetos do mundo
real e suas respectivas operações. A ênfase está na
informação e não como ela será implementada.
![Page 70: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/70.jpg)
Exemplo de Nível Conceitual
![Page 71: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/71.jpg)
Profa. Elcione 71
Nível Lógico
É Neste nível de abstração são escolhidas as estruturas
lógicas que representarão os objetos do modelo
conceitual no computador.
![Page 72: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/72.jpg)
Exemplo de Nível ConceitualEstrutura de dados utilizada: Tabelas
![Page 73: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/73.jpg)
Profa. Elcione 73
Nível Físico
É o mais baixo nível de abstração e descreve como os dados
serão armazenados, como deve ser a representação física
das estruturas lógicas definidas no modelo lógico. Especifica-
se também as operações do modelo lógico usando-se a
representação física.
![Page 74: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/74.jpg)
Exemplo de Nível Conceitual
CREATE TABLE Funcionario (
Matricula Integer PRIMARY KEY,
Rua Varchar(50),
Bairro varchar(50),
Telefone varchar(15),
Telefone varchar(15),
NroDepto Texto(1)
)
CREATE TABLE Departamento (
NroDepto Texto(1) PRIMARY KEY
)
CREATE TABLE Dependente (
Cod_Dependente Texto(1) PRIMARY KEY,
Teste Texto(1),
Matricula Integer,
FOREIGN KEY(Matricula) REFERENCES Funcionario (Matricula)
)
ALTER TABLE Funcionario ADD FOREIGN KEY(NroDepto) REFERENCES Departamento (NroDepto)
![Page 75: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/75.jpg)
O Modelo Entidade
Relacionamento
Aula 8
![Page 76: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/76.jpg)
MER
• A técnica de modelagem mais usada é a Abordagem
Entidade-Relacionamento (ER). O modelo de dados é
representado graficamente atraves de um Diagrama de
Entidade-Relacionamento (DER).
• Essa abordagem foi criada por Peter Chen (1976) é
considerada como um padrão para a modelagem
conceitual.
![Page 77: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/77.jpg)
BANCO DE DADOS
“É uma coleção de dados inter-relacionados, representando
informações sobre um domínio específico (conceito geral)
Representa aspectos do mundo real. Mudanças no mundo
real são refletidas no BD
É uma coleção lógica e coerente de dados com
relacionamentos intrínsecos;
É projetado, construído, e mantido para uma proposta
específica. É direcionado a um grupo de usuários/aplicação
Pode ter qualquer tamanho/complexidade
![Page 78: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/78.jpg)
MODELOS DE DADOS
Mundo Real Solução
Modelo é a representação abstrata e simplificada de uma
determinada realidade. É um conjunto de conceitos para
descrever os dados, de restrições e relacionamento entre
esses dados.
![Page 79: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/79.jpg)
MODELOS DE DADOS
Modelo do
sistema na
mente do
cliente
Modelo de Entidade do
Modelo do cliente
Representação Tabular
do modelo
de entidadeServer
Tabelas no disco
![Page 80: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/80.jpg)
Níveis de Abstração de BD
Modelo Entidade Relacionamento
Modelo Relacional-Objeto Relacional
Mundo Real
Nível Conceitual
nível lógico
nível físico
![Page 81: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/81.jpg)
Modelo Entidade Relacionamento - MER
Proporciona uma visão lógica de alto nível dos dados
É uma descrição abstrata de uma porção do mundo real
Todos os dados são visualizados como fatos específicos sobre
entidades, relacionamentos e atributos
Através do MER, podemos ter uma fotografia do sistema
As entidades, relacionamentos e atributos descrevem as
regras de negócio da empresa
![Page 82: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/82.jpg)
Modelo Entidade Relacionamento - MER
Modelo Entidade-Relacionamento (MER) Original:
– Fases do Projeto de Bases de Dados
– Definição e Objetivo do Modelo ER
– Entidades e Conjuntos-Entidade
– Atributos e Domínio de um Atributo
– Relacionamentos e Conjuntos-Relacionamento
– Projeto de Chaves
– Grau de um Relacionamento
– Restrições de Cardinalidade e Integridade Referencial
![Page 83: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/83.jpg)
Modelo Entidade Relacionamento - MER
Extensões e Variações do MER :
– Agregação
– Generalização/Especialização
– Notação, Variações e Exemplos
– Dicas para Elaboração de Modelos E-R
![Page 84: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/84.jpg)
Modelo Entidade Relacionamento - MER
Definição: modelo baseado na percepção do mundo real que consiste em um conjunto de objetos básicos, chamados entidades, e nos relacionamentos entre esses objetos.
Objetivo: facilitar o projeto de banco de dados, possibilitando especificar a estrutura lógica geral.
![Page 85: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/85.jpg)
Modelo Entidade Relacionamento -
MER
FUNCIONÁRIO
DEPENDENTE
PROJETO
DEPARTAMENTOendereço
nome
número
salário
supervisor
1 N
possuir
trabalhar
gerenciar
N
1
horas
DataIni
nome
número
1
participar
N
1
DataNiver
nome
N
parentesco
controlar
nome
número
1
N
1
N
localização
Relacionamento
Entidade
Atributo
![Page 86: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/86.jpg)
Modelo Entidade Relacionamento - Convenções
Entidade Fraca
Entidade
Relacionamento
Atributo
Atributo Identificador
Atributo Multivalorado
Relacionamento Identificador
z
![Page 87: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/87.jpg)
Modelo Entidade Relacionamento -
Convenções
Atributo Composto
...
Atributo Derivado
Participação total de E2 em R
Ex: Agência e Conta CorrenteE1 R E2
Cardinalidade 1:N para E1:E2 em RE1 R E21 N
Constraint (min,max) de E em RR E2(min,max)E1
![Page 88: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/88.jpg)
FUNCIONARIO
STATUS
CLIENTE
CLIENTE
ATOR
GENERO
FILME
FITA
endereçonome
código
salário
supervisor
4,N
1,1
possui
aluguelpossui
classifica
possui1,1
código descrição
0,N
nome endereço
1,N
1,N
dt aluguel
dt prev ret
dt retornovalor
previsto
1,N
multa
valor pago
*
2,N 1,N
1,1
1,N
0,N
1,1
código nome
principal
código descrição
nome
qtde fitas
preço
condição
código
código
código
![Page 89: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/89.jpg)
Componentes do MER
ENTIDADE
Qualquer coisa para a qual desejamos guardar informação
Conjunto de objetos individuais chamados instâncias
Uma instância deve ter uma identidade distinta de todas as
outras
![Page 90: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/90.jpg)
Tipos de entidade
INDEPENDENTES (FORTES)
entidade que existe por si só
NOTAÇÃO : retângulo
RESTRIÇÕES
Não pode existir duas entidades no mesmo model
DICA:
Geralmente tem mais de um atributo
O nome = substantivo
![Page 91: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/91.jpg)
Tipos de entidade
DEPENDENTES(FRACAS)
Entidades que dependem de outras para sua existência
(dependência por existência)
Entidades que dependem de outras para sua identificação
(dependência por identificação)
NOTAÇÃO: Retângulo duplo
RESTRIÇÕES
Só existe enquanto a entidade forte existir
![Page 92: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/92.jpg)
Entidades Fortes e Fracas
Funcionário
Dependente
Departamento
EndereçoNome
IdFunc
Salário
Tem
Trabalho1
Nome
NomeIdDeptoP-20
1 N
Entidade
Independente
Entidade
Dependente
![Page 93: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/93.jpg)
MER - Atributos
Atributo- serve para qualificar a entidade
Simples
Multivalorado
Determinante ou Identificador
Composto
Derivado ou Calculado
![Page 94: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/94.jpg)
Simples só pode assumir um único valor elementar
Exemplo: Nome, Idade, Data de Nascimento
Notação
IdadeNumRua
CEP
Endereço
Fone
Nome
PESSOAS
MER - Atributos
![Page 95: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/95.jpg)
MER - Atributos
REGRAS
Começar o nome do atributo com uma inicial maiúscula e estar no singular
Distinção entre conjunto de entidades e atributo. Exemplo: AUTOR para livro de uma biblioteca
AUTOR para uma editora
Se um conjunto de entidades tem um único atributo, provavelmente aquele conjunto é atributo de um outro conjunto de entidades.
Cada atributo deve ocorrer uma única vez em apenas um conjunto de entidades.
Desconfiar da modelagem de um conjunto de entidades que tem um só atributo. Provavelmente, ele é um atributo de outro conjunto.
![Page 96: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/96.jpg)
MER - Atributos
Multivalorado só pode assumir mais de uma valor
Exemplo: Fones
Notação
IdadeNum
Rua
CEP
Endereço
Nome
Fones
PESSOAS
![Page 97: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/97.jpg)
MER - Atributos
Determinante Identifica unicamente uma entidade da outra
Lembra o conceito de Chave
Notação
IdadeNumRua
CEP
Endereço
Nome
Fones
PESSOASCódigo
![Page 98: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/98.jpg)
MER - Atributos
Determinante Identifica unicamente uma entidade da outra
Lembra o conceito de Chave
Notação
FonesIdade
NumRua
CEP
Endereç
o
Nome
PESSOASCPF
IdPessoa
![Page 99: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/99.jpg)
MER - Atributos
Composto Pode ser dividido em sub atributos Exemplo: Endereço
NotaçãoIdade NumRua
CEP
Endereço
Nome
Fones
PESSOASCódigo
![Page 100: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/100.jpg)
MER - Atributos
Derivado ou Calculado Seu valor é gerado a partir do valor de outro
atributo Exemplo: Data de Nascimento e Idade
Notação
PACIENTES
IdadeDataNasc Nome
Sexo
*
![Page 101: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/101.jpg)
Componentes do MER
RELACIONAMENTO
É uma ligação entre duas ou mais entidades
É representado por um losango
RESTRIÇÕES
Não se pode repetir nomes de relacionamentos
O relacionamento deve ligar, no mínimo, duas entidades
xx
![Page 102: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/102.jpg)
Tipos de relacionamentos
DEPENDENTES (FORTES)
o conceito de entidade dependente e independente é
reforçado pelo tipo de relacionamento
quando se quer que uma entidade se torne dependente,
cria-se um relacionamento identificador
INDEPENDENTES (FRACOS)
Conecta entidades fortes e fracas
![Page 103: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/103.jpg)
Relacionamento Fraco e Forte
Funcionário
Dependente
Departamento
EndereçoNome
Código
Salário
Supervisor
1
N
Tem
Trabalho1
Nome
NomeCódigo
Código
N
1 NÉ de
É C
om
posto
de
Trabalha no
possui
Entidade
Independente
Identificador
Entidade
Dependente
Não IdentificadorPapel do
Relacionamento
![Page 104: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/104.jpg)
• É a propriedade do relacionamento que define
exatamente com quantas instâncias uma entidade de um
conjunto pode se relacionar com outras entidades de
outro conjunto;
• PODE SER:
• um para um
• um para muitos; e
• muitos para muitos
Cardinalidades do Relacionamento
![Page 105: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/105.jpg)
Cardinalidade 1:N
E1
E2
E3
.
.
.
En
M1
M2
M3
.
.
.
Mn
1 : 1Médicos Especialidades
MÉDICOS ESPECIALIDADESpossuem1 1
![Page 106: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/106.jpg)
Pós-Graduação em Projeto e
Administração de Banco de Dados-2006
CARDINALIDADE 1:N
E1
E2
E3
E4
.
.
.
En
M1
M2
M3
.
.
.
Mn
1 : NMédicos Especialidades
MÉDICOS ESPECIALIDADESpossuem1 N
![Page 107: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/107.jpg)
P1
P2
P3
P4
.
.
.
Pn
M1
M2
M3
M4
.
.
.
Mn
N : N
Médicos Pacientes
MÉDICOS PACIENTESconsultasN N
MÉDICOS ESPECIALIDADESpossuem(0,1) (1,N)
Cardinalidade 1:N
![Page 108: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/108.jpg)
• É a propriedade do relacionamento que define a
obrigatoriedade ou não de uma entidade participar (se
relacionar) de um relacionamento.
•Pode ser:
• total (obrigatória) ou
• parcial (opcional)
Participação do relacionamento
![Page 109: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/109.jpg)
Pós-Graduação em Projeto e
Administração de Banco de Dados-2006
Participação do relacionamento: Total e Parcial
MÉDICOS PACIENTESconsultasN N
![Page 110: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/110.jpg)
Auto Relacionamento
Situação em que uma entidade se relaciona com outra do
mesmo conjunto
Funcionário
EndereçoNome
Código
Salário
Supervisão
1 N
Supervisor Supervisionado
![Page 111: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/111.jpg)
Grau do Relacionamento
VENDEDORES vendas PRODUTOSN N
CLIENTES
N
É dado pelo total de entidades envolvidas no relacionamento
• Binário, ternário, etc.
MÉDICOS PACIENTESconsultasN N
![Page 112: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/112.jpg)
Relacionamentos n-ÁRIOS
VENDEDORES vendas PRODUTOSN N
CLIENTES
N
• É definido pela regra de negócio
VENDEDORES PRODUTOSvendasN N
CLIENTESvendem compram
N
N N
N
![Page 113: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/113.jpg)
• Supondo que um médico faz consultas a
pacientes.
MÉDICOS PACIENTESconsultasN N
Relacionamentos n-ÁRIOS
![Page 114: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/114.jpg)
• Supondo também que nessas consultas o médico pode fazer
solicitações de exames.
•Vários binários = inconsistência
MÉDICOS PACIENTESconsultasN N
EXAMESsolicita faz
N
N N
N
Agregação
![Page 115: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/115.jpg)
• O ternário obriga que em toda consulta o médico solicite um
exame.
MÉDICOS PACIENTESconsultasN N
EXAMES
N
Agregação
![Page 116: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/116.jpg)
• O MER não permite relacionamento entre
relacionamento
MÉDICOS PACIENTESconsultasN N
EXAMES
N
solicita
N
Agregação
![Page 117: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/117.jpg)
• O melhor modo para representar a situação anterior é
usando a agregação.
• Na agregação não existe obrigatoriedade na entrevista
para encaminhar um candidato a um cargo
Agregação
![Page 118: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/118.jpg)
• A agregação é a abstração que transforma um
relacionamento em uma entidade;
• Evita inconsistências
• Só pode ser em relacionamentos de cardinalidade N:N
• Não possui atributos
Agregação
![Page 119: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/119.jpg)
Agregação
MÉDICOS PACIENTESconsultasN N
EXAMES
solicitações
N
N
MÉDICOS PACIENTESconsultasN N
EXAMES
solicitações
N
N
![Page 120: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/120.jpg)
O MER - Especiliazação
Aula 10
![Page 121: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/121.jpg)
• É a forma de agrupar um conjunto de entidades que compartilham
características comuns.
ESPECIALISTA MESTRE
IdTitulação Descrição
TITULAÇÕES
PESSOAS
FÍSICAS
PESSOAS
JURÍDICAS
IdPessoa Endereço
PESSOAS
Nome
CPF CGC
DtaNasc NomeFantasia
Herança: Generalização e
sobreposição
![Page 122: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/122.jpg)
• É a forma de agrupar um conjunto de entidades que compartilham
características comuns.
PESSOAS
FÍSICAS
PESSOAS
JURÍDICAS
IdPessoa Diagnóstico
PESSOAS
Nome
CPF CGC
DtaNasc NomeFantasia
ESPECIALISTA MESTRE
IdTitulação Descrição
TITULAÇÕES
Herança: Generalização e
sobreposição
![Page 123: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/123.jpg)
Herança: Generalização e
sobreposição• É a forma de agrupar um conjunto de entidades quecompartilham características comuns. Restrições:
d: mutuamente exclusivo - quando uma instância da entidadegeneralização só pode estar em uma entidade deespecialização
o: sobrepostos - quando uma instância da entidadegeneralização pode estar em duas ou mais entidade deespecialização
total: cada entidade da generalização deve pertencer a pelomenos uma entidade de especialização
parcial: cada entidade da generalização pode ou não pertencera uma entidade de especialização
![Page 124: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/124.jpg)
Funcionário
EndereçoNome
Código
SexoTipo
Consultor
Horas Tx hora
Terceiro
Salário
d
Especialização
Generalização
Total
Herança: Generalização e
sobreposição
![Page 125: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/125.jpg)
Funcionário
EndereçoNome
Código
SexoTipo
Consultor
Horas Tx hora
Terceiro
Salário
0
Especialização
Generalização
Parcial
Herança: Generalização e
sobreposição
![Page 126: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/126.jpg)
Pós-Graduação em Projeto e
Administração de Banco de Dados-2006
HERANÇA: GENERALIZAÇÃO E ESPECIALIZAÇÃO
FUNCIONARIO
nomecódigo endereço
sexo
CONSULTOR
horas tx hora
tipo
especialização
generalização
mostra a direção do
relacionamento
superclasse/subclasse
![Page 127: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/127.jpg)
Medologia para projetos de de banco de
dados
• Requerimentos e análise
• Projeto conceitual do banco de dados
• Escolha de um SGBD
• Mapeamento do modelo de dados
• Projeto físico do banco de dados
• Implementação e configuração do banco de dados
![Page 128: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/128.jpg)
Exercícios
Uma empresa de TV à cabo necessita informatizar alguns dos seus serviços
de forma a atender as seguintes necessidades: O sistema deverá controlar o
cadastro dos clientes, pacotes (família, adulto, infantil, cinema, etc), da
programação (filmes, horários, etc) e do pagamento de mensalidades.
Cada pacote possui um preço e o cliente pode escolher uma combinação
dos mesmos, podendo mais tarde adicionar mais pacotes se assim o desejar.
O valor de sua mensalidade corresponde ao valor total dos pacotes e seu
vencimento será todos os meses no dia em que comprou o primeiro pacote.
O cliente poderá também escolher a quantidade de tv's para instalação do
cabo, e a cada 2 tv's ele paga um adicional em sua mensalidade.
Cada pacote possui um conjunto de canais exclusivos. Um canal é
identificado por um número e seu nome (33- HBO2, por exemplo). A
programação é composta de todos os filmes que serão exibidos, além de
seus horários e datas de exibição. Vale ressaltar que, um filme pode ser
exibido em mais de um horário e em várias datas diferentes.
![Page 129: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/129.jpg)
Uma empresa de TV à cabo necessita informatizar alguns dos seus
serviços de forma a atender as seguintes necessidades: O sistema deverá
controlar o cadastro dos clientes, pacotes (família, adulto, infantil, cinema,
etc), da programação (filmes, horários, etc) e do pagamento de
mensalidades.
Cada pacote possui um preço e o cliente pode escolher uma combinação
dos mesmos, podendo mais tarde adicionar mais pacotes se assim o
desejar. O valor de sua mensalidade corresponde ao valor total dos
pacotes e seu vencimento será todos os meses no dia em que comprou o
primeiro pacote. O cliente poderá também escolher a quantidade de tv's
para instalação do cabo, e a cada 2 tv's ele paga um adicional em sua
mensalidade.
Cada pacote possui um conjunto de canais exclusivos. Um canal é
identificado por um número e seu nome (33- HBO2, por exemplo). A
programação é composta de todos os filmes que serão exibidos, além de
seus horários e datas de exibição. Vale ressaltar que, um filme pode ser
exibido em mais de um horário e em várias datas diferentes.
![Page 130: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/130.jpg)
Uma loja de CDs deseja informatizar suas transações de venda e de aluguel de títulos,
mantendo cadastros atualizados de clientes, balconistas, títulos, dos distribuidores que os
fornecem e dos gêneros musicais em que estes se classificam.
Entre o cliente e o balconista, as vendas e locações de títulos de CD devem ser
armazenadas na base de dados juntamente com a data em que houve a transação (data
de venda e data de locação, respectivamente). Somente para a locação, o sistema deverá
também armazenar a data prevista para a devolução do titulo alugado (data de
devolução). É de interesse da loja, saber, através das informações armazenadas na base de
dados, que balconista vendeu ou alugou determinado titulo para qual cliente.
Eventualmente, um cliente também pode solicitar a encomenda de um CD que
não esteja disponível na loja. As encomendas feitas desta forma são pedidas
diretamente para o balconista, mas para a loja somente é interessante saber
qual cliente encomendou determinado titulo e em que data (data da
encomenda). Note que um cliente pode encomendar vários títulos e um título
pode ser encomendado por vários clientes. Normalmente, o processo de
encomenda é seguido por uma transação de venda (mas nunca de locação),
caso o(s) pedido(s) do cliente seja(m) atendido(s).
![Page 131: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/131.jpg)
Cada título de CD é classificado somente num gênero musical(pelo menos, aquele gênero que predomina) dentre os váriosque a base de dados mantêm como disponíveis na loja. Alémdisso, cada título de CD é fornecido por apenas uma dentre asvárias distribuidoras com a qual a loja obedece a contratos derevenda. Para cada distribuidora é imprescindível, além deoutras informações, o nome do vendedor intermediário e dostelefones para contato.
Um título pode estar disponível somente para venda ousomente para locação. E não se esqueça que, somente quandoda disponibilidade de um CD ser para venda, o seu preçounitário, a quantidade de unidades vendidas no ato datransação e a sua quantidade, remanescente no estoque, sãoinformações importantíssimas, além do que, no caso de umtítulo disponível exclusivamente para locação, a sua venda nãoé permitida e vice-versa.
![Page 132: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/132.jpg)
MER
• O modelo Entidade-Relacionamento (E-R) tempor base que o mundo real é formado por umconjunto de objetos chamados de entidades epelo conjunto dos relacionamentos entreesses objetos;
• O objetivo do modelo E-R é representar aestrutura lógica do banco de dados de umaempresa, especificando o esquema daempresa, quais as entidades e como elas serelacionam entre si.
![Page 133: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/133.jpg)
MER O modelo E-R é chamado de Modelagem
Conceitual, cujo objetivo é representar de uma
forma abstrata, independente da
implementação em computador, os dados que
serão armazenados no banco de dados.
![Page 134: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/134.jpg)
MER
• Conceitos Básicos:
– O modelo E-R trabalha com alguns conceitos básicos:
Atributos
Conjuntos de Entidade
Conjuntos de Relacionamento
![Page 135: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/135.jpg)
MER
Atributos:
Simples e Compostos
Monovalorados e Multivalorados
Identificador
Derivados
![Page 136: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/136.jpg)
Atributos Simples
São de uso comum para uma entidade, só possui
uma palavra. Ex: Nome, Idade.
Representação Atributo simples
![Page 137: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/137.jpg)
Atributo Composto
Este tipo de atributo possui “sub- atributos” em sua
nomenclatura que podem ou não ser do mesmo tipo
os quais são agregados a ele no mundo real Ex: O
atributo endereço temos os “sub- atributos”, Rua, Nº da
casa, bairro, cidade, CEP, etc.
Endereço
CEP
Nº da Casa
Rua
![Page 138: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/138.jpg)
Atributo Multivalorado
Possui vários valores dentro de uma único atributo,
mais todos os demais valores têm que ser do
mesmo tipo.
Ex: Telefones – Celular (92) 8175-1711, Residencial (92)
3671-9434, Comercial (92) 3614-9936
Representação Atributo
Multivalorado
![Page 139: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/139.jpg)
Atributos Especiais
(Atributo Identificador)
Ele identifica a principal característica da entidade.
Ex: Entidade Homem – Identificador Nome
Entidade Aluno - Identificador Matricula
Representações Atributo Identificador
![Page 140: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/140.jpg)
Conceituando atributo MER
Nome
Sócio
Endereco
Cod_Socio
Os atributos não são representados
graficamente, para não
sobrecarregar os diagramas.
Quando é utilizado um software
para a construção de modelos ER,
o software armazena a lista de
atributos de cada entidade em um
“Dicionário de Dados”.
![Page 141: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/141.jpg)
Modelagem E-R
Empregado Dependente
Cod_Emp
Nome
(1,1)
(0,n)
Num_Seq
Nome
![Page 142: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/142.jpg)
Conjunto de Entidades
Uma entidade é uma “coisa” ou um “objeto” nomundo real que pode ser identificada de formaúnica em relação aos outros objetos;
Um conjunto de Entidades é um conjunto queabrange entidades de mesmo tipo quecompartilham as mesmas propriedades:atributos.
representação de um objeto do mundo real doqual se deseja manter informações
Objetos concretos (pessoa, automóvel) ouabstrato (departamento, projeto)
![Page 143: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/143.jpg)
Representação de Entidade
Empregado Departamento
Sócios Shows
![Page 144: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/144.jpg)
Conjunto de Relacionamentos
Um relacionamento é uma associação entre umaou várias entidades (objetos da realidade)
Ex. um relacionamento entre um sócio “João” com o show “S-15”.
Esse relacionamento especifica que o sócio “João”compareceu ao show que foi designado com onumero “S-15”.
Um conjunto de relacionamentos é um conjuntode relacionamentos de mesmo tipo.
![Page 145: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/145.jpg)
Representação de Relacionamentos
Sócios Shows Participa
Empregado DepartamentoTrabalha
![Page 146: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/146.jpg)
Auto-Relacionamento
Ocorre quando uma entidade se associa a
outra do mesmo tipo.
esposamarido
Pessoa
Casamento
![Page 147: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/147.jpg)
O MER - Cardinalidades
Aula 9
![Page 148: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/148.jpg)
• A função que uma entidade desempenha em umrelacionamento é chamada Papel;
• Pode ocorrer de um mesmo conjunto de entidadesparticipar de um conjunto de relacionamentos mais deuma vez em diferentes papeis.
• O número de conjuntos de entidades que participa de umconjunto de relacionamento é também o grau desseconjunto de relacionamento. Um conjunto derelacionamento binário é de grau dois; umrelacionamento ternário é de grau três.
![Page 149: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/149.jpg)
Mapeamento de Restrições
O esquema de E-R de uma empresa pode definircertas restrições, as quais o conteúdo dobanco de dados deve respeitar.
Isso é feito utilizando o Mapeamento deCardinalidade
![Page 150: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/150.jpg)
Mapeamento de Cardinalidade
Expressa o número de entidades as quais outra
entidade pode estar associada via um conjunto
de relacionamentos.
![Page 151: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/151.jpg)
Cardinalidade de Relacionamentos
Cardinalidade máxima: indica a quantidade
máxima de ocorrências de entidades que
podem estar associadas a uma ocorrência da
outra entidade (1 ou n).
![Page 152: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/152.jpg)
Ex.: A entidade Empregado tem cardinalidade máxima 1 no
relacionamento Trabalha: uma ocorrência de Empregado
pode estar associada a no máximo uma ocorrência de
Departamento, ou em outros termos um empregado pode
estar trabalhando somente em um departamento.
A entidade Departamento tem cardinalidade máxima de
120 no relacionamento Trabalha: uma ocorrência de
Departamento pode esta associada a no máximo 120 de
Empregado, isto é, um departamento pode ter no máximo
120 empregados trabalhando nele.
![Page 153: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/153.jpg)
Cardinalidade de Relacionamentos
• Duas cardinalidades máximas são relevantes:
– A cardinalidade máxima 1
– A cardinalidade máxima “muitos” representada
pela letra n
Empregado DepartamentoTrabalhan 1
Ocorrência
referente a
departamento
Ocorrência
referente a
empregado
![Page 154: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/154.jpg)
Cardinalidade de Relacionamentos
Cardinalidade Mínima: especifica se a participação detodas as ocorrências das entidades no relacionamento éobrigatória ou opcional.
Em um projeto de BD é usada somente duas cardinalidadesmínimas: a cardinalidade mínima 0 e a cardinalidade mínima1.
A cardinalidade mínima 1 recebe a denominação de“associação obrigatória”.
A cardinalidade mínima 0 recebe a denominação de“associação opcional”.
A cardinalidade mínima em um Diagrama é anotada junto acardinalidade máxima.
![Page 155: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/155.jpg)
Cardinalidade Mínima
Empregado Mesaalocado
(1,0 ) (1,1 )
![Page 156: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/156.jpg)
Mapeamento de Cardinalidade
• Para um conjunto de relacionamentos R
binário entre os conjuntos de entidades A e B,
o mapeamento das cardinalidades deve seguir
uma das instruções abaixo:
![Page 157: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/157.jpg)
Um para Um – 1:1
Uma entidade em A está associada no máximo a uma
entidade em B, e uma entidade em B está associada a no
máximo uma entidade em A.
a1
a2
a3
a4
b1
b2
b3
b4
![Page 158: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/158.jpg)
Um para muitos – 1:NUma entidade em A está associada a várias entidades em B.
Uma entidade em B, entretanto, deve estar associada no
máximo a uma entidade em A.
a1
a2
b1
b2
b3
b4
![Page 159: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/159.jpg)
Muitos para muitos – N:N ou M:N
• Uma entidade em A está associada a qualquer
número de entidades em B e uma entidade em B
está associada a um número qualquer de
entidades em A.
a1
a2
a3
a4
b1
b2
b3
b4
![Page 160: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/160.jpg)
• Toda a estrutura lógica do banco de dados é expressa
graficamente pelo diagrama de E-R.
• Os principais componentes de um E-R:
– Retângulos – representam os conjuntos de entidades;
– Elipses – representam os atributos;
– Losangos – representam os conjuntos de relacionamentos;
– Linhas – unem os atributos aos conjuntos de entidades e os
conjuntos de entidades aos conjuntos de relacionamentos;
– Elipses duplas – atributos multivalorados.
![Page 161: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/161.jpg)
Diagrama Entidade Relacionamento
![Page 162: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/162.jpg)
Engenharia de Informações
• O que foi apresentado até agora foi utilizado a
notação do Peter Chen.
• Com a evolução e a criação de ferramentas
CASE, foram criadas outros tipos de notação.
• Engenharia de Informações foi criado na
década de 80 por James Martin.
![Page 163: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/163.jpg)
Modelagem E-R – James Martin
Exemplo de Modelagem, onde:
= muitos
= um
= a ocorrência do relacionamento é opcional;
= a ocorrência do relacionamento é obrigatória;
Empregado Departamento
![Page 164: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/164.jpg)
Peter Chen X James Martin
Empregado Departamento
Empregado DepartamentoTrabalha(1,1) (0,n)
![Page 165: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/165.jpg)
Modelagem E-R
Empregado
Dependente
Representação de uma entidade Fraca
Empregado
Dependente
![Page 166: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/166.jpg)
Modelagem E-R – James Martin
• As principais diferenças entre as notações:
Os relacionamentos são representados apenas por
uma linha que une as duas entidades;
Somente relacionamentos binários;
A notação de cardinalidade máxima e mínima é
gráfica, sendo assim: o símbolo mais próximo ao
retângulo é a representação da cardinalidade
máxima e o mais distante a cardinalidade mínima.
![Page 167: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/167.jpg)
Associações de “Muitos para Muitos”
Advogado Processo
![Page 168: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/168.jpg)
Modelagem E-R
TáxiMotorista
Associações de “Um para Um”
Estado Cidade
Associações de “Um para Muitos”
![Page 169: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/169.jpg)
Entidade Associativa
Em um banco de dados não é possível implementar um
relacionamento
M:N, sendo assim foi criado na modelagem a Entidade
Associativa.
Entidade Associativa é a associação entre uma entidade e um
relacionamento, ou a associação entre dois relacionamentos.
Advogado
Processo/
Advogado
Processo
![Page 170: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/170.jpg)
O Modelo Relacional
Aula 10
![Page 171: Fundamentos de Banco de Dados](https://reader033.vdocuments.site/reader033/viewer/2022050801/5571fa644979599169921dd2/html5/thumbnails/171.jpg)
Linguagens de Banco de Dados
171
As linguagens de Banco de Dados são declarativas
A DDL permite a definição da estrutura e dos esquemas em um Banco de
Dados
A DML permite a inserção, atualização, remoção e consulta sob os dados
Os SGBDs possuem um compilador cuja função é validar os comandos e
repassá-los para processamento
Comandos DMLs são utilizados em conjunto com linguagens de objetivo
geral como C ou Java, por exemplo