Buscar

Apostila Banco de Dados 1 Resumo

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 52 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 52 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 52 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

APOSTILA DE BANCO DE DADOS
Principais Referências Bibliográficas
	
	[CHATZ1999]
	Sistema de Banco de Dados. A. Silberchatz, H. Korth, S. Sudarshan. Makron Books, 3ª edição, 1999.
	[HEUSER2001]
	Projeto de Banco de Dados. C. A. Heuser. Editora Sagra Luzzato, 3ª edição, 1999.
	[ALVES2003]
	Apostila de Banco de Dados 1. A. L. Alvez. UCG, 2003.
	[OLIVEIRA2001]
	Introdução a Banco de Dados – Notas de Aula. J. L. Oliveira. UFG, 2002.
�
2) Introdução
Fundamentos
Sistema de Banco de Dados (SBD)
Sistema Gerenciador de Banco de Dados (SGBD)
O Modelo de Dados Relacional
Domínios, relações, tuplas, atributos, chaves.
Restrições de integridade: domínio, chave, referencial.
Mapeamento do modelo E-R (Entidade-Relacionamento) para o modelo Relacional.
A Linguagem SQL
Definição de dados (DDL)
Manipulação de dados (DML)
Pratica de programação SQL
2.1) Dados e Informações
Dado: é um conjunto de símbolos sem significado intrínseco. O valor de um dado não constitui em um conhecimento útil.
Informação: é o dado associado à sua semântica. A informação é um recurso valioso, permitindo gerar e difundir o conhecimento.
2.2) Bases e Banco de Dados
Base de Dados: é uma coleção de dados inter-relacionados.
Banco de Dados (BD): é a Base de Dados associada à sua semântica.
É um conjunto de arquivos integrados que atendem a um conjunto de sistemas. [HEUSER2001]
Modelo do BD (ou Modelo de Dados):
É a descrição formal da estrutura de um banco de dados.
Para se construir um modelo de BD usa-se uma linguagem de modelagem de dados.
Pode ser representado de várias formas. 
Possui dois níveis de abstração: o modelo conceitual e o modelo lógico.
Esquema (ou intenção) do BD:
É cada representação do modelo do BD.
Instância (ou extensão, ou estado) do BD:
São os dados contidos em uma base de dados em um determinado instante.
2.3) Propriedades de um Banco de Dados
Tem o propósito de refletir o mundo real;
Possui semântica inerente;
Serve para um propósito;
Possui tamanho e complexidade variáveis;
Compartilhamento de dados;
Ex.: uma indústria hipotética, onde as áreas de Produção, Vendas e Compras compartilham um mesmo Banco de Dados.
	
2.4) Sistema Gerenciador de Banco de Dados (SGBD)
Um SGBD é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses dados. 
É um software que incorpora as funções de definição, recuperação e alteração de dados em um banco de dados [HEUSER2001].
Há vários tipos de SGDB´s no mercado. No decorrer do curso vamos nos concentrar nos SGBD´s do tipo relacional, que é principal modelo utilizado no mercado.
2.4.1. Objetivos do SGBD
Criação e manutenção de Bancos de Dados
Definição: especificação dos tipos de dados que serão utilizados.
Construção: armazenamento físico dos dados e metadados.
Manutenção: evolução dos esquemas de bancos de dados.
Manipulação de bases de dados
Recuperação: consulta aos dados armazenados
Atualização: modificação de dados específicos visando refletir mudanças da realidade representada.
Exemplo: Banco de Dados de uma Universidade
Dados do Estudante: nome, matrícula, endereço...
Dados de Disciplina: código, nome, créditos, depto...
Dados de Curso: nome, departamento, carga horária...
Dados de Notas: turma, estudante, média...
Dados de Professor: matrícula, nome, título...
Definição: nome = string(30); matricula = numérico(6); ....
Construção: armazenar dados de cada estudante, curso,...
Manipulação: criar um novo curso; obter nomes de disciplinas do curso X; alterar nota do aluno Y;...
Evolução: alterar matrícula para numérico (8);
2.4.2. Principais componentes de um SGBD
Gerenciador de Dados
Armazenamento de dados.
Recuperação de dados.
Manutenção de restrições de integridade e segurança.
Gerenciador de Transações
Processamento e otimização de transações.
Recuperação de falhas.
Controle de concorrências.
2.4.3. Classificação dos SGBD´s
Critério 1: modelo de dados
Relacional, hierárquico, em rede, OO.
Critério 2: número de usuários simultâneos
Mono-usuário, multi-usuário
Critério 3: distribuição do SBD
Centralizado, distribuído.
Critério 4: custo
de $ 100 a $ 3.000, de $ 10.000 a $ 100.000, acima de $ 100.000
Critério 4: tipo de utilização
Genéricos, de propósito específico
2.5) Sistema de Banco de Dados (SBD)
2.5.1. Objetivos do SBD
Controlar (diminuir) redundância
Evitar desperdício de espaço e inconsistência.
Em certas situações é permitida a redundância controlada.
Controlar compartilhamento de dados
Sistemas multi-usuário exigem controle de concorrência.
Controlar direitos de acesso
Prover mecanismos de gerência de acesso.
Catálogo/dicionário de dados facilita essa gerência.
Prover múltiplas interfaces
Oferecer diferentes tipos de interfaces para os diversos tipos de usuários.
Expressar relacionamentos complexos entre dados
Garantir (preservar) restrições de integridade
Verificar restrições de integridade automaticamente
Prover recuperação de falhas e cópias de segurança
Tratar falhas que podem comprometer a consistência.
2.5.2. Vantagens do uso de SBD´s
Segurança e controle centralizados
Diminui a redundância de dados. A redundância ocorre de maneira mais controlada.
Reduz inconsistência nos dados. Dados menos redundantes e verificação de restrições de integridade.
Facilita a padronização. Esta pode ser imposta pela administração de dados e de BD.
Aumenta flexibilidade do ambiente, pois facilita alterações estruturais.
Reduz o tempo de desenvolvimento
Estima-se que com o reaproveitamento dos esquemas e dados pode-se reduzir o tempo de desenvolvimento de 25% a 35%.
Aumenta disponibilidade dos dados
O usuário pode ter acesso imediato aos dados atualizados por outro usuário devido aos mecanismos de controle de concorrência e recuperação de falhas.
Economia de escala
A consolidação dos dados e aplicações permitem crescimento coordenado, sem duplicação de esforço.
2.5.3. Pessoas envolvidas em um SBD
Projetistas de Bancos de Dados
Identificam dados, restrições e requisitos de desempenho.
Definem o modelo conceitual e lógico da aplicação.
Em algumas organizações podem definir o modelo físico.
Precisam conhecer o negócio.
Administradores de Banco de Dados (DBA)
Definem critérios de acesso.
Monitoram desempenho e definem projeto físico.
Definem estratégia de backup e recuperação de falhas.
Precisam conhecer o SGBD
Usuários finais
Analistas e programadores de aplicações
2.5.4. SBD x Arquivos Tradicionais
	SBD
	Arquivos Tradicionais
	- Um SBD é auto-contido: dados (base) + metadados (catálogo); uso de software de propósito geral; mesmo repositório usado por diferentes perfis de usuários.
	- Cada usuário define e implementa arquivos necessários à sua aplicação específica; Programas separados para manipular dados contidos nos arquivos.
	- Isolamento e independência entre programas e dados.
	- Definição dos dados é parte do programa da aplicação.
	- Suporta definição de múltiplas visões de dados.
	- Não suporta definição de múltiplas visões.
2.5.5. Vantagens do uso de arquivos convencionais
Aplicação com dados muito simples, bem definidos e estáveis.
Diminui o custo, pois não exige investimento em SGBD.
Requisitos de tempo real.
O SGBD impõe overhead de segurança, controle de concorrência, recuperação.
Aplicações em que não há necessidade de acesso de múltiplos usuários.
2.6) Modelos de Dados
É o conjunto de conceitos utilizados para descrever a estrutura de uma base de dados: tipos de dados, relacionamentos entre elese restrições de integridade.
A maioria dos modelos inclui também um conjunto de operações que podem ser usadas para especificar recuperação e atualização dos dados.
São ferramentas básicas para prover diferentes níveis de abstrações (conceitual, física) no entendimento da estrutura de dados.
2.6.1) Abstrações
Modelo de dados conceitual (alto nível):
Conceitos próximos da visão do usuário final;
Baseado na descrição de objetos e seus inter-relacionamentos.
Modelo de dados físico (baixo nível):
Conceitos próximos da visão dos especialistas em computação;
Descreve detalhes do armazenamento de dados no computador;
Modelo de dados de implementação (nível médio):
Conceitos compreendidos pelo usuário final, mas que representam logicamente aos dados armazenados.
2.7) Arquitetura ANSI-SPARC para BD
2.7.1) Principais características
Provê as características da abordagem de BD
Independência de dados; Visões múltiplas; uso de catálogo.
Nível Interno – Esquema Interno
Descreve as estruturas físicas de armazenamento do BD
Usa o modelo de dados físico
Nível Conceitual – Esquema Conceitual
Descreve a estrutura do BD com um todo
Usa o modelo lógico (esconde implementação física)
Nível Externo – Visão Externa
Visões conceituais particulares de acordo com o perfil do usuário.
2.7.2) Independência de Dados
É a capacidade de alterar o esquema em um nível do SBD sem afetar os esquemas nos níveis superiores.
Independência de dados lógica
Mudanças no esquema conceitual não afetam esquemas externos. Exemplo: a alteração do nome do cliente não afeta um esquema externo que só contém o código e o cpf do cliente.
Independência de dados física
Mudanças no esquema interno não implicam em mudança nos esquemas conceitual e externos. Exemplo: inclusão de um índice de acesso. 
2.8) Linguagem e Interface para BD
Um SBD deve prover linguagens e interfaces apropriadas para realizar tarefas específicas.
Definição de Armazenamento (Storage Definition Language - SDL)
Definição de Dados (Data Definition Language - DDL)
Definição de Visões (View Definition Language - VDL)
Manipulação de Dados (Data Manipulation Language – DML)
As Interfaces são indicadas para usuários mais experientes ou que não desejam conhecer os detalhes de query-languages. Estas linguagens possuem a seguinte classificação:
Baseadas em menu
Gráficas
Baseadas em formulários
Baseados em linguagem natural
2.9) Projeto de Banco de Dados
Define as estruturas lógica e física de uma base de dados. Precisa atender requisitos de conteúdo, compreensão, processamento e desempenho para um determinado conjunto de usuários e aplicações.
9.1) Fases
1 – Coleta e análise requisitos;
2 – Projeto conceitual;
3 – Escolha de um SGBD;
4 – Projeto Lógico;
5 – Projeto Físico;
6 – Implementação.
9.2) O Projeto de Banco de Dados dentro do Ciclo de Vida dos Sistemas Informação
	Fase
	Funções
	Dados
	- Análise de Viabilidade
	
	
	- Análise de Requisitos
	Análise Funcional (DFD, etc...)
	Projeto Conceitual (MER, DD)
	- Projeto
	Projeto Funcional (projeto dos módulos)
	Projeto Operacional (lógico e físico)
	- Implementação
	Programas
	Criação e carga do BD
	- Validação e aceitação
	
	
	- Operação
	
	
	- Monitoramento e Manutenção.
	
	
