Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Criando um Banco de Dados Prof. Rogério Vassoler SQL 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. MySQL É 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 SQL Numéricos Inteiros N = comprimento máximo de exibição Tipos de dados SQL Numéricos Flutuantes Tipos de dados SQL Strings Tipos 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' Atributos 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 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) Linguagem de Definição de Dados CREATE: Cria uma estrutura ALTER: Altera uma estrutura DROP: Exclui uma estrutura Criando um banco de dados Como funciona Criando 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 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 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; Notas 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 tabela Como funciona Criando 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 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 índice O que são índices? Como funciona: Criando 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 índice CREATE INDEX Nome ON TabelaEColuna ALTER INDEX Nome Propriedade DROP INDEX Nome Criando um índice CREATE INDEX ind_cpf ON tab_cliente(cpf) Índice composto: CREATE INDEX ind_busca ON tab_cliente(cpf,rg) Exemplo 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) ); Exemplo 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ício Criar um banco de dados (banco_01): Criar as seguintes tabelas: 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) 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) 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í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) ALTER TABLE FUNCIONARIOS CHANGE column NOME NOME_FUNC varchar(50) NOT NULL; CREATE INDEX DEPARTAMENTOS ON FUNCIONARIOS(DEPARTAMENTO); DROP TABLE SALARIOS; Obrigado e até a próxima aula
Compartilhar