# INFORMÁTICA - TAREFA 287 - TRILHA 11 - AULA 20 - curso-161002-aula-20-grifado-4490

158 Pages • 35,205 Words • PDF • 20.3 MB

This document was submitted by our user and they confirm that they have the consent to share it. Assuming that you are writer or own the copyright of this document, report to us by using this DMCA report button.

Sumário Modelagem Conceitual ............................................................................................................................. 5 1 – Modelo Entidade-Relacionamento ................................................................................................ 5 1.1 – Entidade ..................................................................................................................................... 9 1.2 – Relacionamento....................................................................................................................... 15 1.3 – Atributos................................................................................................................................... 25 1.4 – Desafio Final ............................................................................................................................ 29 2 – Notação Pé-de-Galinha (Crow’s Foot) ......................................................................................... 31 Resumo ..................................................................................................................................................... 34 Questões Comentadas ............................................................................................................................ 38 Lista de Questões .................................................................................................................................... 70 Gabarito .................................................................................................................................................... 87 Modelagem Lógica .................................................................................................................................. 89 1 – Modelo Relacional ......................................................................................................................... 90 2 – Tabelas ............................................................................................................................................ 91 3 – Álgebra Relacional ......................................................................................................................... 95 3.1 – Seleção ( σ)................................................................................................................................ 96 3.2 – Projeção (π) .............................................................................................................................. 97 3.3 – Produto Cartesiano (X)............................................................................................................ 98 3.4 – Junção (⋈) .............................................................................................................................. 100 3.5 – União (⋃) ................................................................................................................................ 102

3.6 – Intersecção (∩) ....................................................................................................................... 104 3.7 – Diferença (-)............................................................................................................................ 105

1

158

4 – Visões (Views) ............................................................................................................................... 108 5 – Índices (Index)............................................................................................................................... 112 6 – Chaves ........................................................................................................................................... 114 7 – Relacionamentos .......................................................................................................................... 118 7.1 – Relacionamento Um-Para-Um (1:1) ..................................................................................... 118 7.2 – Relacionamento Um-Para-Muitos (1:N) ............................................................................... 119 7.3 – Relacionamento Muitos-Para-Muitos (N:N) ........................................................................ 119 Resumo ................................................................................................................................................... 122 Mapa Mental .......................................................................................................................................... 126 Questões Comentadas .......................................................................................................................... 132 Lista de Questões .................................................................................................................................. 150 Gabarito .................................................................................................................................................. 158

2

158

3

158

Meus queridos, é chegado o momento de ver como banco de dados funcionam de uma maneira um pouco mais prática. Nós vamos entender como podemos modelar dados para que eles possam ser representados no banco de dados e vamos descobrir diversas características que eu acredito que vocês nem saibam que existe. Lembrem-se de que bancos de dados estão por toda parte. Aula difícil, Diego? Não é difícil, mas é uma aula que precisa de um pouco mais de atenção \o/

Galera, todos os tópicos da aula possuem Faixas de Incidência, que indicam se o assunto cai muito ou pouco em prova. Diego, se cai pouco para que colocar em aula? Cair pouco não significa que não cairá justamente na sua prova! A ideia aqui é: se você está com pouco tempo e precisa ver somente aquilo que cai mais, você pode filtrar pelas incidências média, alta e altíssima; se você tem tempo sobrando e quer ver tudo, vejam também as incidências baixas e baixíssimas. Fechado?

4

158

5

158

6

158

Exemplo de Diagrama de Entidade-Relacionamento (DER)

7

158

8

158

Informalmente, uma entidade é qualquer objeto que existe e pode ser distinguido de outros objetos1. Pode representar uma pessoa, lugar, evento, objeto ou conceito no mundo real que planejamos modelar no banco de dados. Pode ser um objeto concreto/físico ou lógico/abstrato. O primeiro é tangível e visível no mundo real como Pessoa, Carro, etc; e o segundo decorre da interação entre ou com entidades físicas como Venda, Cargo, etc. Uma entidade é representada por meio de um retângulo com seu nome e uma ocorrência específica de uma entidade é chamada de instância. Vejam abaixo: Dedê é uma Instância da Entidade PESSOA; HB20 é uma Instância da Entidade CARRO; Chico é uma Instância da Entidade CACHORRO. Aliás, Dedê é a minha esposa, esse é o carro dela e o Chico é o nosso doguinho! Não deixem de seguir o Chico no Instagram:

instância

instância

instância

Dedê

Hb 20

Chico

1 Informalmente, uma entidade pode ser definida como uma coisa – isso mesmo, uma coisa!

9

158

(TRE/RJ – 2012) O modelo entidade-relacionamento tem por base a percepção de que o mundo real é formado por um conjunto de objetos chamados entidades e pelo conjunto dos relacionamentos entre esses objetos. _______________________ Comentários: conforme vimos em aula, a definição está impecável (Correto).

(TRE/RJ – 2013) No modelo de entidade e relacionamento, a representação de um objeto do mundo real é feita por meio de entidade, e cada uma dessas tem propriedades particulares que são representadas por seus atributos. _______________________ Comentários: definição magistral – guardem para a vida! Objetos são entidades, e suas propriedades – como veremos a seguir – são representadas por meio de atributos (Correto).

10

158

▪ Entidade Forte (ou Entidade Independente): Representado por um retângulo, são aquelas cuja existência independe de outras entidades, ou seja, por si só elas já possuem total sentido de existir. Ela possui atributos que a identificam sem que ela precise estar associada a outra entidade identificadora, isto é, ela possui a sua própria chave primária2 que a identifica inequivocamente. Por exemplo: em um Sistema de Vendas, a Entidade produto independe de quaisquer outras para existir. Bacana?

▪ Entidade Fraca (ou Entidade Dependente): Representado por um duplo retângulo, são aquelas cuja existência depende de outras entidades, uma vez que não fazem sentido de existir individualmente. Imaginem um sistema de recursos humanos que guarda dados sobre os funcionários e também sobre os dependentes desses funcionários (Ex: filhos). A entidade DEPENDENTE depende da entidade FUNCIONÁRIO porque não existe dependente sem funcionário. Logo, DEPENDENTE é uma entidade fraca...

2 Conjunto de um ou mais atributos cujos valores nunca se repetem, isto é, são capazes de identificar uma instância de uma entidade. Exemplo: CPF é um número capaz de identificar uma pessoa; Número de Série é um número capaz de identificar um produto.

11

158

(INFRAERO – 2011) No MER de Peter Chen, um retângulo duplo (ou seja, o símbolo representado por um retângulo inscrito em outro) é a representação gráfica de: a) Relacionamento. b) Entidade Associativa. c) Entidade Fraca. d) Auto-relacionamento. e) Sub-conjunto. _______________________ Comentários: conforme vimos em aula, trata-se de uma Entidade Fraca (Letra C).

3 A chave primária de uma entidade fraca é composta pela chave primária da entidade forte junto com o discriminador da entidade fraca – também chamado de chave parcial – e é representado com uma linha tracejada sublinhando o nome do atributo.

12

158

(BADESC – 2010) Assinale a alternativa que apresenta as características de uma entidade fraca. a) Possui identificação própria ou sua existência depende de uma outra denominada de forte. b) Não possui identificação própria ou sua existência depende de uma outra denominada de forte. c) Possui identificação própria ou sua existência não depende de uma outra denominada de forte. d) Possui identificação própria ou sua existência depende de uma outra não denominada de forte. e) Não possui identificação própria ou sua existência não depende de uma outra denominada de forte. _______________________ Comentários: conforme vimos em aula, ela não possui identificação própria ou sua existência depende de uma outra denominada de forte (Letra B).

(CODEMIG – 2013) Uma entidade fraca na modelagem conceitual de banco de dados é a que se caracteriza: a) por conter valores repetidos. b) por não possuir relacionamentos. c) por não possuir atributos multivalorados. d) por não possuir um atributo chave. _______________________ Comentários: (a) Errado, essa não é uma característica específica de uma entidade fraca; (b) Errado, ela é resultado de um relacionamento; (c) Errado, ela pode possuir atributos multivalorados; (d) Correto, ela não possui um atributo chave próprio – a questão podia ter deixado mais claro (Letra D).

(UEL – 2015) Observe a notação de diagramas Entidade-Relacionamento a seguir.

Assinale a alternativa que apresenta, corretamente, a descrição dessa notação. a) Atributo. b) Entidade. c) Entidade fraca. d) Participação total. e) Relacionamento. _______________________

13

158

Comentários: conforme vimos em aula, o retângulo duplo representa uma entidade fraca (Letra C).

14

158

Bem, o assunto da nossa aula é Modelo Entidade-Relacionamento! Já falamos sobre entidade, então agora vamos falar sobre relacionamento. O que seria isso? É a relação existente entre entidades, isto é, a ligação lógica entre entidades que representa uma regra ou restrição de negócio, possibilitando entender como uma entidade se comporta em relação às demais, qual o seu grau de dependência de outras entidades e qual a associação de dados existentes entre elas. Basicamente é uma associação ou interação entre entidades, representada por um losango geralmente entre retângulos, conforme podemos ver abaixo:

POSSUI

Por que “geralmente”, professor? Porque é possível haver um auto-relacionamento ou relacionamento recursivo. Nesse caso, temos uma entidade referenciando ela mesma com diferentes papeis. Vejam abaixo: Funcionário supervisiona outros Funcionários (Papel de Supervisor) e Funcionários são supervisionados por um Funcionário (Papel de Supervisionado). Logo, temos um auto-relacionamento em que uma entidade tem diferentes papeis.

supervisiona

Por fim, é importante dizer que esses relacionamentos vistos acima são chamados de Relacionamento Forte, isto é, são relacionamentos entre entidades fortes. Já os Relacionamentos Fracos são aqueles que ocorrem entre uma Entidade Fraca e uma Entidade Forte e são representados por meio de um duplo losango como aquele visto três páginas atrás entre as entidades Funcionário e Dependente.

15

158

(MPE/SE – 2009) Peça contém Peça no sentido de componente-composto. Essa situação é adequadamente representada em um diagrama E-R como: a) entidades sem atributo. b) generalização de entidades. c) auto-relacionamento. d) relacionamento sem cardinalidade. e) relacionamento sem conexão. _______________________ Comentários: se uma peça contém uma outra peça, podemos afirmar que se trata de um auto-relacionamento (Letra C).

(TRT/SE – 2010) No modelo Entidade-Relacionamento, o componente Losango corresponde: a) às entidades. b) aos modelos. c) aos atributos. d) às heranças. e) aos relacionamentos. _______________________ Comentários: conforme vimos em aula, losangos representam relacionamentos (Letra E).

(TRT/SP – 2008) Em um diagrama entidade relacionamento, uma situação de composição tal qual “empregado gerencia empregado”, geralmente é apresentada como: a) entidade fraca. b) relacionamento associativo. c) auto relacionamento. d) relacionamento interativo. e) relacionamento restritivo. _______________________ Comentários: conforme vimos em aula, se um empregado gerencia um emprega e também é gerenciado por um empregado, temos um auto-relacionamento (Letra C).

(INB – 2006) No modelo posterior, “Supervisionar” representa:

16

158

a) Um atributo da entidade Funcionário. b) Um auto-relacionamento existente na entidade Funcionário. c) Um relacionamento com a entidade Dependente. d) Uma função específica de todos os funcionários. e) Uma função específica de apenas um funcionário. _______________________

Comentários: podemos notar que o relacionamento SUPERVISIONAR está associando uma mesma entidade FUNCIONÁRIO, portanto trata-se de um auto-relacionamento existente na Entidade Funcionário (Letra B).

17

158

1.2.1 – Classificação de Relacionamentos Os relacionamentos podem ser classificados de duas formas: quanto ao grau e quanto à cardinalidade. Veremos ambos a seguir... ▪ Quanto ao Grau: Representa o número de tipos de entidades que participam de um relacionamento, podendo ser binário, ternário, quaternário, entre outros.

BINÁRIO

ternário

▪ Quanto à Cardinalidade: Representa a quantidade de ocorrências ou instâncias de cada entidade presente no relacionamento – pode receber os seguintes valores: 1:1, 1:N, N:1 e M:N. RELACIONAMENTO 1:1 (UM-PARA-UM)

(1,1)

POSSUI

(0,1)

18

158

