Banco de dados

Table of Contents

Capítulo 1

Conceito Descrição
Dado Fatos brutos e isolados que representam uma informação básica.
Informação Conjunto de dados organizados e processados que adquirem significado e se tornam úteis para a tomada de decisões.
Banco de Dados (BD) Local onde os dados de uma aplicação são armazenados de forma estruturada.
Sistema Gerenciador de Banco de Dados (SGBD) Software que permite aos usuários interagir com os dados armazenados no banco de dados, fornecendo ferramentas para acessar, manipular e gerenciar as informações.
Modelagem de Dados Processo de representação visual e conceitual da estrutura de um banco de dados, mostrando as entidades, seus atributos e as relações entre elas.
Modelo Conceitual Representação abstrata e de alto nível de um banco de dados, focando nas entidades, seus atributos e as relações entre elas, independente da implementação física ou do SGBD utilizado.
Modelo Lógico Descreve o banco de dados no nível do SGBD escolhido, definindo as tabelas, colunas, tipos de dados e restrições de integridade, considerando as características específicas do SGBD.
Modelo Físico Detalha como o banco de dados será implementado fisicamente no sistema de armazenamento, definindo a organização dos arquivos, índices, tamanho dos campos e outros aspectos físicos.
Entidade Representação abstrata de um objeto do mundo real sobre o qual queremos armazenar informações em um banco de dados.
Campo (Atributo) Característica específica de uma entidade, armazenando um tipo específico de dado, como nome, data de nascimento, endereço, etc.
Relacionamento Associação entre duas ou mais entidades, representando como elas se conectam e interagem no modelo de dados.
Chave Primária (PK) Campo ou conjunto de campos que identifica unicamente cada instância de uma entidade.
Chave Estrangeira (FK) Campo em uma tabela que se relaciona com a chave primária de outra tabela, estabelecendo um link entre as entidades.
Cardinalidade Define a quantidade de instâncias de uma entidade que podem estar relacionadas a instâncias de outra entidade em um relacionamento.
Entidade Associativa Criada para representar um relacionamento muitos-para-muitos (N:N) entre duas entidades, contendo as chaves estrangeiras de ambas as entidades.

Capítulo 2

Conceito Descrição
Modelo Relacional Modelo de dados adequado para um SGBD específico, baseado no princípio de que todos os dados estão armazenados em tabelas.
Tupla Conjunto horizontal de dados presentes nos atributos, similar a um registro ou linha em uma tabela.
Atributo Nome que identifica o dado armazenado em um banco de dados, equivalente a uma coluna em uma tabela.
Domínio Tipo de dado (inteiro, caractere, decimal, data, etc.) que define o tamanho, os valores permitidos e os padrões de validação para um atributo.
Relação Conjunto de tuplas que formam uma tabela, representando um objeto específico dentro do banco de dados.
Álgebra Relacional Linguagem formal de consulta que permite manipular relações (tabelas) através de operadores, como seleção, projeção e junção, para obter um resultado desejado.
Operador de Seleção (Where) Seleciona um subconjunto de tuplas de uma relação com base em uma condição pré-estabelecida, similar à aplicação de um filtro em uma tabela.
Operador de Projeção (Select) Retorna apenas colunas específicas de uma relação, similar a escolher quais colunas exibir em uma tabela.
Restrições de Integridade Regras aplicadas a um banco de dados para garantir a qualidade, consistência e confiabilidade dos dados armazenados.
Chave Primária Atributo ou conjunto de atributos que identifica unicamente cada tupla em uma relação, garantindo que não haja registros duplicados.
Chave Estrangeira Atributo em uma tabela que se relaciona à chave primária de outra tabela, estabelecendo um link entre as entidades e garantindo a integridade referencial.
Chave Composta Chave primária formada por dois ou mais atributos, geralmente utilizada em entidades associativas que representam relacionamentos muitos-para-muitos (N:N).
Normalização Processo de organização das relações (tabelas) em um banco de dados para reduzir a redundância de dados e melhorar a integridade dos dados.
Formas Normais (FN) Conjunto de regras e restrições que orientam o processo de normalização, sendo as três primeiras (1FN, 2FN, 3FN) as mais utilizadas na prática.
Modelo Físico Fase final do projeto de banco de dados, onde o modelo lógico é adaptado para um SGBD específico, definindo a organização física dos dados em disco, os tipos de dados, índices e outros aspectos de armazenamento.
Schema Agrupamento lógico de objetos (tabelas, índices, etc.) em um banco de dados, geralmente relacionado a uma área de negócio específica.
Modelagem Dimensional Técnica de modelagem utilizada principalmente em Data Warehouses e Data Marts para otimizar a análise de grandes volumes de dados.
Tabela Dimensão Tabela que descreve e classifica os fatos (medidas) em uma modelagem dimensional, contendo atributos descritivos, como nome do produto, data da venda, etc.
Tabela Fato Tabela que armazena as medidas (fatos) de negócio em uma modelagem dimensional, geralmente com dados numéricos e aditivos, como quantidade vendida, valor total da venda, etc.
SQL (Structured Query Language) Linguagem padrão utilizada para comunicação com bancos de dados relacionais, permitindo criar, consultar, manipular e controlar o acesso aos dados.

