0% acharam este documento útil (0 voto)
205 visualizações28 páginas

Introdução a Bancos de Dados

O documento discute bancos de dados e sistemas de gerenciamento de bancos de dados (SGBD). Apresenta conceitos básicos de BD e SGBD, características de um SGBD, modelos de dados e normalização. Explica os problemas dos sistemas de arquivos convencionais e as vantagens dos bancos de dados e SGBDs em relação a esses sistemas.

Enviado por

Gustavo Passone
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
205 visualizações28 páginas

Introdução a Bancos de Dados

O documento discute bancos de dados e sistemas de gerenciamento de bancos de dados (SGBD). Apresenta conceitos básicos de BD e SGBD, características de um SGBD, modelos de dados e normalização. Explica os problemas dos sistemas de arquivos convencionais e as vantagens dos bancos de dados e SGBDs em relação a esses sistemas.

Enviado por

Gustavo Passone
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Centro Estadual de Educação Tecnológica Paula Souza

GOVERNO DO ESTADO DE SÃO PAULO

Faculdade de Tecnologia Jundiaí

Informática para Gestão de Negócios

Profa. Luciana

Jundiaí
2º Semestre / 2009
Sumário

1. BANCOS DE DADOS............................................................................................................................................. 2
1.1. INTRODUÇÃO .................................................................................................................................................... 2
1.2. HISTÓRICO ....................................................................................................................................................... 2
1.3. PROBLEMAS DOS SISTEMAS DE ARQUIVOS CONVENCIONAIS ............................................................................ 2
1.4. BANCOS DE DADOS X SISTEMA DE ARQUIVOS ................................................................................................. 2

2. SISTEMA DE GERENCIAMENTO DE BANCOS DE DADOS (SGBD)......................................................... 3


2.1. CONCEITOS ....................................................................................................................................................... 3
2.2. CARACTERÍSTICAS DE UM SGBD ..................................................................................................................... 3
2.3. MODELOS DE DADOS ABSTRAÇÃO DE DADOS ................................................................................................... 4
2.4. SISTEMAS DE BANCOS DE DADOS USUÁRIOS ................................................................................................... 4
2.5. ESTRUTURA GERAL DE UM SGBD .................................................................................................................... 5
2.6. CLASSIFICAÇÃO DOS SGBD ............................................................................................................................. 5
2.7. FUNÇÕES DE APOIO AO ADMINISTRADOR .......................................................................................................... 6

3. MODELAGEM DE DADOS.................................................................................................................................. 7
3.1. OBJETIVO ......................................................................................................................................................... 7
3.2. INTRODUÇÃO .................................................................................................................................................... 7
3.3. EXEMPLO ......................................................................................................................................................... 7

4. PROJETO DE BANCO DE DADOS................................................................................................................... 10

5. MODELO ENTIDADE-RELACIONAMENTO (ME-R).................................................................................. 11

6. DIAGRAMA ENTIDADE-RELACIONAMENTO (DE-R).............................................................................. 13


6.1. INTRODUÇÃO .................................................................................................................................................. 13
6.2. TIPOS DE RELACIONAMENTOS ........................................................................................................................ 14
6.3. ENTIDADE FORTE X ENTIDADE FRACA ......................................................................................................... 14
6.4. GENERALIZAÇÃO X ESPECIALIZAÇÃO .......................................................................................................... 15
6.5. AGREGAÇÃO .................................................................................................................................................. 16
6.6. COMO MODELAR UM SISTEMA ....................................................................................................................... 16
6.7. EXERCÍCIOS .................................................................................................................................................... 17

7. MODELO RELACIONAL................................................................................................................................... 18
7.1. INTRODUÇÃO .................................................................................................................................................. 18
7.2. MAPEANDO ME-R PARA O MODELO RELACIONAL......................................................................................... 19
7.3. EXERCÍCIOS .................................................................................................................................................... 23

8. NORMALIZAÇÃO............................................................................................................................................... 25
8.1. 1ª FORMA NORMAL: ........................................................................................................................................ 26
8.2. 2ª FORMA NORMAL: ........................................................................................................................................ 26
8.3. 3ª FORMA NORMAL: ........................................................................................................................................ 26
8.4. EXERCÍCIOS .................................................................................................................................................... 27

FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 1


1. Bancos de Dados

1.1. Introdução
Coleção de “dados” relacionados
Coleção lógica coerente de dados com um significado inerente
Conjunto de dados que contém informações
Sobre um empreendimento particular
Representa aspectos do mundo real: Minimundo

