Escolar Documentos
Profissional Documentos
Cultura Documentos
Curso 11207 Aula 00 2a29 Completo
Curso 11207 Aula 00 2a29 Completo
Aula 00
Sumário
Apresentação do professor .................................................................................................. 1
Motivação para o curso ......................................................................................................... 2
Cronograma............................................................................................................................. 4
Conceitos de Banco de Dados ............................................................................................. 5
1. Considerações iniciais ............................................................................................. 5
2. Conceitos básicos .................................................................................................... 6
3. Características da abordagem de BD.................................................................. 9
4. Personagem do ecossistema de BD .................................................................. 12
5. Evolução histórica dos SGBDs ............................................................................ 15
6. Modelo de Dados, instâncias, esquemas ......................................................... 21
7. Arquitetura três esquemas .................................................................................. 22
Modelagem conceitual......................................................................................................... 24
8. Modelo Entidade Relacionamento - ER............................................................. 24
8.1. Melhorias no Modelo E-R.................................................................................. 26
8.1.1. Especialização e generalização ................................................................... 26
8.1.2. Disjunção e sobreposição ............................................................................. 28
8.1.3. Restrição participação ................................................................................... 29
8.1.4. Agregação ........................................................................................................ 30
8.2. Outras representações conceituais ................................................................ 32
8.2.1. Notação de Barker ......................................................................................... 32
8.2.2. Notação de pé-de-galinha ............................................................................ 33
Questões comentadas ..................................................................................................... 36
Considerações finais ............................................................................................................ 72
Referências ............................................................................................................................ 72
Apresentação do professor
Olá senhoras e senhores! Hoje começamos mais um curso relacionado a
Banco de dados. É um prazer imenso fazer parte desta equipe de pro fessores do
Estratégia Concursos e ter a oportunidade de apresentar um pouco do meu
conhecimento e experiência em concursos públicos! Gostaria, antes de começar
de fato o conteúdo teórico desta aula, de me apresentar de forma rápida. Creio
que seja importante para nos conhecermos.
Meu nome é Thiago, sou casado, tenho um filho de quatro anos. Sou
cristão. Frequento a IPN – Igreja Presbiteriana Nacional. Sou formado em
Ciência da Computação pela UFPE. Tenho mestrado em engenharia de software
na mesma faculdade. Frequento academia para manter a forma, mas meu hobby
mesmo é pedalar! Decidi vender o carro e viver num desafio intermodal de
transporte. Vou para o trabalho de bike sempre que possível!
Fazer parte dele é motivo de orgulho! E nossa tarefa aqui é ajudar você
nesta empreitada. A preparação para um concurso TOP como o do TCU é uma
jornada cheia de desafios, superação e abnegação. Contudo o resultado é
extremamente gratificante.
Teremos muito trabalho pela frente. Por isso, montamos um curso teórico
em PDF, baseado nas mais diversas bancas, em especial do CESPE,
apresentando o conteúdo observando as variadas formas de cobrança do mesmo
pelas bancas examinadoras.
Vamos juntos?
Cronograma
Para proporcionar uma visão geral do assunto e fornecer uma linha de ação
para o estudo da matéria dividimos o curso em sete aulas, sendo esta a aula 00.
A aula engloba a parte introdutória da matéria de banco de dados, incluindo a
modelagem conceitual. As demais aulas, seguindo a ementa do curso, são
apresentadas abaixo e estão distribuídas como se segue:
1. Considerações iniciais
Quando comecei a escrever esse curso meu pensamento era o seguinte:
como fornecer ao aluno segurança para fazer as questões relativas a Banco de
Dados? Um brainstorm rápido me trouxe algumas ideias: trazer as questões
mais recentes das mais diversas bancas, não somente do CESPE, e redigir um
texto enxuto, mas com todos os conceitos e explicações necessário s para levar
você a marcar a alternativa correta.
Vamos tentar resolver algumas questões que vão além do escopo teórico
do curso. Expandir o pensamento, criando uma linha de raciocínio adequada, vai
facilitar a fixação do assunto. Começaremos pelos conceitos básicos relacionados
a Banco de dados. Depois passaremos para o primeiro ponto do edital do IBGE,
qual seja, modelagem conceitual.
2. Conceitos básicos
Em qualquer ciência, o entendimento completo do seu conteúdo deve se
basear nos conceitos fundamentais. A primeira aula começa focada nesses
conceitos. Quando iniciamos o estudo sobre Banco de Dados, logo vem um
questionamento: o que é banco de dados? Para definir esse termo podemos
começar montado o conceito por suas partes.
3. Características da abordagem de BD
Segundo Navathe, são quatro, as principais características da abordagem
de banco de dados que a fazem sobressair em relação às abordagens de
processamento de arquivo.
Vejam que a lista acima pode ser caracterizada como uma enumeração e,
como eu sempre digo, listas fazem parte do rol de questões de prova de
concurso. Seja qual for a matéria, sempre gaste um pouco do seu tempo lendo,
mais de uma vez, cada uma das listas pertencentes ao assunto. A verdade é:
que não importa o grau de relevância dentro do assunto, um examinador
preguiçoso sempre está propicio a utiliz ar deste artifício ao elaborar uma
questão.
4. Problemas de Integridade
5. Problemas de atomicidade
7. Problemas de Segurança
4. Personagem do ecossistema de BD
Quando tratamos de grandes organizações, as atividades relacionadas a
banco de dados devem ser compartilhadas entre diferentes pessoas. Trataremos
agora dos dois principais papeis dentro desse processo: o administrador de
banco de dados (DBA) e o administrador de dados (AD).
Curiosidade: Ao que tudo indica o termo NoSQL foi criado em 1998 por
Carlo Strozzi para nomear seu projeto open source, que tinha como objetivo ser
uma implementação mais leve de um banco de dados relacional, porém sua
principal característica era não expor a interface SQL. Portanto é bem irônico
usar o termo NoSQL, criado para nomear um banco de dados relacional, para
classificar soluções de armazenamento de dados não relacionais.
Vamos ficando por aqui, isso é o que nos interessa para o contexto
histórico. Apresentamos abaixo uma figura com uma evolução dos modelos de
dados ao longo do tempo.
De uma forma simples cada um dos níveis possui uma função dentro das
suas abstrações. O nível de visão do usuário determina a parte em que o usuário
tem acesso. O nível conceitual identifica os dados armazenados e suas relações.
Por fim, o nível físico é o nível mais baixo de abstração, define a maneira como
os dados estão armazenados.
Modelagem conceitual
Simples x Compostos
Monovalorados x Multivalorados
Armazenados x Derivados
Uma entidade fraca não possui entre seus próprios atributos um que
seja atributo-chave. São identificadas por estarem relacionadas a
entidades específicas de outro tipo entidade conhecidas como entidade
forte. Geralmente um atributo da entidade forte faz parte da chave
primária da entidade fraca.
um círculo, que por sua vez está ligado por uma linha a cada subclasse que foi
definida. O símbolo em forma de ' ' em cada linha que liga uma subclasse ao
círculo indica que a subclasse é um subconjunto da superclasse. O círculo pode
ser vazio ou pode conter um símbolo “d” (para disjunção) ou “o” (para
sobreposição). Vejam a figura abaixo para esclarecer a nossa explicação.
8.1.4. Agregação
Os diagramas ER discutidos até agora representam as relações entre duas
ou mais entidades. Um diagrama de ER não pode representar os
relacionamentos entre relacionamentos. No entanto, em algumas situações, é
necessário utilizar algum artifício para representar uma relação entre os
relacionamentos. A melhor forma de representar estes tipos de situações é por
meio da agregação. O processo através do qual podemos tratar os
relacionamentos como entidades de nível superior é conhecido como agregação.
uma entidade associada, por meio de relacionamentos binários, a cada uma das
entidades que participam do relacionamento ternário.
A Oracle agora suporta UML como uma alternativa para a notação Barker
ER, embora para aplicações de banco de dados, muitos modeladores ainda
preferem a notação Barker em vez de UML. Recentemente, a Embarcadero
adicionou suporte básico para a notação Barker em seu produto EA/Studio.
Embora existam dezenas de dialetos ER, consideramos a notação Barker pode
ser uma das melhores notações de ER, pois tem com amplo apoio na indústria.
O "*" ou ponto escuro "•" indica que o atributo é obrigatório (ou seja, cada
instância na população banco de dados do tipo de entidade deve ter um valor
não nulo registrado para este atributo). Um "°" indica que o atributo é opcional.
Alguns projetistas utilizam um ponto “." para indicar que o atributo não é parte
do identificador ou da chave.
Neste relacionamento,
A podem haver departamentos cadastrados sem nenhum empregado relacionado
a ele.
B todo departamento cadastrado deverá ter, obrigatoriamente, pelo menos, um
empregado.
C um mesmo empregado pode estar associado a muitos departamentos.
D somente dois departamentos poderão ser cadastrados.
E somente três empregados poderão ser relacionados a cada departamento.
Gabarito A. Vamos aproveitar a questão para falar de outra notação conceitual.
A abordagem de Engenharia da Informação (EI) ou sistemas de informação
começou com o trabalho de Clive Finkelstein na Austrália e do CACI no Reino
Unido, mais tarde foi adaptada por James Martin. James ficou conhecido como
responsável pelo sucesso e propagação da notação. Existem diferentes versões
de notações para EI, sem um padrão único. De uma forma ou outra, a EI é
suportada por muitas ferramentas de modelagem de dados e é uma das
notações mais populares para o projeto de banco de dados.
A notação de EI é semelhante à notação de Barker, ela apresenta a frequência
máxima de um papel através da marcação na extremidade da linha do
relacionamento. Mas, ao contrário da notação Barker, a notação da EI apresenta
também a possibilidade de configuração opcional/obrigatória. O elemento gráfico
mais próximo da entidade representa o número máximo de elementos: apenas
um no caso da barra vertical (|) ou vários ( ou ). O outro elemento gráfico
representa a obrigação (|) ou opção ( Veja a figura abaixo.
Vejam que pela figura acima podemos inferir do diagrama da questão que pode
haver departamento cadastrado sem nenhum empregado associado a ele. Ou
ainda, cada departamento possui de zero até n empregados. Agora, por outro
lado, cada empregado participa de um e apenas um departamento. Não existe a
opção de um empregado existir sem um departamento relacionado. Sendo assim
confirmamos nossa resposta na alternativa A.
Questões comentadas
Aproveitamos este espaço para complementar seu entendimento sobre o
assunto, sempre colocando pinceladas extras de conteúdo. Nosso objeto é criar
em você a capacidade de utilizar seu conhecimento, atrelado a algumas
heurísticas, para resolver de forma rápida e segura as questões na hora da
prova. Alguns assuntos abaixo serão detalhados em aulas subsequentes.
Aproveite as questões para ir se familiarizando com o vocabulário de banco de
dados.
Gabarito: C
Gabarito: C
Na questão 66 temos um erro ao disser que a exclusão de uma linha pode violar
a integridade referencial por meio da chave primária, o certo seria dizer que
pode existir uma violação de integridade por meio da chave estrangeira. Em
outras palavras podemos pensar da seguinte forma: eu só posso excluir uma
linha da tabela A se não existir nenhuma referência a ela em outra tabela X.
Essa referência é feita por meio de uma chave estrangeira, presente na outra
tabela X.
Na questão 67 o erro é atribuir a entidade forte o conceito de entidade fraca.
A alternativa 68 trata da chave primária de uma tabela. Essa pode ser definida
sobre um ou vários atributos. Quando definida sobre mais de um atributo é
necessário que a informação contida no conjunto de atributos da chave seja
única para cada linha da tabela. Sendo assim podemos assinalar a alternativa
como incorreta.
71 Um SGBD deve gerenciar o acesso múltiplo aos dados de uma tabela sem
ocasionar perda da integridade dessas informações.
Gabarito E C C. Você deve lembrar da primeira figura da aula onde
apresentamos a estrutura do Sistema de Banco de Dados (SBD), vai perceber
que, um sistema utilizando meios lícitos não deve conseguir acessar os dados
sem passar pelo SGBD. Logo, a alternativa 69 está incorreta.
Veja que a tarefa de becape é uma tarefa técnica relacionada a manutenção do
banco de dados. O ator responsável pelo suporte técnico é o administrador de
banco de dados. Portanto, a alternativa 70 está correta.
O assunto descrito na questão 71 é basicamente o controle de concorrência.
Presente em todos os SGBDs o controle deve garantir que transações não
interfiram no trabalho ou na execução de outra transação, mantendo o banco de
dados em um estado válido e consistente. Todo o exposto corrobora com o texto
da alternativa, que se encontra correto.
30. BANCA: FCC ANO: 2015 ÓRGÃO: TRT - 3ª REGIÃO (MG) PROVA:
ANALISTA JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO
Participando do projeto de modelagem de um banco de dados utilizando o MER,
um analista de TI identificou na modelagem lógica duas entidades ligadas entre
si em um relacionamento muitos-para-muitos (n:m): a entidade Processo e a
entidade Advogado, cujos atributos são apresentados abaixo.
Processo (NumeroProcesso, Ano, NumeroVara, NumeroTribunalOrigem)
Advogado (NumeroOABAdvogado, Nome, Telefone)
Cada advogado pode estar relacionado a vários processos diferentes, ora com
status de advogado de acusação, ora com status de advogado de defesa, e cada
processo, pode ter vários advogados de acusação e/ou de defesa. Nestas
condições, para criar as tabelas no banco de dados real este relacionamento n:m
terá que ser desmembrado em dois relacionamentos 1:n com uma tabela de
ligação contendo os campos
A NumeroProcesso, NumeroOABAdvogado e StatusAdvogadoProcesso, com
chave primária composta pelos campos NumeroProcesso e NumeroOABAdvogado
e chave estrangeira formada pelo campo StatusAdvogadoProcesso.
B CodigoLigacao, StatusAdvogadoProcesso, Data, com chave primária composta
pelo campo CodigoLigacao.
C NumeroProcesso, NumeroOABAdvogado e StatusAdvogadoProcesso, com
chave primária composta pelos campos NumeroProcesso e
NumeroOABAdvogado.
D NumeroProcesso e NumeroOABAdvogado, apenas, com ambos os campos
sendo chave primária e estrangeira ao mesmo tempo.
E CodigoLigacao, NumeroProcesso, NumeroOABAdvogado e
StatusAdvogadoProcesso, com chave primária composta pelo campo
CodigoLigacao e chave estrangeira formada pelos campos NumeroProcesso e
NumeroOABAdvogado.
aplicativos. Tem como principal vantagem o baixo custo, pois permite que
muitos usuários manipulem grande volume de dados.
C cliente-servidor, em que o cliente executa as tarefas do aplicativo, ou seja,
fornece a interface do usuário. O servidor executa as consultas no SGBD e
retorna os resultados ao cliente, aumentando o tráfego da rede.
D descentralizada, pois o sistema encarrega-se de obter a informação
necessária, de maneira transparente para o aplicativo, que passa a atuar
consultando seu servidor. Porém, é dependente de aspectos lógicos de carga de
acesso aos dados, o que a torna desvantajosa.
E em rede, em que a base de dados é fortemente acoplada. Sua vantagem é que
cada aplicativo acessa apenas o servidor que dispõe dos seus dados, através do
acesso à rede.
Gabarito A. Para respondermos a questão com segurança vamos apresentar
abaixo um resumo das principais arquiteturas de SGBDs.
==0==
35. BANCA: FCC ANO: 2012 ÓRGÃO: TRT - 11ª REGIÃO (AM) PROVA:
ANALISTA JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO
Considere:
I. Regra 1 − Todas as informações são representadas de forma explícita no nível
lógico e exatamente em apenas uma forma, por valores em tabelas.
II. Regra 2 − Cada um e qualquer valor atômico (datum) possui a garantia de
ser logicamente acessado pela combinação do nome da tabela, do valor da
chave primária e do nome da coluna.
III. Regra 3 − Valores nulos não devem ser utilizados de forma sistemática,
independente do tipo de dado ainda que para representar informações
inexistentes e informações inaplicáveis.
Das regras de Codd para bancos de dados relacionais, está correto o que consta
em
A I, apenas.
B II, apenas.
C I e II, apenas.
D II e III, apenas.
E I, II e III.
Gabarito C. Essas regras de Codd por seguem abaixo. Vejam que a questão
tratou das três primeiras, mas modificou o texto da regra 3 para torna-la
incorreta.
Para que um banco de dados seja considerado relacional ele deve seguir as 12
regras definidas por E.F.Cood, a saber:
1. Todas as informações em um banco de dados são de forma explícita no nível
lógico e exatamente em apenas uma forma – por valores em tabelas.
O script SQL para criação de tabelas que apresenta uma interpretação correta da
semântica do diagrama é:
A create table T1
(A1 int not null primary key, B1 int)
create table T2
(A2 int not null primary key, B2 int, A1 int not null,
constraint XXX
foreign key (A1) references T1(A1))
B create table T1
(A1 int not null primary key, B1 int)
create table T2
(A2 int not null primary key,
B2 int, A1 int null unique,
constraint XXX
foreign key (A1) references T1(A1))
C create table T1
(A1 int not null primary key, B1 int,
constraint XXX
foreign key (A1) references T1(A1))
create table T2
(A2 int not null primary key, B2 int, A1 int not null unique)
D create table T1
(A1 int not null primary key, B1 int)
create table T2 (A2 int not null primary key, B2 int, A1 int not null unique,
constraint XXX
foreign key (A1) references T1(A1))
E create table T1
(A1 int primary key, B1 int)
create table T2 (A2 int primary key, B2 int, A1 int unique,
constraint XXX
foreign key (A1) references T1(A1))
Gabarito D. Vamos aproveitar essa questão pra apresentar a notação IDEF1X.
Embora aplicada no nível conceitual, incorpora em suas raízes muitas
características de projeto de banco de dados (modelagem lógica). Sua
diagramação dependente de conceitos como chaves e dependências de
identificação. Seus elementos podem ser divididos em entidades,
relacionamentos, atributos e subtipos/supertipos. A figura abaixo mostra como
os elementos são dispostos na notação.
Considerações finais
Thiago Cavalcanti
Referências
Fiz uma lista com alguns links de referências caso você queria se
aprofundar um pouco.
i. Fundamentals of Database Systems - Ramez Elmasri, Sham Navathe
Addison-Wesley, 2011 - Computers - 1172 pages
ii. Introdução a sistemas de bancos de dados - By C. J. Date - Elsevier
Brasil, 2004 - 865 pages
iii. Sistema de Banco de Dados - Abraham Silberschatz, Henry F. Korth,
S. Sudarshan - Editora: ELSEVIER BRASIL