Introdução
Link para Introdução a Banco de Dados
- Tabelas: entidades compostas por linhas (registros), colunas (atributos) e chaves.
- Linhas: Cada linha é um conjunto de dados separados em colunas, representando um objeto.
- Colunas: São os atributos do registro (linha, objeto).
- Chaves: Identificação e relacionamento entre as entidades.
- Primary Key: Indentificador único de um registro na tabela, pode ser simples ou composto. Não pode ser NULL
- Foreign Key: Chave primária de outra tabela. pode ser NULL
- SQL (Structured Query Language)
- Schema rigido e bem definido
Conceito ACID
- Atomicidade Consistência dos dados. Parte do principio que determinado dado é único e não pode estar em duplicidade em nenhum outro lugar. Menor tabela possível.
- Consistência Sem dados perdidos, sem dados duplicados ou alterados não permitidas.
- Isolamento Separação de conceitos.
- Durabilidade Dados não usados depois de um certo tempo param de ser indexados e vão para uma espécie de Arquivo Morto.
Mas ao acessarmos novamente é como se voltassem a vida.
Integridade
Normalização
Para evitar redundâncias.Relacionamentos
Migration
Criar as estruturas via código na app.- Versionamento de schema
- Controle de alterações
- Deploy automático
Seeds
Para popular database.- Pode ser usada para dados de teste ou valores pré-definidos
- Pode ser adicionada ao deploy automático
Ferramentas
- MySQL: Banco de dados relacional gratuíto
- MariaDB: É irmão (fork) do MySQL. A diferença entre eles é minima
- phpMyAdmin: Sistema gerenciador de banco de dados. Acesso: http://localhost/phpmyadmin
- MySQL Workbench: Sistema gerenciador de banco de dados
- XAMPP: É uma pilha de aplicações que envolve: Apache, MySQL, phpMyAdmin e servidor FTP
- HeidiSQL: Sistema gerenciador de banco de dados.
Exemplificações serão realizadas com MySQL
Connection
mysql -h HOST -P 3306 -u user_name -p
- -h é o host, por exemplo, localhost ou 127.0.0.1
- -P (maiusculo) é a porta do banco no servidor, por padrão, 3306
- -u nome do usuárop do banco de dados
- -p (minusculo) senha do usuário