CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados...

38
CURSO GABARITO BANCO DE DADOS ISS/RJ INFORMÁTICA - FGV CONCEITOS BÁSICOS TECNOLOGIA DA INFORMAÇÃO TECNOLOGIA DA INFORMAÇÃO expressão que vem substituindo o termo “INFORMÁTICA”. É o conjunto de meios tecnológicos e computacionais que permite a produção e utilização da informação. BANCO DE DADOS uma grande necessidade em se realizar o armazenamento de informações que não se encontram isoladas umas das outras. 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. MOTIVAÇÃO BANCO DE DADOS BANCO DE DADOS é um conjunto de informações relacionadas entre si, referentes a um mesmo assunto e organizadas de maneira útil, com o proposito de servir de base 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. EXEMPLOS DE BANCO DE DADOS - TRADICIONAIS 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...) 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. TIPOS DE BANCO DE DADOS BANCO DE DADOS CURSO GABARITO ISS/NITERÓI-2015 INFORMÁTICA - EXERCÍCIO_04 1 MANUEL

Transcript of CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados...

Page 1: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

CURSO GABARITO

BANCO DE DADOS

ISS/RJINFORMÁTICA - FGV

CONCEITOS BÁSICOS

TECNOLOGIA DA INFORMAÇÃO

TECNOLOGIA DA INFORMAÇÃO ⇒ expressão que vem

substituindo o termo “INFORMÁTICA”.

⇒ É o conjunto de meios tecnológicos e computacionais

que permite a produção e utilização da informação.

BANCO DE DADOS

�Há uma grande necessidade em se realizar oarmazenamento de informações que não se encontramisoladas umas das outras.

�Além de uma forma adequada para definir o armazenamentodestas informações, os usuários desejam realizar operaçõessobre esta coleção de dados, tais como: adicionar (inserir)novos dados, recuperar (consultar) um determinadosubconjunto de dados, atualizar ou modificar a estrutura dosdados e eliminar (excluir) informações desnecessárias, etc.

MOTIVAÇÃO

BANCO DE DADOS

BANCO DE DADOS ⇒ é um conjunto de informações

relacionadas entre si, referentes a um mesmo assunto e

organizadas de maneira útil, com o proposito de servir de base

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.

EXEMPLOS DE BANCO DE DADOS - TRADICIONAIS

• 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...)

�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.

TIPOS DE BANCO DE DADOS

BANCO DE DADOS

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

1 MANUEL

Page 2: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

�REGISTRO ⇒ conjunto de dados que devem ser tratados

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,

estruturado em registros.

BANCO DE DADOS - CONCEITOS GERAIS

BANCO DE DADOS BANCO DE DADOS

NOME CPF ENDEREÇO D_NASC E_CIVIL

ANA 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

C A M P O S

REGISTROS

UM CONJUNTO DE REGISTROS FORMA UM ARQUIVO !

BANCO DE DADOS

COMO ARMAZENAR OS DADOS?

COMO TER ACESSO A ESSES DADOS ?

QUE SOFTWARE DEVE SER UTILIZADO ?

COMO GERENCIAR OS DADOS ARMAZENADOS ?

É POSSÍVEL GARANTIR CONSISTÊNCIA ?

É POSSÍVEL GARANTIR SEGURANÇA ?

PERGUNTAS

BANCO DE DADOS

É POSSÍVEL GARANTIR INTEGRIDADE ?

COMO GARANTIR ACESSIBILIDADE ?

COMO GARANTIR DISPONIBILIDADE ?

COMO GARANTIR CONFIDENCIALIDADE ?

É POSSÍVEL ELIMINAR REDUNDÂNCIAS ?

PERGUNTAS

SISTEMA DE PROCESSAMENTO DE ARQUIVOS

APLICAÇÕES - PROGRAMAS

VÁRIOS ARQUIVOS

ARQUIVO1

PROGRAMA-1

ARQUIVO2 ARQUIVO3 ARQUIVO4

PROGRAMA-2 PROGRAMA-3

DESVANTAGENS

SISTEMA DE PROCESSAMENTO DE ARQUIVOS

� REDUNDÂNCIA E INCONSISTÊNCIA DE DADOS

� DIFICULDADE NO ACESSO AOS DADOS

� ISOLAMENTO DE DADOS

� ANOMALIAS DE ACESSO CONCORRENTE

� PROBLEMAS DE SEGURANÇA

� PROBLEMAS DE INTEGRIDADE

� PROBLEMAS DE ATOMICIDADE

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

2 MANUEL

Page 3: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

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

BANCO DE DADOS

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

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

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

3 MANUEL

Page 4: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

CARACTERÍSTICAS PRINCIPAIS

SISTEMA GERENCIADOR DE BANCO DE DADOS - SGBD

�São projetados para gerenciar grandes grupos de

informações.

�O gerenciamento envolve a definição de estruturas de

armazenamento e manipulação de dados.

� Implementa mecanismos de segurança para as informações

armazenadas.

�Retira da aplicação cliente a responsabilidade de gerenciar o

acesso, a manipulação e a organização dos dados.

CARACTERÍSTICAS PRINCIPAIS

SISTEMA GERENCIADOR DE BANCO DE DADOS - SGBD

� O SGBD disponibiliza uma interface para que clientes possam

incluir, alterar ou consultar dados previamente armazenados.

� Faz uma gestão autónoma da informação, de acordo com um

modelo preestabelecido e adaptado à empresa.

� Gere toda a informação contida no Banco de Dados sendo a

interface entre a INFORMAÇÃO e os USUÁRIOS (utilizadores),

quer sejam usuários finais quer sejam programadores.

Num Sistema Gerenciador de Banco de Dados

(SGBD), a empresa consegue um CONTROLE

CENTRALIZADO dos seus dados operacionais.

BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS - SGBD

�A redundância pode ser reduzida

�A inconsistência pode ser evitada

�Os dados podem ser compartilhados

�Os padrões podem ser reforçados

�Podem ser aplicadas restrições de segurança

�A integridade pode ser mantida (n_max horas, n_dep, etc)

�Necessidades conflitantes podem ser balanceadas

VANTAGENS DA CENTRALIZAÇÃO

SISTEMA GERENCIADOR DE BANCO DE DADOS - SGBD

� Natureza auto descritiva do sistema de banco de dados.

� Isolamento entre os programas (aplicações) e os dados

� Abstração dos dados

� Suporte para as múltiplas visões dos dados.

� Compartilhamento de dados e processamento de transações

de multiusuários.

PRINCIPAIS CARACTERÍSTICAS DA ABORDAGEM USANDOBANCO DE DADOS VERSUS A ABORDAGEM DEPROCESSAMENTO DE ARQUIVOS

ARQUITETURA DE UM SGBD

A proposta maior de um sistema de bancos de dados é prover

aos usuários uma visão abstrata dos dados, isto é, o sistema

omite certos detalhes de como os dados são armazenados e

mantidos internamente. Os programas (aplicações) e usuários

não acessam diretamente as informações como num

processamento de arquivos. Eles fazem requisições ao SGBD

e este recupera as informações no disco.

BANCO DE DADOS

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

4 MANUEL

Page 5: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

BANCO DE DADOS

APLICAÇÃO

USUÁRIO

S

G

B

D

BANCO DE

DADOS

BANCO DE

DADOS

ABSTRAÇÃO DE UM BANCO DE DADOS

DISCO

NÍVEIS DE ABSTRAÇÃO

NÍVEL FÍSICO (INTERNO) ⇒ o nível mais baixo de abstração

descreve COMO os dados estão realmente armazenados.

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).

ABSTRAÇÃO DE UM BANCO DE DADOS

BANCO DE DADOS

NÍVEIS DE ABSTRAÇÃO

NÍVEL CONCEITUAL (LÓGICO) ⇒ descreve QUAIS dados

estão armazenados no Banco de Dados e as relações que

existem entre eles (relacionamentos, restrições). O nível

conceitual é normalmente usado pelos administradores que

precisam decidir quais as informações que devem estar no

Banco de Dados. Neste nível de abstração trabalham os DBAs e

os Analistas de Aplicação (programadores).

BANCO DE DADOSNÍVEIS DE ABSTRAÇÃONÍVEL EXTERNO (VISUAL) ⇒ é o mais alto nível de abstração

e descreve apenas parte do banco de dados. Muitos usuários

não estarão interessados em todas as informações do BD, mas

apenas em parte delas. Para isso, níveis de visão são definidos

de modo que as interações sejam simplificadas. Uma visão

exibe apenas uma parte dos dados do BD. Neste nível de

abstração trabalham os DBAs, os Analistas de Aplicação e os

usuários comuns. Exemplo: arquivo que contenha apenas os

maiores declarantes do IRPF.

NÍVEIS DE ABSTRAÇÃO BANCO DE DADOSINSTÂNCIA E ESQUEMA

Um banco de dados muda ao longo do tempo por meio dasinformações que nele são inseridas ou excluídas.

INSTÂNCIA ⇒ é o conjunto de informações contidas emdeterminado Banco de Dados em um dado momento.

ESQUEMA ⇒ é o projeto geral de um Banco de Dados. Umesquema é então o modo como é concebida a organização dainformação. O esquema de um Banco de Dados muda muitopouco ao longo do tempo.

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

5 MANUEL

Page 6: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

BANCO DE DADOSSISTEMAS GERENCIADORES DE BANCO DE BANCO DE DADOS

�ACCESS (OFFICE)

�BASE (BR-OFFICE/LIBRE-OFFICE)

�ORACLE

�MY SQL

�SQL SERVER

�PostgreSQL

�SyBase

�ADABAS

�DB2

Para criar um Banco de Dados precisamos:� DEFINIR os dados que serão armazenados.� MANIPULAR os dados armazenados.

Os SGBD’s disponibilizam para os usuários duas linguagens:

�Uma para DEFINIR quais dados vão ser armazenados (DDL).

�Uma para MANIPULAR esses dados (DML).

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 - Linguagem de Definição de

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).

• O resultado da compilação dos parâmetros DDLs é armazenadoem um conjunto de tabelas que constituem um arquivo especialchamado 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 BDsão especificados por um conjunto de definições em um tipoespecial de DDL chamado de linguagem de definição earmazenamento de dados (data storage and definition language- DSDL).

LINGUAGENS DE DEFINIÇÃO E MANIPULAÇÃO DE DADOS EM UM BANCO DE DADOS

DDL (Data Definition Language)

DDL (Data Definition Language)

DDL INCLUI BASICAMENTE QUATRO COMANDOS (SQL)

• CREATE DATABASE / DROP DATABASE

• CREATE TABLE / DROP TABLE / ALTER TABLE

