01 Bancos de Dados Relacionais e Não Relacionais Flashcards

(56 cards)

1
Q

Quem e quando foram criados os Bancos de Dados Relacionais?

Quais os 3 SGBDs (Sistema de Gerenciamente de Bancos de Dados) mais conhecidos nos dias atuais?
SGBDs relacionais mais conhecidos hoje são

A

Edgar Codd 1970 IBM

MySQL (Oracle)
Oracle (Oracle)
SQL Server (Microsoft)

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

Cite características do Modelo de Relacional

A

Organizado em tuplas, normalizado e possui integridade referencial

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

Descreva as 4 conceitos básicos do banco de dados relacional (ACID):

A

Atomicidade (a transação é executada totalmente ou não é executada = 0 ou 1)
Consistência (sistema sempre consistente após uma operação, “mudanças são imediatas”)
Isolamento (transação não sofre interferência de outra transação concorrente)
Durabilidade (o que foi salvo não é mais perdido)

Força a consistência ao final de cada transação

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

Um banco de dados é uma coleção de dados relacionados e acessíveis
Os dados são fatos que podem ser gravados e possuem um significado implícito
3 tipos de dados que podem ser armazenados:

A

Estruturados (“tabela”)

Semiestruturados

Desestruturados (“vídeo)

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

Pacote de software que facilita a criação e manutenção de um banco de dados?

A

SGBDs (Sistema de Gerenciamente de Bancos de Dados)

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

Programa para manipular banco de dados + Banco de dados == ?

A

Sistema de Banco de Dados

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

Vantagens do SGDB

A

Processamento eficiente de consultas
Podemos usar índeces (“indexes”) pra fazer isso ainda mais rápido
Baseado em estruturas de dados (árvores == “trees”)
Facilita backup / recuperação
Força para que cada dado seja do tipo correto

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

Modelo de dados?

A

Conjunto de conceitos que se usa para descrever a estrutura do Banco de Dados (BD) e certas restrições que o banco deve garantir.

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

Quais as 3 categorias de modelos de dados?

A

Conceituais (alto nível) - conceitos que descrevem os dados como os usuários percebem / baseado em entidades, atributos e relacionamentos (independentes de SGDB)

Físicos

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

Quais as 3 categorias de modelos de dados?

A

Conceituais (alto nível) - conceitos que descrevem os dados como os usuários percebem / baseado em entidades, atributos e relacionamentos (independentes de SGDB) - alta abstração (conseguimos puxar muito)

Físicos (baixo nível) - conceitos que descrevem como os dados estão armazenados no computador (tipos e tamanho de registros)

Dados lógicos (representativos ou de implementação) - “intermediário” entre os 2 anteriores - modelo relacional é um exemplo

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

Defina esquemas.

A

Descrição da estrututra de um banco de dados.
(textual ou gráfica).
Diagrama esquemático apresenta a estrutura de cada tipo de registro, mas não as instâncias reais dos registros.

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

Defina Instâncias ou Snapshots.

A

A cada novo registro inserido ou removido, o estado (instância) do banco se altera.

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

5 subgrupos de linguage SQL?

A

Linguagem de Definição de Dados (DDL - Data Denition Language): usada para definição dos esquemas

Linguagem de Manipulação de Dados (DML - Data Manipulation Language): utilizada pelos usuários para incluir, alterar, excluir, etc

Linguagem de Controle de Dados (DCL - Data Control Language) - utilizada para conceder e retirar privilégios de usuários de BD em objetos de BD (grant, revoke)

Linguagem de Consulta de Dados (DQL - Data Query Language) - recuperação de dados (???)

Linguagem de Controle de Transação (TCL - Transaction Control Language) - utilizada para lidar com transações no banco de dados

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

Simplicidade, Eficiência, Formal, teoria matemática das relações entre conjuntos + álgebra

Representa entidade e relacionamento

Linguagem unificada para definição e manipulação de dados

A

Modelo Relacional

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

Tupla ==

A

Linha

Cada linha representa uma entidade ou relacionamento do mundo real

Cada uma pode ser interpretada como um fato, uma determinada instância da afirmação

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

Atributo ==

A

Coluna

As colunas são atributos que dão valores a cada linha

Podem existir atributos multivalorados (ex: mais de um telefone)

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

Relação ==

A

Tabela

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

Domínio ==

A

Conjunto de valores que um atributo pode ter

Conjunto de valores indivisíveis (atômicos) que um atributo pode ter

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

O que é definido como conjunto mínimo de valores dos atributos que identifica unicamente uma tupla (linha).
Garante restrição de unicidade!

A

Chave

podem existir chaves compostas

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

O que é definido como conjunto mínimo de valores dos atributos que identifica unicamente uma tupla (linha).
Garante restrição de unicidade!

A

Chave

podem existir chaves compostas
Não pode ter valor nulo

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

Um atributo em um coluna pode ser não chave, mas pode fazer referência a uma coluna chave de outra tabela. Usamos o nome Chave Estrangeira ou Foreign Key (FK) para este tipo de atributo. Quais são as 2 regras que estas devem seguir?

A

Os atributos de FK de R1 têm o mesmo domínio da PK de R2

Um Valor de FK de uma tupla T1 deve ser igual a um valor de PK para uma tupla T2 ou ser null (nulo)

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

Quais as operações básicas para atualizar as relações?

A

INSERT (Inserir)
UPDATE (Alterar)
DELETE (Excluir)

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