1.2. Histórico
1945: Fitas magnéticas para armazenamento de dados
1961: IDS (Integrated Data System), o primeiro SGBD hierárquico.
70´s: A tecnología de BD evolui. Alguns projetos de pesquisa em BD Relacionais:
Ingres, System/R, Adabas
1970: O modelo relacional é apresentado por Edgar F. Codd
1976: O modelo Entidade-Relacionamento é apresentado em artigo de P. Chen
1980´s: SGBD comerciais se consolidam: DB2, Oracle, Sybase, Informix. Surgem
ferramentas para PC´s (dBase, Paradox)
1985: Lançado o primeiro padrão SQL.
1990´s: SGBD são estendidos para aplicações complexas (espaciais, temporais,
multimídia,etc); Surgem os SGBD Orientados a Objetos (O2, Object Store,
Gemstone); Propõem-se extensões de orientação a objetos para SQL;
Começa a tendência á distribuição (Ambientes cliente-servidor)
1992: Publicado o padrão SQL2
1995: Discussão “acalorada” no médio acadêmico. Relacional vs Orientado a
Objetos => Relacional estendido

1.3. Problemas dos Sistemas de Arquivos convencionais


Integração de dados.
Replicação e inconsistência de dados
Dificuldade de acesso a dados. Dados incompatíveis, estruturas complexas.
Problemas de segurança.

1.4. Bancos de Dados X Sistema de Arquivos


Auto-contenção
Separação entre Programas e Dados. Abstração de Dados
Múltiplas Visões de Dados
Processamento de Transações, Recuperação.
Compartilhamento de dados
ETEVAV – Informática: Tecnologias e Linguagens para Banco de Dados I – Profa. Luciana 2
2. Sistema de Gerenciamento de Bancos de Dados (SGBD)

2.1. Conceitos
BD - Banco de Dados:
• Coleção de dados, conjunto de informações de uma empresa ou pessoais.
SGBD - Sistema de Gerenciamento de Banco de Dados:
• Conjunto de dados interrelacionados e um conjunto de programas para
controlar esses dados.
• Software que manipula todos os acessos ao Banco de Dados.

2.2. Características de um SGBD


Controle de Redundâncias
Compartilhamento dos Dados
Controle de Acesso
Múltiplas Interfaces
Representação de Relacionamentos Complexos entre Dados. Esquematização
Controle de Integridade
Backups e Tolerância a Falhas

Sem SGBD:
• Arquivos físicos: problemas com espaço físico, dificuldade de acesso,
velocidade, replicação.
• Ambiente de processamento de dados: arquivos convencionais:
problemas de replicação e inconsistência dos dados, dificuldade de acesso
(manipulação de estruturas complexas), isolamento, compartilhamento de
dados difícil, pouca segurança, falta de controle de integridade.

Com SGBD:
• Oferece: criar, alterar e eliminar estruturas de armazenamento, inserir,
consultar, alterar e eliminar dados.
• Vantagens: velocidade, facilidade de acesso, redução da redundância,
evita-se inconsistência, controle de integridade, controle de concorrência,
maior segurança (quedas do sistema e acesso de pessoas
não autorizadas).
• Desvantagens: hardware adicional, complexidade do sistema e
necessidade de pessoal especializado.

Usando-se um SGBD busca-se compartilhar informações de forma segura, garantir a


integridade e a consistência dos dados, permitir acesso rápido e eficiente, oferecer
uma forma de afastar do usuário comum a necessidade de compreender as estruturas
físicas dos dados.

FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 3


2.3. Modelos de dados
Abstração de dados
Abstração de dados: Ocultar determinados detalhes sobre a forma de
armazenamento dos dados

Nível de Visão

Visão 1 Visão 2 ... Visão n

Nível Lógico

Nível Físico
• Nível físico: descreve como os dados estão armazenados (estruturas de dados
complexas). Nível mais baixo.
• Nível lógico: descreve quais os dados estão armazenados no BD e quais os
inter-relacionamentos entre eles. Visão do BD todo.
• Nível de visão: descreve apenas parte do BD. Cada usuário (ou grupo de
usuários) tem acesso à parte do BD que lhe é de interesse ou que lhe é
permitido, através das visões. Um BD pode ter muitas visões diferentes.

2.4. Sistemas de Bancos de Dados


Usuários
Administrador do banco de Dados (DBA)
• Definição da estrutura do BD.
• Modificação da organização física e esquema.
• Autorização de acesso aos dados.
• Restrições de integridade.
Projetista de Banco de Dados
• Responsáveis pelos dados armazenados no BD.
Usuários finais
• Usuários casuais: Consultas diferentes e ocasionais.
• Usuários paramétricos: Consultas predefinidas
• Usuários sofisticados: Consultas complexas.
Analistas e programadores de aplicações

FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 4