Interpretação: uma Pessoa possui, no mínimo, 0 CPF e, no máximo, 1 CPF; já um CPF pertence a, no mínimo, 1 Pessoa e, no máximo, também 1 Pessoa. RELACIONAMENTO 1:N (UM-PARA-MUITOS)

(0,1)

POSSUI

(11,N)

Interpretação: um Time de Futebol possui, no mínimo, 11 Jogadores e, no máximo, N Jogadores; já um Jogador pertence a, no mínimo, 0 Times de Futebol e, no máximo, 1 Time de Futebol. RELACIONAMENTO N:M (MUITOS-PARA-MUITOS)

(1,N)

ESCREVE

(1,M)

N

ESCREVE

M

19

158

(MPOG – 2010) No modelo entidade-relacionamento, a cardinalidade de mapeamento expressa: a) o número de entidades ao qual um relacionamento pode estar associado a um outro relacionamento. b) o número de relacionamentos ao qual outro relacionamento pode estar associado via uma entidade. c) o critério de classificação segundo o qual os relacionamentos associam entidades.

20

158

d) o número de entidades ao qual outra entidade pode estar associada via um relacionamento. e) o posicionamento de uma entidade dentro do mapeamento do modelo. _______________________ Comentários: conforme vimos em aula, a cardinalidade de mapeamento expressa o número de instâncias ao qual entidade pode estar associada via um relacionamento, mas a ESAF insiste em usar o termo “entidade”. (Letra D).

(INFRAERO – 2011) Analise o diagrama (DER):

As cardinalidades apresentadas significam que: a) B se relaciona com uma e apenas uma ocorrência de A. b) B se relaciona com nenhuma ou muitas ocorrências de A. c) B se relaciona com nenhuma ou apenas uma ocorrência de A. d) A se relaciona com uma ou muitas ocorrências de B. e) A se relaciona com uma e apenas uma ocorrência de B. _______________________ Comentários: A se relaciona com, no mínimo, zero e, no máximo, muitas ocorrências de B; B se relaciona com, no mínimo, uma e, no máximo, uma ocorrência de A. Uma outra forma de dizer isso é afirmar que B se relacionamento com uma, e apenas uma ocorrência de A (Letra A).

(BANPARÁ – 2018) A restrição de participação de uma entidade em um relacionamento pode ser total ou parcial. Ela depende da: a) cardinalidade mínima. b) quantidade de entidades no relacionamento. c) cardinalidade máxima. d) quantidade de instâncias da entidade. e) quantidade de atributos da entidade. _______________________ Comentários: conforme vimos em aula, ela depende da cardinalidade mínima (Letra A).

(MEC – 2011) Cardinalidades expressam o número de relacionamentos dos quais uma entidade participa. _______________________ Comentários: conforme vimos em aula, cardinalidades expressam a quantidade de instâncias de uma entidade que participam de um relacionamento e, não, a quantidade de relacionamentos (Errado).

21

158

1.2.2 – Entidade Associativa Agora que aprendemos relacionamentos e cardinalidades, podemos finalmente falar sobre a Entidade Associativa. Esse tipo de entidade surge quando há a necessidade de associar uma entidade a um relacionamento existente ou associar dois relacionamentos entre si. Como é, Diego? Na prática, surgem situações em que é desejável permitir a associação de uma entidade a um relacionamento. Vejamos...

Suponha que seja necessário modificar este modelo da seguinte forma: é necessário saber que medicamentos foram prescritos em uma consulta. Para tal, seria interessante criar uma Entidade . No entanto, essa nova entidade estaria relacionada com qual das duas entidades existentes? Se fosse relacionado à médico, teríamos a informação de que o médico prescreveu medicamentos, mas faltaria a informação do paciente que teve os medicamentos prescritos. Por outro lado, se medicamento fosse relacionado à paciente, teríamos a informação sobre que paciente foi prescrito o medicamento, mas faltaria a informação de que médico o prescreveu. Dessa forma, o ideal seria relacionar o medicamento à consulta, isto é, deseja-se relacionar uma entidade ( ) a um relacionamento ( ), o que não está previsto na abordagem de Modelagem Entidade-Relacionamento. E qual foi a solução?

A solução foi criar uma Entidade Associativa – que nada mais é que a redefinição de um relacionamento, passando a ser considerado também como uma entidade. De forma gráfica,

22

158

isso é feito como mostra a imagem logo abaixo. O retângulo desenhado ao redor do relacionamento indica que este relacionamento passa a ser visto como uma entidade (associativa, já que é baseada em um relacionamento). Considerando que também é uma entidade, é possível associá-la através de relacionamentos a outras entidades, como podemos ver abaixo. Caso não se desejasse usar o conceito de entidade associativa, seria necessário transformar o relacionamento em uma entidade, que então poderia ser relacionada a por meio de um relacionamento binário, mas não vamos entrar nesses detalhes... (TRE/AM – 2010) Considere o DER (conceito estendido):

R1 representa: a) relacionamento quaternário. b) associação de dependência. c) entidade ternária. d) entidade fraca. e) entidade associativa. _______________________ Comentários: conforme vimos em aula, trata-se de uma entidade associativa (Letra E).

(TRT/AL – 2011) Considerando o modelo E/R, a alocação de "funcionários" em "projetos", de cardinalidade n:m, necessita relacionar-se com uma entidade "local de trabalho". Assim, a alocação deve ser modelada como: a) entidade fraca. b) entidade associativa. c) autorrelacionamento. d) atributo multivalorado. e) identificador de local de trabalho. 23

158

_______________________ Comentários: a questão afirma que temos duas entidades: FUNCIONÁRIOS e PROJETOS. Elas estão mapeadas em um relacionamento N:M, isto é, um funcionário participa de vários projetos e um projeto possui vários funcionários participantes. É necessário relacionar também uma entidade LOCAL DE TRABALHO e essa entidade pertence ao relacionamento entre FUNCIONÁRIOS e PROJETOS e, não, às entidades especificas. Logo, temos que transformar essa entidade em um relacionamento, logo se trata de uma Entidade Associativa (Letra B).

(Prefeitura de Teresina/PI – 2016) Um Analista de Sistemas da Prefeitura de Teresina necessita modelar em um diagrama E-R as consultas dos cidadãos aos processos públicos. O relacionamento da consulta definido é n:m. Todavia cada consulta realizada deve ter uma identificação própria e mais o atributo data da consulta. Este relacionamento assim especificado relaciona-se com outras entidades do modelo, de acordo com o levantamento de requisitos. Pela característica assim definida, esse relacionamento de consulta deve ser desenhado como: a) atributo associativo. b) entidade fraca. c) relacionamento dependente. d) entidade associativa. e) relacionamento forte. _______________________ Comentários: trata-se de um Relacionamento N:M entre os cidadãos e os processos, sendo que esse relacionamento possui uma identificação própria e um atributo data da consulta, logo só pode ser uma entidade associativa (Letra D).

24

158

Atributos são usados para descrever as propriedades ou características de uma entidade ou relacionamento. Como assim, professor? Pensem em uma entidade, por exemplo: Pessoa – pode ser modelada por meio dos atributos Nome, Endereço, Sexo, Data de Nascimento, etc; Carro – pode ser modelado por meio dos atributos Modelo, Potência, Torque, etc; País – pode ser modelado por meio dos atributos Nome, Área, Quantidade de Habitantes, etc.

25

158

26

158

27

158

(TRE/AL – 2014) No modelo entidade-relacionamento, um atributo tem a função específica de descrever uma propriedade de um relacionamento. _______________________ Comentários: conforme vimos em aula, um atributo pode descrever uma propriedade de um relacionamento, mas sua função específica é descrever uma propriedade de uma entidade (Errado).

RESUMO DA NOTAÇÃO DO DIAGRAMA ENTIDADE RELACIONAMENTO Galera, vamos resumir agora de uma vez por todas a notação de um Diagrama EntidadeRelacionamento. Prestem atenção porque isso cai bastante em prova:

28

158

Eu tenho um desafio para vocês! Sim, se vocês entenderam bem o que nós vimos até agora, vocês conseguirão vencer o desafio proposto! O desafio é o seguinte: dado o Diagrama EntidadeRelacionamento apresentado acima, eu vou fazer nove perguntas sobre seus principais elementos e características. Além disso, ao final, vocês devem me explicar todo o contexto que está sendo modelado no diagrama. Respondam no fórum quantas acertaram, por obséquio!

LISTA DE PERGUNTAS do desafio PERGUNTA 01 Pergunta 02 PERGUNTA 03 Pergunta 04 PERGUNTA 05 Pergunta 06 PERGUNTA 07 Pergunta 08 Pergunta 09 Pergunta 10

Nesse diagrama, existem quantos relacionamentos? Dentre esses relacionamentos, quantos são fortes e quantos são fracos? Nesse diagrama, existem quantas entidades? Dentre essas entidades, quantas são fortes e quantas são fracas? Dentre essas entidades, quantas são entidades associativas? Nesse diagrama, existem quantos atributos? Dentre esses atributos, quantos são simples e compostos? Dentre esses atributos, quantos são monovalorados e multivalorados? Dentre esses atributos, quantos representam um atributo identificador? Explique o contexto que está modelado por esse diagrama?

29

158

E aí, acertaram quantas? Contem aí no fórum (sem mentir)!

RESPOSTA 01 RESPOSTA 02 RESPOSTA 03 RESPOSTA 04 RESPOSTA 05 RESPOSTA 06 RESPOSTA 07 RESPOSTA 08 RESPOSTA 09

Temos três relacionamentos: DEPENDE_DE, PERTENCE_A e ALUGADO_POR. Relacionamento Fraco: DEPENDE_DE; Relacionamento Forte: PERTENCE_A e ALUGADO_POR. Temos quatro entidades: USUÁRIO, DEPENDENTE, LIVRO e ÁREA DE CONHECIMENTO. Entidades Fortes: USUÁRIO, LIVRO e ÁREA DE CONHECIMENTO; Entidade Fraca: DEPENDENTE. Nenhuma. Temos 16 atributos simples e compostos – todos representados como uma elipse. 15 simples e 1 composto (ENDEREÇO), que é composto por NÚMERO, TIPO e NOME. Todos são monovalorados, exceto AUTORES. Temos três atributos que são identificadores: CPF, ISSN e CÓDIGO BIBLIOGRÁFICO.

Quanto à Pergunta 10: em uma biblioteca, um livro pode ser alugado por diversos usuários e um usuário pode alugar diversos livros. usuários podem possuir diversos dependentes, mas cada dependente só pode depender de um usuário. Os dependentes possuem como atributos nome e grau de parentesco (nenhum atributo identificador próprio). Já usuários possuem como atributo NOME, CPF (atributo identificador), SEXO, TELEFONE e ENDEREÇO – sendo que o endereço pode ser dividido em número, tipo e nome. Um livro pertence a uma área de conhecimento, mas uma área de conhecimento pode pertencer a diversos livros. Um livro possui como atributos ISSN (atributo identificador), título e autores – sendo que autores é um atributo multivalorado. uma área de conhecimento tem como atributos código bibliográfico (atributo identificador) e nome.

30

158

Galera... nós já sabemos que o Diagrama Entidade-Relacionamento (DER) é a principal notação utilizada em modelos conceituais. No entanto, existem outras como a Notação Pé-de-Galinha (Crow’s Foot). Trata-se de uma notação também utilizada para representar entidades, relacionamentos e atributos, porém de uma maneira mais simples. Cai infinitamente menos que o Diagrama Entidade-Relacionamento, mas eventualmente é cobrado, então é bom saber...

À esquerda, temos a representação de uma entidade! À direita, temos a representação de uma entidade com seus atributos – sendo que a chave primária da entidade é marcada com um asterisco. E essa linha aí, Diego? Essa é a representação de um relacionamento (acima geralmente tem seu nome)! Agora vamos descobrir porque razão essa notação se chama Notação Pé-de-Galinha! Relacionamentos possuem cardinalidade que podem ser representadas de diversas formas, como 31

158

apresenta a tabela a seguir. Notem que a cardinalidade que indica que há muitas instâncias se parece com um pé-de-galinha. É daí que vem o nome dessa notação... Nessa notação, a representação de zero (0) é por meio de um círculo; a representação de um (1) é por meio de um traço vertical; e a representação de muitos (N) é por meio do pé-de-galinha.

