Buscar

Biblioteca 1149303 implementação

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 38 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 38 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 38 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

Implementação de 
Banco de Dados
Cassio Diego 
cassiodiego.com/bd
1
Conteúdo: Aula 3
UNIDADE 2: LINGUAGEM SQL 
1. Linguagens de Definição de Dados (DDL) 
1.1. Criação de tabela: CREATE 
1.2. Alteração de Tabela: ALTER 
1.3. Exclusão da Tabela: DROP 
2. Linguagem de Manipulação de Dados (DML) 
2.1. Inserção de dados: INSERT 
2.2. Atualização de registros: UPDATE 
2.3. Exclusão de Registros: DELETE
2
Sistema gerenciador de 
banco de dados
CONCEITO DE SGBD 
É um programa de computador responsável pelo 
gerenciamento de bases de dados. 
• Os SGBDs executam SQL. 
• Em bancos de dados relacionais a interface com a a 
aplicação é constituida por APIs ou drivers de conexão.
3
Sistema gerenciador de 
banco de dados
LISTA COM ALGUNS SGBDs 
• Oracle; 
oracle.com 
• MySQL; 
mysql.com 
• Microsoft SQL Server; 
microsoft.com/pt-br/server-cloud/products/sql-server/ 
• PostgreSQL; 
postgresql.org
4
Sistema gerenciador de 
banco de dados
LISTA COM ALGUNS SGBDs (CONTINUAÇÃO) 
• Microsoft Access; 
products.office.com/pt-br/access 
• SQLite; 
sqlite.org 
• Firebird; 
firebirdsql.org
5
Linguagem SQL
O QUE É SQL? 
Linguagem padrão para banco de dados relacionais; 
• Em meados de 1980, a American National 
Standars Institute (ANSI) começou a trabalhar no 
primeiro padrão de SQL;
6
Linguagem SQL
ANSI-SQL 
• SQL 1 ou ANSI 1986 
• SQL 1989 
• SQL 2 ou SQL 1992 
• SQL 3 ou SQL 1999 
• SQL 2003 
• SQL 2006 
• SQL 2008
7
Linguagem SQL
CLASSE DE INSTRUÇÕES SQL 
• Linguagens de Definição de Dados (DDL) 
- Instruções de esquema SQL com papel de definir estruturas de dados armazenadas em um 
banco de dados. 
Ex.: CREATE, ALTER, DROP 
• Linguagem de Manipulação de Dados (DML) 
- Instruções de dados SQL com papel de manipular estruturas de dados previamente 
definidas com as instruções de esquema. 
Ex.: INSERT, UPDATE, DELETE, SELECT (DQL para alguns autores)
8
DATA DEFINITION LANGUAGE
DATA MANIPULATION LANGUAGE
Linguagem SQL
CLASSE DE INSTRUÇÕES SQL 
• Linguagem de Controle de Dados (DCL) 
- Controla os aspectos de autorização de dados e licenças de usuários para controlar 
quem tem acesso para ver ou manipular dados. 
Ex.: GRANT, REVOKE 
• Linguagem de Transação de Dados (DTL). 
- Instruções de transação SQL usadas para iniciar, encerrar e desfazer transações. 
EX.: COMMIT, ROLLBACK
9
DATA CONTROL LANGUAGE
DATA TRANSACTION LANGUAGE
MySQL
FORMAS DE INSTALAÇÃO 
• MySQL 
dev.mysql.com/downloads/mysql/ 
• Wamp 
www.wampserver.com/en/#download-wrapper 
• Xampp 
www.apachefriends.org/download.html 
• Mamp 
www.mamp.info/en/downloads/
10
MySQL
UTILIZANDO A FERRAMENTA DE LINHA DE CÓDIGO 
• Criar variável de ambiente para o executável; 
• No Linux ou Mac, criar um alias para o executável; 
• Vamos utilizar a palavra mysql para chamar o executável
11
MySQL
INSTALANDO O MYSQL NO WINDOWS 
A ORDEM DAS OPÇÕES PODE VARIAR DE ACORDO COM A VERSÃO 
• Na janela Wizard clique em Next; 
• Escolha a opção Typical e aperte em Next. 
• Clique em Install; 
• A caixa de diálogo do MySQL Entreprise será exibida, clique em Next duas vezes; 
• Quando a instalação for concluída, marque a opção “Configure the MySQL Server Now” antes de clicar em 
Finish; 
• Depois da instalação concluída, abrirá uma tela de configuração. Clique em Next e selecione as opções 
“Install as a Windows Service” e “Include Bin Directory in Windows PATH” depois clique em Next; 
• Selecione a opção “Modify Security Settings” e insira uma senha para o usuário root (anote a senha para usar 
depois). Clique em Next e depois em Execute. 
* dev.mysql.com/doc/refman/5.7/en/windows-installation.html
12
MySQL
INSTALANDO O MYSQL NO DEBIAN/UBUNTU* 
Certifique-se que a sua lista de repositórios está atualizada, entre 
no terminal como root e digite: 
• apt-get update 
• apt-get install mysql-server 
• apt-get install mysql-client 
O nome do pacote pode variar de acordo com a versão. 
* dev.mysql.com/doc/refman/5.7/en/linux-installation-debian.html
13
MySQL
INSTALANDO O MYSQL NO MAC OS X* 
• Baixe e abra o arquivo .dmg 
• Execute o arquivo .pkg dentro do .dmg 
• Clique em Continue; 
• Concorde com os termos apertando em Agree; 
• Aperte em Install; 
• Escolha “Install for all users on this computer” e aperte em Continue; 
• Marque "MySQL Server", "Preference Pane", “Startup Item e aperte Install”; 
• Aperte em Close para concluir; 
• Abra o System Preferences, clique no ícone do MySQL e aperte em “Start MySQL Server” 
* dev.mysql.com/doc/refman/5.7/en/osx-installation-pkg.html
14
MySQL
CRIANDO O PRIMEIRO BANCO DE DADOS 
• Faça o login no MySQL como root: 
mysql -u root -p 
• Crie um banco de dados para exemplo: 
create database bancoteste; 
• Crie um usuário com privilégios totais sobre o banco de dados: 
grant all privileges on bancoteste.* to 'usuarioteste'@'localhost' identified by 'senha'; 
• Saia da ferramenta MySQL: 
quit; 
• Faça login no MySQL com o usuário: 
mysql -u usuarioteste -p; 
• Conecte-se no banco de dados: 
use bancoteste;
15
MySQL
TIPOS DE DADOS 
• Dados do tipo caractere; 
- char(tamanho), varchar(tamanho) 
• Dados do tipo caractere; 
- tinytext, text, mediumtext, longtext 
• Dados numéricos; 
- tinyint, smallint, mediumint, int, bigint, float, double 
• Dados temporais; 
- date, datetime, timestamp, year, time
16
MySQL
TIPOS DE DADOS TEMPORAIS
17
Tipo Formato Padrão Valores Permitidos
Date AAAA-MM-DD 1000-01-01 a 9999-12-31
Datetime AAAA-MM-DD HH:MI:SS 1000-01-01 00:00:00 a 9999-12-31 23:59:59
Timestamp AAAA-MM-DD HH:MI:SS 1000-01-01 00:00:00 a 2037-12-31 23:59:59
Time AAAA 1901 a 2155
Year HHH:MI:SS -838:59:59 a 838:59:59
MySQL
18
Linguagem de definição de dados (DDL)
CRIAR TABELAS 
• Projeto; 
• Refinamento; 
• Construindo instruções do esquema SQL.
19
Linguagem de definição de dados (DDL)
EXEMPLO PARA CRIAÇÃO DE TABELAS
20
Coluna Tipo Valores Permitidos
id smallint(unsigned)
nome_cargo varchar(60)
* nome das colunas sem acentuação
Linguagem de definição de dados (DDL)
CRIANDO TABELAS
21
CREATE TABLE cargos 
 (id SMALLINT UNSIGNED, 
 nome_cargo VARCHAR(60), 
 CONSTRAINT pk_cargos PRIMARY KEY (id) 
);
Linguagem de definição de dados (DDL)
EXEMPLO PARA CRIAÇÃO DE TABELAS
22
Coluna Tipo Valores Permitidos
id smallint(unsigned)
primeiro_nome varchar(60)
ultimo_nome varchar(60)
sexo char(1) M, F
aniversario date
endereco varchar(30)
cidade varchar(20)
estado varchar(20)
pais varchar(20)
cep varchar(9)
* nome das colunas sem acentuação
Linguagem de definição de dados (DDL)
CRIANDO TABELAS
23
CREATE TABLE pessoas 
 (id SMALLINT UNSIGNED, 
 primeiro_nome VARCHAR(60), 
 ultimo_nome VARCHAR(60), 
 sexo CHAR(1), 
 aniversario DATE, 
 endereco VARCHAR(30), 
 cidade VARCHAR(20), 
 estado VARCHAR(20), 
 pais VARCHAR(20), 
 cep VARCHAR(9), 
 cargo_id SMALLINT UNSIGNED NOT NULL, 
 CONSTRAINT pk_pessoas PRIMARY KEY (id), 
 CONSTRAINT fk_pessoas_cargos FOREIGN KEY (cargo_id) 
 REFERENCES cargos (id) 
);
Linguagem de definição de dados (DDL)
RESTRIÇÕES NA HORA DE CRIAR TABELAS
24
sexo CHAR(1) CHECK (sexo IN ('M', 'F')),
sexo ENUM ('M', 'F'),
ou
Linguagem de definição de dados (DDL)
AJUSTANDO COM RESTRIÇÕES
25
CREATE TABLE pessoas 
 (id SMALLINT UNSIGNED, 
 primeiro_nome VARCHAR(60), 
 ultimo_nome VARCHAR(60), 
 sexo ENUM ('M', 'F'), 
 aniversario DATE, 
 endereco VARCHAR(30), 
 cidade VARCHAR(20), 
 estado VARCHAR(20), 
 pais VARCHAR(20),cep VARCHAR(9), 
 cargo_id SMALLINT UNSIGNED NOT NULL, 
 CONSTRAINT pk_pessoas PRIMARY KEY (id), 
 CONSTRAINT fk_pessoas_cargos FOREIGN KEY (cargo_id) 
 REFERENCES cargos (id) 
);
Linguagem de definição de dados (DDL)
AJUSTANDO COM RESTRIÇÕES
26
mysql> CREATE TABLE pessoas 
 -> (id SMALLINT UNSIGNED, 
 -> primeiro_nome VARCHAR(60), 
 -> ultimo_nome VARCHAR(60), 
 -> sexo ENUM ('M', 'F'), 
 -> aniversario DATE, 
 -> endereco VARCHAR(30), 
 -> cidade VARCHAR(20), 
 -> estado VARCHAR(20), 
 -> pais VARCHAR(20), 
 -> cep VARCHAR(9), 
 -> cargo_id SMALLINT UNSIGNED NOT NULL, 
 -> CONSTRAINT pk_pessoas PRIMARY KEY (id) 
 -> CONSTRAINT fk_pessoas_cargos FOREIGN KEY (cargo_id) REFERENCES cargos (id) 
 -> ); 