2.5. Estrutura geral de um SGBD
Gerenciador de arquivos: gerencia a alocação de espaço de armazenamento em
disco e estrutura de dados usadas para representar informação em disco.
Gerenciador de BD: faz a interface dos dados armazenados no BD e os
programas de aplicação e consultas submetidas ao sistema. É responsável por:
• interação com o gerenciador de arquivos (dados em disco): gerenciador traduz
LMD em comandos de baixo nível do sistema de arquivos
• garantia de integridade: os valores dos dados armazenados devem satisfazer
certas restrições de integridade. O gerenciador pode verificar se alterações
resultam em violação dessas restrições.
• garantia de segurança: permissões de acesso são controladas pelo gerenciador
de banco de dados
• recuperação e backup: recuperação de falhas mecânicas ou elétricas, incluindo
quebra de discos, falhas de alimentação e erros de software
• controle de concorrência: controlar o acesso ao BD por diversos usuários. A
consistência dos dados deve ser preservada.
Processador de consultas: traduz uma linguagem de consulta para instruções de
baixo nível que o gerenciador de BD entenda.
Pré-compilador DML (Data Manipulation Language): converte comandos DML
dos programas de aplicação para rotinas em linguagem de máquina.
• DML ou LMD - Linguagem de Manipulação de Dados: usada para inserir,
consultar, alterar e eliminar os dados das tabelas.
• Linguagem de Consulta: parte da LMD responsável apenas pela consulta de
dados. Exemplo: SQL
Compilador DDL (Data Definition Language): converte comandos DDL para
tabelas armazenadas no dicionário de dados.
• DDL ou LDD - Linguagem de Definição de Dados: usada para criar e alterar
estruturas das tabelas
Arquivos de dados: armazena os dados propriamente dito.
Dicionário de dados: armazena as informações sobre as estrutura de dados
Índices: facilitam a localização e o acesso aos dados

2.6. Classificação dos SGBD


Modelo de dados
• Rede, hierárquico, Relacional, Orientado a objetos
Número de usuários
• Monousuário, multiusuário
Localização do BD
• Centralizado
• Distribuído
Generalidade
• Propósito geral
• Propósito específico
FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 5
2.7. Funções de apoio ao administrador
A utilização de um SGBD, em sua aplicação potencial de gerência de um banco de
dados que abranja todas as aplicações de uma empresa, visando à obtenção de um
controle centralizado dos dados, deve ser acompanhada por uma pessoa (ou grupo de
pessoas) que exerça a função de administrador do banco de dados (DBA).

Entre as atividades principais desta função, podemos citar:


• a definição do esquema interno de descrição dos dados;
• apoio à definição dos esquemas externos que é feita pelos responsáveis pelas
aplicações;
• controle da integridade do banco de dados;
• acompanhamento do desempenho dos processos que utilizam o banco de
dados;
• alterações do esquema interno, seja para incluir novos dados, seja para mudar
as estratégias que estão sendo utilizadas, visando a melhorar o desempenho; e
• garantir a segurança dos dados contra destruições premeditadas ou
involuntárias.

Devemos notar que o administrador do banco de dados e o SGBD se completam


na tarefa de controle centralizado dos dados.

FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 6


3. Modelagem de Dados

3.1. Objetivo
Coletar os dados do mundo real e transformar em informações que podem ser
armazenadas em um SGBD.

3.2. Introdução
Há uma série de modelos que podem ser utilizados para a transformação dos
dados do mundo real em informações que facilmente possam ser organizadas em um
computador. Serão analisados dois modelos: o Modelo de Entidade-Relacionamento (ME-
R) e o Modelo Relacional. O Modelo de Entidade-Relacionamento é um modelo conceitual
(não preocupado com a implementação, mas sim com a organização dos dados
necessários para o sistema) e o Modelo Relacional é um modelo operacional, onde a
preocupação é organizar os dados em estruturas que serão diretamente implementadas
em um sistema de banco de dados que implemente esse modelo (os dados são
organizados em tabelas).

Seres, objetos, fatos Mundo Real

Informações informais Modelo Descritivo

Informações formais Modelo Conceitual

Dados Modelo Operacional

Cadeias de bits Modelo Físico

3.3. Exemplo
Sistema para o controle de dados dos alunos de uma escola.
Modelo descritivo: A escola mantém o cadastro de seus alunos por RG, nome,
endereço e fone. Sobre as disciplinas que são oferecidas a escola mantém o
código, título e carga horária. O histórico de um aluno associa os alunos às
disciplinas que eles cursaram em cada ano e mantém a nota e freqüência que eles
obtiveram
Modelo Conceitual:
• ME-R – Modelo Entidade-Relacionamento: objetos são representados como
entidades e as associações entre eles como relacionamentos.

N Histórico N Disciplinas
Alunos
nota ano
fone título carga
RG nome endereço freqüência código
horária
FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 7
• Modelo Orientado a Objetos: dados do mundo real são representados como
objetos, que possuem atributos e métodos. Objetos organizados em classes
ligados por associações. Exemplo usando modelagem UML (Linguagem de
Modelagem Unificada):
Implementação:
db4objects

Alunos Disciplinas
RG código
nome título
endereço carga horária
fone
Cadastrar( ) Histórico Cadastrar( )
Atualizar_End( ) nota
freqüência
ano

Cadastrar( )

Modelo Operacional: descrição de alto nível da implementação


• Modelo de Rede: dados representados por uma coleção de registros e os
relacionamentos são representados por ligações (ponteiros).
Implementações:
IDMS Cullinet
DMS 1100 Sperry
TOTAL Cincom Systems