2.10) Exercícios
01 - ( ) Informação é qualquer conjunto de símbolos que não possui significado. Apesar disso, a informação representa um conhecimento útil e valioso dentro da realidade das empresas, permitindo gerar e difundir conhecimento.
02 - ( ) Base de Dados é um conjunto de dados inter-relacionados.
03 - ( ) Um Banco de Dados é uma base de dados associada à sua semântica.
04 - ( ) Banco de Dados são todos os arquivos contidos em um Sistema de Informação, ou seja, um Sistema de Informação é constituído única e exclusivamente por um conjunto de bases de dados, que, associados à sua semântica constituem o Banco de Dados.
05 - ( ) Um Banco de Dados é constituído por um modelo, uma esquema e uma instância.
06 - ( ) Um Modelo de Dados é a descrição formal da estrutura de um banco de dados, que por sua vez é representada pelo Esquema do Banco de Dados.
07 - ( ) Além de representar a estrutura do Banco de Dados, o Esquema do Banco de Dados também representa todos os dados contidos nas Bases de Dados, dentro do Banco de Dados. Desta forma dados e metadados ficam contidos em um mesmo repositório.
08 - ( ) Um Banco de Dados tem como propósito representar o mundo real. Sendo assim, possui semântica inerente, servindo para diversos propósitos. Além disso, possui tamanho e complexidade variáveis, além de promover o compartilhamento de dados.
09 - ( ) Gerenciar compartilhamento de dados não é tarefa do Banco de Dados. Este compartilhamento deve ser gerenciado pelo sistema que irá utilizar o Banco de Dados, ou seja, controle de concorrência é uma tarefa do programador no momento do desenvolvimento da aplicação.
10 - ( ) Um Sistema de Gerenciamento de Banco de Dados é um software que incorpora as funções de definição, construção, manutenção, recuperação e atualização de dados em um banco de dados.
11 - ( ) Os principais componentes de um SGBD são o gerenciador de dados e o gerenciador de transações.
12 - ( ) O gerenciador de dados é responsável pelo armazenamento, recuperação de dados, manutenção de restrições de integridade e segurança.
13 - ( ) O gerenciador de transações é responsável pelo processamento e otimização de transações, pela recuperação de falhas e pelo controle de concorrência.
14 - ( ) Dentre as várias classificações dos SGBD´s podemos citar: Quanto ao modelo de dados (mono-usuário e multi-usuário), e quanto ao tipo de utilização (centralizado e distribuído).
15 - ( ) O conceito de Sistema de Banco de Dados (SBD) está contido dentro do conceitos de Sistema de Gerenciamento de Banco de Dados (SGBD), onde estão contidos mecanismos de Gerenciamento de Transações (TM) e Gerenciamento de Acesso a Dados (DM).
16 - ( ) O Gerenciador de Acesso a Dados utiliza o Catálogo com a definição do Banco de Dados para obter informação a respeito da estrutura dos Dados armazenados na Base de Dados contida no Banco de Dados.
17 - ( ) Redundância de dados significa existência de informações repetidas na Base de Dados.
18 - ( ) Um dos principais objetivos de um Sistema de Banco de Dados é o controle de redundância no armazenamento dos dados.
19 - ( ) Redundância e inconsistência são inversamente proporcionais, ou seja, quanto maior a redundância, menor a inconsistência.
20 - ( ) Gerenciamento de compartilhamento de dados em Sistemas de Banco de Dados mono-usuário é um dos objetivos dos SBD´s.
21 - ( ) Gerenciamento de direitos de acesso, múltiplas interfaces, garantias de restrições de integridade, recuperação de falhas e gerenciamento de cópias de segurança também são objetivos dos SBD´s.
22 - ( ) Os SBD´s não prevêem mecanismos para representar relacionamento complexos entre dados.
23 - ( ) A segurança e o controle descentralizados dentro dos SBD´s são utilizados no sentido de facilitar a padronização no desenvolvimento e facilitar alterações estruturais.
24 - ( ) A utilização de SBD´s tem muitas vantagens, porém, sua principal desvantagem está no fato de que aumenta o tempo no desenvolvimento, pois os esquemas de Banco de Dados já existentes não podem ser reaproveitados.
25 - ( ) Existem várias pessoas, e atividades, envolvidas no desenvolvimento de um Sistema de Banco de Dados, dentre elas, podemos citar: os usuários finais, que são as pessoas responsáveis pela criação e definição das estrutura do Banco de Dados, e os analistas e programadores de aplicações, que são as pessoas responsáveis pelo implementação física deum Banco de Dados.
26 - ( ) É tarefa do Administrador de Dados (DBA) a definição do modelo conceitual de lógico do banco de dados. Cabe a está pessoa conhecer as regras de negócio da realidade que está modelando no sentido desenvolver um projeto que atende as reais necessidades dos seus usuários finais.
27 - ( ) Os utilização de SBD´s se difere da utilização de arquivos tradicionais no que diz respeito a definição dos dados. Enquanto nos SBD´s a definição dos dados é parte do programa de aplicação, nos arquivos tradicionais existe isolamento e independência entre programas e dados.
28 - ( ) Para descrever a estrutura de um Banco de Dados, utilizamos o chamado Modelo de Dados. A estrutura de um Banco de Dados é definida pelo seu conjunto de dados e seus relacionamentos, e pela definição das restrições de integridade entre estes dados.
29 - ( ) A maioria dos Modelos de Dados prevêem um conjunto de operações que podem ser usadas para especificar recuperação e atualização dos dados.
30 - ( ) Os modelos de dados possuem dois níveis de abstração: O Modelo de Dados Conceitual, que descreve os detalhes de armazenamento dos dados no computador e o Modelo de Dados Físico, baseado na descrição de objetos e seus inter-relacionamentos.
31 - ( ) Na arquitetura ANSI-SPARC para Bancos de Dados, estão previstos três níveis de representação do Modelo de Dados. O nível externo, que implementa o modelo descritivo, que é baseado em visões particulares de acordo com o perfil do usuário; O nível conceitual, que implementa o modelo relacional e descreve a estrutura do BD como um todo; e o esquema interno, que implementa o modelo físico e descreve as estruturas físicas de armazenamento do Banco de Dados.
32 - ( ) A arquitetura ANSI-SPARC provês os conceitos de independência de dados e múltiplas visões do Banco de Dados.
33 - ( ) Existem dois tipos de Independência de Dados: A independência de dados física e lógica. No conceito de independência de dados lógica, mudanças no esquema conceitual não afetam esquemas externos. Já no conceito de independência de dados física, mudanças no esquema interno não implicam em mudança nos esquemas conceitual e externos.
34 - ( ) Data Definition Language – DDL é a linguagem de Banco de Dados utilizada para definição e manipulação dos dados.
35 - ( ) Alguns Sistemas de Banco de Dados provêem interfaces gráficas para manipulação os dados. Interfaces estas que dispensam a utilização de query-languages, tornando mais fácil a tarefa do DBA.
36 - ( ) Um projeto de Banco de Dados define as estruturas lógica e física de uma base de dados.
37 - ( ) Requisitos de conteúdo, compreensão, processamento e desempenho para um determinado conjunto de usuários e aplicações devem ser atendidos por um projeto de Banco de Dados.
38 - ( ) Um projeto de Banco de Dados deve obedecer as seguintes fases, respectivamente: 1 – Coleta e análise requisitos; 2 – Projeto conceitual; 3 – Escolha de um SGBD; 4 – Projeto Lógico; 5 – Projeto Físico; 6 – Implementação.
39 - ( ) Dentro do ciclo de vida de desenvolvimento de sistemas, as atividades relacionadas a banco de dados compreendem as fases de Análise de Requisitos, Projeto e Implementação.
�
3) O Modelo de Dados Relacional
O Modelo de Dados Relacional foi introduzido por E. F. Codd em 1970. Representa o padrão de facto para modelo de dados, sendo implementado pela maioria dos SGBD´s comerciais. Representa um modelo eficiente para a maioria das aplicações comerciais.
Em uma definição informal, o Modelo Relacional é representado por tabelas, linhas, colunas e domínios, dentro de uma única estrutura de dados.
Exemplo:
	Nome
	CPF
	Sexo
	Data Nasc.
	Profissão
	Edison
	123456
	M
	07/03/77
	Analista de Sistemas
	Pedro
	654321
	M
	01/12/78
	Professor
	Maria
	299299
	F
	15/05/54
	Bióloga
	Alfredo
	238838
	M
	13/09/70
	Professor
	Fátima
	445355
	F
	19/05/78
	Médica
	Regina
	345355
	F
	17/05/75
	Psicóloga
