Banco de Dados: 1. Conceitos Gerais: Acesso Sequencial Acesso Direto
Banco de Dados: 1. Conceitos Gerais: Acesso Sequencial Acesso Direto
1. Conceitos Gerais:
Acesso Sequencial - Registros acessados sequencialmente.
Tipos de modelo
1 - Dados Hierárquicos
2 - Modelo em Rede - Não tem isso de hierarquia, ligados de uma forma de rede inteligente.
DDL (Data Definition Language) e DML (Data Manipulation Language) são subconjuntos
dados.
A DDL é utilizada para definir e modificar a estrutura de um banco de dados. Ou seja, ela é
responsável por criar, alterar e excluir objetos como tabelas, índices, views e outras estruturas
○ CREATE TABLE clientes (id INT PRIMARY KEY, nome VARCHAR(100), email
VARCHAR(100));
A DML é utilizada para manipular os dados dentro das tabelas de um banco de dados. Com ela,
Resumindo
DML Manipula os dados dentro das tabelas INSERT, UPDATE, DELETE, SELECT
Em resumo:
● DML é como mobiliar e utilizar a casa: coloca os móveis, decora e realiza as atividades
do dia a dia.
Somatório auto_increment
Criar tabela com base em uma condição de dreate table if not exists nome_tabela ():
que só pode se não existir
DELETE - DML
Restrição - > NOT NULL; limit - vai limitar tantas vezes aquilo pode rodar.
create table pessoas(nome varchar(30), idade tinyint, peso float, sexo char(1), altura float,
nacionalidade varchar(20));
use cadastro;
Primeiro, vamos excluir a tabela de cadastro, utilizando drop database nome_banco. Criar
novamente o database, depois, vamos adicionar 2 parâmetros que vão se chamar constraints
(default character set utf8mb3) que vai meio que padronizar com a nossa acentuação, e o outro
collation (default collate utf8_general_ci).
Depois, vamos novamente criar aquela tabela. Mas antes, vamos lembrar que teremos que
substituir o atributo de idade e botar como nascimento. Assim, vai ficar mais otimizado. E no
final, antes de encerrar o comando, botaremos novamente o utf8. Sendo assim, ficará nesse
momento assim:
create table pessoas (
nome
nascimento
sexo
peso
altura
nacionalidade
) default charset = utf8mb3;
No atributo nome, vamos aprimorar ele adicionando o comando not null, ou seja, vamos
dizer que aquele campo não pode ficar vazio, é obrigatório. O nascimento levará somente o tipo
de dado date. O sexo, vai ser o tipo de dado enum(‘M’, ‘F’), ou seja, to dizendo que vou aceitar
somente M ou F, tornando o recebimento dos dados mais rígido. Logo depois no peso, vai ser
decimal(5,2). Isso quer dizer que vamos ter 5 espaços e 2 deles, vão ser depois da vírgula. A
altura vai seguir a mesma lógica. Vai ser: decimal(3, 2), então 3 espaços e dois depois da vírgula.
E por fim, teremos a nacionalidade que vai seguir com o varchar(20), só que com um default
‘Brasil’, que caso o usuário não digite nada, fique como padrão o brasil. Campos com acento,
espaço utilizas-se crase. Lembrando, que não é obrigatório essa crase.
create table `pessoas` (
`nome` varchar(30) not null,
`nascimento` date,
`sexo` enum('M', 'F'),
`peso` decimal(5,2),
`altura` decimal(3, 2),
`nacionalidade` varchar(20) default 'Brasil'
) default charset = utf8;
Porém, vem um problema. Não podemos ter 1 mesma pessoa sendo adicionada mais de 1
vez. Com isso, vem o identificador único. Colocaremos ele como atributo dentro da tabela de
pessoas. Ele vai ser int e não pode ficar vazio. E abaixo uma função de chave primária recebendo
esse id como argumento.
create table `pessoas` (
`id` int not null auto_increment,
`nome` varchar(30) not null,
`nascimento` date,
`sexo` enum('M', 'F'),
`peso` decimal(5,2),
`altura` decimal(3, 2),
`nacionalidade` varchar(20) default 'Brasil',
primary key(id)
) default charset = utf8mb3;
Inserindo dados
Para inserir os dados, primeiro, vamos separar todos os atributos dentro de uma lista e
depois em outra linha, inserir os dados.
Só que para isso funcionar, entrará em ação o insert into nome_tabela e depois os valores,
values retirando também o id, já que é um auto implement:
insert into pessoas
(nome, nascimento, sexo, peso, altura, nacionalidade)
values
('Rannyzita', '2007-06-02', 'F', '45.0', '1.50', 'Brasil');
Se nos values estiver com a mesma ordem da tabela, podemos emitir a linha de
constantes.
insert into pessoas values
(default, 'Bianca', '2007-09-17', 'F', '45.7', '1.57', 'Brasil');
Podemos inserir dados mais simplificados caso a ordem dos dados que vão ser inseridos
esteja correlacionado com a ordem da estrutura dos atributos dentro da tabela e adicionar
múltiplos dados em um só comando, segue abaixo:
insert into pessoas value
(default, ‘Carlos’, ‘2000-07-1’, ‘M’, ‘67’, ‘1.81’, ‘EUA’),
(default, 'Bianca', '2007-09-17', 'F', '45.7', '1.57', 'Brasil'),
('Rannyzita', '2007-06-02', 'F', '45.0', '1.50', 'Brasil');
Alterando Dados
Para alterar tabela vamos usar o comando alter table. E depois adicionaremos uma
coluna/campo, com o comando add column nome_coluna tipo de dado. Ficando assim:
alter table pessoas
add column profissao varchar(10);
Aqui aplicamos uma condição de se não existir uma tabela com tal nome, criar.
Aplicamos duas novas constantes: unique e unsigned. Unique - algo único - e unsigned - sem
sinal negativo. Lembrando que ao colocarmos um padrão para o ano, temos que botar entre
aspas, mesmo sendo um número.
Ou:
Primeiro vamos modificar linhas incorretas. Para isso, usaremos update cursos, para
atualizar a tabela cursos e abaixo, vamos utilizar o set nome_coluna = novo_nome e o where
para identificar (graças ao identificador único).
update cursos
set nome = 'HTML5'
where 'idcurso' = '1';
1 - server
2 - data export
3 - data import