01 Bancos de Dados Relacionais e Não Relacionais Flashcards

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
Q

Normalização

A

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
Q

Primeira Forma Normal (1FN): eliminação de atributos compostos e/ou multivalorados

A

impede as “relações dentro de relações”

27
Q

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)

A

dois atributos relacionados não podem ficar na mesma tabela

28
Q
CREATE TABLE  (
         ,
          (numero_de_campos),
        CONSTRAINT  PRIMARY KEY ()
);

(clicar em executar pra criar a tabela)

Exemplos de types:
int == integer
varchar == caracteres

A

CREATE TABLE - cria tabela
CONSTRAINT xxxx PRIMARY KEY - cria chave primária

dar preferencia pra usar pk_xxxxx

29
Q

insert into (xxxxxx, yyyyyy) values (X, Y);

A

insere o valor X na coluna xxxxx e valor Y na coluna yyyyy

30
Q

select * from nome_da_tabela

A

gera a tabela com os dados informados

31
Q

smallint ==
char ==
date ==

A

número inteiro de 2 bytes
cadeia de caracteres
data

32
Q
alter table ==
add ==
drop column ==
add constraint e drop constraint ==
drop table ==
A
alterar tabela
adiciona novo atributo
remover atributo
adicionar ou remover constraint
exclui tabela
33
Q

delete

where xxxx = yy

A
x = nome do atributo
y = valor que queremos excluir
34
Q

update
set xxxxx = yyyyy
where zzzzzz = wwww

A

Mudar o atributo X para o valor Y onde o atributo Z tem valor W

35
Q

SELECT nome_atrbituto, atributo2, atributo2 + 100

FROM nome_tabela

A

soma 100 no atributo 2 e cria essa nova coluna

36
Q

SELECT nome_atrbituto, atributo2, atributo2 + 100 as novo_nome_atributo2
FROM nome_tabela

A

mostra tabela com esse novo nome

comandop é o “as” serve pra tudo

37
Q

SELECT nome_atrbituto, atributo2, atributo2 + 100 as novo_nome_atributo2
FROM nome_tabela

A

mostra tabela com esse novo nome

comando é o “as” serve pra tudo
nome disso é alias

38
Q

E

A

pertence ? não entendi

39
Q

Executar scripts pode ter item faltando pra deletar (drop)?

A

Sim

40
Q

select distinct atributo1
from linha

o que faz DISTINCT?

A

não retorna itens duplicados

41
Q

WHERE

A

Condição pra limitar linhas

42
Q

<=
>=
<>

A

Menor igual
Maior igual
Diferente

43
Q

AND
OR
NOT

A

A e B verdadeiros
A e/ou B verdadeiros
A e B falsos

44
Q

LIKE (“parece”)
LIKE ‘%xxxxx%’
LIKE ‘_a%’

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
Q

BETWEEN

NOT IN

A

entre

não está

46
Q
MAX ( )
MIN ( )
AVG ( )
SUM ( )
COUNT (* )
A

máximo, mínimo, média, soma, quantidade de valores

atributo
exceto no count, que usa *

47
Q

GROUP BY

A

Agrupar consulta para determinado atributo

48
Q

HAVING

tipo um WHERE mas que filtra grupos

A

tendo

49
Q

SELECT * ou qualquer coisa
FROM xxxxxxx X join yyyyyy Y on X.atributo1 = Y.atributo1
…. ON

A

junção de duas tabelas

50
Q

SELECT * ou qualquer coisa

FROM xxxxxxx X JOIN yyyyyy Y ON X.atributo1 = Y.atributo1

A

junção de duas tabelas

51
Q

SELECT * ou qualquer coisa

FROM xxxxxxx X LEFT OUTER JOIN yyyyyy Y ON X.atributo1 = Y.atributo1

A

Retorna tudo da esquerda (xxxxx),

da direita só quem faz condição de junção

52
Q

SELECT * ou qualquer coisa

FROM xxxxxxx X RIGHT OUTER JOIN yyyyyy Y ON X.atributo1 = Y.atributo1

A

Retorna tudo da direita (yyyyyy),

da esquerda só quem faz condição de junção

53
Q

SELECT * ou qualquer coisa

FROM xxxxxxx X FULL OUTER JOIN yyyyyy Y ON X.atributo1 = Y.atributo1

A

Retorna tudo da tabela xxxxx e yyyyyyy

54
Q

SELECT * ou qualquer coisa

FROM xxxxxxx X CROSS JOIN yyyyyy Y ON X.atributo1 = Y.atributo1

A

Retorna multiplicação da esquerda por direita (numero de linhas total é linhas da x vezes y)

55
Q

“self join”
SELECT * ou qualquer coisa
FROM xxxxxxx X INNER JOIN xxxxxx X ON X.atributo1 = X.atributo2

A

Junção de tabela com ela mesma

56
Q

round(avg(atributo1),2) from …

A

arredonda duas casas decimais da média do atributo1

poderiam ser 0, 1, 3 casas decimais etc