Em uma analogia entre o conceito matemático de relação e a noção trivial de tabela, temos que: cada LINHA da tabela representa uma TUPLA da relação; O NÚMERO DE COLUNAS da tabela representa o GRAU da relação; O NÚMERO DE LINHAS da tabela representa a CARDINALIDADE da relação; Os VALORES PERMITIDOS em cada coluna da tabela representam o DOMÍNIO da relação. Para o exemplo acima, temos uma relação de grau cinco e cardinalidade seis.
O Modelo de Dados é uma representação das necessidades de dados de um determinado ambiente e de como esses dados se relacionam. É uma das primeiras atividades que devem ser executadas ao longo do processo de identificação e compreensão de um ambiente, tendo em vista necessidades de automatização. 
É um dos produtos da fase de Análise do Ciclo de Vida de um projeto de desenvolvimento de um sistema. O Modelo entidade-relacionamento (MER) é representado através de Diagrama Entidade Relacionamento (DER). Os próximos itens deste texto detalham cada um de seus componentes. 
Construir um Modelo de Dados significa:
- Coletar e documentar informações relevantes do ambiente estudado;
- Representar as informações, de forma clara e objetiva, e num formato padrão que possa facilitar o entendimento dos participantes do processo;
- Definir, de maneira clara, o escopo do ambiente modelado;
- Adquirir o entendimento do ambiente através de refinamentos sucessivos do modelo;
- Representar graficamente as necessidades de informação independente do Software e do Hardware a serem usados na implementação do Sistema.
3.1) Diagrama Entidade Relacionamento (DER)
3.1.1) Entidade
É o conjunto de objetos da realidade modelada sobre os quais deseja-se manter informações no banco de dados. [HEUSER2001]
Chamamos de entidade, qualquer coisa real ou abstrata, de um determinado ambiente, sobre a qual precisamos guardar informações. [ALVES2003]
Quando estamos modelando o ambiente de uma biblioteca, por exemplo, então as informações a respeito dos livros devem estar representadas pela entidade: Livro. As informações relativas aos usuários da biblioteca poderiam ser representadas pela entidade: Cliente. As informações relativas ao empréstimo de livros seriam representadas pela entidade: Empréstimo. As reservas de livros por: Reserva, e assim por diante. Nesse ambiente as informações da entidade Livro poderiam ser: nome do livro, ISBN do livro, e título do livro. Para a entidade Cliente poderíamos ter: cpf, nome, endereço e telefone. Para a entidade Empréstimo: data do empréstimo, data provável de devolução e taxa de multa para o caso de devolução com atraso. A entidade Reserva poderia ter: data da reserva, e data provável de disponibilidade do livro. 
É claro que as informações representadas por uma entidade depende do ambiente onde ela está inserida. Por exemplo: uma pessoa para o Ministério da Fazenda é vista como um contribuinte de impostos. E dentro deste contexto as informações relevantes de pessoa seriam: cpf, renda anual, despesas médicas, despesas com instrução, etc. Já o Ministério da Educação poderia ter outras necessidades de informações sobre uma pessoa, como por exemplo: cpf, nível de escolaridade, idade, data de nascimento, etc. O Ministério da Saúde, certamente teria interesse em informações sobre saúde: tipo sanguíneo, data de nascimento, etc. Podemos concluir que, uma entidade só deve conter informações que dizem respeito, ou que são necessárias, ao ambiente que representa.
Representação Gráfica:
3.1.2) Relacionamento
É o conjunto de associação entre entidades. [HEUSER2001]
Chamamos de relacionamento a associação entre duas entidades ou entre uma entidade e ela mesma. Para expressar, em um modelo, quais as disciplinas nas quais um aluno está matriculado nós poderíamos definir o relacionamento: O aluno está matriculado em... O relacionamento para expressar os dependentes de um determinado empregado seria: Empregadotem dependentes. [ALVES2003]
Representação Gráfica:
3.1.3) Atributo
É o dado que é associado a cada ocorrência de uma entidade ou de um relacionamento. [HEUSER2001]
São partes específicas de uma determinada entidade. [ALVES2003]
Poderiam ser atributos de uma entidade Aluno: nome, número da matrícula, cpf, data de ingresso no curso, endereço, telefone e data de nascimento. Uma entidade Fornecedor poderia ter como atributos: Cgc, nome, Razão Social, Endereço, e Capital Social. Cada entidade tem valores específicos para seus atributos que diferir ou ser iguais aos valores dos atributos de outras entidades de um mesmo tipo de entidade.
Valor de um atributo:
Chamamos valor de um atributo ao conteúdo que um atributo pode Ter. Marcos Ferreira, Rosa Cristina, Deusdete da Cunha poderiam ser valores da entidade Aluno. Casas Bahia, Carrefour, C&A seriam valores do atributo nome da entidade Fornecedor
Domínio de um atributo:
É o conjunto de valores que um atributo pode assumir. Exemplo: Masculino, Feminino são o domínio do atributo Sexo da entidade Aluno. O atributo Nota da entidade aluno tem o domínio: {número reais de 0 a 10).
Representação Gráfica:
Características dos Atributos de uma entidade:
Único: cada entidade tem um valor diferente para este atributo. A matrícula de um aluno em um curso é um atributo único porque não existe outro aluno matriculado com o mesmo número de matrícula.
 	
Não-Único: quando o valor pode se repetir em várias entidades. Por exemplo, o aproveitamento de um aluno. Mais de uma aluno pode Ter a mesma nota. 
Obrigatório: quando tem que existir um valor para este atributo em toda entidade. Por exemplo, o nome do aluno na entidade ALUNO.
Simples: quando possui um domínio simples. Por exemplo, o atributo sexo tem um domínio simples pois é formado pelo conjunto (único) das letras F e M.
Composto: quando possui mais de um domínio simples. Endereço de uma pessoa, por exemplo. Ele é formado pelos domínios, simples, dos Logradouros, dos Bairros, das Cidades, dos Estados e dos Cep´s.
Representação Gráfica:
Univalorado: quando tem um único valor para cada entidade. Por exemplo, o número de matrícula de um aluno. Cada aluno tem um único número de matrícula.
Multivalorado: quando pode ter mais de um valor para cada entidade. Por exemplo, o telefone de uma pessoa. Uma pessoa pode ter mais de um telefone. O do trabalho e da residência.
Representação Gráfica:
Derivado: quando o seu conteúdo depende do conteúdo de outros atributos. Por exemplo, o total de uma nota fiscal é formado pela soma dos totais de cada item componente da nota fiscal.
Representação Gráfica:
Não derivado: quando ele não pode ser obtido a partir de outros atributos. Por exemplo, nome de um aluno.
Identificador: é o atributo ou atributos que identificam uma entidade de um tipo de entidade de maneira única. Por exemplo, a matrícula do estudante. Ou a matrícula do aluno e o código da disciplina no tipo de entidade APROVEITAMENTO.
Representação Gráfica:
Em sua representação gráfica, o atributo do tipo identificador deve aparecer sublinhado.
Existem seis tipos de atributos identificadores, também chamados de chaves ou índices. Os atributos componentes dos campos chave não devem permitir valores nulos.
	Chave
	Descrição
	Super chave
	É qualquer subconjunto de atributos que identifica univocamente uma tupla da relação.
	Chave
	É a super chave minimal. Não se pode tirar nenhum dos seus atributos componentes sem perder a unicidade.
	Chave candidata (alternativa)
	Qualquer combinação de atributos que pode ser chave da relação.
	Chave primária
	Chave candidata considerada principal. Determina a ordenação lógica das tuplas na relação.
	Chave alternativa (única)
	Chave candidata que não foi designada como primária.
	Chave estrangeira (chave externa)
	Permite associação lógica entre tuplas de duas relações. (é a chave primária da outra relação).
Não Identificador: quando o identificador não identifica por si só uma entidade dentro de um tipo de entidades. Por exemplo, o nome do aluno não identifica o aluno dentro to tipo de entidade ALUNO.
3.1.4) Dicionário de Dados
O dicionário de dados contém as definições das entidades, dos relacionamentos e dos atributos de um modelo de dados. [ALVES2003]
3.1.5) Padrões de nomenclatura
Nome do Tipo de Entidade: Letras maiúsculas e no singular.
Nome de Relacionamento: Letras maiúsculas e no singular.
Nome de Atributo: Inicia com letra maiúscula e o restante minúsculo.
3.1.6) Tipos de Entidades
Entidade Primária
É a entidade que existe por si mesma. Sua identificação completa é feita pelos seus próprios atributos. [ALVES2003]
Ex.: A Entidade ALUNO é uma entidade primária porque é identificada pelos seus próprios atributos. O seu identificador pode ser o atributo Matrícula do aluno.
Representação Gráfica:
Entidade Fraca ou Dependente
É a entidade cuja identificação não pode ser feita por seus próprios atributos. Para sua identificação completa precisamos de atributos de outra entidade. [ALVES2003]
Ex.: A entidade DEPENDENTE é uma entidade fraca pois para a sua identificação há que se utilizar atributos da entidade EMPREGADO (A Matrícula do empregado, por exemplo). Ou seja, quando falamos, João Viera (DEPENDENTE) precisamos dizer de quem ele é dependente (EMPREGADO) para que se possa identificá-lo completamente. Assim: João Vieira é dependente de Francisco da Rocha (EMPREGADO).
Representação Gráfica:
Entidade Associativa
É a entidade que não se identifica por se mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem seu identificador os identificadores das entidades que se associaram para lhe dar origem. [ALVES2003]
Ex.: No diagrama abaixo a entidade, APROVEITAMENTO é uma entidade associativa porque a sua identificação só possível a partir da Matrícula, identificador da entidade ALUNO e de Código, identificador da entidade DISCIPLINA. Ou sejam, quando nos referimos ao aproveitamento 7,3, por exemplo, ele só tem sentido quando associado a uma aluno e a uma disciplina. Assim: João Ribeiro Ferraz (ALUNO) obteve a nota 7,3 (APROVEITAMENTO) em Banco de Dados (DISCIPLINA).
Representação Gráfica:
3.1.7) Tipos de Relacionamentos
Relacionamento Tipo Dependência
Chamamos de Relacionamento de Dependência ao relacionamento entre um tipo de entidade primária e um tipo de entidade dependente (fraca). [ALVES2003]
Ex.: O Tipo de entidade EMPREGADO compõe-se de entidades primárias porque essas entidades são identificadas completamente por seus atributos. É razoável imaginarmos que numa mesma empresa não existam empregados com a mesma matrícula. Já a as entidades de DEPENDENTE são do tipo fraca porque os seus atributos não as identificam completamente. Suponhamos que Pedro Rodrigues seja filho de Francisco Moreira, cujo número de matrícula seja 10. Se falamos apenas Pedro Rodrigues, não o identificamos, porque pode existir outros Pedro Rodrigues filhos de outros empregado que não seja o Francisco Moreira de matrícula 10. Para que Pedro Rodrigues seja completamente identificado precisamos associá-lo ao empregado do qual ele é dependente. Então dizemos: Pedro Rodrigues é dependente de Francisco Moreira de matrícula 10.
Representação Gráfica:
 Tipo de Entidade Primária Tipo de Entidade Fraca
