Buscar

Rota Aprendizagem Aula04

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 15 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 15 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 15 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

Rota de Aprendizagem 
Banco de Dados 
Aula 04 
Perfil: 
Martin José Fagonde Morães. 
Possui Mestrado em Engenharia de Produção pela Universidade Federal de Santa 
Catarina – UFSC (2001), graduado em Processamento de Dados (1997). Atua como 
professor nos componentes curriculares de desenvolvimento de sistemas há mais de 15 
anos. Foi coordenador de cursos de graduação e de pós-graduação. Atuou na área de TI 
por mais de 18 anos como: coordenador de TI, consultor e desenvolveu e implementou 
sistemas diversos sistemas. Currículo Lattes: http://lattes.cnpq.br/2746554350570335 
 
AULA 04 – No Modelo Conceitual 
 
Introdução: 
HEUSER (2009, p. 29) define a etapa do projeto lógico dizendo: “...a etapa de projeto 
lógico objetiva transformar o modelo conceitual obtido na primeira fase em um modelo lógico. 
O modelo lógico define como o banco de dados será implementado em um SGDB 
específico”. 
O SGDB que estamos trabalhando é do tipo relacional. Então converteremos o DER, 
em um modelo lógico, utilizando a abordagem relacional. 
A representação da abordagem relacional pode ser em linguagem textual ou gráfica. 
Considerando que a maioria dos profissionais utilizam linguagem gráfica, demonstraremos 
desta forma. 
Nesta aula estudaremos os conceitos da abordagem relacional e como representá-
los graficamente. Na próxima unidade demonstraremos como criar um modelo lógico, 
utilizando a abordagem relacional, a partir de um modelo conceitual. 
Contextualizando: 
Abordagem, como explica o prof. HEUSER (2009, p. 25) é o conjunto de conceitos 
usados para construir modelos. 
 
Rota de Aprendizagem 
Banco de Dados 
Aula 04 
Os principais elementos utilizados na abordagem relacional são: tabelas, campos e 
chaves. 
Nos modelos que são criados as tabelas, campos e chaves, recebem nomes 
conforme o assunto que está sendo modelado. Os nomes dados para identificar cada 
elemento, deve seguir as especificações do SGDB. Geralmente não são aceitos os 
caracteres especiais. São válidos os caracteres de letras maiúsculas e minúsculas, os 
caracteres numéricos e o caractere underline ( _ ). 
Tabela 
Perceber os dados dispostos em linhas e colunas, facilita a abstração, nos é mais 
familiar. HEUSER (2009, p. 120) define tabela como “é um conjunto não ordenado de linhas 
(tuplas, na terminologia acadêmica)”. 
Na Tabela 1, podemos identificar duas colunas, uma linha com o nome da tabela, 
outra linha com a identificação das colunas e três linhas de dados. 
Tabela 1 Exemplo de Tabela de Usuário 
usuario 
id Nome 
1 Pedro 
2 Maria 
3 João 
 
As entidades do modelo conceitual são convertidas em tabelas. 
Campos 
O encontro de uma coluna com uma linha é denominado de campo. Considerando 
a Tabela 1 podemos identificar os nomes dos campos. Temos lá os nomes dos campos “id” 
e “Nome”. 
No cabeçalho da coluna tem-se o nome do campo e no campo o valor do campo. 
Faz-se menção a um campo indicando o nome e o valor do mesmo. Quando o valor fala for 
si mesmo não se faz menção ao nome do campo. Veja os seguintes exemplos: 
 
 
Rota de Aprendizagem 
Banco de Dados 
Aula 04 
Pouco usual: 
 O usuário de nome Pedro. 
Mais usual: 
 O usuário Pedro. 
 O id 2 é do usuário Maria. 
 O id do Pedro é 1. 
No dia-a-dia é frequente a utilização do nome do campo referindo-se a uma coluna. 
Exemplo: 
 O campo id só deve conter números. 
 O campo id é um campo chave. 
 O campo id é do tipo inteiro. 
 
Os campos de uma tabela são definidos para o tipo de dados que vão receber, em 
banco de dados estes tipos de dados são chamados de domínios. KROENKE (1999, p. 23) 
define domínio como “Um domínio é um conjunto de valores que uma coluna pode ter”. 
O termo domínio é mais encontrado na literatura e nas ferramentas clássicas, é usual 
a expressão “tipo” para expressar a mesma ideia. Cada SGDB tem suas regras e definições 
para os domínios que dispõem. Na próxima unidade apresentaremos os principais domínios 
para o SGDB MySQL. 
 