• CREATE VIEW / DROP VIEW

• CREATE INDEX / DROP INDEX

• 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

DDL (Data Definition Language)

DEFINIÇÕES EM DDL

DICIONÁRIO DE DADOS

COMPILAÇÃO

COMANDOS DDL METADADOS

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

6 MANUEL

Page 7: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

DML (Data Manipulation Language - Linguagem de

Manipulação de Dados) ⇒ é a linguagem que permite

aos usuários ACESSAR ou MANIPULAR dados

organizados pelo modelo de dados apropriado.

LINGUAGENS DE DEFINIÇÃO E MANIPULAÇÃO DEDADOS EM UM BANCO DE DADOS

DML (Data Manipulation Language)

DML INCLUI BASICAMENTE QUATRO COMANDOS (SQL)

• SELECT ⇒ SELECIONAR

• INSERT ⇒ INSERIR

• UPDATE ⇒ ATUALIZAR

• DELETE ⇒ EXCLUIR

SQL (Structured Query Language)

• 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)

LINGUAGENS DE DEFINIÇÃO E MANIPULAÇÃO DE DADOS EM UM BANCO DE DADOS

DMLs PROCEDURAIS ⇒ requerem 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.

TIPOS DE DML

DBA (DataBase Administrator) ⇒ Uma das principais razões

para se usar SGBD é ter um controle central dos dados e dos

programas de acesso a eles. A pessoa que tem esse controle é

o ADMINISTRADOR DE BANCO DE DADOS (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).

�DEFINIÇÃO DA ESTRUTURA DE DADOS E MÉTODO DE

ACESSO ⇒ define a estrutura de ARMAZENAMENTO e

MÉTODOS de ACESSO.

�MODIFICAÇÕES NA ORGANIZAÇÃO FÍSICA ⇒ promove

alterações na organização física dos dados.

FUNÇÕES DE UM DBA

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

7 MANUEL

Page 8: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

�CONCESSÃO DE AUTORIZAÇÃO PARA ACESSO AOS

DADOS ⇒ concede autorização para acesso ao Banco de

Dados. O fornecimento de diferentes tipos de autorização no

acesso aos dados permite que o administrador regule o

acesso dos diversos usuários às diferentes partes do sistema.

�ESPECIFICAÇÃO DE RESTRIÇÃO DE INTEGRIDADE ⇒ é o

DBA quem define as restrições de integridade. O sistema faz

uma consulta as restrições de integridade quando precisa

realizar uma atualização.

FUNÇÕES DE UM DBA

MODELAGEM DE DADOS

BANCO DE DADOS

ABSTRAÇÃO ⇒ processo mental através do qual selecionamos

determinadas propriedades ou características dos objetos e

excluímos outras.

MODELO ⇒ é uma abstração, uma representação simplificada,

de uma parcela do mundo real, composta por objetos reais.

ALGUNS CONCEITOS PRELIMINARES

MODELAGEM DE DADOS

BANCO DE DADOS

ALGUNS CONCEITOS PRELIMINARES

MODELO DE DADOS ⇒ um modelo de dados é uma descrição

das informações que devem ser armazenadas em um banco de

dados, ou seja, é a descrição formal da estrutura do BD

(descrição dos dados, dos relacionamentos entre os dados, da

semântica e das restrições impostas aos dados).

MODELAGEM ⇒ atividade através da qual se cria um modelo.

ETAPAS DE DESENVOLVIMENTO DE UM BANCO DE DADOS

1- LEVANTAMENTO DE REQUISITOS

2- PROJETO CONCEITUAL

3- PROJETO LÓGICO

4- PROJETO FÍSICO

CICLO DE VIDA E PROJETO DE BANCO DE DADOS

REQUISITO DE DADOS

PROJETO CONCEITUAL

PROJETOLÓGICO

PROJETOFÍSICO

Descreve a ESTRUTURA do BD que pode serprocessada por um Sistema Gerenciador de Banco deDados (SGBD). NÃO DEPENDE de um SGBDespecífico, mas depende do MODELO de dados.

Descreve o CONTEÚDO das informação do BDao invés das estruturas de armazenamento queserão necessárias para gerenciar essa informação.

Descreve a ESTRUTURA FÍSICA do BD quepode ser processada por um SGBD. DEPENDEde um SGBD específico.

ESQUEMA CONCEITUAL

ESQUEMA LÓGICO

ESQUEMA FÍSICO

REQUISITOS

Necessidades dos usuários e osignificado dos dados.

MODELO DE DADOS ⇒ é uma coleção de ferramentas

conceituais para descrição de dados, relacionamentos entre

esses dados, semântica de dados e restrições de consistência.

BANCO DE DADOS

PRINCIPAIS MODELOS

�MODELO BASEADO EM OBJETOS (MER)

�MODELO BASEADO EM REGISTROS (RELACIONAL)

�MODELO DE DADOS FÍSICO

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

8 MANUEL

Page 9: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

MODELO ENTIDADE-RELACIONAMENTO (MER)� Introduzido por Peter Chen em 1976.

�É um modelo CONCEITUAL

�É baseado na percepção do mundo real, e consiste em um

conjunto de OBJETOS básicos chamados ENTIDADES e

nos RELACIONAMENTOS entre esses objetos.

�Foi desenvolvido para facilitar o projeto de banco de dados,

permitindo a especificação de um esquema de empresa (que

representa a lógica geral de um Banco de Dados).

MODELOS BASEADOS EM OBJETOS MODELO ENTIDADE-RELACIONAMENTO (MER)

O projetista de banco de dados primeiro IDENTIFICA as

ENTIDADES e RELACIONAMENTOS que são de INTERESSE

para a empresa usando a TÉCNICA DIAGRAMÁTICA chamada

DER-DIAGRAMA-ENTIDADE-RELACIONAMENTO).

Neste estágio, o projetista deve examinar os dados do PONTO

DE VISTA DA EMPRESA como um todo (não a visão de um

programador de aplicação específico).

MODELO ENTIDADE-RELACIONAMENTO (MER)

� GRÁFICO

� FÁCIL INTERPRETAÇÃO

� POUCO FORMAL OU MATEMÁTICO

� NÍVEL CONCEITUAL DE BANCO DE DADOS

CARACTERÍSTICAS MODELO ENTIDADE-RELACIONAMENTO (MER)

DIAGRAMA ENTIDADE-RELACIONAMENTO (DER)

⇒ Usado para expressar GRAFICAMENTE a

ESTRUTURA LÓGICA GERAL de um Banco de

Dados.

MODELO ENTIDADE-RELACIONAMENTO (MER)

COMPONENTES DIAGRAMA E-R (DER)

1.RETÂNGULOS ⇒ representam conjuntos-ENTIDADE.

2.ELIPSES ⇒ representam ATRIBUTOS.

3.LOSANGOS ⇒ representam RELACIONAMENTOS entre

conjuntos-entidade.

4.LINHAS ⇒ LIGAM atributos a conjuntos-entidade, e

conjunto-entidade a relacionamentos.

CLIENTE CONTA

DIAGRAMA ENTIDADE-RELACIONAMENTO (DER)

ENDEREÇO

NOME

Nº CONTANº CONTA

TIPO

SALDO

CLIENTECONTA

ENTIDADE ENTIDADERELACIONAMENTO

ATRIBUTOS ATRIBUTOS

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

9 MANUEL

Page 10: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

MODELO ENTIDADE-RELACIONAMENTO (MER)

TIPOS DE OBJETOS - DIAGRAMA E-R

�ENTIDADE ⇒ Elemento de existência própria. Representa um

objeto real, pessoa, lugar ou coisa. Uma ENTIDADE é

representada por um conjunto de ATRIBUTOS.

�ATRIBUTO ⇒ Propriedades que identificam as entidades.

�DOMÍNIO⇒ Conjunto onde estão definidos os valores de

atributos.

MODELO ENTIDADE-RELACIONAMENTO (MER)

BANCO DE DADOS

�CHAVE ⇒ é um conjunto de um ou mais atributos que

tomados coletivamente permite identificar uma entidade no

conjunto-entidade e estabelecer relações entre entidades.

�RELACIONAMENTO ⇒ é uma associação entre entidades.

TIPOS DE OBJETOS - DIAGRAMA E-R

MODELO ENTIDADE-RELACIONAMENTO (MER)

TIPOS DE OBJETOS - DIAGRAMA E-R

�ENTIDADE ⇒ Elemento de existência própria.

Representa um objeto real, pessoa, lugar ou coisa.

Uma entidade é representada por um conjunto de

atributos.

ENTIDADE FUNCIONÁRIO (CLASSE)

NOME D_NASCZÉ DAS COUVES 01/01/1960IRACEMA DA EMA SAPUCAÍ 02/01/1970SIMPLÍCIO SIMPLÓRIO DA SIMPLICIDADE SIMPLES 01/01/1900

FARROKH BULSARA 05/09/1946YUSUF ISLAM 21/06/1948ROBERT ALLEN ZIMMERMAN 24/04/1941JOHNNY ALLEN HENDRIX 27/11/1942ARLETTE PINHEIRO ESTEVES TORRES 16/10/1929

CADA LINHA (REGISTRO) É UMA INSTÂNCIA - OCORRÊNCIA !

PRINCIPAIS TIPOS DE ENTIDADES

� FORTE

� FRACA (DEPENDENTE)

� ASSOCIATIVA

� AGREGADA (GENERALIZAÇÃO)

� SUBORDINADA (ESPECIALIZAÇÃO)

TIPOS DE ENTIDADES - CLASSIFICAÇÃO

� ENTIDADE FORTE ⇒ é aquela que possui alto grau deindependê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 nenhumdos outros (atributo, relacionamento) pode existir.Exemplo: em um sistema acadêmico as entidades ALUNO eCURSO são entidades fortes, pois a entidade ALUNO, se nãoexistisse a entidade CURSO, poderia existir da mesma forma.

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

10 MANUEL

Page 11: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

TIPOS DE ENTIDADES - CLASSIFICAÇÃO

� ENTIDADE FRACA ⇒ é a entidade cuja existência dependeda 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).

ENTIDADE FRACA = ENTIDADE DEPENDENTE !

ENTIDADE FRACA

SERÁ QUE EXISTE ALGUMA COISA QUE PARA EXISTIR

DEPENDE DA EXISTÊNCIA DE UMA ENTIDADE ?

ENTIDADEFRACA

ENTIDADE FORTEENTIDADE FRACA

ENTIDADE FRACAENTIDADE FORTE ENTIDADE FRACA

ENTIDADE FRACALINHA DUPLA

POSSUI

