SEGUNDA FASE / S2B MIC PERNAMBUCO Banco de Dados Diego von Söhsten Microsoft Certified Technology...

18
SEGUNDA FASE / S2B MIC PERNAMBUCO SEGUNDA FASE / S2B MIC PERNAMBUCO Banco de Dados Diego von Söhsten Microsoft Certified Technology Specialist Analista de Desenvolvimento Allen Informática Recife [email protected] twitter.com/diegovonsohsten

Transcript of SEGUNDA FASE / S2B MIC PERNAMBUCO Banco de Dados Diego von Söhsten Microsoft Certified Technology...

Page 1: SEGUNDA FASE / S2B MIC PERNAMBUCO Banco de Dados Diego von Söhsten Microsoft Certified Technology Specialist Analista de Desenvolvimento Allen Informática.

SE

GU

ND

A F

AS

E /

S2

B

MIC

PE

RN

AM

BU

CO

SE

GU

ND

A F

AS

E /

S2

B

MIC

PE

RN

AM

BU

CO

Banco de Dados

Diego von SöhstenMicrosoft Certified Technology SpecialistAnalista de DesenvolvimentoAllen Informática [email protected]/diegovonsohsten

Page 2: SEGUNDA FASE / S2B MIC PERNAMBUCO Banco de Dados Diego von Söhsten Microsoft Certified Technology Specialist Analista de Desenvolvimento Allen Informática.

Temos basicamente 3 tipos de manipulação de informação no BD: DML - Data Manipulation Language DDL - Data Definition Language DCL - Data Control Language

Cada uma delas é de extrema importância para a utilização do banco de dados, porém, a mais conhecida e utilizada é a DML, na qual temos os controles SELECT, INSERT, UPDATE e DELETE.

Page 3: SEGUNDA FASE / S2B MIC PERNAMBUCO Banco de Dados Diego von Söhsten Microsoft Certified Technology Specialist Analista de Desenvolvimento Allen Informática.

DDL – DATA DEFINITION LANGUAGE

CREATE DATABASE [nome do banco]

Comando utilizado para criar um banco de dados. CREATE TABLE

Comando utilizado para criar uma tabela. ALTER TABLE

Comando utilizado para alterar uma tabela. DROP TABLE

Comando utilizado para apagar uma tabela.

Page 4: SEGUNDA FASE / S2B MIC PERNAMBUCO Banco de Dados Diego von Söhsten Microsoft Certified Technology Specialist Analista de Desenvolvimento Allen Informática.

Exemplo: criando a tabela produto, no banco de dados supermercado, com os atributos id, nomeproduto, fabricante e preco unitario.

USE supermercadoCREATE TABLE produto(id int, nomeproduto varchar(40),fabricante varchar(30), [preco unitario] float)GO

USE supermercadoCREATE TABLE produto(id int, nomeproduto varchar(40),fabricante varchar(30), [preco unitario] float)GO

DDL – DATA DEFINITION LANGUAGE

Page 5: SEGUNDA FASE / S2B MIC PERNAMBUCO Banco de Dados Diego von Söhsten Microsoft Certified Technology Specialist Analista de Desenvolvimento Allen Informática.

DCL – DATA CONTROL LANGUAGE

GRANT

Dá permissão para determinada tarefa. DENY

Nega permissão para determinada tarefa. REVOKE

Remove uma permissão Grant ou Deny para determinada tarefa.

Page 6: SEGUNDA FASE / S2B MIC PERNAMBUCO Banco de Dados Diego von Söhsten Microsoft Certified Technology Specialist Analista de Desenvolvimento Allen Informática.

Exemplo:

Permitir que todos possam usar o comando Select na tabela produto, no banco de dados supermercado.

DCL – DATA CONTROL LANGUAGE

USE northwindGRANT SELECT ON products TO publicGO

USE northwindGRANT SELECT ON products TO publicGO

Page 7: SEGUNDA FASE / S2B MIC PERNAMBUCO Banco de Dados Diego von Söhsten Microsoft Certified Technology Specialist Analista de Desenvolvimento Allen Informática.

DML – DATA MANIPULATION LANGUAGE

SELECT

Seleciona uma tabela ou parte de uma tabela para consulta.