Relacionamento Tipo Associativo
Um relacionamento é do tipo associativo se ele relaciona uma entidade primária a uma entidade associativa. [ALVES2003]
Ex.: Tanto o relacionamento entre ALUNO e APROVEITAMENTO como o relacionamento entre DISCIPLINA e APROVEITAMENTO são do tipo associativo pois ambos relacionam entidades primárias de ALUNO e DISCIPLINA à entidade do tipo associativa APROVEITAMENTO.Representação Gráfica:
Entidade Primária Entidade Associativa Entidade Primária
3.1.8) Cardinalidade dos Relacionamentos
Havendo um relacionamento entre entidades, é necessário identificar a cardinalidade, ou seja, quantas tuplas da entidade A podem estar associadas com uma tupla da entidade B e vice-versa.
A partir desta verificação, podemos definir os seguintes tipos de relacionamentos:
Relacionamento 1:1
Um elemento de um conjunto de entidades se relaciona apenas com um elemento do outro conjunto.
Relacionamento 1:N
Ocorre quando uma ocorrência de entidade se relaciona com várias ocorrências da outra entidade.
Relacionamento N:N
Nesse tipo de relacionamento, cada elemento de uma relação X, pode corresponder a vários elementos de uma relação Y, e cada elemento da relação Y pode corresponder a vários elementos da relação X.
Em relacionamento N:N, o relacionamento pode ter ou não atributos. No exemplo abaixo o atributo do relacionamento curso poderia ser a nota do aluno.
3.1.9) Como nomear os relacionamentos
Substantivo
Utilizar um substantivo que represente a forma como as entidades de associam.
Verbo
Utilizar um verbo que indica uma ação em que uma das entidades é o sujeito e a outra é o objeto.
Nome das Entidades
Utilizar os nomes das entidades envolvidas no relacionamento.
3.1.10) Grau de um Relacionamento
O grau de um relacionamento é determinado pelo número de entidades que participam do relacionamento.
Quando ocorre um relacionamento que envolve associação entre três ou mais entidades (portanto com grau maior que 2), dizemos haver um relacionamento múltiplo.
Exemplo de relacionamento de grau três:
3.1.11) Generalização de Entidades
Certos conjuntos de entidades de dados (supertipos) podem ser subdivididos em diversas categorias de elementos (subtipos), cada uma se caracterizando por atributos específicos. A este processo denominamos particionamento de conjunto de entidades.Como exemplo poderíamos citar o caso em que a entidade Funcionário pode ser subdividida numa categoria de Professores, em outra de Engenheiros e em outra de Técnicos.
3.1.12) Agregação
A agregação é uma extensão do modelo proposto por Peter Chen de forma a permitir o registro do relacionamento de uma entidade com um relacionamento anteriormente criado.
3.1.13) Auto-relacionamento
É comum encontrarmos, durante o processo de modelagem, associações de ocorrências de entidades com outras ocorrências do mesmo tipo, o que chamamos de auto-relacionamento. É o caso, por exemplo, de peças que são compostas por partes de outras peças.
Um auto-relacionamento, portanto, é o relacionamento estabelecido entre uma entidade e ela mesma.
Exemplo: chefia é o relacionamento estabelecido entre a entidade funcionário e ela própria, uma vez que tanto o chefe quanto seus subordinados fazem parte do mesmo corpo funcional de uma empresa.
3.1.14) Relacionamento Total e Parcial
Podemos classificar os relacionamentos em totais ou parciais. Os relacionamentos totais (ou obrigatórios) são aqueles que participam todas as tuplas de uma entidade. Os relacionamentos parciais (ou opcionais) são aqueles em a participação de todas as tuplas da entidade não é obrigatória.
Parcial
Uma agência pode ter muitas faturas em cobrança, ou pode não ter nenhuma. Uma fatura fica em cobrança em uma agência, pode haver fatura não colocada em agência.
Parcial x Total
Um determinado departamento pode ter muitas divisões, e pode não ter nenhuma divisão. Uma divisão tem que estar sempre ligada a um só departamento.
Total
Um candidato tem que ter uma, e só uma ficha de inscrição. Uma ficha de inscrição tem que pertencer a um, e só um, candidato.
3.1.15) Cardinalidade mínima e máxima
A cardinalidade mínima é máxima de um relacionamento também pode ser representada no diagrama.
Exemplo: Um funcionário de uma empresa pode possuir zero ou mais dependentes. Cada dependente está relacionado a uma, e somente uma pessoa.
No exemplo acima, a cardinalidade mínima do funcionário em relação ao seus dependentes é zero e a máxima é N. A cardinalidade mínima do dependente em relação ao funcionário é um e a máxima também é 1.
3.1.16) Exercícios (MER)
1) Faça o DER equivalente ao seguinte Modelo Descritivo: Considere parte de um ambiente de banco. Um banco tem várias agências. As contas de uma agência podem se referir a pessoas físicas ou jurídicas. Há contas que podem ter um único titular e contas que podem ter mais de um. Não há contas sem cliente e nenhum cliente da agência sem conta. Uma agência exige necessariamente um banco e não há banco sem agência. As agências fazem empréstimos aos seus clientes há cliente que tem mais de um empréstimo, mas o número de empréstimos de cada agência é limitado a 1000. 
2) Quais os possíveis atributos que podem identificar as duas entidades no relacionamento a seguir:
3) Construir um possível DER a partir do conteúdo do relatório abaixo.
	Almoxari-fado
	Endereço
	Código Produto
	Nome Produto
	Quantidade
	234
	Rua 15, Centro
	A12
	Arroz
	20
	234
	Rua 15, Centro
	F15
	Feijão
	150
	456
	Rua 9, S. Oeste
	J14
	Açúcar
	180
	456
	Rua 9, S. Oest
	V18
	Feijão
	200
4) Construir possíveis relacionamentos entre as entidades abaixo e identificar pelo menos dois atributos para cada uma delas. As entidades referem-se a um ambiente hospitalar. Entidades: PACIENTE, CIRURGIÃO, CIRURGIA, TIPO DE CIRURGIA. 
5) Construir o DER correspondente a um ambiente escolar com as seguintes entidades: DEPARTAMENTO, ALUNO, DISCIPLINA, TURMA, APROVEITAMENTO, PROFESSOR respondendo as seguintes perguntas:
Qual professor leciona cada disciplina?
Qual a nota do aluno em determinada disciplina e qual o professor que deu a nota?
Em qual turma de qual disciplina o aluno está matriculado e quais os professores dessa turma?
Em qual departamento o professor está vinculado?
Quais as disciplinas que são de responsabilidade de cada departamento?
Qual o horário de aula de cada turma?
Quantos são os alunos do sexo masculino e quantos são do sexo feminino?
Qual a idade de cada aluno?
Quais são os pais de cada aluno?
6) Que alterações seriam necessárias fazer DER do exercício anterior, considerando que os pais de um aluno também podem ser estudantes, sem que haja duplicidade de informações no modelo?
7) Identificar os relacionamentos entre as entidades relacionadas abaixo, e para cada entidade identifique, pelo menos, três atributos. Construa o quadro de definição dos atributos para cada entidade. As entidades se referem ao ambiente de um ponto de comércio varejista (por exemplo, uma loja de calçados). 
O modelo construído deve responder as seguintes perguntas:
Quais Empregados são Empacotadores, Contadores e Vendedores?
Qual o Vendedor que Atendeu o Cliente?
Quem empacotou os produtos comprados para o cliente?
Qual o valor total da compra do Cliente?
Quais os clientes que foram atendidos mas que não compraram nada?
Se o cliente comprou alguma coisa, quais os produtos comprados?
Qual o total de vendas de cada vendedor por dia?
Qual o total das vendas correspondentes às mercadorias empacotadas por cada empacotador?
	
