banco de dados aula 4

26
BANCO DE DADOS Linguagem de definição de dados - SQL

Upload: ed-jr

Post on 18-Dec-2014

3.498 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Banco de dados aula 4

BANCO DE DADOSLinguagem de definição de dados - SQL

Page 2: Banco de dados aula 4

INTRODUÇÃO

A linguagem SQL (Structure Query Language) surgiu no início dos anos 70, como resultado de um projeto da IBM para desenvolvimento de uma linguagem que se adequasse ao modelo relacional.

A linguagem SQL é basicamente uma linguagem de consulta a banco de dados, sendo ela relacional, isto é, ela é ideal para o tratamento de dados relacionados, aqueles que podem ser arranjados em uma tabela.

Utilizando a linguagem SQL pode se criar tabelas e também acessar os dados ali cadastrados

Page 3: Banco de dados aula 4

A ESTRUTURA DA LINGUAGEM SQL

A linguagem de programação SQL é formada por um grupo muito grande de comandos que podem ser executados para os mais diversos objetivos.

Estes comandos são divididos em:

DDL DML

Page 4: Banco de dados aula 4

LINGUAGEM DE DEFINIÇÃO DE DADOS (DATA DEFINITION LANGUAGE -DDL)

Fornece comandos para a criação e

modificação das tabelas do modelo de banco de dados, bem como a remoção de tabelas e criação de índices.os principais comandos que fazem parte da DDL são: Create Table, Drop Table e Alter Table;

Page 5: Banco de dados aula 4

LINGUAGEM DE MANIPULAÇÃO DE DADOS( DATA MANIPULATION LANGUAGE -DML)

Inclui uma linguagem de consulta aos dados

das tabelas. Compreende os comandos para inserir, remover e modificar informações em um BD. Os comandos básicos da DML são: Select, Insert, Update e Delete.

Page 6: Banco de dados aula 4

QUAIS SÃO OS TIPOS DE DADOS EM SQL?

Varchar (n) Bit (n) Bit Varying Date Time

Page 7: Banco de dados aula 4

QUAIS SÃO OS TIPOS DE DADOS EM SQL?

Integer (Int) Decimal Float Real

Page 8: Banco de dados aula 4

OPERADORES

Lógicos - Or, And, Not Relacionais - >, <, >=,<>, Like, Between Aritméticos - +, - ,* ,/ Conjunturais - Any, All, Exist, In

Page 9: Banco de dados aula 4

FUNÇÕES

AVG Média MAX Maior Valor MIN Mínimo COUNT Contar SUM Somar

Page 10: Banco de dados aula 4

EXEMPLOS DDL

Criar uma tabela CREATE TABLE

NOME COLUNAS CHAVES RESTRIÇÕES

CLIENTE

ID_CLIENTE

NOME

CPF TEL

Page 11: Banco de dados aula 4

EXEMPLOS DDL

CREATE TABLE CLIENTE(ID_CLIENTE INT(11) NOT NULL,NOME VARCHAR (50), CPF VARCHAR(50),TEL VARCHAR (50),PRIMARY KEY (ID_CLIENTE) );

ID_CLIENTE

NOME

CPF TEL

Page 12: Banco de dados aula 4

EXEMPLOS DDL

CREATE TABLE PEDIDO(ID_PEDIDO INT (14) NOT NULL,ID_CLIENTE INT (11),DATAVENDA DATE,PRIMARY KEY (ID_PEDIDO)FOREIGN KEY (ID_CLIENTE) REFERENCES

CLIENTE(ID_CLIENTE));

ID_PEDIDO ID_CLIENTE DATAVENDA

Page 13: Banco de dados aula 4

EXEMPLOS DDL Remover uma tabela - DROP TABLE Alterar uma tabela - ALTER TABLE

ALTER TABLE - Altera uma tabelaALTER TABLE nome_tabela RENAME novo_nome

DROP TABLE - Excluir uma tabelaDROP TABLE nome_tabela

Alterando uma tabela, adicionando uma nova coluna:

ALTER TABLE CLIENTES ADD COLUMN (TELEFONE VARCHAR(10) NOT NULL);

Alterando uma tabela, modificando uma coluna:

ALTER TABLE CLIENTES MODIFY COLUMN (TELEFONE VARCHAR(12));

Page 14: Banco de dados aula 4

EXEMPLOS DML

Inserir um registro

