centro estadual de educação tecnológica paula...
Post on 07-Aug-2020
3 Views
Preview:
TRANSCRIPT
Centro Estadual de Educação Tecnológica Paula Souza
Componente Curricular:
Técnicas e Linguagens para Banco de Dados I
Profª Mayara B. Silva
1
SUMÁRIO
Introdução a Banco de Dados........................................................................................................ 2
Modelagem de Dados .................................................................................................................... 3
MER- Representação Gráfica ........................................................................................................ 4
Cardinalidade dos Relacionamentos ............................................................................................. 7
Chave Estrangeira ......................................................................................................................... 9
Entidade Associativa e Chave Primária Composta ..................................................................... 11
Banco de Dados Relacional - Esquema Relacional ..................................................................... 13
Classes de Atributos .................................................................................................................... 14
Atributo Simples ................................................................................................................. 14
Atributo Composto .............................................................................................................. 15
Atributo Multivalorado ....................................................................................................... 15
Dicionário de Dados .................................................................................................................... 15
Ferramentas CASE ...................................................................................................................... 17
Autorrelacionamento ................................................................................................................... 19
Entidade Fraca ............................................................................................................................. 21
Agregação na Entidade Associativa ............................................................................................ 23
Generalização/ Especialização .................................................................................................... 25
Tipos de Generalização/ Especialização ..................................................................................... 28
Tipos de Especialização/Generalização – Exclusiva e Não Exclusiva ....................................... 30
Normalização .............................................................................................................................. 34
1ª Forma Normal – 1FN .............................................................................................................. 34
Dependência Funcional ............................................................................................................... 38
Normalização - 2ª Forma Normal – 2FN .................................................................................... 42
Normalização - 3ª Forma Normal – 3FN .................................................................................... 45
ANEXO – Avaliações e Trabalhos ............................................................................................. 49
2
Introdução a Banco de Dados
O que é um Dado?
Os dados são a menor parte da informação. Por exemplo: Joana, Rua dos
Alfeneiros, manteiga, 5, orquídea, sal, torrada, solteira, 15, aviação.
A partir da organização correta dos dados, obtemos uma informação.
Por exemplo: Joana é solteira e tem 15 anos. Ela mora na Rua dos Alfeneiros
número 5. Sua flor preferida é a orquídea e o que mais gosta no café da manhã é torrada
com manteiga Aviação com sal.
Observação: só conseguimos obter uma informação correta a partir da
organização correta dos dados!
O que é Banco de Dados?
Um banco de dados é uma estrutura que contém uma grande quantidade de
dados armazenados e organizados.
Exemplos: banco de dados para Locadora, Estoque de Empresa, Escritório,
Jogos de Computadores etc.
Qual sua utilidade?
Cenário: Você gosta muito de animais, é uma pessoa empreendedora e, por isso,
quer construir um PetShop! Você terá muitos clientes que terão vários animais. Além
disso, você terá vários funcionários e também venderá vários produtos de trato de
animais no seu negócio. Você terá que saber coisas como nome, endereço, telefone,
idade de cada cliente e funcionário, bem como informações de todos os produtos que
você vende. Onde você vai guardar todas essas informações?
3
Resposta: O banco de dados armazena tudo isso de forma organizada e sem
redundância. Você pode acessar esses dados de maneira muito mais rápida do que se
estivessem armazenados em papel.
Atividade
Faça uma pesquisa que aborde os seguintes aspectos de Banco de Dados: sua definição,
sua história e a importância dos sistemas de bancos de dados nas organizações. Seja
cuidadoso com as referências utilizadas em sua pesquisa, e não se esqueça de citar todas
as fontes.
Modelagem de Dados
A modelagem de dados é uma fase de projeto do banco de dados, onde os dados
deverão ser abstraídos e organizados.
Por que modelar?
Quando construímos uma casa, não precisamos criar uma planta da mesma? Na
construção de Banco de Dados seguimos o mesmo princípio, utilizando regras de
modelagem para esboçar quais dados serão armazenados e como serão organizados, a
fim de que não haja redundância ou erros nas nossas Informações, e que possamos
acessá-las rapidamente.
MER (Modelo Entidade-Relacionamento)
Modelo utilizado para representar os dados e a forma como eles se relacionam
em um Banco de Dados de um sistema computacional. Foi criado por Peter Chen,
cientista da computação americano, em 1976.
4
MER- Representação Gráfica
Componentes do MER - Entidades
Identifica o objeto de interesse do sistema e tem "vida" própria, ou seja, a
representação abstrata de um objeto do mundo real sobre o qual desejamos guardar
informações.
Exemplo: entidades Sistema de Pet Shop
Exercícios – Entidades e Relacionamentos
1. Explique por que a modelagem de dados é importante no projeto de um BD.
2. Identifique entidades e seus relacionamentos para os seguintes problemas:
a) Sistema de hotelaria
b) Sistema de uma escola
c) Uma editora de livros quer fazer um sistema para manutenção de seus livros.
Cada livro possui seus respectivos autores, editores e revisores.
d) Em um campeonato de esportes o treinador possui diversos atletas, que por
sua vez são classificados em diferentes categorias.
e) A empresa de linhas aéreas XYZ possui três importantes recursos: voos,
pilotos e tripulantes. Os pilotos e os tripulantes tem suas respectivas bases
domésticas, para as quais retornam após um voo para o qual tenham sido
designados.
5
Componentes do MER - Atributos
Os atributos são as características de uma entidade que devem ser armazenadas no
banco de dados, ficando registradas para acesso sempre que necessário.
Exemplo:
Exercícios
1. Nos exercícios anteriores, coloque pelo menos 3 atributos para cada entidade.
2. Uma empresa de seguros de automóveis possui um conjunto de clientes em
que cada um possui carros assegurados em seus nomes. Faça o MER para a
empresa com as entidades, identificando relacionamento e atributos.
3. Uma Imobiliária deseja construir um sistema para armazenar seus dados. O
proprietário, que possui o imóvel, contata o corretor de imóveis. É importante
armazenar nome, rg, endereço e telefone do proprietário. Sobre o imóvel são
armazenados um código, tipo de imóvel, endereço e valor do aluguel. O
corretor, que possui um rg, nome, endereço, telefone e numero de
dependentes, atende a um inquilino que aluga o imóvel. Sobre o inquilino é
necessário armazenar nome, rg, cpf, endereço, telefone e numero de
dependentes. Desenvolva o MER com entidades, relacionamentos e atributos.
4. Um berçário deseja informatizar suas operações. Quando um bebê nasce,
algumas informações são armazenadas sobre ele, tais como: nome, data do
6
nascimento, peso do nascimento, altura, a mãe deste bebê e o médico que fez
seu parto. Para as mães, o berçário também deseja manter um controle,
guardando informações como: nome, endereço, telefone e data de
nascimento. Para os médicos, é importante saber: CRM, nome, telefone
celular e especialidade. Desenvolva o MER com entidades, relacionamentos e
atributos.
Atributo Identificador (Chave Primária) A chave primária é um atributo que identifica exclusivamente cada registro em
uma tabela de banco de dados. Esse atributo chave faz com que exista apenas um valor
único para cada registro, garantindo que não existam dados repetidos
desnecessariamente no banco de dados.
Lembre-se! A coluna de chave primária não pode conter valores nulos ou
valores repetidos.
Exemplo de chave primária:
O atributo CodigoCli é o atributo identificador (chave primária) da tabela
Cliente.
Tabela Cliente
CODIGOCLI NOME TELEFONE ENDEREÇO
01 MARIA 38739586 RUA DAS CARMELIAS, 221
02 LUIS 34642575 JD DA PAZ, 32
03 TEREZA 38657545 AV. CONSOLAÇÃO, 123
04 MARIA 38645535 RUA ADAMANTINA, 43
7
Exercícios
1. Elabore o MER e defina no mínimo 3 atributos e uma chave primária para cada
uma das entidades abaixo:
a) um aluno.
b) um animal.
c) um funcionário.
d) um relógio.
2. Uma redistribuidora de equipamentos de informática deseja informatizar seu
sistema. A loja vende equipamentos que são distribuídos pelo fornecedor e vendidos
diretamente ao consumidor. Os vendedores são organizados em departamentos, para
que sejam dedicados exclusivamente à sua área de venda. Faça o MER com
entidades, relacionamentos e atributos para esse sistema.
3. Na cafeteria do seu Joaquim o cliente realiza o pedido que inclui o prato com sua
respectiva descrição (a cafeteria possui os mais diversos pratos). Os garçons
responsáveis pelo atendimento devem ser prestativos e corteses. Clientes e garçons
possuem nome, endereço, data de nascimento e telefone. Lembre-se que cada prato
possui um preço diferenciado e cada garçom um salário. Ao fazer o pedido são
armazenadas data e hora do mesmo. Faça o MER com entidades, relacionamentos e
atributos.
Cardinalidade dos Relacionamentos
A cardinalidade é um símbolo que expressa o número mínimo e máximo de
ocorrências entre duas entidades relacionadas entre si.
Cardinalidade Máxima: expressa o número máximo de ocorrências
Cardinalidade Mínima: expressão o número mínimo de ocorrências
As cardinalidades são expressas através dos símbolos 0, 1 e N.
8
Exemplo:
Cardinalidade no MER:
Exercícios
1. Em uma loja de cosméticos os vendedores são responsáveis pelas vendas. Observe a
tabela de vendas do primeiro trimestre deste ano:
VENDEDOR QTD DE VENDAS
Luiz 375
Paula 50
Vivian 0
Leandro 120
Maria 485
Faça as entidades vendedor e venda, estabelecendo as cardinalidades do
relacionamento, sabendo que cada venda é feita por apenas um vendedor
responsável.
9
2. Faça um MER com entidades, relacionamentos, atributos e cardinalidades dos
sistemas descritos:
a) Em um sistema de uma biblioteca, os alunos podem emprestar vários livros que
podem ser lidos por diferentes alunos. O sistema mantém o cadastro do aluno mesmo
que este nunca tenha realizado um empréstimo.
b) Na escola Anchieta todos os alunos são obrigados a entregar vários relatórios de
suas atividades realizadas durante o semestre. Esses relatórios devem ser feitos
individualmente. Os professores são responsáveis por corrigir os relatórios, sendo que
cada professor pode corrigir vários relatórios, mas o relatório passa pela correção de
somente um professor.
c) Uma instituição bancária deseja controlar o movimento das suas contas correntes. A
instituição possui agências espalhadas por várias cidades; o cadastro das agências
contém informações sobre código, nome e endereço onde a agência é localizada. No
cadastro de clientes estão armazenados os dados de nome, CPF e endereço de cada
cliente. As contas correntes são identificadas por um número e mantêm o saldo
atualizado das mesmas.
Chave Estrangeira
Quando passamos a chave primária de uma tabela como atributo em outra tabela,
dizemos que essa chave se torna chave estrangeira na segunda tabela. Fazemos isso
sempre que houver um relacionamento 1xN (um para N) ou Nx1 (N para 1), analisando
as cardinalidades máximas do relacionamento.
Exemplo:
10
Observe as tabelas simulando dados para cada entidade:
ENTIDADE CURSO ENTIDADE ALUNO
Exercícios
Faça o MER determinando no mínimo 4 atributos para cada entidade, colocando as
chaves estrangeiras que forem necessárias para os relacionamentos. Para cada entidade,
faça uma tabela simulando dados para as mesmas, com 3 linhas de registros para cada
uma:
a) Uma livraria possui vários livros, mas um livro pertence a apenas uma livraria.
b) Um motorista pode ter várias motos e a moto pertence a um único motorista.
c) Cada espécie é catalogada por apenas um biólogo. Cada biólogo pode catalogar
quantas espécies ele encontrar.
d) De um voo participam vários passageiros. Mas cada passageiro só participa de
um voo.
11
e) Todo funcionário possui um chefe, no entanto os chefes podem possuir vários
funcionários.
f) Uma construção possui vários operários e os operários podem participar de
várias construções.
g) Um artista possui vários músicos em sua banda, mas os músicos também podem
tocar em várias bandas.
h) Um coordenador coordena vários professores, mas cada professor é coordenado
por apenas um coordenador.
i) Uma escola possui um único diretor e um diretor possui uma única escola.
Entidade Associativa e Chave Primária Composta
Sempre que encontramos um relacionamento muitos para muitos (NxN) entre
duas entidades, devemos criar uma entidade intermediária entre elas. Essa entidade é
chamada entidade associativa. A entidade associativa deve ter como chave primária os
valores das chaves primárias das duas entidades que a originaram, formando então uma
chave primária composta.
Exemplo:
12
Observe as tabelas simulando dados para cada entidade:
ENTIDADE CURSO ENTIDADE CURSO_ALUNO ENTIDADE ALUNO
Exercícios
1. Faça o MER para cada sistema descrito, colocando as chaves primárias compostas
que forem necessárias para os relacionamentos. Para cada entidade, faça uma tabela
simulando dados para as mesmas, com 2 linhas de registros para cada uma:
a) Uma construção possui vários operários, que devem ser cadastrados com nome,
RG, Número da Carteira de Trabalho, telefone e endereço, e os operários podem
13
participar de várias construções, que possuem data de início e término da obra,
endereço e custo.
b) Um artista possui vários músicos em sua banda, mas os músicos também podem
tocar em várias bandas. Os artistas e os músicos possuem código, nome e
telefone de contato, sendo que o músico também possui um instrumento. Já as
bandas possuem um nome e uma data de origem.
2) Uma empresa deseja criar um aplicativo para download de músicas online, onde
cada cliente poderá cadastrar um usuário e realizar o download de várias músicas
por apenas R$0,99 mensais. Ao fazer seu cadastro, o usuário deverá criar um
username, uma password e fornecer seu nome completo. Todas as músicas
armazenadas devem conter seu título, tempo de duração, ano de lançamento, nome
do artista e álbum ao qual pertence. Faça o MER para o sistema.
3) Em uma transportadora, os clientes podem realizar vários pedidos. Cada pedido é
vinculado a um cliente. Os clientes possuem um cadastro contendo seu CPF, nome,
telefone e endereço para entrega. Os pedidos devem ter hora e data registrados.
Cada pedido pode conter vários produtos, que possuem descrição, preço e
quantidade em estoque. Os pedidos são entregues pelos caminhões da frota
transportadora. Cada caminhão possui um modelo, uma marca e uma placa
cadastrados, podendo entregar vários pedidos. Os produtos podem estar em vários
pedidos. Faça o MER para o sistema.
Banco de Dados Relacional - Esquema Relacional
O Esquema Relacional é outra forma de representação do Banco de Dados,
relacionando suas respectivas entidades, atributos e chaves.
Deve possuir a seguinte estrutura:
14
ENTIDADE (atributoIdentificador, atributo1, atributo2,...)
AtributoChaveEstrangeira referencia Entidade
OBS: caso haja um atributo que seja chave estrangeira, especificar a qual entidade ele
faz referência.
Exemplo:
CURSO (CodCurso, Descrição)
ALUNO (CodAlu, Nome, CodCurso)
CodCurso referencia CURSO
ATIVIDADE
1. Utilize a lista de exercícios realizada na última aula (Entidade Associativa e
Chave Primária Composta) para criar os respectivos Esquemas Relacionais do
Banco de Dados para cada um dos MERs desenvolvidos.
Classes de Atributos
Atributo Simples
15
Não possui qualquer característica especial, recebendo um valor único. A
maioria dos atributos serão simples. Exemplo: nome, RG, salário.
Atributo Composto
O seu conteúdo é formado por vários itens menores. Exemplo: Endereço. Seu
conteúdo poderá ser dividido em vários outros atributos, como: Rua, Número,
Complemento, Bairro, Cep e Cidade.
Atributo Multivalorado
Pode ser preenchido por mais de um valor.
Exemplo: Telefone. Uma pessoa poderá ter mais de um número de telefone
(residencial, comercial, celular).
Dicionário de Dados
Conjunto de tabelas que descrevem e definem o significado de toda a
informação usada na construção de um Banco de Dados. Cada entidade será
representada em uma tabela com as colunas Atributos, Descrição (observação sobre o
16
atributo, não sendo seu preenchimento obrigatório), Domínio (N - número, M –
moeda, D – data, T- texto), Tamanho (quantidade de caracteres que serão necessários
para armazenar o seu conteúdo) e Classe (simples, composto, multivalorado, chave
primária, chave estrangeira).
Entidade: Secretária
Atributo Descrição Domínio Tamanho Classe
CodigoSecretaria Códido de identificação da
secretária N 4
Chave
primária
Nome Nome completo T 50 simples
telefone Pode ser residencial e/ou
celular T 20 multivalorado
endereço Composto de rua, número,
bairro, cidade e CEP T 80 composto
CPF T 12 simples
Salario M 7 simples
Observação: cuidado com os domínios de atributos como telefone e CPF. Apesar de
serem números, eles serão gravados no banco de dados como sendo tipo texto, pois são
números de tamanho muito grande e que não serão utilizados para cálculos.
ATIVIDADE
Faça o MER e o Dicionário de Dados para o sistema descrito a seguir:
17
Uma academia de ginástica deseja manter um controle do seu funcionamento e para isso
deseja adquirir um sistema informatizado. A academia possui alunos que são
organizados em turmas específicas. As informações sobre uma turma são número
(quantidade) de alunos, horário da aula, duração da aula em minutos, data inicial, data
final e tipo de atividade que a mesma realiza (pump, combat, alongamento etc). Cada
turma é orientada por um único instrutor para o qual são cadastrados o nome, RG, CPF,
data de nascimento, titulações, endereço e todos os telefones possíveis para sua
localização. Um instrutor pode orientar várias turmas. Os dados cadastrados dos alunos
são código de matrícula, data de matrícula, nome, endereço, telefone, data de
nascimento, altura e peso (massa corpórea). Caso um aluno deseje realizar atividades
diferentes, o mesmo pode se matricular em diversas turmas. Para cada matrícula que o
aluno faz em uma turma, é mantido um registro das ausências do aluno nesta turma.
Ferramentas CASE
As ferramentas CASE (Computer-Aided Software Engineering - Auxílio
Computacional para a Engenharia de Software) são programas que auxiliam equipes de
18
desenvolvimento a projetar sistemas, da mesma maneira que arquitetos e engenheiros
projetariam um edifício, por exemplo.
brModelo
Ferramenta gratuita voltada para ensino de modelagem em Banco de Dados
relacional. Esta ferramenta foi desenvolvida por Carlos Henrique Cândido sob a
orientação do Prof. Dr. Ronaldo dos Santos Mello (UFSC), como trabalho de conclusão
do curso de pós-graduação em banco de dados (UNVAG - MT e UFSC). A ferramenta é
disponibilizada no endereço http://sis4.com/brModelo/Default.aspx.
Tela do Sistema
ATIVIDADE
Utilizando o brModelo, faça o MER para o sistema descrito a seguir:
19
Uma academia de ginástica deseja manter um controle do seu funcionamento e para isso
deseja adquirir um sistema informatizado. A academia possui alunos que são
organizados em turmas específicas. As informações sobre uma turma são número
(quantidade) de alunos, horário da aula, duração da aula em minutos, data inicial, data
final e tipo de atividade que a mesma realiza (pump, combat, alongamento etc). Cada
turma é orientada por um único instrutor para o qual são cadastrados o nome, RG, CPF,
data de nascimento, titulações, endereço e todos os telefones possíveis para sua
localização. Um instrutor pode orientar várias turmas. Os dados cadastrados dos alunos
são código de matrícula, data de matrícula, nome, endereço, telefone, data de
nascimento, altura e peso (massa corpórea). Caso um aluno deseje realizar atividades
diferentes, o mesmo pode se matricular em diversas turmas. Para cada matrícula que o
aluno faz em uma turma, é mantido um registro das ausências do aluno nesta turma.
Autorrelacionamento
20
O autorrelacionamento ocorre toda vez que uma entidade se relaciona com ela mesma.
Por exemplos:
Neste caso, um professor é o coordenador de no mínimo 0 e no máximo vários outros
professores. Ao mesmo tempo, o professor é coordenado por no mínimo 1 e no máximo
1 único coordenador.
Neste caso, uma pessoa será pai de outra pessoa. Podemos interpretar pelas
cardinalidades que uma pessoa pode ter no mínimo 0 e no máximo muitos filho, e que
uma pessoa pode ser filha de no mínimo 1 e no máximo 1 pai.
Lista de Exercícios
Faça o MER no brModelo para as situações descritas abaixo. Todas as entidades devem
ter atributos, portanto você deve completar as entidades que não tiverem seus atributos
descritos.
a) Em um hospital, todos os pacientes realizam um determinado tratamento
prescrito pelo médico responsável pelo mesmo. Os tratamentos possuem uma
descrição detalhada de todos os procedimentos necessários, bem como data de
início e término. Os médicos são supervisionados por outros com mais tempo de
experiência no hospital. Cada paciente é alocado em um leito localizado em um
andar específico do prédio, com número e tipo (enfermaria ou individual).
b) Na linha de produção de uma fábrica, os operários são responsáveis por montar
peças. Cada peça é composta por outras peças. Uma peça possui número de
série, tipo, dimensão e peso. Para cada operário é importante armazenar seus
21
documentos pessoais, o valor de seu salário, endereço, telefone, data de
nascimento e data de contratação.
c) A agência de casamentos Enforque-se Feliz deseja informatizar seu negócio. O
processo do casamento funciona assim: Uma pessoa se casará com a outra em
um salão de festas. O salão tem endereço, telefone e preço do aluguel. Após a
cerimônia, o casal irá para um maravilhoso hotel, onde é necessário armazenar
localização, telefones para contato, número da reserva, preço da diária e número
de estrelas. Para chegar até o hotel, os pombinhos alugarão um automóvel, que
possui marca, modelo, cor e valor do aluguel. Depois de tudo isso, é só esperar o
Felizes para Sempre.
Entidade Fraca
22
Se uma Entidade depende de outra Entidade para existir, ela é classificada como uma
ENTIDADE FRACA. Podemos dizer que a Entidade Fraca é subordinada da Entidade
Dominante (também chamada de Entidade Forte).
Exemplo:
O Empregado de uma empresa pode possuir Dependentes (filhos), porém só existirão
Dependentes caso existam Empregados. DEPENDENTE é uma Entidade Fraca de
EMPREGADO.
CHAVE PRIMÁRIA
A chave primária de uma entidade fraca será composta por uma chave própria mais a
chave de sua entidade dominante. Observe o Esquema relacional abaixo:
Empregado (CodigoEmp)
Dependente (CodigoDependente, CodigoEmp)
CodigoEmp referencia Empregado
ENTIDADE FRACA NO brModelo
Clique no relacionamento da Entidade Fraca e configure nas propriedades:
Lista de Exercícios
23
Faça o MER no brModelo para as situações descritas abaixo.
1. Identifique qual é a entidade fraca e a entidade forte dentre as citadas abaixo, e
desenhe o MER com suas respectivas chaves primárias.
a) Empresa e filial
b) Empréstimo e livro
c) Dependente e Funcionário
d) Produto e Venda
e) Agência e Banco
2. A agência bancária ABC necessita de uma base de dados que armazene todas as
informações de seus correntistas. Todas as contas possuem um número, um
saldo, uma data de criação e um tipo (podendo ser corrente, poupança ou
salário). A partir do momento que uma conta é criada, todas as suas transações
devem ser registradas, sendo necessário armazenar data e valor da mesma.
3. Em uma biblioteca, um usuário (que é registrado com CPF, nome, data de
nascimento, telefone e endereço) pode realizar o empréstimo de vários livros.
Um empréstimo só é realizado caso exista pelo menos um livro para ser
emprestado. Sobre os livros é necessário armazenar ISBN, título, nome do autor,
quantidade de páginas e estilo literário. Na hora do empréstimo é muito
importante armazenar data e hora do mesmo, bem como a data da devolução
prevista. Os livros são organizados em seções com um código, localização e
gênero.
Agregação na Entidade Associativa
24
Sempre que duas entidades possuírem um relacionamento com cardinalidade NxN
(muitos para muitos) precisamos criar uma entidade associativa nesse relacionamento,
como no exemplo abaixo:
A Agregação acontece quando temos um relacionamento entre a entidade associativa e
uma outra entidade. Por exemplo:
Quando um aluno cursa uma disciplina, ele é ensinado por um professor. O professor
tem relacionamento tanto com o aluno como com a disciplina, devendo ser relacionado,
portanto, com a Entidade Associativa Aluno_Diciplina, resultando no MER abaixo:
CARDINALIDADES: O professor ensina no mínimo 1 e no máximo muitos alunos que
cursam as disciplinas e esses alunos possuem no mínimo 1 e no máximo 1 professor por
disciplina.
CHAVE ESTRANGEIRA: Neste caso, o atributo CodPro será chave estrangeira em
Aluno_Disciplina, por causa das cardinalidades máximas 1xN.
Lista de Exercícios
25
Faça o MER para os exercícios abaixo. Lembre-se que todas as entidades devem ter
atributos.
1. Uma pessoa pode ingressar em diversas universidades. Sempre que ingressa na
mesma, ela recebe um professor tutor, que será o responsável por guiá-la em
seus estudos e realizar seu acompanhamento pedagógico. Toda universidade
possui um patrocinador, que será responsável por ajudá-la financeiramente na
organização de eventos em troca de publicidade. O Banco de Dados deve
armazenar nome, endereço e telefone de contato do patrocinador. O tutor possui
nome, telefone, CPF e titulações (podendo ser mais de uma titulação).
2. Em uma unidade de pronto-atendimento, o paciente pode ser atendido por vários
médicos. Ao atender um paciente, um médico pode prescrever vários
medicamentos, que por sua vez podem ser prescritos em vários tratamentos. Os
medicamentos são fornecidos por laboratórios, devendo ser armazenados nome,
endereço e telefone de contato. Já para os medicamentos devem ser armazenados
nome, data de fabricação, preço, data de validade e uma breve descrição dos
possíveis efeitos colaterais.
3. Em um estúdio de fotografia um fotógrafo realiza diversos trabalhos, que podem
ter a participação de muitos fotógrafos trabalhando em conjunto. Para realizar
cada trabalho, os fotógrafos podem utilizar diversos equipamentos (câmeras,
lentes, tripés, iluminadores, etc.). Cada trabalho possui uma descrição (ensaio
fotográfico, evento ao ar livre, publicidade, etc.) e um endereço, sendo que sua
realização possui também uma data. Todo trabalho possui um cliente que o
encomendou, sendo que o estúdio mantém um cadastro de todos os seus clientes
com nome, CPF e telefone para contato. Os equipamentos possuem nome,
número de série, descrição, data de aquisição e preço. Já os fotógrafos devem
conter seus documentos pessoais, nome, endereço, telefones para contato e
especializações.
Generalização/ Especialização
26
A generalização/especialização é utilizada para representar entidades que são colocadas
como subclasses (especializações) de uma superclasse (generalização). Exemplo:
Entidade Genérica: Empregado
Entidades Especializadas: Secretário e Engenheiro (ambos também são empregados)
OBSERVAÇÃO: o atributo tipo_empregado irá dizer se o empregado é Secretário ou
Engenheiro.
Para criar no brModelo
27
Lista de exercícios
1. Uma empresa de publicidade presta serviços para os mais diversificados
clientes, sendo necessário armazenar data de início, data de término, descrição e
valor para cada projeto contratado. Os publicitários que desenvolvem o projeto
também são armazenados no banco, com todas as suas informações pessoais
como nome, RG, CPF, carteira de trabalho, título de eleitor, endereço, telefone,
formação e atualizações profissionais. Os publicitários possuem remuneração
por hora de trabalho realizado nos projetos, sendo necessário armazenar o valor
de sua hora-projeto. Os clientes que a agência atende possuem um código, nome,
endereço, e telefone de contato, sendo que os clientes que forem pessoa física
têm seu CPF e data de nascimento armazenado, enquanto os que forem pessoa
jurídica possuem CNPJ.
2. O estabelecimento comercial T.Informática vende diversos produtos para seus
clientes e deseja informatizar seu sistema. Todo produto possui um número de
registro, a data que entrou no estoque e o preço. Os clientes devem ser
armazenados com todos os seus documentos pessoais, endereço e telefone. Para
softwares disponíveis para venda, o sistema armazena qual a sua versão e
requisitos de instalação. Já para hardware, é armazenada uma descrição do
mesmo.
3. Faça o MER com entidades e relacionamentos (não é necessário colocar
atributos) para o seguinte problema:
Um veículo pode ser terrestre, aquático ou ainda aéreo. Considere os veículos
carro, barco, motocicleta, caminhão, avião, navio, helicóptero e submarino em
seu modelo.
28
Tipos de Generalização/ Especialização
Parcial
Temos a generalização parcial quando nem toda ocorrência da entidade genérica possui
uma ocorrência correspondente em uma entidade especializada.
Exemplo:
No exemplo acima, nem todo empregado é secretário e nem todo empregado é
engenheiro. Pode haver empregados que não sejam nem secretário e nem engenheiro.
Dizemos, portanto, que ocorre a generalização parcial.
Total
Para cada ocorrência da entidade genérica existe sempre uma ocorrência em uma das
entidades especializadas.
Exemplo:
29
No exemplo acima, todo cliente ou é uma pessoa física ou uma pessoa jurídica. Não
existe a possibilidade de haver um cliente que não seja pessoa física ou pessoa jurídica.
Atenção: para indicar generalização parcial no brModelo devemos:
1. Clicar no símbolo da agregação.
2. Escolher a opção Sim no item Esp.Parcial nas propriedades à direita.
Lista de exercícios
1. Desenhe o MER para as seguintes situações, não se esquecendo de levar em
consideração os tipos de generalização e colocar atributos:
a) Em uma empresa, dentre todos os funcionários podemos destacar o motorista
e o atendente.
30
b) Em uma empresa de planos de saúde, os médicos são classificados em
residentes ou efetivos.
c) Em uma empresa organizadora de eventos, alguns tipos de festas oferecidos
são festa à fantasia, festa havaiana e festa do pijama.
d) Em uma farmácia, vendem-se medicamentos como analgésicos e
antibióticos.
e) Em uma autoescola, o cliente pode optar por fazer três modalidades de
cursos: carro, moto ou ainda micro-ônibus.
f) Um prestador de serviços de uma empresa pode ser assalariado ou
freelancer. Caso seja assalariado, é importante armazenar o salário fixo e o
número da carteira de trabalho. Caso seja freelancer, é importante armazenar
o valor pago pelo trabalho realizado e a data de início e término de seu
contrato.
2. Indique nos exercícios da aula passada quais são os tipos de generalização
contidos no MER.
Tipos de Especialização/Generalização – Exclusiva e Não Exclusiva
Exclusiva (disjunta)
Não pode existir sobreposição entre as instâncias da classe genérica para a classe
especializada. Exemplo:
31
Neste exemplo, um veículo não pode ser terrestre e aéreo ao mesmo tempo, sendo ou
terrestre, ou aéreo.
Não exclusiva (sobreposta)
Uma ocorrência da entidade genérica pode pertencer a mais de uma classe especializada
ao mesmo tempo.
Exemplo: um MER para uma escola de idiomas
Neste exemplo, é permitido que o funcionário exerça o papel de professor e aluno ao
mesmo tempo (o professor de espanhol faz aulas de francês, por exemplo), podendo
haver uma sobreposição de cargos.
No brModelo:
• Para criar a especialização exclusiva (disjunta), utilizar o ícone abaixo:
32
OBS: ele cria duas entidades especializadas como padrão, para criar mais entidades
especializadas utilize o ícone da entidade para criá-las e ligue-as com o conector:
• Para criar a especialização não exclusiva (sobreposta), utilizar o ícone abaixo:
OBS: neste caso o brModelo cria apenas uma entidade especializada como padrão, para
criar mais entidades especializadas clique no mesmo ícone novamente e na entidade
genérica, criando outra especialização sobreposta.
Lista de exercícios
1. Desenhe o MER para as seguintes situações, não se esquecendo de levar em
consideração os tipos de generalização:
33
a) Maria é secretária em uma escola de idiomas. Além de secretária, ela é também
aluna do curso de espanhol.
b) Na empresa de Roberto, seus clientes são pessoas físicas ou pessoas jurídicas.
c) Em uma empresa, existem os cargos de diretor e gerente, sendo que o
funcionário não pode desempenhar os dois ao mesmo tempo.
d) Uma mercearia pode vender produtos que são classificados como bebida ou
comida.
e) Em uma competição esportiva, os participantes são todos cadastrados, sendo que
um voluntário na organização do evento pode competir como um esportista caso
tenha interesse.
f) O público de uma peça teatral pode ser registrado como críticos ou espectadores.
g) Em uma empresa de transporte, o funcionário é contratado para desempenhar a
função de motorista ou cobrador.
2. Uma federação de futebol pretende desenvolver um sistema informatizado para
controlar as informações geradas em seus campeonatos. As informações a serem
armazenadas dizem respeito aos times, jogadores e partidas. Um time pode ser
profissional ou amador. Para os times amadores deseja-se armazenar nome, cidade
de origem e ano em que foram criados. Para os times profissionais deseja-se saber
quem são os atuais patrocinadores e nome e sobrenome dos atuais diretores. Para
cada jogador deseja-se conhecer em quais times joga e, para cada time, em quais
posições atua. Sobre as partidas de futebol são armazenadas: o placar, o local
(cidade), a data e os times que jogaram. Sobre os árbitros reconhecidos pela
federação são armazenados nome, RG, telefone e quais tipos de jogos pode apitar.
34
Normalização
A normalização é um método que se emprega para aumentar a qualidade do projeto de
banco de dados. Seu objetivo é evitar anomalias que podem gerar inconsistência no
banco de dados.
Alguns exemplos de anomalias são dados repetidos desnecessariamente, perdas
acidentais de dados, dificuldade nas atualizações de dados etc.
A normalização determina algumas regras que devem ser seguidas para que um banco
de dados seja considerado correto. As regras mais conhecidas são: 1ª Forma Normal, 2ª
Forma Normal e 3ª Forma Normal.
1ª Forma Normal – 1FN
Foi definida para não permitir atributos multivalorados e atributos compostos. Ela
estabelece que:
“Uma entidade está na primeira 1FN se, e somente se, todos os seus atributos
contêm valores atômicos (simples, indivisíveis, com somente um valor para o
campo)”
Exemplo: entidade Clientes
Tabela de Registros da Entidade Clientes
CPF Nome Sexo Localização Telefone
123456789-x Maria F Niterói, RJ, Brasil 3885-8985/983422345
111222333-8 José M Brasília, DF, Brasil 3845-5566/997894587
444555666777-2 Luiza F São Paulo,SP, Brasil 3887-7777
35
555666777888-9 Pedro M Porto Alegre, RS, Brasil 995544565
Problemas que não obedecem à 1FN:
Atributo localização: dificulta pesquisar os clientes pelo seu estado, ou pelo seu país, ou
ainda por sua cidade dinstintamente, pois estão todos juntos em um atributo composto.
Atributo telefone: atributo multivalorado, com mais de um valor por campo, como no
caso dos clientes Maria e José.
Solução através da normalização:
1. Cada atributo composto será dividido em vários atributos atômicos.
CPF Nome Sexo Cidade Estado País
123456789-x Maria F Niterói RJ Brasil
111222333-8 José M Brasília DF Brasil
444555666777-2 Luiza F São Paulo SP Brasil
555666777888-9 Pedro M Porto Alegre RS Brasil
2. Cada atributo multivalorado será transformado em outra entidade, que possuirá
como chave primária a chave original mais o próprio atributo, sendo portanto
uma chave primária composta.
CPF Telefone
123456789-x 3885-8985
123456789-x 983422345
111222333-8 3845-5566
111222333-8 997894587
444555666777-2 3887-7777
555666777888-9 995544565
Resultado da entidade após a normalização 1FN no MER:
36
Lista de Exercícios
1. Faça o MER para as situações abaixo, fazendo com que as entidades respeitem a
1FN, caso elas estejam em desacordo com a regra:
a) Arquivo Clientes
Nome RG email Telefone
Amanda Souza 11.222.222-3 Amanda.amanda@hotmail.com (19)997788776
João Amaral 22.333.444-5 Joao.joao@gmail.com (19)38455445 (19)982233221
Letícia Fontana 33.444.555-6 Leticia.leticia@yahoo.com (18)38677747
b) Arquivo Funcionários
Nome CPF Endereço Salário
Amanda Souza 11.222.222-3 Rua João Diniz, n.545,Jd. Amoras, Piracicaba, São Paulo, CEP 13185545
R$1500,85
João Amaral 22.333.444-5 Av Brasil, n.67, Centro, Americana, São Paulo, CEP 13190010
R$2300,50
Letícia Fontana 33.444.555-6 Rua Consolação, Jd. Piracanjuba, Santa Bárbara D’Oeste, São Paulo, CEP
134555753
R$3000,00
c) Arquivo Carro
Placa Marca Modelo Serviço Cor
DHY1221 Chevrolet Celta 1.0 pintura Prata
FDS6780 Fiat Palio 1.6 Lavagem cristalização
Vermeho
BOY4050 FORD KA 1.8 funilaria pintura
Branco
37
2. Faça o MER dentro da 1FN, colocando no mínimo 4 atributos para cada
entidade:
a) Um intérprete de uma agência de turismo precisa falar no mínimo dois
idiomas.
b) Um paciente de um hospital precisa armazenar os exames que ele faz.
c) Um cliente de uma veterinária precisa cadastrar seus cachorros.
d) Um motorista precisa armazenar todas as licenças para dirigir que ele possui
(carro, moto ou ônibus).
e) Os funcionários de uma empresa precisam cadastrar todos os seus
dependentes.
f) O professor de uma escola precisa armazenar todos os seus cursos de
atualização profissional.
38
Dependência Funcional
A dependência funcional é um conceito muito importante para a correta aplicação da
2FN e da 3FN, que serão vistas nas próximas aulas.
O que é dependência funcional?
Dizemos que um atributo depende de outro (ou de outros) quando o seu valor é
determinado pelo valor deste outro atributo.
Exemplo:
O nome de um funcionário depende de seu CPF.
Observe a tabela de registros abaixo:
CPF Nome
111 Maria
222 Pedro
333 Luiza
444 Eduardo
Podemos dizer que o atributo nome depende funcionalmente do CPF, ou ainda que o
CPF determina o nome. Sempre que o CPF for 111, o nome será Maria, 222 - Pedro,
333 – Luiza e 444 – Eduardo.
Observação: não podemos dizer que CPF depende de nome, pois o nome de uma
pessoa pode ser repetido (lembre-se de que existem pessoas até com nome e sobrenome
iguais!). Veja o exemplo:
CPF Nome
111 Maria
222 Pedro
333 Luiza
444 Eduardo
555 Maria
39
O nome Maria aparece mais de uma vez, portanto não podemos dizer que sempre que o
nome for Maria o CPF será 111. Portanto, nome não determina o CPF, mas sim o
contrário.
Dependência Composta
Um atributo pode depender de mais de um atributo ao mesmo tempo. Por exemplo:
A data de conclusão de um curso feito por um funcionário depende do CPF do
funcionário e do código do curso.
Observe a tabela de registros:
CPF CodCurso Data_Conclusão
111 2 10/11/2015
222 3 12/04/2016
333 1 08/08/2016
444 2 01/07/2015
555 1 17/05/2016
111 3 20/09/2016
Podemos observar que a data de conclusão do curso (Data_Conclusão) só pode ser
determinada se soubermos de que funcionário se trata (seu CPF) e de que curso estamos
falando (CodCurso). Um funcionário pode ter realizado diversos cursos e o mesmo
curso pode ter sido concluído por diversos funcionários (note que o funcionário 111
realizou dois cursos).
Lista de Exercícios
1. Para cada grupo de atributos abaixo, classifique-os em dependentes e
determinantes. Faça uma tabela de registro simulando 3 valores para cada
atributo.
a) Data de nascimento do funcionário, Matrícula do funcionário.
b) Número de uma Turma, Horário da turma e dia da semana em que a turma
tem aula.
40
c) Código da disciplina, Nota do aluno, RA do aluno.
d) Valor Prestação de um financiamento, Número do financiamento, CPF da
pessoa que pediu o financiamento.
2. Para cada sistema abaixo temos vários informações armazenadas de forma
desorganizada. Organize essas informações, achando quem são os atributos
determinantes e quais são seus respectivos atributos dependentes. OBS: Não
é necessário fazer o MER, basta colocar determinante e atributo. Exemplo:
Determinante1: atributo1, atributo2, atributo3
Determinante2: atributo1, atributo2
a) Todas as informações abaixo dizem respeito ao sistema de compras da
empresa, onde o cliente pode realizar a compra de vários produtos e os
produtos podem ser comprados por vários clientes.
CPF, valor unitário do produto, quantidade comprada, descrição do produto,
nome, data_nasc, data da Compra, telefone, peso bruto, código da Compra,
data_aquisição do produto, endereço, código Produto, hora da Compra,
forma de pagamento.
b) As informações abaixo pertencem a um sistema de uma fabricante de
veículos. Após o veículo ser montado, os pilotos realizam testes em vários
automóveis que são testados por diferentes pilotos. Cada veículo possui um
projetista responsável por sua fabricação.
Tipo de automóvel, código do projetista, descrição das anomalias
encontradas no automóvel em cada teste, Código do automóvel, nome do
piloto, código do piloto, nome do projetista, data de realização do teste,
telefone do piloto.
3. Os Esquemas Relacionais abaixo possuem erros em seus atributos
determinantes. Corrija os erros e faça o respectivo MER para cada um
pensando na melhor modelagem (você pode normalizar o banco com a 1FN).
OBS: caso alguma entidade não possua um atributo apropriado para ser o
determinante, você deve criá-lo.
a)
Aluno (nome, endereço, telefone, data_nascimento, RA)
41
Disiplina(descrição, carga_horária )
Aluno_Disciplina(nota, nome, descrição, código_Professor)
Professor(telefone, código_Professor, formações, salário)
b)
Proprietário(CodProprietario, nome, endereço)
Corretor(Numero_Registro, nome, telefone)
Inquilino(data_Nascimento, nome, telefone, CPF, endereço)
Imóvel(cod_Corretor, CodProprietario, CPF_Inquilino, CodImovel, descrição,
valor).
42
Normalização - 2ª Forma Normal – 2FN
Definição:
“Uma entidade encontra-se na 2FN se e somente se estiver na 1FN e não conter
dependências parciais”
Dependência parcial: um atributo depende funcionalmente apenas de uma parte de
uma chave primária composta.
Exemplo: tabela Empregado_Projeto
CPF_Emp Código_Proj Horas_Trabalho Nome_Emp Nome_Proj Local_Proj
111 1 A 100 Ana Maria SisInf SP
222 2 B 300 Luis Corp RJ
333 1 A 200 Antônio SisInf SP
111 3 C 100 Ana Maria GTI RS
Analisando as depências funcionais dos atributos temos:
Horas_trabalho depende de CPF_Emp e Código_Proj
Nome_Emp depende de CPF_Emp
Nome_Proj depende de Código_Proj
Local_Proj depende de Código_Proj
PROBLEMAS DA 2FN: os atributos Nome_Emp, Nome_Proj e Local_Proj
dependem de apenas um dos atributos da chave primária composta, o que caracteriza
uma dependência parcial. Isso pode gerar alguns problemas na hora de incluir, alterar e
excluir novos dados.
Solucionando o Problema: substituímos a entidade única por três entidades
43
Lista de Exercícios
1. Deixe as tabelas abaixo na 2FN, fazendo a decomposição da tabela e também o
MER:
a)
Num_Ped Cod_Prod Valor_Uni qtd Descrição_Prod
1 222B 5.00 2 Lápis Peppa pig
2 123C 20.00 1 Caderno pokémon
3 444D 2.50 3 Borracha minions
4 777E 6.00 2 Bloco de notas Ben10
b)
CPFPaciente CRM NomePaciente TelefonePaciente Data Hora NomeMedico EndereçoMedico
111111111-x 1 Maurício 38455545 09/09/2016 15:00 José Toledo Rua 5, n 443,Jd. Europa, Campinas, SP
222222222-x 2 Paula 37655776 10/09/2016 09:00 Maria Souza Av Brasil, n 22, Bairro Luz, Leme, SP
333333333-x 1 Fernanda 38233224 11/09/2016 08:30 José Toledo Rua 5, n 443,Jd. Europa, Campinas, SP
444444444-x 3 João 38544566 12/09/2016 14:00 Reinaldo Abreu Rua Itália, n 3,Jd. Nações, SBO
2. Arrume esta bagunça! Abaixo temos todas as informações de um determinado
sistema. Faça o MER para os sistemas, deixando-os normalizados com a 2FN.
a) Sistema para uma biblioteca: o sócio pode fazer o empréstimo de vários
livros e os livros podem estar em vários empréstimos.
44
Matrícula do sócio, nome, email, telefone, endereço, código do empréstimo,
data e horário do empréstimo, data da devolução do empréstimo, código do
livro, código do empréstimo, título da obra, autor, código da seção do livro,
descrição da seção e localização da seção.
b) Agricultor cultiva várias terras e as terras são cultivadas por vários
agricultores
Nome do agricultor, tipo de solo, código do solo, especializações do
agricultor, número da carteira de trabalho, data de início da fertilização, data
de término da fertilização, telefone, fertilizante utilizado.
3. Considere a descrição de um sistema de uma clínica médica abaixo e desenhe um
MER de acordo com as seguintes informações:
O paciente pode realizar vários exames e os exames podem ser realizados por
vários pacientes.
O paciente pode apresentar um convênio médico.
O paciente pode realizar várias consultas, sendo que cada consulta é individual.
O médico atende várias consultas, sendo que cada consulta pode ser realizada
por um médico.
As informações envolvidas são: data e horário do exame, nome do paciente,
CPF do paciente , nome do médico, CRM do médico, data e hora da consulta,
telefone do paciente, tipo de exame, código do convênio, data de nascimento do
paciente, código do exame e código da consulta, tipo do convênio.
45
Normalização - 3ª Forma Normal – 3FN
Definição:
“Uma entidade encontra-se na 3FN se e somente se estiver na 2FN e nenhum
atributo que não seja parte de uma chave primária depender transitivamente da
chave primária”
Dependência transitiva: um atributo, além de depender da chave primária, depende
também de outro atributo que não seja chave.
Ou seja: um atributo não chave não pode depender funcionalmente de outro atributo não
chave.
Exemplo 1: Tabela de Registros para uma entidade Empregado_Departamento
CPF_Emp Nome_Emp Sexo_Emp Codigo_Dep Nome_Dep Gerente_Dep
111 Maria F 1A RH Júlia
222 Paulo M 2B Adm Alberto
333 Luis M 3C Compras Verônica
444 Amanda F 2B Adm Alberto
Analisando as depências funcionais dos atributos temos:
Nome_Emp, depende de CPF_Emp
Sexo_Emp depende de CPF_Emp
Codigo_Dep depende de CPF_Emp
Nome_Dep depende de Codigo_Dep
Gerente_Dep depende de Codigo_Dep
PROBLEMAS DA 3FN: os atributos Nome_Dep e Gerente_Dep dependem do
atributo Codigo_Dep que não é chave primária da tabela. Estes dois atributos possuem
dependência transitiva com a chave primária CPF_Emp, o que não é permitido pela
3FN!
46
Para solucionar o problema: iremos decompor a entidade em duas como mostra
abaixo:
OBS: note que o atributo Codigo_Dep passa a ser uma chave estrangeira em
Empregado.
Exemplo 2: observe a tabela de registros de uma entidade Pedidos
Num_Ped Valor_Uni qtd Total
1 5,00 2 10,00
2 15,00 1 15,00
3 20,00 3 60,00
4 50,00 2 100,00
PROBLEMAS DA 3FN: o atributo Total depende dos atributos não chave Valor_Uni
e qtd, violando, portanto, a 3FN.
Solução para o problema: esse atributo deve ser excluído da entidade. Sua entidade
nunca deve possuir atributos que sejam resultados dependentes de cálculos de outros
atributos.
47
Lista de Exercícios
1. Normalize as tabelas a seguir na 3FN, fazendo também os seus respectivos
MERs:
a) Funcionários
ID NOME ID_CARGO DESCRIÇÃO_CARGO
1 Ronaldo Roberto c12 Atendente
2 Maria Marcela c15 Secretária
3 Pedro Paulo c16 Gerente
4 Fernanda Fabiana c15 Secretária
b) Aluno
MATRÍCULA NOME TELEFONE COD_CURSO DESCRIÇÃO CARGA_HORÁRIA
MA111 Arnaldo Braga 38857575 A Francês 200
MA446 Bianca Ferreira 38861212/987766854 B Espanhol 180
MA187 Rosana Milas 34788779 C Mandarim 350
MA448 Fernando Alberto 33432362 A Francês 200
c) Empregado
COD NOME COD_CAT CATEGORIA SALÁRIO
1111 Luciana Gimenes C2 Gerente 3500
2222 Carlos Alberto C10 assistente administrativo 2000
3333 Renata Amora C10 assistente administrativo 2000
4444 Felipe Castilho C3 Manutenção 1500
d) Artista
ID_ART NOME COD_OBRA DESCRIÇÃO DATA
A_23 Guilherme Arante 123 pintura a óleo 10/05/2014
A_24 Fabíola Toty 100 escultura 02/03/2015
A_25 Laís Levi 123 pintura a óleo 05/05/2016
A_26 Amora
Casagrande 120 pintura acrílica 07/08/2016
48
e) Atleta
COD_ATLETA NOME ENDEREÇO COD_TREINADOR TREINADOR
AT_50 Ana Paula Stoy R. Ivo América, n 66, Jd. Brasil, São Paulo, SP T2 Joana
AT_51 Bruno Carvalho R. Itália,n 555 Campo Belo, Osasco, SP T1 Leandro
AT_52 Luiza Trevis R. Acre, n 89, Jd. Chileno, Mauá, SP T2 Joana
AT_53 Leonardo Ferreira Av.Ana Costa, n 34, Jd. 3 Lagoas, Campinas, SP T3 César Luis
f) Pedidos
NUM_PED COD_PRO DESCRIÇÃO QTD VALOR_UNIT SUBTOTAL
277 1 suco com pastel 3 R$ 6,00 R$ 18,00
278 2 empada de frango 10 R$ 4,00 R$ 40,00
279 3 Coxinha 2 R$ 2,50 R$ 5,00
280 4 salgado 4 R$ 4,00 R$ 16,00
2. Observe os dados envolvidos em um sistema de uma autoescola e faça o MER
normalizado na 3FN:
CPF_Aluno Nome_Aluno Endereço_Aluno CodCurso Data_Início Data_Termino CodCat Categoria
ValorCategoria CodInstrutor NomeInstrutor telefoneIns
OBS: considere que o aluno pode fazer vários cursos.
49
ANEXO – Avaliações e Trabalhos
ETEC DEPUTADO ARY DE CAMARGO PEDROSO
Disciplina: Técnicas e Linguagens para Banco de Dados I Conteúdo: MER
Professores: Alessandro/Mayara Data: 01/04/2016
Com base na descrição textual abaixo, elabore o MER:
Uma clínica deseja construir um banco de dados para registrar os
pacientes consultados por seus médicos. Os pacientes possuem
nome, data de nascimento, naturalidade, filiação (nome do pai e da
mãe), CPF, RG e endereço. Cada paciente pode realizar uma ou
mais consultas em um horário agendado para a mesma. A consulta
é identificada pelo código da consulta, data da consulta e valor.
Cada consulta pode possuir um ou mais Exames. Os médicos
possuem o CRM, nome, endereço, data de nascimento e fones de
contato. Esses possuem uma especialidade. Cada especialidade é
identificada por um código e descrição. Existem vários tipos de
exames: exame cardiológico, exame de sangue e etc.. Esses
possuem descrição do tipo de exame e valor, e podem ser
realizados em diversas consultas. Vale ressaltar que alguns
pacientes possuem Convênio Médico e podem utilizá-lo na
consulta. O convênio é identificado por um código, nome do
convênio, tipo de convênio (podendo o mesmo ser básico, completo
ou ainda premium) e fone de contato. Lembre-se de que cada
paciente é atendido individualmente na consulta, não sendo
permitido 2 ou mais pacientes serem atendidos juntos.
50
TRABALHO EM GRUPO – TLBD I – 2º Bimestre
O que é um Arquiteto de Banco de Dados?
A pessoa responsável pela arquitetura e administração dos dados de uma
organização.
No caso, a arquitetura envolve desde a arquitetura de sistemas de bases de
dados até a modelagem dos dados e sua manutenção; e a administração seria mais
especificamente a manutenção dos modelos e dicionários de dados.
Curiosidade
Um Arquiteto de Banco de Dados pode receber um salário de até R$ 169 mil ao
ano, o que, em meses, representa remuneração de R$ 14 mil. De acordo com o Guia
Salarial 2012, elaborado pela multinacional de recrutamento e seleção Hays em parceria
com o Insper Instituto de Ensino e Pesquisa, a capital paulista possui as maiores
remunerações. Também foram levantados dados de Campinas. Os valores partem de R$
84,5 mil ao ano em Campinas, o que representa R$ 7 mil ao mês.
Fonte: https://profissoesemti.wordpress.com/2009/11/21/entrevista-arquiteto-de-dados/
Não existe sistema sem dados! Por isso a modelagem de dados é essencial para o
bom desempenho de qualquer sistema. Neste trabalho, o grupo deverá escolher um
sistema para ser modelado (por exemplo: sistema para clínica veterinária, controle de
compra e venda de produtos em uma loja, campeonato de futebol, loja de videogames,
etc.). A partir desse sistema, o grupo deverá elaborar sua modelagem com os seguintes
itens:
• MER
• Esquema Relacional
• Dicionário de Dados
Grupo: no máximo 2 integrantes.
Realização da atividade: 10/06 e 17/06 (Cuidado! grupos que não fizeram nada em
sala de aula terão seus trabalhos anulados!).
Data de entrega: 24/06 (organização e capricho serão levados em conta)
51
UMA DICA: O bom arquiteto de dados deve buscar as informações para entender o
sistema que está modelando. Pesquise sobre seu sistema e entenda seu funcionamento
para realizar um trabalho consistente!
Avaliação TLBD – 2º Bimestre
ETEC DEPUTADO ARY DE CAMARGO PEDROSO
Nome:____________________________________________ Turma:_______
Disciplina: Técnicas e Linguagens para Banco de Dados I Conteúdo: Mer/DD
Professores: Alessandro/Mayara Data: 03/06/2016
1. Defina o que é uma chave estrangeira e qual sua utilidade na
modelagem de dados.
2. Defina o que é uma chave composta e qual sua utilidade na modelagem
de dados.
3. Cite as classes de atributos existentes na modelagem de dados e
explique a diferença entre elas.
4. Uma indústria farmacêutica possui mais de 1000 funcionários que
participam de vários projetos. Devido à rápida expansão de seus
negócios, ela necessita de um banco de dados para armazenamento de
suas informações. Os empregados da empresa estão ligados a um
departamento da mesma e a cada um deles estão associados a
matrícula, nome, RG, CPF, endereço, sexo, telefone, data de admissão,
cargo e salário. Os projetos que os funcionários participam em conjunto
são identificados com um código, a descrição do mesmo, sua carga
horária prevista e sua data de início e término. Os departamentos
possuem um nome e uma sigla. Faça o MER,o Esquema Relacional e o
Dicionário de Dados para o sistema descrito.
52
Trabalho TLBD – 3º Bimestre
Com base em dois conteúdos vistos em sala de aula neste bimestre:
agregação na entidade associativa e generalização/especialização, elabore
um MER para um sistema de sua escolha. Você deve ser criativo na
escolha do seu tema (evite usar exemplos já passados em sala), e deve
procurar encaixar em seu MER os conteúdos aprendidos durante as aulas.
Mas atenção! Procure não fazer associações erradas, criando
relacionamentos desnecessários ou impossíveis (conceitos errados afetarão
a nota do trabalho).
O trabalho será realizado em dupla, sendo permitido consulta ao
material disponibilizado nas aulas, devendo ser elaborado no brModelo e
apresentado ao professor na mesma aula.
53
Avaliação TLBD – 3º Bimestre
Nome:____________________________________________ Turma:_______
Disciplina: Técnicas e Linguagens para Banco de Dados I Conteúdo: MER
Faça o MER para o sistema descrito:
O Sports Life Club é um clube esportivo que está pretendendo realizar
uma campanha para ampliar o seu quadro de sócios. A Secretaria e a
Tesouraria utilizam métodos convencionais de controle de venda de seus
títulos, e deseja um sistema informatizado que auxilie esse processo.
Todo título possui um preço, sendo que os especiais têm direito a vaga
exclusiva de estacionamento e um orientador esportivo dedicado ao sócio. Os
sócios que adquirirem um título padrão possuirão um número máximo de
atividades permitidas, válidas enquanto a data de expiração do mesmo não for
atingida. Os vendedores responsáveis por suas vendas são cadastrados com
todas as suas informações pessoais, e os sócios podem cadastrar seus
dependentes para usufruírem das atividades do clube enquanto seus títulos
estiverem ativos, bastando para isso fornecerem nome e data de nascimento
dos mesmos.
Quanto às atividades que os sócios podem realizar, é importante
armazenar o tipo e o código das mesmas. Para participar de uma atividade, é
necessário que o sócio realize a matrícula em uma turma da atividade
desejada, em um determinado dia da semana e horário. Por exemplo, caso o
sócio queira participar das atividades de natação e futebol de salão, ele deve
procurar turmas que estejam em dias e horários disponíveis.
Para assegurar o profissionalismo de seu clube, o gerente fará a
contratação de instrutores que acompanharão os sócios, podendo estes
acompanharem várias turmas durante o dia. Eles serão contratados com
carteira registrada, devendo ser armazenados, além das informações pessoais,
54
o PIS e o número de sua carteira de trabalho. Para o sócio é muito importante
armazenar nome, CPF, a data de nascimento, endereço e telefone.
Avaliação TLBD – 4º Bimestre
Disciplina: Técnicas e Linguagens para Banco de Dados I Conteúdo: MER e
Normalização
1. Explique a importância da normalização para a modelagem de um Banco de
Dados.
2. Defina a 1ª Forma Normal.
3. Defina a 2ª Forma Normal.
4. Defina a 3ª Forma Normal.
5. Defina os tipos de dependências funcionais vistos nas Formas Normais.
6. Uma oficina mecânica deseja informatizar seu sistema. Os clientes levam seus
automóveis na oficina, e os mesmos recebem uma ordem de serviço onde um mecânico
é responsável pelo conserto. Faça o MER para o sistema, sabendo que as seguintes
informações estão envolvidas:
Código, CPF, nome, endereço e telefone do cliente. Número da Ordem de Serviço,
placa do carro, marca e modelo do carro, data de emissão da Ordem de serviço e data de
finalização do trabalho, ano e cor do automóvel, CPF do mecânico, nome e telefone do
mesmo, bem como o preço cobrado pelo serviço.
7. Dado o MER de uma clínica veterinária, aplique a normalização e refaça o
modelo abaixo. Ao final, indique para cada nova entidade criada qual foi a forma
normal que você utilizou :
55
56
TRABALHO TLBD – 4º BIMESTRE
Uma empresa deseja informatizar o controle dos projetos realizados por seus funcionários. A diretoria (que não prezava nem um pouco pela organização de
seus documentos) organizava todas as informações em uma planilha como a seguinte:
CodProj Tipo Descrição CodEmp Nome Formação Categoria Salário DataInicio Horas
Projeto Horas
Mensal
LSC001 sistema de estoque Organização de materiais 2146 José Augusto Louveiro Administração C1 R$ 3.000,00 12/06/2014 10 40
LSC001 sistema de estoque Organização de materiais 3145 Mariana Ferreira Volpe
Logística Administração A2 R$ 1.500,00 05/02/2013
10 40
LSC001 sistema de estoque Organização de materiais 6126 Isabela Alencar Oliveira Logística B1 R$ 2.000,00 10/10/2016 20 80
LSC001 sistema de estoque Organização de materiais 1214 Marcela Pacheco Logística A2 R$ 1.500,00 25/01/2013 20 80
LSC001 sistema de estoque Organização de materiais 8191 Fernando Ipiranga Rochedo
Segurança do Trabalho A1 R$ 1.300,00 15/05/2014
10 40
PAG02 RH Treinamento de pessoal 2146 José Augusto Louveiro Administração C1 R$ 3.000,00 01/03/2016 15 60
PAG02 RH Treinamento de 4112 Eduardo Campari Neto RH A2 R$ 1.500,00 08/09/2015 20 80
PAG02 RH Treinamento de pessoal 6126 Isabela Alencar Oliveira RH
Administração B1 R$ 2.000,00 10/06/2014 05 20
SISInfo Informática desenvolvimento de software 9090 Daiane Souza Cesario TI C1 R$ 3.000,00 01/02/2015 30 120
SISInfo Informática desenvolvimento de software 2075 Arnaldo Coelho Limoneto TI B2 R$ 2.500,00 18/02/2016 25 100
SISInfo Informática desenvolvimento de software 6661 Gustavo Xisto Filho TI
Gestão C1 R$ 3.000,00 10/06/2015 10 40
SISInfo Informática desenvolvimento de software 1233 Ana Luiza Belmonte TI A2 R$ 1.500,00 15/08/2014 25 100
RP100 Marketing Criação depropaganda 655 Isabela Cordeiro Vaz Publicidade C1 R$ 3.000,00 02/02/2013 20 80
RP100 Marketing Criação depropaganda 4455 Reginaldo Junqueira Lima Publicidade B1 R$ 2.000,00 15/07/2015 15 60
OBS: o campo DataInicio diz respeito à data em que o empregado iniciou o projeto, o campo HorasProj às horas que o empregado cumpre em seu projeto e
o campo HorasMensal representa a quantidade de horas total que o empregado trabalha por mês (HorasProj*4)
Essa é a sua oportunidade de mostrar para a empresa que você é um bom projetista de Banco de Dados! Organize essa bagunça e crie o MER mais adequado
para a situação no brModelo. Crie também as respectivas Tabelas de Registros para o Banco.
O trabalho pode ser feito em dupla, com consulta ao material, mas sem o auxílio do professor.
57
ATIVIDADE EXTRA 4º BIMESTRE
Com base em todas as formas normais estudadas, faça o MER com o Dicionário de Dados (lembre-se
que o DD descreve atributo, descrição, domínio (texto, data, número ou moeda), tamanho e classe do
atributo para cada entidade) para o Banco de Dados descrito abaixo:
O DETRAN deseja constituir um banco de dados para controlar as infrações ocorridas no estado. Os
veículos são identificados pela placa e também descritos por chassi, cor predominante, modelo,
categoria e ano de fabricação. Cada veículo possui um único proprietário, que é identificado por seu
CPF. Deve-se saber o nome, endereço, bairro, cidade, estado, telefone (vários), sexo, data de
nascimento e idade. Todo veículo possui um único modelo; por exemplo, GOL MI, GOL 1.8, UNO CS,
etc. Cada modelo é codificado por um número de 6 dígitos. Similarmente ao modelo, uma categoria
deve ser atribuída a cada veículo; por exemplo, AUTOMÓVEL, MOTOCICLETA, CAMINHÃO, etc.
Cada categoria é codificada por um número de 2 dígitos. Existem diversos tipos de infração, AVANÇO
DE SINAL VERMELHO, PARADA SOBRE A FAIXA DE PEDESTRES, etc, cada uma identificada pelo
código associado. A cada tipo de infração é associado um valor que deverá ser cobrado na ocorrência
de infração. Uma infração é identificada pelo veículo infrator, data/hora e tipo de infração. Também é
importante conhecer o local, velocidade aferida e agente de trânsito. Cada local é descrito pelo código,
posição geográfica e velocidade permitida; um local é geralmente referenciado por seu código. Um
agente de trânsito é conhecido através de sua matrícula, sendo também descrito pelo nome, data de
contratação e tempo de serviço.
top related