24 - Banco de dados relacionais, chaves e relacionamento Flashcards
Defina o Modelo Relacional
Os bancos de dados relacionais são aqueles que se baseiam no princípio de que todos os dados devem estar armazenados em tabelas
Um coisa é a representação física dos dados outra é a conceitual. O modelo de dados…
Trata da representação conceitual dos dados fisicamente armazenados
Na terminologia a tabela é chamada de
Relação
Na terminologia as linhas são chamadas de
Tuplas
Na terminologia as colunas são chamadas de
Atributos
Na terminologia o tipo de dado é chamado de
Domínio
VERDADEIRO OU FALSO
Cada valor em uma tupla é atômico
VERDADEIRO
Ele não é divisível em componentes dentro da estrutura básica do modelo relacional
Atributos compostos ou multivalorados não são permitidos
Defina a álgebra relacional
Linguagem de consulta formal
Uma coleção de operações de alto nível sobre relações ou conjuntos cujo resultado seja uma nova relação ou conjunto
O conjunto de operação cujo resultado seja uma nova relação é a Álgebra Relacional
Operações da Álgebra Relacional
Seleção
Projeção
Produto Cartesiano
União
Diferença
Junção
Intersecção
5 Primeiras são primárias e as 2 últimas derivadas
Defina Seleção na álgebra relacional
Trata-se de uma operação unária que filtra as linhas de uma tabela que satisfazem a um conjunto de condições ou predicados
Defina Projeção na álgebra relacional
Produz uma nova tabela com apenas algumas das colunas de uma tabela e remove linhas duplicadas
Defina o Produto Cartesiano na álgebra relacional
Também chamado de produto cruzado ou junção cruzada
Trata-se de uma operação binária que produz um resultado um nova tabela com todas as combinações possíveis de duas tabelas
A quantidade de colunas é igual a soma das colunas das 2 tabelas
A quantidade de linhas é igual ao produto da quantidade de linhas das 2 tabelas
Defina Junção na álgebra relacional
Produz uma nova tabela com todas as combinações possíveis de linhas de 2 tabelas e que satisfazem uma condição de seleção
A junção remove colunas duplicadas
Defina União na álgebra relacional
Produz uma nova tabela que inclui todas as linhas de 2 tabelas, eliminando as duplicatas
As tabelas devem ser união-compatíveis
As colunas das tabelas devem possuir o mesmo domínio
VERDADEIRO OU FALSO
É possível unir duas tabelas que tenham a quantidade de colunas diferentes
FALSO
Defina a Intersecção na álgebra relacional
Produz uma nova tabela que inclui todas as linhas em comum de 2 tabelas - as tabelas devem ser união-compatíveis
Defina a Diferença na álgebra relacional
Produz uma nova tabela que inclui todas as linhas de uma tabela T1 que não estão na tabela T2
As tabelas devem ser união-compatíveis
Defina uma View
Em geral é um subconjunto do banco de dados
Se deseja visualizar apenas uma parte dos dados de uma ou mais tabelas você pode criar uma visão personalizada de dados
Uma view é considerada uma tabela…
Virtual
Por não necessariamente exigir uma forma física é considerada uma tabela virtual
VERDADEIRO OU FALSO
Não há limitações de possíveis operações de atualizações que podem ser aplicadas as views
FALSO
Por ser um tabela virtual - HÁ uma limitação das possíveis operações de atualizações que podem ser aplicadas as views
Não há qualquer limitação à operação de consulta a uma view
VERDADEIRO OU FALSO
É possível afirmar que o uso de uma view é uma forma de aumentar a segurança
VERDADEIRO
Uma vez que ela impede o acesso direto ao banco de dados de uma tabela
O que é a view materializada
É um tipo específico de view que permite que ela seja armazenada
Esse tipo de view é armazenado de forma não volátil, ela é de fato armazenada fisicamente, em contraste com as views tradicionais
Defina Índices (Index)
São uma estrutura de acesso utilizados para otimizar o desempenho a consultas a registros em uma base de dados relacional
VERDADEIRO OU FALSO
Todas as linhas de uma relação precisam ser distintas
VERDADEIRO
Defina uma superchave
É um conjunto de uma ou mais colunas que tomadas coletivamente permitem identificar de maneira unívoca uma linha de uma tabela
Não podem existir duas ou mais linhas de uma tabela com o mesmo valor de uma superchave
Uma superchave especifica uma restrição de chave
O que é uma superchave padrão
É o conjunto de todas as colunas de uma tabela
O que é uma superchave mínima
É uma superchave da qual não podemos remover nenhum atributo e ainda mantermos a restrição de chave
O que é uma chave composta
É uma superchave mínima que possua mais de um atributo
Uma tabela pode ter mais de uma chave. Nesse caso são chamadas de
Chaves candidatas
É comum designar uma das chaves candidatas para ser a chave primária de uma relação
As chaves candidatas que não forem escolhidas para serem chaves primárias são designadas como
Chaves únicas ou chaves secundárias
Tipos de restrições em um banco de dados relacional
Restrições Implícitas: Também chamadas de restrições inerentes ao modelo
Restrições Explícitas: Também chamadas de restrições baseadas no esquema são restrições que podem ser expressas diretamente nos esquemas de modelo de dados
Restrições Semânticas: Também chamadas de restrições baseadas na aplicação não podem ser expressas diretamente nos esquemas de modelo de dados e devem ser expressas e impostas pela aplicação
Para ser considerada uma chave estrangeira ela deve satisfazer 2 regras:
As colunas que a compõem devem ter o mesmo domínio que as colunas da chave candidata da tabela referenciada
O valor da chave estrangeira em uma relação deve ocorrer também na tabela referenciada ou ser nula
VERDADEIRO OU FALSO
É possível haver um auto-relacionamento em que uma coluna referencia outra na mesma tabela
VERDADEIRO
Defina a Restrição de chave ou unicidade
Restrição implícita
Restringe que uma chave primária se repita
Uma chave primária diferencia de forma única os registros de uma relação
Defina a Restrição de Integridade de domínio
Restrição Explícita
Restringe que um campo de uma relação tenha valores diferentes daqueles definidos para o campo específico
Defina a Restrição de integridade de entidade
Restrição Explícita
Restringe que uma chave primária tenha valores nulos (NULL)
Pode ser considerada uma subcategoria da restrição de domínio
Defina a Restrição de integridade referencial
Restrição Explícita
Restringe que a chave estrangeira de uma tabela seja inconsistente com a chave candidata da tabela referenciada
Defina a Restrição de integridade semântica
Restrição Semântica
Assegura que o conteúdo dos campos em um banco de dados reflita de modo preciso as regras de negócio
Qual é o entendimento da CESPE acerca das chaves estrangeiras
A chave estrangeira referencia a chave primária (e não candidata) de outra tabela
Defina Relacionamentos no banco de dados relacional
Nada mais é que uma associação entre tabelas
VERDADEIRO OU FALSO
Uma chave estrangeira não pode ser nula
VERDADEIRO
O que são as regras de Codd
São as 12 regras (13) que definam o que é necessário para que um banco de dados seja considerado relacional
Regra 00 de Codd Regra fundamental/base
Para que um sistema seja considerado um SGBD relacional ele deverá gerenciar banco de dados exclusivamente através de suas capacidades relacionais
Não é só o armazenamento dos dados em si que devem obedecer às regras relacionais
Todo o seu gerenciamento de controle, permissão, catálogo de metadados deve ser gerenciado como de tabelas
Regra 01 de Codd - Regra da informação
Todas as informações (todas inclusive metadados) de um banco de dados relacional devem ser representadas logicamente como dados dentro de colunas pertencentes a registros de uma tabela
Regra 02 de Codd - Regra da garantia de Acesso
Deve-se garantir que todos os valores de uma tabela possam ser acessados por meio de uma combinação de nome de tabela, valor de chave primária e nome da coluna
Regra 03 de Codd - Tratamento sistemático dos valores nulos
Os valores nulos são suportados pelo SGBD relacional para representar a informação ausente ou não aplicável e tratados de uma maneira sistemática independente do tipo de dados
Um sistema deve ser capaz de tratar sistematicamente valores nulos ainda que determinada coluna armazene um tipo de dados ela devera ser capaz de tratar o valor nulo
Regra 04 de Codd - Regra do catálogo online baseado no modelo operacional
O catálogo de dados deve ser armazenado e gerenciado como um dado comum - tabelas do BD disponíveis aos usuários autorizados
Regra 05 de Codd - Regra de sublinguagem ampla/compreensiva de dados
O banco de dados relacional deve oferecer suporte a múltiplas linguagens e meio de acesso
Deve existir ao menos uma linguagem declarativa bem definida como suporte às seguintes operações:
->Definição de dados
-> Definição de views
-> Manipulação de dados
-> Restrições de integridade
-> Autorização
-> Controle de transação
Regra 06 de Codd - Regra de atualização por meio de views
Toda view teoricamente atualizável devem ser também atualizável na prática por meio do sistema
Regra 07 de Codd - Regra de inserção atualização e exclusão de alto nível
Se é possível fazer consulta a um conjunto de dados por meio de comandos de alto nível também deverá ser capaz de fazer inserções atualizações e exclusões da mesma maneira
Regra 08 de Codd - Regra da independência física de dados
Aplicações e recursos permanecem logicamente inalterados quando ocorrem mudanças no método de acesso ou na forma de armazenamento físico
Regra 09 de Codd - Regra da independência lógica de dados
Aplicações e recursos não são afetados logicamente quando de alterações de estruturas da tabela que preservem os valores originais da tabela (Alteração da ordem ou inserção de colunas)
Regra 10 de Codd - Regra de independência de integridade
As aplicações não são afetadas quando ocorrem mudanças nas regras de restrições de integridade
Regra 11 de Codd - Regra da independência de distribuição
Aplicações não são logicamente afetadas quando ocorrem mudanças geográficas de dados
Os usuários não devem perceber o fato de o banco de dados ser distribuído ou local
Regra 12 de Codd - Regra da não transposição/Subversão
Se um sistema possui uma linguagem de baixo nível essa linguagem não pode ser usada para subverter as regras de integridades e as restrições definidas no nível mais alto
O que são linguagens de baixo nível
São aquelas mais próximas da linguagem do hardware e mais distantes da linguagem do usuário
O que é a Notação IDEF1X
É uma linguagem/método de modelagem de dados cujo propósito inclui oferecer meio para definir uma visão de dados independente de aplicação que possa ser validade por usuários e que representa a estrutura e a semântica das informações de um sistema