0 (Zero) 1 (Um) N (Muitos) E como lê essa notação, professor? Galera, a leitura da cardinalidade é sempre de dentro para fora na linha que representa o relacionamento (não importa se a cardinalidade está representada do lado esquerdo ou direito da linha de relacionamento). O primeiro elemento de dentro para fora é a cardinalidade mínima e o segundo elemento é a cardinalidade máxima conforme podemos ver na imagem a seguir...

1 (e somente 1) 0 ou 1 1 ou N 0 ou N Para deixar mais claro, coloquei abaixo em verdade o que representa cada um dos símbolos de cardinalidade mínima e máxima.

Mínimo: 1 e Máximo 1 Mínimo: 0 e Máximo 1 Mínimo: 1 e Máximo N Mínimo: 0 e Máximo N

32

158

(UFRRJ – 2015) O símbolo da notação pé de galinha para cardinalidade (0, N) é: a) b) c) d) e) _______________________ Comentários: o símbolo da notação pé-de-galinha para cardinalidade (0,N) é

(Letra E).

33

158

Um conjunto de coisas ou objetos envolvidos em um domínio/contexto específico, podendo ser concretos ou abstratos. Eles são representados por retângulos com um nome e caracterizam um conjunto de objetos. Por fim, uma entidade em particular é chamada de instância e representa um exemplo ou uma ocorrência específica de uma entidade.

Representa o número de entidades que participam de um relacionamento, podendo ser binário, ternário, quaternário, entre outros. Representa a quantidade de ocorrências ou instâncias de cada entidade presente no relacionamento – pode receber os seguintes valores: 1:1, 1:N, N:1 e M:N.

Relacionamento 1:1: uma Pessoa possui, no mínimo, 0 CPF e, no máximo, 1 CPF; já um CPF pertence a, no mínimo, 1 Pessoa e, no máximo, também 1 Pessoa.

(1,1)

POSSUI

(0,1)

Relacionamento 1:N: um Time de Futebol possui, no mínimo, 11 e, no máximo, N Jogadores; já um Jogador pertence a, no mínimo, 0 Times de Futebol e, no máximo, 1 Time de Futebol.

34

158

(0,1)

POSSUI

(11,N)

Relacionamento N:M: um Autor escreve, no mínimo, 1 Livro e, no máximo, M Livros; já um Livro é escrito por, no mínimo, 1 Autor e, no máximo, N Autores.

(1,N)

ESCREVE

(1,M)

35

158

36

158

Mínimo: 1 e Máximo 1 Mínimo: 0 e Máximo 1 Mínimo: 1 e Máximo N Mínimo: 0 e Máximo N

37

158

38

158

39

158

b) c)

40

158

41

158

Gabarito: Letra D 7. (FUNCAB / MDA – 2014) Existem diversas notações para o Modelo Entidade-Relacionamento. A notação original foi proposta por Peter Chen e é composta de entidades, relacionamentos, atributos, representados, respectivamente, por: a) retângulos, losangos e círculos. b) retângulos, círculos e losangos. c) losangos, retângulos e círculos. d) círculos, losangos e retângulos. e) círculos, retângulos e losangos Comentários: Retângulos são representados por entidades, losangos representados por são relacionamentos e círculos representados por são atributos. Gabarito: Letra A 8. (CESPE / MEC – 2015) Considerando a figura apresentada, que ilustra um modelo entidaderelacionamento, julgue o item a seguir.

O atributo Data está representado corretamente nesse modelo, que habilita o uso de atributo em relacionamentos. Comentários: O atributo Data está corretamente representado como atributo do relacionamento e, não, de uma das entidades. Por que? Porque a data é um atributo da inscrição e, não, do Participante nem do ENEM. Professor, não poderia ser um atributo da entidade Participante? Não, porque a data não é uma característica de um participante. Professor, não poderia ser um atributo da entidade ENEM? Não, porque – no contexto – não se trata da data do ENEM. Logo, esse atributo deve pertencer ao relacionamento, tendo em vista que a inscrição guarda a data em que um Participante fará o ENEM. Gabarito: Correto

42

158

9. (CESPE / MEC – 2015) Considerando a figura apresentada, que ilustra um modelo entidaderelacionamento, julgue o item a seguir.

43

158

O Atributo A recebe a denominação de atributo derivado. Um atributo derivado – também chamado de calculado – é aquele que pode ser derivado ou obtido a partir de outros atributos ou relacionamentos, logo ele não precisa ser armazenado no banco de dados (Ex: Idade). Gabarito: Letra A 12. (VUNESP / Câmara Municipal De São José Dos Campos/SP – 2014) Considere o seguinte diagrama entidade-relacionamento:

44

158

Eu modelei o contexto da questão na imagem anterior. Notem que a questão afirma que as notas são identificadas para cada aluno pela matrícula do aluno e pelo código da avaliação (que é uma chave parcial da Entidade Nota). Por que chave parcial? Porque – para identificar uma nota – devese considerar Matrícula e Código da Avaliação. A chave primária de um conjunto de entidades fraca é formada pela chave primária do conjunto de entidades forte do qual ele é dependente de existência, mais seu atributo identificador. Gabarito: Errado 14. (FUNDEP / IFN-MG – 2014) Para a modelagem conceitual apresentada abaixo, podemos dizer que Skill:

45

158

46

158

158

48

158

49

158

50

158

51

158

52

158

53

158

54

158

b) triângulo. c) retângulo. d) retângulo com linhas duplas. e) círculo. Comentários: No Diagrama Entidade-Relacionamento, uma entidade é representada por meio de um retângulo com seu nome dentro. Gabarito: Letra C 39. (VUNESP / FUNDUNESP – 2013) Considere o seguinte diagrama entidade-relacionamento resultante da modelagem de um banco de dados:

Nessa figura, o losango representa um(a): a) atributo. b) entidade. c) cardinalidade. d) normalização. e) relacionamento. Comentários: No Diagrama Entidade-Relacionamento, um losango representa um relacionamento. Gabarito: Letra E 40. (FCC / TRT/12ª SC – 2013) A técnica de diagramação no modelo de Entidade - Relacionamento é bem simples. Utiliza basicamente um losango para representar __I__ e um retângulo para representar __II__. As lacunas I e II são preenchidas, correta e respectivamente, por: a) relacionamentos - entidades b) atributos - relacionamentos

55

158

56

158

57

158

58

158

158

60

158

61

158

62

158

63

158

b) As entidades não podem possuir relacionamentos do tipo Auto Relacionamento. c) Os relacionamentos somente podem envolver duas entidades. d) Nos relacionamentos não podem ter atributos. Comentários: (a) Correto! A cardinalidade mínima zero indica que o relacionamento entre as entidades é opcional e a cardinalidade mínima um indica que o relacionamento entre as entidades é obrigatório; (b) Errado, entidades podem participar de auto-relacionamentos; (c) Errado, temos relacionamentos ternários – por exemplo; (d) Errado, relacionamentos podem ter atributos. Gabarito: Letra A 56. (FEPESE / FATMA – 2012) Analise a figura abaixo:

64

158

relacionar-se com vários itens nesta entidade, enquanto um item na entidade Setor pode relacionar-se somente com um item na entidade Ambiente.

65

158

Comentários: De fato, o modelo utilizado por programadores é menos abstrato (possui mais detalhes) que o modelo utilizado por usuários leigos (possui menos detalhes). Gabarito: Correto 60.(CESPE / ANATEL – 2014) São empregados no projeto de aplicações de um banco de dados o modelo entidade-relacionamento (MER), que é um modelo representacional, e suas variações. Comentários: O modelo considerado representacional é o Modelo Relacional e, não, o Modelo Conceitual – e o MER é parte do Modelo Conceitual. Gabarito: Errado 61.(NC-UFPR / Itaipu – 2011) Assinale a alternativa que corresponde à notação da figura abaixo:

66

158

pode necessariamente um professor orientador; (e) Errado, um aluno orientado tem necessariamente um professor orientador. Gabarito: Letra C 62. (AOCP / CASAN/SC – 2009) Uma conexão de instância é uma notação de modelagem que define uma relação específica entre as instâncias de um objeto. Sobre as notações de conexão existente, correlacione às colunas e assinale a alternativa correta.

( ( ( (

) 0 : Muitos )0:1 ) 1 : Muitos )1:1

a) IV – II – III – I. b) III – I – IV – II. c) III – IV – I – II. d) II – I – IV – III. e) I – II – III – IV. Comentários: 0:Muitos é representado por III; 0:1 é representado por I; 1:Muitos é representado por IV; e 1:1 é representado por II. Gabarito: Letra B 63. (FGV / AL-MT – 2013) Na figura a seguir está representado, de modo resumido, parte de um diagrama ER na chamada notação pé-de-galinha:

Na figura acima, I e II correspondem, respectivamente, às cardinalidades: a) 0 e N

67

158

b) 1 e N. c) N e M. d) (0,1) e (0,N). e) (1,1) e (0, N). Comentários: I corresponde a (1,1) e II corresponde a (0:N). Gabarito: Letra E

68

158

A redação ficou ruim, mas veja o que eu acho que o examinador quis dizer: “No modelo entidade relacionamento, as entidades representam um objeto do mundo real e o relacionamento representa entre esses objetos”. Notem que a ocultação do verbo “representa” deixa a redação confusa, mas a questão está perfeita! Gabarito: Correto

69

158

70

158

b) c)

71

158

e) os conjuntos de entidades A e B possuem, cada um deles, número igual de atributos. 7. (FUNCAB / MDA – 2014) Existem diversas notações para o Modelo Entidade-Relacionamento. A notação original foi proposta por Peter Chen e é composta de entidades, relacionamentos, atributos, representados, respectivamente, por: a) retângulos, losangos e círculos. b) retângulos, círculos e losangos. c) losangos, retângulos e círculos. d) círculos, losangos e retângulos. e) círculos, retângulos e losangos 8. (CESPE / MEC – 2015) Considerando a figura apresentada, que ilustra um modelo entidaderelacionamento, julgue o item a seguir.

O atributo Data está representado corretamente nesse modelo, que habilita o uso de atributo em relacionamentos. 9. (CESPE / MEC – 2015) Considerando a figura apresentada, que ilustra um modelo entidaderelacionamento, julgue o item a seguir.

72

158

c) interno. d) postergado. e) restrito. 12. (VUNESP / Câmara Municipal De São José Dos Campos/SP – 2014) Considere o seguinte diagrama entidade-relacionamento:

a) é um atributo composto da entidade Surgeon. b) além de ser um atributo de Surgeon, também é uma chave primária c) é um atributo multivalorado da entidade Surgeon d) é uma entidade fraca relacionada com Surgeon.

73

158

158

75

158

30. (CESPE / PF – 2018) Situação hipotética: Ao analisar o modelo ER em questão, Paulo verificou que há duas chaves identificadas com o mesmo nome: código — em tipo de produto e em produto. Paulo sabe que o conceito de chaves é básico para estabelecer relações entre linhas de tabelas de um banco de dados relacional e que as chaves primárias devem ser únicas. Assertiva: Nessa situação, Paulo deve invalidar o modelo ER em questão, pois ele está semanticamente errado, já que não pode haver chaves primárias com nomes iguais, ainda que em entidades distintas. 31. (CESPE / PF – 2018) Conforme o modelo ER em questão, um tipo de produto pode estar associado a somente 1 produto e cada produto possui um preço e uma descrição. Considerando a figura apresentada, que ilustra o modelo de um banco de dados hipotético, julgue o item que se segue.

76

158

77

158

38. (FGV / AL-MT – 2013) A representação gráfica de uma entidade em um diagrama entidade relacionamento é um: a) losango. b) triângulo. c) retângulo. d) retângulo com linhas duplas. e) círculo. 39. (VUNESP / FUNDUNESP – 2013) Considere o seguinte diagrama entidade-relacionamento resultante da modelagem de um banco de dados:

158

79

158

158

158

158

83

158

84

158

62. (AOCP / CASAN/SC – 2009) Uma conexão de instância é uma notação de modelagem que define uma relação específica entre as instâncias de um objeto. Sobre as notações de conexão existente, correlacione às colunas e assinale a alternativa correta.

( ( ( (

) 0 : Muitos )0:1 ) 1 : Muitos )1:1

a) IV – II – III – I. b) III – I – IV – II. c) III – IV – I – II. d) II – I – IV – III. e) I – II – III – IV. 63. (FGV / AL-MT – 2013) Na figura a seguir está representado, de modo resumido, parte de um diagrama ER na chamada notação pé-de-galinha:

