Buscar

Banco de Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Aula 09-09-2021
Esquema do Banco de Dados
· Um esquema é uma definição de Banco de dados especificada durante o projeto, armazenada no Dicionário de dados;
· Um esquema (schema) raramente muda a vida do BD;
· Trata-se da organização dos dados em plano que mostra como o banco e construído;
· O esquema define tabela, campo, relacionamento visões e muito mais...
Etapas do desenvolvimento de um BD
1. Especificação e analise de requisitos:
a. Os requisitos são documentados;
2. Projeto conceitual:
a. Baseado nos requisitos;
3. Projeto logico:
a. Expresso em um modelo de dados, como relacional;
4. Projeto físico:
a. Especificações para armazenar e acessar o banco de dados;
b. Implementação do BD, inserção de dados reais e manutenção.
Tarefas para modelagem
As tarefas a segue devem ser realizadas para que seja possível efetuar modelagem de dados projetos de BD funcional:
· Identificar os tipos de entidades;
· Identificar atributos;
· Identificar relacionamentos;
· Criar e associar chaves;
· Normalizar para reduzir redundância;
· Desnormalizar para aumentar performance.
Banco de Dados
Campo – Colunas;
Registros – Linhas.
Diferença entre char e varchar
Cada caracter em um banco de dados vale 1 byte. 
1 caracter = 1 byte. Ex: Joao = 4 bytes.
Char: Tem tamanho fixo e tem alocação estática de memória. Quando colocamos um char de 10 caracter, e colocamos o Joao dentro dela, os 6 restantes campo é preenchido com espaços brancos, fazendo com que fique com mais dados trafegando na rede, ou seja, fica valendo 10 bytes.
Varchar: O tamanho é variável e usa alocação dinâmica de memória. quando colocamos um char de 10 caracter, e colocamos o Joao dentro dela, os 6 espaços brancos some, ou seja, fica valendo 6 bytes, variando com os números de caracter que é preenchido.
Utilizamos o char quando o número de caracteres da coluna nunca for variante. Mas por que isso? O char é mais performático porque não fica variando de tamanho. 
Enum = ENUMeração: é um conjunto de dados enumerado, ou seja, é um conjunto fixo de dados. Usamos um enum quando queremos limitar dados em uma coluna.
Esse tipo funciona como uma ComboBox no sistema em que o usuário escolhe as opções disponíveis. Essa característica só existe no SQL, nos outros bancos a constante se chama contraint de check.
As desorganizações de dados geram erro de contagem, por isso é importante delimitar o conteúdo. EX:
Sexo: Masculino, feminino, m, f, mulher, homem. Aqui podemos observar que temos 6 tipos que não é o correto. O correto seria apenas 2 opções.
Tipos numéricos:
· Float: tipos reais, ponto flutuante, ou seja, a virgula que flutua tanto pra esquerda quanto pra direita, aumentando a precisão dos números. Quanto maior os números de casas decimais, maior a precisão. Float (total, virgula).
· Ex: float (7,3): 1234,452. float (4,3):1,541.
· Int: tipos inteiros, só armazena números inteiros. O máximo de caracter armazenado no int é 11. O INT tem um range de 11, que vai do número mínimo (-214743648) ao número máximo (2147483647).
· Ex: 10, 587, 3658.
Números que não necessitam de cálculos podem ser tipados como varchar.
Projeção = SELECT;
Seleção = WHERE;
Projeção: Projeta o resultado na tela. Ex: SELECT * FROM CIDADES;
Filtro: Filtra em nível de Linha em quantidade de registro. Aumenta a performance do banco.
AS: Elias pra dar nome a uma coluna da tabela. EX: SELECT NOME AS CLIENTE FROM CLIENTES;
Like: Ele filtra por aproximação. 
· EX: SELECT NOME CLIENTE WHERE CIDADE LIKE ‘%RJ’;
Group by: Agrupa os registros por condição.
· 
Count (*): conta o número de registro.
· SELECT COUNT(*) FROM CLIENTE: CONTA TODOS OS REGISTROS DA TABELA CLIENTE.
· SELECT SEXO, COUNT(*) FROM CLIENTE GROUP BY SEXO: PROJETA AS LINHAS DE ACORDO COM OS SEXOS, M OU F E A QUANTIDADE DE CADA UM.
Tupla: é uma linha, um registro inteiro de uma tabela.
Tuning: Responsável de otimizar as tabelas.
Auto_increment: é uma incrementação automática EX:
· Colocar ID automático pra uma tabela cliente.
· IDCLIENTE INT PRIMARY KEY AUTO_INCREMENT;
Not Null: falar que um dado não pode ser nulo, ou em branco EX:
· NOME VARCHAR(50) NOT NULL;
· Está dizendo que em nome não pode ser nulo.
Unique: Falar que um dado não pode ser repetido, ou seja, único EX:
· CPF CHAR(14) UNIQUE;
· Está dizendo que o cpf não pode haver repetição.
Tabela verdade. AND (V - e), OR (V - ou)
Operadores Lógicos: Tipo de dados booleano (ou logico) que assume dois valores Verdadeiro ou Falso.
· Operador logico OR (ou): para que a saída da query seja verdadeira, basta que apenas uma seja verdadeira.
· SELECT NOME, SEXO, ENDERECO FROM CLIENTE WHERE SEXO = 'M' OR ENDERECO LIKE '%RJ';
· SELECT NOME, TELEFONE FROM CLIENTE WHERE NOME LIKE 'ROBERTO%' OR ENDERECO LIKE 'RUA ANTONIO%';
· Operador Logico AND (e): para que a saída da query seja verdadeira, todas as condições precisam ser verdadeiras.
· SELECT NOME, SEXO, ENDERECO FROM CLIENTE WHERE SEXO = 'M' AND ENDERECO LIKE '%RJ';
· SELECT NOME, TELEFONE FROM CLIENTE WHERE NOME LIKE 'ROBERTO%' AND ENDERECO LIKE 'RUA ANTONIO%';
Pra dar performasse na hora da seleção é preciso analisar alguns requisitos nos operadores lógicos Ex: Se meu banco de dados possuir 70% de clientes do sexo feminino e 30% de pessoas que mora no Rio de Janeiro, e fazer uma projeção irei precisar verificar o tipo de operador logico, OR ou AND: 
· OR: coloca sempre o que possui mais na tabela na frente da seleção EX:
· SELECT SEXO, ENDERECO FROM CLIENTE WHERE SEXO = ‘F’ OR ENDERECO = ‘RIO DE JANEIRO’
· AND: Coloca sempre o que possui menos na tabela na frente da seleção EX:
· SELECT SEXO, ENDERECO FROM CLIENTE WHERE ENDERECO = ‘RIO DE JANEIRO’ AND SEXO = ‘F’;
Filtrando Valores Nulos: o IS e IS NOT é utilizado para buscar valores vazios ou igualar uma determinada busca com null, utilizamos o IS ou IS NOT EX:
· SELECT * FROM CLIENTES WHERE EMAIL IS NULL;
· No script estamos buscando o cadastro dos clientes com e-mail Null ou Vazio.
· SELECT * FROM CLIENTES WHERE EMAIL IS NOT NULL;
· Já nesse script estamos buscando o cadastro de clientes com e-mail não vazio ou não nulos.
OBS: Não podemos colocar igual a null, pois não tem nada pra igualar EX:
· SELECT * FROM CLIENTES WHERE EMAIL = NULL;
· Script vai trazer a projeção vazia, pois não tem nada pra igualar;
Atualizar Valores de uma tabela: Utilizamos o UPDATE para atualizar registro de uma tabela EX:
· UPDATE CLIENTE SET NOME = 'ROBERTO PAULO' WHERE ID = 1; 
· ATUALIZOU O NOME PARA ROBERTO, O ID 1.
Deletando registro de uma Tabela: Para deletar um registro de uma tabela utilizamos o DELETE EX:
· DELETE FROM CLIENTES WHERE NOME = 'ANNA'; 
· DELETANDO O REGISTRO COM O NOME ANNA;
Peter Chen (criador do Modelo de Entidade e Relacionamento o MER): não podemos criar banco de dados voltado procedimentos para empresariais, negócios, procedimento externo, pois eles sofrem interferência.
· Procedimentos: variam;
· Dados: Imutáveis.
Podemos sempre armazenar os dados, pois eles são suficientes para gerar uma informação.
Assim que Peter criou o modelo de entidade e relacionamento o MER, foram criadas formas normais, que são diretrizes para aplicar em modelagem de ambientes OLTP ou ambientes transacionais de banco de dados.
Primeira Forma Normal
1. Todo campo vetorizado se tornara outra tabela.
2. Todo campo multivalorado se tornara outra tabela.
a. EX: [Rua Antônio Garcia – Vilar dos Teles – São João de Meriti]:
i. Tabela 1: Rua; Tabela 2: Bairro; Tabela 3: Cidade;
3. Toda tabela necessita de pelo menos um campo que identifique todo o registro como sendo único. Isso é chamado de Chave primaria ou Primary key.
Existem dois tipos de Chaves, Natural e Artificial:
· Natural: Caso pertença aos dados realmente EX:
· CPF, ele pertence a pessoa.
· Artificial: Chave artificial é criada EX:
· ID, para numerar uma pessoa ou um dado.
Cardinalidade
Define a obrigatoriedade e o máximo de dados possíveis em uma tabela
(0,n): 0 é a Obrigatoriedade e o n é a cardinalidade, os números de dados que podem entrar na tabela.
A obrigatoriedade possui duas formas 0 e 1. Sendo 0 Falso, não obrigatórioe 1 verdadeira, obrigatório.
A cardinalidade possui duas formas 1 e n. Sendo 1 podendo possuir apenas um dado e n podendo possuir vários dados.
· (0,n): Não obrigatório e podendo conter mais de um dado;
· (0,1): Não obrigatório e podendo conter apenas um dado;
· (1,n): Obrigatório e podendo conter mais de um dado;
· (1,1): Obrigatório e podendo conter apenas um dado.

Continue navegando