3 comportamentos quando uma operação de exclusão causa uma violação da integridade?

A

Bloqueio (restrict) - não deixa excluir
Propagação (cascade) - propaga a exclusão
Substituição por nulo (set null) - modifica para nulo as referenciadas

24
Q

Entidades x Relacionamentos no banco de dados

A

Lembrar do vídeo…
se N pra N tem que fazer nova tabela
1 pra N, N pra 1, 1 pra 1, etc
N significa mais de 1

25
Normalização
Esquemas de relação são decompostos Avalia cada relação sob os critérios de cada forma normal e as decompõe Uma relação R está normalizada (ou seja, nas 3FNs) se todos os seus atributos são dependentes exclusivamente de suas chaves
26
Primeira Forma Normal (1FN): eliminação de atributos compostos e/ou multivalorados
impede as "relações dentro de relações"
27
Segunda Forma Normal (2FN): uma relaçao R está na 2FN se todo atributo de R não pertencente a uma de suas chaves for totalmente dependente da chave primária (mesmo ela sendo composta)
dois atributos relacionados não podem ficar na mesma tabela
28
``` CREATE TABLE ( , (numero_de_campos), CONSTRAINT PRIMARY KEY () ); ``` (clicar em executar pra criar a tabela) Exemplos de types: int == integer varchar == caracteres
CREATE TABLE - cria tabela CONSTRAINT xxxx PRIMARY KEY - cria chave primária dar preferencia pra usar pk_xxxxx
29
insert into (xxxxxx, yyyyyy) values (X, Y);
insere o valor X na coluna xxxxx e valor Y na coluna yyyyy
30
select * from nome_da_tabela
gera a tabela com os dados informados
31
smallint == char == date ==
número inteiro de 2 bytes cadeia de caracteres data
32
``` alter table == add == drop column == add constraint e drop constraint == drop table == ```
``` alterar tabela adiciona novo atributo remover atributo adicionar ou remover constraint exclui tabela ```
33
delete | where xxxx = yy
``` x = nome do atributo y = valor que queremos excluir ```
34
update set xxxxx = yyyyy where zzzzzz = wwww
Mudar o atributo X para o valor Y onde o atributo Z tem valor W
35
SELECT nome_atrbituto, atributo2, atributo2 + 100 | FROM nome_tabela
soma 100 no atributo 2 e cria essa nova coluna
36
SELECT nome_atrbituto, atributo2, atributo2 + 100 as novo_nome_atributo2 FROM nome_tabela
mostra tabela com esse novo nome comandop é o "as" serve pra tudo
37
SELECT nome_atrbituto, atributo2, atributo2 + 100 as novo_nome_atributo2 FROM nome_tabela
mostra tabela com esse novo nome | comando é o "as" serve pra tudo nome disso é alias
38
E
pertence ? não entendi
39
Executar scripts pode ter item faltando pra deletar (drop)?
Sim
40
select distinct atributo1 from linha o que faz DISTINCT?
não retorna itens duplicados
41
WHERE
Condição pra limitar linhas
42
<= >= <>
Menor igual Maior igual Diferente
43
AND OR NOT
A e B verdadeiros A e/ou B verdadeiros A e B falsos
44
LIKE ("parece") LIKE '%xxxxx%' LIKE '_a%'
Procura todo xxxxx, não interessa o que vem antes ou depois Procura tudo com 2a letra a, nao interessa o antes (um _) ou depois (%, quantos quiser)
45
BETWEEN | NOT IN
entre | não está
46
``` MAX ( ) MIN ( ) AVG ( ) SUM ( ) COUNT (* ) ```
máximo, mínimo, média, soma, quantidade de valores | atributo exceto no count, que usa *
47
GROUP BY
Agrupar consulta para determinado atributo
48
HAVING | tipo um WHERE mas que filtra grupos
tendo
49
SELECT * ou qualquer coisa FROM xxxxxxx X join yyyyyy Y on X.atributo1 = Y.atributo1 .... ON
junção de duas tabelas
50
SELECT * ou qualquer coisa | FROM xxxxxxx X JOIN yyyyyy Y ON X.atributo1 = Y.atributo1
junção de duas tabelas
51
SELECT * ou qualquer coisa | FROM xxxxxxx X LEFT OUTER JOIN yyyyyy Y ON X.atributo1 = Y.atributo1
Retorna tudo da esquerda (xxxxx), | da direita só quem faz condição de junção
52
SELECT * ou qualquer coisa | FROM xxxxxxx X RIGHT OUTER JOIN yyyyyy Y ON X.atributo1 = Y.atributo1
Retorna tudo da direita (yyyyyy), | da esquerda só quem faz condição de junção
53
SELECT * ou qualquer coisa | FROM xxxxxxx X FULL OUTER JOIN yyyyyy Y ON X.atributo1 = Y.atributo1
Retorna tudo da tabela xxxxx e yyyyyyy
54
SELECT * ou qualquer coisa | FROM xxxxxxx X CROSS JOIN yyyyyy Y ON X.atributo1 = Y.atributo1
Retorna multiplicação da esquerda por direita (numero de linhas total é linhas da x vezes y)
55
"self join" SELECT * ou qualquer coisa FROM xxxxxxx X INNER JOIN xxxxxx X ON X.atributo1 = X.atributo2
Junção de tabela com ela mesma
56
round(avg(atributo1),2) from ...
arredonda duas casas decimais da média do atributo1 poderiam ser 0, 1, 3 casas decimais etc