Na figura acima, I e II correspondem, respectivamente, às cardinalidades: a) 0 e N b) 1 e N. c) N e M. d) (0,1) e (0,N). e) (1,1) e (0, N).

85

158

64.(CESPE / MPE-CE – 2020) Considerando o diagrama entidade- relacionamento precedente e os múltiplos aspectos que a modelagem de dados oferece ao analista para examinar os dados no contexto de uma aplicação de software, julgue o item subsecutivo. No diagrama apresentado, a modalidade obrigatória que conecta transportador e transporta indica que, para todo alimento fabricado, é necessária uma ação de transporte. 65. (CESPE / ME – 2020) No modelo entidade relacionamento, as entidades representam um objeto do mundo real e o relacionamento entre esses objetos.

86

158

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.

LETRA D LETRA E LETRA B LETRA A LETRA E LETRA D LETRA A CORRETO CORRETO ERRADO LETRA A LETRA E ERRADO LETRA C CORRETO LETRA C ERRADO LETRA C LETRA C LETRA A LETRA E LETRA C

23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44.

ERRADO LETRA C CORRETO LETRA D LETRA B CORRETO CORRETO ERRADO ERRADO ERRADO CORRETO ERRADO LETRA D LETRA C LETRA D LETRA C LETRA E LETRA A LETRA C LETRA B LETRA C LETRA E

45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65.

LETRA E LETRA E LETRA D LETRA D LETRA B LETRA A LETRA E LETRA E LETRA E LETRA D LETRA A LETRA B ERRADO ERRADO CORRETO ERRADO LETRA C LETRA B LETRA E ERRADO CORRETO

87

158

Meus queridos, o tópico de modelagem lógica é extremamente importante! Essa é a base para tudo que vamos fazer em um banco de dados. Aqui veremos os conceitos de tabelas, visões, índices e chaves. Vamos ver como entidades que foram imaginadas em um modelo conceitual se transformam em um modelo lógico e como elas podem interagir entre si. Esse é talvez um dos tópicos mais importantes do nosso curso, então prestem bastante atenção...

Galera, todos os tópicos da aula possuem Faixas de Incidência, que indicam se o assunto cai muito ou pouco em prova. Diego, se cai pouco para que colocar em aula? Cair pouco não significa que não cairá justamente na sua prova! A ideia aqui é: se você está com pouco tempo e precisa ver somente aquilo que cai mais, você pode filtrar pelas incidências média, alta e altíssima; se você tem tempo sobrando e quer ver tudo, vejam também as incidências baixas e baixíssimas. Fechado?

88

158

Pessoal, nós acabamos de ver a modelagem conceitual, chegou a hora de ver a modelagem lógica – que é uma modelagem menos abstrata! Existem diversas implementações de modelo lógico:

Consiste em matrizes simples, bidimensionais, compostas por elementos de dados – é a base de planilhas eletrônicas.

Permite que várias tabelas sejam utilizadas simultaneamente por meio de referências ou apontadores.

Variação do Modelo em Rede que limita as relações a uma estrutura semelhante à estrutura de uma árvore.

Trata os dados como objetos que possuem propriedades (atributos) e operações (métodos).

Trata os dados como uma coleção de tabelas compostas por linhas e colunas e relacionadas por meio de chaves.

89

158

90

158

Diego Carvalho Renato da Costa

1357981 2121578

Bolsista Regular

Ciência da Computação Engenharia da Computação

Domínio/tipo

Linha/tupla

Então, vamos lá! Nós sabemos que o Modelo Relacional é baseado em tabelas compostas de linhas e colunas. Na terminologia formal, a tabela é chamada de relação, as linhas são chamadas de tuplas e as colunas são chamadas de atributos. Por fim, o Domínio trata do tipo de dados que descreve os tipos de valores possíveis que podem aparecer em cada coluna. Exemplo: uma coluna DATA DE NASCIMENTO permite valores de data apenas. Vamos resumir:

91

158

(IFB – 2017) Segundo Elmasri (2011), na terminologia formal do modelo relacional, uma linha, um cabeçalho de coluna e a tabela, são chamados, respectivamente, de: a) Registro, atributo, domínio b) Tupla, atributo e relação c) Registro, atributo e relação d) Relação, domínio e registro e) Relação, tupla e registro _______________________ Comentários: na terminologia formal, uma linha é uma tupla; um cabeçalho de coluna é um atributo; e uma tabela é uma relação (Letra B).

(MPE/RN – 2010) Na terminologia do Modelo Relacional, cada linha da tabela é chamada de I a tabela é denominada II o nome da coluna é denominado III. As lacunas I, II e III são preenchidas de forma correta, respectivamente, por: a) registro, arquivo e campo. b) tupla, relação e atributo. c) esquema, instância e domínio. d) registro, relação e domínio. e) tupla, instância e atributo. _______________________ Comentários: cada linha da tabela é chamada de tupla; a tabela é denominada relação; e o nome da coluna é denominado atributo (Letra B).

(TCE/SE – 2011) Uma instância de uma tabela relacional, formada por uma lista ordenada de colunas. Trata-se de: a) tupla. b) chave estrangeira. c) domínio. d) cardinalidade. e) atributo. _______________________ Comentários: a instância de uma tabela é também chamada de tupla (Letra A).

92

158

A definição dada de relações implica certas características que tornam uma relação diferente de um arquivo ou uma tabela. Professor, você não disse que relações são tabelas? Grosso modo, elas são a mesma coisa! Sendo rigoroso, há algumas pequenas diferenças de características que veremos logo abaixo. Vem comigo... Uma relação é definida como um conjunto de tuplas. Tanto na matemática quanto na modelagem relacional de bancos de dados, trata-se de um conjunto de elementos não duplicados que não possuem ordem entre si. Logo, as tuplas em uma relação não possuem nenhuma ordem em particular. Em outras palavras, uma relação não é sensível à ordenação das linhas. Por que, professor? Porque muitas ordens podem ser especificadas para uma mesma relação – você pode escolher ordenar uma relação de diversas maneiras diferentes4. Em uma relação, é irrelevante a ordenação das tuplas, mas a ordenação dos atributos pode ser relevante dependendo do nível de abstração. Em um nível mais abstrato, a ordem dos atributos e seus valores não é tão importante, desde que a correspondência entre colunas e valores seja mantida.

(TCE/PE – 2017) Em uma relação, os nomes das colunas são únicos, as linhas são distintas entre si, e a ordem da disposição das linhas e colunas é irrelevante para o banco de dados. _______________________ Comentários: os nomes das colunas são realmente únicos; as linhas são realmente distintas entre si; e a ordem da disposição das linhas é realmente irrelevante, mas a ordem da disposição das colunas é relevante (Errado).

Existe uma divergência na literatura quanto a ordenação dos componentes em uma tupla. O Codd, no seu artigo original que estabeleceu cos conceitos do modelo relacional, afirma que a ordem das colunas é significativa. O Elmasri segue nessa mesma linha, afirmando que uma tupla é uma lista ordenada de valores, de modo que a ordem dos valores em uma tupla — e, portanto, dos atributos em um esquema de relação — é importante. Entretanto, o mesmo Elmasri complementa seu texto com a seguinte frase: “... em um nível mais abstrato, a ordem dos atributos e seus valores não é tão importante, desde que a correspondência entre atributos e valores seja mantida.” 4

93

158

(IF/PA – 2016) Analise as seguintes afirmações sobre Banco de Dados: I. Conceitualmente, uma relação não é sensível à ordenação das tuplas. II. Em uma tupla, o valor de cada atributo deve ser um valor atômico do domínio. III. Uma transação pode envolver diversas operações no banco, razão pela qual não é considerada operação atômica para o banco. É correto apenas o que se afirma em: a) I. b) II. c) III. d) I e II. e) II e III. _______________________ Comentários: (I) Correto. Uma relação poderia ser ordenada de diversas maneiras, logo não faz sentido se imaginar uma ordenação; (II) Correto. Conforme vimos em aula, o valor de cada atributo é realmente um valor atômico do domínio; (III) Errado. Cada operação é uma transação (Letra D).

(TCE/PA – 2016) No modelo relacional de dados, uma tabela é um conjunto ordenado de campos. _______________________ Comentários: no modelo relacional de dados, uma tabela é um conjunto não ordenado de tuplas e, não, de campos; uma tupla é um conjunto ordenado de campos (Errado).

94

158

Vamos agora falar sobre Álgebra Relacional! Vocês se lembram que nós falamos que o Modelo Relacional utiliza uma fundamentação teórica de teoria dos conjuntos? Pois é, agora nós vamos entender isso melhor! A Álgebra Relacional recebia pouca atenção fora do campo da matemática pura até à publicação em 1970 do modelo relacional de dados de Edgar Frank Codd. Codd propôs a tal álgebra como a base das linguagens de consulta de banco de dados. Definimos assim a Álgebra Relacional como uma linguagem de consulta formal, isto é, uma coleção de operações de alto nível sobre relações ou conjuntos cujo resultado seja uma nova relação ou conjunto. As operações em questão são: Seleção, Projeção, Junção, Produto Cartesiano, União, Intersecção e Diferença. Ah, uma notícia: a partir de agora, nós vamos partir para um estudo um pouco mais prático sobre bancos de dados. Bacana? Vem comigo... (TCE/ES – 2013) O conjunto de operações cujo resultado seja uma nova relação e que envolve seleção, projeção, união e produto cartesiano é denominado: a) mapeamento de cardinalidades. b) álgebra relacional. c) generalização. d) chave primária e) herança. _______________________ Comentários: conforme vimos em aula, conjunto de operações cujo resultado seja uma nova relação é a Álgebra Relacional. Lembrem-se sempre de que qualquer operação sobre uma tabela resultará em uma nova tabela (Letra B).

95

158

σ

σ

LISTA DE condições

-- SELECIONA LINHAS QUE SATISFAZEM UM PREDICADO OU UMA CONDIÇÃO --

Trata-se de uma operação unária que filtra as linhas de uma tabela que satisfazem um conjunto de condições ou predicados. Vamos ver um exemplo: imaginem que desejamos selecionar apenas os professores maiores de 35 anos da tabela abaixo. Para tal, nós poderíamos realizar a seguinte operação algébrica: σ IDADE>35 (PROFESSOR). NOME PROFESSOR DIEGO CARVALHO RENATO DA COSTA RICARDO VALE ROSENVAL JÚNIOR HERBERT ALMEIDA

CPF 111.111.111-11 222.222.222-22 333.333.333-33 444.444.444-44 555.555.555-55

IDADE 21 54 40 32 19

NOME DISCIPLINA INFORMÁTICA INFORMÁTICA DIREITO CONSTITUCIONAL DIREITO AMBIENTAL DIREITO ADMINISTRATIVO

NATURALIDADE DISTRITO FEDERAL RIO DE JANEIRO MINAS GERAIS Minas gerais Espírito santo

NOME PROFESSOR RENATO DA COSTA RICARDO VALE

CPF 222.222.222-22 333.333.333-33

NOME DISCIPLINA INFORMÁTICA DIREITO CONSTITUCIONAL

NATURALIDADE RIO DE JANEIRO MINAS GERAIS

96

158

π

LISTA DE ATRIBUTOS

-- PROJETA UMA NOVA TABELA APENAS COM OS ATRIBUTOS ESPECIFICADOS --

Trata-se de uma operação unária que seleciona as colunas especificadas de todas as linhas da relação, excluindo as linhas duplicadas do resultado (chamadas de duplicatas). Em contraste com a operação de Seleção – que seleciona as linhas que satisfazem uma condição –, a operação de Projeção projeta as colunas especificadas na lista de atributos. Vamos ver um exemplo: Imaginem que desejamos projetar uma nova tabela apenas com o Nome e CPF dos professores. Para tal, nós poderíamos realizar a seguinte operação algébrica: π nome PROFESSOR, cpf (PROFESSOR). NOME PROFESSOR DIEGO CARVALHO RENATO DA COSTA RICARDO VALE ROSENVAL JÚNIOR HERBERT ALMEIDA

CPF 111.111.111-11 222.222.222-22 333.333.333-33 444.444.444-44 555.555.555-55

IDADE 21 54 40 32 19

NOME DISCIPLINA INFORMÁTICA INFORMÁTICA DIREITO CONSTITUCIONAL DIREITO AMBIENTAL DIREITO ADMINISTRATIVO