Query OK, 0 rows affected (0.17 sec) 
mysql> DESC pessoas; 
11 rows in set (0.00 sec) 
mysql>
Linguagem de definição de dados (DDL)
COMO DELETAR TABELAS
27
Linguagem de definição de dados (DDL)
ALTERAR TABELAS
28
Linguagem de definição de dados (DDL)
EXERCÍCIO PARA ALTERAR TABELAS 
• Altere a tabela cargos colocando o id como AUTO_INCREMENT.
29
Linguagem de definição de dados (DDL)
EXERCÍCIO PARA ALTERAR TABELAS 
• Altere a tabela cargos colocando o id como AUTO_INCREMENT.
30
ALTER TABLE cargos MODIFY id SMALLINT UNSIGNED AUTO_INCREMENT;
Linguagem de manipulação de dados (DML)
INSERIR REGISTROS
31
Linguagem de manipulação de dados (DML)
EDITAR REGISTROS
32
Linguagem de manipulação de dados (DML)
DELETAR REGISTROS
33
Próxima aula...
UNIDADE 2: LINGUAGEM SQL (CONTINUAÇÃO) 
3. Comando SELECT 
3.1. Sintaxe básica 
3.2. Consultas com operadores lógicos e de comparação 
3.3. Comandos com expressões 
3.4. Utilização das cláusulas ORDER BY e DISTINCT 
3.5. Funções de Grupo, cláusulas GROUP BY e HAVING
34
Bibliografia Básica
• SILBERSCHATZ, Abraham; KORTH, Henry F; 
SUDARSHAN, S. A. Sistema de banco de dados. 
5ª ed. Rio de Janeiro: Campus, 2006. 
• ELMASRI, R.; NAVATHE, S., Sistemas de Banco de 
Dados. Pearson Education do Brasil, 4ª.Ed  2005. 
• RAMALHO, Jose Antonio Alves. SQL a linguagem 
dos bancos de dados. São Paulo: BERKELEY 
BRASIL, 1999.
35
Bibliografia Complementar
• DATE, C.J. Introdução a sistemas de banco de dados. 8ª ed. 
Rio de Janeiro: Campus, 2004. 
• DAMAS Luis SQL- Structured query language 6ª. Ed.  Editora 
LTC  2007 
• GILLENSON, M, MILLER, F. Introdução a Gerência de Banco de 
Dados. Editora LTC 1a. Edição 2009 
• PRICE.Jason Oracle Database 11g SQL Editora Artmed 1a. 
Edição 2008 
• KLINE,Daniel; KLINE , Kevin  Sql - O Guia Essencial - Manual 
de Referencia Profissional. Editora Alta Books 1 2010
36
Materiais
cassiodiego.com/bd
37
Contato Oficial
cassiodiego@gmail.com
38

Outros materiais