INSERT

Insere dados em uma tabela. DELETE

Apaga dados de uma tabela. UPDATE

Atualiza dados de uma tabela.

Page 8: SEGUNDA FASE / S2B MIC PERNAMBUCO Banco de Dados Diego von Söhsten Microsoft Certified Technology Specialist Analista de Desenvolvimento Allen Informática.

Exemplo: inserir dados em uma tabela, atualizá-los, consultá-los e depois apagá-los.

DML – DATA MANIPULATION LANGUAGE

USE supermercadoINSERT INTO produtoVALUES (1, ‘Refrigerante 2L’, ‘Fabricante’, 3.00)UPDATE produto SET precounitario=2.80WHERE id = 1SELECT id, nomeproduto, fabricante, precounitarioFROM produtoDELETE FROM produtoWHERE id = 1GO

USE supermercadoINSERT INTO produtoVALUES (1, ‘Refrigerante 2L’, ‘Fabricante’, 3.00)UPDATE produto SET precounitario=2.80WHERE id = 1SELECT id, nomeproduto, fabricante, precounitarioFROM produtoDELETE FROM produtoWHERE id = 1GO

Page 9: SEGUNDA FASE / S2B MIC PERNAMBUCO Banco de Dados Diego von Söhsten Microsoft Certified Technology Specialist Analista de Desenvolvimento Allen Informática.

GO Define os lotes de instruções Transact-SQL para

ferramentas e utilitários Não é uma instrução Transact-SQL real

EXEC Executa uma função definida pelo usuário,

um procedimento do sistema, um procedimento armazenado definido pelo usuário ou um procedimento armazenado estendido

Controla a execução de uma seqüência de caracteresem um lote do Transact-SQL

Page 10: SEGUNDA FASE / S2B MIC PERNAMBUCO Banco de Dados Diego von Söhsten Microsoft Certified Technology Specialist Analista de Desenvolvimento Allen Informática.

Comentários em linha

Comentários em bloco

USE northwindSELECT productname

, (unitsinstock - unitsonorder) -- Calcula o inventário

, supplieridFROM products

GO

USE northwindSELECT productname

, (unitsinstock - unitsonorder) -- Calcula o inventário

, supplieridFROM products

GO

/* Este código recupera todas as linhas da tabela products e exibe o preço unitário, o preço unitário aumentado em 10% e o nome do produto. */USE northwindSELECT unitprice, (unitprice * 1.1), productname FROM productsGO

/* Este código recupera todas as linhas da tabela products e exibe o preço unitário, o preço unitário aumentado em 10% e o nome do produto. */USE northwindSELECT unitprice, (unitprice * 1.1), productname FROM productsGO

Exemplo 3Exemplo 3

Exemplo 1Exemplo 1

Page 11: SEGUNDA FASE / S2B MIC PERNAMBUCO Banco de Dados Diego von Söhsten Microsoft Certified Technology Specialist Analista de Desenvolvimento Allen Informática.

Identificadores padrão O primeiro caractere deve ser um caractere

alfabético Outros caracteres podem incluir letras, numerais

ou símbolos Os nomes de identificadores que começam com

um símbolo têm utilizações especiais Identificadores delimitados

Use quando os nomes contiverem espaços incorporados

Use quando palavras reservadas forem partesde nomes

Delimite-os por colchetes ([ ]) ou aspas duplas (" ")

Page 12: SEGUNDA FASE / S2B MIC PERNAMBUCO Banco de Dados Diego von Söhsten Microsoft Certified Technology Specialist Analista de Desenvolvimento Allen Informática.

Definidas pelo usuário com a instrução DECLARE precedida de um símbolo @

Recebem valores através de uma instrução SETou SELECT precedida de um símbolo @

Têm escopo local

USE northwindDECLARE @EmpID varchar(11) ,@vlName char(20)SET @vlname = 'Dodsworth'SELECT @EmpID = employeeid FROM employees WHERE LastName = @vlnameSELECT @EmpID AS EmployeeID GO

USE northwindDECLARE @EmpID varchar(11) ,@vlName char(20)SET @vlname = 'Dodsworth'SELECT @EmpID = employeeid FROM employees WHERE LastName = @vlnameSELECT @EmpID AS EmployeeID GO

