🆗Modelagem Lógica (Banco de Dados Relacionais) Flashcards

1
Q

No que consiste a Modelagem Lógica?

A

Um tipo de modelagem menos abstrata, mais próxima do modelo físico.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Qual o tipo de implementação de modelagem lógica da imagem?

A

Modelo em rede.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qual o tipo de implementação de modelagem lógica da imagem?

A

Modelo Plano.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Qual o tipo de implementação de modelagem lógica da imagem?

A

Modelo Hierárquico Relacional.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Qual o tipo de implementação de modelagem lógica da imagem?

A

Modelo Hierárquico.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Qual o tipo de implementação de modelagem lógica da imagem?

A

Modelo Orientada a Objetos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Qual o tipo de implementação de modelagem lógica da imagem?

A

Modelo Relacional.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

No que consistem os bancos de dados relacionais?

A

Aqueles que se baseiam no princípio de que todos os dados devem estar armazenados em tabelas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Do que se trata um Modelo de Dados?

A

Trata-se da representação conceitual dos dados fisicamente armazenados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Qual a linguagem que o Modelo Relacional representar os dados?

A

Linguagem matemática, utilizando-se de teoria de conjuntos e lógica de predicado de primeira ordem.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

PARA FIXAR

O Modelo de Dados Relacional também introduziu linguagens de consulta mais intuitiva do que as que existiam anteriormente.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

O que é uma relação?

A

Uma linha representa um fato que normalmente corresponde a uma entidade ou relacionamento do mundo real.
*Informalmente, cada relação é semelhante a uma tabela de valores em que cada linha na tabela representa uma coleção de valores de dados relacionados. *

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

PARA FIXAR

Os nomes das tabelas e das colunas são usados para ajudar a interpretar o significado dos valores em cada linha.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Complete as colunas amarelas com a representação correta dos itens marcados.

A

1 - Coluna/tributo
2 - Tabela/relação
3 - Domínio/Tipo
4 - Linha/tupla

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Como é chamada a quantidade de colunas de uma relação?

A

Grau ou Aridade da Relação.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Na terminologia formal, como a tabela é chamada?

A

Relação.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Na terminologia forma, como são chamadas as linhas?

A

Tuplas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Na terminologia formal, como são chamadas as colunas?

A

Atributos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

No que consiste um “Domínio”?

A

Um tipo de dados que descreve os tipos de valores possíveis que podem aparecer em cada coluna.

Exemplo: uma coluna DATA DE NASCIMENTO permite valores de data apenas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

PARA FIXAR

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Como é chamada uma instância de uma tabela relacional, formada por uma lista ordenada de colunas?

A

Tupla.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

CERTO OU ERRADO

Uma relação é definida como um conjunto de tuplas.

A

CERTO!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

As tuplas em uma relação possuem alguma ordem em particular?

A

NÃO! Uma relação não é sensível à ordenação das linhas porque muitas ordens podem ser especificadas para uma mesma relação.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

CERTO OU ERRADO

Em uma relação, é irrelevante a ordenação de tuplas e ordenação dos atributos (ou colunas).

A

