Buscar

8 SQL SERVER 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 62 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 62 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 62 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Banco de Dados
SGBD
SGBDR
Sistema Gerenciador de Banco de Dados 
Relacional.
Trata-se de um Sistema de gerenciamento de
 Banco de Dados baseado no modelo relacional.
Composição de um Banco de Dados
Tabelas
Campos(Colunas)
Registros(Linhas)
Tabelas
Objetos onde são armazenados os dados em um
 banco de dados relacional.
Uma tabela é uma coleção de entradas de dados
 relacionados e consiste em linhas e colunas.
Campo
São entidades que representam atributos dos 
dados, como Nome, Data de Nascimento, 
Salário, Preço, etc.
Um campo é uma coluna em uma tabela que
 mantém informações especificas sobre cada 
registro.
Registros
Linha, ou Tupla.
Cada entrada individual em uma tabela. Trata-se
 de um conjunto de campos relacionados que 
caracterizam os dados de uma entidade única.
Structured Query Language
Linguagem de Consulta Estruturada padrão para acesso a Bancos de Dados
Usada em inúmeros sistemas, como MySQL, SQL Server, Oracle, Sybase, Access, DB2, PostgreSQL, etc.
Cada sistema pode usar um “dialeto” do SQL, como T-SQL (SQL Server), PL/SQL (Oracle), JET SQL (Access), etc.
Funções da SQL
Permite o acesso a dados em SGBDR
Permite definir os dados no banco de dados e manipulá-los
Pode ser embutido em outras linguagens usando módulos SQL, bibliotecas, etc.
Permite criar e excluir banco de dados e tabelas.
Permite a criação de Visões (Exibições), Stored Procedures e Funções	em um Banco de Dados.
Permite configurar permissões de acesso em tabelas, procedimentos e visões.
Grupos de Comandos
Os comandos SQL podem ser divididos em quatro grupos principais:
DDL
DML
DCL
DQL
DDL – Data Definition Language
Comando
Descrição
CREATE
Cria uma nova tabela, visão ou outro objeto noBD.
ALTER
Modifica um objeto existente no BD, como umatabela.
DROP
Exclui uma tabela inteira, uma exibição de uma tabela ou outro objeto no banco de dados.
DML – Data Manipulation Language
Comando
Descrição
INSERT
Cria um registro (linha).
UPDATE
Modifica registros.
DELETE
Exclui registros.
DCL – Data Control Language
Comando
Descrição
GRANT
Dá privilégiosa um usuário.
REVOKE
Retiraprivilégios fornecido a um usuário.
DQL – Data Query Language
Comando
Descrição
SELECT
Obtém registros específicosde uma ou mais tabelas.
Tipos de Dados
Tipos de Dados
Banco de Dados
Instalação do SQL Server 2012
Download do SQL versão 2012
18
Download do SQL versão 2012
Download do SQL versão 2012
Banco de Dados
Criando o Banco de Dados 
CREATE DATABASE db_Biblioteca
ON PRIMARY (
NAME=db_biblioteca,
FILENAME='C:\SQL\db_Biblioteca.MDF',
SIZE=6MB,
MAXSIZE=15MB,
FILEGROWTH=10%
)
CREATE DATABASE
Comandos SQL – Setar BD
Sintaxe:
	USE banco_de_dados
Exemplo:
	USE db_Biblioteca
Comandos SQL – sp_helpdb
Informa o tamanho, taxa de crescimento e local do banco de dados.
Sintaxe:
	sp_helpdb BANCO_DADOS
Exemplo:
	sp_helpdb db_Biblioteca
