Upload
hoangliem
View
217
Download
0
Embed Size (px)
Citation preview
18/05/2016
1
BANCO DE DADOS
Prof. Fabiano Taguchihttp://fabianotaguchi.wordpress.com
SQL
A Structed Query Language foi desenvolvida em 1974nos laboratório da IBM em San José na Califórnia, baseadono modelo relacional, sua primeira versão foi chamada deSEQUEL (Structed English Query Language).
Anos depois a ANSI e ISO passaram a adotar a SQL comopadrão oficial para manipulação em ambiente relacional.
18/05/2016
2
LINGUAGEM SQL
Linguagem usada em SGBD para:
Definir estrutura de dados;
Modificar dados em um banco de dados;
Especificar restrições de segurança;
Realizar consultas.
FUNÇÕES
A linguagem SQL é utilizada para várias aplicações,provendo suporte a várias funções:
DDL (Linguagem de definição de dados): Usado paraarmazenar os dados com comandos de criação ealteração.
DML (Linguagem de manipulação de dados): Comandosque permitem inclusão e seleção de dados.
18/05/2016
3
FUNÇÕES
A linguagem SQL é utilizada para várias aplicações,provendo suporte a várias funções:
DCL (Linguagem de controle de dados): Comandos quefazem o cadastramento de usuários no banco de dados.
TC (Controle de transações): Comandos paraespecificação de início e fim das transações.
FUNÇÕES
DDL = CREATE, ALTER e DROP.
DML = SELECT, INSERT, UPDATE e DELETE.
DCL = GRANT e REVOKE.
TC = COMMIT, ROLLBACK e SAVEPOINT.
18/05/2016
4
CARACTERÍSTICAS
Definição de dados -> Comandos DDL permite a criaçãoe organização dos dados;
Manipulação de dados -> Comandos DML possibilitam amanipulação dos dados armazenados;
Controle de acesso -> Proteção contra manipulação;
Integridade dos dados -> Define regras de integridade;
Independência e portabilidade de fabricante ->Incorporada em vários SGBD, para ser usado emcomputadores até celulares;
TIPOS DE DADOS
18/05/2016
5
DEFINIÇÃO DE DADOS
INTEGER = Número positivo ou negativo inteiro;
NUMERIC = Número positivo ou negativo de pontoflutuante;
FLOAT = Número de ponto flutuante em que é possíveldefinir o nível de precisão;
DATE = armazenamento de datas;
TIME = armazenamento de hora;
VARCHAR = armazenamento de caracteres.
DEFINIÇÃO DE DADOS
SMALLINT = Número positivo ou negativo inteiro menosque o INTEGER;
TIMESTAMP = Armazena data e hora;
INTERVAL = Intervalo de data e hora;
BIT = armazenamento de um número fixo de bits;
BIT VARYING = Permite armazenar valores maiores,geralmente utilizado para imagens.
18/05/2016
6
ESTRUTURA DO BANCO DE DADOS
TABELAS
São as estruturas mais importantes em um banco dedados. Nas tabelas estará todo o conteúdo que representacada objeto no mundo real (entidades).
Uma tabela é compostas de colunas (atributos de uma entidade), que por sua vez formam os registros (tuplas).
18/05/2016
7
CONSTRAINTS
Constraints são integridades a serem definidas emtabelas. Pode-se definir integridades para:
Definir campos obrigatórios;
Chaves primárias;
Chaves estrangeiras.
CONSTRAINTS
CHAVE PRIMÁRIA
Coluna identificadora de um registro em uma tabela,para representa-la basta acrescentar a chave primary key(coluna).
CHAVES ESTRANGEIRA
Campo que estabelece o relacionamento entre duastabelas, para representação é utilizado a chave foreingkey (coluna) e references (tabela).
18/05/2016
8
CONSTRAINTS
CONSTRAINTS
NOT NULL
Indica que o conteúdo de uma coluna da tabela nãopoderá ser nulo.
DEFAULT
Define o conteúdo padrão a uma coluna de uma tabela,através da representação default valor.
18/05/2016
9
CONSTRAINTS
No exemplo temos a renda como valor default 0.
create table Cliente(
codigo integer not null,
nome varchar(40) not null,
fone varchar(20),
renda numeric(9,2) default 0 not null
);
CONSTRAINTS
18/05/2016
10
CONSTRAINTS
UNIQUE
Um atributo unique é aquele que é considerado únicoem uma tabela, isto é, valores dessa coluna não podemser repetidos. A chave primária é um exemplo de umatributo com a regra unique.
A declaração de um atributo unique é realizada na criação da tabela.
CONSTRAINTS
CHECK
A regra check define o intervalo de dados que pode serusado nos campos de uma coluna. No exemplo só podemser aceitos pesos maiores que 0.
create table pessoa(
cod_pes integer not null check (cod_pes>0),
nome_pes varchar(255) not null
);
18/05/2016
11
RESTRIÇÕES DE INTEGRIDADE
As restrições de integridade são utilizadas parasituações de inclusão e exclusão.
Inclusão: Um novo cliente só pode ser inserido em umacidade que já existe no banco de dados;
Exclusão: Só é possível remover cidades onde nãoexistem clientes cadastrados;
INCLUSÃO
18/05/2016
14
COMANDOS DDL
CRIANDO UM BANCO DE DADOS
O comando create database e usado para criação deum banco de dados. Um banco de dados é o primeiropasso a ser fazer no início de uma tarefa, haja visto que astabelas são criadas a partir de um banco de dadosexistente. O comando para criação é:
create database nome;
18/05/2016
15
SELECIONANDO UM BANCO DE DADOS
Após criado o banco de dados, deve então serselecionado qual banco de dados será utilizado paraexecução dos comandos, sejam eles DDL ou DML, para issoé usado o comando use da seguinte forma:
use nome;
CRIANDO TABELAS
O comando usado para criação de tabelas é o createtable, como parâmetro para este comando é passado onome da tabela que será criada, os campos, os tipos dosdados dos campos e as contraints, se houver.
create table clientes.
18/05/2016
16
CRIANDO TABELAS
create table cliente(
nome varchar(30),
sexo varchar(1),
cpf numeric(11),
endereco varchar(40),
cidade varchar(30),
primary key(cpf)
);
VISUALIZANDO UMA TABELA
O comando show table é utilizado para mostrar aestrutura de uma tabela que foi criada, nesta estrutura épossível visualizar os nomes dos campos e os tipos dosdados, a sintaxe para o comando é:
show table nome;
show tables;
18/05/2016
17
REMOVENDO UMA TABELA
O comando usado para remover uma tabela é o droptable. Ao fazer uso deste comando, todas os dados databela também serão excluídos.
drop table clientes;
ALTERANDO UMA TABELA
Através do comando alter table é possível alterar aestrutura de uma tabela, o comando abaixo é adicionadouma coluna CPF em uma tabela chamada Aluno:
alter table Aluno add cpf varchar(14);
18/05/2016
18
ALTERANDO UMA TABELA
Usamos o comando alter table também para modificaro tipo ou o tamanho de um campo em uma tabela, ocomando é mostrado abaixo
alter table Aluno alter cpf type char(14);
ALTERANDO UMA TABELA
É possível excluir um campo de uma tabela com ocomando alter table, para isso basta indicar o nome docampo, o comando abaixo nos mostra:
alter table Aluno drop cpf;
18/05/2016
19
EXERCÍCIOS
EXERCÍCIOS
01 – Defina comandos SQL para:
Criar uma nova base de dados chamada Locadora;
Criar as seguintes tabelas:
18/05/2016
20
EXERCÍCIOS
02 – Defina comandos SQL para:
Alterar o campos cod_clientes das tabelas para o tipointeger;
Adicionar na tabela locacao um campo para a data dedevolucao do filme;
Excluir o campo cidade da tabela cliente;
Excluir a tabela categorias.
EXERCÍCIOS
03 – Para o modelo relacional abaixo, execute oscomandos SQL solicitados:
Crie o banco de dados e chame de loja
Crie as tabelas demonstradas no modelo relacional
Crie as chaves primárias e estrangeiras correspondentepara as tabelas.