Capítulo 3

Conceito Descrição
Tipo de Dado Define o padrão de informação que um objeto pode armazenar, como colunas em tabelas, parâmetros em procedimentos, variáveis e funções.
Tipo Numérico Armazenam valores inteiros, de ponto flutuante (sem limite na precisão e escala) ou de ponto fixo (com limite na precisão e escala). Exemplos: `bit`, `tinyint`, `int`, `float`, `decimal`.
Tipo Cadeia de Caracteres (String) Podem ser valores binários (`binary`, `varbinary`, `blob`) ou não binários (`char`, `varchar`, `text`). O tipo `varchar` é mais econômico pois só ocupa o espaço realmente utilizado.
Tipo Valor Temporal Armazenam dados de data e hora. Exemplos: `date`, `time`, `datetime`, `timestamp`, `year`.
Chave Primária (PK) Identificador único de uma linha em uma tabela. Não pode conter valores nulos.
Chave Estrangeira (FK) Faz referência à chave primária de outra tabela, estabelecendo um relacionamento entre elas.
Chave Única (UK) Garante a exclusividade de uma coluna em uma tabela, similar à chave primária, mas permitindo múltiplas declarações por tabela.
Chave Composta Uma chave primária formada por múltiplas colunas.
Restrição Regra que garante a integridade dos dados em um banco de dados. Pode ser aplicada em nível de coluna ou de tabela.
Not Null Impede que uma coluna aceite valores nulos.
Check Define regras específicas para os valores de uma coluna. No MySQL, essa restrição é ignorada.
Default Define um valor padrão para uma coluna caso nenhum valor seja informado.
Autoincrement Gera automaticamente um número inteiro sequencial e incremental para uma coluna, geralmente utilizado em chaves primárias.
Unsigned Impede que uma coluna do tipo inteiro aceite valores negativos.
Zerofill Preenche automaticamente com zeros os espaços não utilizados em uma coluna numérica.
Comandos SQL Instruções utilizadas para interagir com o banco de dados. O texto aborda comandos como: `create database`, `create table`, `insert`, `select`, `drop`, `alter table`.

Capítulo 4