Alunos Histórico Disciplinas


123 123 - d1
d1
456 - d1
456
456 - d2
d2
789 789 - d2

• Modelo Hierárquico: dados e relacionamentos também representados por


registros e ligações, organizados como árvores.
Implementações:
IMS IBM
System 2000 Intel
Alunos

456

Histórico

456 – d1 456 – d2

Disciplinas

d1 d2
FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 8
• Modelo Relacional: dados e relacionamentos representados por uma coleção de
tabelas. Ocupa mais de 90 % do mercado atual.
Implementações:
SQL/DS e DB2 - IBM.
Oracle - Oracle Corp.
Access - Microsoft.

Alunos Disciplinas
RG nome endereço fone código título carga horária

Histórico
RG código ano nota freqüência

Características:
• cada tabela tem seu nome diferente das demais na mesma base
de dados
• cada coluna tem seu nome diferente das demais na mesma tabela
• colunas contém os atributos (todos do mesmo domínio)
• linhas contém informações de 1 entidade
• cada célula pode conter no máximo 1 item de dado
• ordem das linhas é irrelevante
• ordem das colunas é irrelevante
• raramente temos duas linhas iguais
• chave primária

FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 9


4. Projeto de Banco de Dados

Análise de Requisitos
• Processo informal que envolve discussões com grupos de usuários
• Entender quais dados serão armazenados no BD
• Quais aplicações devem ser construídas
• Quais operações são mais freqüentes

Projeto Conceitual do BD
• Informações da Análise de Requisitos
• Construção do Modelo Entidade Relacionamento

Projeto Lógico de BD
• Escolher o SGBD
• Converter o Modelo conceitual num Modelo de Implementação

Projeto Físico do BD
papel do DBA
• Identificar as tarefas que o BD tem que suportar
• Ver questões de espaço físico, máquina, performance

Projeto de Segurança
• Identificar grupos de usuários e regras para os grupos
• Identificar quais partes do banco estarão abertas para as regras e grupos

O Modelo Entidade-Relacionamento é importante nas fases de


Análise de Requisitos, Projeto Conceitual e Projeto Lógico

FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 10


5. Modelo Entidade-Relacionamento (ME-R)
O ME-R é um modelo utilizado para descrição dos dados do mundo real a nível
conceitual, isto é, em um nível em que o interesse é selecionar as informações de
importantes para serem armazenadas na base de dados, mas não há preocupação de
como essas informações serão armazenadas nem de qual base de dados será utilizada.

No ME-R os dados são representados por Entidades e Relacionamentos.

Entidade: ser, fato ou objeto (concreto ou abstrato) do mundo real que existe e é
distinguível dos outros objetos. Exemplo: aluno, livro, conta bancária ou acidente.

Conjunto de Entidades: grupo de entidades de um mesmo tipo, isto é, com os


mesmos atributos e sujeitas aos mesmos relacionamentos. Exemplo: alunos,
professores, livros, contas, clientes e funcionários.

Os conjuntos de entidades não precisam ser independentes, ou seja, uma entidade


pode pertencer a mais de um conjunto de entidades simultaneamente. Exemplo: um
funcionário de um banco pode ser também cliente do banco, nesse caso o funcionário
estaria fazendo parte dos dois conjuntos de entidades (funcionários e clientes)
simultaneamente.

Uma entidade é representada e distinguida das demais por um conjunto de


atributos.
Exemplos:
Aluno – RG,
nome,
endereço,
fone,
...

Conta – nº da conta,
saldo,
...

Livro – nº de tombo,
título,
autores *,
editora,
edição,
ano de publicação,
...

O * ao lado do atributo autores representa que esse atributo é multivalorado. Um


atributo é dito multivalorado quando nele pode-se armazenar um ou mais valores distintos
ao mesmo tempo, no exemplo um mesmo livro pode ter um ou mais autores.

FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 11


O Domínio é o conjunto de valores válidos para um atributo.
Exemplos:
nome : texto [ 30 ]
nota : numérico
>= 0 e <= 10
idade : numérico >= 0

Relacionamento: associação entre duas ou mais entidades. Exemplo: o


empréstimo de um livro associa o livro ao leitor que o retirou da biblioteca.

Conjunto de relacionamentos: grupo de relacionamentos do mesmo tipo.


Representam associações entre entidades de:
• um mesmo conjunto: relacionamento unário. Exemplo: casamento que associa
duas entidades do mesmo conjunto ( duas pessoas).
• dois conjuntos distintos: relacionamento binário. Exemplo: empréstimo de um
livro que associa o livro ao leitor que o retirou.
• três ou + conjuntos de entidades: relacionamento múltiplo. Exemplo: reserva
sendo um relacionamento entre um funcionário, a máquina que ele reservou e o
projeto que ele irá desenvolver usando essa máquina.

Os Relacionamentos podem possuir atributos próprios.


Exemplo:
O empréstimo de um livro deve conter a data da retirada e a data de devolução.

O Papel é a função que uma entidade executa em um relacionamento.


