1. Coleção de dados de uma organização
2. SGBD
2.1. Sistema Gerenciador de Banco de Dados dá acesso ao BD. Não há acesso direto ao BD sem ele
2.1.1. SGBD intermedia recuperação e alterações (CRUD) entre o software e o banco de dados
2.2. Segurança e funcionalidades para os dados são disponibilizados
2.2.1. ACID
2.2.1.1. Atomicidade
2.2.1.1.1. ou uma ação é executada totalmente ou não é
2.2.1.2. Consistência
2.2.1.2.1. a transação muda o estado de todos os dados ou retorna os dados em seu estado anterior
2.2.1.3. Isolamento
2.2.1.3.1. uma operação em andamento ainda não validada deve permanecer isolada, sem interferências de outra transação em paralelo
2.2.1.4. Durabilidade
2.2.1.4.1. em caso de falha ou reiniciação do sistema, os dados mantém seu estado
3. Tipos
3.1. SQL
3.1.1. BDs relacionais, que usam tabelas com linhas e colunas para estruturar os dados de forma fixa e organizada com a linguagem SQL
3.1.1.1. Utilizado para aplicações que exijam relações consistentes entre diferentes tabelas
3.1.1.1.1. Sistemas financeiros, ERP...
3.1.2. SGBDs: MySQL, PostgreSQL, Oracle Database, MariaDB
3.2. NoSQL
3.2.1. BDs não relacionais, não seguem um esquema fixo de tabelas. São flexíveis e escaláveis para grandes volumes de dados
3.2.1.1. Utilizados em aplicações que precisam lidar com dados em crescimento rápido e sem uma estrutura definida
3.2.1.1.1. Redes sociais, análises...
3.2.2. SGBDs: MongoDB, Cassandra, Redis
4. SQL
4.1. Structured Query Language (Linguagem de Consulta Estruturada)
4.1.1. Para gerenciamento de BDs relacionais
4.1.1.1. Permite criar, manipular e consultar dados
4.1.1.1.1. Usada e suportada por vários SGBDs
4.2. Importância
4.2.1. Gerenciamento de dados
4.2.1.1. Manipulação de dados é facilitada
4.2.2. Análise de dados
4.2.2.1. Extração e transformação de dados é possível, o que guia a tomada de decisões em negócios
4.2.3. Mercado de trabalho
4.2.3.1. Habilidade requisitada nas áreas de TI, análise de dados, desenvolvimento web
4.2.4. Integração com outras ferramentas
4.2.4.1. SQL é compatível com outras linguagens de programação, como R, Python e bibliotecas de big data como Apache Spark
4.3. Principais comandos
4.3.1. DDL (Data Definition Language)
4.3.1.1. Define estrutura do BD
4.3.1.1.1. CREATE
4.3.1.1.2. ALTER
4.3.1.1.3. DROP
4.3.1.1.4. TRUNCATE
4.3.2. DML (Data Manipulation Language)
4.3.2.1. Manipula dados nas tabelas
4.3.2.1.1. INSERT
4.3.2.1.2. UPDATE
4.3.2.1.3. DELETE
4.3.3. DQL (Data Query Language)
4.3.3.1. Consulta dados
4.3.3.1.1. SELECT
4.3.4. DCL (Data Control Language)
4.3.4.1. Controla acesso ao BD
4.3.4.1.1. GRANT
4.3.4.1.2. REVOKE
4.3.5. TCL (Transaction Control Language)
4.3.5.1. Gerencia transações
4.3.5.1.1. COMMIT
4.3.5.1.2. ROLLBACK
4.3.5.1.3. SAVEPOINT