NOME PROFESSOR DIEGO CARVALHO RENATO DA COSTA RICARDO VALE ROSENVAL JÚNIOR HERBERT ALMEIDA

NATURALIDADE DISTRITO FEDERAL RIO DE JANEIRO MINAS GERAIS Minas gerais Espírito santo

CPF 111.111.111-11 222.222.222-22 333.333.333-33 444.444.444-44 555.555.555-55

(MPE/ES – 2013) Dentre os diversos tipos de operações disponibilizadas em um banco de dados relacional está, por exemplo, a realização de consultas sobre valores armazenados em tabelas. A operação que consiste em definir quais devem ser as colunas a serem exibidas em uma consulta é a: a) divisão. b) multiplexação. _______________________

c) projeção.

d) seleção.

e) união.

Comentários: conforme vimos em aula, definir as colunas que devem ser exibidas é uma Projeção (Letra C).

97

158

-- RESULTA EM UMA NOVA TABELA COM TODAS AS COMBINAÇÕES DE LINHAS DE AMBAS AS RELAÇÕES --

Também chamado de Produto Cruzado ou Junção Cruzada, trata-se de uma operação binária que produz um resultado que combina as linhas de uma tabela com as linhas de outra tabela. NOME PROFESSOR DIEGO CARVALHO RENATO DA COSTA RICARDO VALE ROSENVAL JÚNIOR HERBERT ALMEIDA

CPF 111.111.111-11 222.222.222-22 333.333.333-33 444.444.444-44 555.555.555-55

NOME PROFESSOR DIEGO CARVALHO RENATO DA COSTA RICARDO VALE ROSENVAL JÚNIOR HERBERT ALMEIDA DIEGO CARVALHO RENATO DA COSTA RICARDO VALE ROSENVAL JÚNIOR HERBERT ALMEIDA DIEGO CARVALHO RENATO DA COSTA RICARDO VALE ROSENVAL JÚNIOR HERBERT ALMEIDA DIEGO CARVALHO RENATO DA COSTA RICARDO VALE ROSENVAL JÚNIOR HERBERT ALMEIDA

NOME DISCIPLINA INFORMÁTICA DIREITO CONSTITUCIONAL DIREITO AMBIENTAL DIREITO ADMINISTRATIVO

CPF 111.111.111-11 222.222.222-22 333.333.333-33 444.444.444-44 555.555.555-55 111.111.111-11 222.222.222-22 333.333.333-33 444.444.444-44 555.555.555-55 111.111.111-11 222.222.222-22 333.333.333-33 444.444.444-44 555.555.555-55 111.111.111-11 222.222.222-22 333.333.333-33 444.444.444-44 555.555.555-55

NOME DISCIPLINA INFORMÁTICA Informática Informática Informática informática DIREITO CONSTITUCIONAL DIREITO CONSTITUCIONAL DIREITO CONSTITUCIONAL DIREITO CONSTITUCIONAL DIREITO CONSTITUCIONAL DIREITO AMBIENTAL DIREITO AMBIENTAL DIREITO AMBIENTAL DIREITO AMBIENTAL DIREITO AMBIENTAL DIREITO ADMINISTRATIVO DIREITO ADMINISTRATIVO DIREITO ADMINISTRATIVO DIREITO ADMINISTRATIVO DIREITO ADMINISTRATIVO

código 101 102 103 104

CÓDIGO 101 101 101 101 101 102 102 102 102 102 103 103 103 103 103 104 104 104 104 104

Notem que o resultado contempla todas as combinações das duas tabelas. Além disso, a quantidade de colunas é igual à soma das colunas das tabelas e a quantidade de linhas é igual ao 98

158

produto da quantidade de linhas de cada tabela. Dessa forma, a tabela resultante tem quatro colunas porque ambas as tabelas do produto cartesiano possuem duas colunas (2+2 = 4). Ademais, a tabela resultante tem vinte linhas porque as combinações geram 5*4 = 20 linhas. (UFC – 2018) De acordo com a álgebra relacional, marque a opção que contenha apenas operações fundamentais. a) Divisão, seleção, diferença. b) Agregação, projeção, união. c) Junção natural, seleção, projeção. d) Seleção, projeção, produto cartesiano. e) Interseção, produto cartesiano, junção natural. _______________________ Comentários: conforme vimos em aula até agora, trata-se da Seleção, Projeção e Produto Cartesiano (Letra D).

99

158

condição -- RESULTA EM UMA NOVA TABELA COM TODAS AS COMBINAÇÕES DE LINHAS QUE SATISFAZEM ALGUMA CONDIÇÃO --

Assim como o Produto Cartesiano, trata-se de uma operação binária que produz um resultado que combina as linhas de uma tabela com as linhas de outra tabela. No entanto, isso gera um bocado de linhas que não tem nenhum sentido, portanto a junção realiza uma seleção de linhas cujo valor de uma determinada coluna de uma tabela é igual ao valor de uma determinada coluna de outra tabela. Professor, não entendi nada! Relaxem, vocês vão entender com o exemplo... Se desejarmos – em uma única tabela – as linhas da Tabela e da Tabela seja igual a , temos que: ⋈ CÓDIGO = CÓDIGO . NOME PROFESSOR CPF DIEGO CARVALHO 111.111.111-11 RENATO DA COSTA 222.222.222-22 RICARDO VALE 333.333.333-33 ROSENVAL JÚNIOR 444.444.444-44 HERBERT ALMEIDA 555.555.555-55

NOME PROFESSOR DIEGO CARVALHO RENATO DA COSTA RICARDO VALE ROSENVAL JÚNIOR HERBERT ALMEIDA

CÓDIGO 101 101 102 103 104

cujo

NOME DISCIPLINA INFORMÁTICA DIREITO CONSTITUCIONAL DIREITO AMBIENTAL DIREITO ADMINISTRATIVO

CPF 111.111.111-11 222.222.222-22 333.333.333-33 444.444.444-44 555.555.555-55

CÓDIGO 101 101 102 103 104

Código 101 102 103 104

NOME DISCIPLINA INFORMÁTICA Informática DIREITO CONSTITUCIONAL DIREITO AMBIENTAL DIREITO ADMINISTRATIVO

Notem quem a Operação Junção remove as colunas duplicadas, caso contrário teríamos duas colunas com o nome de CÓDIGO. Bacana? (Câmara Municipal De São José Dos Campos/SP – 2009) De Em um banco de dados relacional, duas tabelas foram concatenadas de forma a atender uma determinada condição. O resultado dessa operação representa a operação relacional de: a) união. b) projeção. c) seleção. d) intersecção.

100 158

e) junção. _______________________ Comentários: conforme vimos em aula, trata-se da junção (Letra E).

(MPE/RS – 2008) Quando dois conjuntos de dados são concatenados de acordo com uma determinada condição, representa o resultado da operação relacional: a) junção. b) união. c) restrição. d) projeção. e) intersecção. _______________________ Comentários: conforme vimos em aula, trata-se da junção (Letra A).

101 158

-- RESULTA NA UNIÃO DAS LINHAS DE DUAS TABELAS COM ELIMINAÇÃO AUTOMÁTICA DE DUPLICATAS --

Trata-se de uma operação binária que produz como resultado uma nova tabela que contém todas as linhas da primeira tabela seguidas de todas as linhas da segunda tabela. A tabela resultante possui a mesma quantidade de colunas que as tabelas originais, e tem um número de linhas que é – no máximo – igual à soma das linhas de ambas as tabelas. Por que, professor? Porque essa operação elimina automaticamente qualquer linha que esteja duplicada. Professor, é possível unir duas tabelas que tenham quantidades de colunas diferentes? Não! Vamos ver um exemplo: vamos unir as Tabelas PROFESSOR e ALUNO na Tabela RESULTADO .

NOME CPF DIEGO CARVALHO 000.000.000-00 RENATO DA COSTA 111.111.111-11 RICARDO VALE 222.222.222-22 ROSENVAL JÚNIOR 333.333.333-33 HERBERT ALMEIDA 444.444.444-44

NOME DIEGO CARVALHO RENATO DA COSTA RICARDO VALE ROSENVAL JÚNIOR HERBERT ALMEIDA romário Roberto carlos Ronaldo fofo Rivaldo Ronaldo gaúcho

CÓDIGO 101 101 102 103 104

NOME romário Roberto carlos Ronaldo fofo Rivaldo Ronaldo gaúcho

CPF 000.000.000-00 111.111.111-11 222.222.222-22 333.333.333-33 444.444.444-44 555.555.555-55 666.666.666-66 777.777.777-77 888.888.888-88 999.999.999-99

CPF 555.555.555-55 666.666.666-66 777.777.777-77 888.888.888-88 999.999.999-99

CÓDIGO 101 101 102 103 104

CÓDIGO 101 101 102 103 104 101 101 102 103 104

Observação importante: essa operação somente pode ser realizada se as tabelas forem união compatíveis, isto é, possuírem a mesma estrutura. Como assim, professor? Basicamente, a mesma estrutura contempla dois requisitos: (1) as tabelas devem possuir a mesma quantidade de colunas; (2) as colunas das tabelas devem possuir o mesmo domínio. Cara, professor... agora deu ruim para mim! Pode explicar melhor? Claro que eu posso! 102 158

Suponham que temos duas tabelas: uma com cinco colunas e outra com apenas duas colunas. A união dessas duas tabelas geraria essa coisa esquisita mostrada abaixo:

COLUNA 1 VALOR VALOR VALOR VALOR

COLUNA 2 VALOR VALOR VALOR VALOR

COLUNA 3 VALOR VALOR

COLUNA 4 VALOR VALOR

COLUNA 5 VALOR VALOR

?

?

?

E se as tabelas tivessem colunas com domínios diferentes? Vejam as duas tabelas abaixo! Elas possuem a mesma quantidade de colunas, mas observem que a Coluna DATA DE NASCIMENTO e a Coluna CÓDIGO possuem domínios diferentes. A primeira guarda somente datas e o segundo guarda somente números. Isso não é permitido porque uma coluna pode ter apenas um único domínio. Vocês entenderam essa parada? Caso não, mandem ver no fórum...

NOME CPF DIEGO CARVALHO 000.000.000-00 RENATO DA COSTA 111.111.111-11 RICARDO VALE 222.222.222-22 ROSENVAL JÚNIOR 333.333.333-33 HERBERT ALMEIDA 444.444.444-44

Dt nascimento 12/10/1988 11/04/1961 17/07/1979 01/12/1983 28/02/1977

NOME romário Roberto carlos Ronaldo fofo Rivaldo Ronaldo gaúcho

CPF 555.555.555-55 666.666.666-66 777.777.777-77 888.888.888-88 999.999.999-99

CÓDIGO 101 101 102 103 104

103 158

-- RESULTA EM UMA NOVA TABELA QUE CONTÉM OS ELEMENTOS EM COMUM ÀS DUAS TABELAS SEM REPETIÇÕES --

Trata-se de uma operação binária que produz como resultado uma tabela que contém, sem repetições, todos os elementos que são comuns às duas tabelas fornecidas como operandos. É importante ressaltar que a mesma restrição que valia para a operação de União também vale para a operação de Intersecção, isto é, as tabelas devem ser união compatíveis e possuir a mesma quantidade de colunas e elas devem possuir o mesmo domínio. Bacana?

NOME DIEGO CARVALHO RENATO DA COSTA RICARDO VALE ROSENVAL JÚNIOR HERBERT ALMEIDA

CPF 111.111.111-11 222.222.222-22 333.333.333-33 444.444.444-44 555.555.555-55

Dt nascimento 12/10/1988 11/04/1961 17/07/1979 01/12/1983 28/02/1977

DIEGO CARVALHO

NOME DIEGO CARVALHO Marcos girão Décio terror RENATO DA COSTA Guilherme neves

111.111.111-11

CPF 111.111.111-11 666.666.666-66 777.777.777-77 999.999.999-99 888.888.888-88

Dt nascimento 12/10/1988 01/08/1968 27/06/1976 11/04/1961 11/04/1961

12/10/1988

