Apresentacao Aula 11 SQL
Apresentacao Aula 11 SQL
1
5.1 Conceitos Básicos
2
3
4
5.2. DDL
6
5.3 Criação de Tabelas
--Restrições da Coluna ,
Tipo da coluna:
• bigint, int e smallint
nome_da_coluna
• bit
tipo_da_coluna
• decimal
• money
--Restrições da Coluna ,
• float e real
... ,
• datetime
• char, varchar e text
--Restrições da Tabela
• binary e image
)
7
5.3 Criação de Tabelas
criando uma tabela apenas com nome da tabela e nome e tipo
das colunas (obrigatórios) e sem restrições de coluna e de
tabela (opcionais)
nome da
CREATE TABLE alunos tabela
(
matricula int,
nome char(30),
nome da cpf char(12), tipo da
coluna coluna
endereço char(30),
cidade char(25),
ingresso datetime,
curso char(15)
)
8
5.3 Criação de Tabelas
--Restrições da Tabela
)
9
5.3 Criação de Tabelas
•Dados Requeridos
• Define se a coluna pode ter valores NULOS
• Restrições NOT NULL
• Todas as tuplas devem conter um valor não
nulo para as colunas com essa restrição
• Normalmente essa restrição é definida no
momento da criação da tabela
10
5.3 Criação de Tabelas
•Unicidade
• Restrição de chave primária (Primary Key)
• Restrição Unique
• Uma coluna não pode ser Primary Key e Unique.
• No caso de duplicação, a inserção ou a
atualização dos dados falha e uma mensagem
de erro é emitida pelo sistema
12
5.3 Criação de Tabelas
• A chave estrangeira (FOREIGN KEY) da tabela FILHO
deve conter um valor válido de uma chave primária
da tabela PAI
• Os valores da FK são verificados antes da inserção ou
atualização. Se não corresponderem a chaves
primárias válidas, a inserção é rejeitada.
Cursos – Tabela Filho
Centros – Tabela Pai
cd_curso nm_curso cd_centro
cd_centro nm_centro
1 Computação 1
1 CT
2 Administração 2
2 CS
3 Publicidade 1
3 CH
13
5.3 Criação de Tabelas
14
5.3 Criação de Tabelas
15
5.3 Criação de Tabelas
Exercício 0:
23
• Exercício 01: criar uma tabela
CURSOS com a seguintes condições:
1.Código do curso como chave primária
chamada PK_Cursos
2.Nome do curso é obrigatório
3.Número de créditos do curso deve ser
maior que 150 e menor que 240.
Outros valores não são permitidos.
24
• Exercício 02: criar uma tabela ALUNOS com a
seguintes condições:
1. Matrícula do aluno como chave primária chamada
PK_Alunos
2. Nome do aluno é obrigatório
3. CPF do aluno não permite valores duplicados
4. UF do aluno tem ‘CE’ como DEFAULT
5. Curso do aluno referencia a coluna Código do
Curso da tabela Curso
6. Semestre de entrada do aluno só pode assumir os
valores 2023.1 e 2023.2
25
• Exercício 03: criar uma tabela NOTAS
com a seguintes condições:
1.Chave primária de nome PK_Notas
composta pelos atributos Matrícula do
Aluno e Código da Disciplina
2.Nota do aluno deve variar entre 0 e 10
26
DROP TABLE nome_da_tabela
• DROP TABLE não pode ser utilizado para apagar uma
tabela referenciada por uma FOREIGN KEY (chave
estrangeira). Neste caso, a FOREIGN KEY precisa ser
apagada antes.
• Quando uma tabela é apagada, todas as regras, restrições
ou triggers associadas com essa tabela são automaticamente
apagadas também.
• Se o usuário recriar essa tabela, ele deve recriar também
todas as regras, restrições e triggers que desejar.
• Tabelas de sistema não podem ser removidas.
• A deleção dos registros de uma tabela não implica na
remoção da tabela. Ela continuará existindo, só que sem
registros.
27
Alterando Tabelas
ALTER TABLE nome_da_tabela
ADD nome_da_coluna tipo_da_coluna {restrições da coluna}
29