Relação de entidades: Empregado, Contador, Empacotador, Vendedor, Cliente, Nota Fiscal, Detalhes de Notas Fiscais (Relação de Produtos) e Produto. 
	
	
8) Construir o DER correspondente à descrição dos relacionamentos abaixo:
Um Item de Pedido de Compra deve se referir a um único Pedido de Compra
Um Pedido de Compradeve se referir a um único fornecedor
Um Item de Pedido de Compra deve se referir a um e somente um Produto
Um Pedido de Compra deve conter 1 ou vários Itens de Pedido de Compra
Um Fornecedor pode Ter vários Pedidos de Compra a ele solicitado
Um Produto pode ser referido por nenhum ou vários Itens de Pedido de Compra
Um Produto deve ser fornecido por um ou vários Fornecedores
Um Fornecedor deve fornecedor um ou vários Produtos
Um Pedido de Compra pode ser atendido por 1 ou várias Notas Fiscais
Um Nota Fiscal deve se referir a um e somente um Pedido de Compra
Um Nota Fiscal deve ser constituída de 1 ou mais Itens de Nota Fiscal
Um Item de Nota Fiscal deve ser referir a uma única Nota Fiscal
Construir um diagrama de E x R e definir todos os seus atributos para o problema a seguir:
9) Sou gerente de uma empresa de treinamento que ministra vários cursos de caráter técnico. Ministramos vários cursos, que são identificados por um código, nome e preço. Os cursos “Introdução ao UNIX” e “Programando em C” são alguns de nossos cursos mais populares. A duração de cada curso pode variar de um a quatro dias. Um instrutor pode ensinar vários cursos. Paul Rogers e Maria Gonzales são dois de nossos melhores instrutores. Mantemos aqui o nome e o telefone de cada Instrutor. Agente cria um curso e aloca um instrutor. Os alunos(clientes) podem participar de vários cursos, e vários deles o fazem. O Jamie Brown, da Docegeo, assiste a todo curso que oferecemos. Além do nome, mantemos também o número do telefone dos alunos. Alguns de nossos alunos e instrutores não possuem telefone. 
10) Construir um DER e definir todos os seus atributos para o seguinte problema de VENDA DE PRODUTOS (Profa. Karin Becker da pucrs).:
Uma firma vende produtos de limpeza. Cada produto é caracterizado por um código único, nome do produto, categoria (e.g. detergente, sabão em pó, sabonete, etc), e seu preço. A categoria é uma classificação criada pela própria firma. A firma possui informações sobre todos seus clientes. Cada cliente é identificado por um código único (também interno à firma), o nome do cliente, endereço (rua, numero, sala, cidade, CEP, UF), telefone, o status do cliente ("bom", "médio", "ruim"), e o seu limite de crédito. Guarda-se igualmente a informação dos pedidos feitos pelos clientes. Cada pedido possui um número, e guarda-se a data de elaboração do pedido. Cada pedido pode envolver de 1 a vários produtos, e para cada produto, indica-se a quantidade deste pedida.
11) Construir um DER e definir todos os seus atributos para o problema seguinte:
Sou o proprietário de uma pequena loja de vídeo. Temos mais de 3000 fitas aqui e queremos um sistema para controlá-las. 
Cada fita contém um número. Para cada filme, precisamos saber seu título e categoria (comédia, suspense, terro, etc). Muitos de nossos filmes tem mais de uma cópia. A cada filme, fornecemos um ID e então controlamos qual filme uma fita contém. O formato de uma fita pode ser Beta ou VHS. Sempre temos uma fita para cada filme, e cada fita tem apenas um filme. Não temos aqui nenhum filme que requeira mais de uma fita.
Freqüentemente, as pessoas alugam filmes pelos atores. John Wayne e Katheerine Hepburn são muito populares. Queremos manter informações sobre os astros que atuam em nossos filmes. Nem todos os filmes são estrelados por astros e só mantemos aqui astros que atuam em filmes do nosso catálogo. Os clientes gostam de saber a data de nascimento de um astro, bem como o seu verdadeiro nome
Temos muitos clientes. Apenas alugamos filmes para pessoas inscritas em nosso vídeo clube. Para cada membro do clube mantemos seu primeiro e último nome, telefone e endereço. Claro que cada membro possui um número de título. Além disso mantemos o status de crédito de cada um.
Queremos controlar os aluguéis de filmes. Um cliente pode alugar vários filmes ao mesmo tempo. Apenas mantemos os aluguéis correntes (pendentes). Não controlamos histórico de locações.
12) Construir um DER e definir todos os seus atributos para o problema a seguir :
Um ambiente de controle de veículos
Uma empresa de grande porte de Goiás, a EMPRESA MODELO S/A, quer fazer o controle de sua frota de veículos. A frota é constituída de vários tipos, Caminhões, Camionetas, e carros pequenos, como Parati, Omega entre outros. De cada veículo a empresa precisa saber, qual o ano de fabricação e modelo, qual o fabricante, se Chevrolet, Volkswagem, Fiat, etc. o tipo, data da compra, tipo de combustível, quilometragem atual, cor e quantidade de passageiros que o veículo pode transportar. Um veículo pode ser usado por qualquer empregado da empresa inclusive dirigindo o veículo. Entretanto, a empresa tem em seu quadro de funcionários motoristas que são chamados quando um empregado precisa usar o veículo mas não sabe dirigir. Em qualquer caso o responsável pelo veículo durante o uso é o motorista do veículo. O controle do uso de um veículo é feito através do preenchimento do formulário chamado OCORRÊNCIA DE USO DE VEÍCULO, no qual devem ser registrados os seguintes dados: Quilometragem no momento do recebimento do carro para uso, Quilometragem no final do uso, o consumo de combustível e o resultado do acerto da viagem. Cada abastecimento deve ser acompanhado de nota fiscal, emitida pelo posto de combustível, demonstrando a quantidade e o valor do abastecimento. Se o uso do veículo é para uma viagem interurbana o motorista recebe um adiantamento para fazer face aos abastecimentos necessários. Esse adiantamento é feito em função do consumo por quilometro rodado do veículo. Ao final da viagem o motorista devolve a diferença dos gastos ou recebe a diferença se, por acaso, as despesas forem maiores que o adiantamento recebido. 
Outra questão importante, para a empresa, é o controle de manutenção de cada veículo. Essas manutenções são feitas por auto-mecânicas previamente habilitadas. Um veículo é enviado para manutenção a cada 5000 km rodados ou de seis em seis meses, o que ocorrer primeiro. Então da manutenção precisa saber: O tipo de manutenção (Preventiva, Gratuita, Corretiva), a data da última manutenção e a quilometragem na época da manutenção. Para cada manutenção efetuada a empresa registra quantidade de horas e o valor da mão de obra cobrado, por tipo. Horas de eletricista, de pintura, de mecânico, etc. Além disso são registrados a quantidade e o tipo de peças usadas para a manutenção (embreagem, pastilhas de freio, farol, etc.). Só interessa os dados da última manutenção efetuada. Construir o Modelo de Dados para o problema proposto identificando todos os seus componentes.
13) Construir um DER e definir todos os seus atributos para o problema a seguir :
Um ambiente de treinamento
Uma empresa que dá treinamento na área de informática tem a seguinte programação de cursos. Em cada semestre são programados vários cursos. DBA para o Banco de Dados Oracle, Visual Basic Básico, Visual Basic Avançado e Delphi Básico são alguns de seus cursos. Um curso pode ser ministrado várias vezes no semestre. O curso de DBA Oracle para o primeiro semestre de 1999 teve a seguinte programação: a primeira turma de 15/03/1999 a 30/03/1999 e a Segunda turma de 20/06/99 a 0/07/99. Já o curso de Visual Basic Básico foi programado para: a primeira turma no mesmo período da primeira turma do curso de DBA, e a Segunda turma para o período de 10/08/1999 a 30/08/1999. O número de alunos matriculados em cada turma é no máximo 30, em razão do reduzido número de computadores para as aulas práticas. Para fazer a matrícula o aluno precisa apresentar: Cpf, nome completo, endereço, telefones de contado e o comprovante do pagamento da taxa de matrícula, que pode ser feito na rede bancária do estado, o curso que pretende fazer e em qual período. No momento da matrícula a cada aluno é atribuído um número que o identifica entre todos os alunos da turma. Se o aluno, eventualmente, volta a cursar mais cursos, o número dele continuao mesmo. Há que manter o registro, para cada aula, de um resumo sucinto da matéria lecionada, da data da aula e da freqüência de cada aluno. A empresa tem o interesse em saber o dia da matrícula de cada aluno e em qual o banco e agência o aluno fez o pagamento da matrícula. Para cada turma de cada curso é alocado um professor cujos dados de interesse são: Cpf, nome, endereço de contato, preço cobrado para o ministrar o curso, telefones para contato e quais os cursos que o professor pode ministrar. Outros dados importantes para a empresa são: valor total das matrículas por turma, por curso, por se mestre e por ano. Considerar a hipótese do professor ser aluno de cursos que não seja de sua especialidade.
14) Construir um DER e definir todos os seus atributos para cada um dos problemas a seguir:
O problema do transporte interurbano de pessoas
O sistema de transporte interurbano, de pessoas, se ascenta no conceito de linhas de ônibus. Uma linha de ônibus é definida pelo estado, através de seus ógãos competentes, e deve satisfazer as necessidades de deslocamentos de pessoas em uma determinada região. Uma linha deve atender a um certo número de cidades e é explorada por uma única empresa de ônibus, o que é conseguido através de licitação pública. Pode existir linhas diferentes atendendo a um mesmo conjunto de cidades. Por exemplo, a linha de ônibus n. 1 atende as cidades de Goiânia, Nerópolis, Petrolina, Jaraguá, Rialma, Ceres, Uruaçu e Porangatu, e é explorada pelo Rápido Araguaia�. Já a linha n.2 atende as mesmas cidades, só que em horários diferentes, e é explorada pela Expresso São Luíz.
Uma empresa de ônibus, por exigência do poder público, é obrigada a escalar dois motoristas, por viagem, a cada trecho de 600 Km. Um desses motoristas é responsável pela viagem no trecho que é escalado, e o outro é o seu auxiliar. Por exemplo, nas linhas que servem o percurso de Goiânia a São Paulo, as empresas devem escalar 4 motoristas para a viagem, já que a distância a ser percorrida é maior que 600 Km. Dois motoristas conduzem o ônibus até Uberaba e outros dois, de Uberaba a São Paulo. Outro fato importante é que cada linha tem os pontos certos de parada obrigatória. Caldas Novas, Uberlândia, Uberaba, Ribeirão Preto e Pirassununga são paradas obrigatórias de uma linha Goiânia – Sáo Paulo. Às vezes numa mesma viagem pode ocorrer troca de ônibus, e essa troca não coincide, necessariamente, com a troca de motoristas, ou seja, pode não ocorrer na mesma cidade. Uma viagem é definida como o percurso do trajeto que define uma linha de ônibues.
Uma passagem, relativa a uma viagem, deve indicar o nome do passageiro, seu número de identidade, a origem e destino da passagem, data e hora de embarque, o valor e a plataforma de embarque. A origem e o destino das passagens devem, obrigatoriamente, fazer parte das cidades que compões o trajeto da linha, embora um passageiro possa descer em qualquer ponto ao longo do percurso. Não é permitido, a não ser em caso de incidentes que impedem o tráfego no trajedo da linha, desvio da rota definida. O número de passagens vendidas, não pode, execeder o número de cadeiras do ônibus, ou seja, não há possibilidade de um passageiro viajar em pé. Atraso na chegada em cada cidade de mais de uma hora deve ser comunicado à sede da empresa que responde pela linha. Outra coisa importante, tendo em vista a segurança dos passageiros, é que um motorista só pode ser escalado para um viagem à intervalos de 72 horas. Uma transgressão a esta norma, que é determinada pelo poder público, pode acarretar pesadas multas para a empresa infratora.
A respeito das linhas é bom salientar que ela é definida pelo percurso e pelo sentido do percurso. Ou seja, a linha de Goiânia a São Paulo tem um número diferente da linha São Paulo a Goiânia, embora possam Ter o mesmo trajeto e os mesmos pontos de paradas.
15) Construir um DER e definir todos os seus atributos para cada um dos problemas a seguir:
Um ambiente de uma empresa de transporte
Uma empresa de transporte de cargas faz frete entre vários estados brasileiros. São Paulo, Goiás, Minas Gerais e Mato Grosso são alguns deles. Em cada estado apenas algumas cidades são atendidas. Por exemplo, em Goiás, apenas as cidades de Goiânia, Rio Verde e Anápolis são atendidas. Uma cidade atendida, significa que a empresa transporta mercadorias dessas cidades e para essas cidades. O transporte também se dá entres cidades de estados diferentes. Então quando uma pessoa quer transportar uma mercadoria para outra cidade, ela pode recorrer aos serviços dessa empresa de transporte de cargas.
O valor do frete pode ser pago pelo remetente ou pelo destinatário da mercadoria. Tanto a pessoa que envia a mercadoria, como a que recebe, são considerados clientes da empresa. Eventualmente, empresas também contratam frete. Nesse caso elas são representadas por um representante. O valor do frete pode ser definido em função do peso ou do valor da mercadoria transportada. Como cobrar o frete é uma decisão da empresa transportadora e é definida no momento da contração do frete. Por exemplo, o transporte de tecidos é cobrado em função do peso e o de jóias em função do valor. O preço unitário de cada unidade de peso transportada é válido para qualquer cidade atendida. Cobra-se também do cliente o valor do ICMS da mercadoria transportada e o valor do pedágio pago, se existir, o valor o frete peso, e frete valor. Uma característica da cobrança de ICMS é que cada estado tem sua política própria. Goiás� por exemplo quando a mercadoria é transportada para fora do estado a taxa de ICMS é de 17% sobre o valor do frete peso ou frete valor, o que existir, e de 12% para mercadorias transportadas dentro do próprio estado.
Para cada frete contratado é produzido o documento Conhecimento de Transporte Rodoviário de Carga que tem o seguinte conteúdo: Número do conhecimento, que nunca se repete, e mais: Para o remetente - se pessoa física: Nome, endereço, telefone e cpf. Se empresa – nome, endereço e telefones do representante e Razão social, Inscrição estadual, Cgc, endereço da empresa e telefones de contato. Para o destinatário o conhecimento deve conter as mesmas informações do remetente. O conhecimento deve conter ainda, o preço da mercadoria transportada, o valor do ICMS a ser recolhido aos cofres do estado, o valor do pedágio, se existir, o frete peso ou o frete valor, conforme o caso.. A indicação de quem paga o frete, é necessária, se o remetente ou o destinatário do frete e o peso. Precisa-se também da data em que foi realizado o frete, para efeito de registro contábil da empresa transportadora.
E por fim deve-se saber também qual foi o funcionário da empresa responsável pela emissão do Conhecimento de Transporte Rodoviário de Carga, neste caso, apenas o número do registro do empregado, na empresa, e o seu nome.
16) Construir um DER e definir todos os seus atributos para os problemas a seguir: Um ambiente rural
					 