SQL Constraints (Restrições)
Restrições são regras aplicada nas colunas de uma tabela.
São usadas para limitar os tipos de dados que são inseridos.
Podem ser especificadas no momento de criação da tabela (CREATE) ou após a tabela ter sido criada (ALTER).
SQL Constraints (Restrições)
Principais:
NOT NULL
UNIQUE
PRIMARY KEY
FOREIGN KEY
CHECK
DEFAULT
SQL Constraints (Restrições)
NOT NULL:
A constraint NOT NULL impõe a uma coluna a NÃO aceitar valores NULL.
A constraint NOT NULL obriga um campo a sempre possuir um valor.
Deste modo, não é possível inserir um registro (ou atualizar) sem entrar com um valor neste campo.
SQL Constraints (Restrições)
UNIQUE:
A restriçãoUNIQUE identifica de forma única cada registro em uma tabela de um banco de dados.
As constraints UNIQUE e PRIMARY KEY garantem a unicidade em uma coluna ou conjunto de colunas.
Uma constraint PRIMARY KEY automaticamente possui uma restrição UNIQUE definida.
Você pode ter várias constraint UNIQUE em uma tabela, mas apenas uma Chave Primária por tabela.
SQL Constraints (Restrições)
PRIMARY KEY:
A PRIMARY KEY identifica de forma única cada registro de uma tabela de banco de dados.
Chaves Primárias devem conter valores únicos.
Uma coluna de Chave Primária não pode conter valores NULL.
Cada tabela deve ter uma Chave Primária e apenas uma Chave Primária.
SQL Constraints (Restrições)
FOREIGN KEY:
Uma Chave Estrangeira em uma tabela é um campo que aponta para uma Chave Primária em outra tabela.
CONSTRAINT fk_ID_Autor FOREIGN KEY (ID_Autor) REFERENCES tbl_altores (ID_Autor)
Neste exemplo a Chave Primária esta na tabela tbl_autores e uma Chave Estrangeira de nome ID_Autor foi criada na tabela atual, usando o nome fk_ID_Autor.
SQL Constraints (Restrições)
CHECK:
A constraint CHECK é usada para limitar uma faixa de valores que possam ser colocados em uma coluna.
Se uma constraint CHECK for definida em uma única coluna ela permitirá apenas determinados valores para a coluna.
Se a constraint CHECK for definida para uma tabela, ela poderá limitar os valores em algumas colunas com base nos valores de outras colunas do registro.
SQL Constraints (Restrições)
DEFAULT:
A restrição DEFAULT é usada para definir um valor padrão em uma coluna.
O valor padrão será adicionado a todos novos registros caso nenhum outro valor seja especificado.
Criar Tabelas
USE db_Biblioteca
CREATE TABLE tbl_Livro
(ID_Livro SMALLINT PRIMARY KEY IDENTITY(100,1),
Nome_Livro VARCHAR(50) NOT NULL,
ISBN VARCHAR(30) NOT NULL UNIQUE,
Data_Pub DATETIME NOT NULL,
Preco_Livro MONEY NOT NULL,
ID_Autor SMALLINT NOT NULL
ID_Editora SMALLINT NOT NULL)
Criar outra tabela
USE db_Biblioteca
CREATE TABLE tbl_Autores
(ID_Autor SMALLINT PRIMARY KEY,
Nome_Autor VARCHAR(50),
SobreNome_Autor VARCHAR(60)
)
Inserir Dados
Inserir dados em uma tabela:
INSERT INTO tabela (coluna1, coluna2, ...)
VALUES (Valor1, Valor2, ...)
Inserir Dados – Tabela de Autores
INSERT INTO tbl_Autores (ID_Autor, Nome_Autor, SobreNome_Autor) VALUES (1,’Daniel’,’Barret’)
INSERT INTO tbl_Autores (ID_Autor, Nome_Autor, SobreNome_Autor) VALUES (2,’Gerald’,’Carter’)
INSERT INTO tbl_Autores (ID_Autor, Nome_Autor, SobreNome_Autor) VALUES (3,’Mark’,’Sobell’)
INSERT INTO tbl_Autores (ID_Autor, Nome_Autor, SobreNome_Autor) VALUES (4,’Willian’,’Stanek’)
INSERT INTO tbl_Autores (ID_Autor, Nome_Autor, SobreNome_Autor) VALUES (5,’Richard’,’Blum’)
	
Inserir Dados – Tabela de Editoras
INSERT INTO tbl_Editoras (Nome_Editora) VALUES (‘Prentice Hall’)
INSERT INTO tbl_Editoras (Nome_Editora) VALUES (‘Reilly’)
INSERT INTO tbl_Editoras (Nome_Editora) VALUES (‘Microsoft Press’)
INSERT INTO tbl_Editoras (Nome_Editora) VALUES (‘Wiley’)
	
