Banco de Dados
(BD)
Técnico em desenvolvimento de Sistemas
(2DS)
Aula 1 – Conceitos SQL
Introdução ao MySQL
Comandos DDL
(Criação, listagem e exclusão de banco de dados e tabelas)
MySQL
Primeiros passos
MySQL
• O MySQL é um sistema de gerenciamento de banco
de dados (SGBD), que utiliza a linguagem SQL
(Linguagem de Consulta Estruturada, do inglês
Structured Query Language) como interface. É
atualmente um dos bancos de dados mais populares,
com mais de 10 milhões de instalações pelo mundo.
• Entre os usuários do banco de dados MySQL estão:
NASA, Banco Bradesco, Dataprev, HP, Nokia, Sony,
Alcatel, Cisco Systems, Google, entre outros.
MySQL – História
• 1980 – Criado na Suécia por David Axmark, Allan
Larsson e Michael "Monty" Widenius;
• 16 de Janeiro de 2008 – a MySQL AB,
desenvolvedora do MySQL foi adquirida pela Sun
Microsystems, por US$ 1 bilhão, um preço jamais
visto no setor de licenças livres.
• 20 de Abril de 2009 - a Oracle compra a Sun
Microsystems e todos os seus produtos, incluindo o
MySQL.
MySQL – História
• O sucesso do MySQL deve-se em grande
medida à fácil integração com o PHP, quase
que obrigatoriamente, nos pacotes de
hospedagem de sites da Internet oferecidos
atualmente.
• Empresas como Yahoo! Finance, MP3.com,
Motorola, NASA, Silicon Graphics e Texas
Instruments usam o MySQL em aplicações de
missão crítica.
MySQL – Características
• Portabilidade (suporta praticamente qualquer
plataforma atual);
• Compatibilidade (existem drivers ODBC, JDBC e .NET e
módulos de interface para diversas linguagens de
programação, como Delphi, Java, C/C++, C#, Visual
Basic, Python, Perl, PHP, ASP e Ruby)
• Excelente desempenho e estabilidade;
• Pouco exigente quanto a recursos de novos hardware;
• Facilidade no manuseio;
• Suporta controle transacional;
• Suporta Triggers, dentre outros.
MySQL - Instalação
• Faça o download do MySQL Server através do
link:
https://dev.mysql.com/downloads/mysql/
O MySQL Workbench
• O MySQL Workbench é a ferramenta oficial do
MySQL.
• É um ambiente completo que permite além de
realizar consultas, criar diagramas e trabalhar
com engenharia reversa.
• Acesse o link para download:
https://dev.mysql.com/downloads/workbench
/
Comandos DDL
Criando uma base de dados
no MySQL
• Para criar uma base de dados no MySQL,
utilizamos o comando CREATE DATABASE.
Listando as bases de dados
• Utilizamos o comando SHOW DATABASES para
listar as bases de dados existentes.
Usando uma base de dados
• Para usar um banco de dados usamos o use
<nome do banco de dados>
Excluindo a base de dados
• Quando uma base de dados não é mais
necessária, ela pode ser removida através do
comando DROP DATABASE <nome do banco
de dados>.
Revisão comandos - base de dados
• Banco de dados
– create database – Criar
– show databases – Listar (note que é no plural)
– use <nome banco de dados> – Setar/ selecionar
– drop <nome banco de dados> - Apagar
Criando uma tabela
• Como vimos na modelagem de dados, um
banco de dados possuem tabelas
interrelacionadas entre si.
• Por exemplo, no sistema de um banco, é
interessante separar o saldo e o limite de uma
conta, do nome e CPF de um cliente. Então,
poderíamos criar uma tabela para os dados
relacionados às contas e outra para os dados
relacionados aos clientes.
Criando uma tabela
• Uma tabela é formada por registros (tuplas-
linhas) e os registros são formados por
campos (colunas);
• Por exemplo, considere uma tabela para
armazenar as informações dos clientes de um
banco. Cada registro
dessa tabela armazena
em seus campos os
dados de um determinado cliente.
Criar Tabelas no MySQL Server
• As tabelas no MySQL Server são criadas
através do comando CREATE TABLE. Na criação
de uma tabela, é necessário definir quais são
os nomes e os tipos das colunas.
• Create Table Sintaxe:
– Create table (campo1 tipo_dados_1, campo2
tipo_dados_2, campoN tipo_dados_N);
Criar Tabelas no MySQL Server
• Para criar a tabela precisamos primeiro conhecer alguns
conceitos:
• Chave primária:
– Já vimos na modelagem de dados relacional que toda tabela
precisa ter uma chave primária definida, pois além da unicidade
precisamos garantir que o valor de uma coluna não seja nulo e
que tal valor seja suficiente para identificar um registro.
– Em SQL, para definirmos uma chave usamos a restrição
PRIMARY KEY (chave primária). Uma chave primária deve conter
valores únicos, não nulos e uma tabela pode conter uma ou
mais colunas como chave primária. É uma prática muito comum
criarmos uma coluna com o nome id para armazenarmos um
código de identificação do nosso registro dentro de uma tabela,
desde que haja o controle da geração desses registros para
justamente não ter a duplicidade de dados.
Criar Tabelas no MySQL Server
– Exemplo de chave primária (id):
– A criação da chave primária também pode ser
definida diretamente na linha de comando da
criação do campo, exemplo:
id int(11) not null primary key,
Criar Tabelas no MySQL Server
• Tipos de dados
– Tipos de dados são uma forma de classificar as informações que serão
armazenados no banco de dados. Entender os tipos de dados que podem ser
armazenados no banco e a que situações se adequam é importante para
projetar um banco de dados o mais eficiente possível.
– Antes de definir exatamente o tipo de dado que que podemos definir, vale a
pena prestar atenção nas seguintes diretrizes:
• os tipos de valores que podem ser usados;
• que tamanhos podem ter;
• as operações que podem ser realizadas;
• seus significados;
• se podem/serão indexados;
• como devem ser armazenados etc.
Criar Tabelas no MySQL Server
• Tipo de dados string
Strings são cadeias de caracteres. No MySQL, uma string pode ter qualquer conteúdo,
desde texto simples a dados binários – tais como imagens e arquivos. Cadeias de
caracteres podem ser comparadas e ser objeto de buscas. Alguns tipos:
• CHAR — uma cadeia de caracteres (string - pode conter letras,
números e caracteres especiais), de tamanho fixo especificado
entre parênteses. Pode armazenar até 255 caracteres. Ex.
CEP(8);
• VARCHAR — igual ao CHAR só que de tamanho variável. O
tamanho máximo é especificado entre parênteses. Ex.
Nome(45);
• TEXT — uma string de tamanho de no máximo 65.535
caracteres. Ex. Descricao;
Criar Tabelas no MySQL Server
• Tipo de dados numéricos:
O MySQL tem todos os tipos numéricos possíveis, o que inclui exatos, aproximados,
inteiros, de ponto fixo, ponto flutuante etc. Alguns tipos:
– TINYINT (tamanho) — número inteiro muito pequeno (tiny). -128 a 127 normal. O
número máximo de dígitos pode ser especificado entre parênteses; ex. idade(3);
– INT (tamanho) — número inteiro de tamanho comum. -2.147.483.648 a
2.147.483.647. Ex. qtd(5)
– DECIMAL (tamanho, d) — número decimal, de ponto fixo; O número máximo de
dígitos pode ser especificado no parâmetro de tamanho (até 65). O número
máximo de dígitos para a direita do ponto decimal é especificado no parâmetro d –
até 30). Ex. peso(10,2)
– FLOAT — pequeno número de ponto flutuante de precisão simples (32 bits); ex.
pesoPessoa (evitar usá-lo para cálculos);
– DOUBLE — número de ponto flutuante de precisão dupla (64 bits); ex. preco
– BIT — um campo de um bit. Pode ser entre 1 e 64, se não informado é 1. Ex.
categoria
Criar Tabelas no MySQL Server
• Tipo de dados data e hora:
Há várias opções para armazenar dados relacionados a data e hora. Se for armazenar penas
o ano referente a um evento, pode usar o tipo YEAR. O tipo TIMESTAMP pode ser usado
para acompanhar as mudanças ocorridas em um campo de uma tabela. Veja os tipos e suas
descrições:
– DATE() — o valor referente a uma data no formato 'CCYY-MM-DD'. Por exemplo
1985-11-25 (ano-mês-dia). O 'CC' se refere aos dois dígitos do século (Century, em
inglês);
– TIME() — um valor horário no formato 'hh:mm:ss' (hora:minutos:segundos);
– TIMESTAMP() — timestamp é uma sequência de caracteres ou informação
codificada que identifica uma marca temporal ou um dado momento em que um
evento ocorreu.
– YEAR()— armazena um ano no formato de dois ou quatro dígitos - 'CCYY' ou 'YY';
Criar Tabelas no MySQL Server
• Como exemplo de criação de tabelas, vamos
criar o banco de dados banco, setá-lo e criar
as seguintes tabelas dentro dele:
Criar Tabelas no MySQL Server
• Criando banco e selecionando-o:
• Criando a tabela cliente:
Criar Tabelas no MySQL Server
• Criando a tabela conta:
Listando as Tabelas de uma banco
• As tabelas de uma base de dados podem ser listadas
através do comando SHOW TABLES.
Obs.: Antes de utilizar esse comando, devemos certificar
se estamos com a base de dados selecionada.
Excluindo as Tabelas de uma banco
• Se uma tabela não for mais desejada, ela pode
ser removida através do comando DROP
TABLE.
Revisão comandos - Tabelas
• Tabelas
– create table <nome da tabela> (campo1
tipo_dados_1, campo2 tipo_dados_2, campoN
tipo_dados_N); – Criar
– show tables; – Listar (note que é no plural)
– drop table <nome da tabela>; - Apagar
Alterando a estrutura de uma Tabela
• Já vimos como definir e criar a estrutura de uma tabela, porém,
depois de pronto, podemos alterar essa estrutura usando o
comando ALTER TABLE.
Sintaxe: ALTER TABLE <tabela> <operação>
– Onde operação:
RENAME: alterar o nome da tabela.
ADD: para adicionar um novo campo.
DROP: para remover um campo já criado.
CHANGE: mudar nome coluna.
MODIFY: mudar a definição de uma coluna.
Alterando a estrutura de uma Tabela
• Alterando o nome da tabela:
Alter table <nomeAntigo> rename <novoNome>;
Alterando a estrutura de uma Tabela
• Adicionando um novo campo (coluna) na tabela:
Alter table <tabela> add <colunaNova> <tipo>;
Note que foi usado o comando select para visualizar os
dados da tabela.
Alterando a estrutura de uma Tabela
• Removendo uma coluna da tabela
Alter table <tabela> drop column <coluna>;
Alterando a estrutura de uma Tabela
• Inserindo chave primária na tabela já criada
Alter table <tabela> add primary key(coluna);
Alterando a estrutura de uma Tabela
• Remover a chave primária existente da tabela
Alter table <tabela> drop primary key;
Alterando a estrutura de uma Tabela
• Alterando o nome da coluna da tabela
Alter table <tabela> change <Nomeantigo>
<Nomenovo> <tipo>;
Alterando a estrutura de uma Tabela
• Modificar definições de uma coluna (tamanho)
Alter table <tabela> modify <coluna> <novaDef>
Revisão comandos
Estruturas de Tabelas
• Estrutura de Tabelas
– Alter table <nomeAntigo> rename <novoNome>; – renomear tabela
– Alter table <tabela> add <colunaNova> <tipo>;
– adicionar uma coluna na tabela
– Alter table <tabela> drop column <coluna>;
– remover uma coluna na tabela
– Alter table <tabela> drop primary key;
– remover a chave primária da tabela
– Alter table <tabela> add primary key(coluna);
– adicionar uma chave primária na tabela
– Alter table <tabela> change <Nomeantigo> <Nomenovo> <tipo>;
– renomear uma coluna da tabela
– Alter table <tabela> modify <coluna> <novaDef>
– modificar definições de uma coluna da tabela (tipo, tamanho, etc)
Próxima aula
• Na próxima aula veremos como inserir dados
em uma tabela, definir as restrições e também
como interligar as tabelas através da chave
estrangeira.
• Agora vamos praticar o que aprendemos...
Exercícios de fixação 1
No exercício a seguir todos os comandos utilizados para
desenvolvê-lo, na sequência, deverá ser gravado em um
arquivo doc e guardado para uma futura entrega.
• No Workbench, caso exista uma base de dados
chamada livraria, remova-o; (comando para listar
banco de dados e apagar);
• Crie uma nova base de dados chamada livraria
(comando para criar banco de dados e setar).
• Crie a tabela Editoras com os seguintes campos
(comandos para a criação de tabela):
– id do tipo numérico inteiro e chave primária
– nome do tipo string com 80 caracteres
– email do tipo string com 120 caracteres
– Todos os campos não podem ser nulos
Exercícios de fixação 1
• Crie a tabela Livro com os seguintes campos
(comandos para a criação de tabelas):
– id do tipo numérico inteiro e chave primária
– titulo do tipo string com 80 caracteres
– preco do tipo numérico com decimais
- Todos os campos devem não ser nulos.
• Liste os banco de dados existentes; (comando
para a listagem de banco de dados)
• Liste as tabelas do banco de dados livraria
(comando para a listagem de tabelas estando
com a livraria setada)
Exercícios de fixação 1
• Altere o nome da tabela editoras para editora;
• Adicione o campo edição na tabela livro como
tipo string tamanho com 10 caracteres;
• Altere o tamanho do campo edição da tabela
livro para 5 caracteres;
• Remova o campo edição da tabela livro.
Exercícios de fixação 2
• Crie um banco de dados para uma biblioteca
com as seguintes tabelas (não esqueça de
definir as chaves primárias, tipo, tamanho e a
propriedade dos campos para que também
não sejam nulos):
– Leitor (id, nome, e-mail, fone)
– Livro (tombo, titulo, gênero)
– Funcionario (id, nome, endereco, fone)