Você está na página 1de 171

Fundamentos de Banco de Dados

Peter Lucas Gomes Costa Branco


Introdução – Sociedade da
Informação
Aula 1
Sociedade da Informação

 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

Conhecimento
Vantagem
Estratégica
Informação

Sistema de
Informação Dado

3
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).
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)
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.
Conceitos

 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
7
Conceitos

 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

8
O SGBD – Sistema de
gerenciamento de banco
de dados
Aula 2
O SGBD

 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

10
 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
Estrutura do SGBD

Profa. Elcione 12
Conceitos

 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

13
Uso de Banco de Dados
Aula 3
Usando o banco de dados

 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
15
Uso de Banco de Dados

 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

16
Uso de Banco de Dados

 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

17
Uso de Banco de Dados

 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

18
Uso de Banco de Dados

 Suporte a Múltiplas Visõ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?

19
Uso de Banco de Dados

 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

20
Quando usar SGBDs

 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
21
Quando não usar SGBDs

 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

22
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.

23
Exemplos de SGBDs

 Em algumas circunstâncias é mais aconselhável usar arquivos regulares a

BDs:

 MySQL;
 Postgre;
 Oracle;
 SQL Server;
 Sybase;
 DB/2;
 Informix

24
Classificação do SGBDs
 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

25
Profissionais de Banco de dados
– The Database Professional
Aula 4
Profissionais e Banco de Dados

 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

27
Profissionais e Banco de Dados

 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

28
Profissionais e Banco de Dados
 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

29
Profissionais e Banco de Dados

 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

30
O Sistema de Banco de dados -
SBD
Aula 5
O SBD – Sistema de banco de dados

 O SGBD e o Banco de
Dados juntos constituem
o Sistema de Banco de Sistemas/Aplicações

Dados SGBD

SGBD + BD = SBD Banco de Dados

Dados + Catálogo = BD

32
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

33
Arquitetura Cliente - Servidor

 É 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.

34
Arquitetura Cliente - Servidor
Arquitetura de SBD

 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

36
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

37
Arquitetura de SBD

 Cliente-servidor com três

camadas:
 envolve a separação das
funcionalidades usando camadas, com
o objetivo de separar a lógica de
apresentação, a lógica de negocio e a
conexão com o banco de dados
(lógica de acesso a dados).
 A separação em três camadas torna
o sistema mais flexível, de modo que
partes podem ser alteradas
independentemente. Com o
emprego de arquitetura em três,
qualquer alteração em uma
determinada camada não influi nas
demais, desde que o mecanismo de
comunicação entre elas permanece
inalterado.
38
Arquitetura de SBD

39
Os modelos de dados

Aula 6
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.

41
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.

42
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
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
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.
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
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


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..
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.
Modelos de Redes
Regsitro Cliente Link Conta

João da Silva Av. Tarumã Manaus 1010 500,00

1210 600,00

Maria Soares 10 de Maio Manaus

1310 700,00

José Batista 7 de setembro Manaus 1411 800,00


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.
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.
Modelo Entidade Relacionamento
Componentes do MER

 Entidade
 Atributo de Entidade
 Relacionamento entre Entidades
 Cardinalidade
Exemplo do DER
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)
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.
Modelo de dados OO
Modelos de Dados
 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

59
Os níveis de banco de dados

Aula 7
Independência de Dados

 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
61
Independência de Dados

Usuários
Finais
NÍVEL Visão Visão .. Visão
EXTERNO Externa A Externa B Externa N
.
Mapeamento
Externo/Conceitual

NÍVEL
Esquema Conceitual
CONCEITUAL
Mapeamento
Conceitual/Interno

NÍVEL
INTERNO Esquema Interno

Banco de Dados

62
Independência de Dados

 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

63
Independência de Dados

 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

64
Modelagem de Dados

 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)

65
Modelagem de Dados

66 Profa. Elcione
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.

Profa. Elcione 67
Abstração de Dados

MundoReal
Mundo Real

Modelo Entidade Relacionamento

nível conceitual

Modelo Relacional

nível lógico

nível físico

Profa. Elcione 68
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.

Profa. Elcione 69
Exemplo de Nível Conceitual
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.

Profa. Elcione 71
Exemplo de Nível Conceitual
Estrutura de dados utilizada: Tabelas
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.

Profa. Elcione 73
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)
O Modelo Entidade
Relacionamento
Aula 8
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.
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
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.
MODELOS DE DADOS

Modelo de Entidade do
Modelo do cliente

Modelo do
sistema na
mente do
cliente

Representação Tabular
do modelo Server
de entidade

Tabelas no disco
Níveis de Abstração de BD

Mundo Real

Modelo Entidade Relacionamento

Nível Conceitual

Modelo Relacional-Objeto Relacional

nível lógico