Exemplos:
leitor empresta um livro
livro é emprestado por um leitor

A cardinalidade expressa o número de entidades às quais uma entidade pode ser


associada via um conjunto de relacionamentos. Tipos de cardinalidade em conj. de rel.
binários:
• para 1 ( um para um)
• para N (um para muitos)
• N para 1 (muitos para um)
• N para N (muitos para muitos)

FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 12


6. Diagrama Entidade-Relacionamento (DE-R)

6.1. Introdução
Representação gráfica da estrutura lógica de um Banco de Dados usando ME-R:

Conjunto de Entidades: Alunos

Conjunto de Relacionamentos:

Empréstimo

atributos:
RG nome endereço

linhas: ligam conjunto de entidades a conjunto de relacionamentos e atributos a


conjuntos de entidades / conjunto de relacionamentos.

autores *
N N Livros
Leitores Empréstimo
editora
data
retirada data título
código endereço Nº tombo
devolução
nome

Chave Primária: Conjunto mínimo de atributos (um ou mais) que permitem


identificar unicamente uma entidade em um conjunto de entidades.
Exemplos:
• Carros: chassi
• Alunos: RA (Registro Acadêmico)
• Clientes: CPF

autores *
N empresta é emprestado N
Leitores Empréstimo Livros
editora
data
ano
nome retirada data título
código Nº tombo
endereço devolução

rua nº bairro

FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 13


6.2. Tipos de Relacionamentos

Relacionamentos unários:

esposa

Pessoas Casamento

N
data
RG nome marido

Relacionamentos binários:

autores *
N N Livros
Leitores Empréstimo
editora
data
ano
nome retirada data título
código Nº tombo
endereço devolução

Relacionamentos múltiplos:

N N Contas
Clientes Posse

nome saldo
código Número
endereço
1

Agências

nome
Número

6.3. Entidade Forte X Entidade Fraca

Entidades Fortes: entidades que possuem Chave Primária.


Exemplos:
• Carros, Alunos, Clientes, Contas.

FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 14


Entidades Fracas: entidades que não possuem atributos suficientes para formar
uma chave primária.
Exemplo:
• reparo de um carro : tipo, data, valor, oficina

valor
1 N Reparos
Carros Histórico
oficina

ano data
chassi tipo
marca

Como a Entidade Fraca não possui chave primária própria, sua chave primária é
formada pela composição da chave primária da Entidade Forte da qual ela depende mais
um discriminador. Discriminador é a composição de um ou mais atributos da entidade
fraca que são únicos quando associados à entidade forte.
Exemplo:
• chave primária dos reparos: chassi + tipo + data.

Dependência existencial: as entidades fracas dependem existencialmente de


entidades fortes, por exemplo, não faz sentido manter o histórico de reparos de um carro,
se o carro em questão não existe mais, portanto os reparos dependem existencialmente
dos carros.

6.4. Generalização X Especialização


Generalização: é o resultado da união de 2 ou mais conjunto de entidades de um
nível mais baixo (mais detalhado), gerando um único conjunto de entidades em um
nível mais alto (mais geral). Enfatiza-se as semelhanças entre entidades de
conjuntos distintos.

Especialização: é o resultado da separação de um ou mais subconjunto de


entidades, a partir de um conjunto de entidades no nível mais alto. Enfatiza-se as
diferenças entre entidades do mesmo conjunto.
Exemplo:
número
N N Contas
Clientes possuem
saldo

nome
código
endereço
são

Corrente Poupança

limite data base

FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 15


Obs.: Os atributos comuns são associados às entidades do nível + alto. Entidades
do nível + baixo herdam os atributos das entidades superiores e, além disso,
possuem seus atributos próprios.

6.5. Agregação
Agregação: abstração de dados onde relacionamentos são tratados como
conjunto de entidades em nível mais alto.
Agregações são usadas quando desejamos associar um relacionamento a um
conjunto de entidades através de um outro relacionamento (não é permitido ligar dois
relacionamentos)

Exemplo:

N N Projetos
Funcionários Alocação

data
função título
CPF código
nome

Alocação
N

data

Reserva

hora

N
número

Máquinas
descrição

6.6. Como Modelar um Sistema


1. Identificar o Universo.
2. Identificar as entidades envolvidas.
3. Identificar os relacionamentos entre elas.
4. Definir os atributos das entidades e relacionamentos.
5. Especificar as restrições de cardinalidade.
6. Verificar a existência de entidades fracas.

Obs.: Nunca ligar duas entidades sem um relacionamento no meio.


Nunca ligar dois relacionamentos diretamente.

FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 16


6.7. Exercícios
1. Faça o DE-R para uma locadora que mantém um cadastro de todos os seus clientes
por código, nome, data nascto, residência, telefone, RG. Esses clientes podem locar
vários filmes. No momento da locação são anotados os seguintes dados data da
retirada, data de entrega e o número do comprovante de alocação. Os filmes são
cadastrados por código do item, título e preço. A locação deve ser autorizada pelos
funcionários que são cadastrados por nome e n.º do funcionário.

