Baixe o app para aproveitar ainda mais
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
Compartilhar