Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Vistas e Transact-SQL, Slides de Sistemas de Gerenciamento do Banco de Dados (SGBD)

Vistas para Sistemas de Bancos de Dados e extensao da linguagem SQL

Tipologia: Slides

2019

Compartilhado em 13/10/2019

Artur_Andrade43
Artur_Andrade43 🇲🇿

1 documento

1 / 29

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
SISTEMAS DE BASES DE DADOS
VISTAS E TRANSACT -
SQL
Ussimane Muieva - 2019 Faculdade de Engenharia
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d

Pré-visualização parcial do texto

Baixe Vistas e Transact-SQL e outras Slides em PDF para Sistemas de Gerenciamento do Banco de Dados (SGBD), somente na Docsity!

SISTEMAS DE BASES DE DADOS

VISTAS E TRANSACT -

SQL

Ussimane Muieva - 2019 Faculdade de Engenharia

Conteúdo da Aula  (^) Vistas  (^) Introdução a transact sql  (^) Elementos básicos da linguagem SQL  (^) Declaracao de variáveis  (^) Ferramentas para controle de cíclos e iterações  (^) Procedimentos armazenados

Vistas Assim como as tabelas no SQL Server, uma vista pode ser criada de duas formas, utilizando o administrador corporativo ou o comando CREATE VIEW Exemplo. CREATE VIEW dbo.[Lista de Empregados] AS SELECT idEmp, Nome, idade, Salario FROM dbo.Empleado.

Propósito de Vistas  (^) Fornece um mecanismo de segurança poderoso e flexível ao ocultar algumas partes da base de dados para determinados utilizadores. Os utilizadores não estão cientes da existência de quaisquer atributos ou tuplas que não foram exibidos.  (^) Permite aos utilizadores acederem os dados de forma personalizada e adaptada às suas necessidades. Os dados podem ser vistos por diferentes utilizadores de diferentes maneiras, ao mesmo tempo  (^) Pode simplificar operações complexas nas relações de base. Os utilizadores podem agora executar operações mais simples na vista, que serão traduzidas pelo SGBD em operações equivalentes na junção com outras relações bases.  (^) Pode ser desenhado para suportar um modelo externo que um determinado utilizador esta familiarizado

Query By Example  (^) Query By Example (QBE) é um método de criação de query que permite o utilizador pesquisar documentos baseando-se em um exemplo num formulário com um ou vários documentos  (^) O Sistema QBE formula o query actual de acordo com os documentos seleccionados, permitindo consultas mais complexas  (^) QBE é uma abordagem visual para aceder dados de uma base de dados através de uso de templates de consultas (Connolly & Begg, 2005 )  (^) QBE foi desenvolvido pela IBM em 1970 para ajudar utilizadores a manipularem dados em uma base de dados  (^) O MS. SQL Server utiliza o sistema QBE na criação de vistas assim como o MS. Office Access nas suas operacoes

Query By Example Sql Server Query By Example Quadro de desenho Lista de campos de cada Tabelas Janela de Output SQl Query equivalente

Elementos básicos para a programção em Transact SQl Transact-SQL é uma extensão do SQL standard adicionando elementos para a programação como: BEGIN e END, IF...ELSE, GOTO, WHILE, CASE, RETURN, BREAK, CONTINUE declaração de variáveis, funcões e procedimentos, etc.

Declaração e uso de variáveis DECLARE @NomeVariavel Tipo Exemplo1 Obter os Empregados com Salario <= 1000

DECLARE @ SalarioMaximo money

SET @SalarioMaximo = $

SELECT * FROM Empregado WHERE Salario <= @SalarioMaximo

Exemplo 2 Obter os salarios máximos e mínimos dos Empregados

DECLARE @Minimo int, @Maximo int

SELECT @Minimo=MIN(Salario), @Maximo=MAX(Sal

ario)

FROM Empregado

Ferramentas para controle de cíclos e iterações.

BEGIN…END Para definir um grupo de sentencas que por geral se

executam em um IF, ELSE, o WHILE. GOTO label

GOTO etiqueta Para saltar instruções

IF…ELSE Sentença condicional que permite uma das alternativas.

RETURN [ n ] Utilizado no general em procedimientos

Armazenados ou triggers para retornar um valor negativo ou

positivo.

WAITFOR Para por um tempo de espera (até 24 horas)

WHILE Se utiliza na construção de cíclos. Repetir um conjunto de

instruções ate que se cumpra uma condição.

BREAK Se utiliza para interromper a execução de um ciclo

CONTINUE Para voltar ao começo do cíclo

CASE Instrução condicional que permite tomar uma decisão dentre

várias

Exemplos Uso do IF...ELSE Exemplo 1: Classificar o Salario em Alto, baixo ou medio DECLARE @TotalSalario Money DECLARE @Classe as char(7) SET @TotalSalario = (SELECT TotalSalario = SUM(Salario) FROM Empregado) IF @TotalSalario < 500 SET @Classe = 'Baixo' ELSE BEGIN IF @TotalSalario >= 500 and @TotalSalario < 1000 SET @Classe = 'Medio' ELSE SET @Classe = 'Alto' END SELECT @Clase

Exemplos

Obter o total de salarios por departamento

SELECT

Departamento.Nome,

'Salario' = SUM(CASE

WHEN Salario IS NULL THEN 0

ELSE Salario

END)

FROM Empregado, Departamento

WHERE Empregado.NroDepto = Departamento.NroDepto

GROUP BY Departamento.Nome

Controle de cíclos e iterações.

Uso do WHILE

Exemplo 1 Converter graus radianos de 0 a 180 com

passo 10

DECLARE @graus smallint DECLARE @radianos float SET @graus= SET @radianos= WHILE (@graus <= 180) BEGIN SELECT GRAUS =@graus, RADIANOS=STR (@radianos, 8, 5), SENO=STR ( SIN (@radianos), 8, 5), COSENO=STR(COS (@radianos), 8, 5), TANGENTE=STR ( TAN (@radianos), 8, 5) SET @graus=@graus + 10 SET @radianos =RADIANS ( CONVERT (float, @graus)) END

Uso de GOTO BEGIN TRANSACTION INSERT Empregado VALUES (11, ‘Selemane', 20,

IF @@ERROR <> 0 GOTO ABORTAR COMMIT TRANSACTION SELECT * FROM Empregado GOTO FIM ABORTAR : ROLLBACK TRANSACTION PRINT 'Error' FIM:

Procedimentos Armazenados. São módulos de programas que se armazenam na Base de dados para depois serem executados com comandos apartir do cliente. Podem conter operações para realizar consultas à base de dados, efectuar modificações, inserções, e eliminações. Funcionam como procedimentos e funções de linguagens de alto nível.