Documente Academic
Documente Profesional
Documente Cultură
Banco de Dados
Revisão
2ª Verificação de Aprendizagem
• Hoje em dia:
– Linguagem comercial mais utilizada no mercado;
– Vários dialetos de SQL.
29
Estrutura SQL
DDL DML
SQL
30
Usos de SQL (1/2)
• DDL - Data Definition Language:
– Fornece comandos para criar, alterar e excluir
esquemas de dados;
– Exemplos de comandos:
• CREATE, ALTER, DROP.
31
Usos de SQL (2/2)
• Segurança, Controle e Administração:
– Controle de Acesso:
• Protege os dados de manipulações não autorizadas.
– Compartilhamento dos dados:
• Coordena o compartilhamento dos dados entre usuários que
os acessam concorrentemente:
– Controle de integridade, transações e concorrência.
• Implementação Ambiente:
– Incorporação DML:
• Comandos SQL embutidos em programas de aplicação em
várias linguagens.
32
Vantagens SQL
• Independência do fabricante:
– “Universalização do seu uso”;
– Cuidado com os dialetos!!
• Portabilidade:
– Independência da plataforma;
• Simplicidade da sintaxe:
– Linguagem interativa e próxima da natural;
33
Criando uma Base de Dados (1/2)
• Uso do comando CREATE DATABASE:
• CREATE DATABASE<basedados>
• (<proprietario>);
34
Comandos SQL (Padrão ANSI)
• Criação e destruição de tabelas
• Extração de dados de uma tabela
• Inserção, modificação e remoção de dados
• Definição de visões
• Definição de privilégios de acesso
35
Tipos de dados
Para definir os atributos das tabelas, precisamos definir os domínios
de cada um deles. Isso é feito através da especificação do tipo do dado
• DROP TABLE
– Sintaxe resumida
drop table nome_tabela
37
Criação de tabelas
• CREATE TABLE
– Sintaxe completa
CREATE TABLE Nome_Tabela (
Nome_Atributo1 Tipo [(Tamanho)] [NOT NULL] [DEFAULT valor] [...],
[,Nome_Atributo2 Tipo [(Tamanho)] [NOT NULL] [DEFAULT valor] [...],
[CHECK (condição)]
)
38
Criação de tabelas
Onde: ( ) Indica parte da sintaxe do comando e [ ] Indica
opcionalidade do comando.
Vamos explicar agora cada parte do comando completo.
Nome_Atributo: nome do atributo que está sendo defnido.
Tipo: domínio do atributo, ou seja, o tpo do dado do atributo.
Tamanho: alguns tpos de dados necessitam de especifcação do
tamanho do dado.
Por exemplo, o tpo CHAR.
NOT NULL: expressa que o atributo não pode receber valores nulos.
DEFAULT valor: indica um valor a ser atribuído ao atributo, caso não
seja
determinado um valor durante a inserção.
PRIMARY KEY (Primária1, Primária2, ...): serve para especifcar a(s)
chave(s)
primária(s) da tabela.
UNIQUE: indica que o atributo tem valor único na tabela.
39
Criação de tabelas
FOREIGN KEY (Estrangeira1[, Estrangeira2 [, ...]])
REFERENCES TabelaExterna
[(AtributoExterno1 [, AtributoExterno2 [, ...]]): serve
para especifcar os atributos que são
chaves estrangeiras na relação, já relacionando-os às
tabelas onde eles são chave primária
(Integridade Referencial).
CHECK (condição): aqui são especifcadas condições
que devem ser checadas na
inserção de dados na tabela (validações).
40
Exemplos – create table
AUTOR (CodAutor (PK), Nome, Nascimento)
LIVRO (TitLivro (PK), CodAutor (FK), CodEditora
(FK), Valor,Publicacao, Volume,
Idioma)
EDITORA (CodEditora (PK), Razao, Endereco,
Cidade)
Exemplos – create table
AUTOR (CodAutor (PK), Nome, Nascimento)
– Sintaxe básica
ALTER TABLE Tabela {
ADD (NomeNovoAtributo NovoTipo [BEFORE
Nome_Atributo] [, ...] ) |
DROP (Nome_Atributo [, ...] ) |
MODIFY ( Nome_Atributo NovoTipo [ NOT NULL ]
[DEFAULT, ... ] )
}
46
Alterando de tabelas
Onde: | Indica escolha de várias opções e { } Indica
obrigatoriedade de escolha de uma opção entre as várias.
Agora, vamos explicar cada parte do comando.
Adicionando um novo atributo (nova coluna) na Tabela
47
Adicionando um novo atributo (nova
coluna) na Tabela
Exemplo: adicionar o campo E-MAIL na tabela Autor
48
Deletando um atributo (uma coluna)
da Tabela
Exemplo: eliminar o campo e-mail
Configurações adicionais
49
Modificando um atributo (uma
coluna) da Tabela
Exemplo: modifcar o campo E-MAIL na tabela Autor,
diminuindo seu tamanho de 40 para 30
50
Criando Índices
CREATE INDEX
Sintaxe completa:
CREATE [UNIQUE] INDEX Nome_Indice ON
Nome_Tabela (Nome_Atributo1 [, Nome_Atributo2…])
51
Criando e Removendo Índices
Ex: criar um índice para o campo código do
autor da tabela Autor
CREATE UNIQUE INDEX CodigoIDX ON Autor
(CodAutor);