Académique Documents
Professionnel Documents
Culture Documents
SUMÁRIO PÁGINA
1.Bancos de Dados: Conceitos Básicos 2
1.1 Definições 2
1.2 SGBD 4
1.3 Características de um banco de dados 6
1.4 Trabalhadores envolvidos 9
1.5 Vantagens da abordagem SGBD 12
1.6 Desvantagens da abordagem SGBD 13
1.7 Arquitetura três esquemas de um SGBD 13
1.8 Categorias de modelos de dados 16
1.9 Tipos de modelos de dados 19
1.10 Modelo Entidade-Relacionamento 23
1.11 Cardinalidade 26
1.12 Modelo Relacional 38
1.13 Gerenciamento de Transações 49
1.14 Catálogo de Dados 50
1.15 Views 52
1.16 Normalização de dados 55
Exercícios Comentados 61
Considerações Finais 112
Exercícios 113
Gabarito 140
Olá pessoal!
1.1 Definições
1.2 SGBD
a) acesso simultâneo.
b) semáforo de acesso.
c) transação.
d) modularização.
e) polimorfismo.
Atenção!
a) II, apenas.
b) II e III, apenas.
c) I, II e III.
d) I e II, apenas.
e) III, apenas.
Alternativa d).
a) Projeto lógico.
b) Teste de integração.
c) Instalação.
d) Definição da ferramenta que será adotada.
e) Teste de carga.
O modelo hierárquico possui muitas limitações. Ele pode ser útil para
modelar esquemas fortemente hierárquicos (como classificações para
espécies dos reinos animal e vegetal, corporações, hierarquias
governamentais, etc.), mas apresenta limitações quando representa
modelos não-hierárquicos. Isto provocou o surgimento do modelo em rede.
(A) funcional.
(B) procedural.
(C) orientado a serviços.
(D) relacional.
Prof. Victor Dalton
www.estrategiaconcursos.com.br 22 de 140
Tecnologia da Informação para ICMS/SP 2017
Agente Fiscal de Rendas Gestão Tributária
Prof Victor Dalton Aula 04
(E) orientado a componentes.
001 Marcos S
002 Paula N
003 Roberta S
004 Marcelo N
DEPARTAMENTO
A linha dupla indica participação total, e a entidade ligada por linha dupla
exige que ela se relacione com pelo menos uma entidade do outro lado do
relacionamento. Já a linha simples indica o relacionamento, mas pode ser
que nem toda entidade possua um relacionamento.
A questão seria bem mais clara se ela, ao invés de falar “cada entidade” do
“conjunto de entidades”, falasse “instância das entidades” das “entidades”.
1.11 Cardinalidade
DEPARTAMENTO
PROJETO
Prof. Victor Dalton
www.estrategiaconcursos.com.br 27 de 140
Tecnologia da Informação para ICMS/SP 2017
Agente Fiscal de Rendas Gestão Tributária
Prof Victor Dalton Aula 04
CodProjeto NomeProjeto CodDepResponsavel
PROJETO
EMPREGADO
001 Marcos S
002 Paula N
003 Roberta S
004 Marcelo N
TRABALHA
CodEmpregado CodProjeto
001 P01
001 P02
002 P03
003 P01
Entidades: retângulos
Um relacionamento 1-1 é ilustrado, na notação pé-de-galinha, por duas listras verticais, “||“
(1-1). Zero é representado por “o” e N pelo “pé-de-galinha.”
Neste relacionamento,
Exclusiva ou disjunta (x ou d): se uma mídia é livro, ela não pode ser DVD, e vice-versa.
Creio que você já o entenda mais do que quando o viu pela primeira
vez. Mas vamos entendê-lo ainda mais, pois ele está carregado de
informações do modelo relacional.
Não confunda!
Simples Monovalorado
indivisível um único valor na tupla
Composto Multivalorado
pode ser dividido em várias partes mais de um valor dentro da
mesma tupla
Carro Cor
Gol Preto, Azul, Amarelo
O atributo Idade é um atributo derivado, pois pode ser calculado com base
no atributo armazenado Data de Nascimento, tendo o dia atual como
referência.
codigo_cliente Nome
1 Jader
2 Afonso
3 André
4 Simone
Perceba que, mesmo que um mesmo atributo possa ser (ou compor)
chave primária e ser chave estrangeira, as funções da chave são bem
distintas. A primária restringe unicidade ou nulidade, enquanto a
estrangeira restringe relacionamento. No esquema, as chaves parcialmente
douradas estão fazendo o papel de chave primária, mas funcionam ao
mesmo tempo como chaves estrangeiras, na mesma tabela.
Por fim, acho interessante que você saiba que, no modelo relacional,
podemos descrever as tabelas, seus atributos e restrições da seguinte
forma abaixo, com os atributos entre parênteses e as chaves sublinhadas:
* Nome Telefone
1 Paulo (11) 99999-8888
2 Paulo (11) 99999-7777
Creio que podemos voltar a este aspecto, uma vez que você
compreende um pouco mais sobre banco de dados.
Lembra que, no começo da apostila, eu falei que o SGBD precisava
gerenciar milhares de transações simultâneas, fazer controle de
redundância, dentre outros?
Acho que você compreende isso melhor agora. Basta imaginar uma
simples transação modificando múltiplas tabelas, verificando restrições de
integridade. Já não é algo simples para uma transação única. E quando as
transações tentam modificar os mesmos campos de uma tabela ao mesmo
tempo? É aí que entra o famoso controle de concorrência do SGBD,
organizando as transações, impedindo que o Banco de Dados entre em um
estado inconsistente.
a) durabilidade e consistência.
b) persistência e automação.
c) isolação e atomicidade.
d) durabilidade e atomicidade.
e) consistência e persistência.
Uma vez visto o modelo relacional, creio que seja mais simples
entender o papel do catálogo, ou dicionário de dados.
View é uma tabela única derivada de outras tabelas. Por não existir
fisicamente, pode ser considerada uma tabela virtual. A visão,
diferentemente das tabelas básicas, não contém suas tuplas armazenadas
no banco de dados.
DEPARTAMENTO
PROJETO
VISÃO PROJETO
Projeto Departamento
Responsável
Inovação Marketing
Reestruturação Administração
VISÃO PROJETO
Projeto Departamento
Responsável
Inovação Marketing
Reestruturação Administração
Esta view não permite a modificação dos dados, pois ela envolve duas
tabelas, Projeto e Departamento, lembra?
Nome Telefone
Paulo (11) 99999-8888
(11) 99999-7777
(11) 3030-3131
Marta (11) 5678-9012
(11) 99988-9876
Rita (11) 98765-4321
Nome Telefone
Paulo (11) 99999-8888
Existem tabelas na 4FN que não podem ser divididas em duas relações
sem perda de informação. Por exemplo:
(A) todos atributos que não fizerem parte da chave primária dessa relação
forem do tipo literal, com um comprimento máximo de 20 caracteres.
(B) não houver atributos do tipo numérico na chave primária dessa relação,
mas apenas atributos do tipo derivado.
(C) todos atributos que não fizerem parte da chave primária dessa relação
forem completamente dependentes de sua chave primária, ou seja,
dependente de toda a chave e não apenas de parte dela.
(D) houver um número mínimo de 3 atributos nessa relação, sendo que
todos esses atributos devem ser do tipo composto.
(E) os atributos de R estiverem restritos a uma lista predefinida de valores,
sendo essa lista composta por um número máximo de valores.
Para estar na segunda forma normal, uma tabela, além de estar na 1FN,
precisa que todos os seus atributos não-chave forem dependam
funcionalmente da chave inteira. Ou seja, não podem existir atributos que
dependam apenas de parte da chave, caso exista mais de um atributo
compondo a chave primária.
EXERCÍCIOS COMENTADOS
Alternativa a).
Voltando à questão:
Alternativa d).
a) Projeto lógico.
b) Teste de integração.
c) Instalação.
d) Definição da ferramenta que será adotada.
e) Teste de carga.
Alternativa c).
a) integridade.
b) concorrência.
c) restrição.
d) desempenho.
e) restauração.
Alternativa e).
Das várias alternativas confusas, que passam por outros ramos da TI, a
alternativa e) apresenta uma afirmativa completa e coerente.
Para relembrar!
Alternativa a).
Relembrando:
Alternativa c).
O Nível conceitual:
a) II, apenas.
b) II e III, apenas.
c) I, II e III.
d) I e II, apenas.
e) III, apenas.
Alternativa d).
Alternativa b).
a) modularidade.
b) modelo conceitual.
c) independência lógica de dados.
d) polimorfismo.
e) agregação.
Alternativa c).
a) em rede.
b) relacional.
c) hierárquico.
d) orientado a objetos.
e) distribuído.
Conseguiu acompanhar?
Agora você tem uma questão de lógica para resolver. Leia alternativa a
alternativa, e descubra porque a alternativa e) é a correta.
A linha dupla indica participação total, e a entidade ligada por linha dupla
exige que ela se relacione com pelo menos uma entidade do outro lado do
relacionamento. Já a linha simples indica o relacionamento, mas pode ser que
nem toda entidade possua um relacionamento. Você lembra disso?
a) relacionamentos – entidades
b) atributos − relacionamentos
c) entidades − relacionamentos
d) entidades − atributos
e) atributos − entidades
Relembrando:
Alternativa d).
Alternativa c).
a) Tão errada que lhe confunde. Uma chave primária é uma coluna ou
uma combinação de colunas cujos valores distinguem uma tupla
das demais dentro de uma tabela.
b) Certa.
c) Não necessariamente. Chaves estrangeiras podem integrar chaves
primárias de uma tabela!
d) Quase! Uma chave primária é uma coluna ou uma combinação de
colunas cujos valores distinguem uma linha das demais dentro de
uma tabela.
e)Não necessariamente. A chave que restringe unicidade (a primária) pode
ou não ser a chave que restringe relacionamento (a estrangeira), pois são
conceitos independentes.
Alternativa d).
Atributos atômicos são aqueles que não podem ser divididos! Alternativa
b).
Alternativa a).
a) só pode servir como chave estrangeira de, no máximo, uma outra relação.
b) não pode ser indexada, quando da implementação do banco de dados.
c) não pode conter atributos do tipo Data.
d) pode ser formada por mais de um atributo.
e) não pode conter mais do que um atributo.
Alternativa d).
O projeto conceitual, você já sabe, vem antes do projeto lógico. Ele resulta
em diagramas como o acima: algo bem alto nível, pro projetista sentar com o
cliente e conversar, para saber se é isso que ele realmente quer. No projeto lógico
já começa a ser definido como as tabelas ficam na base de dados. Perceba também
algo que eu lhe falei antes: nesta questão, nitidamente relação é tabela!
Antes de mais nada, um erro da banca: perceba que CodLote deveria estar
em uma elipse. Mas isso não nos impede de prosseguir.
Nesse caso, as chaves são todas primárias. Atributos do tipo código quase
sempre são chaves.
a) table shadow.
b) view.
c) shadow table.
d) table blour.
e) blour table.
Alternativa b).
a) I,II e III.
b) I e II, somente.
c) I e III, somente.
d) II e III, somente.
e) I, somente.
Analisando os itens:
No caso de uma view que possui todas as colunas de uma tabela real, uma
inserção de uma linha, nessa view, insere, na verdade, um registro na tabela real.
a) dependência funcional
b) normalização
c) generalização/especialização
d) relacionamento identificador
Alternativa e).
e) Sistemas de arquivos.
Depois que a gente estuda fica trivial, não é mesmo? Alternativa c).
a) Modelo físico.
b) Modelo de dados.
c) Modelo virtual.
d) Modelo conceitual.
e) Modelo lógico.
Alternativa d).
a) Losango.
e) Retângulo.
Alternativa e).
III. Quando uma entidade é excluída, o valor de sua chave substituta deverá
ser alocado para a primeira nova entidade adicionada.
a) I e III, apenas.
b) I e II, apenas.
c) II e III, apenas.
d) I, II e III.
e) II, apenas.
* Nome Telefone
1 Paulo (11) 99999-8888
2 Paulo (11) 99999-7777
3 Paulo (11) 3030-3131
4 Marta (11) 5678-9012
5 Marta (11) 99988-9876
6 Rita (11) 98765-4321
Chave substituta: coluna não identificada, marcada com *
Alternativa b).
O atributo Idade é um atributo derivado, pois pode ser calculado com base
no atributo armazenado Data de Nascimento, tendo o dia atual como referência.
a) acesso simultâneo.
b) semáforo de acesso.
c) transação.
d) modularização.
e) polimorfismo.
c) independência modular.
d) representação conceitual.
a) abstração de dados.
b) acesso remoto.
c) independência funcional.
d) independência modular.
e) modelo relacional.
(A) funcional.
(B) procedural.
(C) orientado a serviços.
(D) relacional.
(E) orientado a componentes.
(A) um atributo do tipo derivado é aquele que pode ser dividido em duas ou
mais partes, sem perda de significado.
(E) um conjunto de entidades forte é aquele que tem apenas atributos literais
ou numéricos, não contendo atributos do tipo data.
Nome Telefone
Paulo (11) 99999-8888
(11) 99999-7777
(11) 3030-3131
Marta (11) 5678-9012
(11) 99988-9876
Rita (11) 98765-4321
A tabela acima não está na primeira forma normal (1FN). O atributo telefone
está multivalorado em alguns registros.
Nome Telefone
Paulo (11) 99999-8888
Paulo (11) 99999-7777
Paulo (11) 3030-3131
Marta (11) 5678-9012
Marta (11) 99988-9876
Rita (11) 98765-4321
Agora a tabela encontra-se na 1FN. O atributo multivalorado foi “atomizado”
por meio da criação de tuplas adicionais.
2ª Forma Normal – uma tabela estará na segunda forma normal se, além
de estar na 1FN, todos os seus atributos não-chave forem depender
funcionalmente da chave inteira. Se algum atributo da tabela depender
funcionalmente apenas de parte da chave primária, então este atributo deverá
migrar para outra tabela. Veja este exemplo:
Forma Normal de Boyce Codd (FNBC) – foi proposta como uma forma
mais simples de 3FN, mas acaba sendo mais rígida. Ou seja, toda relação na FNBC
está na 3FN, mas a volta não é obrigatoriamente verdadeira. Uma tabela estará
na BCNF se e somente se estiver na 3FN e todo atributo não chave depender
funcionalmente diretamente da chave primária, ou seja, não há dependências
entre atributos não chave. Nesse caso, todo determinante será chave candidata.
Perceba que um mesmo livro que possua vários autores receberá múltiplas
entradas na tabela AutAssLiv com a repetição do atributo assunto. Uma eventual
62 Quando um esquema de relação tem mais de uma chave, cada uma delas
é denominada chave-candidata, e, nesse caso, deve-se decompor a relação com
base nas dependências funcionais até que somente uma chave primária
permaneça na relação.
Errada! Já sabemos que todo modelo de dados na BCNF está na 3FN, mas
nem sempre modelos na 3FN estão na FNBC.
(A) todos atributos que não fizerem parte da chave primária dessa relação
forem do tipo literal, com um comprimento máximo de 20 caracteres.
(B) não houver atributos do tipo numérico na chave primária dessa relação,
mas apenas atributos do tipo derivado.
(C) todos atributos que não fizerem parte da chave primária dessa relação
forem completamente dependentes de sua chave primária, ou seja, dependente
de toda a chave e não apenas de parte dela.
(D) houver um número mínimo de 3 atributos nessa relação, sendo que todos
esses atributos devem ser do tipo composto.
(E) os atributos de R estiverem restritos a uma lista predefinida de valores,
sendo essa lista composta por um número máximo de valores.
Para estar na segunda forma normal, uma tabela, além de estar na 1FN,
precisa que todos os seus atributos não-chave forem dependam funcionalmente
da chave inteira. Ou seja, não podem existir atributos que dependam apenas de
parte da chave, caso exista mais de um atributo compondo a chave primária.
I. Para incluir uma nova tupla na tabela será necessário incluir ou os valores
de atributo do departamento para o qual o funcionário trabalha ou valores NULL,
se o funcionário ainda não trabalha para nenhum departamento. Este é um
exemplo de anomalia de inserção.
II. A única maneira de inserir um novo departamento que ainda não tenha
funcionários é colocar valores NULL nos atributos para funcionário, já que este
procedimento não viola a integridade de entidade. Este é um exemplo de anomalia
de inserção.
(A) I, II e IV.
(B) I, III e IV.
(C) III e IV.
(D) I, II e III.
(E) II e IV.
II. Sentença errada. Como FuncCPF é chave primária, não é possível inserir
um novo departamento sem inserir um funcionário.
A questão quer que você conclua os tipos de atributos com base em sua
autodescrição.
Neste relacionamento,
Faça um esforço, vale a pena esse sacrifício. Se tudo der certo, será a
última vez que você estuda esses assuntos.
Bons estudos!
Victor Dalton
a) Projeto lógico.
b) Teste de integração.
c) Instalação.
d) Definição da ferramenta que será adotada.
e) Teste de carga.
a) integridade.
b) concorrência.
c) restrição.
d) desempenho.
e) restauração.
O Nível conceitual:
a) II, apenas.
b) II e III, apenas.
c) I, II e III.
d) I e II, apenas.
e) III, apenas.
a) modularidade.
b) modelo conceitual.
c) independência lógica de dados.
d) polimorfismo.
e) agregação.
a) em rede.
b) relacional.
c) hierárquico.
d) orientado a objetos.
e) distribuído.
a) relacionamentos – entidades
b) atributos − relacionamentos
c) entidades − relacionamentos
d) entidades − atributos
e) atributos − entidades
a) table shadow.
b) view.
c) shadow table.
d) table blour.
e) blour table.
I. Uma VIEW provê mais segurança, pois permite esconder parte dos dados
da tabela real.
II. Os dados que compõem a VIEW são armazenados separadamente da
tabela real.
III. Uma linha inserida na VIEW, com todas as colunas, será inserida na
tabela real.
a) I,II e III.
b) I e II, somente.
c) I e III, somente.
d) II e III, somente.
e) I, somente.
a) dependência funcional
b) normalização
c) generalização/especialização
d) relacionamento identificador
e) cardinalidade.
a) Modelo físico.
b) Modelo de dados.
c) Modelo virtual.
d) Modelo conceitual.
e) Modelo lógico.
a) Losango.
e) Retângulo.
III. Quando uma entidade é excluída, o valor de sua chave substituta deverá
ser alocado para a primeira nova entidade adicionada.
a) I e III, apenas.
b) I e II, apenas.
c) II e III, apenas.
d) I, II e III.
e) II, apenas.
a) acesso simultâneo.
b) semáforo de acesso.
c) transação.
d) modularização.
e) polimorfismo.
c) independência modular.
a) abstração de dados.
b) acesso remoto.
c) independência funcional.
d) independência modular.
e) modelo relacional.
(A) funcional.
(B) procedural.
(C) orientado a serviços.
(D) relacional.
(E) orientado a componentes.
(A) um atributo do tipo derivado é aquele que pode ser dividido em duas ou
mais partes, sem perda de significado.
(E) um conjunto de entidades forte é aquele que tem apenas atributos literais
ou numéricos, não contendo atributos do tipo data.
62 Quando um esquema de relação tem mais de uma chave, cada uma delas
é denominada chave-candidata, e, nesse caso, deve-se decompor a relação com
base nas dependências funcionais até que somente uma chave primária
permaneça na relação.
(A) todos atributos que não fizerem parte da chave primária dessa relação
forem do tipo literal, com um comprimento máximo de 20 caracteres.
(B) não houver atributos do tipo numérico na chave primária dessa relação,
mas apenas atributos do tipo derivado.
(C) todos atributos que não fizerem parte da chave primária dessa relação
forem completamente dependentes de sua chave primária, ou seja, dependente
de toda a chave e não apenas de parte dela.
(D) houver um número mínimo de 3 atributos nessa relação, sendo que todos
esses atributos devem ser do tipo composto.
(E) os atributos de R estiverem restritos a uma lista predefinida de valores,
sendo essa lista composta por um número máximo de valores.
I. Para incluir uma nova tupla na tabela será necessário incluir ou os valores
de atributo do departamento para o qual o funcionário trabalha ou valores NULL,
se o funcionário ainda não trabalha para nenhum departamento. Este é um
exemplo de anomalia de inserção.
(A) I, II e IV.
(B) I, III e IV.
(C) III e IV.
(D) I, II e III.
(E) II e IV.
Neste relacionamento,
GABARITO
1.e 2.a 3.a 4.b 5.d 6.a 7.c 8.d 9.b 10.e
11.e 12.a 13.c 14.e 15.d 16.b 17.a 18.c 19.a 20.d
21.e 22.e 23.d 24.c 25.a 26.b 27.a 28.d 29.c 30.b
31.a 32.e 33.b 34.e 35.d 36.d 37.a 38.b 39.a 40.d
41.a 42.c 43.b 44.c 45.e 46.c 47.d 48.a 49.d 50.b
51.a 52.b 53.c 54.e 55.d 56.a 57.a 58.d 59.d 60.a
61.a 62.e 63.c 64.e 65.e 66.e 67.c 68.c 69.b 70.b
71.e 72.b