nível físico
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
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
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
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.
Modelo Entidade Relacionamento -
MER

Atributo
supervisor DataIni Relacionamento

gerenciar

1 N 1 1
número
N 1 número
endereço FUNCIONÁRIO trabalhar DEPARTAMENTO
nome
nome N
1 1
salário localização

participar controlar
possuir
horas

N
número
N N PROJETO nome
nome
DataNiver DEPENDENTE
parentesco
Entidade
Modelo Entidade Relacionamento - Convenções

Entidade

Entidade Fraca

Relacionamento

Relacionamento Identificador

Atributo

Atributo Identificador
z Atributo Multivalorado
Modelo Entidade Relacionamento -
Convenções
...
Atributo Composto

Atributo Derivado

Participação total de E2 em R
E1 R E2
Ex: Agência e Conta Corrente

1 N
E1 R E2 Cardinalidade 1:N para E1:E2 em R

(min,max) E2 Constraint (min,max) de E em R


E1 R
código descrição

GENERO
nome
código endereço
1,1
salário

4,N FUNCIONARIO 1,N


classifica

1,1
código nome código
principal
nome
0,N
supervisor
2,N 1,N
ATOR possui FILME qtde fitas

1,1
código descrição preço

1,1
STATUS possui
CLIENTE
dt prev ret valor pago
dt aluguel * multa
1,N condição
possui 1,N
aluguel FITA
código

dt retorno
1,N valor
0,N previsto
CLIENTE

código nome endereço


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
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
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
Entidades Fortes e Fracas
Entidade
Dependente

Nome
IdFunc Endereço
Nome
Salário

1 N
Funcionário
Tem Dependente

IdDepto Nome
P-20

1
Trabalho Departamento

Entidade
Independente
MER - Atributos
 Atributo- serve para qualificar a entidade

 Simples
 Multivalorado
 Determinante ou Identificador
 Composto
 Derivado ou Calculado
MER - Atributos

 Simples
 só pode assumir um único valor elementar
 Exemplo: Nome, Idade, Data de Nascimento

 Notação

Rua
Nome Idade
Num

Fone CEP

PESSOAS Endereço
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.
MER - Atributos
 Multivalorado
 só pode assumir mais de uma valor
 Exemplo: Fones

 Notação
Rua
Nome Num
Idade

Fones CEP

PESSOAS Endereço
MER - Atributos
 Determinante
 Identifica unicamente uma entidade da outra
 Lembra o conceito de Chave

 Notação
Rua Num
Nome Idade
Fones
CEP

Código PESSOAS Endereço


MER - Atributos
 Determinante
 Identifica unicamente uma entidade da outra
 Lembra o conceito de Chave

 Notação

Fones Rua Num


Nome Idade
CEP
CPF
PESSOAS Endereç
IdPessoa o
MER - Atributos
 Composto
 Pode ser dividido em sub atributos
 Exemplo: Endereço

 Notação
Nome Idade
Rua Num
Fones
CEP
Código
PESSOAS
Endereço
MER - Atributos
 Derivado ou Calculado
 Seu valor é gerado a partir do valor de outro
atributo
 Exemplo: Data de Nascimento e Idade

 Notação
DataNasc Nome
Idade Sexo

*
PACIENTES
Componentes do MER

 RELACIONAMENTO
 É uma ligação entre duas ou mais entidades
 É representado por um losango xx

 RESTRIÇÕES
 Não se pode repetir nomes de relacionamentos
 O relacionamento deve ligar, no mínimo, duas entidades
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
Relacionamento Fraco e Forte
Entidade Entidade
Independente Dependente
Nome Identificador
Código Endereço
Nome
Salário Código

1 N
1 Funcionário É de possui
Tem Dependente

N N
ÉC
om
po
sto

Supervisor
de

Código Nome

Trabalha no 1
Trabalho Departamento

Não Identificador
Papel do
Relacionamento
Cardinalidades do Relacionamento

• É 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
Cardinalidade 1:N

Médicos Especialidades
1:1

M1 E1

M2 E2

M3 E3
. .
. .
. .
Mn En

1 1
MÉDICOS possuem ESPECIALIDADES
CARDINALIDADE 1:N

Médicos Especialidades
1:N
E1
M1
E2
M2

M3 E3
.
.
E4
.
.
Mn
.
.
En

1 N
MÉDICOS possuem ESPECIALIDADES

Pós-Graduação em Projeto e
Administração de Banco de Dados-2006
Cardinalidade 1:N
Médicos Pacientes
N:N
P1
M1

P2
M2

P3
M3

P4
M4 .
. .
. .
. Pn
Mn

N N
MÉDICOS consultas PACIENTES

(0,1) (1,N)
MÉDICOS possuem ESPECIALIDADES
Participação do relacionamento

• É 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: Total e Parcial

