Fundamentos de Banco de Dados

171
Fundamentos de Banco de Dados Peter Lucas Gomes Costa Branco

Transcript of Fundamentos de Banco de Dados

Page 1: Fundamentos de Banco de Dados

Fundamentos de Banco de Dados

Peter Lucas Gomes Costa Branco

Page 2: Fundamentos de Banco de Dados

Introdução – Sociedade da

InformaçãoAula 1

Page 3: Fundamentos de Banco de Dados

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

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

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

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

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

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

O SGBD – Sistema de

gerenciamento de banco

de dadosAula 2

Page 10: Fundamentos de Banco de Dados

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

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

Profa. Elcione 12

Estrutura do SGBD

Page 13: Fundamentos de Banco de Dados

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

Uso de Banco de Dados

Aula 3

Page 15: Fundamentos de Banco de Dados

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

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

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

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

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

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

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

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

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

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

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

Profissionais de Banco de dados

– The Database Professional

Aula 4

Page 27: Fundamentos de Banco de Dados

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

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

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

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

O Sistema de Banco de dados -

SBD

Aula 5

Page 32: Fundamentos de Banco de Dados

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

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

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

Arquitetura Cliente - Servidor

Page 36: Fundamentos de Banco de Dados

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

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

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

39

Arquitetura de SBD

Page 40: Fundamentos de Banco de Dados

Os modelos de dados

Aula 6

Page 41: Fundamentos de Banco de Dados

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

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

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

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

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

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

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

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

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

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

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

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

Modelo Entidade Relacionamento

Page 54: Fundamentos de Banco de Dados

Componentes do MER

Entidade

Atributo de Entidade

Relacionamento entre Entidades

Cardinalidade

Page 55: Fundamentos de Banco de Dados

Exemplo do DER

Page 56: Fundamentos de Banco de Dados

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

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

Modelo de dados OO

Page 59: Fundamentos de Banco de Dados

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

Os níveis de banco de dados

Aula 7

Page 61: Fundamentos de Banco de Dados

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

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

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

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

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

Modelagem de Dados

Profa. Elcione66

Page 67: Fundamentos de Banco de Dados

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

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

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

Exemplo de Nível Conceitual

Page 71: Fundamentos de Banco de Dados

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

Exemplo de Nível ConceitualEstrutura de dados utilizada: Tabelas

Page 73: Fundamentos de Banco de Dados

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

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

O Modelo Entidade

Relacionamento

Aula 8

Page 76: Fundamentos de Banco de Dados

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

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

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

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

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

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

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

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

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

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

Modelo Entidade Relacionamento - Convenções

Entidade Fraca

Entidade

Relacionamento

Atributo

Atributo Identificador

Atributo Multivalorado

Relacionamento Identificador

z

Page 87: Fundamentos de Banco de Dados

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

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

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

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

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

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

MER - Atributos

Atributo- serve para qualificar a entidade

Simples

Multivalorado

Determinante ou Identificador

Composto

Derivado ou Calculado

Page 94: Fundamentos de Banco de Dados

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

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

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

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

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

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

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

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

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

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

• É 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

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

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

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

• É 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

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

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

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

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

• Supondo que um médico faz consultas a

pacientes.

MÉDICOS PACIENTESconsultasN N

Relacionamentos n-ÁRIOS

Page 114: Fundamentos de Banco de Dados

• 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

• 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

• 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

• 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

• 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

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

O MER - Especiliazação

Aula 10

Page 121: Fundamentos de Banco de Dados

• É 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

• É 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

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

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

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

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

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

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

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

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

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

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

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

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

MER

Atributos:

Simples e Compostos

Monovalorados e Multivalorados

Identificador

Derivados

Page 136: Fundamentos de Banco de Dados

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

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

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

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

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

Modelagem E-R

Empregado Dependente

Cod_Emp

Nome

(1,1)

(0,n)

Num_Seq

Nome

Page 142: Fundamentos de Banco de Dados

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

Representação de Entidade

Empregado Departamento

Sócios Shows

Page 144: Fundamentos de Banco de Dados

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

Representação de Relacionamentos

Sócios Shows Participa

Empregado DepartamentoTrabalha

Page 146: Fundamentos de Banco de Dados

Auto-Relacionamento

Ocorre quando uma entidade se associa a

outra do mesmo tipo.

esposamarido

Pessoa

Casamento

Page 147: Fundamentos de Banco de Dados

O MER - Cardinalidades

Aula 9

Page 148: Fundamentos de Banco de Dados

• 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

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

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

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

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

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

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

Cardinalidade Mínima

Empregado Mesaalocado

(1,0 ) (1,1 )

Page 156: Fundamentos de Banco de Dados

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

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

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

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

• 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

Diagrama Entidade Relacionamento

Page 162: Fundamentos de Banco de Dados

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

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

Peter Chen X James Martin

Empregado Departamento

Empregado DepartamentoTrabalha(1,1) (0,n)

Page 165: Fundamentos de Banco de Dados

Modelagem E-R

Empregado

Dependente

Representação de uma entidade Fraca

Empregado

Dependente

Page 166: Fundamentos de Banco de Dados

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

Associações de “Muitos para Muitos”

Advogado Processo

Page 168: Fundamentos de Banco de Dados

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

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

O Modelo Relacional

Aula 10

Page 171: Fundamentos de Banco de Dados

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