Conceito Descrição
DML (Data Manipulation Language) Linguagem utilizada para manipular os dados armazenados em um banco de dados, incluindo operações de inclusão, modificação, exclusão e consulta de dados.
INSERT Comando SQL utilizado para inserir novos registros em uma tabela.
Sintaxe Simplificada do INSERT Permite inserir valores em todas as colunas da tabela, seguindo a ordem de declaração das mesmas, sem a necessidade de especificar os nomes das colunas. No entanto, essa sintaxe não pode ser utilizada em tabelas com colunas que possuem a cláusula `autoincrement`.
INSERT com Colunas Específicas Permite inserir dados em colunas específicas de uma tabela. É necessário especificar os nomes das colunas que receberão os valores.
Chave Estrangeira (FK) em INSERT Ao inserir dados em uma tabela com chave estrangeira, o valor referenciado pela FK deve existir na tabela de origem (tabela "pai").
Subquery em INSERT Permite utilizar um comando `SELECT` aninhado (subquery) para inserir dados na tabela, tornando a operação mais dinâmica e otimizada.
DELETE Comando SQL utilizado para excluir registros de uma tabela.
Cláusula WHERE em DELETE Essencial para filtrar as linhas que serão excluídas, evitando a exclusão acidental de todos os registros da tabela.
Subquery em DELETE Assim como no `INSERT`, o `DELETE` permite o uso de subqueries para tornar o processo de exclusão mais otimizado.
TRUNCATE Comando similar ao `DELETE` que remove todos os registros de uma tabela. É mais rápido que o `DELETE`, mas possui limitações, como a impossibilidade de usar triggers, cascade e replicações.
ON DELETE NO ACTION Declaração padrão para chaves estrangeiras que impede a exclusão de registros na tabela "pai" que estejam relacionados com registros na tabela "filha", garantindo a integridade referencial.
ON DELETE CASCADE Declaração para chaves estrangeiras que permite a exclusão em cascata. Ao excluir um registro na tabela "pai", os registros relacionados na tabela "filha" também são excluídos.
UPDATE Comando SQL utilizado para atualizar registros existentes em uma tabela.
Cláusula SET em UPDATE Utilizada para especificar as colunas que serão atualizadas e seus novos valores.
Cláusula WHERE em UPDATE Recomendada para filtrar os registros que serão atualizados, similar ao `DELETE`.
Subquery em UPDATE Permite utilizar um comando `SELECT` aninhado para atualizar dados na tabela.
ON UPDATE NO ACTION Declaração padrão para chaves estrangeiras que impede a atualização de valores na tabela "pai" que estejam sendo utilizados como chave estrangeira na tabela "filha".
ON UPDATE CASCADE Permite a atualização em cascata. Ao atualizar um valor na tabela "pai", os registros relacionados na tabela "filha" também são atualizados.
Operadores Lógicos Utilizados para combinar condições em uma consulta. Os operadores lógicos são `AND`, `OR` e `NOT`.
Operadores Relacionais Utilizados para comparar valores em uma consulta. Exemplos: `=`, `<>`, `>`, `<`, `>=`, `<=`, `IN`, `NOT IN`, `LIKE`, `BETWEEN`, `IS NULL`, `EXISTS`, `ANY`, `ALL`.
Operadores Aritméticos Utilizados para realizar operações matemáticas em uma consulta. Os operadores aritméticos são `+`, `-`, `*` e `/`.
ORDER BY Cláusula utilizada para ordenar os resultados de uma consulta em ordem crescente (`ASC`) ou decrescente (`DESC`).
JOIN Operação que permite combinar dados de múltiplas tabelas em uma única consulta.
Tipos de JOIN Inner Join, Outer Join (Left Join, Right Join, Full Join), Cross Join e Self Join.
ALIAS Recurso que permite renomear tabelas ou colunas em uma consulta, tornando o código mais legível e intuitivo.
LIMIT Cláusula utilizada para limitar o número de linhas retornadas em uma consulta.
DISTINCT Cláusula utilizada para retornar apenas valores únicos em uma consulta, eliminando duplicatas.
CASE Estrutura utilizada para criar condicionais dentro de uma consulta, permitindo executar diferentes ações com base em diferentes condições.
UNION Operador utilizado para combinar o resultado de múltiplas consultas `SELECT` em um único conjunto de resultados.
UNION ALL Similar ao `UNION`, mas inclui todas as linhas, incluindo duplicatas.

Capítulo 5