Professor, por que Renato da Costa não está na intersecção? Cuidado! São duas pessoas com o mesmo NOME e DT NASCIMENTO , mas possuem CPF diferentes – são apenas homônimos. (UFRJ – 2010) Dadas duas relações A e B do mesmo tipo, uma relação de tipo igual, cujo conteúdo contém todas as tuplas que aparecem tanto em A quanto em B, será obtida por meio da operação relacional: a) união. b) interseção. c) projeção. d) junção. e) produto cartesiano. _______________________ Comentários: essa questão possui uma redação bastante ambígua. “Tanto em A quanto em B” pode significar uma união ou uma interseção. De toda forma, a questão considerou como correta a interseção, mas eu acredito que caberia recurso (Letra B).

104 158

-- RESULTA EM UMA NOVA TABELA QUE CONTÉM AS LINHAS PRESENTES NA TABELA A E AUSENTES NA TABELA B --

Trata-se de uma operação binária que produz como resultado uma tabela que contém todas as linhas que existem na primeira tabela e não existem na segunda tabela. No caso do exemplo abaixo, observem que o resultado trará as linhas que estão na Tabela PROFESSOR ESCOLAR que não estão na Tabela PROFESSOR UNIVERSITÁRIO. Fácil, não é?

NOME DIEGO CARVALHO RENATO DA COSTA RICARDO VALE ROSENVAL JÚNIOR HERBERT ALMEIDA

CPF 111.111.111-11 222.222.222-22 333.333.333-33 444.444.444-44 555.555.555-55

Dt nascimento 12/10/1988 11/04/1961 17/07/1979 01/12/1983 28/02/1977

NOME RICARDO VALE ROSENVAL JÚNIOR HERBERT ALMEIDA

NOME DIEGO CARVALHO Marcos girão Décio terror RENATO DA COSTA Guilherme neves

CPF 333.333.333-33 444.444.444-44 555.555.555-55

CPF 111.111.111-11 666.666.666-66 777.777.777-77 222.222.222-22 888.888.888-88

Dt nascimento 12/10/1988 01/08/1968 27/06/1976 11/04/1961 11/04/1985

Dt nascimento 17/07/1979 01/12/1983 28/02/1977

(TCE/PA – 2012) Em banco de dados, a diferença entre duas instâncias é: a) o conjunto de todas as instâncias i pertencentes a A ou B ou ambos, quando A e B possuem uma união compatível. b) o conjunto de todas as instâncias i pertencentes a A e B, quando A e B possuem uma união compatível. c) o conjunto de todas as instâncias i pertencentes a A mas não pertencentes a B, quando A e B possuem uma união compatível. d) o conjunto de todas as instâncias i, quando i é a concatenação de uma instância x de A com uma instância y de B. e) o conjunto de valores n, tais que os pares (n, m) aparecem em A para todos os valores m que aparecem em B. 105 158

_______________________ Comentários: conforme vimos em aula, trata-se do conjunto de todas as linhas pertencentes a A, mas não pertencentes a B, quando A e B possuem uma união compatível. Ignorem – por ora – as outras opções e alguns termos (Letra C).

Vamos resumir o que vimos sobre as operações de Álgebra Relacional? A tabela abaixo apresenta tudo que vocês precisam saber, mas antes vamos ver dois detalhes: primeiro, uma operação pode ser unária, quando trata de apenas de uma tabela (Ex: σ(T1)); e pode ser binária, quando trata de duas tabelas (Ex: T1 ⋈ T2); segundo, uma operação é dita comutativa quando a ordem da operação é indiferente. Vamos ver um exemplo?

σCONDIÇÃO1(σCONDIÇÃO2 (TABELA)) = σCONDIÇÃO2(σCONDIÇÃO1(TABELA)) Observem que a ordem das condições está invertida, mas o resultado é o mesmo – logo, a ordem da operação é indiferente. Vamos agora à tabela que resume o que vimos:

σ(T1)

Sim

Unária

Seleciona todas as linhas que satisfazem a condição de seleção de uma Tabela T1.

Π(T1)

Não

Unária

Produz uma nova tabela com apenas algumas das colunas de uma tabela T1 e remove linhas duplicadas. Produz uma nova tabela com todas as combinações possíveis de linhas de duas tabelas T1 e T2.

T1 X T2

Sim

Binária

T 1 ⋈ T2

Sim

Binária

T1 ⋃ T 2

Sim

Binária

T 1 ∩ T2

Sim

Binária

T 1 - T2

Não

Binária

Produz uma nova tabela com todas as combinações possíveis de linhas de duas tabelas T1 e T2 que satisfazem uma condição de seleção. Produz uma nova tabela que inclui todas as linhas das Tabela T1 e T2, eliminando as duplicatas – as tabelas devem ser união-compatíveis. Produz uma tabela que inclui todas as linhas em comum das Tabela T 1 e T2 – as tabelas devem ser união-compatíveis. Produz uma tabela que inclui todas as linhas de uma Tabela T1 que não estão na Tabela T2 – as tabelas devem ser união compatíveis.

(PETROBRÁS – 2012) A Álgebra Relacional define várias operações. Algumas delas operam apenas uma relação (unárias), outras operam com duas relações (binárias). As operações project (projeção), union (união) e select (seleção) são, respectivamente, operações: a) unária, unária, unária b) binária, unária, binária 106 158

c) binária, binária, unária d) unária, binária, unária e) unária, binária, binária _______________________ Comentários: projeção é unária, união é binária e seleção é unária (Letra D).

107 158

A melhor maneira de entender é por meio de um exemplo! Em primeiro lugar, vejam na imagem anterior que a view é basicamente um subconjunto de tabelas de um banco de dados ou do relacionamento entre tabelas de um banco de dados. Em segundo lugar, vejam a tabela a seguir

5 Em geral, uma view é considerada atualizável quando trata apenas de uma tabela, entre outras regras.

108 158

que apresenta diversas colunas que armazenam dados sobre professores, como Nome, CPF, Idade, Disciplina e Naturalidade. NOME DIEGO CARVALHO RENATO DA COSTA RICARDO VALE ROSENVAL JÚNIOR HERBERT ALMEIDA

CPF 111.111.111-11 222.222.222-22 333.333.333-33 444.444.444-44 555.555.555-55

IDADE 21 54 40 32 19

DISCIPLINA INFORMÁTICA INFORMÁTICA DIREITO CONSTITUCIONAL DIREITO AMBIENTAL DIREITO ADMINISTRATIVO

NATURALIDADE DISTRITO FEDERAL RIO DE JANEIRO MINAS GERAIS Minas gerais Espírito santo

109 158

é derivada de diversas outras tabelas de acordo com as necessidades particulares de um indivíduo ou um conjunto de indivíduos. E como é o nome dessa tabela virtual? View! (Banco da Amazônia – 2010) É possível inserir, excluir e atualizar registros diretamente de uma view. _______________________ Comentários: é possível inserir, excluir e atualizar registros diretamente em uma view desde que ela seja atualizável, isto é, a view somente envolva uma única tabela (Correto).

(AL/SP – 2010) Maneira alternativa de observação de dados de uma ou mais entidades – tabelas –, que compõe uma base de dados. Pode ser considerada como uma tabela virtual ou uma consulta armazenada. Trata-se de: a) table shadow. b) view. c) shadow table. d) table blour. e) blour table. _______________________ Comentários: conforme vimos em aula, trata-se da view (Letra B).

(TCE/ES – 2013) Uma forma de observação de dados de uma ou mais entidades que compõem uma base de dados e que é considerada uma tabela virtual ou consulta armazenada denomina-se: a) esquema conceitual. b) entidade. c) chave primária. d) integridade referencial. e) views. _______________________ Comentários: conforme vimos em aula, trata-se das views (Letra E).

(MEC – 2015) O uso de views materializadas permite aumentar o desempenho do banco de dados, pois minimiza o acesso às tabelas de dados e torna mais rápida a execução das consultas. _______________________ Comentários: conforme vimos em aula, o desempenho de views materializadas é melhor porque reduz o acesso aos dados e porque a execução das consultas é mais rápida, uma vez que ela já está armazenada (Correto).

110 158

111 158

Galera, a primeira página desse livro eletrônico possui um índice. Qual é a sua maior utilidade? Basicamente, ele ajuda a encontrar informações no livro de forma mais rápida. Se não houvesse um índice e você estivesse interessado em estudar apenas álgebra relacional, você teria que percorrer todo o livro até encontrar esse tópico. Por meio do índice, você consegue encontrar em página está esse tópico e acessá-lo diretamente de forma rápida e sem complicações. Dessa forma, podemos concluir que os índices são um modo comum de melhorar o desempenho de um banco de dados. Ele permite ao servidor de banco de dados encontrar e trazer linhas específicas muito mais rápido do que faria sem o índice. Entretanto, os índices também produzem trabalho adicional para o sistema de banco de dados como um todo devendo, portanto, serem utilizados com sensatez. (AL/SP – 2010) Sua utilização tem como finalidade principal agilizar a consulta, possibilitando a localização ágil de um registro na tabela. Esta descrição refere-se a: a) Index b) Constraint c) View d) Join e) Having _______________________ Comentários: conforme vimos em aula, trata-se de um Index (Letra A).

(MPE/ES – 2013) Uma das decisões a serem tomadas no projeto físico de um banco de dados relacional é a criação de estruturas que possibilitem a obtenção mais rápida dos dados das consultas. Tal estrutura é composta pelos (pelas):

112 158

a) logs. b) índices. c) gatilhos. d) privilégios. e) permissões. _______________________ Comentários: conforme vimos em aula, trata-se de índices (Letra B).

(DEMAE/GO – 2017) O principal objetivo dos índices em bancos de dados relacionais é: a) ter controle central dos dados e dos programas. b) melhorar o desempenho de consultas submetidas ao banco de dados. c) permitir a modificação da estrutura de uma tabela. d) alterar o valor de um determinado atributo de uma ou de várias linhas de uma tabela. _______________________ Comentários: conforme vimos em aula, nenhuma das alternativas faz sentido em relação aos índices – exceto melhorar o desempenho de consultas submetidas ao banco de dados (Letra B).

113 158

Vamos lá! No Modelo Relacional, uma tabela é definida como um conjunto de linhas. Por definição, todos os elementos de um conjunto são distintos; logo, todas as linhas em uma relação também precisam ser distintas. O que isso significa? Isso significa que duas linhas não podem ter a mesma combinação de valores para todas as suas colunas. Agora chegamos a um dos conceitos mais importantes quando falamos de banco de dados: chaves!

Uma superchave é um conjunto de uma ou mais colunas que, tomadas coletivamente, permitem identificar de maneira unívoca uma linha de uma tabela. Em outras palavras, não podem existir duas ou mais linhas de uma tabela com o mesmo valor de uma superchave. Dizemos, portanto, que uma superchave especifica uma restrição de chave, isto é, duas linhas não podem ter os mesmos valores de superchave. No entanto, uma superchave pode ter atributos redundantes, de modo que um conceito mais útil é o de uma chave, que não tem redundância. Como assim, professor? Vejam a tabela abaixo: nós poderíamos dizer que uma possível chave seria NOME CPF IDADE DISCIPLINA NATURALIDADE . Notem que esse conjunto de atributos, tomados coletivamente, identificam de maneira unívoca qualquer linha da tabela. Bacana?

NOME DIEGO CARVALHO RENATO DA COSTA RICARDO VALE ROSENVAL JÚNIOR HERBERT ALMEIDA

CPF 111.111.111-11 222.222.222-22 333.333.333-33 444.444.444-44 555.555.555-55

IDADE 21 54 40 32 19

DISCIPLINA INFORMÁTICA INFORMÁTICA DIREITO CONSTITUCIONAL DIREITO AMBIENTAL DIREITO ADMINISTRATIVO

NATURALIDADE DISTRITO FEDERAL RIO DE JANEIRO MINAS GERAIS Minas gerais Espírito santo

114 158

No entanto, vocês concordam comigo que há uma redundância nessa superchave? Não é obrigatório ter uma chave composta por todas as colunas. Acompanhem meu raciocínio: { NOME + CPF + IDADE + DISCIPLINA + NATURALIDADE }

Essa superchave é composta por todas as cinco colunas. NOME + CPF + IDADE + DISCIPLINA

Essa superchave é composta por quatro colunas. NOME + CPF + IDADE

Essa superchave é composta por três colunas. NOME + CPF

Essa superchave é composta por duas colunas. CPF