2. Faça um diagrama entidade-relacionamento para uma Transportadora, que possui


uma frota de caminhões cadastrados por chassis, modelo, cor e capacidade de
carga. Os caminhões são dirigidos por motoristas da transportadora. (obs.: um
motorista dirige apenas um caminhão). Os caminhões prestam serviços a várias
empresas que são cadastradas por código, nome, endereço. As empresas possuem
várias linhas de produtos a serem transportados. Os produtos são identificados por
um código, tipo, descrição e destino. A transportadora possui diversos motoristas
com nº de registro, nº da carteira de motorista e data vencimento.

3. A empresa é dividida em departamentos que são cadastrados por um número, nome


e localização. Os funcionários da empresa são contratados para trabalhar nos
departamentos, portanto um contrato associa cada funcionário ao departamento
onde ele trabalha e possui a data de contratação. Os funcionários possuem um
código, nome, endereço, cidade e fone. Dois grupos de funcionários são destacados:
engenheiros e motoristas. Os engenheiros possuem com atributos adicionais o
CREA e a formação; e os motoristas o número da carteira de habilitação e a data de
vencimento da mesma. Os motoristas dirigem os carros da empresa entre
determinadas datas/horas (data/hora de saída e data/hora de devolução). Os carros
são cadastrados por chassi, marca, modelo, cor e ano. A cada carro é associado um
histórico de reparos com a data, tipo do reparo, custo, garantia e oficina. Os
engenheiros são alocados para trabalhar em determinados projetos em períodos
determinados (data entrada e de saída do projeto). Os projetos são cadastrados por
código, título, descrição e custo.

4. Construa um DER para o Hospital Modelo:


No Hospital Modelo, cada paciente que é atendido é cadastrado por um Código de
Registro Hospitalar (CRH), nome, endereço, cidade, fone, data de nascimento, sexo
e responsável. Os pacientes são consultados pelos médicos em uma determinada
data e hora. Os médicos possuem um CRM, nome, endereço, cidade, fones, bip e
especialidade. Ao consultar um paciente, o médico pode solicitar a realização de
exames. Os exames são cadastrados por tipo, descrição, data da realização e
resultado.
Os pacientes podem ser internados em um leito do hospital, dependendo do
encaminhamento do médico que o consultou. Os leitos do hospital são cadastrados
por ala, número do quarto, número do leito e tipo. Na internação são registradas a
data de entrada e a data prevista de saída.
A cada paciente são associadas ocorrências de seu prontuário, informando
problema, data de constatação, receita, cuidados especiais.

FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 17


7. Modelo Relacional

7.1. Introdução
Banco de Dados representado por um conjunto de tabelas também chamadas de
relações (relacionam um conjunto de valores).
Cada linha de uma tabela também é chamada de uma tupla.
Esquema de um BD Relacional: definição do conjunto de tabelas e seus
atributos que irão compor a base de dados (estrutura do BD relacional)
Instância de um BD Relacional: conjunto de dados armazenados no BD em um
determinado momento.

Exemplos:

Esquema:

Usuários ( código inteiro [chave primária],


nome caracteres [30],
end_rua caracteres [20],
end_número inteiro )

Livros ( código inteiro [chave primária],


título caracteres[20],
editora caracteres[10],
ano_pub inteiro )

Empréstimos ( cod_usuário inteiro [chave primária],


cod_livro inteiro [chave primária],
data_ret data [chave primária],
data_dev data )

Relacionamento:

Usuários Usuários
Livros
• código • código
nome nome
título
end_rua end_rua
editora
end_número end_número
ano_pub

Empréstimos
Usuários
• cód_usuário
código
• cód_livro
nome
end_rua
• data_ret
end_númer
data_dev
o
FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 18
Instância:

Usuários Livros
código nome end_rua end_número código título editora ano_pub

Empréstimos
cód_usuário cód_livro data_ret data_dev

7.2. Mapeando ME-R para o Modelo Relacional


Um Diagrama de Entidade relacionamento pode ser representado por um conjunto
de tabelas (esquema do Modelo Relacional)

Conjunto de Entidades: cada conjunto de entidades do DE-R gera uma tabela no


Modelo Relacional.

• Entidades Fortes: tabela com seus atributos próprios


número

Contas
saldo

Contas (número, saldo)

• Entidades fracas: tabela com chave primária da entidade forte da qual ela
depende mais seus atributos próprios

valor
1 N Reparos
Carros Histórico
oficina

ano data
chassi tipo
marca

Carros (chassi, marca, ano)


Reparos (chassi, tipo, data, oficina, valor)

FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 19


Conjunto de Relacionamentos: podem ou não gerar tabelas:

• Relacionamentos Múltiplos ou Relacionamentos Binários de N para N:


geram tabelas com as chaves primárias das entidades envolvidas mais os
atributos próprios do relacionamento.

