Baixe o app para aproveitar ainda mais
Prévia do material em texto
SQL (Conceitos da SQL) Prof. Anésio Freire A SQL (Structured Query Language) é uma linguagem de definição, manipulação e controle de dados e, desde 1986, foi adotada como um padrão oficial para acesso a banco de dados relacionais, tendo como objetivo principal fornecer ao usuário final uma linguagem de simples manuseio e, ao mesmo tempo, flexível para o programador de aplicações. Conceitos da SQL Divide-se basicamente em dois módulos: SQL Interativa: Através deste módulo o usuário pode acessar diretamente os dados através de comandos digitados no próprio Banco de Dados. SQL Interna (ou programável): Funciona como uma sub linguagem para manipulação dos dados, acoplada as outras linguagens que lhe forneça as estruturas básicas de programação. Conceitos da SQL As instruções SQL são agrupadas em várias categorias, dependendo das funções que desempenham. Existem quatro categorias principais de instruções SQL: Data manipulation language (DML) Data definition language (DDL) Transaction control language (TCL) Data control language (DCL) Categoria de Instruções SQL DDL (Data Definition Language) A Linguagem de Definição de Dados, que fornece comandos para definição de esquemas de relação, remoção de relações, criação de índices e modificação de esquemas de relação. Elas são iniciadas pelas palavras-chave CREATE, ALTER, DROP, RENAME e TRUNCATE Categoria de Instruções SQL DML (Data Manipulation Language) Linguagem de Manipulação de Dados que inclui uma linguagem de consulta baseada na álgebra relacional e no cálculo relacional de tupla. Compreende também comandos para inserir, remover e modificar registros num Banco de Dados. As instruções DML começam com: INSERT, UPDATE, DELETE ou MERGE Categoria de Instruções SQL TLC (Transaction Control Language) Linguagem de Controle de Transação. As instruções TCL são usadas para gerenciar as alterações feitas pelas instruções DML. As modificações nos dados são feitas usando COMMIT, ROLLBACK e SAVEPOINT. As modificações de TCL podem ser agrupadas em transações lógicas. Categoria de Instruções SQL DCL ( Data Control Language) Linguagem de Controle de Dados. As palavras-chave GRANT e REVOKE são usadas para fornecer ou remover direitos de acesso ao banco de dados e às estruturas dentro dele. Categoria de Instruções SQL Conceitos da SQL SQL DDL DCL DML Create , Alter, Drop, Truncate Update, Insert, Delete e Merge Grant e Revoke TCL Commit, Rollback e SavePoint Os tipos de dados são classificados em diferentes categorias e permitem N formatos. Baseados em Caracteres: Char(n) – Trata-se de um datatype que aceita como valor qualquer dígito. Varchar(n) – Também aceita como valor qualquer dígito e a diferença do Char, é que o Varchar geralmente é usado quando não se sabe o tamanho fixo de um campo. Tipo de Dados da SQL Baseados em Numéricos Inteiros: Bigint – Aceita valores entre -2^63 e 2^63-1. Int – Aceita valores entre -2^31 a 2^31-1. Smallint – Aceita valores entre -32768 até 32767 Tinyint – Aceita valores variam entre 0 e 255 Bit – É um tipo de dado inteiro (booleano), cujo valor pode corresponder a NULL, 0 ou 1. Podemos converter valores de string TRUE e FALSE em valores de bit, sendo que TRUE corresponde a 1 e FALSE a 0. Tipo de Dados da SQL Baseados em Numéricos Exatos: Decimal(P,S) – Os valores aceitos variam entre -10^38-1 e 10^38-1, sendo que o espaço ocupado varia de acordo com a precisão. Numérico(P,S) – Considerado um sinônimo do datatype decimal, o númerico também permite valores entre -10^38-1 e 10^38-1 e o espaço ocupado é o mesmo do anterior. Tipo de Dados da SQL Baseados em Valores Numéricos Monetários: Money – Aceita valores entre -2^63 e 2^63-1 Baseados em Data e Hora: Datetime – Permite o uso de valores entre 1/1/1753 e 31/12/9999. Tipo de Dados da SQL Sintaxe para criar um Banco de Dados CREATE DATABASE <nome-do-banco> Sintaxe para criar uma Tabela CREATE TABLE <nome-tabela> ( <coluna> <tipo>, <coluna> <tipo>,....) Sintaxe para criar uma Tabela CREATE [UNIQUE] INDEX <nome-índice> ON <nome-tabela> (<coluna> [asc/desc], [<coluna> [asc/desc] ]) Comandos da DDL (Create) Sintaxe para apagar um Banco de Dados DROP DATABASE <nome-do-banco> DROP TABLE <nome-da-tabela> Comandos da DDL (DROP) Sintaxe para alterar uma Tabela ALTER TABLE <nome-da-tabela> ADD PRIMARY KEY (<coluna>) ALTER TABLE <nome-da-tabela> ADD FOREIGN KEY (<coluna>) REFERENCES <tabela> ALTER TABLE <nome-da-tabela> DROP COLUMN (<coluna>) Comandos da DDL (Alter) Criar um banco com o nome de Teste Usar a modelagem abaixo para criar as tabelas Exemplo Venda tem Produto () cd_Venda () dt_Venda () vl_Total () cd_Produto () ds_Produto () vl_Produto () qt_Vendida N N Create Database Teste go Use Teste go -- Criar Tabelas Create Table Venda ( cd_Venda int not null, dt_Venda datetime, vl_Total money) go Exemplo (script) Create Table Produto ( cd_Produto int not null, ds_Produto varchar(40), vl_Produto money) go Create Table VendaProd ( cd_Venda int not null, cd_Produto int not null, qt_Vendida int) go Exemplo (script) -- Chaves Primárias Alter Table Venda Add Primary Key (cd_Venda) go Alter Table Produto Add Primary Key (cd_Produto) go Alter Table VendaProd Add Primary Key (cd_Venda,cd_Produto) Exemplo (script) -- Chaves Estrangeiras Alter Table VendaProd Add Foreign Key (cd_Venda) References Venda go Alter Table VendaProd Add Foreign Key (cd_Produto) References Produto Exemplo (script) Fazer o exercício de aula e criar o Banco de Dados IMOBILIARIO. Esse banco de dados será usado em todas as aulas de SQL deste semestre. Usar os critérios adotados em aula: Criar as tabelas (sem chaves) Alterar as tabelas para criar as chaves primárias Alterar as tabelas para criar as chaves estrangeiras Tarefa de aula
Compartilhar