Essa superchave é composta por apenas uma coluna. Percebam que, se nós eliminamos quatro colunas e ainda é possível identificar de forma unívoca qualquer linha dessa tabela, então todas as colunas eliminadas estavam redundantes. Por que? Porque CPF é um identificador único – nunca duas pessoas diferentes terão o mesmo CPF . Além disso, podemos concluir que toda tabela possui pelo menos uma superchave padrão, que é o conjunto de todas as colunas de uma tabela. Perfeito? Agora vou dizer uma coisa para vocês: um conceito mais interessante que o de superchave é o conceito de chave. Uma chave também precisa identificar de forma unívoca qualquer linha de uma tabela, mas uma chave também precisa satisfazer outra condição: ela precisa ser uma superchave mínima, isto é, uma superchave da qual não podemos remover nenhum atributo e ainda mantermos uma restrição de chave. Dito isso, podemos concluir que qualquer conjunto de colunas que inclua CPF será considerada uma superchave. No entanto, NOME + CPF + IDADE não é uma chave, porque remover NOME ou IDADE ou ambos do conjunto ainda nos deixa com uma superchave. Em outras palavras, uma chave é uma superchave com a propriedade adicional de que a remoção de qualquer uma de suas colunas a faz deixar de identificar unicamente uma linha da tabela. Em geral, uma tabela pode ter mais de uma chave. Nesse caso, cada uma das chaves é chamada de Chave Candidata. Por exemplo: imaginem que na tabela acima houvesse também uma coluna de RG . Ora, tanto CPF quanto RG identificam de forma unívoca uma linha de uma tabela, uma vez que não existem duas pessoas com o mesmo RG ou CPF . Logo, qualquer uma das duas poderia ser escolhida para ser a chave primária de uma tabela. Chave o que, professor?

115 158

Restringe que uma chave primária se repita – uma chave primária diferencia de forma única os registros de uma relação. Restringe que um campo de uma relação tenha valores diferentes daqueles definidos para o campo específico. Restringe que uma chave primária tenha valores nulos (NULL). Pode ser considerada uma subcategoria da restrição de domínio. Restringe que a chave estrangeira de uma tabela seja inconsistente com a chave candidata da tabela referenciada.

Eu sei que está confuso, então é hora de vermos um exemplo. Imaginem um cenário em que um professor pode ministrar diversas disciplinas, mas uma disciplina só pode ser ministrada por um único professor. Observem abaixo que a chave primária da Tabela PROFESSOR se tornou uma chave estrangeira da Tabela DISCIPLINA , no entanto continua referenciando a Tabela Professor. Por isso, dizemos que se trata de uma restrição de integridade referencial.

116 158

CPF professor 111.111.111-11 222.222.222-22 333.333.333-33 444.444.444-44 555.555.555-55 666.666.666-66

NOME PROFESSOR DÉCIO TERROR GUILHERME NEVES RICARDO VALE ROSENVAL JÚNIOR HERBERT ALMEIDA Marcos girão

código 101 102 103 104 105 106

NOME DISCIPLINA PORTUGUÊS DIREITO CONSTITUCIONAL DIREITO ADMINISTRATIVO DIREITO AMBIENTAL NOÇÕES DE LÓGICA DIREITO TRIBUTÁRIO

CPF professor 111.111.111-11 333.333.333-33 555.555.555-55 444.444.444-44 222.222.222-22 333.333.333-33

Entenderam agora? Para ser considerada uma chave estrangeira, ela deve satisfazer duas regras: primeiro, as colunas que a compõem devem ter o mesmo domínio que as colunas da chave primária da tabela referenciada; segundo, o valor da chave estrangeira em uma relação deve ocorrer também na tabela referenciada ou ser NULL. Por fim, é importante dizer que é possível haver um auto-relacionamento, isto é, uma coluna referenciar outra coluna da mesma tabela.

Conjunto de uma ou mais colunas que, tomadas coletivamente, permitem identificar de maneira unívoca uma linha. Superchaves de tamanho mínimo, candidatas a serem possíveis chaves primárias de uma tabela. Chaves cujas colunas são utilizadas para identificar linhas em uma tabela – em geral, vêm sublinhada. Chaves candidatas a serem possíveis chaves primárias de uma tabela, mas que não foram escolhidas. Chaves de uma tabela que fazem referência à chave candidata de outra tabela, ou até mesmo da própria tabela. Chaves primárias artificiais criadas para identificar de maneira unívoca uma linha6.

(TCE/PA – 2012) Em bancos de dados relacionais, os tipos de relacionamentos entre duas ou mais entidades é possível por meio de atributos do tipo: a) chave b) numérico _______________________

c) caractere

d) índice

e) real

Comentários: conforme vimos em aula, é a chave que permite um relacionamento entre duas ou mais tabelas (Letra A).

Professor, para que criar uma chave artificial se nós podemos usar as chaves naturais de uma tabela. Galera, há uma infinidade de sistemas que utilizam, por exemplo, CPF para identificar uma pessoa. E se o governo cria um cadastro único de pessoas que tem outro formato de forma que as pessoas não precisam mais ter CPF? É improvável, mas – para garantir – é interessante utilizar chaves substitutas (Surrogate Keys). 6

117 158

Trata-se de um relacionamento em que uma linha de uma tabela está associada com uma e apenas uma linha de outra tabela. Exemplo: suponha uma Tabela País, que armazena o nome de todos os países do mundo; e uma Tabela Capital, que armazena o nome das capitais de todos os países do mundo. Sabe-se que um país possui somente uma capital e uma capital só é capital de um único país. Logo, trata-se de um relacionamento um-para-um (1:1).

CÓDIGO PAÍS 100 200 300 400 500 600

PAÍS Holanda Austrália Colômbia Hungria Vietnã Quênia

CÓDIGO CAPITAL 123 234 345 456 567 678

CAPITAL Hanói Budapeste nairóbi amsterdam Camberra Bogotá

CÓDIGO PAÍS 500 400 600 100 200 300

* Na verdade, existem três abordagens diferentes para relacionamentos 1:1: eles podem ser mapeados em uma única tabela (quando possuem a mesma chave primária), em duas tabelas (quando as chaves primárias são diferentes e um dos lados do relacionamento é obrigatório) ou em três tabelas (quando o relacionamento é opcional em ambos os lados);

118 158

Trata-se de um relacionamento em que uma linha de uma tabela está associada a uma ou mais linhas de outra tabela. Exemplo: suponha uma Tabela Pessoa, que armazena dados de diversas pessoas; e uma Tabela Cartão, que armazena dados sobre diversos cartões. Em nosso contexto, sabe-se que uma pessoa pode possuir diversos cartões, mas um cartão só pode pertencer a uma única pessoa. Bacana? Agora uma informação importantíssima: em contraste com o relacionamento anterior (em que podíamos escolher em qual tabela inserir a chave estrangeira), nesse caso a chave estrangeira ficará sempre na tabela do lado N. Como assim, professor? No exemplo abaixo, temos um Relacionamento 1:N (Pessoa:Cartão), logo a chave primária da Tabela Pessoa se tornará uma chave estrangeira na Tabela Cartão. Ok?

CPF 111.111.111-11 222.222.222-22 333.333.333-33 444.444.444-44 555.555.555-55 666.666.666-66

NOME DÉCIO TERROR GUILHERME NEVES RICARDO VALE ROSENVAL JÚNIOR HERBERT ALMEIDA Marcos girão

código 101 102 103 104 105 106

bandeira MASTERCARD VISA AMERICAN EXPRESS DINERS CLUB ELO hipercard

CPF 111.111.111-11 333.333.333-33 555.555.555-55 444.444.444-44 222.222.222-22 333.333.333-33

Trata-se de um relacionamento em que várias linhas de uma tabela se associam a várias linhas de outra tabela. Exemplo: suponha uma Tabela Professor, que armazena dados de diversos professores; e uma Tabela Aluno, que armazena dados sobre diversos alunos. Em nosso contexto, sabe-se que um professor pode ter diversos alunos e um aluno pode ter diversos professores, por isso se trata de um relacionamento muitos-para-muitos. Aqui temos também uma informação importante: sistemas de bancos de dados relacionais normalmente não permitem implementar um relacionamento muitos-para-muitos direto entre duas tabelas. Para evitar esse problema, você pode dividir o relacionamento muitos para muitos em dois relacionamentos um para muitos usando uma terceira tabela, chamada de tabela de associação ou tabela associativa.

119 158

Cada linha em uma tabela associativa inclui as colunas das chaves primárias das duas tabelas que ela associa, e pode ter outros campos que pertençam ao relacionamento. Vamos pensar no exemplo abaixo: como um professor pode ter vários alunos e um aluno pode ter vários professores, temos um relacionamento muitos-para-muitos. Logo, temos que criar uma tabela associativa cuja chave será composta pela junção das chaves primárias de ambas as tabelas.

Cpf professor 111.111.111-11 222.222.222-22 333.333.333-33 444.444.444-44

NOME DIEGO CARVALHO RENATO DA COSTA RICARDO VALE ROSENVAL JÚNIOR

Cpf professor 111.111.111-11 222.222.222-22 333.333.333-33 444.444.444-44

CPF aluno 666.666.666-66 777.777.777-77 888.888.888-88 999.999.999-99

CPF aluno 666.666.666-66 777.777.777-77 888.888.888-88 999.999.999-99

NOME romário Roberto carlos Ronaldo fofo Rivaldo

Notem que é possível haver outros atributos não-chave na Tabela Associativa. Ademais, os dados armazenados estão diretamente relacionados aos fatos ou relacionamentos e, não, às tabelas. Como assim, professor? A tabela associativa acima poderia ter uma nova coluna não-chave que armazenasse a disciplina que o professor ministra para o aluno. Notem que a disciplina não é uma propriedade do professor e nem do aluno, é de ambos!

(SEFAZ/RS – 2018) No mapeamento de um modelo entidade-relacionamento para um modelo relacional de banco de dados, o tipo de relacionamento que implica a criação de uma terceira tabela para onde serão transpostos as chaves primárias e os eventuais atributos das duas tabelas originais é denominado: a) relacionamento N:N. b) relacionamento 1:1. c) relacionamento 1:N. d) autorrelacionamento 1:N. e) relacionamento ternário. _______________________ Comentários: se o relacionamento implica a criação de uma terceira tabela onde serão transpostas as chaves primárias e os eventuais atributos das tabelas originais, trata-se de um relacionamento N:N (Letra A).

(UFVJM/MG – 2017) Em um relacionamento entre duas entidades, em que a primeira pode se relacionar com vários registros na segunda, e a segunda se relaciona com apenas uma na primeira, tem-se:

120 158

a) Relacionamento 1-1 b) Relacionamento 1-N c) Relacionamento N-N d) Relacionamento N-M _______________________ Comentários: se a primeira pode se relacionar com vários registros da segunda e a segunda se relaciona com apenas uma na primeira, temos um Relacionamento 1-N (Letra B).

121 158

Representa dados por meio de uma linguagem matemática, utilizando teoria de conjuntos e lógica de predicado de primeira ordem – ele efetivamente representa o banco de dados como uma coleção de relações.

Consiste em matrizes simples, bidimensionais, compostas por elementos de dados – é a base de planilhas eletrônicas.

Permite que várias tabelas sejam utilizadas simultaneamente por meio de referências ou apontadores.

Variação do Modelo em Rede que limita as relações a uma estrutura semelhante à estrutura de uma árvore.

Trata os dados como objetos que possuem propriedades (atributos) e operações (métodos).

Trata os dados como uma coleção de tabelas compostas por linhas e colunas e relacionadas por meio de chaves.

Tabela/relação Coluna/atributo*

Diego Carvalho Renato da Costa

1357981 2121578

Bolsista Regular

Ciência da Computação Engenharia da Computação

Domínio/tipo

Linha/tupla

122 158

Coleção de operações de alto nível sobre relações ou conjuntos cujo resultado seja uma nova relação ou conjunto.

σ(T1)

Sim

Unária

Seleciona todas as linhas que satisfazem a condição de seleção de uma Tabela T1.

Π(T1)

Não

Unária

Produz uma nova tabela com apenas algumas das colunas de uma tabela T1 e remove linhas duplicadas. Produz uma nova tabela com todas as combinações possíveis de linhas de duas tabelas T1 e T2.

T1 X T2

Sim

Binária

T 1 ⋈ T2

Sim

Binária

T1 ⋃ T 2

Sim

Binária

T 1 ∩ T2

Sim

Binária

T 1 - T2

Não

Binária