N N Livros
Leitores Empréstimo
editora
data
ano
nome retirada data título
código Nº tombo
endereço devolução

Leitores (código, nome, endereço)


Livros (Nº_tombo, título, ano, editora)
Empréstimos (código, Nº_tombo, data_retirada, data_devolução)

• Relacionamentos Binários de 1 para N: não geram tabelas. Para associar as


tuplas das tabelas no Modelo Relacional deve-se transpor a chave de um
conjunto de entidades para o outro (a chave da entidade do lado com 1 é
transposta para a entidade do lado N). A chave transposta nesse caso não
compõe a chave primária da entidade que a recebeu (é uma chave estrangeira).

Obs: no caso da transposição de chave entre a entidade forte e a entidade


fraca que dela depende, a chave transposta compõe a chave primária da
entidade fraca).

1 N Cidades
Países Localização

população
nome nome
código código
continente

Países (código, nome, continente)


Cidades (código, nome, população, código_país)

• Relacionamentos de 1 para 1: para decidir como será feita a transposição de


chaves, deve-se observar a participação total com relação ao relacionamento.

1 1 Cidades
Países É Capital

população
nome nome
código código
continente

Todo país tem uma capital, mas nem toda cidade é capital de um país, portanto
a tabela de países é que deve receber a código da cidade que é capital.
FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 20
Países (código, nome, continente, código_cidade)
Cidades (código, nome, população)

Atributos Multivalorados: novas tabelas devem ser criadas para armazená-los


juntamente com a chave primária da entidade que os possui.

autores *

Livros
editora

ano
título
Nº tombo

Livros (No_tombo, título, ano, editora)


Autores (No_tombo, autor)

Sub-Atributos: além dos atributos comuns, são gerados somente os sub-atributos


do seu atributo.

Leitores

nome
código
endereço

rua nº bairro

Leitores (código, endereço_rua, endereço_nº, endereço_bairro, nome)

Generalização e Especialização: há duas maneiras de definir as tabelas para


uma generalização ou especialização:

• Define-se uma tabela para o conjunto de entidades do nível mais alto (com os
atributos comuns) e uma tabela para cada entidade do nível mais baixo (com
seus atributos próprios + a chave primária da entidade do nível mais alto).
número

Contas
saldo

são

Corrente Poupança

limite data base

Contas (número, saldo)


Corrente (número, limite)
FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 21
Poupança (número, data_base)

• Define-se tabelas apenas para os conjuntos de entidades do nível mais baixo


(com seus atributos próprios, mais todos os atributos herdados do conjunto de
entidades do nível mais alto).

Obs.: Essa opção só é permitida se a generalização / especialização for


mutuamente exclusiva (uma entidade não pertence a mais do que um
dos subconjuntos) e total (todas as entidades do nível mais alto
pertencem a um dos subconjuntos do nível de baixo).
número

Contas
saldo

são

Corrente Poupança

limite data base

Contas_Corrente (número, saldo, limite)


Contas_Poupança (número, saldo, data_base)

Agregação: como a agregação é a representação de um conjunto de


relacionamentos como se fosse um conjunto de entidades, o mapeamento para
tabelas é semelhante ao mapeamento aplicado em entidades e relacionamentos
normais.

Obs.: Faça primeiro o mapeamento das entidades e relacionamentos que estão


agregados.

FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 22


7.3. Exercícios
Passe para o Modelo Relacional as situações a seguir:

1. RG Nome Hora Código Nome


Data

N N
Estudantes Entrevista Recrutadores

N N
Fone

Ano Ingresso
Cursam Trabalham

Data

1
N Histórico 1
Empresas
Cursos

CNPJ Razão
Nome N Social
Código
Duração Inspeção Código Inspetor
Descrição dos Problemas

2.
CPF N
nome CANDIDATOS PRESTAM Data
Hora

N
1 Número
CONTÉM CONCURSOS
Tipo
autor

N
Tipo
TESTES PÚBLICO PARTICULAR
Valor

Estado Data Início

FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 23


3.
Registro OAB nome código endereço cidade
data hora
estado
cep N N
cepADVOGADO DEFENDE CLIENTE cep
ddd
ddd
fone 1
endereço cidade estado fone

PESSOA PESSOA
FÍSICA JURÍDICA

RG CPF nome cnpj razão nome


social fantasia

DEFESA
N

data

ESTUDA
POSSUI
hora

código
cliente N
N
número
sentença PROCESSO
descrição
HISTÓRICO
orçamento
data N N
data
hora hora
TESTE-
MOVE MUNHA

registro N N
OAB rg
nome PROMOTOR nome TESTEMUNHAS
endereço endereço
cidade cidade
estado cep ddd telefone estado cep ddd telefone

FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 24