PRÉDIO

ANDAR

POSSUIPOSSUI

SALA CORREDOR

ENTIDADE FORTE/FRACAUMA UNIVERSIDADE

POSSUI VÁRIOS PRÉDIOS

CADA PRÉDIO POSSUI DIVERSOS ANDARES

CADA ANDAR POSSUI DIVERSAS

SALAS

CADA ANDAR POSSUI DIVERSOS

CORREDORES

ENTIDADE FORTE

ENTIDADE FRACA

ENTIDADE FRACA ENTIDADE FRACA

RELACIONAMENTO COM ENTIDADE FRACA LINHA DUPLA

�ENTIDADE ASSOCIATIVA ⇒ o uso desta abstração é

necessário QUANDO um RELACIONAMENTO deve serrepresentado 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 identificadoresdas 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.

ENTIDADE ASSOCIATIVA - AGREGAÇÃO

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.

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

11 MANUEL

Page 12: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

CONSULTA PACIENTEMÉDICO

A entidade MÉDICO tem um relacionamento (CONSULTA) com aentidade PACIENTE.

ENTIDADE ASSOCIATIVA - EXEMPLO

Se for necessário adicionar a informação que, a cada consultaum ou mais medicamentos podem ser prescritos ao paciente,será necessário criar uma nova entidade (MEDICAMENTO)

PACIENTE

PRESCRIÇÃO

CONSULTAMÉDICO

ENTIDADE ASSOCIATIVA - EXEMPLO

MEDICAMENTO

A cada CONSULTA um ou maismedicamentos podem serprescritos ao paciente

⇐ NOVA ENTIDADE - MEDICAMENTO

ENTIDADE ASSOCIATIVAMEDICO + PACIENTEMÉDICO_PACIENTE

NOVO RELACIONAMENTO

PRESCRIÇÃO

MÉDICO_PACIENTE ⇒ ENTIDADE ASSOCIATIVA SE RELACIONACOM A ENTIDADE MEDICAMENTO.

PACIENTE

PRESCRIÇÃO

CONSULTAMÉDICO

ENTIDADE ASSOCIATIVA - OUTRA REPRESENTAÇÃO

MEDICAMENTO

A cada CONSULTA um ou maismedicamentos podem serprescritos ao paciente

⇐ NOVA ENTIDADE - MEDICAMENTO

ENTIDADEASSOCIATIVA

MEDICO + PACIENTEMÉDICO_PACIENTE

NOVO RELACIONAMENTO

PRESCRIÇÃO

MÉDICO_PACIENTE ⇒ ENTIDADE ASSOCIATIVA SE RELACIONACOM A ENTIDADE MEDICAMENTO.

GENERALIZAÇÃO/ESPECIALIZAÇÃO

GENERALIZAÇÃO ⇒ é 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

seja, agrupa-se conjuntos de elementos com alguma

SEMELHANÇA SEMÂNTICA em um conjunto maior.

GENERALIZAÇÃO ⇒ GERA UMA ENTIDADE AGREGADA !

GENERALIZAÇÃO OBSERVE AS DUAS ENTIDADES ABAIXO

FIGURA 1- ENTIDADES INDEPENDENTES GERENTE E SECRETARIA

FIGURA 2 - ENTIDADE FUNCIONÁRIO

FUNCIONÁRIO É UMA ENTIDADEAGREGADA - contém atributos comuns asentidades Gerente e Secretária (matrícula,nome, salário, dpto).

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

SUBDIVIDIR um conjunto GRANDE de elementos em conjuntos

MENORES de acordo com padrões estabelecidos pelas

necessidades da aplicação.

GENERALIZAÇÃO/ESPECIALIZAÇÃO

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

12 MANUEL

Page 13: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

ESPECIALIZAÇÃO

Usada quando é necessário caracterizar entidades com atributospróprios ou participação em relacionamentos específicos

ESPECIALIZAÇÃO ⇒

PESSOA_FÍSICA E PESSOA_JURÍDICA SÃO ENTIDADESSUBORDINADAS !

GENERALIZAÇÃO/ESPECIALIZAÇÃO

GENERALIZAÇÃO/ESPECIALIZAÇÃO

ESPECIALIZAÇÃO ESPECIALIZAÇÃO

CLIENTE CONTA

DIAGRAMA ENTIDADE-RELACIONAMENTO (DER)

ENDEREÇO

NOME

Nº CONTANº CONTA

TIPO

SALDO

CLIENTECONTA

ENTIDADE ENTIDADERELACIONAMENTO

ATRIBUTOS ATRIBUTOS

ATRIBUTOS

TIPOS DE OBJETOS - DER - ATRIBUTO

� ATRIBUTO

• PROPRIEDADES que IDENTIFICAM as ENTIDADES.

• É uma PROPRIEDADE que descreve alguma característica.• Os atributos não possuem existência própria ou

independente - estão sempre associados a uma ENTIDADEou RELACIONAMENTO.

• ATRIBUTO é o valor para uma característica. Todo valor deum atributo é extraído de um DOMÍNIO.

�DOMÍNIO ⇒ Conjunto onde estão definidos os valores deatributos. Exemplo: N_DEP ⇒ Domínio = NATURAIS (0,1,2,..) !N_DEP = número de dependentes.

TIPOS DE OBJETOS - DIAGRAMA E-R - ATRIBUTO

TIPOS DE ATRIBUTO

�SIMPLES - ATÔMICOS

�COMPOSTO

�MONOVALORADO

�MULTIVALORADO

�DERIVADO

�DETERMINANTE

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

13 MANUEL

Page 14: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

TIPOS DE ATRIBUTO

�SIMPLES (ATÔMICOS) ⇒ não são divisíveis (são atômicos).

Quando um atributo não é composto e recebe um único valor

como, por exemplo, NOME-CLIENTE, então ele será atributo

SIMPLES. Um atributo SIMPLES possui um domínio simples.

Por exemplo, o atributo SEXO tem um domínio simples se for

codificado pelo conjunto das letras F (feminino) e M (masculino).

EXEMPLOS ⇒ Idade, CPF, Peso, Altura, etc.

TIPOS DE ATRIBUTO

� COMPOSTO ⇒ quando é formado por mais de um atributo.

Um atributo COMPOSTO possui mais de um domínio simples.

Por exemplo, o atributo ENDEREÇO pode ser dividido em:

logradouro, bairro, cidade, estado e cep que são atributos

simples com significados independentes e formados pelos

domínios simples, dos: Logradouros, Bairros, Cidades, Estados

e CEP´s. Assim, atributos compostos podem ser divididos em

partes menores, que representaram atributos básicos.

Atributos deste tipo formam uma HIERARQUIA.

TIPOS DE ATRIBUTO

� MONOVALORADO (UNIVALORADO) ⇒ é o atributo que

possui apenas um valor para uma entidade em particular. Porexemplo, IDADE é um atributo monovalorado para a entidade

FUNCIONÁRIO. Um funcionário só tem uma idade.

MATRÍCULA é um atributo monovalorado para a entidadeALUNO. Um aluno só tem uma matrícula.

� MULTIVALORADO ⇒ é o atributo que pode possuir um ou

mais valores. Exemplo: TELEFONE. Uma pessoa poderá termais de um número de telefone. É indicado colocando-se um

asterisco precedendo o nome do atributo (*telefone).

TIPOS DE OBJETOS - DIAGRAMA E-R

TIPOS DE ATRIBUTO

� 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.

� 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.

ATRIBUTO DERIVADO

ATRIBUTO DERIVADO ELIPSE PONTILHADA

TIPOS DE ATRIBUTO

� DETERMINANTE (Identificador) ⇒ identifica de FORMAÚNICA uma instância em uma ENTIDADE, ou seja, não podehaver dados repetidos. É indicado sublinhando-se o nome doatributo. Exemplo: CNPJ, CPF, matrícula, título-eleitor, etc. Osatributos determinantes serão as CHAVES PRIMÁRIAS no BD eseu 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 identificaunivocamente uma entidade dentro de um conjunto entidades.Por exemplo, o atributo NOME do aluno não identifica o alunodentro da entidade ALUNO. Existem nomes repetidos !

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

14 MANUEL

Page 15: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

CLIENTE CONTA

DIAGRAMA ENTIDADE-RELACIONAMENTO (DER)

ENDEREÇO

NOME

Nº CONTANº CONTA

TIPO

SALDO

CLIENTECONTA

ENTIDADE ENTIDADERELACIONAMENTO

ATRIBUTOS ATRIBUTOS

RELACIONAMENTO

RELACIONAMENTO ⇒ é uma ASSOCIAÇÃO entreENTIDADES sobre a qual deseja-se manter informações noBanco de Dados.

CONTEXTO ⇒ Nenhuma informação armazenada no Banco de

Dados existe isoladamente. Todos os elementos pertencentes

ao mundo real (restrito) modelado de alguma forma estão

ASSOCIADOS a outros elementos. Normalmente estas

associações representam ações físicas ou alguma forma de

dependência entre os elementos envolvidos.

TIPOS DE OBJETOS - DER - RELACIONAMENTO

• Os relacionamentos representam fatos ou situações darealidade, onde as entidades interagem de alguma forma.

• Um dado por si só não faz uma informação, pois não temsentido próprio. É necessário que haja uma ASSOCIAÇÃO dedados 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.

TIPOS DE OBJETOS - DER - RELACIONAMENTO

FORNECEDOR PRODUTO

RELACIONAMENTO - EXEMPLO

COD_FORNNOME

COD_FORN

NOME

COD_PROD

PEDIDO

ENTIDADE ENTIDADE

RELACIONAMENTO

ATRIBUTOS ATRIBUTOS

PREÇO QUANTIDADE

COD_PROD

ATRIBUTOS DO RELACIONAMENTO

ATRIBUTOS DO RELACIONAMENTO

TIPOS DE ASSOCIAÇÃO ⇒ São as FORMAS como asENTIDADES se relacionam num determinado modelo deinformação. As associações se classificam em unárias, bináriase complexas.

� UNÁRIAS ⇒ associam uma entidade com ela própria. AUTO RELACIONAMENTO !

� BINÁRIAS ⇒ associam DUAS entidades diferentes.

� COMPLEXAS ⇒ associam MAIS DE DUAS entidadesdiferentes.

TIPOS DE OBJETOS - DER - RELACIONAMENTO UNÁRIAS ⇒ associam uma entidade com ela própria.

A ENTIDADE EQUIPE ÉFORMADAS POR TIMES QUEJOGAM ENTRE SI !AUTO RELACIONAMENTO

ENTIDADE ALUNO

EXEMPLO-01

EXEMPLO-02