Os atributos do modelo conceitual são convertidos em colunas (campos) na tabela. 
 
Registros, linhas ou tuplas 
Os termos registros, linhas e tuplas são análogos, ou seja, expressam a mesma 
ideia. Expressam o conjunto de dados da mesma ocorrência. 
 
Rota de Aprendizagem 
Banco de Dados 
Aula 04 
 
Tabela 2 Tabela usuario. 
usuario 
id Nome 
1 Pedro 
2 Maria 
3 João 
 
As ocorrências em uma entidade no modelo conceitual, serão os registros em tabela. 
 
Chaves 
Na abordagem relacional trabalha-se com chave primária e chave estrangeira. 
Chave primária, do inglês primary key, é definido por HEUSER (2009, p. 122) como 
“uma coluna ou uma combinação de colunas cujos valores distinguem uma linha das demais 
dentro de uma tabela”. 
Os identificadores no modelo conceitual, são convertidos para chaves primárias no 
modelo lógico. 
 
As chaves estrangeiras são conceituadas por HEUSER (2009, p. 123) como “...uma 
coluna ou uma combinação de colunas, cujos valores aparecem necessariamente na chave 
primária de uma tabela. A chave estrangeira é o mecanismo que permite a implementação 
de relacionamentos em um banco de dados relacional”. 
Vamos exemplificar e discutir as chaves estrangeiras quando estudarmos os 
relacionamentos e as cardinalidades. 
Neste contexto é oportuno citarmos as chaves compostas. O termo indica a 
composição de dois ou mais campos para formar uma chave primária. Deve-se considerar 
muito antes de optar por utilizar uma chave composta. É preferível optar por chaves primárias 
formadas por um campo. 
 
Rota de Aprendizagem 
Banco de Dados 
Aula 04 
Relacionamentos e Cardinalidades 
Os relacionamentos e as cardinalidades máximas são utilizados para definir como 
os registros vão se relacionar através das chaves estrangeiras, processo extremamente 
necessário para formarmos nosso modelo lógico relacional. 
A cardinalidade máxima dos relacionamentos nos indicam como converter os 
relacionamentos do modelo conceitual em relacionamentos no modelo lógico. 
Os relacionamentos no modelo lógico, utilizando a abordagem relacional, são por 
meio de chaves estrangeiras. As chaves estrangeiras podem ser criadas nas tabelas que já 
existam ou podem requerer que seja criada uma nova tabela. 
 
Cardinalidade Máxima 1:n ou n:1 
Para exemplificar considere a Figura 1 e Figura 4:2, onde um usuário pode enviar 
várias mensagens. 
 
 
 
 
 
 
 
 
 
Usuários Mensagens Envia 
(1,n) (1,1) 
Figura 1 Contexto para relacionamento e cardinalidade. 
 U1 
 U2 
 U3 
 Un 
 M11 
 M12 
 M13 
 M20 
 Mn 
Figura 4:2 exemplificando usuários e mensagens. 
 
Rota de Aprendizagem 
Banco de Dados 
Aula 04 
Na Figura 4:2 podemos identificar que o usuário U1 enviou a mensagem M11. 
Podemos identificar também que o usuário U3 enviou as mensagens M12 e M20. 
Para mantermos esta relação em tabelas, utiliza-se uma chave estrangeira. Veja na 
Figura 3 onde temos uma tabela de usuários e uma tabela de mensagens. Para identificar o 
usuário que enviou a mensagem foi acrescida a coluna “Id_usuario”, este novo campo 
contém o valor do campo chave do referido usuário. 
As representações das Figura 4:2 e Figura 3 são similares, a primeira faz o 
relacionamento por setas, na segunda o relacionamento é indicado por uma chave 
estrangeira. 
A chave estrangeira faz referência a respectiva chave primária da outra tabela, que 
está no relacionamento. 
A mensagem de id 12 foi enviada pelo usuário de id 3, encontramos isto olhando 
para o campo “Id_usuario” no mesmo registro em que encontramos o id 12 da mensagem. 
Parasaber o nome do usuário cujo id é 3, vamos procurar o registro na tabela 
“usuario” cujo id seja 3, no campo “Nome” desse mesmo registro encontramos o nome do 
usuário. 
Figura 3 Tabelas exemplificando relacionamento. 
usuario mensagem 
Id Nome Id Texto Id_usuario 
1 A 11 Xxx 1 
2 B 12 Yyyy 3 
3 C 13 Vvvvv 2 
 20 Kkkkkk 3 
 
 