N N
MÉDICOS consultas PACIENTES

Pós-Graduação em Projeto e
Administração de Banco de Dados-2006
Auto Relacionamento

 Situação em que uma entidade se relaciona com outra do


mesmo conjunto

Nome
Código Endereço
Salário

1 N
Funcionário

Supervisor Supervisionado

Supervisão
Grau do Relacionamento
É dado pelo total de entidades envolvidas no relacionamento
• Binário, ternário, etc.

N N
MÉDICOS consultas PACIENTES

N N
VENDEDORES vendas PRODUTOS

CLIENTES
Relacionamentos n-ÁRIOS

• É definido pela regra de negócio

N N
VENDEDORES vendas PRODUTOS

N N

N N
vendem CLIENTES compram

N N
VENDEDORES vendas PRODUTOS

CLIENTES
Relacionamentos n-ÁRIOS

N N
MÉDICOS consultas PACIENTES

• Supondo que um médico faz consultas a


pacientes.
Agregação

N N
MÉDICOS consultas PACIENTES

N N

N N
solicita EXAMES faz

• Supondo também que nessas consultas o médico pode fazer


solicitações de exames.
• Vários binários = inconsistência
Agregação

N N
MÉDICOS consultas PACIENTES

EXAMES

• O ternário obriga que em toda consulta o médico solicite um


exame.
Agregação
N N
MÉDICOS consultas PACIENTES

solicita

EXAMES

• O MER não permite relacionamento entre


relacionamento
Agregação

• 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

• 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
N N
MÉDICOS consultas PACIENTES

N N
solicitações MÉDICOS consultas PACIENTES

EXAMES solicitações

EXAMES
O MER - Especiliazação

Aula 10
Herança: Generalização e
sobreposição
• É a forma de agrupar um conjunto de entidades que compartilham
características comuns.
IdTitulação Descrição
IdPessoa Nome Endereço

TITULAÇÕES
PESSOAS

CPF CGC

DtaNasc NomeFantasia

PESSOAS PESSOAS
FÍSICAS JURÍDICAS
ESPECIALISTA MESTRE
Herança: Generalização e
sobreposição

• É a forma de agrupar um conjunto de entidades que compartilham


características comuns.
IdTitulação Descrição
IdPessoa Nome Diagnóstico

PESSOAS
TITULAÇÕES

CPF CGC

DtaNasc NomeFantasia

PESSOAS PESSOAS
FÍSICAS JURÍDICAS
ESPECIALISTA MESTRE
Herança: Generalização e
É a forma de agrupar um conjunto de entidades que
•sobreposição
compartilham características comuns. Restrições:
 d: mutuamente exclusivo - quando uma instância da entidade
generalização só pode estar em uma entidade de
especialização
 o: sobrepostos - quando uma instância da entidade
generalização pode estar em duas ou mais entidade de
especialização
 total: cada entidade da generalização deve pertencer a pelo
menos uma entidade de especialização
 parcial: cada entidade da generalização pode ou não pertencer
a uma entidade de especialização
Herança: Generalização e
sobreposição

Nome
Código Endereço
Sexo
Tipo

Funcionário

Total

Terceiro
Consultor
Generalização
Horas Tx hora Salário
Especialização
Herança: Generalização e
sobreposição

Nome
Código Endereço
Sexo
Tipo

Funcionário

Parcial

Terceiro
Consultor
Generalização
Horas Tx hora Salário
Especialização
HERANÇA: GENERALIZAÇÃO E ESPECIALIZAÇÃO

nome
código endereço

tipo
sexo
FUNCIONARIO
mostra a direção do
relacionamento
superclasse/subclasse

generalização

CONSULTOR

especialização
horas tx hora

Pós-Graduação em Projeto e
Administração de Banco de Dados-2006
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
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.
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.
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).
 Cada título de CD é classificado somente num gênero musical
(pelo menos, aquele gênero que predomina) dentre os vários
que a base de dados mantêm como disponíveis na loja. Além
disso, cada título de CD é fornecido por apenas uma dentre as
várias distribuidoras com a qual a loja obedece a contratos de
revenda. Para cada distribuidora é imprescindível, além de
outras informações, o nome do vendedor intermediário e dos
telefones para contato.
 Um título pode estar disponível somente para venda ou
somente para locação. E não se esqueça que, somente quando
da disponibilidade de um CD ser para venda, o seu preço
unitário, a quantidade de unidades vendidas no ato da
transação e a sua quantidade, remanescente no estoque, são
informações importantíssimas, além do que, no caso de um
título disponível exclusivamente para locação, a sua venda não
é permitida e vice-versa.
MER
• O modelo Entidade-Relacionamento (E-R) tem
por base que o mundo real é formado por um
conjunto de objetos chamados de entidades e
pelo conjunto dos relacionamentos entre
esses objetos;
• O objetivo do modelo E-R é representar a
estrutura lógica do banco de dados de uma
empresa, especificando o esquema da
empresa, quais as entidades e como elas se
relacionam entre si.
 O modelo E-R é chamado de Modelagem