ENTIDADE EQUIPE

ALUNO GERIDO

EQUIPE JOGA

UM ALUNO É GERIDO PORELE PRÓPRIO.AUTO RELACIONAMENTO

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

15 MANUEL

Page 16: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

UNÁRIAS ⇒ associam UMA entidade com ela própria.

PESSOA CASA COM PESSOA !

ENTIDADE MATÉRIA

EXEMPLO-03

EXEMPLO-04

ENTIDADE PESSOA

PESSOA CASAMARIDO

ESPOSA

MATÉRIA PRÉ-REQUISITOMATÉRIA É PRÉ-REQUISITO

DE MATÉRIA !

PROFESSOR DISCIPLINAENSINA

BINÁRIAS ⇒ associam DUAS entidades.

ENTIDADE PROFESSOR ENTIDADE DISCIPLINA

CLIENTE CONTACLIENTECONTA

ENTIDADE CLIENTE ENTIDADE CONTA

COMPLEXAS ⇒ associam MAIS DE DUAS entidadesCOMPLEXAS ou TERNÁRIAS ou N-ÁRIAS

ALUNO PROFESSORTEM

DISCIPLINA

EXEMPLO-1

COMPLEXAS ⇒ associam MAIS DE DUAS entidades.

COMPLEXAS ou TERNÁRIAS ou N-ÁRIAS

ATLETA PROVADISPUTA

MODALIDADE

EXEMPLO-2

CARDINALIDADE ⇒ a cardinalidade de uma ENTIDADE emum RELACIONAMENTO expressa o número de INSTÂNCIASda entidade que podem ser ASSOCIADAS a uma determinadaINSTÂNCIA da entidade relacionada.

CARDINALIDADE MÍNIMA DE UMA ENTIDADE ⇒ é o númeromínimo de instâncias da entidade associada que devem serelacionar com uma instância da entidade em questão.

CARDINALIDADE MÁXIMA DE UMA ENTIDADE ⇒ é onúmero máximo de instâncias da entidade associada quedevem se relacionar com uma instância da entidade emquestão.

CARDINALIDADE

INSTÂNCIA = OCORRÊNCIA !

CARDINALIDADE ⇒ define o número MÁXIMO ou MÍNIMO deocorrências em um relacionamento.

DEPARTAMENTO EMPREGADOPOSSUI

ALOCADO

[1:N] [1:1]

�Um DEPARTAMENTO ⇒ possui no MÍNIMO 1 e no

MÁXIMO N empregados [1:N].

�Um EMPREGADO ⇒ está alocado a no MÍNIMO 1 e no

MÁXIMO 1 departamento [1:1].

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

16 MANUEL

Page 17: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

CARDINALIDADE ⇒ define o número MÁXIMO ou MÍNIMO deocorrências em um relacionamento.

ESTANTE LIVROGUARDA1 N

ESTANTE LIVROGUARDA(0,N) (1,1)

( 0 , N )

MIN , MAX

( 1 , 1 )

MIN , MAX

TIPOS (GRAUS) DE RELACIONAMENTOS

GRAU DE RELACIONAMENTO ⇒ é a participação MÁXIMA

(limite superior) de cada uma das entidades nas associações a

que está ligada. O grau de relacionamento é independente do

tipo de associação.

GRAU DOS RELACIONAMENTOS - CLASSIFICAÇÃO

� UM PARA UM

� UM PARA MUITOS

� MUITOS PARA MUITOS

UM-para-UM ⇒ UMA ocorrência (instância) de A se relaciona a

UMA ocorrência de B (1:1).

TIPOS DE RELACIONAMENTOS

A B

•••• 1

•••• 2

•••• 3

1 ••••

2 ••••

3 ••••

UM-para-UM (1:1) ⇒ EXEMPLOS

TIPOS DE RELACIONAMENTOS

PROFESSOR DEPARTAMENTOPERTENCE1 1

DISCIPLINA EMENTAPOSSUI1 1

UM-para-MUITOS ⇒ UMA ocorrência de A pode se relacionar

com N ocorrências de B (1:N).

TIPOS DE RELACIONAMENTOS

AB

•••• 1

•••• 2

•••• 3

•••• 4

•••• 5

•••• 6

1 ••••

2 ••••

3 ••••

UM-para-MUITOS (1:N) ⇒ EXEMPLOS

TIPOS DE RELACIONAMENTOS

PROFESSOR ALUNOSENSINA1 N

FUNCIONÁRIO PROJETOSALOCADO1 N

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

17 MANUEL

Page 18: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

MUITOS-para-MUITOS ⇒ N ocorrências de A se relacionam a Mocorrências de B (N:M).

TIPOS DE RELACIONAMENTOS

A B

•••• 1

•••• 2

•••• 3

•••• 4

•••• 5

•••• 6

1 ••••

2 ••••

3 ••••

4 ••••

MUITOS-para-MUITOS (N:M) ⇒ EXEMPLOS

TIPOS DE RELACIONAMENTOS

FORNECEDOR PRODUTOSFORNECIMENTON M

ALUNO DISCIPLINACURSON M

MODELO DE DADOS ⇒ é uma coleção de ferramentas

conceituais para descrição de dados, relacionamentos entre

esses dados, semântica de dados e restrições de consistência.

BANCO DE DADOS

PRINCIPAIS MODELOS

�MODELO BASEADO EM OBJETOS - MER

�MODELO BASEADO EM REGISTROS - RELACIONAL

�MODELO DE DADOS FÍSICO

�É possível reduzir diagramas entidade-relacionamento a umacoleção de TABELAS. Para cada ENTIDADE e para cadaRELACIONAMENTO, existe uma ÚNICA TABELA que édesignada com o mesmo nome da ENTIDADE ou doRELACIONAMENTO correspondente.

O MODELO RELACIONAL

�A passagem do diagrama do MER para a representação doModelo Relacional é denominado MAPEAMENTO do MERpara o RELACIONAL e é uma das técnicas mais utilizadas porser uma ligação entre os modelos de dados mais utilizados.

� Um BD relacional possui apenas um tipo de construção, que

é a TABELA. Uma tabela é composta por linhas (TUPLAS)

e colunas (ATRIBUTOS).

O MODELO RELACIONAL

� Os RELACIONAMENTOS entre os dados também são

representados ou por TABELAS, ou através da reprodução

dos valores de atributos.

FORNECEDOR PRODUTO

MODELO ENTIDADE RELACIONAMENTO - MER

COD_FORNNOME

COD_FORN

NOME

COD_PROD

PEDIDO

ENTIDADE ENTIDADE

RELACIONAMENTO

ATRIBUTOS ATRIBUTOS

PREÇO QUANTIDADE

COD_PROD

ATRIBUTOS DO RELACIONAMENTO

ATRIBUTOS DO RELACIONAMENTO

ENTIDADES ⇒

FORNECEDOR - PRODUTORELACIONAMENTO ⇒ PEDIDO

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

18 MANUEL

Page 19: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

FORNECEDORNOME COD_FORN

PEDIDOCOD_FORN PREÇO QUANTIDADE COD_PROD

PRODUTONOME COD_PROD

MODELO RELACIONAL ⇒ TABELAS

FORNECEDOR - PRODUTO - PEDIDO

MAPEAMENTO DO MER PARA O RELACIONAL

�ABORDAGEM RELACIONAL ⇒ está baseada no princípio de

que as informações em um BD podem ser consideradas como

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)

nas ESTRUTURAS mais SIMPLES de armazenar dados, que são

as TABELAS.

O MODELO RELACIONAL

�Conceito Principal ⇒ vem da teoria dos conjuntos (ÁLGEBRARELACIONAL) atrelado à ideia de que não é relevante aousuário saber onde, nem como os dados estão (transparência).

�Os usuários manipulam objetos dispostos em linhas e colunasdas tabelas.

�O usuário pode lidar com estes objetos, usando um conjunto deoperadores e funções de alto nível, da ÁLGEBRARELACIONAL.

O MODELO RELACIONAL O MODELO RELACIONAL

TERMINOLOGIA DO MODELO 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

TERMINOLOGIA DO MODELO RELACIONAL

• TABELA = RELAÇÃO

• LINHA = TUPLA = REGISTRO

• COLUNA = ATRIBUTO = CAMPO

• TIPO DE DADO = DOMÍNIO

NOME CPF ENDEREÇO D_NASC E_CIVIL

ANA 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 ⇒⇒⇒⇒

ATRIBUTO

RELAÇÃOTABELA

DOMÍNIO DO ATRIBUTO NOME = CARACTERES DO ALFABETO

DOMÍNIO DO ATRIBUTO CPF = DÍGITOS DE 0 A 9

TABELA - EXEMPLO

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

19 MANUEL

Page 20: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

BANCO DE DADOS RELACIONAL (BDR) ⇒⇒⇒⇒ é uma coleção de

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.

Em um BANCO DE DADOS RELACIONAL os dados ficamarmazenados em TABELAS !

Cod_Emp Nome Cod_Dpto Cat_Func

E5 Souza D1 C5

E3 Santos D2 C5

E2 Silva D2 C2

E1 Soares D1 C1

EXEMPLO DE TABELA

MODELO RELACIONAL

• 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).

CARACTERÍSTICAS DAS TABELAS - MODELO RELACIONALCHAVE ⇒ é o conceito básico para IDENTIFICAR linhas e

estabelecer RELAÇÕES entre TABELAS de um Banco de

Dados Relacional. É um conjunto de um ou mais CAMPOS

(ATRIBUTOS) de uma Tabela.

MODELO RELACIONAL

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

BANCO DE DADOS RELACIONAL - TIPOS DE CHAVES

� CHAVE PRIMÁRIA

� CHAVE ESTRANGEIRA

� CHAVE CANDIDATA

� CHAVE ALTERNATIVA

CHAVE PRIMÁRIA ⇒ é um campo ou conjunto de campos que

identifica de forma EXCLUSIVA cada registro (TUPLA).

UMA CHAVE PRIMÁRIA

• NÃO PODE TER REPETIÇÃO

• NÃO PODE SER NULA

MODELO RELACIONAL

TIPOS DE CHAVES PRIMÁRIAS

• SIMPLES ⇒ UM SÓ ATRIBUTO

• COMPOSTA ⇒ DOIS OU MAIS ATRIBUTOS

OBS ⇒ SUPERCHAVE = CHAVE PRIMÁRIA

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

20 MANUEL

Page 21: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

� 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.

� 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).

TIPOS DE CHAVES PRIMÁRIAS

Cod_Emp N_Dep Nome Tipo D_Nasc

E1 01 João Filho 12/12/91

E1 02 Maria Esposa 01/01/50