Inserir Dados – Tabela de Livros
INSERT INTO tbl_Livro (Nome_Livro, ISBN, Data_Pub, Preco_Livro, ID_Autor, ID_Editora) VALUES (‘Linux Command Line’, 987334557, ‘20091221’, 68.35, 5, 4)
INSERT INTO tbl_Livro (Nome_Livro, ISBN, Data_Pub, Preco_Livro, ID_Autor, ID_Editora) VALUES (‘SSH, the Secure Shell’, 873345777, ‘20140923’, 58.30, 1, 2)
INSERT INTO tbl_Livro (Nome_Livro, ISBN, Data_Pub, Preco_Livro, ID_Autor, ID_Editora) VALUES (‘Using Samba’, 234009551, ‘20100215’, 61.45, 2, 2)
	
Inserir Dados – Tabela de Livros
INSERT INTO tbl_Livro (Nome_Livro, ISBN, Data_Pub, Preco_Livro, ID_Autor, ID_Editora) VALUES (‘Fedora And Red Hat Linux’, 123346789, ‘20101101’, 62.24, 3, 1)
INSERT INTO tbl_Livro (Nome_Livro, ISBN, Data_Pub, Preco_Livro, ID_Autor, ID_Editora) VALUES (‘Windows Server 2012’, 123356789, ‘20040517’, 66.80, 4, 3)
INSERT INTO tbl_Livro (Nome_Livro, ISBN, Data_Pub, Preco_Livro, ID_Autor, ID_Editora) VALUES (‘Microsoft Exchange Server 2010’, 123366789, ‘20001221’, 45.30, 4, 3)
	