Converter o modelo conceitual (Figura 1), para o modelo lógico (Figura 3) foi 
acrescido uma coluna na tabela mensagem. A cardinalidade máxima deste relacionamento 
 
Rota de Aprendizagem 
Banco de Dados 
Aula 04 
é 1:n, ou seja, um para muitos. Para esta cardinalidade a indicação é a criação de uma 
coluna na tabela que recebe a notação de muitos. 
 
 
Cardinalidade Máxima 1:1 
Vamos considerar o seguinte senário. Um trabalhador, tem que ter uma conta de 
FGTS e uma conta de FGTS pertence ao máximo a um trabalhador. Neste senário a 
cardinalidade máxima é 1:1. 
 
Ao convertermos para o modelo lógico, seguindo a abordagem relacional, teremos 
duas tabelas, sendo elas “Trabalhador” e “Conta_FGTS”, veja na Figura 5 Tabelas com 1:1. 
Figura 5 Tabelas com 1:1. 
Trabalhador Conta_FGTS 
Id Nome conta titular 
1 A 342 A 
2 B 547 B 
 
Ao considerarmos as cardinalidades para determinar os relacionamentos, 
encontraremos a cardinalidade máxima 1:1, nesta situação é recomendado considerar 
primeiramente a possíbilidade de unificar as tabelas. Ficando todos os atributos das duas 
tabelas em uma, veja Figura 0:6. 
 
Trabalhador tem Conta FGTS 
(1,1) (1,1) 
Figura 0:4 Cardinalidade máxima 1:1. 
 
Rota de Aprendizagem 
Banco de Dados 
Aula 04 
Figura 0:6 Unificando tabelas 1:1. 
Trabalhador 
Id Nome Conta_FGTS 
1 A 342 
2 B 547 
 
Na unificação das tabelas “Trabalhador” e “Conta_FGTS” da Figura 5, resultado na 
tabela “Trabalhador” da Figura 0:6, a coluna “Nome” da tabela Trabalhador e a coluna “titular” 
da tabela Conta_FGTS são os mesmos campos. Na tabela resultante foi mantido um dos 
dois. 
Para a cardinalidade 1:1 é recomendado considerar a unificação das tabelas, mas 
também pode ocorrer a necessidade de manter as duas tabelas. Nestes casos é aplicável a 
adição de uma coluna para a chave estrangeira da outra tabela. 
 
 
Cardinalidade Máxima n:n 
A cardinalidade máxima n:n, ocorre quando temos muitas ocorrências de ambas 
entidades, veja na Figura 4:7. 
 
 
 
 
 
Nesta situação a indicação é a criação de uma tabela de relacionamento. 
Na Figura 8 vemos a transformação das entidades “Pessoas” e “Filmes”, da Figura 
4:7, em tabelas. As relações entre os registros estão definidas em uma tabela adicional que 
contem chave estrangeira para pessoa e para filme, relacionando as múltiplas ocorrências. 
Pessoas Filmes empresta 
(0,n) (1,n) 
Figura 4:7 Cardinalidade n:n. 
 
Rota de Aprendizagem 
Banco de Dados 
Aula 04 
Figura 8 Tabelas com n:n. 
pessoa empresta filme 
id Nome idPessoa idFilme id Nome 
1 Pedro 2 102 101 A 
2 Maria 3 101 102 B 
3 João 3 102 103 C 
 2 101 104 D 
 
Considerações 
HEUSER (2009, p. 134), apresenta na Figura 9 considerações na aplicação das 
cardinalidades na conversão entre os modelos. Para cada alternativa de: “Tabela própria”, 
“Adição de coluna” ou “Fusão de tabela” ele indica se a alternativa é a preferida, ou se pode 
ser usada, ou não usar. 
 