E2 01 Ana Esposa 05/11/55

E6 01 Paula Esposa 04/07/50

E6 02 José Filho 03/02/85

EXEMPLO DE CHAVE PRIMÁRIA COMPOSTA - 2 CAMPOS

Campos da Chave Primária ⇒ Cod_Emp e N_Dep

TAB_DEPENDENTES

NÃO É POSSÍVEL IDENTIFICAR UM EMPREGADO DE FORMA ÚNICAAPENAS PELO CAMPO Cod_Emp !

CHAVE ESTRANGEIRA ⇒ é um campo de uma tabela

que é CHAVE PRIMÁRIA de OUTRA TABELA. Uma

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

RELACIONAMENTO entre duas tabelas.

EXEMPLO DE CHAVE ESTRAGEIRA

CodDepto NomeDepto CodEmp Nome CodDepto CatFunc

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 CHAVE CHAVEPRIMÁRIA PRIMÁRIA ESTRANGEIRA

Tabela-01 Tabela-02

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

Sócio Nome Quadra Tipo 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

Cod_Reserva Sócio Data Quadra Instrutor

01 01 02/06 Q1 I2

02 02 04/06 Q2 I1

03 02 05/06 Q2 I3

04 03 07/06 Q3 I4

05 01 08/06 Q1

06 04 09/06 Q4 I1

TAB_SÓCIO TAB_QUADRA TAB_INSTRUTOR

CH-Primária CH-Primária CH-Primária

TAB_RESERVACH-ESTRGCH-ESTRG CH-ESTRG

NULA

CHAVE ESTRANGEIRA

PODE TER REPETIÇÃO

PODE SER NULA

CH-PRIMÁRIA

• Uma relação pode ter várias chaves para identificaçãoUNÍVOCA de suas tuplas, onde cada uma é denominada deChave CANDIDATA.

• Entre as chaves CANDIDATAS UMA é escolhida pelo DBA(durante a fase de projeto lógico) para ser suportada peloSGBD 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 cadatupla (linha) separadamente.

CHAVE CANDIDATA E CHAVE ALTERNATIVA

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

21 MANUEL

Page 22: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

• Entre as Chaves CANDIDATAS, aquelas NÃO ESCOLHIDASpara ser a Chave Primária são denominadas de ChavesALTERNATIVAS e podem ser utilizadas como chaves deconsultas, chaves de ordenação lógica (em consultas porformulários e/ou relatórios) ou chaves de ordenação físicadas relações em termos de arquivos de dados.

• As chaves que NÃO PERTENCEM aos conjunto de ChavesCANDIDATAS, ou seja, são chaves que não permitem aidentificação individual das tuplas da relação, sãodenominadas de CHAVES SECUNDÁRIAS.

CHAVE CANDIDATA E CHAVE ALTERNATIVA

� CHAVE CANDIDATA ⇒ é um atributo (campo) ou

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 quepode ser utilizado também como CHAVE PRIMÁRIA. Umexemplo típico é o campo CPF, que determina univocamenteuma linha em uma tabela de um Banco de Dados Relacional.

MODELO RELACIONAL

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.

NORMALIZAÇÃO ⇒ são regras utilizadas no desenho de umbanco de dados que permitem um armazenamento consistentee um eficiente acesso aos dados.

MODELO RELACIONAL

FORMAS NORMAIS ⇒ são um conjunto de REGRAS que

regem o modo como ATRIBUTOS podem ser ORGANIZADOS

em TABELAS. As formas normais são 5.

MODELO RELACIONAL

A 4ª (4FN) e a 5ª (5FN) formas normais são chamadas de

Formas Normais de BOYCE-CODD (FNBC).

FORMAS NORMAIS

PRIMEIRA FORMA NORMAL (1FN) ⇒ uma tabela (relação)

está na 1FN se:

• TODOS os seus ATRIBUTOS são ATÔMICOS (INDIVISÍVEIS)

• NÃO SÃO MULTIVALORADOS.

1FN ⇒ NÃO HÁ GRUPAMENTO e NENHUM ATRIBUTO É

MULTIVALORADO.

NORMALIZAÇÃO

Aluno (NÃO 1FN)

NOME IDADE DATA_NASC DISCIPLINAS N_MATR

01/01/1900 Português, Matemática, etc

PROBLEMAS

• DATA_NASC É UM GRUPAMENTO ⇒DIA_NASC/MÊS_NASC/ANO_NASC

• DISCIPLINAS É MULTIVALORADO ⇒ PORTUGUÊS, MATEMÁTICA, etc

GRUPAMENTO MULTIVALORADO

EXEMPLO-1 (1FN) - Considere a Tabela abaixo

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)

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

22 MANUEL

Page 23: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

NORMALIZAÇÃO - EXEMPLO-1 (1FN)

Aluno (NÃO 1FN)

NOME IDADE DATA_NASC DISCIPLINAS N_MATR

01/01/1900 Português, Matemática, etc

TAB_Aluno (1FN)

NOME IDADE DIA_NASC MÊS_NASC ANO_NASC N_MATR

TAB_DISCIPLINA (1FN)

DISCIPLINA N_MATR

Português

Matemática

GRUPAMENTO MULTIVALORADO

As duas tabelas (TAB_Aluno e TAB_DISCIPLINA) estão na 1FN !

FORMAS NORMAIS

SEGUNDA FORMA NORMAL (2FN) ⇒ uma tabela está na 2FN se:

• ESTIVER na PRIMEIRA forma normal (1FN)

• TODOS os ATRIBUTOS que NÃO PERTENCEM à CHAVE,

DEPENDEM DA CHAVE através de uma dependência funcional

ELEMENTAR, isto é, dependem da TOTALIDADE DA CHAVE e

não apenas de UM dos seus atributos isoladamente (de uma

parte da chave).

NORMALIZAÇÃO - 2FN

EXEMPLO ⇒ vamos supor uma TABELA (ENCOMENDA) pararegistar informações sobre as ENCOMENDAS realizadas porCLIENTES e os PRODUTOS nela contidos.

ENCOMENDA (N-Encomenda ; DataEnc ; TotalEnc ;CodCliente ; NomeCliente ; End_Cliente ; CodProduto ;Descrição ; PreçoUnitário ; Quantidade; TotalProd)

A tabela ENCOMENDA encontra-se na 1FN porque todos os

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.

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 porum cliente.

• De N-Encomenda dependem: DataEnc, TotalEnc, CodCliente,NomeCliente e End_Cliente; Quantidade, TotalProd

• De CodProduto dependem: Descrição, PreçoUnitário;

A tabela ENCOMENDA NÃO SE ENCONTRA na 2FN porqueexistem campos que dependem de partes diferentes da chave.Alguns dependem de N-Encomenda e outros de CodProduto.

AÇÃO ⇒ DIVIDIR A TABELA ENCOMENDA - CRIA A TABELA DETALHE !

Um dos principais objetivos de Banco de Dados é MANTER a

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

dos dados o SGBD oferece o mecanismo de restrições de

integridade. Uma restrição de integridade é uma regra de

consistência de dados que é garantida pelo próprio SGBD. Em

SGBD Relacionais, existem as seguintes restrições de

integridade conhecidas.

RESTRIÇÕES DE INTEGRIDADE RESTRIÇÕES DE INTEGRIDADE

• São REGRAS a respeito dos valores que podem serarmazenados nas relações e que devem ser sempresatisfeitas. Existem regras que são consideradas necessáriasa uma base de dados relacional.

� RESTRIÇÃO DE INTEGRIDADE DA CHAVE

� RESTRIÇÃO DE INTEGRIDADE DE DOMÍNIO

� RESTRIÇÃO DE INTEGRIDADE DA ENTIDADE

� RESTRIÇÃO DE INTEGRIDADE REFERENCIAL

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

23 MANUEL

Page 24: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

RESTRIÇÕES DE INTEGRIDADE

� RESTRIÇÃO DE INTEGRIDADE DA CHAVE ⇒ uma chavecandidata qualquer não pode ter o mesmo valor em duastuplas distintas da mesma relação.

� RESTRIÇÃO DE INTEGRIDADE DA ENTIDADE ⇒ a chaveprimária de qualquer relação não pode ser nula emnenhuma tupla dessa relação.

� INTEGRIDADE DE DOMÍNIO ⇒ especifica que o valor de umatributo (campo) deve obedecer a definição de valoresadmitidos para a coluna (o domínio da coluna).

RESTRIÇÕES DE INTEGRIDADE

� 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.

Exemplo-01 ⇒ considere um relacionamento do tipo 1:N entre atabela CLIENTES e a tabela PEDIDOS (um cliente pode fazervários pedidos). Com a Integridade Referencial, o BD nãopermite que seja cadastrado um pedido para um cliente queainda não foi cadastrado. Em outras palavras, ao cadastrar umpedido, o BD verifica se o código do cliente que foi digitado jáexiste na tabela CLIENTES. Se não existir, o cadastro dopedido não será aceito.

RESTRIÇÃO DE INTEGRIDADE REFERENCIAL

Exemplo-02 ⇒ um filho de um funcionário não pode sercadastrado como dependente (TAB_DEPENDENTE) sem que opai trabalhe na empresa (TAB_FUNCIONÁRIO).

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.

BANCO DE DADOSÁLGEBRA RELACIONAL ⇒ é uma linguagem de consultaPROCEDURAL. Ela consiste em um conjunto de operaçõesque tomam uma ou mais RELAÇÕES como entrada eproduzem como resultado uma NOVA RELAÇÃO.

Á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)

SQL (Structured Query Language) ⇒ é a linguagem padrão

de consulta a um BANCO DE DADOS RELACIONAL (BDR).

BANCO DE DADOS

Mais que uma linguagem de consulta o SQL oferece funções

para DEFINIÇÃO, MANIPULAÇÃO e CONTROLE dos dados de

em um Banco de Dados Relacional.

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

24 MANUEL

Page 25: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

SQL (Structured Query Language)

• 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)

FUNÇÕES AGREGADAS ⇒ são funções que tomam umacoleção de valores como entrada, retornando um valor simples.

AVG ⇒ MÉDIA de uma coluna

COUNT ⇒ CONTAGEM

MAX ⇒ obtém o MAIOR valor de uma coluna

MIN ⇒ obtém o MENOR valor de uma coluna

SUM ⇒ obtém a SOMA de valores de uma coluna

� DDL (Data DEFINITION Language)

� DML (Data MANIPULATION Language)

� DCL (Data CONTROL Language)

� DTL (Data TRANSACTION Language)

� DQL (Data QUERY Language)