ERRADO! A ordenação de tuplas é irrelevante mas a ordenação de atributos pode ser relevante dependendo do nível de abstração.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
É possível atributos compostos ou multivalorados não são permitidos em uma tupla?
NÃO!! Cada valor em uma tupla é um valor atômico, ou seja, ele não é divisível em componentes dentro da estrutura básica do modelo relacional.
26
No que consiste o valor "NULL"?
Valores de atributos que podem ser desconhecidos ou não se aplicam a uma tupla.
27
**PARA FIXAR** O esquema de relação pode ser interpretado como uma declaração ou um tipo de afirmação (ou asserção).
28
CERTO OU ERRADO: Em uma relação, os nomes das colunas são únicos, as linhas são distintas entre si, e a ordem da disposição das linhas e colunas é irrelevante para o banco de dados.
ERRADO! As duas primeiras afirmações são verdadeiras mas a ordem da disposição das linhas e colunas é relevante para o banco de dados.
29
No que consiste uma álgebra relacional?
Uma linguagem de consulta formal, isto é, uma coleção de operações de alto nível sobre relações ou conjuntos cujo resultado seja uma nova relação ou conjunto.
30
Quais as operações de álgebra relacionais?
1) Seleção 2) Projeção 3) Produto Cartesiano 4) União, 5) Diferença 6) Junção 7) Intersecção. *as cinco primeiras são primitivas, não podem ser obtidas as partir de outras e as duas últimas são derivadas*
31
No que consiste uma álgebra relacional primitiva?
Que não podem ser obtidas a partir de outras relações.
32
Quais são as operações de álgebra relacional primitiva?
1) Seleção 2) Projeção 3) Produto Cartesiano 4) União, 5) Diferença
33
No que consiste uma álgebra relacional derivada?
Aquela obtida a partir de outra relação.
34
Quais são as operações de álgebra relacional derivada?
Junção e Intersecção.
35
No que consiste Seleção (select) em banco de dados?
Uma operação unária (apenas um operando) que filtra as linhas de uma tabela que satisfazem um conjunto de condições ou predicados.
36
**PARA FIXAR** A seleção (select), em banco de dados relacional, é utilizada para utilizada para uma relação que satisfaça condição de seleção predefinida.
37
O que o símbolo da imagem representa?
Seleção.
38
**PARA FIXAR** EXEMPLO DE SELEÇÃO σ IDADE>35 (PROFESSOR). Nessa operação acima, ele irá selecionar em uma tabela, todos os professores com idade superior a 35 anos.
39
Quantas condições podem ser usadas em uma tabelas?
Quantas o usuário quiser.
40
O que o símbolo da imagem representa?
Projeção.
41
No que consiste uma 'Projeção' em banco de dados?
Uma operação unária que seleciona as colunas especificadas de todas as linhas da relação, excluindo as linhas duplicadas do resultado (chamadas de duplicatas).
42
**PARA FIXAR** EXEMPLO DE PROJEÇÃO π NOME PROFESSOR, CPF (PROFESSOR). Ou seja, a operação definiu quais as colunas que devem ser exibidas.
43
Qual a diferença entre a operação de Seleção e a operação de Projeção?
A seleção seleciona as linhas que satisfazem uma condição, a operação de Projeção projeta as colunas especificadas na lista de atributos.
44
A operação que consiste em definir quais devem ser as colunas a serem exibidas em uma consulta é a:
projeção.
45
No que consiste uma operação de Produto Cartesiado?
Uma operação _binária_ que produz um resultado que combina as linhas de uma tabela com as linhas de outra tabela.
46
**PARA FIXAR** Exemplo de Produto Cartesiano Perceba que na operação, todas as linhas de uma coluna serão relacionadas com todas as linhas da outra coluna, multiplicando todas as linhas.
47
Como também é chamado o produto cartesiano?
Produto cruzado ou junção cruzada.
48
Qual a quantidade de _colunas_ de uma operação de Produto Cartesiano?
A somas das colunas das tabelas. *Ex: A Tabela A tem colunas Português e Matemática e a Tabela B tem colunas Geografia, História e Ciências. Logo, o número de colunas será 5*
49
Qual a quantidade de linhas em uma operação de Produto Cartesiano?
O produto da quantidade de linhas de cada tabela. *Ex: A Tabela A tem 6 linhas e a Tabela B tem 8 linhas. Logo, o produto cartesiano dessas duas tabelas será de 40 linhas*
50
Quais são as consideradas operações fundamentais?
Seleção, projeção e produto cartesiano.
51
No que consiste uma Junção em banco de dados?
Uma operação binária que produz um resultado que combina as linhas de uma tabela com as linhas de outra tabela.
52
**PARA FIXAR** A junção é representado pelo símbolo ⋈. Perceba que, diferente do produto cartesiano, ele não multiplica as linhas, ele junta a partir das informações do CÓDIGO.
53
Qual a operação em que dois conjuntos de dados são concatenados de acordo com uma determinada condição?
Junção.
54
CERTO OU ERRADO A operação Junção remove as colunas ou linhas duplicadas.
CERTO!
55
No que consiste a operação União?
Uma operação binária que produz como resultado uma nova tabela que contém todas as linhas da primeira tabela seguidas de todas as linhas da segunda tabela.
56
**PARA FIXAR** A operação de União é representada pelo símbolo ⋃.
57
Qual a condição para que seja possível realizar uma operação de União?
Que as tabelas sejam união compatíveis, isto é, possuírem a mesma estrutura, ou seja, devem possuir a mesma quantidade de colunas e as colunas das tabelas devem possuir o mesmo domínio.
58
Qual a quantidade de colunas de uma tabela resultante de uma operação Junção?
A mesma quantidade de colunas que as tabelas originais.
59
Qual a quantidade de linhas máximas de uma tabela resultante de uma operação Junção?
No máximo, igual à somas das linhas de ambas as tabelas.
60
CERTO OU ERRADO A operação União (U) somente pode ser realizada se as tabelas forem compatíveis, isto é, possuírem a mesma estrutura.
CERTO!
61
Como ficaria o resultado da operação de União (U) entre as duas tabelas?
Não tem como porque elas não são compatíveis. As colunas (domínios) precisam ser os mesmos.
62
No que consiste uma operação de Interseção (∩)?
Uma operação binária que produz como resultado uma tabela que contém, sem repetições, todos os elementos que são comuns às duas tabelas fornecidas como operandos.
63
Qual a condição para que seja possível realizar uma operação Interseção entre as tabelas?
Que elas sejam compatíveis, isto é, possuírem a mesma estrutura.
64
**PARA FIXAR** Dadas duas relações A e B do mesmo tipo, uma relação de tipo igual, cujo conteúdo contém todas as tuplas que aparecem tanto em A quanto em B, será obtida por meio da operação relacional interseção.
65
Qual o resultado da operação de Interseção (∩) das tabelas?
66
No que consiste uma operação de Diferença (-)?
Uma operação binária que produz como resultado uma tabela que contém todas as linhas que existem na primeira tabela e não existem na segunda tabela.
67
Qual o resultado da operação de Diferença (-) entre as duas tabelas?
68
Quando uma operação será unária?
Quando a operação se tratar com apenas uma tabela.
69
Quando uma operação será binária?
Quando se tratar de uma operação com duas tabelas.
70
Quando uma operação será comutativa?
Quando a ordem da operação é indiferente.
71
**PARA FIXAR** Exemplos de operação comutativa comutativa, pois a ordem das condições (na primeira a condição2 e na segunda condição1) está invertida, mas o resultado é o mesmo! Logo, a ordem das operações é indiferente.
72
Quais operações de álgebra relacional não poderão ser comutativas?
Projeção e Diferença.
73
Defina as operações de acordo com os símbolos da coluna da direita.
1 - Seleção 2 - Projeção 3 - Produto Cartesiano 4 - Junção
74
Defina as operações de acordo com os símbolos da coluna da direita.
1 - União 2 - Interseção 3 - Diferença
75
Quais operações de álgebra relacional são unárias?
Seleção e Projeção.
76
No que consiste um View (ou visão?
Em geral, um subconjunto dos dados, isto é, se você deseja visualizar apenas uma parte dos dados de uma ou mais tabelas, você pode criar uma visão personalizada dos dados.
77
**PARA FIXAR** Uma view funciona como uma tabela virtual cujo comportamento se assemelha a uma tabela real de banco de dados, no entanto sem armazenar os dados. A definição formal afirma que uma view é basicamente uma única tabela que é derivada de outras tabelas (reais ou virtuais).
78
Existe alguma limitação à operação de consulta de uma view?
NÃO! Há uma limitação das possíveis operações de atualização que podem ser aplicadas às views.
79
Em geral, quando uma view é considerada atualizável?
Quando trata apenas de uma tabela, entre outras regras.
80
**PARA FIXAR** O uso de view em banco de dados é uma forma de aumentar a sua segurança, uma vez que ela impede o acesso direto aos dados de uma tabela, ocultando colunas e fornecendo somente os dados considerados necessários aos usuários.
81
Existe um tipo específico de view que permite que ela seja armazenada. Que view é essa?
View Materializada.
82
Como funciona o armazenamento de uma view materializada?
é armazenado de forma não volátil, ou seja, é de fato armazenada fisicamente, diferente das views tradicionais.
83
É possível inserir, excluir e atualizar registros diretamente de uma view?
SIM!
84
CERTO OU ERRADO: O uso de views materializadas permite aumentar o desempenho do banco de dados, pois minimiza o acesso às tabelas de dados e torna mais rápida a execução das consultas.
CERTO! É melhor porque reduz o acesso aos dados e porque a execução das consultas é mais rápida
85
No que consistem os Índices (ou index)?
Estrutura de acesso utilizados para otimizar o desempenho de consultas a registros em uma base de dados relacional. *igual aos índices de um livro, onde diz onde está cada página e capítulo*
86
CERTO OU ERRADO: Os índices são uma excelente maneira de buscar informações rápidas e específicas e, pela facilidade, pode ser usado sem parcimônia.
ERRADO! O índice produz trabalho adicional para o sistema de banco de dados, portanto, deve ser usado com parcimônia.
87
No que consiste uma superchave?
Um conjunto de uma ou mais colunas que, tomadas coletivamente, permitem identificar de maneira unívoca uma linha de uma tabela. *resumindo: não podem existir duas ou mais linhas de uma tabela com o mesmo valor de uma superchave.*
88
No que consiste uma superchave especifica?
Uma restrição de chave, ou seja, duas linhas não pode ter os mesmos valores de superchave.
89
Toda tabela possui pelo menos uma superchave padrão. Qual é?
O conjunto de todas as colunas de uma tabela. *ou seja, todas as colunas de uma tabela formam uma superchave*
90
**PARA FIXAR** Percebe que há uma redundância nessa superchave? Não é obrigatório ter uma chave composta por todas as colunas. Acompanhe o raciocínio: 1) { NOME + CPF + IDADE + DISCIPLINA + NATURALIDADE } Essa superchave é composta por todas as cinco colunas. 2) { NOME + CPF + IDADE + DISCIPLINA } Essa superchave é composta por quatro colunas. 3) { NOME + CPF + IDADE } Essa superchave é composta por três colunas. 4) { NOME + CPF } Essa superchave é composta por duas colunas. 5) { CPF } Essa superchave é composta por uma coluna. Ou seja, apenas com o CPF, é possível identificar de forma unívoca qualquer linha dessa tabela, {CPF} é um identificador único, nunca duas pessoas terão o mesmo.
91
Quais os requisitos para que um atributo seja considerado chave?
Único e mínimo.
92
**PARA FIXAR** Uma chave precisa identificar de forma unívoca qualquer linha de uma tabela, mas precisa ser uma superchave mínima, ou seja, uma superchave da qual não podemos remover nenhum atributo e ainda mantermos uma restrição.
93
Qual a diferença entre chave composta e superchave?
Uma chave composta é uma superchave mínima que possui mais de um atributo.
94
O comando abaixo pode ser considerado uma chave composta? {NOME + DATA DE NASCIMENTO + NACIONALIDADE}
NÃO! Porque precisa ser uma superchave mínima, ou seja, com o comando {NOME + DATA DE NASCIMENTO} era possível a identificação.
95
Uma tabela pode ter mais de uma chave. Nesse caso, como é chamada cada uma das chaves?
Chave Candidata. *Por exemplo: imaginem que numa tabela houvesse também uma coluna de {CPF} e {RG}. Ora, tanto {CPF} quanto {RG} identificam de forma unívoca uma linha de uma tabela, uma vez que não existem duas pessoas com o mesmo { RG } ou { CPF }. Logo, qualquer uma das duas poderia ser escolhida para ser a **chave primária** de uma tabela.
96
Como são chamadas as chaves candidatas que não forem escolhidas para serem chaves primárias?
Chaves únicas ou chaves secundárias.
97
Qual o significado de constraints?
Restrições.
98
As diversas restrições (constraints) sobre os dados podem ser especificadas em um banco de dados relacional na forma de restrições, que podem ser divididas em três tipos. Quais são?
- Restrições implícitas - Restrições explícitas - Restrições Semânticas
99
No que consistem as Restrições Implícitas?
São restrições inerentes ao modelo de dados. *(Ex: não são permitidas tuplas duplicadas em uma relação, trata- se de uma restrição implícita ao próprio modelo de dados relacional).*
100
Como também podem ser chamadas as restrições implícitas?
Restrições inerentes ao modelo.
101
Qual o subtipo da restrição implícita?
Restrição de chave.
102
No que consiste a restrição de chave, subtipo da restrição implícita?
Restringe que uma chave primária se repita, ou seja, uma chave primária diferencia de forma única os registros de uma relação.
103
No que consistem as Restrições Explícitas?
São restrições que podem ser expressas diretamente nos esquemas do modelo de dados e, em geral, a especifica via DDL *(Ex: o campo NOME não pode conter números).*
104
Como também podem ser chamadas as Restrições Explícitas?
Restrições baseadas no esquema.
105
Qual o significado de DDL?
Data Definition Language
106
Quais os subtipos das restrições explícitas?
a) Restrição de Integridade de DOMÍNIO b) Restrição de Integridade de ENTIDADE c) Restrição de Integridade REFERENCIAL d) Restrição de Integridade de CHAVE
107
O que faz a Restrição de Integridade de Domínio?
Restringe que um campo de uma relação tenha valores diferentes daqueles definidos para o campo específico.
108
O que faz a Restrição de Integridade de Entidade?
Restringe que uma chave primária tenha valores nulos (NULL). *Pode ser considerada uma subcategoria da restrição de domínio*
109
O que faz a Restrição de Integridade Referencial?
Restringe que a chave estrangeira de uma tabela seja inconsistente com a chave candidata da tabela referenciada.
110
O que faz a Restrição de Integridade de Chave?
Restringe que uma chave primária se repita, isto é, uma chave primária diferencia de forma única os registros (linhas) de uma relação (tabela).
111
No que consistem as Restrições Semânticas?
Restrições que não podem ser expressas diretamente nos esquemas do modelo de dados, e, portanto, devem ser expressas e impostas pela aplicação. *(Ex: o número de telefone não pode ter mais de 10 dígitos).*
112
Como também pode ser chamada as Restrições Semânticas?
Restrições baseadas na aplicação.
113
Qual o subtipo da restrição semântica?
114
No que consiste a restrição de identidade semântica?
Assegura que o conteúdo dos campos de um banco de dados reflita de forma precisa as regras de negócio.
115
**PARA FIXAR** - A restrição de integridade de entidade afirma que nenhum valor de chave primária pode ser NULL. O valor da chave primária é utilizado para identificar linhas individuais em uma tabela. Ter valores NULL para a chave primária implica que não podemos identificar algumas linhas. - As restrições de integridade de chave e as restrições de integridade de entidade são especificadas sobre relações individuais. - A restrição de integridade referencial é especificada entre duas tabelas e utilizada para manter a consistência entre linhas nas duas tabelas. Informalmente, a restrição de integridade referencial afirma que uma linha em uma tabela que referencia outra tabela precisa se referir a uma linha existente nessa tabela.
116
Quais os requisitos para que uma chave possa ser considerada uma chave estrangeira?
1) as colunas que a compõem devem ter o mesmo domínio que as colunas da chave candidata da tabela referenciada; 2) o valor da chave estrangeira em uma relação deve ocorrer também na tabela referenciada ou ser nula.
117
**PARA FIXAR** Imagine um cenário em que um professor pode ministrar diversas disciplinas, mas uma disciplina só pode ser ministrada por um único professor. Observem abaixo que a chave primária da Tabela PROFESSOR se tornou uma chave estrangeira da Tabela DISCIPLINA, no entanto continua referenciando a Tabela Professor. Por isso, dizemos que se trata de uma restrição de integridade referencial.
118
É possível uma coluna referenciar outra coluna da mesma tabela?
SIM! Seria o autorelacionamento.
119
No que consiste uma superchave?
A superkey é um conjunto de uma ou mais colunas que, tomadas coletivamente, permitem identificar de maneira unívoca uma linha.
120
No que consistem as chaves candidatas?
As candidate key são superchaves de tamanho mínimo, candidatas a serem possíveis chaves primárias de uma tabela.
121
No que consistem as chaves primárias?
As primary keys são chaves cujas colunas são utilizadas para identificar linhas em uma tabela – em geral, vêm sublinhada.
122
No que consistem as chaves secundárias?
As secundary keys são chaves candidatas a serem possíveis chaves primárias de uma tabela, mas que não foram escolhidas.
123
No que consistem as chaves estrangeiras?
As foreign keys são chaves de uma tabela que fazem referência à chave candidata de outra tabela, ou até mesmo da própria tabela.
124
No que consistem as chaves substitutas?
As surrogate keys são chaves primárias artificiais criadas para identificar de maneira unívoca uma linha.
125
**ATENÇÃO** O CESPE TEM ADOTADO O ENTENDIMENTO DE QUE A CHAVE ESTRANGEIRA REFERENCIA A CHAVE PRIMÁRIA (E, NÃO, CANDIDATA) DE OUTRA TABELA (OU DA MESMA TABELA).
.
126
No que consiste um relacionamento?
Uma associação entre tabelas!
127
Quais os três tipos de relacionamentos entre tabelas?
a) um-para-um (1:1), b) um-para-muitos (1:N) c) muitos-para-muitos (N:M).
128
No que consiste um relacionamento um-para-um?
Relacionamento em que uma linha de uma tabela está associada com uma linha de outra tabela.
129
CERTO OU ERRADO: Em um modelo entidade-relacionamento (MER), diz-se que, em um relacionamento 1..1 – um para um, cada entidade pode referenciar múltiplas unidades daquele com o qual se relaciona.
ERRADO! Esse seria um relacionamento N:N e, não, 1:1. N relacionamento 1:1, cada entidade pode referenciar apenas uma unidade daquele com o qual se relaciona
130
No que consiste o relacionamento relacionamento um-para-muitos (1:N)?
Relacionamento em que uma linha de uma tabela está associada a diversas linhas de outra tabela.
131
No que consiste o relacionamento muitos-para-muitos (N:N)?
Relacionamento em que várias linhas de uma tabela se associam a várias linhas de outra tabela.
132
Qual é o tipo de relacionamento que ocorre entre duas entidades, em que a primeira pode se relacionar com vários registros na segunda, e a segunda se relaciona com apenas uma na primeira?
1-N (um-para-muitos)
133
Qual o tipo de relacionamento que implica a criação de uma terceira tabela para onde serão transpostos as chaves primárias e os eventuais atributos das duas tabelas originais?
Relacionamento N:N (muitos-para-muitos)
134
**PARA FIXAR** O relacionamento muito-para-muitos pode ser abreviado de duas formas: N-M e M-M
135
Como uma chave primária não pode ser nula, mas uma chave estrangeira que referencia uma chave primária pode ser nula?
SIM! Quando existe um relacionamento não obrigatório, é possível que uma instância não esteja associada a outra entidade.
136
Quem criou o modelo de banco de dados relacional?
Edgar F. Codd.
137
Quais são as regras de Codd que definem o que é necessário para que um Sistema Gerenciador de Banco de Dados (SGBD) seja considerado relacional?
SÃO TREZE REGRAS (13 PORQUE COMEÇA PELO 0) **Regra 00** - Regra Fundamental/Base **Regra 01** - Regra da Informação **Regra 02** - Regra de Garantia de Acesso **Regra 03** - Regra do Tratamento Sistemático de Valores Nulos **Regra 04** - Regra do Catálogo Online baseado no Modelo Relacional **Regra 05** - Regra da Sublinguagem Ampla/Compreensiva de Dados **Regra 06** - Regra da Atualização por meio de Views **Regra 07** - Regra da Inserção, Atualização e Exclusão de Alto Nível **Regra 08** - Regra da Independência Física de Dados **Regra 09** - Regra da Independência Lógica de Dados **Regra 10** - Regra da Independência de Integridade **Regra 11** - Regra da Independência de Distribuição **Regra 12** - Regra da Não-Transposição/Subversão
138
No que consiste a Regra Fundamental/Base (Regra 00)?
Que para que um sistema que seja considerado como um SGBD Relacional, ele deverá gerenciar bancos de dados exclusivamente através de suas capacidades relacionais (tabelas, linhas, colunas, restrições, etc) *Em outras palavras, não é só o armazenamento dos dados em si que deve obedecer a regras relacionais, mas também seu gerenciamento como controle de permissão, catálogo de metadados, controle de concorrência – tudo gerenciado como tabelas.*
139
No que consiste a Regra de Informações (Regra 01)?
Que todas as informações (todas mesmo, inclusive metadados) de um banco de dados relacional devem ser representadas logicamente como dados dentro de colunas pertencentes a registros de uma tabela. *Em outras palavras, existe uma – e apenas uma – maneira de representar os dados: como valores dentro de colunas dentro de registros de uma tabela. *
140
No que consiste a Regra de Garantia de Acesso (Regra 02) diz
Que todos os dados devem ser acessíveis. 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 de coluna. *Em outras palavras, o nome de uma tabela é capaz de identificá-la em um banco de dados; o valor da chave primária permite que eu identifique uma linha específica dessa tabela; e o nome de uma coluna permite que eu encontre um determinado valor dessa linha.*
141
No que consiste a Regra do Tratamento Sistemático de Valores Nulos (Regra 03)?
Que os valores nulos (que são diferentes da cadeira de caracteres vazia, do valor nulo ou de qualquer outro número) são suportados pelo SGBD Relacional para representar informação ausente ou não aplicável e tratados de uma maneira sistemática, independentemente do tipo de dados. *Em outras palavras, o sistema deve ser capaz de tratar sistematicamente valores nulos – não importa se uma determinada coluna armazena um determinado tipo, ela deverá ser capaz de tratar o valor nulo.*
142
No que consiste a Regra do Catálogo Online baseado no Modelo Relacional (Regra 04)?
Que a descrição do banco de dados está representada, no nível lógica, da mesma maneira que os dados comuns, de forma que os usuários autorizados possam aplicar a eles a mesma linguagem relacional de consulta utilizada para consultar dados comuns. *Em outras palavras, o catálogo de dados deve ser armazenado e gerenciado como um dado comum, isto é, em tabelas do banco de dados disponíveis aos usuários autorizados. Trata-se de uma consequência da Regra 0!*
143
No que consiste a Regra da Sublinguagem Ampla/Compreensiva de Dados (Regra )?
Que o Banco de Dados Relacional pode oferecer suporte a múltiplas linguagem e meios de acesso. No entanto, deve existir pelo menos uma linguagem declarativa bem definida com suporte às seguintes operações: (1) definição de dados; (2) definição de views; (3) manipulação de dados; (4) restrições de integridade; (5) autorização; (6) controle de transação.
144
Quais os tipos de sublinguagens do SQL?
(1) DDL (2) VDL (3) DML (4) DCL (5) TCL ou DLC
145
A sublinguagem DDL é utilizada para que função?
Para definição de dados e restrição de dados. *Data Definition Language*
146
A sublinguagem VDL é utilizada para que função?
Para definição de views. *Vview Definition Language*
147
A sublinguagem DML é utilizada para que função?
Manipulação de dados. *Data Manipulation Language*
148
A sublinguagem DCL é utilizada para que função?
Controle e autorização de dados. *Data Control Language*
149
A sublinguagem TCL é utilizada para que função?
Para controle de transação. *Transaction Control Language*
150
Por que a Regra da Sublinguagem Ampla/Compreensiva de Dados é uma linguagem declarativa?
Porque não há uma preocupação em fazer um passo a passo para executar uma rotina – faz-se apenas uma ou mais declarações. O sistema é responsável por executar a rotina da maneira que bem entender.
151
No que consiste a Regra da Atualização por meio de Views (Regra 06)?
Que toda view teoricamente atualizável deve ser também atualizável na prática por meio do sistema.
152
**PARA FIXAR** As views nem sempre podem ser atualizáveis, ou seja, uma alteração na view nem sempre gera uma mudança de estado nas tabelas associadas. No entanto, se uma determinada view for teoricamente atualizável, deverá ser possível atualizá-la via sistema.
153
No que consiste a Regra da Inserção, Atualização e Exclusão de Alto Nível (Regra 07)?
Que a capacidade de gerenciar uma relação base ou uma relação derivada com um só operando se aplica não somente à extração de dados, mas também à inserção, atualização e remoção dos dados. *Em outras palavras, se você é capaz de fazer consultas a um conjunto de dados por meio de comandos de alto nível (isto é, utilizando comandos simples), você também deverá ser capaz de fazer inserções, atualizações e exclusões da mesma maneira).
154
No que consiste a Regra da Independência Física de Dados (Regra 08)?
Que aplicações e recursos permanecem logicamente inalteradas quando ocorrem mudanças no método de acesso ou na forma armazenamento físico. Logo, quando for necessária alguma modificação na forma como os dados são armazenados fisicamente, nenhuma alteração deve ser necessária nas aplicações que fazem uso do banco de dados. Devem também permanecer inalterados os mecanismos de consulta e manipulação de dados utilizado pelos usuários finais.
155
O que são aplicações ad hoc?
Aplicações mais flexíveis de pesquisar informações sobre dados.
156
No que consiste a Regra da Independência Lógica de Dados (Regra 09)?
Que aplicações e recursos ad hoc (que são formas mais flexíveis de pesquisar informações sobre dados) não são afetados logicamente quando de alterações de esquemas de tabela que preservem os valores originais da tabela (alteração da ordem ou inserção de colunas). Alterações nas relações e nas views causam pouco ou nenhum impacto nas aplicações. É possível alterar o esquema conceitual do banco sem ter que modificar os esquemas externos ou aplicações.
157
A Regra da Independência de Integridade (Regra 10)?
Que as aplicações não são afetadas quando ocorrem mudanças nas regras de restrições de integridade. Deve ser possível que todas as regras de integridade sejam definidas na linguagem relacional e armazenadas no catálogo de sistemas e, não, no nível de aplicação. As várias formas de integridade do banco de dados (integridade de entidade, referencial, restrição, etc) precisam ser estabelecidas dentro do catálogo de sistemas e ser totalmente independente da lógica dos aplicativos. *exemplo: um programador não precisará criar regras de restrições de integridade na lógica de programação de uma aplicação específica porque tudo isso é gerenciado pelo SGBD.*
158
A Regra da Independência de Distribuição (Regra11)?
Que aplicações não são logicamente afetadas quando ocorrem mudanças geográficas de dados, ou seja, os usuários finais não devem perceber o fato de o banco de dados ser distribuídos ou local. Sistemas de Banco de Dados Distribuídos podem estar espalhados em diversas plataformas, interligados em rede, e podem, inclusive, estar fisicamente distantes entre si. Essa capacidade de distribuição não pode afetar a funcionalidade do sistema e dos aplicativos que fazem uso do banco de dados. *Em outras palavras, a localização física dos dados não deve ser da preocupação do usuário, ou seja, o usuário não enxerga nem é afetado pela localização dos dados. Ele vai trabalhar com os dados e executar comandos da mesma maneira que faria se todos os dados estivessem armazenados no mesmo servidor e no mesmo local físico dele.*
159
A Regra da Não-Transposição/Subversão (Regra 12)
Que se um sistema possui uma linguagem de baixo nível, essa linguagem não pode ser usada para subverter as regras de restrições e as restrições definidas no nível mais alto. *Em outras palavras, o sistema deve ser capaz de impedir que qualquer usuário ou programador passe por cima de todos os mecanismos de segurança, das regras de integridade do banco de dados e das restrições, utilizando algum recurso ou linguagem de baixo nível que eventualmente possam ser oferecidos pelo próprio sistema.*
160
O que são Linguagens de baixo nível?
Aquelas mais próximas da linguagem do hardware e mais distantes da linguagem do usuário – geralmente são capazes de executar tarefas mais restritas para um programador comum, acessando alguns recursos em nível de hardware.
161
Qual o significado da sigla IDEF1X?
Integration Definition for Information Modeling
162
No que consiste a IDEF1X (Integration Definition for Information Modeling)?
Linguagem/método de modelagem de dados cujo propósito inclui oferecer meios para definir uma visão de dados independente de aplicação que possa ser validada por usuários e que representa a estrutura e a semântica das informações de um sistema.
163
**PARA FIXAR** Embora aplicada no nível conceitual, a IDEF1X incorpora muitas características de modelagem lógico ou projeto de banco de dados.
164
Quais as três estruturas fundamentais do IDEF1X?
Entidades, Atributos e Relacionamentos.
165
O que significa uma entidade com as arestas pontudas ou retas, como da imagem?
Que trata-se de uma entidade independente (forte).
166
O que significa uma entidade com as arestas arredondadas, como da imagem?
Que trata-se de uma entidade dependente (fraca).
167
Como os atributos são identificados?
Pelo seu nome único e domínio respectivo.
168
**PARA FIXAR** O tipo do atributo pode ser identificado entre parênteses: (PK) - chave primária (primary key) (FK) - chave estrangeira (foreign key) (AK) - chave alternativa (alternative key) (O) - representa que um atributo é opcional
169
Onde está localizada a chave primária na tabela?
Na parte de cima da divisão horizontal do retângulo.
170
No que consistem os relacionamentos?
Representam regras ou restrições do ambiente de negócios.
171
Os Relacionamentos podem ser classificados em duas categorias independentes. Quais são?
- relacionamentos identificadores ou não identificadores - relacionamentos mandatórios/obrigatórios ou não mandatórios/não obrigatórios (opcionais).
172
**PARA FIXAR** Relacionamento identificador entre duas entidades (E1 → E2) indica que uma instância de E2 (entidade-filha) não pode ser completamente identificada sem ENTIDADE E1 (entidade pai). *ou seja, uma entidade filha não pode ser completamente identificada sem uma entidade pai* Relacionamento obrigatório entre duas entidades (E1 → E2) indica que a cardinalidade mínima de E1 é 1 (um). *Dessa forma, podemos inferir que um relacionamento identificador sempre será obrigatório. Se uma instância de E2 não pode ser completamente identificada sem uma instância de E1, significa que uma instância de E1 é obrigatória. *
173
Um _relacionamento não identificador_ pode ser classificado em mandatório ou opcional. Quando o relacionamento não identificador será mandatório?
Quando uma instância de E2 não precisa de uma instância de E1 para ser identificado, porém o ambiente de negócios obriga que exista uma instância de E1 associada à instância de E2. *Em outras palavras, a chave primária de E1 se torna chave estrangeira em E2.*
174
Explique porquê as chaves sublinhadas se tratam de um Relacionamento não identificador mandatório.
O Canil (E1) aloja diversos animais (E2), mas que um animal (E2) está alojado em apenas um canil (E1). A chave primária de E1 se torna chave estrangeira de E2. Para identificar um animal não é necessário saber seu canil, no entanto, pelas regras de negócio, o valor da chave estrangeira é obrigatório.
175
Quando um relacionamento não identificador pode ser classificado como opcional (não mandatório/não obrigatório)?
Quando uma instância de E2 não precisa de uma instância de E1 para ser identificado e o ambiente de negócios não impõe nenhuma obrigação que exista uma instância de E1 associada à instância de E2. *Em outras palavras, uma instância de E2 não precisa necessariamente estar associada a uma instância de E1. A chave primária de E1 se torna chave estrangeira em E2. No entanto, essa chave não é necessária para identificar E2 e sequer é obrigatória*
176
As chaves estrangeiras podem ser nulas? Explique de acordo com exemplos que podem ser dados da imagem.
SIM! O Canil (E1) aloja diversos animais (E2), mas que um animal (E2) não precisa estar alojado em um canil (E1). A chave primária de E1 se torna chave estrangeira de E2. Para identificar um animal, é necessário saber seu canil? Não, é possível usar o código do animal. Além disso, a depender das regras de negócio, o valor da chave estrangeira pode ser nulo (opcional).
177
**PARA FIXAR** Nos relacionamentos identificadores, a chave estrangeira fica na parte de cima da linha divisória do retângulo, porque – nesse caso – ela faz parte da chave primária. Ou seja, a chave primária (Canil Código) virou chave estrangeira na tabela Animal (que é outra chave primária). Assim, a chave estrangeira fica localizada no topo da tabela, abaixo da chave primária.
178
**PARA FIXAR** Quando o relacionamento é não identificador, a chave estrangeira fica abaixo da linha divisória do retângulo porque ela não faz parte da chave primárias.
/
179
Quais os tipos de relacionamentos representam os números 1 e 2?
180
Quando um relacionamento será obrigatório?
Quando sua cardinalidade mínima for maior que zero.
181
Quando um relacionamento será opcional?
Quando sua cardinalidade mínima for zero.
182
O que uma cardinalidade P significa?
1 ou mais. *lembrar que vem de P, de **P**ositivo* *ex: um funcionário possui 0, 1 ou mais filhos*
183
O que uma cardinalidade Z significa?
0 ou 1. *ex: Um estudante possui 0 ou 1 BOLSAS DE ESTUDO*
184
O que uma cardinalidade N significa?
Exatamente N. *ex: Um NAVIO possui _exatamente 6 turbinas_.*
185
Como se identifica uma cardinalidade 0, 1 ou mais?
Não há especificação. *ex: Um FUNCIONÁRIO possui 0, 1 ou mais FILHOS. *
186
**PARA FIXAR**
187
Qual o relacionamento representado da imagem?
Um relacionamento identificador muitos para muitos (N:N). *muitos para muitos não pode ser um relacionamento não identificador*
188
Qual o relacionamento representado da imagem?
Zero, um ou muitos.
189
Qual o relacionamento representado da imagem?
Relacionamento não identificador zero, um ou muitos.
190
Qual o relacionamento representado da imagem?
Relacionamento identificador 0 ou 1.
191
Qual o relacionamento representado da imagem?
Relacionamento não identificador 0 ou 1.
192
Qual o relacionamento representado da imagem?
Relacionamento identificador um ou mais.
193
Qual o relacionamento representado da imagem?
Relacionamento não identificador um ou mais.
194
Qual o relacionamento representado da imagem?
Relacionamento identificador um a exatamente N.
195
Qual o relacionamento representado da imagem?
Relacionamento não identificador um a exatamente N.
196
Quando temos um relacionamento não identificador e não obrigatório, a entidade-pai (à esquerda) pode ser zero (relacionamento opcional). Como é representado esse relacionamento opcional?
Por um losango.
197
**ATENÇÃO** Muitas questões simplesmente misturam DER, IDEF1X e Notação Pé-De-Galinha em um mesmo diagrama! Não há nada de errado nisso! Exemplo na imagem.