Rota de Aprendizagem 
Banco de Dados 
Aula 04 
Figura 9 Tabela de conversão. 
 
 
Pesquisa 
Agora que acabou de conhecer a abordagem relacional, identifique pesquisando ou 
conversando com profissionais da área, as representações de modelo lógico e as tabelas, 
os campos e as chaves. 
 
Rota de Aprendizagem 
Banco de Dados 
Aula 04 
Trocando Ideias 
Compartilhe com os colegas, através do fórum, representações de modelo lógico 
que encontrou durante sua pesquisa. 
Síntese 
O modelo lógico, pode ser gerado a partir da descrição dos usuários, de um 
diagrama de classes, ou de uma base de dados já existente. 
A elaboração de um modelo lógico para um SGDB relacional é utilizando os 
conceitos e técnicas (abordagem) relacional, na qual utiliza tabelas, campos e chaves. 
A relação da abordagem ER com a abordagem relacional são as entidades com as 
tabelas, os atributos com os campos, os identificadores com as chaves primárias e os 
relacionamentos com as chaves estrangeiras. 
Muitos profissionais experientes, ao projetarem uma base de dados elaboram 
diretamente o modelo lógico, abstraindo o modelo conceitual. 
Compartilhando 
Crie o modelo lógico do seu modelo conceitual, elaborado na aula anterior, utilizando 
a abordagem relacional. Apresente-o para um colega e juntamente validem o modelo. 
Autoavaliação 
1. Considere o seguinte texto sobre as tabelas. 
As tabelas se assemelham a planilhas, pois na visão dos usuários as vemos como linhas e colunas. 
HEUSER (2009, p. 120) define tabela como “é um conjunto não ordenado de linhas (tuplas, na 
terminologia acadêmica)”. 
A referência a não ordenados, significa que os registros são inseridos sequencialmente e a 
ordenação é realizada na recuperação dos dados. 
 
Analise as seguintes afirmativas. 
I. Pode-se afirmar que as tabelas agrupam dados referente as mesmas entidades. 
II. As tabelas podem crescer verticalmente até a capacidade do SGDB. 
III. As entidades no modelo conceitual se tornam tabelas no modelo lógico. 
IV. Toda tabela tem de ser representada em um retângulo no modelo lógico. 
Considerando a solicitação do usuário assinale a sequência das afirmativas corretas. 
a) Somente as afirmativas I e II estão certas. 
b) Somente as afirmativas II e III estão certas. 
c) Somente as afirmativas I, II e III estão certas. 
 
Rota de Aprendizagem 
Banco de Dados 
Aula 04 
d) Somente as afirmativas I e IV estão certas. 
e) Somente a afirmativa II está certa. 
 
Resposta: A alternativa “c” está certa. 
 
2. Considere o seguinte texto sobre campos de uma tabela. 
Na abordagem relacional, os campos são os atributos identificados no modelo conceitual. Eles 
são vistos como dados de um registro que serão armazenados de forma estruturada. 
Os dados que os campos contem, são acessados por sistemas para gerarem informações aos 
usuários. 
 
Analise as seguintes afirmativas. 
I. Os dados nunca podem ser repetidos em outros registros. 
II. Uma tabela sem campos, não tem utilidade na aplicação. 
III. Os campos de uma ocorrência na tabela formam um registro da tabela. 
IV. Os campos têm um domínio definido conforme sua aplicação. 
 
Considerando a solicitação do usuário assinale a sequência das afirmativas corretas. 
a) Estão corretas as afirmativas II, III e IV. 
b) Estão corretas somente as alternativas I, III e IV. 
c) Somente estão corretas as alternativas II e III. 
d) Estão corretas as afirmativas III e IV. 
e) Estão corretas as afirmativas II e IV. 
Resposta: A afirmativa “a” está correta. 
 
3. Considere a seguinte representação de uma tabela de usuário para responder o que se pede. 
Usuário 
id Nome 
1 Pedro 
2 Maria 
3 João 
 
 
Analise as seguintes sentenças e assinale V para as verdadeiras e F para as falsas considerando a 
tabela usuário. 
( ) A tabela usuário tem uma chave primária e estrangeira no campo id. 
( ) O id de valor 1 e o nome com valor Pedro formam uma tupla. 
( ) Os id 1, 2 e 3 formam um registro. 
 
Rota de Aprendizagem 
Banco de Dados 
Aula 04 
( ) id e Nome também são referência para coluna. 
 
