Buscar

Aula 01 - Definição da SQL DDL

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

Continue navegando