PARTES DO SQL - GRUPOS DE COMANDOS�DDL (Data Definition Language) ⇒ permite ao usuário

DEFINIR, ALTERAR e REMOVER ESTRUTURAS (tabelas,

visões, índices).

�DML (Data Manipulation Language) ⇒ permite ao usuário

SELECIONAR, INSERIR, ATUALIZAR dados em tabelas

(REGISTROS).

�DCL (Data Control Language) ⇒ permite CONTROLAR o

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

� DTL (Data Transaction Language) ⇒ utilizado pelos

desenvolvedores em transações. Os principais comandos são

COMMIT e ROLLBACK.

� DQL (Data Query Language) ⇒ Linguagem de Consulta de

Dados. Principal comando SELECT. Muitos autores

consideram o SELECT um comando DML.

PARTES DO SQL - GRUPOS DE COMANDOS DDL - PRINCIPAIS COMANDOS

� CREATE TABLE ⇒ cria uma nova tabela.

� ALTER TABLE ⇒ altera a definição de uma tabela.

� DROP TABLE ⇒ remove (exclui) uma tabela.

� TRUNCATE TABLE ⇒ remove todas as linhas (registros) deuma tabela. Limpa (esvazia) a tabela, mas não a exclui. Temo mesmo efeito do comando DELETE (DML) sem a cláusulaWHERE, mas como não varre a tabela é mais rápido.

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

25 MANUEL

Page 26: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

DML - PRINCIPAIS COMANDOS

� SELECT ⇒ seleciona registros dependendo de uma ou

mais condições. Muitos autores consideram SELECT um

comando DQL.

� DELETE ⇒ remove (exclui) registros de uma tabela.

� INSERT ⇒ insere um registro (uma tupla) em uma tabela.

� UPDATE ⇒ altera os valores de um ou mais registros de

uma tabela

�DDL ⇒ DATA DEFINITION LANGUAGE - trabalha

com OBJETOS (exemplo: TABELAS , ÍNDICES,

VISÕES).

�DML ⇒ DATA MANIPULATION LANGUAGE -

trabalha com LINHAS (REGISTROS) de uma Tabela.

OBSERVAÇÃO

DCL - PRINCIPAIS COMANDOS

� GRANT ⇒ concessão de privilégios a tabelas, visões, etc.

Exemplos:

• GRANT CREATE TABLE, CREATE VIEW TO CARLOS;• GRANT SELECT, INSERT ON DEPTO TO JULIO, MARIO;

� REVOKE ⇒ revogação de privilégios a tabelas e visões.

Exemplo:

REVOKE SELECT, INSERT ON DEPTO FROM MARIO;

DQL - PRINCIPAL COMANDO

� SELECT ⇒ seleciona registros dependendo de uma ou mais

condições. Muitos autores consideram o SELECT um comando

DML. Embora tenha apenas um comando, a DQL (Data Query

Language) é a parte da SQL mais utilizada. O comando SELECT

permite ao usuário especificar uma CONSULTA (QUERY) como

uma descrição do resultado desejado. Esse comando é

composto de várias CLÁUSULAS e OPÇÕES, possibilitando

elaborar consultas das mais simples às mais elaboradas.

SQL - ESTRUTURA BÁSICA DE UMA CONSULTACLÁUSULAS ⇒ SELECT / FROM / WHERE

SELECT Nome, Salário ⇒

FROM Tab_Funcionário ⇒

WHERE Salário > 10000 ⇒

EXEMPLO

Os campos Nome, Salário

Da tabela Tab_Funcionário

Com Salário > 10000

Obs1 ⇒ Para selecionar TODOS os campos (colunas) de umatabela basta usar: SELECT * ou SELECT ALLObs2 ⇒ Para selecionar TODAS as linhas (registros) bastaNÃO USAR o comando WHERE.

QUEM ?

DE ONDE ?

RESTRIÇÃOHAVING ⇒ utilizada para expressar a CONDIÇÃO que deve

satisfazer CADA GRUPO gerado pelo GROUP BY.

GROUP BY ⇒ utilizada para separar os REGISTROS

selecionados (pelo SELECT) em GRUPOS ESPECÍFICOS.

SQL - ESTRUTURA BÁSICA DE UMA CONSULTACLÁUSULAS ⇒ GROUP BY / HAVING

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

26 MANUEL

Page 27: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

A sintaxe do comando SELECT com as cláusulas GROUP BY eHAVING é:

SELECT <coluna(s)>FROM <tabela>WHERE <condições>GROUP BY <coluna(s)>HAVING <condições>

QUAIS os CAMPOS ?De QUAL tabela ?Qual a RESTRIÇÃO dos CAMPOS?Como GRUPAR ?QUAIS vão fazer parte do GRUPO ?

SQL - ESTRUTURA BÁSICA DE UMA CONSULTACLÁUSULAS ⇒ GROUP BY / HAVING

OBS. GROUP BY deverá vir SEMPRE APÓS a cláusula WHEREou APÓS a cláusula FROM quando não existir WHERE !

EXEMPLO ⇒ TABELA⇒ Tab_Vendas (Vendedor,Mês,Venda)

SELECT Vendedor, SUM (Venda) ⇒ O QUÊ ?

FROM Tab_Vendas⇒ DE ONDE ?

GROUP BY Vendedor ⇒ GRUPADO POR VENDEDOR !

01- Qual o TOTAL das VENDAS de CADA VENDEDOR ?

Obs. SUM ⇒ calcula a SOMA de todos os valores de umCAMPO.

SQL - ESTRUTURA BÁSICA DE UMA CONSULTACLÁUSULAS ⇒ GROUP BY / HAVING

SELECT Vendedor, Mês, AVG(Venda) ⇒ O QUÊ ?

FROM Tab_Vendas ⇒ DE ONDE ?

WHERE Mês = ’05’ ⇒ RESTRIÇÃO SOBRE A SELEÇÃO !

GROUP BY Vendedor ⇒ GRUPADO POR VENDEDOR !

02- Qual a MÉDIA das VENDAS de CADA VENDEDOR no MÊSde MAIO (05)?

Obs. AVG ⇒ calcula a MÉDIA de todos os valores de umCAMPO.

SQL - ESTRUTURA BÁSICA DE UMA CONSULTACLÁUSULAS ⇒ GROUP BY / HAVINGEXEMPLO ⇒ TABELA⇒ Tab_Vendas (Vendedor,Mês,Venda)

SELECT Vendedor,Venda,AVG(Venda)

FROM Tab_Vendas

GROUP BY Vendedor

HAVING AVG(Venda) > 2000

03- QUAIS VENDEDORES tiveram MÉDIA de venda MAIOR doque 2000 ?

Obs. AVG ⇒ calcula a MÉDIA de todos os valores de um campo.

SQL - ESTRUTURA BÁSICA DE UMA CONSULTACLÁUSULAS ⇒ GROUP BY / HAVINGEXEMPLO ⇒ TABELA⇒ Tab_Vendas (Vendedor,Mês,Venda)

SELECT Vendedor,Mês,Venda,SUM(Venda)

FROM Tab_Vendas

WHERE Mês = ’05’

GROUP BY Vendedor

HAVING SUM(Venda) > 2000

04- QUAIS vendedores venderam MAIS que 2000 no mês deMAIO (05) ?

SQL - ESTRUTURA BÁSICA DE UMA CONSULTACLÁUSULAS ⇒ GROUP BY / HAVING

EXEMPLO ⇒ TABELA⇒ Tab_Vendas (Vendedor,Mês,Venda)

CLÁUSULAS ⇒ GROUP BY/ HAVING

01- GROUP BY ⇒ é usado para GERAR AGREGADOS

utilizados junto com o comando SELECT e deve ser colocado

ANTES da cláusula HAVING, já que os grupos são formados e

as funções de grupos são calculadas ANTES de resolver a

cláusula HAVING.

02- GROUP BY ⇒ organiza dados em GRUPOS, produzindo

sumários. A cláusula HAVING ESTABELECE CONDIÇÕES

para listar esses grupos.

OBSERVAÇÕES

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

27 MANUEL

Page 28: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

03- HAVING ⇒ está para a cláusula GROUP BY, assim como a

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

DELETE, UPDATE e INSERT.

CLÁUSULAS ⇒ GROUP BY/ HAVING

OBSERVAÇÕESCLÁUSULA⇒ SELECT DISTINCT

DISTINCT ⇒ é usada para retornar apenas valores distintos(diferentes) em uma tabela.TAB_VENDAS

ID VENDEDOR Mês Venda

1 BETO JAN 2000,00

2 GABRIEL ABR 5500,00

3 PATY ABR 12000,00

4 MÔNICA MAI 15000,00

5 BETO ABR 3000,00

6 MÔNICA MAR 5900,00

SELECT DISTINCT VENDEDOR FROM TAB_VENDAS

VENDEDOR

BETO

GABRIEL

PATY

MÔNICA

CLÁUSULA⇒ SELECT ORDER BY

ORDER BY ⇒ lista os resultados de uma consulta por umaordem em particular (ascendente ou descendente)

TAB_VENDAS

ID VENDEDOR Mês Venda

1 BETO JAN 2000,00

2 GABRIEL ABR 5500,00

3 PATY ABR 12000,00

4 MÔNICA MAI 15000,00

5 BETO ABR 3000,00

6 MÔNICA MAR 5900,00

SELECT Vendedor, Venda FROM TAB_VENDAS ORDER BYVenda ASC

VENDEDOR Venda

BETO 2000,00

BETO 3000,00

GABRIEL 5500,00

MÔNICA 5900,00

PATY 12000,00

MÔNICA 15000,00

OBSERVAÇÕES

01- É possível ordenar por MAIS DE UMA COLUNA.

SELECT Vendedor, Venda FROM TAB_VENDAS ORDER BY

Vendedor ASC, Venda DESC

02- É possível ordenar utilizando a POSIÇÃO da coluna em vezdo 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 4ASC (4 indica que é a coluna 4 da Tabela).

CLÁUSULA⇒ SELECT ORDER BY

SQL - OUTROS CONCEITOS E COMANDOS

FORMULÁRIO ⇒ É o objeto de COMUNICAÇÃO entre o banco

de dados e o USUÁRIO. Permite a ENTRADA de dados e a

visualização de informações de uma maneira muito mais

elegante e controlada.

SQL - OUTROS CONCEITOS E COMANDOS

RELATÓRIO ⇒ é uma maneira eficaz de apresentar os dados

em um formato impresso. Como o usuário tem controle sobre o

tamanho e a aparência de todos os elementos de um relatório, é

possível exibir as informações da maneira como deseja vê-las.

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.

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

28 MANUEL

Page 29: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