MER cujo objetivo é representar de uma
Conceitual,
forma abstrata, independente da
implementação em computador, os dados que
serão armazenados no banco de dados.
MER
• Conceitos Básicos:
– O modelo E-R trabalha com alguns conceitos
básicos:
Atributos
Conjuntos de Entidade
Conjuntos de Relacionamento
MER
Atributos:
Simples e Compostos
Monovalorados e Multivalorados
Identificador
Derivados
Atributos Simples

 São de uso comum para uma entidade, só possui


uma palavra. Ex: Nome, Idade.

Representação Atributo simples


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 Rua

Nº da Casa
CEP
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
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


Conceituando atributo MER

Os atributos não são representados


Sócio graficamente, para não
Nome
sobrecarregar os diagramas.
Quando é utilizado um software
Endereco para a construção de modelos ER,
Cod_Socio o software armazena a lista de
atributos de cada entidade em um
“Dicionário de Dados”.
Modelagem E-R
(1,1)
Empregado Dependente
(0,n)

Nome
Nome

Cod_Emp Num_Seq
Conjunto de Entidades
Uma entidade é uma “coisa” ou um “objeto” no
mundo real que pode ser identificada de forma
única em relação aos outros objetos;
Um conjunto de Entidades é um conjunto que
abrange entidades de mesmo tipo que
compartilham as mesmas propriedades:
atributos.
representação de um objeto do mundo real do
qual se deseja manter informações
Objetos concretos (pessoa, automóvel) ou
abstrato (departamento, projeto)
Representação de Entidade

Empregado Departamento

Sócios Shows
Conjunto de Relacionamentos
Um relacionamento é uma associação entre uma
ou 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 o
numero “S-15”.
Um conjunto de relacionamentos é um conjunto
de relacionamentos de mesmo tipo.
Representação de Relacionamentos

Sócios Participa Shows

Empregado Trabalha Departamento


Auto-Relacionamento
Ocorre quando uma entidade se associa a
outra do mesmo tipo.

Pessoa

marido esposa
Casamento
O MER - Cardinalidades

Aula 9
• A função que uma entidade desempenha em um
relacionamento é chamada Papel;
• Pode ocorrer de um mesmo conjunto de entidades
participar de um conjunto de relacionamentos mais de
uma vez em diferentes papeis.
• O número de conjuntos de entidades que participa de um
conjunto de relacionamento é também o grau desse
conjunto de relacionamento. Um conjunto de
relacionamento binário é de grau dois; um
relacionamento ternário é de grau três.
Mapeamento de Restrições

O esquema de E-R de uma empresa pode definir


certas restrições, as quais o conteúdo do
banco de dados deve respeitar.
Isso é feito utilizando o Mapeamento de
Cardinalidade
Mapeamento de Cardinalidade
Expressa o número de entidades as quais outra
entidade pode estar associada via um conjunto
de relacionamentos.
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).
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.
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 n Trabalha 1 Departamento


Ocorrência
Ocorrência
referente a
referente a
departamento
empregado
Cardinalidade de Relacionamentos
Cardinalidade Mínima: especifica se a participação de
todas as ocorrências das entidades no relacionamento é
obrigatória ou opcional.
Em um projeto de BD é usada somente duas cardinalidades
mínimas: a cardinalidade mínima 0 e a cardinalidade mínima
1.
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 a
cardinalidade máxima.
Cardinalidade Mínima

(1,0 ) (1,1 )
Empregado alocado Mesa
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:
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.

b1
a1
b2
a2
b3
a3
b4
a4
Um para muitos – 1:N
Uma 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.

b1
a1
b2

a2 b3

b4
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.

b1
a1
b2
a2
b3
a3
b4
• 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.
Diagrama Entidade Relacionamento
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.
Modelagem E-R – James Martin

Empregado Departamento

Exemplo de Modelagem, onde:


= muitos
= um
= a ocorrência do relacionamento é opcional;
= a ocorrência do relacionamento é obrigatória;
Peter Chen X James Martin

Empregado (1,1) Trabalha (0,n)


Departamento

Empregado Departamento
Modelagem E-R

Representação de uma entidade Fraca


Empregado

Empregado

Dependente

Dependente
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.
Associações de “Muitos para Muitos”

Advogado Processo
Modelagem E-R
Associações de “Um para Um”

Motorista Táxi

 Associações de “Um para Muitos”

Estado Cidade
Entidade Associativa
Processo/
Advogado Advogado

Processo

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.
O Modelo Relacional

Aula 10
Linguagens de Banco de Dados

 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

171