Considerando a solicitação do usuário assinale a sequência das afirmativas corretas. 
a) F, F, F, F. 
b) V, F, F, F. 
c) F, V, F, V. 
d) V, V, F, F. 
e) V, F, V, F.Resposta: A afirmativa “c” está correta. 
 
4. Leia e analise. 
Os relacionamentos e as cardinalidades máximas são utilizados para definir como os registros 
vão se relacionar através das chaves estrangeiras. As seguintes representações para a tabela 
cliente e dependente estão relacionadas pela chave estrangeira “Id_ cliente” da tabela 
dependente que faz referência ao “Id” do cliente, que é uma chave primária para cliente. 
cliente dependente 
Id Nome Id Nome Id_cliente 
1 A 11 Xxxx 1 
2 B 12 Yyyy 3 
3 C 13 Vvvv 2 
 20 Kkkk 3 
 
Analise as seguintes afirmativas e a relação entre elas. 
I. Os dependentes “Yyyy” e “Kkkk” são dependentes do cliente “C”. 
 
Porque 
 
II. O campo “Id” da tabela cliente é uma chave primária. 
A respeito dessas assertivas e das representações das tabelas cliente e dependente, assinale a opção 
correta. 
a) Ambas assertivas estão corretas, mas não se complementam. 
b) As assertivas estão certas e se complementam. 
c) A assertiva I é uma proposição falsa e a II é verdadeira. 
d) A assertiva I está certa e a assertiva II está errada. 
e) Ambas assertivas estão erradas. 
 
 
 
Rota de Aprendizagem 
Banco de Dados 
Aula 04 
Resposta: A opção correta é a letra “a”. 
 
1. Leia e analise. 
Os relacionamentos e as cardinalidades máximas são utilizados para definir como os registros 
vão se relacionar através das chaves estrangeiras. As seguintes representações para a tabela 
cliente e dependente estão relacionadas pela chave estrangeira “Id_ cliente” da tabela 
dependente que faz referência ao “Id” do cliente, que é uma chave primária para cliente. 
cliente dependente 
Id Nome Id Nome Id_cliente 
1 A 11 Xxxx 1 
2 B 12 Yyyy 3 
3 C 13 Vvvv 2 
 20 Kkkk 3 
 
 
Analise as seguintes afirmativas, referentes as representações das tabelas cliente e dependente. 
I. A cardinalidade máxima é 1:n indicando que dependente sempre está relacionado a um 
cliente. 
II. A cardinalidade mínima é 1:1 indicando que todo cliente está relacionado a um dependente. 
III. A cardinalidade mínima é 1:0 indicando que todo dependente está relacionado somente a 
um cliente. 
IV. A cardinalidade mínima é 1:0 indicando que todo cliente pode estar relacionado a um 
dependente. 
 
Considerando a solicitação do usuário assinale a sequência das afirmativas corretas. 
a) Estão corretas somente as alternativas I, III e IV. 
b) Somente estão corretas as alternativas II e III. 
c) Estão corretas as afirmativas III e IV. 
d) Estão corretas as afirmativas II e IV. 
e) Estão corretas as afirmativas II, III e IV. 
 
Resposta: A opção correta é a letra “c”. 
Referências 
O Livro Base, o mais indicado, está disponível na BV (Biblioteca Virtual) no link: 
http://uninter.bv3.digitalpages.com.br/users/publications/9788579360855/pages/_1 
 
Além deste há mais de 30 outros títulos, entre eles: 
 
Rota de Aprendizagem 
Banco de Dados 
Aula 04 
http://uninter.bv3.digitalpages.com.br/users/publications/9788582122181/pages/-4 
http://uninter.bv3.digitalpages.com.br/users/publications/9788543006833/pages/-12 
http://uninter.bv3.digitalpages.com.br/users/publications/9788544302583/pages/-2 
http://uninter.bv3.digitalpages.com.br/users/publications/9788534613248/pages/_1 
http://uninter.bv3.digitalpages.com.br/users/publications/9788534614719/pages/_1 
 
HEUSER, Carlos Alberto (Org.). Projeto de banco de dados. 6. ed. Porto Alegre (RS): Bookman, 2009.xii, 282. 
KROENKE, David M. (Org.). Banco de Dados: Fundamentos, Projeto e Implementação. 6. ed. Rio de Janeiro - 
RJ: LCT, 1999.

Continue navegando