Banco de dados aula 4

Preview:

DESCRIPTION

 

Citation preview

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

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

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

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;

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.

QUAIS SÃO OS TIPOS DE DADOS EM SQL?

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

QUAIS SÃO OS TIPOS DE DADOS EM SQL?

Integer (Int) Decimal Float Real

OPERADORES

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

FUNÇÕES

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

EXEMPLOS DDL

Criar uma tabela CREATE TABLE

NOME COLUNAS CHAVES RESTRIÇÕES

CLIENTE

ID_CLIENTE

NOME

CPF TEL

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

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

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));

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

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'

EXEMPLOS DML -SELECT

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

PROJEÇÃO

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

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

ORDER BY

Ordena a apresentação dos dados

SELECT nome_coluna1, nome_coluna2, ..., nome_colunaN

FROM nome_tabelaORDER BY nome_coluna ASC | DESC

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

BETWEEN

(semelhante ao AND)

SELECT nome_coluna1, nome_coluna2, ..., nome_colunaN

FROM nome_tabelaWHERE nome_coluna BETWEEN valor1

AND valor2

UPDATE

Atualiza valor armazenado na tabela

UPDATE nome_tabelaSET nome_coluna1 = valor1,

nome_coluna2 = valor2, ..., nome_colunaN = valorN

WHERE condição

DELETE

Excluir dados da tabelaDELETE nome_tabelaWHERE condição

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

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

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