Apresentação do PowerPoint

Propaganda
Programação para Internet
Aula 11
SQL (Introdução a linguagem, comandos de
modificação: Create, Drop, Alter, Insert,
Delete, Update)
SQL - Structured Query
Language
• Quando os Bancos de Dados Relacionais
estavam sendo desenvolvidos, foram criadas
linguagens destinadas à sua manipulação.
• O Departamento de Pesquisas da IBM,
desenvolveu a SQL como forma de interface
para o sistema de BD relacional denominado
SYSTEM R, início dos anos 70.
• SQL apresenta uma série de comandos que
permitem a definição dos dados, chamada de
DDL (Data Definition Language)
SQL - Structured Query
Language
• Exemplo de comandos da classe DDL:
–Create, Alter e Drop.
• Os comandos da série DML (Data
Manipulation Language), destinados a
consultas, inserções, exclusões e alterações
em um ou mais registros de uma tabela de
maneira simultânea.
• Exemplos de comandos da classe DML:
–Select, Insert, Update e Delete.
SQL - Structured Query
Language
• Uma característica muito importante
disponível em SQL é sua capacidade de
construção de visões;
• Visões - visualização dos dados na forma
de listagens independente das tabelas e
organização lógica dos dados.
SQL - Structured Query
Language
• Outra característica interessante na
linguagem SQL é a capacidade que
dispomos de cancelar uma série de
atualizações e gravações, depois de
termos iniciado uma seqüência.
• Os comandos Commit e Rollback são
responsáveis por estas facilidades.
SQL - Structured Query
Language
• Devemos notar que a linguagem SQL
consegue implementar estas soluções,
somente pelo fato de estar baseada em
Banco de Dados, que garantem por si
mesmo a integridade das relações
existentes entre as tabelas e seus índices.
Comandos de Modificação e
Criação
• Comando create database: Este
comando permite a criação do banco de
dados.
• Sintaxe:
CREATE DATABASE
<Nome_banco_de_dados>
• Exemplo:
CREATE DATABASE FGFSQL
Comandos de Modificação e
Criação
• Comando Create table: Este comando
permite a criação de tabelas no banco de
dados.
• Sintaxe:
CREATE TABLE < nome_tabela >
( nome_atributo1 < tipo > [ NOT NULL ],
nome_atributo2 < tipo > [ NOT NULL ],
......
nome_atributoN < tipo > [ NOT NULL ] )
Create table sintaxe (Cont)
•onde:
– nome_tabela: indica o nome da tabela a
ser criada.
– nome_atributo: indica o nome do
campo a ser criado na tabela.
– tipo: indica a definição do tipo do
atributo (int, smallint, tinyint , char ou
varchar (n), float, real, money,
smallmoney, datetime).
Create (Exemplo)
CREATE TABLE Cliente(
CodCliente int NOT NULL,
Nome varchar(50),
CPF varchar(11) NULL,
DataCadastro datetime NOT NULL
DEFAULT (getdate()),
Pais varchar(20) DEFAULT ('Brasil'))
Obs.: O comando DEFAULT define o valor
padrão do campo.
Create (Exemplo)
• create table Produto (
CodProduto int NOT NULL IDENTITY,
Nome varchar(60), Preco money)
• Propriedade IDENTITY – coluna com
valor único que é gerado
automaticamente pelo sistema;
• Somente uma coluna pode ter essa
propriedade.
Create (Exemplo)
• create table Fornecedor (
CodFornecedor int not null primary key,
Nome varchar(50) null,
Endereco varchar(50) null,
Telefone varchar(20) null )
• primary key – define o campo como
chave primária da tabela.
Create (Exemplo)
• create table ProdutoFornecedor
(CodProduto int, CodFornecedor int,
primary key (CodProduto,
CodFornecedor) )
• Define os dois campos (CodProduto,
CodFornecedor) como chave primária da
tabela.
Create (Exemplo)
• create table ProdutoFornecedor
(CodProduto int foreign key references
Produto,
CodFornecedor int foreign key
references Fornecedor,
primary key (CodProduto,
CodFornecedor))
• foreign key references – Cria uma
referencia de um campo com a chave
primaria de outra tabela.
Create (Exemplo)
• CREATE TABLE Departamento(
CodDepartamento int NOT NULL
primary key,
Nome varchar(50),
Orcamento money )
Create (Exemplo)
• CREATE TABLE Funcionario (
CodFuncionario int primary key,
Nome varchar(50),
CodDepartamento int foreign key
references Departamento,
Gerente int foreign key references
Funcionario,
CodCargo int, Ramal int Null,
Salario money, DataAdmissao datetime,
DataCadastro datetime NOT NULL
DEFAULT (getdate()), Sexo char(1) )
Comandos de Modificação e
Criação
• Comando Drop: Este comando elimina a
definição da tabela, seus dados e
referências.
• Sintaxe: DROP TABLE <nome_tabela>;
• Ex: DROP TABLE EMP;
Comandos de Modificação e
Criação
• Comando Alter: Este comando permite
inserir/eliminar atributos nas tabelas já
existentes.
• Sintaxe:
• ALTER TABLE <nome_tabela>
ALTER COLUMN nome_coluna
<novo_tipo_de_dados> | ADD
<nome_coluna> <dados_coluna>
ALTER TABLE (Exemplo)
1. alter table Cliente add ender varchar(50)
2. alter table Cliente
alter column ender varchar (25)
• Obs.: Para renomear uma coluna, usa-se
o procedimento sp_rename:
• sp_rename 'Cliente.ender', Endereco
Insert
• Insere uma linha ou conjunto de linhas
em uma tabela
• Sintaxe: INSERT INTO <nome_tabela>
[(colunas)] VALUE (valores)
• Exemplo:
insert into Funcionario (CodFuncionario,
Nome, Sexo, Salario, DataAdmissao)
values (2, 'Segundo Funcionário', 'F',
4360.00, '01/01/1996')
Insert (Exemplo)
• insert into Funcionario values (1,
'Primeiro Funcionário', 1, 2, 1, 23,
234.23, '01/01/1998', '01/01/1998', 'M')
• insert into Funcionario (CodFuncionario,
Nome, CodDepartamento, Sexo, Salario,
DataAdmissao, Ramal) values (3,
'Terceiro Funcionário', 1, 'F', 1500.00,
'12/30/1995', 122)
• insert into CopiaFuncionario select *
from Funcionario
Delete
• Exclui permanentemente uma ou mais
linhas de uma tabela, baseado em alguma
condição.
• Sintaxe
DELETE
FROM
<nome_tabela>
WHERE <condição>
• Exemplo:
delete
from
Funcionario
where
CodFuncionario = 1
Remover todas as linhas da
tabela
• Usar um comando DELETE sem a
condição WHERE.
• Exemplo: delete from Cliente
• Outra opção é o comando TRUNCATE
TABLE, que quase sempre é mais rápido
que o DELETE, especialmente em
tabelas grandes.
• Exemplo: truncate table Cliente
Update
• Atualiza os dados de uma tabela.
• update funcionario set codcargo = 1
where codfuncionario = 1
• update funcionario set sexo = ‘F’ where
sexo = ‘I’
• update Cliente set CPF = ‘994455’,
Nome = ‘Fernanda’ where CPF = ‘3456’
or CPF is null.
•Bibliografia
HEUSER Carlos A., Projeto de Banco de
Dados, Ed. Sagra&Luzzatto, 4ª Edição.
Download