TRUNCATE TABLE
Remove todas as linhas de uma tabela sem registrar as exclusões de linhas individuais.
TRUNCATE TABLE é como a instrução DELETE sem utilizar a cláusula WHERE.
Entretanto, TRUNCATE TABLE é mais rápida e utiliza menos recursos de sistema e log de transações.
Sintaxe: TRUNCATE TABLE nome_tabela
Consultas SimplesSELECT coluna FROM tabela
Ex.:
SELECT Nome_Autor FROM tbl_Autores
SELECT * FROM tbl_Autores
SELECT Nome_Livro FROM tbl_Livro
SELECT Campo1, Campo2, ... FROM nome_Tabela
ORDER BY
A palavra-chave ORDER BY é usada para ordenar o conjunto-resultado de registros.
ASC – Ordem Ascendente
DESC – Ordem Descendente (inversa)
SELECT * FROM tbl_Livro
ORDER BY Nome_Livro [ASC]
Seleção com Ordenação
SELECT colunas FROM tabela
ORDER BY coluna_a_ordenar
Ex.:
SELECT * FROM tbl_Livro ORDER BY Nome_Livro
(ordem crescente)
SELECT * FROM tbl_Livro ORDER BY coluna DESC
(ordem decrescente)
SELECT DISTINCT
Algumas colunas podem conter valores duplicados. Para exibir apenas valores diferentes (“distintos”), use a palavra-chave DISTINCT.
SELECT DISTINCT coluna 
FROM tabela
SELECT DISTINCT ID_Autor 
FROM tbl_Livro
Cláusula WHERE
Permite filtrar registros em uma consulta.
SELECT coluna FROM tabela WHERE coluna=valor
Ex.: 
SELECT * FROM tbl_Livro WHERE ID_Autor=‘1’
SELECT ID_Autor FROM tbl_Autores WHERE Sobrenome_Autor = ‘Stanek’ 
Operadores AND e OR
Usados para filtrar registros baseadas em mais de uma condição.
O operador AND mostra um registro se ambas as condições forem verdadeiras.
O operador OR mostra um registro se pelo menos uma das condições for verdadeira.
Exemplo – Operadores AND e OR
SELECT * FROM tbl_Livro
WHERE ID_Livro > 2 AND ID_Autor < 3
SELECT * FROM tbl_Livro
WHERE ID_Livro > 2 OR ID_Autor < 3
SELECT TOP
Usado para especificar o número de registros a retornar.
Útil para tabelas com muitos registros.
SELECT TOP número|percentual colunas FROM tabela
SELECT TOP 10 PERCENT Nome_Livro FROM tbl_Livro
SELECT TOP 2 Nome_Livro FROM tbl_Livro
SQL Alias
Pode-se dar um nome diferente a uma coluna ou tabela em uma consulta.
SELECT colunas
AS nome_alias
FROM tabela
SELECT Nome_Livro
AS Livro
FROM tbl_Livro
Operador UNION
Permite combinar duas ou mais declarações SELECT.
Cada declaração SELECT deve ter o mesmo número de colunas, tipos de dados e ordem das colunas.
SELECT colunas FROM tabela1 UNION
SELECT colunas FROM tabela2
SELECT ID_Autor FROM tbl_autores UNION
SELECT ID_Autor FROM tbl_Livro
SELECT INTO
Seleciona dados de uma ou mais tabelas e os insere em uma tabela diferente.
Pode ser usada para criar cópias de backup de tabelas.
SELECT * 
INTO nova_tabela
FROM tabela_atual
SELECT Nome_Livro, ID_Autor
INTO LivroAutor
FROM tbl_Livro
WHERE ID_Livro > 102
Funções Agregadas
SELECT COUNT(*) FROM tbl_Autores
SELECT MAX(Preco_Livro) FROM tbl_Livro
SELECT MIN(Preco_Livro) FROM tbl_Livro
SELECT AVG(Preco_Livro) FROM tbl_Livro
SELECT SUM(Preco_Livro) FROM tbl_Livro
BETWEEN – Seleção de Intervalos
SELECT coluna FROM tabela
WHERE coluna BETWEEN valor1 AND valor2
SELECT * FROM tbl_Livro
WHERE Data_Pub BETWEEN 20040517 AND 20100517
SELECT Nome_Livro AS Livro, Preco_Livro AS Preco
FROM tbl_Livro
WHERE Preco_Livro BETWEEN 40.00 AND 60.00
LIKE e NOT LIKE
Determina se uma cadeia de caracteres específica corresponde a um padrão especificado. Um padrão pode incluir caracteres normais e curingas.
NOT LIKE inverte a comparação, verificando se a cadeia de caracteres NÃO corresponde ao padrão especificado.
Usado junto com o WHERE.
WHERE coluna LIKE padrão
LIKE – Padrões Específicos
‘%’ – Qualquer cadeia de 0 ou mais caracteres
‘_’ – Sublinhado: qualquer caracter único
‘[ ]’ – Qualquer caracter único no intervalo ou conjunto especificado ([a-h]; [aeiou])
Ex:
SELECT Nome_Livro
FROM tbl_Livro
WHERE Nome_Livro LIKE ‘%’|’W%’|’_i%’|’[SW]%’
JOINS
A palavra-chave JOIN é usada para obter dados proveniente de duas ou mais tabelas, baseado em um relacionamento entre colunas nestas tabelas.
JOINS - Tipos
INNER JOIN: Retorna linhas quando houver pelo menos uma correspondência em ambas as tabelas.
OUTER JOIN: Retorna linhas mesmo quando não houver pelo menos uma correspondência em uma das tabelas (ou ambas). O OUTER JOIN divide-se em LEFT JOIN, RIGHT JOIN e FULL JOIN.
INNER JOIN
SELECT colunas
FROM tabela1
INNER JOIN tabela2
ON tabela1.coluna = tabala2.coluna
Ex.:
SELECT * FROM tbl_Livro
INNER JOIN tbl_Autores
ON tbl_Livro.ID_Autor = tbl_Autores.ID_Autor
INNER JOIN – Mais Exemplos
SELECT tbl_Livros.Nome_Livro, tbl_Livro.ISBN, tbl_Autores.Nome_Autor
FROM tbl_Livros
INNER JOIN tbl_Autores
ON tbl_Livros.ID_Autor = tbl_Autores.ID_Autor
Usando Aliases:
SELECT L.Nome_Livro, E.Nome_Editora
FROM tbl_Livros AS L
INNER JOIN tbl_Editoras AS E
ON L.ID_Editora = E.ID_Editora
ATUALIZAR REGISTROS - Update 
Sintaxe:
UPDATE Nome_da_Tabela
SET CAMPO = “Novo_Valor”
WHERE Condição
Exemplo:
UPDATE tbl_Livro
SET Nome_Livro = ‘Windows Server’
WHERE ID_Livro = 104
EXCLUIR REGISTROS - Delete 
Sintaxe:
DELETE FROM Nome_da_Tabela
WHERE Condição
Exemplo:
DELETE FROM tbl_Livro
WHERE ID_Livro = 104
SEMINÁRIO
Elaboração de um Projeto CRUD de Banco de Dados que contemple todo assunto abordado durante o curso, ou seja, CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT e suas cláusulas e agregações.
O Projeto deve ser desenvolvido em duplas, e essas devem optar exclusivamente por uma das áreas relacionadas abaixo:
Cinema
Escola
Hotel
Perfumaria

Continue navegando