Conceito Descrição
Subqueries Linhas de comando `select` aninhadas dentro de outros comandos SQL (como `select`, `insert`, `update` ou `delete`), que otimizam consultas e permitem a execução de operações complexas.
Operadores Relacionais em Subqueries Utilizados em conjunto com subqueries para comparar valores retornados pela subquery com a consulta principal. Exemplos: `=`, `>`, `<`, `>=`, `<=`.
Operador `IN` Verifica se um valor presente em uma coluna corresponde a um dos valores retornados por uma subquery ou lista.
Operador `EXISTS` Testa a existência de resultados em uma subquery, retornando verdadeiro (true) se houver pelo menos uma linha resultante, caso contrário, retorna falso (false).
Operador `ANY` Recupera registros da consulta principal que satisfaçam a condição de comparação com qualquer um dos registros retornados pela subquery.
Operador `ALL` Recupera apenas os registros da consulta principal que satisfaçam a condição de comparação com todos os registros retornados pela subquery.
Subquery Correlacionada Subquery que depende da consulta externa para cada linha avaliada, usando um alias da tabela externa na sua própria cláusula `WHERE`.
Funções de Formatação de Dados Textuais Funções do MySQL que manipulam dados do tipo texto, incluindo conversão de maiúsculas e minúsculas, remoção de espaços em branco e extração de partes de strings. Exemplos: `length()`, `upper()`, `lower()`, `trim()`, `substring()`, `replace()`.
Funções de Formatação de Dados Numéricos e Temporais Funções do MySQL que manipulam dados numéricos, de data e hora, como arredondamento, truncamento, extração de partes de datas e cálculos com datas. Exemplos: `round()`, `truncate()`, `curdate()`, `now()`, `date()`, `day()`, `month()`, `year()`, `adddate()`, `datediff()`.
Funções de Agregação/Extração de Dados Funções que sumarizam informações de um conjunto de linhas, como contagem, soma, média, valor mínimo e valor máximo. Exemplos: `count()`, `sum()`, `min()`, `max()`, `avg()`.
Cláusula `GROUP BY` Agrupa linhas com valores idênticos em uma ou mais colunas, permitindo a aplicação de funções de agregação nos grupos formados.
Cláusula `HAVING` Filtra os resultados de uma consulta que usa `GROUP BY`, aplicando condições aos grupos formados.
Segurança de Dados Conjunto de mecanismos que visam prevenir acessos não autorizados aos dados, garantindo a confidencialidade e protegendo informações sensíveis.
Segurança Lógica Controle de acesso a nível de usuário e permissões, definindo quem pode realizar quais operações no banco de dados.
Segurança Física Medidas que protegem o hardware e a infraestrutura do banco de dados contra danos físicos, como falhas de energia ou desastres naturais.
Integridade de Dados Conjunto de regras que garantem a precisão, consistência e validade dos dados armazenados no banco de dados.
Integridade Declarativa Implementada através de restrições definidas na estrutura do banco de dados, como chaves primárias, chaves estrangeiras e tipos de dados.
Integridade Procedural Implementada através de código, como triggers, stored procedures e funções, que validam dados e garantem a integridade em situações mais complexas.

Capítulo 6

Conceito Descrição
Índices Estruturas que aceleram a busca e recuperação de linhas em tabelas, otimizando consultas.
Tipos de Índices * Clustered: organiza a tabela pela coluna indexada (ex: chave primária). Só pode haver um por tabela. <br> * Non-clustered: ponteiros para os dados, não os reorganiza (ex: chave estrangeira).
Visão (View) Retorna dados de uma consulta salva, simplificando acesso e aumentando segurança.
Transações Conjunto de operações como bloco único, garantindo integridade via "tudo ou nada" - sucesso total ou rollback.
Propriedades ACID Atomicidade, Consistência, Isolamento, Durabilidade - garantem confiabilidade e integridade.
Problemas de Concorrência Leitura suja, não repetida, fantasma, atualização perdida - surgem em acessos simultâneos.
Níveis de Isolamento Read uncommitted, committed, repeatable read, serializable - definem a proteção contra problemas de concorrência.
Triggers Ações disparadas por eventos em tabelas (inserção, atualização, exclusão), antes ou depois.
Stored Procedures Blocos de código SQL reutilizáveis, executados pelo SGBD, para tarefas repetitivas, melhorando segurança e consistência.
Functions Como procedures, mas retornam valor(es), úteis para tarefas específicas, usáveis em outros comandos SQL.
Cursores Permitem percorrer linha a linha o resultado de um SELECT, útil para operações em registros individuais.

Observações…

Como organizei o conteúdo desta página

Esta página contém resumos dos principais conceitos de banco de dados extraídos de arquivos no formato PDF com a ferramenta NotebookLM.

De forma simples, enviei os arquivos para o NotebookLM e pedi os resumos com os seguintes comandos:

Organize uma tabela com os principais conceitos do texto. Na primeira coluna, o nome do conceito e na segunda, o conceito em si.

A partir do segundo pedido, usei o comando:

Repita o processo anterior para este texto.

No terceiro pedido, recebi a mensage de:

O comando fornecido solicita que o processo anterior seja repetido. No entanto, não há processo anterior no histórico de conversas fornecido. [Me] Para obter uma resposta abrangente, forneça o processo anterior que você gostaria que fosse repetido.

Desta forma, alternei entre o primeiro e segundo comando até o último arquivo, que veio com a formatação Markdown deformada. Então, pedi uma última revisão com o comando:

Refaça a tabela para uma melhor formatação em Markdown.

A publicação final continua uma exportação simples, do formato org mode para HTML, usando o Emacs.

Voltar para o início…

Author: Jackson de Jesus

Created: 2024-08-26 seg 10:26

Validate