SQL - OUTROS CONCEITOS E COMANDOS

VIEW ⇒ é uma TABELA VIRTUAL gerada a partir do resultadode uma instrução SELECT. Uma VIEW contém linhas ecolunas, como se fosse uma tabela real. Os campos na VIEWsão obtidos de uma tabela de um banco de dados.Exemplo:

CREATE VIEW < NOME DA VIEW> AS SELECT <CAMPOS>

FROM <TABELA> WHERE <CONDIÇÃO>

CREATE VIEW COMEDIAS AS SELECT * FROM FILMES

WHERE TIPO = 'COMÉDIA';

SQL - OUTROS CONCEITOS E COMANDOS

TRIGGER (disparo) ⇒ é um BLOCO DE COMANDOS que é

EXECUTADO AUTOMATICAMENTE. Em vez de serem

executados pelo usuário, eles são executados pelo

SERVIDOR do BANCO de DADOS quando certas operações

são realizadas numa tabela, como por exemplo: Insert, Delete

ou Update.

SQL - OUTROS CONCEITOS E COMANDOS

TRIGGER (disparo) ⇒ são usados para realizar tarefas

relacionadas com CONTROLES como: VALIDAÇÕES,

RESTRIÇÕES de ACESSO, ROTINAS DE SEGURANÇA e

CONSISTÊNCIA de dados. Esses controles deixam de ser

executados pela aplicação e passam a ser executados pelos

TRIGGERS.

�Um COMANDO SQL que vai DISPARAR o TRIGGER (Insert,

Delete, Update).

�A AÇÃO que o TRIGGER vai EXECUTAR (geralmente um

bloco de códigos SQL).

ETAPAS DE CRIAÇÃO DE UM TRIGGER

SQL - OUTROS CONCEITOS E COMANDOS

TRANSAÇÕES - DTL (Data TRANSACTION Language)

A execução de um programa que inclui operações de acesso a

um banco de dados é chamada de TRANSAÇÃO. Se as

operações em questão não alteram os dados do banco de

dados, a transação é chamada de read-only transaction.

No entanto, a maioria das transações executa operações que

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.

SQL - OUTROS CONCEITOS E COMANDOS

TRANSACTION (TRANSAÇÃO-DTL) ⇒ é um conjunto de

procedimentos que é executado em um Banco de Dados e que

para o usuário é visto como uma ÚNICA AÇÃO. A

INTEGRIDADE de uma transação depende de 4 (quatro)

PROPRIEDADES, conhecidas como ACID.

SQL - OUTROS CONCEITOS E COMANDOS

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

29 MANUEL

Page 30: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

� ATOMICIDADE ⇒ uma transação NÃO PODE SER

EXECUTADA PELA METADE, isto é, ou se executa por

INTEIRO, ou se retorna para o ESTADO ANTERIOR a

transação, onde nada foi executado.

PROPRIEDADES DE UMA TRANSACTION

� COERÊNCIA ⇒ o banco de dados é coerente se todas as

suas RESTRIÇÕES de INTEGRIDADE SÃO SATISFEITAS.

� ISOLAMENTO ⇒ como as transações são executadas

CONCORRENTEMENTE no mesmo banco de dados, elas

devem ser ISOLADAS das OUTRAS operações.

PROPRIEDADES DE UMA TRANSACTION

� DURABILIDADE ⇒ está relacionada à capacidade do

SGBD de se recuperar de falhas no sistema e no meio. As

atualizações de uma transação efetivada devem ser

PRESERVADAS e REGISTRADAS em algum meio durável.

�ROLLBACK ⇒ serve para DESFAZER as alterações queforam efetuadas em uma tabela e que não tenham sidoconfirmadas.

TRANSAÇÕES SÃO SUPORTADAS PELOS SEGUINTES MECANISMOS

�COMMIT ⇒ é o contrário do ROLLBACK ou seja, serve paraCONFIRMAR as alterações que por ventura sejam feitas.Uma vez executado um COMMIT não podemos mais retornara situação anterior.

Quando uma aplicação solicita a execução de uma QUERY

(CONSULTA), todo o texto da mesma é enviado pela rede ao

SERVIDOR onde será finalmente compilado e executado.

STORED PROCEDURES

�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.

ISS/NITERÓI

BANCO DE DADOSEXERCÍCIOS

CURSO GABARITO

ICMS/RJ - 2008

01- No funcionamento de um sistema de gerenciamento de

banco de dados, uma situação de falha ocorre quando dois

usuários tentam alterar, simultaneamente, um mesmo registro.

Por exemplo, no caso de dois clientes de uma empresa de

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:

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

30 MANUEL

Page 31: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

(A) Multilock

(B) Crashing.

(C) Overlock.

(D) Locking.

(E) Deadlock.

DEADLOCK - impasse, dois ou mais processosficam impedidos de continuar suas execuções.

BADESC-2010

02- Assinale a alternativa que apresenta as características deuma entidade fraca.(A) Possui identificação própria ou sua existência depende deuma outra denominada de forte.(B) Não possui identificação própria ou sua existência dependede uma outra denominada de forte.(C) Possui identificação própria ou sua existência não dependede uma outra denominada de forte.(D) Possui identificação própria ou sua existência depende deuma outra não denominada de forte.(E) Não possui identificação própria ou sua existência nãodepende de uma outra denominada de forte.

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 criadospela DDL e fornecer privilégio de acesso às informações.(B) fornecer privilégio de acesso às informações, criar os objetosdo 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) dedados nos objetos criados pela DML, criar os objetos do bancode dados e fornecer privilégio de acesso às informações.

BADESC-2010

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 nosobjetos criados pela DDL e criar os objetos do banco de dados.(E) criar os objetos do banco de dados, fornecer privilégio deacesso às informações e manipular (recuperação, inserção,remoção e alteração) de dados nos objetos criados pela DDL.

BADESC-2010

04- A propriedade de uma transação denominada de ACIDenvolve 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 dedados.(E) Atomicidade, Consistência, Isolamento e Dependência dedados.

BADESC-2010

05- A arquitetura de um SGBD ou a arquitetura de um sistema debanco de dados, também denominada de arquiteturaANSI/SPARC em três níveis, determina que um SGBD descrevacomo os dados devem ser armazenados e acessados e conterestes mesmos dados de fato armazenados. As terminologiasdesta arquitetura que contêm essas descrições e os dados defato armazenados, são respectivamente:

(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.

BADESC-2010

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

31 MANUEL

Page 32: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

06- Analise o seguinte conceito. “Situação que dois ou mais usuários (ouprocessos) 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, é umasituaçã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

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 valorNULL / os valores dos atributos que formam a chave estrangeiradeverá 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 fordiferente de NULL / nenhum atributo pertencente à chave primáriapoderá receber valor NULL.(C) nenhum atributo pertencente à chave primária poderá receber valorNULL / os valores dos atributos que formam a chave estrangeiradeverá existir na tabela onde a chave estrangeira é chave primária,somente quando for igual a NULL.

BADESC-2010

(D) os valores dos atributos que formam a chave estrangeira deveráexistir na tabela onde a chave estrangeira é chave primária, somentequando for igual a NULL / nenhum atributo pertencente à chaveprimária poderá receber valor NULL.(E) os atributos pertencentes à chave primária deverão conter semprevalores diferentes de NULL / os valores dos atributos que formam achave 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 chaveprimária de qualquer relação não pode ser nula emnenhuma tupla dessa relação.

� RESTRIÇÃO DE INTEGRIDADE REFERENCIAL ⇒ arestrição de integridade referencial declara que uma tupla emuma relação, que faz referência a outra relação, deve sereferir a uma tupla existente nessa relação. O conceito deIntegridade Referencial depende do conceito de CHAVEESTRANGEIRA. A INTEGRIDADE REFERENCIAL é utilizadapara garantir a Integridade dos dados entre as TABELASRELACIONADAS.

08- O processo de obter uma única entidade de váriasentidades, que contenha todos os atributos comuns de todasestas entidades, é denominado de:

(A) agregação.(B) normalização.(C) normatização.(D) generalização.(E) especialização.

BADESC-2010

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

32 MANUEL

Page 33: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

09- Na linguagem SQL, no comando select, uma cláusulapossibilita a remoção de entradas em duplicata num conjuntode resultados.

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

BADESC-2010

10- Considere o seguinte texto.“conjunto de um ou mais atributos que, tomados coletivamente,nos permitem identificar, de maneira única, uma entidade em umconjunto de entidades”O texto acima é a definição de:

(A)Chave.(B) Surrogate.(C) Superchave.(D) Chave primária.(E) Chave candidata.

BADESC-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 egerenciadas 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.

(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.

BADESC-2010

12- Sobre Bancos de Dados Relacionais, analise:I. A abordagem relacional está baseada no princípio de que as informaçõesem uma base de dados podem ser consideradas relações matemáticas e queestão representadas de maneira uniforme com o uso de tabelasbidimensionais.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ãosendo procedurais, ou seja, manipulando conjuntos de uma só vez.III. É indispensável aos usuários saber como e onde os dados estãoarmazenados.

DETRAN_RN_ASSESSOR_TEC_INFO_BD_2010

A) I, IIB) I, IIIC) ID) IIE) II, III

13- Sobre o comando “drop table pedido;” assinale a alternativacorreta:

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.

DETRAN_RN_ASSESSOR_TEC_INFO_BD_2010

14- Assinale a alternativa que corresponde à funcionalidadeda seguinte sintaxe:SELECT * FROM tabela ;

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.

DETRAN_RN_ASSESSOR_TEC_INFO_BD_2010

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

33 MANUEL

Page 34: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

15- Marque a opção correta sobre a aplicação do comando quese segue, no diagrama exposto:Diagrama

DETRAN_RN_ASSESSOR_TEC_INFO_BD_2010

SELECT Numero_Pedido, Codigo_Produto, QuantidadeFROM Item_de_PedidoWHERE Quantidade = 35;

DETRAN_RN_ASSESSOR_TEC_INFO_BD_2010

SELECT Numero_Pedido, Codigo_Produto, Quantidade FROMItem_de_Pedido WHERE Quantidade = 35;

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 quantidadede itens menor que 35.C) Lista o número, o código e os itens dos pedidos que tenham quantidade igual a 35itens.D) Lista o número, o código e a quantidade de todos os pedidos que possuamquantidade de itens igual a 35.E) Lista o número, o código e a quantidade de todos os pedidos que não possuamquantidade de itens igual a 35.

16- Para um conjunto de relacionamentos R binário entre osconjuntos de entidades A e B, o mapeamento dascardinalidades deve seguir, EXCETO:

A) Um para um.B) Um para muitos.C) Um para ele mesmo.D) Muitos para muitos.E) Muitos para um.

DETRAN_RN_ASSESSOR_TEC_INFO_BD_2010

Um para ele mesmo ⇒ UNÁRIO

17- Para que um sistema de informação possa ser útil econfiável, deve ser fundamentado na modelagem de dados,para posterior análise do processo. A modelagem de dados sebaseia nos seguintes elementos:

ICMS-RJ - 2011

(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.

18- Sobre sistemas de gerenciamento de bancos de dados, assinale aafirmativa incorreta.

(A) Em uma tabela chamada Carro, com os atributos Modelo, Ano,Cor e Placa, o atributo mais apropriado para servir como chaveprimária é Placa.(B) O processo de aplicação de regras ao projeto de um banco dedados, com o intuito de permitir um acesso eficiente earmazenamento consistente dos dados, é denominado normalizaçãodo banco de dados, ou apenas normalização.(C) O modelo hierárquico de banco de dados é o mais apropriadopara dados que são representados por um relacionamento pai‐filho,onde cada registro pai pode estar relacionado com vários registrosfilho.

AL_MA_TGA_ANALISTA_SISTEMAS_2013

Sobre sistemas de gerenciamento de bancos de dados, assinale aafirmativa incorreta.(D) Uma Visão (View) de um banco de dados contém todas asinformações sobre as entidades, atributos e tabelas. Seu objetivo épadronizar e unificar os termos utilizados nas variáveis utilizadas nosbanco de dados.(E) O "varchar" é uma cadeia de caracteres de tamanhoindeterminado. Campos do tipo “varchar” podem ter qualquertamanho, até um limite que varia de acordo com o SGBD.

AL_MA_TGA_ANALISTA_SISTEMAS_2013

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

34 MANUEL

Page 35: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

19- O modelo de dados abstrato que descreve a estrutura de umbanco de dados de forma independente de um SGBD chama-semodelo

(A) lógico.(B) conceitual.(C) físico.(D) algorítmico.(E) funcional.

AL_MT_AN_B_DADOS_2013

20- No diagrama ER estendido, uma entidadeassociativa é graficamente representada por:

AL_MT_AN_B_DADOS_2013

O uso desta abstração é necessário QUANDO umRELACIONAMENTO deve ser representado como umaENTIDADE no modelo conceitual

21- Com relação às vantagens que podem ser destacadas aoser usada a abordagem de SGBD centralizados, assinale Vpara 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,

(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

22- Com relação às definições dos diferentes tipos de chaves em umprojeto de Banco de Dados, analise as afirmativas a seguir.

I. Em alguns casos, mais de uma coluna ou combinações de colunaspodem servir para distinguir uma linha das demais. Se uma dascolunas (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 decolunas cujos valores aparecem necessariamente na chave primáriade uma tabela. A chave estrangeira é o mecanismo que permite aimplementação de relacionamentos em um banco de dados relacional.III. Uma chave primária é uma coluna ou uma combinação de colunascujos valores não distinguem uma linha das demais dentro de umatabela.

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.

23- Analise o comando SQL a seguir.SELECT * FROM pessoaPara recuperar todos os registros da tabela pessoa, cujocampo sobrenome começa com a letra B, deverá seracrescentado 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%'

AL_MT_AN_B_DADOS_2013

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

35 MANUEL

Page 36: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

24- Um modelo de dados é uma descrição formal dasestruturas de dados presentes em um banco de dados. Os doisníveis de abstração dos modelos de dados considerados emum 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.

MPE_MS_AN_BDADOS_2013

25- Segundo o modelo de entidade e relacionamento, acardinalidade mínima representa o número mínimo deocorrências de uma entidade que estão relacionadas a umaocorrência de outra entidade através de um relacionamento. Osvalores das cardinalidades mínimas podem ser

MPE_MS_AN_BDADOS_2013

(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.

26- Com relação ao tema “modelo relacional”, analise as afirmativas a seguir.I. Chave estrangeira é o mecanismo que permite a implementação derelacionamentos em um banco de dados relacional.II. Chave estrangeira é uma coluna única ou combinação de colunas cujosvalores necessariamente aparecem como chave primária em outra tabela.III. Chave candidata é uma coluna cujos valores necessariamente aparecemcomo chave secundária em tabelas que participam de auto‐relacionamentos.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 somente as afirmativas I e III estiverem corretas.

MPE_MS_AN_BDADOS_2013

27- Com relação a banco de dados, uma transação T está em starvation quando

MPE_MS_AN_BDADOS_2013

(A) não pode continuar seu processamento por um período de tempoindefinido, enquanto outras transações continuam normalmente.(B) não pode continuar seu processamento por um período de tempoindefinido, enquanto outras transações também são impedidas decontinuar 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 tempopré‐definido, enquanto outras transações são impedidas de continuar seuprocessamento normalmente.(E) pode continuar seu processamento por um período de tempoconhecido à priori pois T não tem permissão para acessar os recursosnecessários.

28- Os sistemas gerenciadores de bancos de dados relacionaisadotam uma arquitetura que envolve diversos esquemas com oobjetivo de separar o usuário da aplicação do banco de dadosfísico. A esse respeito, é correto afirmar que esses esquemassão

(A) externo, pré‐compilador e compilador SQL.(B) independência física de dados e independência de dadoslógica.(C) interface, conceitual e visão.(D) interno, conceitual e externo.(E) visão, compilador SQL e utilitários.

MPE_MS_AN_ENG_COMP_2013

29- A modelagem conceitual de dados é uma fase muitoimportante para o desenvolvimento de aplicações que utilizembancos de dados. A modelagem utiliza entidades,relacionamentos e atributos. O grau de um relacionamentoindica o número de

(A) atributos participantes.(B) auto‐relacionamentos participantes.(C) entidades fracas participantes.(D) entidades participantes.(E) relacionamentos participantes.

MPE_MS_AN_ENG_COMP_2013

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

36 MANUEL

Page 37: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

30- O conceito de transação é fundamental em bancos de dadosrelacionais. Uma transação (T) é uma atividade deprocessamento que ou estará completamente realizada ou nãofoi realizada. Uma transação deve obedecer a diversaspropriedades. A propriedade durabilidade garante que T

(A) deve ser executada de modo isolado das demaistransações. O processamento de T não pode sofrer interferênciade qualquer outra transação.(B) é uma unidade indivisível de processamento que seráexecutada na sua totalidade ou não será executada denenhuma outra forma.

MPE_MS_AN_ENG_COMP_2013

(C) preservará a consistência dos dados, se sua execução forcompletada corretamente, levando o banco de dados de umestado durável para outro.(D) será recuperada caso ocorra uma falha no sistema. Asmudanças serão desfeitas em decorrência da falha e o bancocontinuará integro.(E) terá suas alterações persistidas no banco de dados por umatransação efetivada. As alterações dos dados não devem serperdidas em razões de uma falha.

MPE_MS_AN_ENG_COMP_2013

PERSISTIDAS ⇒ gravadas em um meio DURÁVEL

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 emodificar esquemas por meio da execução de instruções de definição dedados, conceder diferentes tipos de autorização para acesso a dados emanter rotinas que têm por objetivo garantir a integridade do sistema.II. Cabe ao administrador de banco de dados de uma organizaçãoescolher, dentre as diversas ferramentas disponíveis no mercado, as maisadequadas e desenvolver aplicações que utilizem o sistema gerenciadorde bancos de dados e que ofereçam interfaces amigáveis para os usuáriosfinais.III. Cabe ao administrador de banco de dados de uma organizaçãoacessar o banco de dados e monitorar as tarefas que estão sendoexecutadas pelos usuários e garantir que o desempenho do sistema nãoseja prejudicado por elas.

MPE_MS_AN_SISTEMAS_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 II e III estiverem corretas.(E) se somente as afirmativas I e III estiverem corretas.

MPE_MS_AN_SISTEMAS_2013

32- Observe o comando SQL a seguir:SELECT nome, sobrenome, PIS, anos_de_servico FROMEmpregadosA cláusula que deve ser adicionada ao comando acima paraordenar os registros por anos de serviço, com os empregadosque estão há mais tempo na empresa aparecendo primeiro nalistagem, é

(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

MPE_MS_TEC_INFO_2013

33- O controle de concorrência para transações de banco dedados que garante que resultados intermediários de umatransação T não afetem outras transações até que T tenha sidototalmente executada, ou rejeitada, é usualmente implementadoem 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.

DPERJ_ADM_DADOS_2014

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

37 MANUEL

Page 38: CURSO GABARITO TECNOLOGIA DA INFORMAÇÃO ISS/RJ TECNOLOGIA ... · curso gabarito banco de dados iss/rj informÁtica - fgv conceitos bÁsicos tecnologia da informaÇÃo tecnologia

34- A sigla DBA é usualmente empregada para designar umprofissional que é responsável(A) pela administração, instalação, configuração e monitoramentode instalações de bancos de dados.(B) pela concepção, desenvolvimento e implantação de sistemasgerenciadores de bancos de dados.(C) pelo processo de coleta e exploração de dados para geração denovos 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 gerenciadoresde bancos de dados.

DPERJ_ADM_DADOS_2014 TJ_BA_AN_TI_2015

35- As técnicas de projeto de bancos de dados visam à obtençãode três objetivos principais, quais sejam:(A) normalização, preservação das dependências funcionais edecomposição sem perda;(B) normalização, independência de dados e decomposiçãosem perda;(C) normalização, independência de dados e controle deconcorrência;(D) atomicidade, consistência e durabilidade;(E) independência de dados, controle de concorrência enormalização

DEPENDÊNCIA FUNCIONALDados dois conjuntos de atributos A e B de uma entidade, diz-se 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, valorde B.

Uma DEPENDÊNCIA FUNCIONAL é representada por:A→ BA é denominado DETERMINANTE

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} !!!!

N_funcionário → Departamento ?SIM pois se se conhecer o N_funcionário (atributo unívoco) é possíveldeterminar o Departamento (um funcionário só pode pertencer a umdepartamento) !!!!

DEPENDÊNCIA FUNCIONAL - EXEMPLO

01- E 11- E 21- A 31- E

02- B 12- A 22- B 32- C

03- A 13- B 23- E 33- B

04- B 14- C 24- A 34- A

05- A 15- D 25- A 35- A

06- A 16- C 26- D

07- A 17- E 27- A

08- D 18- D 28- D

09- D 19- B 29- D

10- C 20- D 30- E

GABARITO

CURSO GABARITO

ISS/NITERÓI-2015INFORMÁTICA - EXERCÍCIO_04

38 MANUEL