CURSO GABARITO ISS/RJ INFORMÁTICA

Propaganda
CURSO GABARITO
TECNOLOGIA DA INFORMAÇÃO
CURSO GABARITO
ISS/RJ
INFORMÁTICA - FGV
TECNOLOGIA DA INFORMAÇÃO ⇒ expressão que vem
substituindo o termo “INFORMÁTICA”.
⇒ É o conjunto de meios tecnológicos e computacionais
BANCO DE DADOS
que permite a produção e utilização da informação.
CONCEITOS BÁSICOS
BANCO DE DADOS
BANCO DE DADOS
MOTIVAÇÃO
BANCO DE DADOS ⇒ é um conjunto de informações
Há uma grande necessidade em se realizar o
armazenamento de informações que não se encontram
isoladas umas das outras.
relacionadas entre si, referentes a um mesmo assunto e
organizadas de maneira útil, com o proposito de servir de base
Além de uma forma adequada para definir o armazenamento
destas informações, os usuários desejam realizar operações
sobre esta coleção de dados, tais como: adicionar (inserir)
novos dados, recuperar (consultar) um determinado
subconjunto de dados, atualizar ou modificar a estrutura dos
dados e eliminar (excluir) informações desnecessárias, etc.
para que o usuário recupere as informações, tire conclusões e
tome decisões. São de vital importância para empresas, e se
tornaram a principal peça dos sistemas de informação.
BANCO DE DADOS
EXEMPLOS DE BANCO DE DADOS - TRADICIONAIS
•
•
•
•
•
•
•
•
•
•
TIPOS DE BANCO DE DADOS
ALUNOS DE UMA ESCOLA
LISTA DE ASSINANTES DE UMA EMPRESA TELEFÔNICA
FUNCIONÁRIOS DE UMA EMPRESA
DECLARANTES DO IRPF (CADVAL)
BASE DE DADOS CPF
CLIENTES DE UM BANCO
FGTS
ELEITORES BRASILEIROS
FORNECEDORES
POETAS PORTUGUESES (Fernando Pessoa, Florbela Espanca...)
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
OPERACIONAIS (Transacionais-OLTP) ⇒ conjunto de dados
para
uso
em
aplicativos
enquadrados
em
processos
funcionais e administrativos da empresa.
INFORMACIONAIS (Analíticos-OLAP) ⇒ conjunto de dados
para uso em Sistemas de Apoio a Decisão (SAD) de uma
empresa. Uma parte deste conjunto de dados é denominado
DATA WAREHOUSE.
1
MANUEL
CURSO GABARITO
BANCO DE DADOS
BANCO DE DADOS
BANCO DE DADOS - CONCEITOS GERAIS
C
REGISTRO ⇒ conjunto de dados que devem ser tratados
R
E
G
I
S
T
R
O
S
como uma unidade de informação. Os registros são
constituídos de campos e podem ser de tamanho fixo ou
tamanho variável.
CAMPO ⇒ componente em que é dividido um registro.
ARQUIVO ⇒ conjunto de dados relativos a um mesmo tema,
NOME
A
CPF
M
P
O
ENDEREÇO
S
D_NASC
E_CIVIL
01/09/87
CASADA
ANA
000.....
RUA.........
JOÃO
029.....
AV...........
25/08/70
CASADO
MARIA
039.....
RUA.........
10/04/90
SOLTEIRA
BETH
289.....
RUA.........
23/07/78
DIVORC
PEDRO
187.....
AV...........
09/06/60
CASADO
LÚCIA
004.....
RUA.........
12/11/89
SOLTEIRA
UM CONJUNTO DE REGISTROS FORMA UM ARQUIVO !
estruturado em registros.
BANCO DE DADOS
BANCO DE DADOS
PERGUNTAS
COMO ARMAZENAR OS DADOS?
PERGUNTAS
É POSSÍVEL GARANTIR INTEGRIDADE ?
COMO TER ACESSO A ESSES DADOS ?
COMO GARANTIR ACESSIBILIDADE ?
QUE SOFTWARE DEVE SER UTILIZADO ?
COMO GARANTIR DISPONIBILIDADE ?
COMO GERENCIAR OS DADOS ARMAZENADOS ?
COMO GARANTIR CONFIDENCIALIDADE ?
É POSSÍVEL GARANTIR CONSISTÊNCIA ?
É POSSÍVEL ELIMINAR REDUNDÂNCIAS ?
É POSSÍVEL GARANTIR SEGURANÇA ?
SISTEMA DE PROCESSAMENTO DE ARQUIVOS
SISTEMA DE PROCESSAMENTO DE ARQUIVOS
APLICAÇÕES - PROGRAMAS
PROGRAMA-1
PROGRAMA-2
DESVANTAGENS
REDUNDÂNCIA E INCONSISTÊNCIA DE DADOS
PROGRAMA-3
DIFICULDADE NO ACESSO AOS DADOS
ISOLAMENTO DE DADOS
ARQUIVO1
ARQUIVO2
ARQUIVO3
ANOMALIAS DE ACESSO CONCORRENTE
ARQUIVO4
PROBLEMAS DE SEGURANÇA
VÁRIOS ARQUIVOS
PROBLEMAS DE INTEGRIDADE
PROBLEMAS DE ATOMICIDADE
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
2
MANUEL
CURSO GABARITO
BANCO DE DADOS
SISTEMA GERENCIADOR DE BANCO DE DADOS - SGBD
Estas e outras dificuldades provocaram o desenvolvimentos dos
SISTEMAS GERENCIADORES DE BANCO DE DADOS SGBDs. Seu principal objetivo é retirar da aplicação cliente a
responsabilidade de gerenciar o acesso, a manipulação e a
organização dos dados. O SGBD disponibiliza uma INTERFACE
para que seus clientes possam incluir, alterar ou consultar dados
previamente armazenados.
SGBD ⇒ é um conjunto de programas que permite
ao usuário DEFINIR, CONSTRUIR e MANIPULAR
Bancos de Dados (BD) para as mais diversas
aplicações.
SISTEMA GERENCIADOR DE BANCO DE DADOS - SGBD
SISTEMA GERENCIADOR DE BANCO DE DADOS - SGBD
DEFINIR um BD ⇒ envolve a especificação e a descrição
detalhada dos tipos de dados a serem armazenados.
CONSTRUIR um BD ⇒ é o processo de armazenamento dos
dados em si em um determinado meio físico que é controlado
pelo SGBD.
MANIPULAR um BD ⇒ inclui uma série de funções para se
realizar operações de consulta, atualizações e inclusão e
exclusão de dados no BD.
SISTEMA GERENCIADOR DE BANCO DE DADOS - SGBD
O BANCO DE DADOS (BD) E SEU SOFTWARE
(SGBD)
SÃO
JUNTOS
DENOMINADOS
DE
SISTEMA DE BANCOS DE DADOS (SBD).
⇐ SGBD
⇐ SBD
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
3
MANUEL
CURSO GABARITO
SISTEMA GERENCIADOR DE BANCO DE DADOS - SGBD
SISTEMA GERENCIADOR DE BANCO DE DADOS - SGBD
CARACTERÍSTICAS PRINCIPAIS
CARACTERÍSTICAS PRINCIPAIS
São
projetados
para
gerenciar
grandes
grupos
de
O SGBD disponibiliza uma interface para que clientes possam
informações.
incluir, alterar ou consultar dados previamente armazenados.
O gerenciamento envolve a definição de estruturas de
Faz uma gestão autónoma da informação, de acordo com um
armazenamento e manipulação de dados.
modelo preestabelecido e adaptado à empresa.
Implementa mecanismos de segurança para as informações
Gere toda a informação contida no Banco de Dados sendo a
armazenadas.
interface entre a INFORMAÇÃO e os USUÁRIOS (utilizadores),
Retira da aplicação cliente a responsabilidade de gerenciar o
quer sejam usuários finais quer sejam programadores.
acesso, a manipulação e a organização dos dados.
SISTEMA GERENCIADOR DE BANCO DE DADOS - SGBD
BANCO DE DADOS
VANTAGENS DA CENTRALIZAÇÃO
SISTEMA GERENCIADOR DE BANCO DE DADOS - SGBD
A redundância pode ser reduzida
Num Sistema Gerenciador de Banco de Dados
A inconsistência pode ser evitada
(SGBD), a empresa consegue um CONTROLE
Os dados podem ser compartilhados
CENTRALIZADO dos seus dados operacionais.
Podem ser aplicadas restrições de segurança
Os padrões podem ser reforçados
A integridade pode ser mantida (n_max horas, n_dep, etc)
Necessidades conflitantes podem ser balanceadas
BANCO DE DADOS
PRINCIPAIS CARACTERÍSTICAS DA ABORDAGEM USANDO
BANCO
DE
DADOS
VERSUS
A ABORDAGEM
DE
PROCESSAMENTO DE ARQUIVOS
ARQUITETURA DE UM SGBD
A proposta maior de um sistema de bancos de dados é prover
Natureza auto descritiva do sistema de banco de dados.
aos usuários uma visão abstrata dos dados, isto é, o sistema
Isolamento entre os programas (aplicações) e os dados
omite certos detalhes de como os dados são armazenados e
Abstração dos dados
mantidos internamente. Os programas (aplicações) e usuários
Suporte para as múltiplas visões dos dados.
não
Compartilhamento de dados e processamento de transações
de multiusuários.
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
acessam
diretamente
as
informações
como
num
processamento de arquivos. Eles fazem requisições ao SGBD
e este recupera as informações no disco.
4
MANUEL
CURSO GABARITO
ABSTRAÇÃO DE UM BANCO DE DADOS
BANCO DE DADOS
NÍVEIS DE ABSTRAÇÃO
ABSTRAÇÃO DE UM BANCO DE DADOS
NÍVEL FÍSICO (INTERNO) ⇒ o nível mais baixo de abstração
descreve COMO os dados estão realmente armazenados.
S
APLICAÇÃO
G
B
USUÁRIO
BANCO
DE
DADOS
D
Descreve todos os detalhes de armazenamento de dados e
caminhos de acesso à base de dados. Neste nível de
abstração trabalham os DBAs (Data Base Administrators).
DISCO
BANCO DE DADOS
BANCO DE DADOS
NÍVEIS DE ABSTRAÇÃO
NÍVEL EXTERNO (VISUAL) ⇒ é o mais alto nível de abstração
NÍVEIS DE ABSTRAÇÃO
NÍVEL CONCEITUAL (LÓGICO) ⇒ descreve QUAIS dados
e descreve apenas parte do banco de dados. Muitos usuários
estão armazenados no Banco de Dados e as relações que
não estarão interessados em todas as informações do BD, mas
existem entre eles (relacionamentos, restrições). O nível
apenas em parte delas. Para isso, níveis de visão são definidos
conceitual é normalmente usado pelos administradores que
de modo que as interações sejam simplificadas. Uma visão
precisam decidir quais as informações que devem estar no
exibe apenas uma parte dos dados do BD. Neste nível de
Banco de Dados. Neste nível de abstração trabalham os DBAs e
abstração trabalham os DBAs, os Analistas de Aplicação e os
os Analistas de Aplicação (programadores).
usuários comuns. Exemplo: arquivo que contenha apenas os
maiores declarantes do IRPF.
NÍVEIS DE ABSTRAÇÃO
BANCO DE DADOS
INSTÂNCIA E ESQUEMA
Um banco de dados muda ao longo do tempo por meio das
informações que nele são inseridas ou excluídas.
INSTÂNCIA ⇒ é o conjunto de informações contidas em
determinado Banco de Dados em um dado momento.
ESQUEMA ⇒ é o projeto geral de um Banco de Dados. Um
esquema é então o modo como é concebida a organização da
informação. O esquema de um Banco de Dados muda muito
pouco ao longo do tempo.
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
5
MANUEL
CURSO GABARITO
BANCO DE DADOS
LINGUAGENS DE DEFINIÇÃO E MANIPULAÇÃO DE DADOS
EM UM BANCO DE DADOS
SISTEMAS GERENCIADORES DE BANCO DE BANCO DE DADOS
ORACLE
Para criar um Banco de Dados precisamos:
DEFINIR os dados que serão armazenados.
MANIPULAR os dados armazenados.
MY SQL
Os SGBD’s disponibilizam para os usuários duas linguagens:
SQL SERVER
Uma para DEFINIR quais dados vão ser armazenados (DDL).
ACCESS (OFFICE)
BASE (BR-OFFICE/LIBRE-OFFICE)
PostgreSQL
Uma para MANIPULAR esses dados (DML).
SyBase
ADABAS
DB2
LINGUAGENS DE DEFINIÇÃO E MANIPULAÇÃO DE DADOS
EM UM BANCO DE DADOS
LINGUAGENS DE DEFINIÇÃO E MANIPULAÇÃO DE DADOS
EM UM BANCO DE DADOS
DDL (Data Definition Language)
DDL (Data Definition Language - Linguagem de Definição de
• O resultado da compilação dos parâmetros DDLs é armazenado
em um conjunto de tabelas que constituem um arquivo especial
chamado Dicionário de Dados ou Diretório de Dados.
• Um Dicionário de Dados é um arquivo de METADADOS, isto é,
dados a respeito de dados.
• A estrutura de memória e o método de acesso usados pelo BD
são especificados por um conjunto de definições em um tipo
especial de DDL chamado de linguagem de definição e
armazenamento de dados (data storage and definition language
- DSDL).
Dados) ⇒ Permite ESPECIFICAR o ESQUEMA do Banco de
Dados, através de um conjunto de definições de dados. A
compilação dos comandos em DDL é armazenada no dicionário
(ou diretório) de dados (METADADOS).
DDL (Data Definition Language)
DDL (Data Definition Language)
DDL INCLUI BASICAMENTE QUATRO COMANDOS (SQL)
• CREATE DATABASE / DROP DATABASE
DEFINIÇÕES
EM DDL
• CREATE TABLE / DROP TABLE / ALTER TABLE
• CREATE VIEW / DROP VIEW
• CREATE INDEX / DROP INDEX
COMANDOS DDL
COMPILAÇÃO
DICIONÁRIO
DE DADOS
METADADOS
• CRIAR BANCO DE DADOS / EXCLUIR BANCO DE DADOS
• CRIAR TABELA / EXCLUIR TABELA / ALTERAR TABELA (estrutura)
• CRIAR VISÃO / EXCLUIR VISÃO
• CRIAR ÍNDICE / EXCLUIR ÍNDICE
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
6
MANUEL
CURSO GABARITO
DML (Data Manipulation Language)
LINGUAGENS DE DEFINIÇÃO E MANIPULAÇÃO DE
DADOS EM UM BANCO DE DADOS
DML INCLUI BASICAMENTE QUATRO COMANDOS (SQL)
DML (Data Manipulation Language - Linguagem de
• SELECT ⇒ SELECIONAR
• INSERT ⇒ INSERIR
Manipulação de Dados) ⇒ é a linguagem que permite
• UPDATE ⇒ ATUALIZAR
aos usuários ACESSAR ou MANIPULAR dados
• DELETE ⇒ EXCLUIR
organizados pelo modelo de dados apropriado.
SQL (Structured Query Language)
LINGUAGENS DE DEFINIÇÃO E MANIPULAÇÃO DE DADOS
EM UM BANCO DE DADOS
• Linguagem padrão de consulta a Banco de Dados Relacionais.
• Unifica a DDL e a DML numa única linguagem.
• Engloba ainda outros aspectos, como por exemplo, os
relacionados com a administração da base de dados.
• É uma linguagem NÃO-PROCEDIMENTAL
(PROCEDIMENTAL = PROCEDURAL).
• Funciona em modo interativo.
• Existem várias extensões à linguagem SQL.
• É uma norma ISO e ANSI.
ISO (International Standards Organization)
ANSI (American National Standards Institute)
TIPOS DE DML
DMLs
um
usuário para
especificar qual dado é necessário e COMO obtê-lo.
DMLs NÃO-PROCEDURAIS ⇒ requerem um usuário para
especificar qual dado é necessário SEM ESPECIFICAR
como obtê-lo.
FUNÇÕES DE UM DBA
BANCO DE DADOS
ADMINISTRADOR DE BANCO DE DADOS
DEFINIÇÃO DO ESQUEMA ⇒ define a ESTRUTURA original
do BD (armazenada em um DD-Dicionário de Dados).
DBA (DataBase Administrator) ⇒ Uma das principais razões
DEFINIÇÃO DA ESTRUTURA DE DADOS E MÉTODO DE
para se usar SGBD é ter um controle central dos dados e dos
ACESSO ⇒ define a estrutura de ARMAZENAMENTO e
programas de acesso a eles. A pessoa que tem esse controle é
MÉTODOS de ACESSO.
MODIFICAÇÕES NA ORGANIZAÇÃO FÍSICA ⇒ promove
o ADMINISTRADOR DE BANCO DE DADOS (DBA).
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
PROCEDURAIS ⇒ requerem
alterações na organização física dos dados.
7
MANUEL
CURSO GABARITO
FUNÇÕES DE UM DBA
BANCO DE DADOS
CONCESSÃO DE AUTORIZAÇÃO PARA ACESSO AOS
MODELAGEM DE DADOS
DADOS ⇒ concede autorização para acesso ao Banco de
ALGUNS CONCEITOS PRELIMINARES
Dados. O fornecimento de diferentes tipos de autorização no
ABSTRAÇÃO ⇒ processo mental através do qual selecionamos
acesso aos dados permite que o administrador regule o
determinadas propriedades ou características dos objetos e
acesso dos diversos usuários às diferentes partes do sistema.
excluímos outras.
ESPECIFICAÇÃO DE RESTRIÇÃO DE INTEGRIDADE ⇒ é o
DBA quem define as restrições de integridade. O sistema faz
MODELO ⇒ é uma abstração, uma representação simplificada,
uma consulta as restrições de integridade quando precisa
de uma parcela do mundo real, composta por objetos reais.
realizar uma atualização.
BANCO DE DADOS
ETAPAS DE DESENVOLVIMENTO DE UM BANCO DE DADOS
MODELAGEM DE DADOS
ALGUNS CONCEITOS PRELIMINARES
CICLO DE VIDA E PROJETO DE BANCO DE DADOS
MODELO DE DADOS ⇒ um modelo de dados é uma descrição
1- LEVANTAMENTO DE REQUISITOS
das informações que devem ser armazenadas em um banco de
2- PROJETO CONCEITUAL
dados, ou seja, é a descrição formal da estrutura do BD
3- PROJETO LÓGICO
(descrição dos dados, dos relacionamentos entre os dados, da
4- PROJETO FÍSICO
semântica e das restrições impostas aos dados).
MODELAGEM ⇒ atividade através da qual se cria um modelo.
BANCO DE DADOS
REQUISITO DE DADOS
REQUISITOS
PROJETO
CONCEITUAL
ESQUEMA
CONCEITUAL
ESQUEMA
LÓGICO
ESQUEMA
FÍSICO
PROJETO
LÓGICO
Necessidades dos usuários
significado dos dados.
e
o
MODELO DE DADOS ⇒ é uma coleção de ferramentas
conceituais para descrição de dados, relacionamentos entre
Descreve o CONTEÚDO das informação do BD
esses dados, semântica de dados e restrições de consistência.
ao invés das estruturas de armazenamento que
serão necessárias para gerenciar essa informação.
PRINCIPAIS MODELOS
Descreve a ESTRUTURA do BD que pode ser
processada por um Sistema Gerenciador de Banco de
Dados (SGBD). NÃO DEPENDE de um SGBD
específico, mas depende do MODELO de dados.
MODELO BASEADO EM OBJETOS (MER)
MODELO BASEADO EM REGISTROS (RELACIONAL)
PROJETO
FÍSICO
Descreve a ESTRUTURA FÍSICA do BD que
pode ser processada por um SGBD. DEPENDE
de um SGBD específico.
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
MODELO DE DADOS FÍSICO
8
MANUEL
CURSO GABARITO
MODELOS BASEADOS EM OBJETOS
MODELO ENTIDADE-RELACIONAMENTO (MER)
MODELO ENTIDADE-RELACIONAMENTO (MER)
Introduzido por Peter Chen em 1976.
O projetista de banco de dados primeiro IDENTIFICA as
É um modelo CONCEITUAL
ENTIDADES e RELACIONAMENTOS que são de INTERESSE
É baseado na percepção do mundo real, e consiste em um
para a empresa usando a TÉCNICA DIAGRAMÁTICA chamada
conjunto de OBJETOS básicos chamados ENTIDADES e
DER-DIAGRAMA-ENTIDADE-RELACIONAMENTO).
nos RELACIONAMENTOS entre esses objetos.
Neste estágio, o projetista deve examinar os dados do PONTO
Foi desenvolvido para facilitar o projeto de banco de dados,
DE VISTA DA EMPRESA como um todo (não a visão de um
permitindo a especificação de um esquema de empresa (que
programador de aplicação específico).
representa a lógica geral de um Banco de Dados).
MODELO ENTIDADE-RELACIONAMENTO (MER)
MODELO ENTIDADE-RELACIONAMENTO (MER)
CARACTERÍSTICAS
GRÁFICO
DIAGRAMA ENTIDADE-RELACIONAMENTO (DER)
FÁCIL INTERPRETAÇÃO
⇒
POUCO FORMAL OU MATEMÁTICO
Usado
para
expressar
GRAFICAMENTE
a
ESTRUTURA LÓGICA GERAL de um Banco de
NÍVEL CONCEITUAL DE BANCO DE DADOS
Dados.
MODELO ENTIDADE-RELACIONAMENTO (MER)
DIAGRAMA ENTIDADE-RELACIONAMENTO (DER)
COMPONENTES DIAGRAMA E-R (DER)
ATRIBUTOS
1.RETÂNGULOS ⇒ representam conjuntos-ENTIDADE.
ATRIBUTOS
NOME
TIPO
2.ELIPSES ⇒ representam ATRIBUTOS.
ENDEREÇO
3.LOSANGOS ⇒ representam RELACIONAMENTOS entre
Nº CONTA
Nº CONTA
SALDO
conjuntos-entidade.
4.LINHAS ⇒ LIGAM atributos a conjuntos-entidade, e
CLIENTE
conjunto-entidade a relacionamentos.
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
ENTIDADE
9
CLIENTE
CONTA
RELACIONAMENTO
CONTA
ENTIDADE
MANUEL
CURSO GABARITO
BANCO DE DADOS
MODELO ENTIDADE-RELACIONAMENTO (MER)
MODELO ENTIDADE-RELACIONAMENTO (MER)
TIPOS DE OBJETOS - DIAGRAMA E-R
TIPOS DE OBJETOS - DIAGRAMA E-R
ENTIDADE ⇒ Elemento de existência própria. Representa um
objeto real, pessoa, lugar ou coisa. Uma ENTIDADE é
CHAVE ⇒ é um conjunto de um ou mais atributos que
representada por um conjunto de ATRIBUTOS.
tomados coletivamente permite identificar uma entidade no
ATRIBUTO ⇒ Propriedades que identificam as entidades.
DOMÍNIO⇒
conjunto-entidade e estabelecer relações entre entidades.
Conjunto onde estão definidos os valores de
RELACIONAMENTO ⇒ é uma associação entre entidades.
atributos.
ENTIDADE FUNCIONÁRIO (CLASSE)
MODELO ENTIDADE-RELACIONAMENTO (MER)
NOME
TIPOS DE OBJETOS - DIAGRAMA E-R
ZÉ DAS COUVES
ENTIDADE ⇒ Elemento de existência própria.
IRACEMA DA EMA SAPUCAÍ
Representa um objeto real, pessoa, lugar ou coisa.
SIMPLÍCIO SIMPLÓRIO DA SIMPLICIDADE SIMPLES
Uma entidade é representada por um conjunto de
FARROKH BULSARA
atributos.
YUSUF ISLAM
ROBERT ALLEN ZIMMERMAN
JOHNNY ALLEN HENDRIX
ARLETTE PINHEIRO ESTEVES TORRES
D_NASC
01/01/1960
02/01/1970
01/01/1900
05/09/1946
21/06/1948
24/04/1941
27/11/1942
16/10/1929
CADA LINHA (REGISTRO) É UMA INSTÂNCIA - OCORRÊNCIA !
TIPOS DE ENTIDADES - CLASSIFICAÇÃO
PRINCIPAIS TIPOS DE ENTIDADES
ENTIDADE FORTE ⇒ é aquela que possui alto grau de
independência com relação a existência e identificação.
Pode ocorrer independente da presença de outras entidades.
Para existir NÃO depende da existência de outras Entidades.
Representa um conceito independente em um modelo de dados.
É o principal componente do modelo E-R, sem o qual nenhum
dos outros (atributo, relacionamento) pode existir.
Exemplo: em um sistema acadêmico as entidades ALUNO e
CURSO são entidades fortes, pois a entidade ALUNO, se não
existisse a entidade CURSO, poderia existir da mesma forma.
FORTE
FRACA (DEPENDENTE)
ASSOCIATIVA
AGREGADA (GENERALIZAÇÃO)
SUBORDINADA (ESPECIALIZAÇÃO)
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
10
MANUEL
CURSO GABARITO
TIPOS DE ENTIDADES - CLASSIFICAÇÃO
ENTIDADE FRACA
ENTIDADE FRACA ⇒ é a entidade cuja existência depende
da existência de outra entidade (dita FORTE).
EXEMPLOS
• a entidade AGENCIA (fraca) não pode existir sem a entidade
BANCO (forte).
• a entidade DEPENDENTE (fraca) não pode existir sem a
entidade FUNCIONÁRIO (forte).
• a entidade BAIRRO (fraca) não pode existir sem a entidade
CIDADE (forte).
• a entidade ANDAR (fraca) não pode existir sem a entidade
PRÉDIO (forte).
SERÁ QUE EXISTE ALGUMA
COISA QUE PARA EXISTIR
DEPENDE DA EXISTÊNCIA DE
UMA ENTIDADE ?
ENTIDADE
FRACA
ENTIDADE FRACA
ENTIDADE FORTE
ENTIDADE FRACA = ENTIDADE DEPENDENTE !
ENTIDADE FORTE/FRACA
ENTIDADE FRACA
ENTIDADE FRACA
ENTIDADE FORTE
PRÉDIO
ENTIDADE FORTE
POSSUI
ENTIDADE FRACA
ANDAR
POSSUI
ENTIDADE FRACA
LINHA DUPLA
CADA ANDAR
POSSUI DIVERSAS
SALAS
SALA
ENTIDADE FRACA
RELACIONAMENTO COM
ENTIDADE FRACA LINHA DUPLA
CADA PRÉDIO POSSUI
DIVERSOS ANDARES
POSSUI
CORREDOR
CADA ANDAR POSSUI
DIVERSOS
CORREDORES
ENTIDADE FRACA
ENTIDADE ASSOCIATIVA - AGREGAÇÃO
ENTIDADE ASSOCIATIVA ⇒ o uso desta abstração é
necessário QUANDO um RELACIONAMENTO deve ser
representado como uma ENTIDADE no modelo conceitual. Isto
ocorre quando é necessário estabelecer um relacionamento
entre uma ENTIDADE e um RELACIONAMENTO. Uma entidade
é dita associativa quando não existe por si só e sua existência
está condicionada à existência de duas ou mais entidades. Seu
identificador é formado pela concatenação dos identificadores
das entidades que se associam para lhe dar origem. Deve-se
procurar sempre dar a mesma um nome adequado, pois irá
aumentar a clareza do modelo de dados.
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
UMA UNIVERSIDADE
POSSUI VÁRIOS PRÉDIOS
EXEMPLO ⇒ A entidade MÉDICO tem um relacionamento com a
entidade PACIENTE. Se for necessário adicionar a informação
que, a cada CONSULTA um ou mais Medicamentos podem ser
prescritos ao paciente, será necessário criar uma nova entidade
(MEDICAMENTO). Esta entidade deve se relacionar com as
consultas, mas CONSULTA é um relacionamento. Nesse caso
deve ser criada então uma ENTIDADE ASSOCIATIVA.
11
MANUEL
CURSO GABARITO
ENTIDADE ASSOCIATIVA - EXEMPLO
ENTIDADE ASSOCIATIVA - EXEMPLO
A entidade MÉDICO tem um relacionamento (CONSULTA) com a
entidade PACIENTE.
MÉDICO
MÉDICO
CONSULTA
NOVO
RELACIONAMENTO
PRESCRIÇÃO
PRESCRIÇÃO
PACIENTE
ENTIDADE ASSOCIATIVA
MEDICO + PACIENTE
MÉDICO_PACIENTE
PACIENTE
CONSULTA
Se for necessário adicionar a informação que, a cada consulta
um ou mais medicamentos podem ser prescritos ao paciente,
será necessário criar uma nova entidade (MEDICAMENTO)
MEDICAMENTO
A cada CONSULTA um ou mais
medicamentos
podem
ser
prescritos ao paciente
⇐ NOVA ENTIDADE - MEDICAMENTO
MÉDICO_PACIENTE ⇒ ENTIDADE ASSOCIATIVA SE RELACIONA
COM A ENTIDADE MEDICAMENTO.
GENERALIZAÇÃO/ESPECIALIZAÇÃO
ENTIDADE ASSOCIATIVA - OUTRA REPRESENTAÇÃO
MÉDICO
CONSULTA
PACIENTE
GENERALIZAÇÃO
ENTIDADE
ASSOCIATIVA
MEDICO + PACIENTE
MÉDICO_PACIENTE
⇒ é um processo de abstração em que
vários tipos de entidade são AGRUPADOS em uma única
ENTIDADE genérica, que mantém as propriedades comuns. Ou
NOVO
RELACIONAMENTO
PRESCRIÇÃO
PRESCRIÇÃO
MEDICAMENTO
seja,
A cada CONSULTA um ou mais
medicamentos
podem
ser
prescritos ao paciente
agrupa-se
conjuntos
de
elementos
com
alguma
SEMELHANÇA SEMÂNTICA em um conjunto maior.
GENERALIZAÇÃO ⇒ GERA UMA ENTIDADE AGREGADA !
⇐ NOVA ENTIDADE - MEDICAMENTO
MÉDICO_PACIENTE ⇒ ENTIDADE ASSOCIATIVA SE RELACIONA
COM A ENTIDADE MEDICAMENTO.
GENERALIZAÇÃO/ESPECIALIZAÇÃO
GENERALIZAÇÃO OBSERVE AS DUAS ENTIDADES ABAIXO
ESPECIALIZAÇÃO ⇒ é o processo inverso, ou seja, novas
entidades especializadas são CRIADAS, com atributos que
acrescentam DETALHES à entidade genérica existente.
Ou seja, ESPECIALIZAÇÃO é uma abstração que permite
FIGURA 1- ENTIDADES INDEPENDENTES GERENTE E SECRETARIA
SUBDIVIDIR um conjunto GRANDE de elementos em conjuntos
FIGURA 2 - ENTIDADE FUNCIONÁRIO
FUNCIONÁRIO
É
UMA ENTIDADE
AGREGADA - contém atributos comuns as
entidades Gerente e Secretária (matrícula,
nome, salário, dpto).
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
MENORES de acordo com padrões estabelecidos pelas
necessidades da aplicação.
12
MANUEL
CURSO GABARITO
ESPECIALIZAÇÃO
GENERALIZAÇÃO/ESPECIALIZAÇÃO
Usada quando é necessário caracterizar entidades com atributos
próprios ou participação em relacionamentos específicos
ESPECIALIZAÇÃO ⇒
PESSOA_FÍSICA E PESSOA_JURÍDICA SÃO ENTIDADES
SUBORDINADAS !
GENERALIZAÇÃO/ESPECIALIZAÇÃO
DIAGRAMA ENTIDADE-RELACIONAMENTO (DER)
ATRIBUTOS
ATRIBUTOS
ATRIBUTOS
NOME
ESPECIALIZAÇÃO
TIPO
ESPECIALIZAÇÃO
ENDEREÇO
Nº CONTA
Nº CONTA
CLIENTE
CONTA
CLIENTE
ENTIDADE
TIPOS DE OBJETOS - DER - ATRIBUTO
RELACIONAMENTO
CONTA
ENTIDADE
TIPOS DE OBJETOS - DIAGRAMA E-R - ATRIBUTO
ATRIBUTO
TIPOS DE ATRIBUTO
• PROPRIEDADES que IDENTIFICAM as ENTIDADES.
SIMPLES - ATÔMICOS
• É uma PROPRIEDADE que descreve alguma característica.
• Os atributos não possuem existência própria ou
independente - estão sempre associados a uma ENTIDADE
ou RELACIONAMENTO.
• ATRIBUTO é o valor para uma característica. Todo valor de
um atributo é extraído de um DOMÍNIO.
DOMÍNIO ⇒ Conjunto onde estão definidos os valores de
atributos. Exemplo: N_DEP ⇒ Domínio = NATURAIS (0,1,2,..) !
N_DEP = número de dependentes.
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
SALDO
COMPOSTO
MONOVALORADO
MULTIVALORADO
DERIVADO
DETERMINANTE
13
MANUEL
CURSO GABARITO
TIPOS DE ATRIBUTO
TIPOS DE ATRIBUTO
SIMPLES (ATÔMICOS) ⇒ não são divisíveis (são atômicos).
COMPOSTO ⇒ quando é formado por mais de um atributo.
Um atributo COMPOSTO possui mais de um domínio simples.
Quando um atributo não é composto e recebe um único valor
Por exemplo, o atributo ENDEREÇO pode ser dividido em:
como, por exemplo, NOME-CLIENTE, então ele será atributo
logradouro, bairro, cidade, estado e cep que são atributos
SIMPLES. Um atributo SIMPLES possui um domínio simples.
simples com significados independentes e formados pelos
Por exemplo, o atributo SEXO tem um domínio simples se for
domínios simples, dos: Logradouros, Bairros, Cidades, Estados
codificado pelo conjunto das letras F (feminino) e M (masculino).
e CEP´s. Assim, atributos compostos podem ser divididos em
EXEMPLOS ⇒ Idade, CPF, Peso, Altura, etc.
partes menores, que representaram atributos básicos.
Atributos deste tipo formam uma HIERARQUIA.
TIPOS DE OBJETOS - DIAGRAMA E-R
TIPOS DE ATRIBUTO
TIPOS DE ATRIBUTO
MONOVALORADO (UNIVALORADO) ⇒ é o atributo que
possui apenas um valor para uma entidade em particular. Por
exemplo, IDADE é um atributo monovalorado para a entidade
FUNCIONÁRIO. Um funcionário só tem uma idade.
MATRÍCULA é um atributo monovalorado para a entidade
ALUNO. Um aluno só tem uma matrícula.
DERIVADO ⇒ quando o seu conteúdo DEPENDE do conteúdos
de outros atributos. Por exemplo, idade e data_nascimento de uma
pessoa. Podemos determinar o valor atual da idade através do
atributo data_nascimento. Então IDADE é chamado um atributo
DERIVADO do atributo data_nascimento.
MULTIVALORADO ⇒ é o atributo que pode possuir um ou
mais valores. Exemplo: TELEFONE. Uma pessoa poderá ter
mais de um número de telefone. É indicado colocando-se um
asterisco precedendo o nome do atributo (*telefone).
NÃO DERIVADO ⇒ quando ele não pode ser obtido a partir de
outros atributos. Por exemplo, data_nascimento não pode ser obtida
a partir da idade.
TIPOS DE ATRIBUTO
DETERMINANTE (Identificador) ⇒ identifica de FORMA
ÚNICA uma instância em uma ENTIDADE, ou seja, não pode
haver dados repetidos. É indicado sublinhando-se o nome do
atributo. Exemplo: CNPJ, CPF, matrícula, título-eleitor, etc. Os
atributos determinantes serão as CHAVES PRIMÁRIAS no BD e
seu uso tem implicações na NORMALIZAÇÃO de dados.
Atributos determinantes são de preenchimento OBRIGATÓRIO.
NÃO DETERMINANTE ⇒ quando o identificador não identifica
univocamente uma entidade dentro de um conjunto entidades.
Por exemplo, o atributo NOME do aluno não identifica o aluno
dentro da entidade ALUNO. Existem nomes repetidos !
ATRIBUTO DERIVADO
ATRIBUTO DERIVADO
ELIPSE PONTILHADA
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
14
MANUEL
CURSO GABARITO
DIAGRAMA ENTIDADE-RELACIONAMENTO (DER)
TIPOS DE OBJETOS - DER - RELACIONAMENTO
RELACIONAMENTO
ATRIBUTOS
NOME
ENDEREÇO
CONTEXTO ⇒ Nenhuma informação armazenada no Banco de
ATRIBUTOS
Dados existe isoladamente. Todos os elementos pertencentes
TIPO
ao mundo real (restrito) modelado de alguma forma estão
Nº CONTA
Nº CONTA
ASSOCIADOS
SALDO
a
outros
elementos.
Normalmente
estas
associações representam ações físicas ou alguma forma de
CLIENTE
ENTIDADE
CLIENTE
CONTA
RELACIONAMENTO
dependência entre os elementos envolvidos.
CONTA
RELACIONAMENTO ⇒ é uma ASSOCIAÇÃO entre
ENTIDADES sobre a qual deseja-se manter informações no
Banco de Dados.
ENTIDADE
TIPOS DE OBJETOS - DER - RELACIONAMENTO
RELACIONAMENTO - EXEMPLO
• Os relacionamentos representam fatos ou situações da
realidade, onde as entidades interagem de alguma forma.
• Um dado por si só não faz uma informação, pois não tem
sentido próprio. É necessário que haja uma ASSOCIAÇÃO de
dados para que a informação seja obtida.
• Relacionamentos são representados por LOSANGOS ligados
às entidades que participam do relacionamento
• Relacionamentos têm ATRIBUTOS.
• Normalmente SUBSTANTIVOS são as ENTIDADES e os
VERBOS são os RELACIONAMENTOS.
NOME
NOME
COD_FORN
COD_PROD
PEDIDO
FORNECEDOR
PRODUTO
ENTIDADE
COD_FORN
ATRIBUTOS DO
RELACIONAMENTO
ENTIDADE
COD_PROD
PREÇO
QUANTIDADE
RELACIONAMENTO
ATRIBUTOS DO
RELACIONAMENTO
UNÁRIAS ⇒ associam uma entidade com ela própria.
TIPOS DE OBJETOS - DER - RELACIONAMENTO
EXEMPLO-01
TIPOS DE ASSOCIAÇÃO ⇒ São as FORMAS como as
ENTIDADES se relacionam num determinado modelo de
informação. As associações se classificam em unárias, binárias
e complexas.
ENTIDADE EQUIPE
EQUIPE
UNÁRIAS ⇒ associam uma entidade com ela própria.
AUTO RELACIONAMENTO !
JOGA
A ENTIDADE EQUIPE É
FORMADAS POR TIMES QUE
JOGAM ENTRE SI !
AUTO RELACIONAMENTO
EXEMPLO-02
BINÁRIAS ⇒ associam DUAS entidades diferentes.
ENTIDADE ALUNO
COMPLEXAS ⇒ associam MAIS DE DUAS entidades
diferentes.
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
ATRIBUTOS
ATRIBUTOS
ALUNO
15
GERIDO
UM ALUNO É GERIDO POR
ELE PRÓPRIO.
AUTO RELACIONAMENTO
MANUEL
CURSO GABARITO
UNÁRIAS ⇒ associam UMA entidade com ela própria.
PESSOA
BINÁRIAS ⇒ associam DUAS entidades.
ENTIDADE PESSOA
EXEMPLO-03
MARIDO
CASA
ENSINA
PROFESSOR
PESSOA CASA COM PESSOA !
ESPOSA
ENTIDADE PROFESSOR
DISCIPLINA
ENTIDADE DISCIPLINA
EXEMPLO-04 ENTIDADE MATÉRIA
MATÉRIA
PRÉ-REQUISITO
CLIENTE
CONTA
CLIENTE
MATÉRIA É PRÉ-REQUISITO
DE MATÉRIA !
ENTIDADE CLIENTE
CONTA
ENTIDADE CONTA
COMPLEXAS ⇒ associam MAIS DE DUAS entidades
COMPLEXAS ou TERNÁRIAS ou N-ÁRIAS
COMPLEXAS ⇒ associam MAIS DE DUAS entidades.
EXEMPLO-1
EXEMPLO-2
ALUNO
TEM
COMPLEXAS ou TERNÁRIAS ou N-ÁRIAS
DISPUTA
ATLETA
PROFESSOR
DISCIPLINA
PROVA
MODALIDADE
CARDINALIDADE
CARDINALIDADE ⇒ a cardinalidade de uma ENTIDADE em
um RELACIONAMENTO expressa o número de INSTÂNCIAS
da entidade que podem ser ASSOCIADAS a uma determinada
INSTÂNCIA da entidade relacionada.
CARDINALIDADE ⇒ define o número MÁXIMO ou MÍNIMO de
ocorrências em um relacionamento.
POSSUI
ALOCADO
DEPARTAMENTO
[1:N]
CARDINALIDADE MÍNIMA DE UMA ENTIDADE ⇒ é o número
mínimo de instâncias da entidade associada que devem se
relacionar com uma instância da entidade em questão.
EMPREGADO
[1:1]
Um DEPARTAMENTO ⇒ possui no MÍNIMO 1 e no
MÁXIMO N empregados [1:N].
CARDINALIDADE MÁXIMA DE UMA ENTIDADE ⇒ é o
número máximo de instâncias da entidade associada que
devem se relacionar com uma instância da entidade em
questão.
Um EMPREGADO ⇒ está alocado a no MÍNIMO 1 e no
MÁXIMO 1 departamento [1:1].
INSTÂNCIA = OCORRÊNCIA !
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
16
MANUEL
CURSO GABARITO
CARDINALIDADE ⇒ define o número MÁXIMO ou MÍNIMO de
ocorrências em um relacionamento.
1
ESTANTE
N
GUARDA
TIPOS (GRAUS) DE RELACIONAMENTOS
GRAU DE RELACIONAMENTO ⇒ é a participação MÁXIMA
(limite superior) de cada uma das entidades nas associações a
LIVRO
que está ligada. O grau de relacionamento é independente do
tipo de associação.
(0,N)
ESTANTE
(1,1)
GUARDA
GRAU DOS RELACIONAMENTOS - CLASSIFICAÇÃO
LIVRO
UM PARA UM
( 0
,
N )
MIN , MAX
( 1
,
1 )
UM PARA MUITOS
MIN , MAX
MUITOS PARA MUITOS
TIPOS DE RELACIONAMENTOS
TIPOS DE RELACIONAMENTOS
UM-para-UM (1:1) ⇒ EXEMPLOS
UM-para-UM ⇒ UMA ocorrência (instância) de A se relaciona a
UMA ocorrência de B (1:1).
PROFESSOR
1•
•1
2•
•2
3•
•3
A
DISCIPLINA
1
1
PERTENCE
POSSUI
1
1
DEPARTAMENTO
EMENTA
B
TIPOS DE RELACIONAMENTOS
TIPOS DE RELACIONAMENTOS
UM-para-MUITOS ⇒ UMA ocorrência de A pode se relacionar
UM-para-MUITOS (1:N) ⇒ EXEMPLOS
com N ocorrências de B (1:N).
PROFESSOR
•1
1•
2•
3•
A
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
1
ENSINA
N
ALUNOS
•2
•3
•4
FUNCIONÁRIO
1
ALOCADO
N
PROJETOS
•5
•6
B
17
MANUEL
CURSO GABARITO
TIPOS DE RELACIONAMENTOS
MUITOS-para-MUITOS ⇒ N ocorrências de A se relacionam a M
ocorrências de B (N:M).
TIPOS DE RELACIONAMENTOS
MUITOS-para-MUITOS (N:M) ⇒ EXEMPLOS
•1
N
FORNECEDOR
•2
1•
M
FORNECIMENTO
PRODUTOS
•3
2•
•4
3•
•5
4•
•6
A
B
N
ALUNO
M
CURSO
DISCIPLINA
O MODELO RELACIONAL
BANCO DE DADOS
MODELO DE DADOS ⇒ é uma coleção de ferramentas
É possível reduzir diagramas entidade-relacionamento a uma
coleção de TABELAS. Para cada ENTIDADE e para cada
RELACIONAMENTO, existe uma ÚNICA TABELA que é
designada com o mesmo nome da ENTIDADE ou do
RELACIONAMENTO correspondente.
conceituais para descrição de dados, relacionamentos entre
esses dados, semântica de dados e restrições de consistência.
PRINCIPAIS MODELOS
MODELO DE DADOS FÍSICO
A passagem do diagrama do MER para a representação do
Modelo Relacional é denominado MAPEAMENTO do MER
para o RELACIONAL e é uma das técnicas mais utilizadas por
ser uma ligação entre os modelos de dados mais utilizados.
O MODELO RELACIONAL
MODELO ENTIDADE RELACIONAMENTO - MER
MODELO BASEADO EM OBJETOS - MER
MODELO BASEADO EM REGISTROS - RELACIONAL
ATRIBUTOS
Um BD relacional possui apenas um tipo de construção, que
NOME
COD_FORN
é a TABELA. Uma tabela é composta por linhas (TUPLAS)
ENTIDADES ⇒
FORNECEDOR - PRODUTO
RELACIONAMENTO ⇒ PEDIDO
ATRIBUTOS
NOME
COD_PROD
e colunas (ATRIBUTOS).
FORNECEDOR
Os RELACIONAMENTOS entre os dados também são
PRODUTO
ENTIDADE
representados ou por TABELAS, ou através da reprodução
dos valores de atributos.
COD_FORN
ATRIBUTOS DO
RELACIONAMENTO
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
PEDIDO
18
ENTIDADE
COD_PROD
PREÇO
QUANTIDADE
RELACIONAMENTO
ATRIBUTOS DO
RELACIONAMENTO
MANUEL
CURSO GABARITO
O MODELO RELACIONAL
MODELO RELACIONAL ⇒ TABELAS
FORNECEDOR - PRODUTO - PEDIDO
ABORDAGEM RELACIONAL ⇒ está baseada no princípio de
PRODUTO
que as informações em um BD podem ser consideradas como
FORNECEDOR
NOME
NOME
COD_FORN
COD_PROD
relações matemáticas e que estão representadas de maneira
uniforme, através do uso de tabelas (arquivo).
Este princípio coloca os dados (entidades e relacionamentos)
PEDIDO
COD_FORN
PREÇO
QUANTIDADE
nas ESTRUTURAS mais SIMPLES de armazenar dados, que são
COD_PROD
as TABELAS.
MAPEAMENTO DO MER PARA O RELACIONAL
O MODELO RELACIONAL
O MODELO RELACIONAL
TERMINOLOGIA DO MODELO RELACIONAL
Conceito Principal ⇒ vem da teoria dos conjuntos (ÁLGEBRA
RELACIONAL) atrelado à ideia de que não é relevante ao
usuário saber onde, nem como os dados estão (transparência).
Os usuários manipulam objetos dispostos em linhas e colunas
das tabelas.
O usuário pode lidar com estes objetos, usando um conjunto de
operadores e funções de alto nível, da ÁLGEBRA
RELACIONAL.
• TABELA É CHAMADA DE ⇒ RELAÇÃO
• LINHA DE UMA TABELA É CHAMADA DE ⇒ TUPLA
• COLUNA DE UMA TABELA É CHAMADO DE ⇒ ATRIBUTO
• O TIPO DE DADO QUE DESCREVE CADA COLUNA É
CHAMADO DE ⇒ DOMÍNIO.
O MODELO RELACIONAL
ATRIBUTO
TABELA - EXEMPLO
TERMINOLOGIA DO MODELO RELACIONAL
NOME
• TABELA = RELAÇÃO
CPF
ENDEREÇO
D_NASC
E_CIVIL
000.....
RUA.........
01/09/87
CASADA
JOÃO
029.....
AV...........
25/08/70
CASADO
MARIA
039.....
RUA.........
10/04/90
SOLTEIRA
BETH
289.....
RUA.........
23/07/78
DIVORC
PEDRO
187.....
AV...........
09/06/60
CASADO
LÚCIA
004.....
RUA.........
12/11/89
SOLTEIRA
TUPLA ⇒ ANA
• LINHA = TUPLA = REGISTRO
• COLUNA = ATRIBUTO = CAMPO
RELAÇÃO
TABELA
• TIPO DE DADO = DOMÍNIO
DOMÍNIO DO ATRIBUTO NOME = CARACTERES DO ALFABETO
DOMÍNIO DO ATRIBUTO CPF
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
19
= DÍGITOS DE 0 A 9
MANUEL
CURSO GABARITO
MODELO RELACIONAL
BANCO DE DADOS RELACIONAL (BDR) ⇒ é uma coleção de
EXEMPLO DE TABELA
TABELAS cada qual designada por um NOME ÚNICO.
TABELA ⇒ é um conjunto não ordenado de linhas. Cada linha é
composta por uma conjunto de CAMPOS (registro) e cada
CAMPO (coluna/atributo) é identificado por um nome.
Cod_Emp
Nome
Cod_Dpto
Cat_Func
E5
Souza
D1
C5
E3
Santos
D2
C5
E2
Silva
Soares
D2
D1
C2
E1
C1
Em um BANCO DE DADOS RELACIONAL os dados ficam
armazenados em TABELAS !
MODELO RELACIONAL
CARACTERÍSTICAS DAS TABELAS - MODELO RELACIONAL
CHAVE ⇒ é o conceito básico para IDENTIFICAR linhas e
• Cada Tabela tem um nome ÚNICO através do qual ela é
referenciada.
• Cada Tabela contém um número fixo de colunas (grau tabela).
• NÃO existem linhas IGUAIS.
• A ORDEM das linhas é IRRELEVANTE (a identificação não é
feita pela localização, mas pelo valor da CHAVE PRIMÁRIA).
• Cada COLUNA tem um NOME ÚNICO (diferente das demais)
• A ORDEM das colunas é IRRELEVANTE (a coluna é
identificada pelo seu nome).
• Cada coluna contém VALORES ATÔMICOS (não são
permitidos grupos de valores).
estabelecer RELAÇÕES entre TABELAS de um Banco de
Dados Relacional. É um conjunto de um ou mais CAMPOS
(ATRIBUTOS) de uma Tabela.
CHAVE ⇒ é um conjunto de atributos de uma relação (tabela)
que pode ser utilizado para a realização de qualquer operação
que envolva atributos e valores de atributos.
MODELO RELACIONAL
MODELO RELACIONAL
CHAVE PRIMÁRIA ⇒ é um campo ou conjunto de campos que
BANCO DE DADOS RELACIONAL - TIPOS DE CHAVES
identifica de forma EXCLUSIVA cada registro (TUPLA).
CHAVE PRIMÁRIA
UMA CHAVE PRIMÁRIA
CHAVE ESTRANGEIRA
• NÃO PODE TER REPETIÇÃO
• NÃO PODE SER NULA
CHAVE CANDIDATA
TIPOS DE CHAVES PRIMÁRIAS
CHAVE ALTERNATIVA
• SIMPLES
⇒ UM SÓ ATRIBUTO
• COMPOSTA ⇒ DOIS OU MAIS ATRIBUTOS
OBS ⇒ SUPERCHAVE = CHAVE PRIMÁRIA
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
20
MANUEL
CURSO GABARITO
EXEMPLO DE CHAVE PRIMÁRIA COMPOSTA - 2 CAMPOS
TIPOS DE CHAVES PRIMÁRIAS
TAB_DEPENDENTES
CHAVE PRIMÁRIA SIMPLES (um só campo) ⇒ exemplos
típicos: CPF, número do título de eleitor ou o número de
matrícula de um aluno em uma universidade.
Cod_Emp
E1
N_Dep
01
Nome
João
Tipo
Filho
D_Nasc
12/12/91
E1
E2
E6
02
01
01
Maria
Ana
Paula
Esposa
Esposa
Esposa
01/01/50
05/11/55
04/07/50
E6
02
José
Filho
03/02/85
CHAVE PRIMÁRIA COMPOSTA (vários campos) ⇒ utilizada
em situações em que não se pode garantir a exclusividade de
uma linha (registro) usando apenas um campo (atributo).
Campos da Chave Primária ⇒ Cod_Emp e N_Dep
NÃO É POSSÍVEL IDENTIFICAR UM EMPREGADO DE FORMA ÚNICA
APENAS PELO CAMPO Cod_Emp !
EXEMPLO DE CHAVE ESTRAGEIRA
CHAVE ESTRANGEIRA ⇒ é um campo de uma tabela
que é CHAVE PRIMÁRIA de OUTRA TABELA. Uma
Tabela-02
Tabela-01
chave estrangeira pode ter REPETIÇÃO, pode ser
NULA e deve ter o mesmo tipo de dado da chave
primária da outra tabela. É usada para DEFINIR o
CodDepto
NomeDepto
CodEmp
Nome
CodDepto
D1
Compras
E1
Soares
D1
C1
D2
Engenharia
E2
Silva
D2
C2
D3
Vendas
E3
Santos
D2
C5
D4
Comercial
E5
Souza
D1
C5
CHAVE
PRIMÁRIA
RELACIONAMENTO entre duas tabelas.
CHAVE
PRIMÁRIA
CatFunc
CHAVE
ESTRANGEIRA
CodDepto ⇒ é CHAVE PRIMÁRIA na Tabela-01 e é CHAVE
ESTRANGEIRA na Tabela-02.
Foi usada para criar um relacionamento entre as 2 tabelas.
EXEMPLO DE CHAVE ESTRANGEIRA NULA
TAB_SÓCIO
Sócio
TAB_QUADRA
Nome
Quadra
Instrutor
Nome
01
Nadal
Q1
Saibro
I1
Guga
02
Federer
Q2
Grama
I2
Safin
03
Djakovic
Q3
Saibro
I3
Agassi
04
Murray
Q4
Grama
I4
Sampras
CH-Primária
CHAVE CANDIDATA E CHAVE ALTERNATIVA
TAB_INSTRUTOR
Tipo
• Uma relação pode ter várias chaves para identificação
UNÍVOCA de suas tuplas, onde cada uma é denominada de
Chave CANDIDATA.
• Entre as chaves CANDIDATAS UMA é escolhida pelo DBA
(durante a fase de projeto lógico) para ser suportada pelo
SGBD e assim, manter a restrição de UNICIDADE.
• Esta chave escolhida é denominada de Chave PRIMÁRIA.
Desta forma, uma relação NUNCA apresentará tuplas (linhas)
repetidas o que significa que é possível a identificação de cada
tupla (linha) separadamente.
CH-Primária
CH-Primária
TAB_RESERVA
CH-PRIMÁRIA CH-ESTRG
Cod_Reserva
Sócio
Data
CH-ESTRG CH-ESTRG
Quadra
Instrutor
CHAVE
ESTRANGEIRA
01
01
02/06
Q1
I2
02
02
04/06
Q2
I1
03
02
05/06
Q2
I3
PODE TER
REPETIÇÃO
04
03
07/06
Q3
I4
PODE SER NULA
05
01
08/06
Q1
06
04
09/06
Q4
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
NULA
I1
21
MANUEL
CURSO GABARITO
MODELO RELACIONAL
CHAVE CANDIDATA E CHAVE ALTERNATIVA
CHAVE CANDIDATA ⇒ é um atributo (campo) ou
• Entre as Chaves CANDIDATAS, aquelas NÃO ESCOLHIDAS
para ser a Chave Primária são denominadas de Chaves
ALTERNATIVAS e podem ser utilizadas como chaves de
consultas, chaves de ordenação lógica (em consultas por
formulários e/ou relatórios) ou chaves de ordenação física
das relações em termos de arquivos de dados.
• As chaves que NÃO PERTENCEM aos conjunto de Chaves
CANDIDATAS, ou seja, são chaves que não permitem a
identificação individual das tuplas da relação, são
denominadas de CHAVES SECUNDÁRIAS.
grupamento de atributos que têm a propriedade de identificar
UNIVOCAMENTE uma ocorrência da entidade. Uma Chave
Candidata pode vir a ser uma Chave PRIMÁRIA. A Chave
Candidata que não é Chave Primária também chama-se
Chave ALTERNATIVA.
CHAVE ALTERNATIVA ⇒ é um campo de uma tabela que
pode ser utilizado também como CHAVE PRIMÁRIA. Um
exemplo típico é o campo CPF, que determina univocamente
uma linha em uma tabela de um Banco de Dados Relacional.
MODELO RELACIONAL
MODELO RELACIONAL
NORMALIZAÇÃO ⇒ são regras utilizadas no desenho de um
banco de dados que permitem um armazenamento consistente
e um eficiente acesso aos dados.
FORMAS NORMAIS ⇒ são um conjunto de REGRAS que
regem o modo como ATRIBUTOS podem ser ORGANIZADOS
PRINCIPAIS OBJETIVOS DA NORMALIZAÇÃO:
ELIMINAR REDUNDÂNCIA (o mesmo dado em mais de uma
tabela).
DIMINUIR INCONSISTÊNCIA (o mesmo dado com valores
diferentes em duas tabelas).
Possibilitar MAIOR PERFORMANCE nas pesquisas.
REDUZIR a NECESSIDADE de REESTRUTURAR as relações
quando novos tipos de dados são introduzidos
Garantir que a SEMÂNTICA dos atributos seja CLARA.
em TABELAS. As formas normais são 5.
FORMAS NORMAIS
NORMALIZAÇÃO
EXEMPLO-1 (1FN) - Considere a Tabela abaixo
A 4ª (4FN) e a 5ª (5FN) formas normais são chamadas de
Formas Normais de BOYCE-CODD (FNBC).
PRIMEIRA FORMA NORMAL (1FN) ⇒ uma tabela (relação)
Aluno (NÃO 1FN)
está na 1FN se:
NOME
IDADE
01/01/1900
• TODOS os seus ATRIBUTOS são ATÔMICOS (INDIVISÍVEIS)
N_MATR
Português, Matemática, etc
PROBLEMAS
• NÃO SÃO MULTIVALORADOS.
• DATA_NASC É UM GRUPAMENTO ⇒DIA_NASC/MÊS_NASC/ANO_NASC
• DISCIPLINAS É MULTIVALORADO ⇒ PORTUGUÊS, MATEMÁTICA, etc
1FN ⇒ NÃO HÁ GRUPAMENTO e NENHUM ATRIBUTO É
Para atender a 1FN:
• DATA_NASC deve ser dividido (se tornar atômico)
• Devemos criar uma NOVA TABELA para disciplinas e colocar
o nome de cada disciplina em linhas separadas (univalorado)
MULTIVALORADO.
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
MULTIVALORADO
GRUPAMENTO
DATA_NASC DISCIPLINAS
22
MANUEL
CURSO GABARITO
NORMALIZAÇÃO - EXEMPLO-1 (1FN)
Aluno (NÃO 1FN)
GRUPAMENTO
NOME
DATA_NASC
DISCIPLINAS
01/01/1900
Português, Matemática, etc
IDADE
FORMAS NORMAIS
MULTIVALORADO
SEGUNDA FORMA NORMAL (2FN) ⇒ uma tabela está na 2FN se:
N_MATR
• ESTIVER na PRIMEIRA forma normal (1FN)
TAB_Aluno (1FN)
NOME
IDADE
DIA_NASC
MÊS_NASC ANO_NASC
• TODOS os ATRIBUTOS que NÃO PERTENCEM à CHAVE,
N_MATR
DEPENDEM DA CHAVE através de uma dependência funcional
TAB_DISCIPLINA (1FN)
ELEMENTAR, isto é, dependem da TOTALIDADE DA CHAVE e
DISCIPLINA
não apenas de UM dos seus atributos isoladamente (de uma
N_MATR
Português
parte da chave).
Matemática
As duas tabelas (TAB_Aluno e TAB_DISCIPLINA) estão na 1FN !
NORMALIZAÇÃO - 2FN
EXEMPLO ⇒ vamos supor uma TABELA (ENCOMENDA) para
registar informações sobre as ENCOMENDAS realizadas por
CLIENTES e os PRODUTOS nela contidos.
ENCOMENDA (N-Encomenda ; DataEnc ; TotalEnc ;
CodCliente ; NomeCliente ; End_Cliente ; CodProduto ;
Descrição ; PreçoUnitário ; Quantidade; TotalProd)
O campo N-Encomenda identifica cada encomenda feita por
um cliente.
ENCOMENDA (N-Encomenda ; DataEnc ; TotalEnc ;
CodCliente ; NomeCliente ; End_Cliente ; CodProduto ;
Descrição ; PreçoUnitário ; Quantidade; TotalProd)
• De N-Encomenda dependem: DataEnc, TotalEnc, CodCliente,
NomeCliente e End_Cliente; Quantidade, TotalProd
• De CodProduto dependem: Descrição, PreçoUnitário;
A tabela ENCOMENDA encontra-se na 1FN porque todos os
A tabela ENCOMENDA NÃO SE ENCONTRA na 2FN porque
existem campos que dependem de partes diferentes da chave.
Alguns dependem de N-Encomenda e outros de CodProduto.
campos são atômicos e não existe repetição de valores.
Obs1: N-Encomenda e CodProduto são CAMPOS CHAVE
(estão sublinhados) !
Obs2: DataEnc foi considerado pelo projetista como atômico.
AÇÃO ⇒ DIVIDIR A TABELA ENCOMENDA - CRIA A TABELA DETALHE !
RESTRIÇÕES DE INTEGRIDADE
RESTRIÇÕES DE INTEGRIDADE
Um dos principais objetivos de Banco de Dados é MANTER a
• São REGRAS a respeito dos valores que podem ser
armazenados nas relações e que devem ser sempre
satisfeitas. Existem regras que são consideradas necessárias
a uma base de dados relacional.
INTEGRIDADE dos dados. Dizer que os dados de um BD estão
ÍNTEGROS
significa
dizer
que
eles
REFLETEM
CORRETAMENTE a REALIDADE REPRESENTADA pelo BD e
que são CONSISTENTES entre si. Para garantir a integridade
RESTRIÇÃO DE INTEGRIDADE DA CHAVE
dos dados o SGBD oferece o mecanismo de restrições de
RESTRIÇÃO DE INTEGRIDADE DE DOMÍNIO
integridade. Uma restrição de integridade é uma regra de
RESTRIÇÃO DE INTEGRIDADE DA ENTIDADE
consistência de dados que é garantida pelo próprio SGBD. Em
SGBD
Relacionais,
existem
as
seguintes
restrições
RESTRIÇÃO DE INTEGRIDADE REFERENCIAL
de
integridade conhecidas.
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
23
MANUEL
CURSO GABARITO
RESTRIÇÕES DE INTEGRIDADE
RESTRIÇÕES DE INTEGRIDADE
RESTRIÇÃO DE INTEGRIDADE DA CHAVE ⇒ uma chave
candidata qualquer não pode ter o mesmo valor em duas
tuplas distintas da mesma relação.
RESTRIÇÃO
REFERENCIAL ⇒ a
restrição de integridade referencial declara que uma tupla em
uma relação, que faz referência a outra relação, deve se
INTEGRIDADE DE DOMÍNIO ⇒ especifica que o valor de um
atributo (campo) deve obedecer a definição de valores
admitidos para a coluna (o domínio da coluna).
referir a uma tupla existente nessa relação. O conceito de
Integridade Referencial depende do conceito de CHAVE
ESTRANGEIRA. A INTEGRIDADE REFERENCIAL é utilizada
RESTRIÇÃO DE INTEGRIDADE DA ENTIDADE ⇒ a chave
primária de qualquer relação não pode ser nula em
nenhuma tupla dessa relação.
para garantir a Integridade dos dados entre as TABELAS
RELACIONADAS.
RESTRIÇÃO DE INTEGRIDADE REFERENCIAL
Exemplo-01 ⇒ considere um relacionamento do tipo 1:N entre a
tabela CLIENTES e a tabela PEDIDOS (um cliente pode fazer
vários pedidos). Com a Integridade Referencial, o BD não
permite que seja cadastrado um pedido para um cliente que
ainda não foi cadastrado. Em outras palavras, ao cadastrar um
pedido, o BD verifica se o código do cliente que foi digitado já
existe na tabela CLIENTES. Se não existir, o cadastro do
pedido não será aceito.
BANCO DE DADOS
LINGUAGEM DE CONSULTA ⇒ é uma linguagem na qual um
usuário
REQUISITA
INFORMAÇÕES
a
um
Sistema
Gerenciador de Banco de Dados. Estas linguagens são
tipicamente de mais ALTO NÍVEL que as linguagens de
programação padrão, e são classificadas como PROCEDURAIS
e NÃO-PROCEDURAIS.
Exemplo-02 ⇒ um filho de um funcionário não pode ser
cadastrado como dependente (TAB_DEPENDENTE) sem que o
pai trabalhe na empresa (TAB_FUNCIONÁRIO).
BANCO DE DADOS
ÁLGEBRA RELACIONAL ⇒ é uma linguagem de consulta
PROCEDURAL. Ela consiste em um conjunto de operações
que tomam uma ou mais RELAÇÕES como entrada e
produzem como resultado uma NOVA RELAÇÃO.
BANCO DE DADOS
SQL (Structured Query Language) ⇒ é a linguagem padrão
de consulta a um BANCO DE DADOS RELACIONAL (BDR).
Mais que uma linguagem de consulta o SQL oferece funções
ÁLGEBRA RELACIONAL
Maneira teórica de se manipular um BD Relacional (BDR)
É uma linguagem de consulta procedural
É um conjunto de operações onde
ENTRADA ⇒ uma ou mais relações (tabelas)
SAÍDA
⇒ uma nova relação (tabela)
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
DE INTEGRIDADE
para DEFINIÇÃO, MANIPULAÇÃO e CONTROLE dos dados de
em um Banco de Dados Relacional.
24
MANUEL
CURSO GABARITO
SQL (Structured Query Language)
FUNÇÕES AGREGADAS ⇒ são funções que tomam uma
coleção de valores como entrada, retornando um valor simples.
• Linguagem padrão de consulta a Banco de Dados Relacionais.
• Unifica a DDL e a DML numa única linguagem.
AVG ⇒ MÉDIA de uma coluna
• Engloba ainda outros aspectos, como por exemplo os relacionados
COUNT ⇒ CONTAGEM
com a ADMINISTRAÇÃO DA BASE DE DADOS.
• É uma linguagem NÃO-PROCEDIMENTAL
MAX ⇒ obtém o MAIOR valor de uma coluna
(PROCEDIMENTAL = PROCEDURAL).
MIN
• Funciona em modo interativo.
⇒ obtém o MENOR valor de uma coluna
SUM ⇒ obtém a SOMA de valores de uma coluna
• Existem várias extensões à linguagem SQL.
• É uma norma ISO e ANSI.
ISO (International Standards Organization)
ANSI (American National Standards Institute)
PARTES DO SQL - GRUPOS DE COMANDOS
PARTES DO SQL - GRUPOS DE COMANDOS
DDL (Data Definition Language) ⇒ permite ao usuário
DDL (Data DEFINITION Language)
DEFINIR, ALTERAR e REMOVER ESTRUTURAS (tabelas,
visões, índices).
DML (Data MANIPULATION Language)
DML (Data Manipulation Language) ⇒ permite ao usuário
DCL (Data CONTROL Language)
SELECIONAR, INSERIR, ATUALIZAR dados em tabelas
(REGISTROS).
DTL (Data TRANSACTION Language)
DCL (Data Control Language) ⇒ permite CONTROLAR o
DQL (Data QUERY Language)
ACESSO de usuários ao SGBD, ou seja, controlar a
autorização para o uso de dados e realização de operações.
PARTES DO SQL - GRUPOS DE COMANDOS
DDL - PRINCIPAIS COMANDOS
DTL (Data Transaction Language) ⇒ utilizado pelos
CREATE TABLE ⇒ cria uma nova tabela.
desenvolvedores em transações. Os principais comandos são
ALTER TABLE ⇒ altera a definição de uma tabela.
COMMIT e ROLLBACK.
DROP TABLE ⇒ remove (exclui) uma tabela.
DQL (Data Query Language) ⇒ Linguagem de Consulta de
Dados.
Principal
comando
SELECT.
Muitos
TRUNCATE TABLE ⇒ remove todas as linhas (registros) de
uma tabela. Limpa (esvazia) a tabela, mas não a exclui. Tem
o mesmo efeito do comando DELETE (DML) sem a cláusula
WHERE, mas como não varre a tabela é mais rápido.
autores
consideram o SELECT um comando DML.
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
25
MANUEL
CURSO GABARITO
OBSERVAÇÃO
DML - PRINCIPAIS COMANDOS
SELECT ⇒ seleciona registros dependendo de uma ou
DDL ⇒ DATA DEFINITION LANGUAGE - trabalha
mais condições. Muitos autores consideram SELECT um
com OBJETOS (exemplo: TABELAS , ÍNDICES,
comando DQL.
VISÕES).
DELETE ⇒ remove (exclui) registros de uma tabela.
DML ⇒ DATA MANIPULATION LANGUAGE -
INSERT ⇒ insere um registro (uma tupla) em uma tabela.
UPDATE ⇒ altera os valores de um ou mais registros de
trabalha com LINHAS (REGISTROS) de uma Tabela.
uma tabela
DCL - PRINCIPAIS COMANDOS
DQL - PRINCIPAL COMANDO
GRANT ⇒ concessão de privilégios a tabelas, visões, etc.
SELECT ⇒ seleciona registros dependendo de uma ou mais
Exemplos:
condições. Muitos autores consideram o SELECT um comando
• GRANT CREATE TABLE, CREATE VIEW TO CARLOS;
• GRANT SELECT, INSERT ON DEPTO TO JULIO, MARIO;
DML. Embora tenha apenas um comando, a DQL (Data Query
Language) é a parte da SQL mais utilizada. O comando SELECT
REVOKE ⇒ revogação de privilégios a tabelas e visões.
permite ao usuário especificar uma CONSULTA (QUERY) como
Exemplo:
uma descrição do resultado desejado. Esse comando é
REVOKE SELECT, INSERT ON DEPTO FROM MARIO;
composto de várias CLÁUSULAS e OPÇÕES, possibilitando
elaborar consultas das mais simples às mais elaboradas.
SQL - ESTRUTURA BÁSICA DE UMA CONSULTA
CLÁUSULAS ⇒ SELECT / FROM / WHERE
EXEMPLO
SELECT Nome, Salário
SQL - ESTRUTURA BÁSICA DE UMA CONSULTA
CLÁUSULAS ⇒ GROUP BY / HAVING
QUEM ?
Os campos Nome, Salário
DE ONDE ?
FROM Tab_Funcionário ⇒ Da tabela Tab_Funcionário
RESTRIÇÃO
WHERE Salário > 10000 ⇒ Com Salário > 10000
Obs1 ⇒ Para selecionar TODOS os campos (colunas) de uma
tabela basta usar: SELECT * ou SELECT ALL
Obs2 ⇒ Para selecionar TODAS as linhas (registros) basta
NÃO USAR o comando WHERE.
GROUP BY ⇒ utilizada para separar os REGISTROS
⇒
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
selecionados (pelo SELECT) em GRUPOS ESPECÍFICOS.
HAVING ⇒ utilizada para expressar a CONDIÇÃO que deve
satisfazer CADA GRUPO gerado pelo GROUP BY.
26
MANUEL
CURSO GABARITO
SQL - ESTRUTURA BÁSICA DE UMA CONSULTA
CLÁUSULAS ⇒ GROUP BY / HAVING
SQL - ESTRUTURA BÁSICA DE UMA CONSULTA
CLÁUSULAS ⇒ GROUP BY / HAVING
A sintaxe do comando SELECT com as cláusulas GROUP BY e
HAVING é:
SELECT <coluna(s)>
QUAIS os CAMPOS ?
FROM <tabela>
De QUAL tabela ?
WHERE <condições>
Qual a RESTRIÇÃO dos CAMPOS?
GROUP BY <coluna(s)> Como GRUPAR ?
HAVING <condições>
QUAIS vão fazer parte do GRUPO ?
EXEMPLO ⇒ TABELA ⇒ Tab_Vendas (Vendedor,Mês,Venda)
01- Qual o TOTAL das VENDAS de CADA VENDEDOR ?
SELECT Vendedor, SUM (Venda) ⇒ O QUÊ ?
FROM Tab_Vendas ⇒ DE ONDE ?
GROUP BY Vendedor ⇒ GRUPADO POR VENDEDOR !
Obs. SUM ⇒ calcula a SOMA de todos os valores de um
CAMPO.
OBS. GROUP BY deverá vir SEMPRE APÓS a cláusula WHERE
ou APÓS a cláusula FROM quando não existir WHERE !
SQL - ESTRUTURA BÁSICA DE UMA CONSULTA
CLÁUSULAS ⇒ GROUP BY / HAVING
EXEMPLO ⇒ TABELA ⇒ Tab_Vendas (Vendedor,Mês,Venda)
02- Qual a MÉDIA das VENDAS de CADA VENDEDOR no MÊS
de MAIO (05)?
SELECT Vendedor, Mês, AVG(Venda) ⇒ O QUÊ ?
SQL - ESTRUTURA BÁSICA DE UMA CONSULTA
CLÁUSULAS ⇒ GROUP BY / HAVING
EXEMPLO ⇒ TABELA ⇒ Tab_Vendas (Vendedor,Mês,Venda)
03- QUAIS VENDEDORES tiveram MÉDIA de venda MAIOR do
que 2000 ?
SELECT Vendedor,Venda,AVG(Venda)
FROM Tab_Vendas ⇒ DE ONDE ?
FROM Tab_Vendas
WHERE Mês = ’05’ ⇒ RESTRIÇÃO SOBRE A SELEÇÃO !
GROUP BY Vendedor
GROUP BY Vendedor ⇒ GRUPADO POR VENDEDOR !
HAVING AVG(Venda) > 2000
Obs. AVG ⇒ calcula a MÉDIA de todos os valores de um
CAMPO.
Obs. AVG ⇒ calcula a MÉDIA de todos os valores de um campo.
CLÁUSULAS ⇒ GROUP BY/ HAVING
SQL - ESTRUTURA BÁSICA DE UMA CONSULTA
CLÁUSULAS ⇒ GROUP BY / HAVING
OBSERVAÇÕES
EXEMPLO ⇒ TABELA ⇒ Tab_Vendas (Vendedor,Mês,Venda)
04- QUAIS vendedores venderam MAIS que 2000 no mês de
MAIO (05) ?
01- GROUP BY
SELECT Vendedor,Mês,Venda,SUM(Venda)
ANTES da cláusula HAVING, já que os grupos são formados e
FROM Tab_Vendas
as funções de grupos são calculadas ANTES de resolver a
WHERE Mês = ’05’
cláusula HAVING.
GROUP BY Vendedor
02- GROUP BY ⇒ organiza dados em GRUPOS, produzindo
HAVING SUM(Venda) > 2000
sumários. A cláusula HAVING ESTABELECE CONDIÇÕES
⇒ é usado para GERAR AGREGADOS
utilizados junto com o comando SELECT e deve ser colocado
para listar esses grupos.
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
27
MANUEL
CURSO GABARITO
CLÁUSULAS ⇒ GROUP BY/ HAVING
CLÁUSULA ⇒ SELECT DISTINCT
OBSERVAÇÕES
DISTINCT ⇒ é usada para retornar apenas valores distintos
(diferentes) em uma tabela.
03- HAVING ⇒ está para a cláusula GROUP BY, assim como a
TAB_VENDAS
ID
VENDEDOR
1 BETO
2 GABRIEL
3 PATY
4 MÔNICA
cláusula WHERE está para o comando SELECT.
04- HAVING ⇒ só é usada no SELECT com GROUP BY, já
WHERE pode ser utilizada em várias outras instruções como
5
6
DELETE, UPDATE e INSERT.
BETO
MÔNICA
Mês
JAN
ABR
ABR
MAI
Venda
2000,00
5500,00
12000,00
15000,00
ABR
MAR
3000,00
5900,00
VENDEDOR
BETO
GABRIEL
PATY
MÔNICA
SELECT DISTINCT VENDEDOR FROM TAB_VENDAS
CLÁUSULA ⇒ SELECT ORDER BY
CLÁUSULA ⇒ SELECT ORDER BY
OBSERVAÇÕES
ORDER BY ⇒ lista os resultados de uma consulta por uma
ordem em particular (ascendente ou descendente)
TAB_VENDAS
ID
VENDEDOR Mês
1
2
3
4
5
6
BETO
GABRIEL
PATY
MÔNICA
BETO
MÔNICA
JAN
ABR
ABR
MAI
ABR
MAR
Venda
2000,00
5500,00
12000,00
15000,00
3000,00
5900,00
VENDEDOR
BETO
BETO
GABRIEL
MÔNICA
PATY
MÔNICA
01- É possível ordenar por MAIS DE UMA COLUNA.
SELECT Vendedor, Venda FROM TAB_VENDAS ORDER BY
Venda
2000,00
3000,00
5500,00
5900,00
12000,00
15000,00
Vendedor ASC, Venda DESC
02- É possível ordenar utilizando a POSIÇÃO da coluna em vez
do nome do campo. Assim, para exibir Vendedor e Venda,
ordenando por Venda em ordem ascendente basta escrever:
SELECT Vendedor, Venda FROM TAB_VENDAS ORDER BY 4
ASC (4 indica que é a coluna 4 da Tabela).
SELECT Vendedor, Venda FROM TAB_VENDAS ORDER BY
Venda ASC
SQL - OUTROS CONCEITOS E COMANDOS
SQL - OUTROS CONCEITOS E COMANDOS
FORMULÁRIO ⇒ É o objeto de COMUNICAÇÃO entre o banco
RELATÓRIO ⇒ é uma maneira eficaz de apresentar os dados
em um formato impresso. Como o usuário tem controle sobre o
de dados e o USUÁRIO. Permite a ENTRADA de dados e a
tamanho e a aparência de todos os elementos de um relatório, é
visualização de informações de uma maneira muito mais
possível exibir as informações da maneira como deseja vê-las.
elegante e controlada.
Se o formulário é a melhor maneira de entrar com dados, o
relatório é a melhor maneira de imprimir informações. Os
relatórios dos SGBD’s (ACCESS, etc) possuem muitos recursos
tais como preenchimento de etiquetas, envelopes e interação
com o Word em uma mala direta.
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
28
MANUEL
CURSO GABARITO
SQL - OUTROS CONCEITOS E COMANDOS
SQL - OUTROS CONCEITOS E COMANDOS
VIEW ⇒ é uma TABELA VIRTUAL gerada a partir do resultado
de uma instrução SELECT. Uma VIEW contém linhas e
colunas, como se fosse uma tabela real. Os campos na VIEW
são obtidos de uma tabela de um banco de dados.
Exemplo:
TRIGGER (disparo) ⇒ é um BLOCO DE COMANDOS que é
EXECUTADO AUTOMATICAMENTE. Em vez de serem
executados
CREATE VIEW < NOME DA VIEW> AS SELECT <CAMPOS>
pelo
usuário,
eles
são
executados
pelo
SERVIDOR do BANCO de DADOS quando certas operações
FROM <TABELA> WHERE <CONDIÇÃO>
são realizadas numa tabela, como por exemplo: Insert, Delete
CREATE VIEW COMEDIAS AS SELECT * FROM FILMES
WHERE TIPO = 'COMÉDIA';
ou Update.
SQL - OUTROS CONCEITOS E COMANDOS
SQL - OUTROS CONCEITOS E COMANDOS
TRIGGER (disparo) ⇒ são usados para realizar tarefas
ETAPAS DE CRIAÇÃO DE UM TRIGGER
relacionadas
Um COMANDO SQL que vai DISPARAR o TRIGGER (Insert,
com
CONTROLES
como:
VALIDAÇÕES,
RESTRIÇÕES de ACESSO, ROTINAS DE SEGURANÇA e
Delete, Update).
CONSISTÊNCIA de dados. Esses controles deixam de ser
A AÇÃO que o TRIGGER vai EXECUTAR (geralmente um
executados pela aplicação e passam a ser executados pelos
bloco de códigos SQL).
TRIGGERS.
SQL - OUTROS CONCEITOS E COMANDOS
SQL - OUTROS CONCEITOS E COMANDOS
TRANSAÇÕES - DTL (Data TRANSACTION Language)
TRANSACTION (TRANSAÇÃO-DTL) ⇒ é um conjunto de
A execução de um programa que inclui operações de acesso a
um banco de dados é chamada de TRANSAÇÃO. Se as
procedimentos que é executado em um Banco de Dados e que
operações em questão não alteram os dados do banco de
para o usuário é visto como uma ÚNICA AÇÃO. A
dados, a transação é chamada de read-only transaction.
INTEGRIDADE de uma transação depende de 4 (quatro)
No entanto, a maioria das transações executa operações que
PROPRIEDADES, conhecidas como ACID.
realizam ALTERAÇÕES no BD. A palavra TRANSAÇÃO se
refere então a um programa que realiza operações que
ALTERAM REGISTROS de um Banco de Dados.
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
29
MANUEL
CURSO GABARITO
PROPRIEDADES DE UMA TRANSACTION
PROPRIEDADES DE UMA TRANSACTION
SER
ISOLAMENTO ⇒ como as transações são executadas
EXECUTADA PELA METADE, isto é, ou se executa por
CONCORRENTEMENTE no mesmo banco de dados, elas
INTEIRO, ou se retorna para o ESTADO ANTERIOR a
devem ser ISOLADAS das OUTRAS operações.
ATOMICIDADE
⇒
uma
transação
NÃO
PODE
transação, onde nada foi executado.
DURABILIDADE ⇒ está relacionada à capacidade do
COERÊNCIA ⇒ o banco de dados é coerente se todas as
SGBD de se recuperar de falhas no sistema e no meio. As
suas RESTRIÇÕES de INTEGRIDADE SÃO SATISFEITAS.
atualizações de uma transação efetivada devem ser
PRESERVADAS e REGISTRADAS em algum meio durável.
STORED PROCEDURES
TRANSAÇÕES SÃO SUPORTADAS PELOS
SEGUINTES MECANISMOS
Quando uma aplicação solicita a execução de uma QUERY
ROLLBACK ⇒ serve para DESFAZER as alterações que
foram efetuadas em uma tabela e que não tenham sido
confirmadas.
(CONSULTA), todo o texto da mesma é enviado pela rede ao
SERVIDOR onde será finalmente compilado e executado.
COMMIT ⇒ é o contrário do ROLLBACK ou seja, serve para
CONFIRMAR as alterações que por ventura sejam feitas.
Uma vez executado um COMMIT não podemos mais retornar
a situação anterior.
STORED PROCEDURE ⇒ é uma sequência de comandos
SQL, armazenados no Dicionário de Dados (DD), agrupados
de forma que ao executar a STORED PROCEDURE esses
comandos
são
executados
todos
sequencialmente
DIRETAMENTE no SERVIDOR.
ICMS/RJ - 2008
01- No funcionamento de um sistema de gerenciamento de
CURSO GABARITO
banco de dados, uma situação de falha ocorre quando dois
usuários tentam alterar, simultaneamente, um mesmo registro.
ISS/NITERÓI
Por exemplo, no caso de dois clientes de uma empresa de
BANCO DE DADOS
EXERCÍCIOS
cartões de crédito tentarem realizar, num dado instante, a
liquidação de um mesmo boleto da mesma fatura, um deles
receberá uma mensagem de falha. A situação descrita é
conhecida por:
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
30
MANUEL
CURSO GABARITO
BADESC-2010
(A)
Multilock
(B)
Crashing.
(C)
Overlock.
(D)
Locking.
(E)
Deadlock.
02- 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.
DEADLOCK - impasse, dois ou mais processos
ficam impedidos de continuar suas execuções.
BADESC-2010
BADESC-2010
03- Os objetivos dos compiladores DDL, DML e DCL são,
respectivamente:
(A) criar os objetos do banco de dados, manipular (recuperação,
inserção, remoção e alteração) de dados nos objetos criados
pela DDL e fornecer privilégio de acesso às informações.
(B) fornecer privilégio de acesso às informações, criar os objetos
do banco de dados e manipular (recuperação, inserção,
remoção e alteração) de dados nos objetos criados pela DDL.
(C) manipular (recuperação, inserção, remoção e alteração) de
dados nos objetos criados pela DML, criar os objetos do banco
de dados e fornecer privilégio de acesso às informações.
Os objetivos dos compiladores DDL, DML e DCL são,
respectivamente:
(D) fornecer privilégio de acesso às informações, manipular
(recuperação, inserção, remoção e alteração) de dados nos
objetos criados pela DDL e criar os objetos do banco de dados.
(E) criar os objetos do banco de dados, fornecer privilégio de
acesso às informações e manipular (recuperação, inserção,
remoção e alteração) de dados nos objetos criados pela DDL.
BADESC-2010
BADESC-2010
05- A arquitetura de um SGBD ou a arquitetura de um sistema de
banco de dados, também denominada de arquitetura
ANSI/SPARC em três níveis, determina que um SGBD descreva
como os dados devem ser armazenados e acessados e conter
estes mesmos dados de fato armazenados. As terminologias
desta arquitetura que contêm essas descrições e os dados de
fato armazenados, são respectivamente:
04- A propriedade de uma transação denominada de ACID
envolve os seguintes conceitos:
(A) Atômico, Concorrente, Isolamento e Durabilidade.
(B) Atomicidade, Consistência, Isolamento e Durabilidade.
(C) Atomicidade, Concorrente, Inconsistente e Durabilidade.
(D) Atomicidade, Consistência, Integridade e Dependência de
dados.
(E) Atomicidade, Consistência, Isolamento e Dependência de
dados.
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
(A) esquema físico e nível físico.
(B) nível físico e esquema físico.
(C) nível físico e esquema conceitual.
(D) nível conceitual e esquema físico.
(E) nível conceitual e esquema conceitual.
31
MANUEL
CURSO GABARITO
BADESC-2010
06- Analise o seguinte conceito. “Situação que dois ou mais usuários (ou
processos) se autobloqueiam devido a não liberação de recursos
concorrentes, onde, cada um, separadamente, espera indefinidamente que o
outro finalize o processamento, criando um impasse. Portanto, é uma
situação em que duas ou mais transações se encontram em estado de
espera simultânea, cada uma esperando que uma outra finalize o
processamento para poder prosseguir”.
A denominação desse conceito e o termo técnico que o provoca são,
respectivamente:
(A) deadlock e bloqueio.
(B) bloqueio e deadlock.
(C) bloqueio e inconsistência.
(D) inconsistência e bloqueio.
(E) deadlock e inconsistência.
BADESC-2010
BADESC-2010
07- Os conceitos que envolvem os termos restrição de integridade de
entidade e restrição de integridade referencial são, respectivamente:
(A) nenhum atributo pertencente à chave primária poderá receber valor
NULL / os valores dos atributos que formam a chave estrangeira
deverá existir na tabela onde a chave estrangeira é chave primária,
quando for diferente de NULL.
(B) os valores dos atributos que formam a chave estrangeira deverá
existir na tabela onde a chave estrangeira é chave primária, quando for
diferente de NULL / nenhum atributo pertencente à chave primária
poderá receber valor NULL.
(C) nenhum atributo pertencente à chave primária poderá receber valor
NULL / os valores dos atributos que formam a chave estrangeira
deverá existir na tabela onde a chave estrangeira é chave primária,
somente quando for igual a NULL.
(D) os valores dos atributos que formam a chave estrangeira deverá
existir na tabela onde a chave estrangeira é chave primária, somente
quando for igual a NULL / nenhum atributo pertencente à chave
primária poderá receber valor NULL.
(E) os atributos pertencentes à chave primária deverão conter sempre
valores diferentes de NULL / os valores dos atributos que formam a
chave estrangeira deverá existir na tabela onde a chave estrangeira é
chave primária, somente quando for igual a NULL.
BADESC-2010
RESTRIÇÃO DE INTEGRIDADE DA ENTIDADE ⇒ a chave
primária de qualquer relação não pode ser nula em
nenhuma tupla dessa relação.
08- O processo de obter uma única entidade de várias
entidades, que contenha todos os atributos comuns de todas
estas entidades, é denominado de:
RESTRIÇÃO DE INTEGRIDADE REFERENCIAL ⇒ a
restrição de integridade referencial declara que uma tupla em
uma relação, que faz referência a outra relação, deve se
referir a uma tupla existente nessa relação. O conceito de
Integridade Referencial depende do conceito de CHAVE
ESTRANGEIRA. A INTEGRIDADE REFERENCIAL é utilizada
para garantir a Integridade dos dados entre as TABELAS
RELACIONADAS.
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
(A) agregação.
(B) normalização.
(C) normatização.
(D) generalização.
(E) especialização.
32
MANUEL
CURSO GABARITO
BADESC-2010
BADESC-2010
09- Na linguagem SQL, no comando select, uma cláusula
possibilita a remoção de entradas em duplicata num conjunto
de resultados.
10- Considere o seguinte texto.
“conjunto de um ou mais atributos que, tomados coletivamente,
nos permitem identificar, de maneira única, uma entidade em um
conjunto de entidades”
O texto acima é a definição de:
Esta cláusula é mostrada no seguinte comando:
(A) select unique CIDADE into BADESC
(B) select distinct CIDADE into BADESC
(C) select distinct CIDADE over BADESC
(D) select distinct CIDADE from BADESC
(E) select unique CIDADE from BADESC
(A)Chave.
(B) Surrogate.
(C) Superchave.
(D) Chave primária.
(E) Chave candidata.
BADESC-2010
DETRAN_RN_ASSESSOR_TEC_INFO_BD_2010
11- A respeito de Sistema de Banco de Dados, analise as afirmativas a seguir.
I. Os dados e a descrição correspondente são armazenadas na base e
gerenciadas pelo SGBD.
II. A representação conceitual é feita por meio de um modelo de dados que só
usa conceitos lógicos.
III. O controle de concorrência garante que o resultado de várias modificações
à base de dados seja correto.
12- Sobre Bancos de Dados Relacionais, analise:
I. A abordagem relacional está baseada no princípio de que as informações
em uma base de dados podem ser consideradas relações matemáticas e que
estão representadas de maneira uniforme com o uso de tabelas
bidimensionais.
II. A teoria relacional enxerga o banco de dados como um conjunto de tabelas,
e as operações que as utilizam são feitas por linguagem que o manipula, não
sendo procedurais, ou seja, manipulando conjuntos de uma só vez.
III. É indispensável aos usuários saber como e onde os dados estão
armazenados.
(A) se somente a afirmativa I estiver correta.
(B) se somente as afirmativas I e II estiverem corretas.
(C) se somente as afirmativas I e III estiverem corretas.
(D) se somente as afirmativas II e III estiverem corretas.
(E) se todas as afirmativas estiverem corretas.
A) I, II
B) I, III
C) I
D) II
E) II, III
DETRAN_RN_ASSESSOR_TEC_INFO_BD_2010
DETRAN_RN_ASSESSOR_TEC_INFO_BD_2010
13- Sobre o comando “drop table pedido;” assinale a alternativa
correta:
14- Assinale a alternativa que corresponde à funcionalidade
da seguinte sintaxe:
SELECT * FROM tabela ;
A) Cria a tabela pedido.
B) Elimina a tabela pedido.
C) Duplica a tabela pedido.
D) Cria uma chave primária na tabela pedido.
E) Extrai dados da tabela pedido.
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
A) Selecionar apenas a primeira coluna da tabela.
B) Inserir o símbolo asterisco na tabela.
C) Selecionar todas as colunas da tabela.
D) Inserir a coluna asterisco na tabela.
E) Apagar todas as colunas da tabela.
33
MANUEL
CURSO GABARITO
DETRAN_RN_ASSESSOR_TEC_INFO_BD_2010
DETRAN_RN_ASSESSOR_TEC_INFO_BD_2010
15- Marque a opção correta sobre a aplicação do comando que
se segue, no diagrama exposto:
Diagrama
SELECT Numero_Pedido, Codigo_Produto,
Item_de_Pedido WHERE Quantidade = 35;
Quantidade
FROM
A) Lista o número, o código, a quantidade e os itens do pedido número 35.
B) Lista o número, o código e a quantidade de pedidos, exceto os que têm quantidade
de itens menor que 35.
C) Lista o número, o código e os itens dos pedidos que tenham quantidade igual a 35
itens.
D) Lista o número, o código e a quantidade de todos os pedidos que possuam
quantidade de itens igual a 35.
E) Lista o número, o código e a quantidade de todos os pedidos que não possuam
quantidade de itens igual a 35.
SELECT Numero_Pedido, Codigo_Produto, Quantidade
FROM Item_de_Pedido
WHERE Quantidade = 35;
DETRAN_RN_ASSESSOR_TEC_INFO_BD_2010
ICMS-RJ - 2011
16- Para um conjunto de relacionamentos R binário entre os
conjuntos de entidades A e B, o mapeamento das
cardinalidades deve seguir, EXCETO:
17- Para que um sistema de informação possa ser útil e
confiável, deve ser fundamentado na modelagem de dados,
para posterior análise do processo. A modelagem de dados se
baseia nos seguintes elementos:
A) Um para um.
B) Um para muitos.
C) Um para ele mesmo.
D) Muitos para muitos.
E) Muitos para um.
(A) fluxos de dados, atributos e requisitos.
(B) fluxos de dados, diagramas e requisitos.
(C) classes de dados, métodos e componentes.
(D) objetos de dados, diagramas e componentes.
(E) objetos de dados, atributos e relacionamentos.
Um para ele mesmo ⇒ UNÁRIO
AL_MA_TGA_ANALISTA_SISTEMAS_2013
AL_MA_TGA_ANALISTA_SISTEMAS_2013
18- Sobre sistemas de gerenciamento de bancos de dados, assinale a
afirmativa incorreta.
Sobre sistemas de gerenciamento de bancos de dados, assinale a
afirmativa incorreta.
(D) Uma Visão (View) de um banco de dados contém todas as
informações sobre as entidades, atributos e tabelas. Seu objetivo é
padronizar e unificar os termos utilizados nas variáveis utilizadas nos
banco de dados.
(E) O "varchar" é uma cadeia de caracteres de tamanho
indeterminado. Campos do tipo “varchar” podem ter qualquer
tamanho, até um limite que varia de acordo com o SGBD.
(A) Em uma tabela chamada Carro, com os atributos Modelo, Ano,
Cor e Placa, o atributo mais apropriado para servir como chave
primária é Placa.
(B) O processo de aplicação de regras ao projeto de um banco de
dados, com o intuito de permitir um acesso eficiente e
armazenamento consistente dos dados, é denominado normalização
do banco de dados, ou apenas normalização.
(C) O modelo hierárquico de banco de dados é o mais apropriado
para dados que são representados por um relacionamento pai‐filho,
onde cada registro pai pode estar relacionado com vários registros
filho.
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
34
MANUEL
CURSO GABARITO
AL_MT_AN_B_DADOS_2013
AL_MT_AN_B_DADOS_2013
20- No diagrama ER estendido, uma entidade
associativa é graficamente representada por:
19- O modelo de dados abstrato que descreve a estrutura de um
banco de dados de forma independente de um SGBD chama-se
modelo
(A) lógico.
(B) conceitual.
(C) físico.
(D) algorítmico.
(E) funcional.
O uso desta abstração é necessário QUANDO um
RELACIONAMENTO deve ser representado como uma
ENTIDADE no modelo conceitual
AL_MT_AN_B_DADOS_2013
AL_MT_AN_B_DADOS_2013
22- Com relação às definições dos diferentes tipos de chaves em um
projeto de Banco de Dados, analise as afirmativas a seguir.
21- Com relação às vantagens que podem ser destacadas ao
ser usada a abordagem de SGBD centralizados, assinale V
para a afirmativa verdadeira e F para a falsa.
( ) Controle de Redundância.
( ) Imposição de Restrições de Integridade.
( ) Utilização de Triggers e Stored Procedures.
As afirmativas são, respectivamente,
I. Em alguns casos, mais de uma coluna ou combinações de colunas
podem servir para distinguir uma linha das demais. Se uma das
colunas (ou combinação de colunas) é escolhida como chave primária,
as demais são denominadas chaves estrangeiras.
II. Uma chave estrangeira é uma coluna ou uma combinação de
colunas cujos valores aparecem necessariamente na chave primária
de uma tabela. A chave estrangeira é o mecanismo que permite a
implementação de relacionamentos em um banco de dados relacional.
III. Uma chave primária é uma coluna ou uma combinação de colunas
cujos valores não distinguem uma linha das demais dentro de uma
tabela.
(A) V, V e V.
(B) V, F e V.
(C) V, F e F.
(D) F, V e F.
(E) F, F e F.
AL_MT_AN_B_DADOS_2013
AL_MT_AN_B_DADOS_2013
Assinale:
(A) se somente a afirmativa I estiver correta.
(B) se somente a afirmativa II estiver correta.
(C) se somente a afirmativa III estiver correta.
(D) se somente as afirmativas I e II estiverem corretas.
(E) se todas as afirmativas estiverem corretas.
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
23- Analise o comando SQL a seguir.
SELECT * FROM pessoa
Para recuperar todos os registros da tabela pessoa, cujo
campo sobrenome começa com a letra B, deverá ser
acrescentado ao final do comando
(A) WHERE sobrenome IS 'B*'
(B) WHERE sobrenome = 'B'
(C) WHERE sobrenome[1] = 'B'
(D) WHERE sobrenome EQUALS 'B*'
(E) WHERE sobrenome LIKE 'B%'
35
MANUEL
CURSO GABARITO
MPE_MS_AN_BDADOS_2013
MPE_MS_AN_BDADOS_2013
25- Segundo o modelo de entidade e relacionamento, a
cardinalidade mínima representa o número mínimo de
ocorrências de uma entidade que estão relacionadas a uma
ocorrência de outra entidade através de um relacionamento. Os
valores das cardinalidades mínimas podem ser
24- Um modelo de dados é uma descrição formal das
estruturas de dados presentes em um banco de dados. Os dois
níveis de abstração dos modelos de dados considerados em
um projeto de banco de dados são:
(A) modelo conceitual e modelo lógico.
(B) modelo lógico e modelo físico.
(C) modelo conceitual e modelo físico.
(D) modelo de classes e modelo de entidades.
(E) modelo de entidades e modelo de relacionamentos.
(A) zero ou um.
(B) zero ou n.
(C) um ou n.
(D) um número inteiro n menor que zero ou n.
(E) um número inteiro n menor que zero ou zero.
MPE_MS_AN_BDADOS_2013
MPE_MS_AN_BDADOS_2013
27- Com relação a banco de dados, uma transação T está em starvation quando
26- Com relação ao tema “modelo relacional”, analise as afirmativas a seguir.
I. Chave estrangeira é o mecanismo que permite a implementação de
relacionamentos em um banco de dados relacional.
II. Chave estrangeira é uma coluna única ou combinação de colunas cujos
valores necessariamente aparecem como chave primária em outra tabela.
III. Chave candidata é uma coluna cujos valores necessariamente aparecem
como chave secundária em tabelas que participam de auto‐relacionamentos.
Assinale:
(A) não pode continuar seu processamento por um período de tempo
indefinido, enquanto outras transações continuam normalmente.
(B) não pode continuar seu processamento por um período de tempo
indefinido, enquanto outras transações também são impedidas de
continuar seu processamento normalmente.
(C) um recurso está indisponível e por esse motivo a transação será
abruptamente finalizada.
(D) pode continuar seu processamento por um período de tempo
pré‐definido, enquanto outras transações são impedidas de continuar seu
processamento normalmente.
(E) pode continuar seu processamento por um período de tempo
conhecido à priori pois T não tem permissão para acessar os recursos
necessários.
(A) se somente a afirmativa I estiver correta.
(B) se somente a afirmativa II estiver correta.
(C) se somente a afirmativa III estiver correta.
(D) se somente as afirmativas I e II estiverem corretas.
(E) se somente as afirmativas I e III estiverem corretas.
MPE_MS_AN_ENG_COMP_2013
MPE_MS_AN_ENG_COMP_2013
28- Os sistemas gerenciadores de bancos de dados relacionais
adotam uma arquitetura que envolve diversos esquemas com o
objetivo de separar o usuário da aplicação do banco de dados
físico. A esse respeito, é correto afirmar que esses esquemas
são
29- A modelagem conceitual de dados é uma fase muito
importante para o desenvolvimento de aplicações que utilizem
bancos de dados. A modelagem utiliza entidades,
relacionamentos e atributos. O grau de um relacionamento
indica o número de
(A) externo, pré‐compilador e compilador SQL.
(B) independência física de dados e independência de dados
lógica.
(C) interface, conceitual e visão.
(D) interno, conceitual e externo.
(E) visão, compilador SQL e utilitários.
(A) atributos participantes.
(B) auto‐relacionamentos participantes.
(C) entidades fracas participantes.
(D) entidades participantes.
(E) relacionamentos participantes.
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
36
MANUEL
CURSO GABARITO
MPE_MS_AN_ENG_COMP_2013
MPE_MS_AN_ENG_COMP_2013
30- O conceito de transação é fundamental em bancos de dados
relacionais. Uma transação (T) é uma atividade de
processamento que ou estará completamente realizada ou não
foi realizada. Uma transação deve obedecer a diversas
propriedades. A propriedade durabilidade garante que T
(C) preservará a consistência dos dados, se sua execução for
completada corretamente, levando o banco de dados de um
estado durável para outro.
(D) será recuperada caso ocorra uma falha no sistema. As
mudanças serão desfeitas em decorrência da falha e o banco
continuará integro.
(E) terá suas alterações persistidas no banco de dados por uma
transação efetivada. As alterações dos dados não devem ser
perdidas em razões de uma falha.
(A) deve ser executada de modo isolado das demais
transações. O processamento de T não pode sofrer interferência
de qualquer outra transação.
(B) é uma unidade indivisível de processamento que será
executada na sua totalidade ou não será executada de
nenhuma outra forma.
PERSISTIDAS ⇒ gravadas em um meio DURÁVEL
MPE_MS_AN_SISTEMAS_2013
MPE_MS_AN_SISTEMAS_2013
31- Com relação ao tema “Sistemas gerenciadores de bancos de dados”,
analise as afirmativas a seguir.
I. Cabe ao administrador de banco de dados de uma organização definir e
modificar esquemas por meio da execução de instruções de definição de
dados, conceder diferentes tipos de autorização para acesso a dados e
manter rotinas que têm por objetivo garantir a integridade do sistema.
II. Cabe ao administrador de banco de dados de uma organização
escolher, dentre as diversas ferramentas disponíveis no mercado, as mais
adequadas e desenvolver aplicações que utilizem o sistema gerenciador
de bancos de dados e que ofereçam interfaces amigáveis para os usuários
finais.
III. Cabe ao administrador de banco de dados de uma organização
acessar o banco de dados e monitorar as tarefas que estão sendo
executadas pelos usuários e garantir que o desempenho do sistema não
seja prejudicado por elas.
Assinale:
(A) se somente a afirmativa I estiver correta.
(B) se somente a afirmativa II estiver correta.
(C) se somente a afirmativa III estiver correta.
(D) se somente as afirmativas II e III estiverem corretas.
(E) se somente as afirmativas I e III estiverem corretas.
MPE_MS_TEC_INFO_2013
32- Observe o comando SQL a seguir:
SELECT nome, sobrenome, PIS, anos_de_servico FROM
Empregados
A cláusula que deve ser adicionada ao comando acima para
ordenar os registros por anos de serviço, com os empregados
que estão há mais tempo na empresa aparecendo primeiro na
listagem, é
DPERJ_ADM_DADOS_2014
33- O controle de concorrência para transações de banco de
dados que garante que resultados intermediários de uma
transação T não afetem outras transações até que T tenha sido
totalmente executada, ou rejeitada, é usualmente implementado
em bancos de dados por meio de
(A) arquivos de log.
(B) bloqueio (lock e unlock).
(C) check points.
(D) replicação.
(E) two-phase commitment.
(A) ORDER 'anos_de_servico' BY ASC
(B) ORDER BY 'anos_de_servico'
(C) ORDER BY anos_de_servico DESC
(D) SORTED BY anos_de_servico DESC
(E) ORDER BY anos_de_servico ASC
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
37
MANUEL
CURSO GABARITO
DPERJ_ADM_DADOS_2014
TJ_BA_AN_TI_2015
34- A sigla DBA é usualmente empregada para designar um
profissional que é responsável
(A) pela administração, instalação, configuração e monitoramento
de instalações de bancos de dados.
(B) pela concepção, desenvolvimento e implantação de sistemas
gerenciadores de bancos de dados.
(C) pelo processo de coleta e exploração de dados para geração de
novos conhecimentos.
(D) pelo teste e manutenção de sistemas WEB construídos sob a
égide de metodologias ágeis.
(E) pelo treinamento e certificação para utilização de gerenciadores
de bancos de dados.
35- As técnicas de projeto de bancos de dados visam à obtenção
de três objetivos principais, quais sejam:
(A) normalização, preservação das dependências funcionais e
decomposição sem perda;
(B) normalização, independência de dados e decomposição
sem perda;
(C) normalização, independência de dados e controle de
concorrência;
(D) atomicidade, consistência e durabilidade;
(E) independência de dados, controle de concorrência e
normalização
DEPENDÊNCIA FUNCIONAL - EXEMPLO
DEPENDÊNCIA FUNCIONAL
Dados dois conjuntos de atributos A e B de uma entidade, dizse que:
• B é funcionalmente dependente de A ou
• A determina B ou
• B depende de A,
se a cada valor de A estiver associado a um, e só um, valor
de B.
N_funcionário
Nome
Apelido
Departamento
1021
Sofia
Reis
900
1022
Afonso
Reis
700
1023
António
Cardoso
900
Departamento → N_funcionário ?
NÃO pois Departamento 900 ⇒ {1021,1023} !!!!
Uma DEPENDÊNCIA FUNCIONAL é representada por:
A→B
A é denominado DETERMINANTE
N_funcionário → Departamento ?
SIM pois se se conhecer o N_funcionário (atributo unívoco) é possível
determinar o Departamento (um funcionário só pode pertencer a um
departamento) !!!!
GABARITO
01- E
02- B
03- A
04- B
05- A
06- A
07- A
08- D
09- D
10- C
11- E
12- A
13- B
14- C
15- D
16- C
17- E
18- D
19- B
20- D
21- A
22- B
23- E
24- A
25- A
26- D
27- A
28- D
29- D
30- E
31- E
32- C
33- B
34- A
35- A
ISS/NITERÓI-2015
INFORMÁTICA - EXERCÍCIO_04
38
MANUEL
Download