Produz uma nova tabela com todas as combinações possíveis de linhas de duas tabelas T1 e T2 que satisfazem uma condição de seleção. Produz uma nova tabela que inclui todas as linhas das Tabela T1 e T2, eliminando as duplicatas – as tabelas devem ser união-compatíveis. Produz uma tabela que inclui todas as linhas em comum das Tabela T 1 e T2 – as tabelas devem ser união-compatíveis. Produz uma tabela que inclui todas as linhas de uma Tabela T1 que não estão na Tabela T2 – as tabelas devem ser união compatíveis.

É basicamente uma única tabela que é derivada de outras tabelas (reais ou virtuais). Uma view funciona como uma tabela virtual cujo comportamento se assemelha a uma tabela real de banco de dados, no entanto sem armazenar os dados – essas estruturas sempre dependem da base de dados que está realmente armazenada fisicamente.

123 158

Modo comum de melhorar o desempenho de um banco de dados, agilizando consultas por meio da localização ágil de um registro na tabela.

Restringe que uma chave primária se repita – uma chave primária diferencia de forma única os registros de uma relação. Restringe que um campo de uma relação tenha valores diferentes daqueles definidos para o campo específico. Restringe que uma chave primária tenha valores nulos (NULL). Pode ser considerada uma subcategoria da restrição de domínio. Restringe que a chave estrangeira de uma tabela seja inconsistente com a chave candidata da tabela referenciada.

Conjunto de uma ou mais colunas que, tomadas coletivamente, permitem identificar de maneira unívoca uma linha. Superchaves de tamanho mínimo, candidatas a serem possíveis chaves primárias de uma tabela. Chaves cujas colunas são utilizadas para identificar linhas em uma tabela – em geral, vêm sublinhada. Chaves candidatas a serem possíveis chaves primárias de uma tabela, mas que não foram escolhidas. Chaves de uma tabela que fazem referência à chave candidata de outra tabela, ou até mesmo da própria tabela.

Relacionamento 1:1: trata-se de um relacionamento em que uma linha de uma tabela está associada com uma e apenas uma linha de outra tabela (*ou fundir ambas as tabelas).

CÓDIGO PAÍS 100 200 300 400 500 600

PAÍS Holanda Austrália Colômbia Hungria Vietnã Quênia

CÓDIGO CAPITAL 123 234 345 456 567 678

CAPITAL Hanói Budapeste nairóbi amsterdam Camberra Bogotá

CÓDIGO PAÍS 500 400 600 100 200 300

124 158

Relacionamento 1:N: trata-se de um relacionamento em que uma linha de uma tabela está associada a uma ou mais linhas de outra tabela.

CPF 111.111.111-11 222.222.222-22 333.333.333-33 444.444.444-44 555.555.555-55 666.666.666-66

NOME DÉCIO TERROR GUILHERME NEVES RICARDO VALE ROSENVAL JÚNIOR HERBERT ALMEIDA Marcos girão

código 101 102 103 104 105 106

bandeira MASTERCARD VISA AMERICAN EXPRESS DINERS CLUB ELO hipercard

CPF 111.111.111-11 333.333.333-33 555.555.555-55 444.444.444-44 222.222.222-22 333.333.333-33

Relacionamento N:M: trata-se de um relacionamento em que várias linhas de uma tabela se associam a várias linhas de outra tabela.

Cpf professor 111.111.111-11 222.222.222-22 333.333.333-33 444.444.444-44

NOME DIEGO CARVALHO RENATO DA COSTA RICARDO VALE ROSENVAL JÚNIOR

Cpf professor 111.111.111-11 222.222.222-22 333.333.333-33 444.444.444-44

CPF aluno 666.666.666-66 777.777.777-77 888.888.888-88 999.999.999-99

CPF aluno 666.666.666-66 777.777.777-77 888.888.888-88 999.999.999-99

NOME romário Roberto carlos Ronaldo fofo Rivaldo

125 158

126 158

127 158

128 158

129 158

130 158

131 158

132 158

133 158

Essa correspondência de nomenclaturas faz parte do modelo relacional de dados. Gabarito: Letra B 7. (CESPE / TCU – 2015) Em um banco de dados estruturado de acordo com o modelo relacional, todos os elementos dos dados são colocados em tabelas bidimensionais, organizados em linhas e colunas, o que simplifica o acesso e a manipulação dos dados. Operações matematicamente conhecidas como de produto cartesiano, de seleção e de projeção também apoiam a manipulação de dados aderentes ao modelo relacional. Comentários:

134 158

135 158

12. (IESES / MSGAS – 2015) No projeto de banco de dados relacional, a integridade de entidades é uma característica que necessita ser garantida. Nesse contexto, assinale a alternativa correta: a) A integridade de entidades estabelece que o valor da chave primária deve ser um número sequencial auto-incrementado. b) A integridade de entidades estabelece que nenhum valor da chave primária pode ser null.

136 158

c) A integridade de entidades é utilizada para manter a consistência entre duas relações, sendo que esta é possível por meio de chaves estrangeiras. d) A integridade de entidades estabelece que as chaves primárias devem ser formadas por um único atributo. Comentários:

Restringe que uma chave primária se repita – uma chave primária diferencia de forma única os registros de uma relação. Restringe que um campo de uma relação tenha valores diferentes daqueles definidos para o campo específico. Restringe que uma chave primária tenha valores nulos (NULL). Pode ser considerada uma subcategoria da restrição de domínio. Restringe que a chave estrangeira de uma tabela seja inconsistente com a chave candidata da tabela referenciada.

A Restrição de Integridade de Entidade estabelece que nenhum valor de chave primária pode ser NULL (Nulo). Gabarito: Letra B 13. (CESGRANRIO / PETROBRAS – 2014) A álgebra relacional fornece um alicerce formal para as operações do modelo relacional. Um técnico de informática reconhece que essas operações permitem que um usuário especifique solicitações como expressões da álgebra relacional, nas quais a(o): a) operação PROJEÇÃO é usada para escolher um subconjunto das tuplas de uma relação que satisfaça uma condição de seleção. b) operação de PROJEÇÃO mantém quaisquer tuplas duplicadas, de modo que o resultado dessa operação é um conjunto de tuplas que pode conter tuplas repetidas. c) operação PROJEÇÃO pode selecionar certas colunas da tabela e descartar outras. d) operação SELEÇÃO é usada para incluir todas as tuplas de duas relações em uma única relação, sendo que as tuplas duplicadas são eliminadas.

137 158

138 158

139 158

d) Chave estrangeira. e) Chave secundária. Comentários:

Conjunto de uma ou mais colunas que, tomadas coletivamente, permitem identificar de maneira unívoca uma linha Superchaves de tamanho mínimo, candidatas a serem possíveis chaves primárias de uma tabela. Chaves cujas colunas são utilizadas para identificar linhas em uma tabela – em geral, vêm sublinhada. Chaves candidatas a serem possíveis chaves primárias de uma tabela, mas que não foram escolhidas. Chaves de uma tabela que fazem referência à chave candidata de outra tabela, ou até mesmo da própria tabela.

(a) Errado. Essa chave não existe; (b) Errado. Essa chave é uma possível chave primária; (c) Errado. Essa chave não existe; (d) Correto. Essa chave é uma chave primária de outra tabela; (e) Errado. Essa chave é uma chave candidata que não foi escolhida para ser chave primária. Gabarito: Letra D 19. (CESPE / TER-GO – 2015) Uma chave primária identifica um único valor de uma tupla no banco de dados e não possui mais de um atributo na tabela. Comentários: Uma chave primária pode ser composta por diversos atributos – não há restrições de quantidade de atributos de uma chave primária. Gabarito: Errado 20. (CESPE / TCE-PA – 2016) Em bancos de dados relacionais, chave estrangeira é aquela que permite uma ligação lógica entre duas tabelas — a chave estrangeira de uma tabela se liga logicamente à chave primária de outra tabela. Comentários: Perfeito! A Chave Primária de uma tabela se torna a Chave Estrangeira de outra tabela. Gabarito: Correto

140 158

141 158

142 158

armazenados no banco de dados é definida pelo modelo do SGBD. Os principais modelos são: hierárquico, em rede, orientado a objetos e: a) procedural. b) orientado a serviços. c) relacional. d) orientado a componentes. e) funcional. Comentários: Os principais modelos de bancos de dados são: hierárquico, em rede, orientado a objetos e... relacional. Aliás, esse é o principal modelo de banco de dados! Gabarito: Letra C 29. (CESPE / TCE-PE – 2017) A chave estrangeira (foreign key) é o campo que estabelece o relacionamento entre duas tabelas de bancos distintos, sendo necessariamente chave primária na tabela de um dos bancos. Comentários: Opa! A chave estrangeira realmente é o campo que estabelece o relacionamento entre duas tabelas, no entanto essas tabelas devem pertencer ao mesmo banco. Além disso, uma chave estrangeira não é obrigatoriamente chave primária de outra tabela do mesmo banco, visto que é possível ter uma chave estrangeira que referencia uma chave candidata de outra tabela. Gabarito: Errado 30. (CESPE / Banco da Amazônia – 2012) A operação da álgebra relacional SELECT extrai as tuplas específicas de uma relação, e a operação PROJECT extrai atributos específicos de uma relação. Comentários: Perfeito! SELECT é a Operação de Seleção, que extrai linhas específicas de uma tabela. Já a Operação de Projeção (PROJECT) extrai colunas específicas de uma tabela. Gabarito: Correto 31. (CESPE / MEC – 2015) A operação PROJEÇÃO seleciona algumas colunas e linhas da relação/tabela, enquanto descarta outras. Comentários:

143 158

144 158

Perfeito! O modelo relacional é estruturado em forma de tabelas em que colunas representam atributos/campos e linhas representam registros/instâncias de uma relação. Gabarito: Correto Considerando a figura apresentada, que ilustra o modelo de um banco de dados hipotético, julgue o item que se segue.

36. (CESPE / PF – 2018) Considerando-se apenas o diagrama apresentado, infere-se que, na aplicação das regras para a transformação do modelo ER em um modelo relacional, é necessário realizar a fusão das tabelas referentes às entidades envolvidas no relacionamento. Comentários: No diagrama apresentado, temos dois entidades em um relacionamento 1:N. Ao transformar isso em um modelo relacional, não é necessário fundir tabelas (característica comum do relacionamento

145 158

146 158

Comentários: Pela notação pé-de-galinha apresentada, trata-se de um relacionamento muitos-para-muitos (N:N). Dessa forma, para ser representado no modelo relacional, é necessário criar uma tabela associativa. Gabarito: Correto 42. (CESPE / ME – 2020) Chaves estrangeiras não podem ser nulas e cada registro na tabela deve possuir uma, e somente uma, chave estrangeira. Comentários: Chaves estrangeiras – quando não tiverem restrições explícitas na declaração da coluna – podem receber valores nulos. Essa situação acontece quando temos relacionamentos não obrigatórios. Nestes casos, quando uma instância de uma determinada entidade, não estiver relacionada a uma instância da outra entidade, o valor da chave estrangeira será nulo. Gabarito: Errado 147 158

148 158

Comentários: Bancos de dados relacionais realmente organizam dados em tabelas e esses dados se vinculam entre tabelas por meio de campos/colunas e chaves. Essas relações – de fato – permitem recuperar e combinar dados de uma ou mais tabelas com uma única consulta. Gabarito: Correto

149 158

150 158

151 158

152 158

155 158

35. (CESPE / TCE/PA – 2016) Se esse modelo for implementado, ele permitirá a criação de duas tabelas, uma para cada entidade, uma vez que relacionamentos do tipo n:n utilizam o método fusão de tabelas para serem implementados. Considerando o modelo entidade-relacionamento (ER) precedente, julgue os itens a seguir.

156 158

157 158

1. LETRA B 2. LETRA D 3. LETRA B 4. LETRA B 5. LETRA C 6. LETRA B 7. CORRETO 8. LETRA C 9. ERRADO 10. ERRADO 11. LETRA B 12. LETRA B 13. LETRA C 14. LETRA E 15. ERRADO 16. LETRA E

17. LETRA E 18. LETRA D 19. ERRADO 20. CORRETO 21. CORRETO 22. ERRADO 23. ERRADO 24. CORRETO 25. LETRA A 26. CORRETO 27. CORRETO 28. LETRA C 29. ERRADO 30. CORRETO 31. ERRADO 32. ERRADO