A Secretaria de Agricultura do Estado de Goiás quer cadastrar todos os imóveis rurais do estado (fazendas, chácaras, sítios, etc.) para Ter informações da produção de alimentos, por ano. A produção por ano, seria o somatório da produção, de todas as propriedades rurais do estado. São necessárias informações a respeito das propriedades, tais como: dono ou donos da propriedade�, data da aquisição, área em hectares, município onde está situado o imóvel, qual o preço de aquisição, a distância do município onde está situada e se existir empregados, trabalhando na fazenda, o nome e data de nascimento devem ser armazenados. Precisa saber quais os produtos que uma propriedade produz, período provável de colheita, quantidade a colher prevista e a quantidade efetivamente colhida além do período de colheita efetivo. Há propriedade que produz vários tipos de produtos. Como por exemplo, a fazenda Macambira, de Goiânia, de propriedade do sr. Francisco Sá Júnior que produz feijão, soja e milho. Já a fazenda Maricá,de Pires do Rio, que pertence ao Sr. Francisco de Pádua que tem como sócio o sr. Olinto Fraga, produz arroz, beterraba e cenoura. É interessante salientar que um imóvel rural pode ser propriedade de uma pessoa jurídica, como por exemplo a fazenda Ribeirão das Águias, município de Formosa do estado de Goiás, que é de propriedade da empresa Produtora de Grãos Ltda., cujos donos são Rodrigo Machado e Ferreira Goulart. Neste caso há que saber quais os donos da empresa. Como há proprietários que são casados é preciso conhecer também qual a esposa de cada proprietário de cada imóvel. Do proprietário, se pessoa física, as seguintes informações deve ser armazenadas: Nome, Carteira de Identidade, Cpf, Data de Nascimento e pelo menos três telefones para contato. Das esposas, quando existirem, guardar o nome, Cpf, se existir, Data de Nascimento, Data do Casamento e Carteira de Identidade. Se o proprietário é uma pessoa jurídica as seguintes informações são necessárias: Nome da Empresa, Razão Social, CGC, qual o dono ou donos da empresa, Inscrição Estadual e Telefones de Contato.
�
3.2) Mapeamento MER/Modelo Relacional
3.2.1) Mapeamento de Entidades
- Entidade Primária
Modelo E/R
Modelo Relacional
ALUNO(Matricula, Nome)
* O atributo identificador da entidade primária deve ser sublinhado. Se a entidade possuir mais de 1 atributo identificador, estes deverão ser sublinhados.
- Entidade Primária com atributo composto
Modelo E/R
Modelo Relacional
ALUNO(Matricula, Nome, Rua, Quadra, Lote)
- Entidade Primária com atributo multivalorado
Modelo E/R
�
Modelo Relacional
ALUNO(Matricula, Nome, Telefone1, Telefone2, Telefone3)
ALUNOENDERECO(Matricula, Endereço)
3.2.2) Entidade Fraca
Modelo E/R
Modelo Relacional
EMPREGADO(Matricula, Nome)
DEPENDENTE(Matrícula, Código, Data Nascimento)
* O atributo Matrícula na entidade DEPENDENTE é chamado de chave estrangeira.
* A chave primária da entidade DEPENDENTE é a o conjunto de atributos Matrícula e Código.
3.2.3) Entidade Associativa
Modelo E/R
Modelo Relacional
ALUNO(Matricula, Nome)
DISCIPLINA(Código, Nome)
APROVEITAMENTO(Matricula, Código, Nota, Freqüência)
3.2.4) Relacionamento tipo 1:1
Modelo E/R
Modelo Relacional
HOMEM(Cod_H, Nome)
MULHER(Cod_M, Nome, Cod_H)
Ou 
HOMEM(Cod_H, Nome, Cod_M)
MULHER(Cod_M, Nome)
3.2.5) Relacionamento tipo 1:N
Modelo E/R
Modelo Relacional
DEPTO(Cod_Depto, Nome)
MULHER(Cod_Func, Nome_Func, Codg_Depto)
3.2.6) Relacionamento tipo N:N
Modelo E/R
Modelo Relacional
ALUNO(Matricula, Nome)
DISCIPLINA(Código, Nome)
ALUNODISCIPLINA(Matricula, Código, Nota, Freqüência)
* O atributo identificador da entidade ALUNODISCIPLINA é formado pelos atributos identificadores das entidades envolvidas na relação.
3.2.7) Relacionamento múltiplo
Modelo E/R
Modelo Relacional
DEPOSITO(Codg_Dep, Nome)
PRODUTO(Codg_Prod, Nome)
CLIENTE(Codg_Cli, Nome)
ENTREGA(Codg_Dep, Codg_Prod, Codg_Cli, Quantidade, Valor)
3.2.8) Generalização de Entidades
Modelo E/R
Modelo Relacional
FUNCIONARIO(Codg_Func, Nome, Tipo)
PROFESSOR(Codg_Func, Titulação)
TECNICO(Codg_Func, Grau_de_Instrução)
ENGENHEIRO(Codg_Func, Especialização)
Ou,
FUNCIONARIO(Codg_Func, Nome, Tipo, Titulação, Grau_de_Instrução, Especialização)
* Nome segundo modelo algumas tuplas poderão ter os atributos Titulação, Grau de Instrução e Especialização com valores nulos.
�
3.2.9) Agregação
Modelo E/R
Modelo Relacional
CORRENTISTA(Codg_Cor, Nome)
CONTACORRENTE(Codg_CCR, Tipo)
CORRENTISTACCR(Codg_Cor, Codg_CCR, Número, Saldo)
CARTAOMAGNETICO(Codg_CM, Número)
CORRENTISTACCRCM(Codg_Cor, Codg_CCR, CodgCM, Validade)
3.2.10) Auto-relacionamento
Modelo E/R
Modelo Relacional
FUNCIONARIO(Codg_Func, Nome)
CHEFIA(Codg_Func, Codg_FuncChefe)
* Na relação CHEFIA, os atributos Codg_Func e Codg_FuncChefe são chaves estrangeiras da relação funcionário. O conjunto dos dois atributos compõe o atributo identificador da relação.
Ou,
FUNCIONARIO(Codg_Func, Nome, Codg_FuncChefe)
* Neste caso o atributo Codg_FuncChefe poderá permitir valores nulos para os casos em que um funcionário não possuir chefe.
3.2.11) Algoritmo de Mapeamento ER/Relacional
Passo 1 – Para cada tipo de entidade forte E no esquema ER, crie uma relação R inclua todos os atributos simples de E. Inclua somente os atributos componentes simples de cada atributo composto. Escolha uma dos atributos chave de E como chave primária de R. Se a chave escolhida for composta, o conjunto de atributos simples que a formam juntos formarão a chave primária de R.
Passo 2 – Para cada tipo de entidade fraca F no esquema ER cujo tipo de entidade forte identificadora é E, crie uma relação R, e inclua todos os atributos simples (ou componentes simples de atributos compostos) de F como atributos de R. Além disso, inclua como chave estrangeira em R os atributos que formam a chave(s) primária(s) da(s) relação(ões) que correspondem ao tipo de entidade forte identificadora. Esse procedimento mapeia o relacionamento identificador de F. A chave primária de R é a combinação da(s) chave(s) primária(s) da(s) entidade(s) forte(s) e da chave parcial do tipo de entidade fraca F, se existir.
Passo 3 – Para cada tipo de relacionamento R binário 1:1 no esquema ER, identifique as relações S e T que correspondam aos tipos de entidades participantes de R. Escolha uma das relações – digamos, S – e inclua como chave estrangeira em S a chave primária de T. É melhor escolher um tipo de entidade com participação total em R para desempenhar o papel de S. Inclua todos os atributos simples (ou componentes simples de atributos compostos) do tipo de relacionamento R 1:1 como atributos de S.
Passo 4 – Para cada tipo de relacionamento binário R 1:N que não seja identificador de entidade fraca, identifique a relação S que representa o tipo de entidade participante no lado N do tipo de relacionamento. Inclua como chave estrangeira de S a chave primária da relação T que representa o outro tipo de entidade participante de R; isto se deve ao fato de que cada instância de entidade do lado N se relaciona a, no máximo, uma instância de entidade do lado 1 do tipo de relacionamento. Inclua todos os atributos simples (ou componentes simples de atributos compostos) do tipo de relacionamento 1:N como atributos de S.
Passo 5 – Para cada tipo de relacionamento binário R M:N, crie uma nova relação S para representar R. Inclua como chaves estrangeiras em S os atributos que formam as chaves primárias das relações que representam os tipos de entidades participantes de R; a combinação dessas chaves estrangeiras formarão a chave primária de S. Também inclua todos os atributos simples do tipo de relacionamento M:N (ou componentes simples de atributos compostos) como atributos de S.
Passo 6 – Para cada atributo multivalorado A, crie uma nova relação R que inclui um atributo correspondente a A mais a chave primária K (como chave estrangeira em R) da relação que representa o tipo de entidade ou tipo de relacionamento que tem A como atributo. A chave primária de R é a combinação de A com K. Se o atributo multivalorado é composto, então inclua somente seus componentes simples.
Passo 7 – Para cada tipo de relacionamento n-ário R, com n > 2, crie uma nova relação S para representar R. Inclua como chaves estrangeiras em S as chaves primárias das relações que representam os tipos de entidades participantes de R. Também inclua todos os atributos simples (ou componentes simples de atributos compostos) como atributos de S. A chave primária de S é, normalmente, a combinação de todas as chaves estrangeiras que referenciamas relações que representam os tipos de entidades participantes de R. No entanto, se a restrição de participação (min,max) de um dos tipos de entidades participantes de R (digamos, E) tiver max = 1, então a chave primária de S pode ser simplesmente a chave estrangeira que referencia a relação E’ correspondente a E, pois, nesse caso, cada entidade e em E participará em, no máximo, uma instância de relacionamento de R e, portanto, pode identificar unicamente essa instância de relacionamento.
Passo 8 – Converta cada especialização com m subclasses {S1,S2,...,Sm} e superclasse C, onde os atributos de C são {k,a1,...,an} e k é a chave primária, em esquemas de relação usando uma das quatro seguintes opções:
Opção 8.1 – Crie uma relação L para C com atributos Atrs(L) = {k,a1,...,an} e PK(L) = k. Crie uma relação Li para cada subclasse Si, 1 ( i ( m, com os atributos Atrs(Li) = {k} ( {atributos de Si} e PK(Li) = k.
Opção 8.2 – Crie uma relação Li para cada subclasse Si, 1 ( i ( m, com atributos Atrs(Li) = {atributos de Si} ( {k,a1,...,an} e PK(Li) = k.
Opção 8.3 – Crie uma única relação L com atributos Atrs(L) = {k,a1,...,an} ( {atributos de S1} ( ... ( {atributos de Sm} ( {t} e PK(L) = k. Esta opção é para especializações cujas subclasses são disjuntas, e t é um atributo que indica a subclasse à qual cada tupla pertence, se for o caso. Esta opção pode gerar um grande número de valores nulos.
Opção 8.4 – Crie uma única relação L com atributos Atrs(L) = {k,a1,...,an} ( {atributos de S1} ( ... ( {atributos de Sm} ( {t1,t2,...,tm} e PK(L) = k. Esta opção é para especializações cujas subclasses são sobrepostas, e cada ti, 1 ( i ( m, é um atributo booleano que indica se a tupla pertence à subclasse Si.
3.2.12) Exemplo
No exemplo acima, temos o seguinte Modelo Relacional:
	CONSTRUTORA(Numr_Const, Nome_Const);
	DEPARTAMENTO(Numr_Const, Codg_Depto, Nome_Dpto, Qtdade_Func);
	PROJETO(Numr_Depto, Codg_Proj, Nome_Proj, Data_Inicio, Data_Fim);
	MATERIAL(Codg_Mat, Nome_Mat);
	PROJETO_MATERIAL(Codg_Proj, Codg_Mat, Quantidade);
	FORNECEDOR(Codg_Forn, Nome_Forn, Logradouro, Cidade, UF);
	FORNECEDOR_MATERIAL(Codg_Forn, Codg_Mat, Quantidade, Data, Valor);
	FUNCIONARIO(Codg_Func, Nome, Data_Nascimento);
	LIDER(Codg_Func, Gratificação);
	FUNCIONARIOLIDER(Codg_Func, Codg_Projeto);
	FUNCIONARIOPARTICIPA(Codg_Func, Codg_Proj, Função, Data_Inicio, Data_Fim);
	HABILIDADE(Codg_Func, Descrição);
3.3) Dicionário de Dados
Este dicionário de dados tem como objetivo descrever as entidades e os relacionamentos identificados no DER/Modelo Relacional. A seguir, é apresentada uma notação utilizada na taxonomia dos atributos das entidades identificadas. Tal notação será utilizada em todo restante deste curso para descrever os atributos. Posteriormente, as entidades são apresentadas, juntamente com seus respectivos atributos e, em seguida, são listados os relacionamentos entre estas entidades.
Notação utilizada para taxonomia dos atributos.
Entidade <Nome da Entidade>: <Descrição da Entidade>
	Nome
	Descrição
	Tipo
	MV
	CP
	DV
	Observações
	
	
	
	
	
	
	
Nome: Nome do atributo. Obs.: O Atributo identificador deve ser Sublinhado e em negrito. A Cardinalidade de Atributo [<Nome do atributo> (cardinalidade mínima, cardinalidade máxima)] também deve ser representada. Quando não for descrita, o valor assumido será (1,1), ou seja, o atributo é obrigatório e monovalorado.
Ex.: Telefone(0,2). A entidade que possuir este atributo possui no mínimo 0 e no máximo 2 telefones. Sendo que o telefone não é obrigatório.
Descrição: descrição do valor do atributo
Tipos dos atributos:
	-T(n): Texto com n caracteres
	- I(n): Número inteiro com n algarismos
	- N(n,d): Número decimal com n algarismos no total, sendo d decimais
	- S/N: Lógico (Sim, Não)
	- D: Data
- M: Campo texto longo
MV: Atributo multivalorado? Seus valores devem ser colocados na coluna observação;
CP: Atributo composto? A composição do atributo deve ser colocada na coluna observação;
DV: Atributo derivado? A derivação do atributo deve ser colocada na coluna observação;
Observações: Toda e qualquer observação a respeito dos atributos.
Ex.: Criar um dicionário de dados a partir do modelo descritivo abaixo:
Uma firma vende produtos de limpeza. Cada produto é caracterizado por um código único, nome do produto, categoria (e.g. detergente, sabão em pó, sabonete, etc), e seu preço. A categoria é uma classificação criada pela própria firma. A firma possui informações sobre todos seus clientes. Cada cliente é identificado por um código único (também interno à firma), o nome do cliente, endereço (rua, numero, sala, cidade, CEP, UF), telefone, o status do cliente ("bom", "médio", "ruim"), e o seu limite de crédito. Guarda-se igualmente a informação dos pedidos feitos pelos clientes. Cada pedido possui um número, e guarda-se a data de elaboração do pedido. Cada pedido pode envolver de 1 a vários produtos, e para cada produto, indica-se a quantidade deste pedida e o valor total desta quantidade.
1º Passo – Criação do DER
2º Passo – mapeamento para o modelo relacional
CLIENTE(Código, Nome, Classificação, Limite de Crédito, Rua, Número, Sala, Cidade, UF, CEP, Telefone)
PRODUTO(Código, Nome, Tipo, Preço)
PEDIDOCLIENTE(CódigoCliente, Número, Data)
PEDIDOPRODUTO(CódigoCliente, NúmeroPedidoCliente, NumeroProduto,Quantidade, Valor_Total)
3º Passo – Criação do Dicionário de Dados
Descrição das entidades
Entidade CLIENTE: Representa todos os clientes da firma.
	Nome
	Descrição
	Tipo
	MV
	CP
	DV
	Observações
	Código
	Código do cliente para controle interno da firma.
	I(4)
	N
	N
	N
	Quando um novo cliente é cadastrado na firma ele recebe uma nova numeração.
	Nome
	Nome completo do cliente.
	T(50)
	N
	N
	N
	
	Classificação
	Tipo do cliente
	I(1)
	N
	N
	N
	0 – Bom, 1 – Médio, 2 – Ruim. Só pode receber os valores 0, 1 e 2.
	Limite de Crédito
	Limite de crédito do cliente.
	N(8,2)
	N
	N
	N
	Calculado de acordo com a classificação:
Ruim <= R$ 500,00
Médio <= R$ 1000,00
Bom – Qualquer valor.
	Endereço
	Endereço completo do Cliente
	
	S
	N
	N
	
	Rua
	Rua em que o cliente reside
	T(50)
	N
	N
	N
	
	Número(0,1)
	Número na rua em que o cliente reside
	I(5)
	N
	N
	N
	
	Sala (0,1)
	
	I(5)
	N
	N
	N
	
	Cidade
	Cidade em que o cliente reside
	T(50)
	N
	N
	N
	
	UF
	UF em que o cliente reside
	T(2)
	N
	N
	N
	
	CEP(0,1)
	CEP do endereço do cliente
	T(10)
	N
	N
	N
	Formato 99.999-999
	Telefone(0,2)
	Telefone(s) do Cliente
	T(17)
	N
	N
	N
	Formato (0xxxx) 9999-9999.
Entidade PRODUTO: Representa todos os produtos que a firma comercializa.
	Nome
	Descrição
	Tipo
	MV
	CP
	DV
	Observações
	Código
	Código do produto para controle interno da firma.
	I(4)
	N
	N
	N
	Quando um novo produto é cadastrado na firma ele recebe uma nova numeração.
	Nome
	Nome completo do produto.
	T(50)
	N
	N
	N
	
	Tipo
	Tipo do produto
	I(1)
	N
	N
	N
	0 – Sabão em pó, 1 – Detergente, 2 – Sabonete. Só pode receber os valores 0, 1 e 2.
	Preço
	Valor do produto
	N(8,2)
	N
	N
	N
	O valor do produto é definido pela tabela de preços da firma no momento do seu cadastro.
Entidade PEDIDOCLIENTE: Representa todos os pedidos efetuados pelo cliente.
	Nome
	Descrição
	Tipo
	MV
	CP
	DV
	Observações
	Número
	Número do pedido para controle interno da firma.
	I(4)
	N
	N
	N
	Quando um novo pedido é cadastrado na firma ele recebe uma nova numeração.
	Data
	Data do Pedido
	D
	N
	N
	N
	Formato dd/mm/yyyy
Entidade PEDIDOPRODUTO: Representa todos os produtos existentes em um pedido.
	Nome
	Descrição
	Tipo
	MV
	CP
	DV
	Observações
	Quantidade
	Quantidade do produto dentro do pedido.
	I(5)
	N
	N
	N
	
	Valor_TotalValor do produto de acordo com a quantidade
	N(8,2)
	N
	N
	S
	Quantidade * Valor do Produto.
Descrição dos relacionamentos
FAZ: Representa o fato de um cliente fazer 0 ou vários pedidos e um pedido ser feito por 1 e somente 1 cliente.
POSSUI: Representa o fato de um Pedido, que possui um cliente relacionado possuir 1 ou vários produtos e um produto fazer parte de 0 ou vários Pedidos.
 
�
4) Normalização
A teoria da normalização foi escrita por E.F. Codd em 1970 e consistia em 3 formas normais, ou 3 etapas de normalização onde, em cada etapa, uma relação passa a satisfazer um conjunto de restrições estabelecidas. Posteriormente, a teoria foi estendida pelo autor até a quinta forma normal.
Objetivos da normalização:
Minimização de redundâncias e inconsistências;
Facilidade de manipulação do banco de dados (alteração e recuperação dos dados);
Facilidade de manutenção dos Sistemas de Informação.
Resultados esperados com a normalização
Lista de relações necessárias e seus atributos;
Relações estáveis capazes de suportar mudanças.
Exemplo de normalização
Para podermos aqui estudar a técnica de normalização, tomaremos como exemplo uma estrutura de dados correspondente a um pedido de compra de um cliente para um fornecedor. Temos então como estrutura do pedido:
PEDIDO
	Nº DO PEDIDO:
	DATA DO PEDIDO:
	DATA DA ENTREGA:
	CGC DO CLIENTE:
	NOME DO CLIENTE:
	ENDEREÇO DO CLIENTE
	CÓD. DO ITEM
	NOME DO ITEM
	QUANTIDADE
	PREÇO UNITÁRIO
	PREÇO TOTAL
	
	
	
	
	
	TOTAL DO PEDIDO:
	
Notação da relação pedido não normalizada:
PEDIDO(Numero, Data, Data_Entrega, CGC_Cliente, Nome_Cliente, Endereço_Cliente, Código_Item, Nome_Item, Quantidade, Preço_Unitário, Preço_Total, Total_Pedido).
Instâncias da relação pedido não normalizada:
PEDIDO
	1
	11/10
	15/10
	111
	Cli 1
	E1
	1
	Item 1
	10
	50,00
	500,00
	660,00
	1
	11/10
	15/10
	111
	Cli 1
	E1
	2
	Item 2
	5
	10,00
	50,00
	660,00
	1
	11/10
	15/10
	111
	Cli 1
	E1
	3
	Item 3
	6
	5,00
	30,00
	660,00
	1
	11/10
	15/10
	111
	Cli 1
	E1
	4
	Item 4
	8
	10,00
	80,00
	660,00
4.1) 1ª FORMA NORMAL
Uma relação está na primeira forma normal se não contiver grupos de repetição.
Solução: devemos desmembrar a relação em uma ou mais relações sem grupos de repetição;
Passos:
1 – Determinar a chave da relação original e a chave de cada grupo de repetição;
2 – Retirar da relação original os grupos de repetição;
3 – Criar nova relação com a chave da relação original e demais atributos do grupo de repetição;
4 – Repetir o passo 3 para cada grupo de repetição.
Notação da relação pedido na primeira forma normal:
PEDIDO(Numero, Data, Data_Entrega, CGC_Cliente, Nome_Cliente, Endereço_Cliente, Total_Pedido).
ITENSDOPEDIDO(Numero do Pedido, Código_Item, Nome_Item, Quantidade, Preço_Unitário, Preço_Total).
Instâncias da relação pedido na primeira forma normal:
PEDIDO
	1
	11/10
	15/10
	111
	Cli 1
	E1
	660,00
ITENSDOPEDIDO
	1
	1
	Item 1
	10
	50,00
	500,00
	1
	2
	Item 2
	5
	10,00
	50,00
	1
	3
	Item 3
	6
	5,00
	30,00
	1
	4
	Item 4
	8
	10,00
	80,00
4.2) 2ª FORMA NORMAL
Uma relação está na segunda forma normal se estiver na primeira forma normal e se todos os atributos não chaves são dependentes de toda chave e não apenas parte da chave.
Solução: desmembrar a relação de modo que não haja atributo não chave dependente de apenas parte da chave;
Passos:
1 – Retirar da relação original o atributo que dependa de parte da chave;
2 – Criar nova relação com a chave da relação original da qual o(s) atributo(s) depende(m) e o(s) atributo(s) que depende(m) dessa chave.
Notação da relação pedido na segunda forma normal:
PEDIDO(Numero, Data, Data_Entrega, CGC_Cliente, Nome_Cliente, Endereço_Cliente, Total_Pedido).
ITENSDOPEDIDO(Numero do Pedido, Código_Item, Quantidade, Preço_Total).
ITEM(Código_Item, Nome_Item, Preço_Unitário).
Instâncias da relação pedido na primeira forma normal:
PEDIDO
	1
	11/10
	15/10
	111
	Cli 1
	E1
	660,00
ITENSDOPEDIDO
	1
	1
	10
	500,00
	1
	2
	5
	50,00
	1
	3
	6
	30,00
	1
	4
	8
	80,00
ITEM
	1
	Item 1
	50,00
	2
	Item 2
	10,00
	3
	Item 3
	5,00
	4
	Item 4
	10,00
4.3) 3ª FORMA NORMAL
Uma relação está na terceira forma normal se estiver na segunda forma normal e se todos os atributos não chave forem independentes entre si.
Solução: desmembrar a relação de modo que os atributos não chave sejam dependentes exclusivamente da chave.
Passos:
1 – Retirar da relação original os atributos que dependam de outro atributo não chave;
2 – Criar uma nova relação para cada atributo que possui outro(s) atributo(s) dependente(s) dele.
Notação da relação pedido na terceira forma normal:
PEDIDO(Numero, Data, Data_Entrega, CGC_Cliente, Total_Pedido).
CLIENTE (CGC_Cliente, Nome_Cliente, Endereço_Cliente).
ITENSDOPEDIDO(Numero do Pedido, Código_Item, Quantidade, Preço_Total).
ITEM(Código_Item, Nome_Item, Preço_Unitário).
Instâncias da relação pedido na primeira forma normal:
PEDIDO
	1
	11/10
	15/10
	111
	660,00
CLIENTE
	111
	Cli 1
	E1
ITENSDOPEDIDO
	1
	1
	10
	500,00
	1
	2
	5
	50,00
	1
	3
	6
	30,00
	1
	4
	8
	80,00
ITEM
	1
	Item 1
	50,00
	2
	Item 2
	10,00
	3
	Item 3
	5,00
	4
	Item 4
	10,00
�
5) Referências Bibliográficas
	
	[CHATZ1999]
	Sistema de Banco de Dados. A. Silberchatz, H. Korth, S. Sudarshan. Makron Books, 3ª edição, 1999.
	[HEUSER2001]
	Projeto de Banco de Dados. C. A. Heuser. Editora Sagra Luzzato, 3ª edição, 1999.
	[ALVES2003]
	Apostila de Banco de Dados 1. A. L. Alvez. UCG, 2003.
	[OLIVEIRA2001]
	Introdução a Banco de Dados – Notas de Aula. J. L. Oliveira. UFG, 2002.
Compras
Vendas
Produção
Base de dados de Produtos
Banco de Dados
Produtos
Usuários
SBD
Transações
Gerenciador de Transações (TM)
SGBD
Gerenciador de Acesso aos Dados (DM)
Definição do BD
Dados Armazenados
Base de Dados
Catálogo
Mapeamento
Externo-conceitual
Nível
Externo
Dados Armazenados
Mapeamento
Conceitual-interno
Esquema Interno
Nível
Interno
Visão externa
Esquema Conceitual
Nível
Conceitual
CLIENTE
EMPRÉSTIMO
LIVRO
DEPENDENTE
EMPREGADO
TEM
ALUNO
Nome
Matrícula
Endereço
Lote
Quadra
Rua
Telefone
Total da Nota
Matrícula
Matrícula
Nome
ALUNO
DEPENDENTE
TEM
EMPREGADO
Matrícula
Nome
Código
Data Nascimento
ALUNO
 
DISCIPLINA
 
APROVEITAMENTO
 
1
1
N
N
N
1
EMPREGADO
 
DEPENDENTE
1
DISCIPLINA
ALUNO
 
 
APROVEITAMENTO
N
1
N
1
1
Casa
MULHER
HOMEM
Mulher
Homem
 Maria
 Eva
Ana
João
Adão
Rui
 r1
r2 
 r3
 
Possui
1
N
FUNCIONARIO
DEPTO
Funcionários
Depto
 r1
 r2
 r3
r4
r5
 
 
 Maria
 Eva
Ana
Rui
Ivo
Vendas
Contabilidade
N
N
DISCIPLINA
ALUNO
Cursa
Disciplina
Aluno
Matemática
Estatística
Física
 r1
 r2
 r3
r4
r5
r6

Outros materiais