Page 13: SEGUNDA FASE / S2B MIC PERNAMBUCO Banco de Dados Diego von Söhsten Microsoft Certified Technology Specialist Analista de Desenvolvimento Allen Informática.

Funções agregadas

Funções escalares

USE northwindSELECT AVG (unitprice) AS AvgPrice FROM productsGO

USE northwindSELECT AVG (unitprice) AS AvgPrice FROM productsGO

USE northwindSELECT DB_NAME() AS 'database‘GO

USE northwindSELECT DB_NAME() AS 'database‘GO

Page 14: SEGUNDA FASE / S2B MIC PERNAMBUCO Banco de Dados Diego von Söhsten Microsoft Certified Technology Specialist Analista de Desenvolvimento Allen Informática.

SELECT 'ANSI:', CONVERT(varchar(30), GETDATE(), 102) AS StyleUNIONSELECT 'Japanese:', CONVERT(varchar(30), GETDATE(), 111)UNIONSELECT 'European:', CONVERT(varchar(30), GETDATE(), 113)GO

SELECT 'ANSI:', CONVERT(varchar(30), GETDATE(), 102) AS StyleUNIONSELECT 'Japanese:', CONVERT(varchar(30), GETDATE(), 111)UNIONSELECT 'European:', CONVERT(varchar(30), GETDATE(), 113)GO

Resultado

StyleStyleStyleStyle

ANSI:ANSI:

Japanese:Japanese:

European:European:

1998.11.201998.11.20

11/20/9811/20/98

20 Nov 1998 16:44:12:85720 Nov 1998 16:44:12:857

Exemplo 1

Page 15: SEGUNDA FASE / S2B MIC PERNAMBUCO Banco de Dados Diego von Söhsten Microsoft Certified Technology Specialist Analista de Desenvolvimento Allen Informática.

Combinação de símbolos e operadores Avaliação como um único valor escalar Resultado de tipo de dados dependentes dos

elementos na expressão

USE northwindSELECT OrderID, ProductID ,(UnitPrice * Quantity) as ExtendedAmount FROM [Order Details] WHERE (UnitPrice * Quantity) > 10000GO

USE northwindSELECT OrderID, ProductID ,(UnitPrice * Quantity) as ExtendedAmount FROM [Order Details] WHERE (UnitPrice * Quantity) > 10000GO

Page 16: SEGUNDA FASE / S2B MIC PERNAMBUCO Banco de Dados Diego von Söhsten Microsoft Certified Technology Specialist Analista de Desenvolvimento Allen Informática.

Nível de instrução Blocos BEGIN … END Blocos IF … ELSE Construções com WHILE

Nível de registro Expressão CASE

DECLARE @n tinyintSET @n = 5IF (@n BETWEEN 4 and 6) BEGIN WHILE (@n > 0) BEGIN SELECT @n AS 'Number' ,CASE WHEN (@n % 2) = 1 THEN 'EVEN' ELSE 'ODD' END AS 'Type' SET @n = @n - 1 END ENDELSE PRINT 'SEM ANÁLISE'GO

DECLARE @n tinyintSET @n = 5IF (@n BETWEEN 4 and 6) BEGIN WHILE (@n > 0) BEGIN SELECT @n AS 'Number' ,CASE WHEN (@n % 2) = 1 THEN 'EVEN' ELSE 'ODD' END AS 'Type' SET @n = @n - 1 END ENDELSE PRINT 'SEM ANÁLISE'GO

Exemplo 2Exemplo 2

Page 17: SEGUNDA FASE / S2B MIC PERNAMBUCO Banco de Dados Diego von Söhsten Microsoft Certified Technology Specialist Analista de Desenvolvimento Allen Informática.

Como podemos administrar um banco de dados? Primeiramente temos que identificar seu principais

pontos de preocupação: Rotinas de freqüente execução Backup Performance (SW e HW) Utilização do equipamento

Page 18: SEGUNDA FASE / S2B MIC PERNAMBUCO Banco de Dados Diego von Söhsten Microsoft Certified Technology Specialist Analista de Desenvolvimento Allen Informática.