8. Normalização
A normalização é a forma de organizar as tabelas de modo a se minimizar a
repetição de dados. Isso facilita o processo de administração das tabelas e também pode
reduzir o espaço de armazenamento de dados.
Conseguindo-se tabelas normalizadas de fácil entendimento não só para os
profissionais de informática, mas também para os próprios usuários dos computadores da
organização (nem sempre especialistas de informática), torna-se mais fácil:
• a comunicação entre usuários e analistas de sistemas
• as consultas pelos usuários com linguagens de consulta
• o desenvolvimento de aplicações simples pelos próprios usuários
• a atualização das tabelas
Evita-se, também, que haja nomes escritos de maneira diferente para uma mesma
entidade (por exemplo, o nome de uma empresa pode aparecer abreviado em uma linha e
não abreviado em outra). Com a normalização, o nome da empresa será registrado
apenas em um campo do banco de dados, não havendo, portanto, possibilidade de
escrevê-lo de formas diferentes.
Outra vantagem é a minimização de alterações nas estruturas das tabelas. Com
tabelas normalizadas o acréscimo de novos dados se resume apenas a acrescentar
linhas nas tabelas e não colunas. O acréscimo de colunas implica em alteração da
estrutura não só de tabelas, mas de outros componentes do banco de dados.

Exemplo:
Sem Normalização

NF: 10 Data: 04/03/09


Destinatário: João José
Endereço: Rua A, n° 10 Jundiaí - SP
CNPJ: 123321

Código Descrição Qtde Preço SubTotal


1 Parafuso 5 20 100
2 Porca 10 30 300
3 Prego 15 40 600

Total: 1000

Nota Fiscal (número, data, destinatário, endereço, cidade, estado, CNPJ, (código,
descrição, qtde, preço, subtotal), total)

As três principais regras de normalização são as seguintes:

FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 25


8.1. 1ª forma normal:

Um projeto de BD está na 1ª FN se é constituído por tabelas, e para cada tabela,


todas as linhas são diferentes e não contém grupos repetidos (Multivalorados). Exemplo:

Aplicando a 1ª FN teremos:
Nota Fiscal (número, data, destinatário, endereço, cidade, estado, CNPJ, total)
Itens (número, código, descrição, qtde, preço, subtotal)

8.2. 2ª forma normal:


Um projeto de BD está na 2ª FN se, e somente se, estiver na 1ª FN e em cada
tabela não existir nenhum atributo que dependa apenas de parte da chave primária.
Obs: Se a tabela está na 1ª FN e contém só uma chave simples, ela já está na 2ª
FN.
Para passar para a 2ª FN:
1 – Estar na 1ª FN;
2 – Remover os dados da estrutura dependente de parte da chave;
3 – Criar uma nova tabela com parte da chave e os atributos que dependem
dela.
Exemplo:
Nota Fiscal (número, data, destinatário, endereço, cidade, estado, CNPJ, total)
Itens (número, código, qtde, subtotal)
Produtos (código, descrição, preço)

8.3. 3ª forma normal:


Um projeto de BD está na 3ª FN se, e somente se, estiver na 2ª FN e em cada
tabela não existir atributos que dependam de algum outro atributo que não seja chave
primária.
Para colocar na 3ª FN:
1 – Estar na 2ª FN;
2 – Remover os grupos de dados dependentes de atributos que não são
parte da chave e criar uma nova estrutura.
Exemplo:
Nota Fiscal (número, data, CNPJ, total)
Clientes (CNPJ, destinatário, endereço, cidade, estado)
Itens (número, código, qtde, subtotal)
Produtos (código, descrição, preço)

FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 26


8.4. Exercícios

1. Você recebeu as fichas utilizadas para cadastro de livros e usuários de uma


biblioteca. A partir destas informações defina o modelo relacional normalizado (use
as regras de forma normal).

Livros:
Número_tombo _________________ Título: _____________ Editora: ______________
Edição: ______________ Ano Publicação: ________ Código_Fornecedor: ___________
Nome_Fornecedor: ____________________ Fone_Fornecedor: _______________
Código_Usuário Data Retirada Data Devolução
____________ ___________ _____________
____________ ___________ _____________
____________ ___________ _____________

Usuários:
Código ___________ Nome: _______________ Endereço: _____________________
Cidade: ___________ Fone: ___________

2. Uma imobiliária mantém informações sobre os contratos de locações na ficha a


seguir. Defina o modelo relacional normalizado que melhor representa estas
informações (use as regras de forma normal).

Locações:
Número do Contrato: ____________ Data de locação: __________ Prazo: ____________
Valor: _________ Tipo de Reajuste: _________ Código do imóvel: _____________
Endereço do Imóvel: ________________ Descrição do Imóvel: ________________________
Código do Locador: _____ Nome do Locador: ____________ Fone do locador: __________
Código do Locatário: _____ Nome do Locatário: ____________ Fone do Locatário: ________
Profissão do Locatário: _______ Renda do Locatário: ______
Código dos Fiadores: Nome dos fiadores: Fone dos Fiadores: Renda dos fiadores :
________ _______________ __________ __________
________ _______________ __________ __________
________ _______________ __________ __________

FATEC Jundiaí – Informática: Banco de Dados I – Profa. Luciana 27

Você também pode gostar