INSERT INTO NOME_TABELA(COLUNAS)VALUES (VALORES PARA AS COLUNAS)

INSERT INTO 'PRODUTO'(ID_PRODUTO, NOME, PREÇO)VALUES( 1, 'VIOLÃO', '550')

ID_PRODUTO NOME PREÇO

001 VIOLÃO 550

Page 15: Banco de dados aula 4

EXEMPLOS DML

SELECT - COMANDO MAIS IMPORTANTE PROCESSAMENTO DE CONSULTAS

CLÁUSULAS SELECT = O QUE FROM= DE ONDE WHERE= CONDIÇÃO

SELECT * todos os campos: seleçãoFROM PRODUTOWHERE NOME='VIOLÃO'

Page 16: Banco de dados aula 4

EXEMPLOS DML -SELECT

SELECT CLIENTE.NOME, PEDIDO.DATAFROM CLIENTE, PEDIDOWHERE PEDIDO.DATA BETWEEN '21/06/2010' AND '30/06/2010'

PROJEÇÃO

Page 17: Banco de dados aula 4

ATIVIDADES Com base no modelo de dados a seguir,

escreva com os comandos SQL que realizam cada uma das tarefas solicitadas.

Produto

Codigo_produto Integer NN (PK)

Descricao_Produto Varchar(30) NN

Preco_Produto Float NN

Itens

Cod_Prod Integer NN (PFK)

NumNF Integer NN (PFK)

Num_Item Integer NN

Qde_Item Float NN

Nota_Fiscal

Numero_NF Integer NN (PK)

Data_NF Date NN

Valor_NF Float NN

Possui

Pertence

LegendaPK - Chave PrimáriaNN- Not NullPFK- Chave primária e estrangeira

Page 18: Banco de dados aula 4

OUTROS COMANDOS SQL

Operadores AND / ORSELECT nome_coluna1, nome_coluna2, ...,

nome_colunaNFROM nome_tabelaWHERE condição1 AND condição2

SELECT nome_coluna1, nome_coluna2, ..., nome_colunaN

FROM nome_tabelaWHERE condição1 OR condição2

Page 19: Banco de dados aula 4

ORDER BY

Ordena a apresentação dos dados

SELECT nome_coluna1, nome_coluna2, ..., nome_colunaN

FROM nome_tabelaORDER BY nome_coluna ASC | DESC

Page 20: Banco de dados aula 4

LIKE

Condição para seleção de linhas (registros) da tabela usando textos

SELECT nome_coluna1, nome_coluna2, ..., nome_colunaN

FROM nome_tabelaWHERE nome_coluna LIKE padrão

Page 21: Banco de dados aula 4

BETWEEN

(semelhante ao AND)

SELECT nome_coluna1, nome_coluna2, ..., nome_colunaN

FROM nome_tabelaWHERE nome_coluna BETWEEN valor1

AND valor2

Page 22: Banco de dados aula 4

UPDATE

Atualiza valor armazenado na tabela

UPDATE nome_tabelaSET nome_coluna1 = valor1,

nome_coluna2 = valor2, ..., nome_colunaN = valorN

WHERE condição

Page 23: Banco de dados aula 4

DELETE

Excluir dados da tabelaDELETE nome_tabelaWHERE condição

Page 24: Banco de dados aula 4

FUNÇÕES AGREGADORAS

SUM() – soma de valoresSELECT SUM (nome_coluna)FROM nome_tabela

COUNT() - contagem de linhas (registros)

SELECT COUNT (nome_coluna)FROM nome_tabela

AVG() - média aritmética de valoresSELECT AVG (nome_coluna)FROM nome_tabela

Page 25: Banco de dados aula 4

FUNÇÕES AGREGADORAS MAX () - o maior valor de uma coluna da

tabelaSELECT MAX (nome_coluna)FROM nome_tabela

MIN () - o menor valor de uma coluna da tabela

SELECT MIN (nome_coluna)FROM nome_tabela

GROUP BY – agrupar os dados, utilizando uma função agregadora

SELECT nome_coluna1, função_agregadora (nome_coluna2)

FROM nome_tabelaGROUP BY nome_coluna1

Page 26: Banco de dados aula 4

FUNÇÕES AGREGADORAS

HAVING

SELECT nome_coluna1, função_agregadora (nome_coluna2)

FROM nome_tabelaGROUP BY nome_coluna1HAVING função_agregadora

(nome_coluna2) condição