Buscar

BD - Aula04 - Criando um 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 31 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 31 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 9, do total de 31 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

Prévia do material em texto

Criando um Banco de DadosCriando um Banco de Dados
Prof. Rogério Vassoler
SQL ANSI, ISO e outrosSQL ANSI, ISO e outros
• SQL (Structured Query Language)
– Linguagem declarativa, detalha a forma do resultado;
– Criado no início dos anos 70, em laboratórios da IBM;
– Novos dialetos surgiram, derivando e evoluindo o SQL.
• Necessidade de padronização
– American National Standards Institute (ANSI) em 1986;
– International Organization for Standardization (ISO) em 1987;
– Revisto pela primeira vez em 1992 originando o padrão SQL-92;
– Outras revisões:
• SQL:1999 incorporou características de expressões regulares, queries 
recursivas e triggers;
• SQL:2003 incorporou características de XML, sequências.
– Bancos de dados criam e evoluem suas próprias derivações do SQL.
MySQLMySQL
• É um sistema gerenciador de banco de dados relacional de
código aberto, usado na maioria das aplicações gratuitas para
gerir suas bases de dados;
• Utiliza a linguagem SQL comum a maioria dos bancos de
dados relacionais.
• O sistema foi desenvolvido pela MySQL AB e publicado,
originalmente em maio de 1995. Posteriormente, a empresa
foi comprada pela SUN Microsystems.
• Em janeiro de 2010, através de uma transação bilionária, a
SUN foi vendida para Oracle Corporation.
• O software é livre com código aberto, mas a Oracle tornou o
acesso de desenvolvedores mais restrito.
Tipos de dados SQLTipos de dados SQL
• Numéricos Inteiros
– N = comprimento máximo de exibição
Tipos de dados SQLTipos de dados SQL
• Numéricos Flutuantes
Tipos de dados SQLTipos de dados SQL
• Strings
Tipos de dadosTipos de dados
• Listas customizadas
• A principal característica do tipo ENUM é permitir a criação de 
uma lista enumerada, sendo cada registro um par index-value. 
O uso do tipo ENUM deve ser feito em parâmetros onde há 
pouca ou nenhuma alteração durante a existência da 
aplicação - por exemplo, sexo, onde os valores fixos de 
entrada são Masculino ou Feminino.
• Exemplo:
• ‘Resposta' ENUM('bad', 'good', 'excellent') NULL DEFAULT 
'good'
AtributosAtributos
• NULL / Not NULL
– Permite ou não valores nulos.
• Unsigned / Signed
– Permite ou não números negativos.
• Auto-increment
– Sequências, contadores.
• Constraint
– É o nome que se dá a uma regra aplicada a um atributo. 
Por exemplo, se você cria uma Constraint definindo ela como Primary
Key (primária), então você criou uma regra que não permite os dados se 
repetirem. 
Mesmo caso é se você cria uma Foreign (chave estrangeira), a sua regra 
na Constraint é que ela esteja relacionada ao um outro campo
Boas práticas de armazenamentoBoas práticas de armazenamento
• Espaço em disco
– Quanto menor o tipo de dado, menos espaço ele ocupará.
• Processamento e busca
– Quanto menor o tipo de dado, mais rápido é o processamento.
• Maus usos dos tipos de dados
– Armazenar dados numéricos em colunas string;
– Armazenar dados numéricos em campos maiores que o necessário;
– Criar campos de string maiores do que o necessário.
• Bom usos dos tipos de dados
– Escolher o menor tipo de dados possível para armazenar suas 
informações;
– Pergunta: Qual o menor e maior valor que o campo poderá receber?
DDL (Data Definition Language)DDL (Data Definition Language)
• Linguagem de Definição de Dados
– CREATE: Cria uma estrutura
– ALTER: Altera uma estrutura
– DROP: Exclui uma estrutura
Criando um banco de dadosCriando um banco de dados
• Como funciona
Criando um banco de dadosCriando um banco de dados
• O comando CREATE DATABASE serve para criar 
um novo banco de dados.
• O nome do banco deve ser inserido após a 
digitação do comando de criação e se existir um 
banco com o mesmo nome, o comand line
exibirá um erro, acusando que o banco já 
existe.
Criando um banco de dadosCriando um banco de dados
• CREATE DATABASE Nome
– Nomes sem espaços e sem caracteres especiais.
• ALTER DATABASE Nome Propriedade
• DROP DATABASE Nome
– Exclusão é definitiva e irreversível.
Criando um banco de dadosCriando um banco de dados
• Criação do Banco de Dados
– CREATE DATABASE nome_do_banco;
• Exibir todos os banco de dados
– SHOW DATABASES;
• Utilizar um banco de dados específico
– USE nome_do_banco;
NotasNotas
• Não esqueça de sempre terminar o comando com um ‘;’ (ponto 
e vírgula), ou ele não funcionará;
• Tenha em mente o limite de 64 caracteres para nomes de 
bancos de dados;
• Para evitar problemas ao mover dados entre servidores de 
diferentes sistemas operacionais use apenas letras minúsculas, 
alfanuméricas e underscores nos nomes dos bancos e das 
tabelas;
• E, sim, você pode escrever tudo em letras minúsculas – tanto os 
comandos, como as variáveis. O cliente MySQL não é sensível à 
caixa das letras. 
Criando uma tabelaCriando uma tabela
• Como funciona
Criando uma tabelaCriando uma tabela
• CREATE TABLE é o comando para criação da 
tabela e deve ser seguida pelo nome que 
daremos à tabela.
• Devemos definir os nomes dos campos de 
acordo com a necessidade da tabela.
• Determinar os atributos e os tipos dos campos 
a serem inseridos.
• Por exemplo: Inteiro, real, caracter, etc...
Criando uma tabelaCriando uma tabela
• CREATE TABLE Nome (Campos)
• Sintaxe de descrição de campo:
– TipoDeDado Nome Atributos
• Atributos:
– Null, Zerofill, Unsigned, Auto-increment, Chave
• ALTER TABLE Nome Propriedade
• DROP TABLE Nome
– Exclusão é definitiva e irreversível
Criando um índiceCriando um índice
• O que são índices?
• Como funciona:
Criando um índiceCriando um índice
• Um índice no banco de dados, serve para 
organizar os dados e agilizar na 
pesquisa/consulta dos dados armazenados na 
tabela.
• Normalmente a criação de índex no banco de 
dados segue o padrão ANSI, isso significa que o 
mesmo comando utilizado para um 
determinado SGBD, pode ser usado em outro.
• Para um melhor resultado de performance, o 
ideal é utilizar campos chaves ou que sejam de 
pesquisa.
Criando um índiceCriando um índice
• CREATE INDEX Nome ON TabelaEColuna
• ALTER INDEX Nome Propriedade
• DROP INDEX Nome
Criando um índiceCriando um índice
• CREATE INDEX ind_cpf ON tab_cliente(cpf)
• Índice composto:
• CREATE INDEX ind_busca ON tab_cliente(cpf,rg)
ExemploExemplo
• Criando Base de Dados:
CREATE DATABASE EXEMPLO_SQL
• Criando Tabela:
CREATE TABLE CLIENTES (
ID int NOT NULL auto_increment, 
NOME varchar(45) NOT NULL,
ENDERECO varchar(45) NOT NULL,
PRIMARY KEY (ID) );
ExemploExemplo
• Criando Tabela com chave estrangeira:
CREATE TABLE CLIENTES (
ID int NOT NULL auto_increment, 
NOME varchar (45) NOT NULL,
ENDERECO varchar (45) NOT NULL,
PRODUTO_ID int unsigned default NULL, 
PRIMARY KEY (ID), 
CONSTRAINT FK_PRODUTOS_CLIENTES FOREIGN KEY 
(PRODUTO_ID) REFERENCES PRODUTOS(ID) );
ExercícioExercício
• Criar um banco de dados (banco_01):
• Criar as seguintes tabelas:
Exercício (Solução)Exercício (Solução)
• Criar um banco de dados (banco_01):
– CREATE DATABASE BANCO_01; 
• Criando as tabelas: 
CREATE TABLE FUNCIONARIOS (
ID int unsigned NOT NULL auto_increment, 
NOME varchar(45) NOT NULL,
SALARIO double NOT NULL default '0',
DEPARTAMENTO varchar(45) NOT NULL,
PRIMARY KEY (ID) );
Exercício (Solução)Exercício (Solução)
• Criando as tabelas: 
CREATE TABLE VEICULOS (
ID int unsigned NOT NULL auto_increment, 
FUNCIONARIO_ID int unsigned default NULL,
VEICULO varchar (45) NOT NULL default '',
PLACA varchar(7) NOT NULL default '',
PRIMARY KEY (ID),
CONSTRAINT FK_VEICULOS_FUNCIONARIOS FOREIGN 
KEY (FUNCIONARIO_ID) REFERENCES 
FUNCIONARIOS(ID) );
Exercício (Solução)Exercício (Solução)
• Criando as tabelas: 
CREATE TABLE SALARIOS (
ID int unsigned NOT NULL auto_increment,
DESCRICAO varchar(45) NOT NULL, 
INICIO double NOT NULL,
FIM double NOT NULL,
PRIMARY KEY (ID) );
ExercícioExercício
• Tabela FUNCIONARIOS
• Alterar o campo NOME para NOME_FUNC e seu 
tamanho de 45 para 50
• Criar um índice para o campo departamento
• Excluir a tabela SALARIOS
Exercício (Solução)Exercício (Solução)
• ALTER TABLE FUNCIONARIOS CHANGE column
NOME NOME_FUNCvarchar(50) NOT NULL;
• CREATE INDEX DEPARTAMENTOS ON 
FUNCIONARIOS(DEPARTAMENTO);
• DROP TABLE SALARIOS;
Obrigado e até a próxima aulaObrigado e até a próxima aula

Continue navegando