BANCO DE DADOS
Professor: Luciano Vale, MSc. Contato: lucianovale@gmail.com
Referência: Prof. Fábio Silvestre
Introduzido por Ted Codd, da IBM Research, em 1970. Utiliza o conceito de relação matemática. Possui base teórica na teoria dos conjuntos e na lógica de predicados. Primeiras implementações comercias modelo relacional: - SGBD Oracle - SQL/DS da IBM O modelo relacional representa o banco de dados como uma coleção de Relações (Tabelas).
Referência: Prof. Fábio Silvestre
type empregado = record cpf nome sexo idade cod_dept end;
char(11); char(50); char(1); numeric; numeric;
Figura 1. Domínio dos atributos da Relação (Tabela) EMPREGADO.
type trabalha_em = record cod_empregado numeric; cod_projeto numeric; end;
Figura 3. Domínio dos atributos da Relação (Tabela) TRABALHA_EM. Referência: Prof. Fábio Silvestre
type departamento = record codigo nome end;
numeric; char(50);
Figura 2. Domínio dos atributos da Relação (Tabela) DEPARTAMENTO.
type projeto = record codigo numeric; nome char(20); end;
Figura 4. Domínio dos atributos da Relação (Tabela) PROJETO.
Domínio (Tipo de Dado) Atributo (Coluna) Tupla (Linha ou Registro) Relação (Tabela)
Referência: Prof. Fábio Silvestre
EMPREGADO
RELAÇÃO ATRIBUTO DOMÍNIO TUPLA EMPREGADO
Referência: Prof. Fábio Silvestre
CPF
NOME
SEXO
IDADE
132131231345
Fábio Silvestre
M
15
567567567567
Daniala Mercury
F
25
678678678686
Galvão Bueno
M
35
786786786788
Renato Aragão
M
28
234534534453
Daiane Santos
F
12
143646758698
Giba
M
50
Chave Primária Chave Estrangeira
Referência: Prof. Fábio Silvestre
CHAVE PRIMÁRIA EMPREGADO
Referência: Prof. Fábio Silvestre
CPF
NOME
SEXO
IDADE
132131231345
Fábio Silvestre
M
15
567567567567
Daniala Mercury
F
25
678678678686
Galvão Bueno
M
35
786786786788
Renato Aragão
M
28
234534534453
Daiane Santos
F
12
143646758698
Giba
M
50
CHAVE PRIMÁRIA CHAVE ESTRANGEIRA EMPREGADO CPF
NOME
SEXO
IDADE
COD_DEPT
132131231345
Fábio Silvestre
M
15
5
567567567567
Daniala Mercury
F
25
1
678678678686
Galvão Bueno
M
35
3
786786786788
Renato Aragão
M
28
6
234534534453
Daiane Santos
F
12
2
143646758698
Giba
M
50
3
DEPARTAMENTO
Referência: Prof. Fábio Silvestre
CODIGO
NOME
1
Financeiro
2
Recursos Humanos
3
Atendimento
4
Suporte de TI
5
Contabilidade
6
Diretoria
CHAVE PRIMÁRIA CHAVE ESTRANGEIRA
EMPREGADO CPF
NOME
SEXO
IDADE
132131231345
Fábio Silvestre
M
15
567567567567
Daniala Mercury
F
25
678678678686
Galvão Bueno
M
35
786786786788
Renato Aragão
M
28
234534534453
Daiane Santos
F
12
143646758698
Giba
M
50
TRABALHA_EM
Referência: Prof. Fábio Silvestre
PROJETO
COD_EMPREGADO
COD_PROJETO
CODIGO
NOME
143646758698
3
1
SAC
786786786788
1
2
Tribunal de Justiça
678678678686
6
3
TRE
786786786788
4
4
TRT
132131231345
2
5
SEFAZ
234534534453
5
6
SAEB
CHAVE PRIMÁRIA CHAVE ESTRANGEIRA EMPREGADO CPF
NOME
SEXO
IDADE
COD_DEPT
132131231345
Fábio Silvestre
M
15
5
567567567567
Daniala Mercury
F
25
1
DEPARTAMENTO CODIGO
NOME
1
Financeiro
5
Recursos Humanos
TRABALHA_EM
Referência: Prof. Fábio Silvestre
PROJETO
COD_EMPREGADO
COD_PROJETO
CODIGO
NOME
143646758698
3
1
SAC
786786786788
1
2
Tribunal de Justiça
678678678686
6
3
TRE
786786786788
4
4
TRT
132131231345
2
5
SEFAZ
234534534453
5
6
SAEB
Uma tupla é uma lista ordenada de valores. Cada valor em uma tupla é um valor atômico. ◦ Atributos compostos e multivalorados não são permitidos.
Valores nulos (nulls) são usados para representar valores de atributos que podem ser desconhecidos ou que não se aplicam a uma tupla.
Referência: Prof. Fábio Silvestre
Restrições inerentes baseadas em modelo. ◦ Ex: tabela não pode ter tuplas repetidas.
Restrições baseadas em esquema. ◦ Expressas diretamente nos esquemas do modelo de dados.
Restrições baseadas em aplicações. ◦ Expressas e impostas nos programas de aplicação. ◦ Ex: um cliente só visualiza seus dados em uma tabela “t_cliente”.
Referência: Prof. Fábio Silvestre
Restrições Restrições Restrições Restrições Restrições Restrições Restrições Restrições
Referência: Prof. Fábio Silvestre
de domínio. de chave primária. de chave candidata. de valores NULL. de integridade de entidade. de integridade referencial (chave estrangeira). através de gatilhos (Triggers). através de asserções (Assertions).
INSERIR em EMPREGADO (CPF, NOME, SEXO, IDADE) os VALORES (942342342342, 'Maria Helena', 'F', 54)
CHAVE PRIMÁRIA
EMPREGADO
Referência: Prof. Fábio Silvestre
CPF
NOME
SEXO
IDADE
132131231345
Fábio Silvestre
M
15
567567567567
Daniala Mercury
F
25
678678678686
Galvão Bueno
M
35
786786786788
Renato Aragão
M
28
234534534453
Daiane Santos
F
12
143646758698
Giba
M
50
INSERIR em EMPREGADO (CPF, NOME, SEXO, IDADE) os VALORES ('Pituba', 'Maria Helena', 'F', 54)
CHAVE PRIMÁRIA
EMPREGADO CPF
NOME
SEXO
IDADE
132131231345
Fábio Silvestre
M
15
567567567567
Daniala Mercury
F
25
678678678686
Galvão Bueno
M
35
786786786788
Renato Aragão
M
28
234534534453
Daiane Santos
F
12
143646758698
Giba
M
50
Referência: Prof. Fábio Silvestre
INSERIR em EMPREGADO (CPF, NOME, SEXO, IDADE) os VALORES (NULL, 'Maria Helena', 'F', 54)
CHAVE PRIMÁRIA
EMPREGADO
Referência: Prof. Fábio Silvestre
CPF
NOME
SEXO
IDADE
132131231345
Fábio Silvestre
M
15
567567567567
Daniala Mercury
F
25
678678678686
Galvão Bueno
M
35
786786786788
Renato Aragão
M
28
234534534453
Daiane Santos
F
12
143646758698
Giba
M
50
INSERIR em EMPREGADO (CPF, NOME, SEXO, IDADE) os VALORES (678678678686, 'João Henrique', 'M', 76)
CHAVE PRIMÁRIA
EMPREGADO
Referência: Prof. Fábio Silvestre
CPF
NOME
SEXO
IDADE
132131231345
Fábio Silvestre
M
15
567567567567
Daniala Mercury
F
25
678678678686
Galvão Bueno
M
35
786786786788
Renato Aragão
M
28
234534534453
Daiane Santos
F
12
143646758698
Giba
M
50
INSERIR em EMPREGADO (CPF, NOME, SEXO, IDADE, COD_DEPT) os VALORES (678678678686, 'Ivete Sangalo', 'F', 25, 2)
CHAVE PRIMÁRIA CHAVE ESTRANGEIRA EMPREGADO CPF
NOME
SEXO
IDADE
COD_DEPT
132131231345
Fábio Silvestre
M
15
5
567567567567
Daniala Mercury
F
25
1
DEPARTAMENTO
Referência: Prof. Fábio Silvestre
CODIGO
NOME
1
Financeiro
5
Recursos Humanos
INSERIR em EMPREGADO (CPF, NOME, SEXO, IDADE, COD_DEPT) os VALORES (678678678686, 'Ivete Sangalo', 'F', 25, NULL)
CHAVE PRIMÁRIA CHAVE ESTRANGEIRA EMPREGADO CPF
NOME
SEXO
IDADE
COD_DEPT
132131231345
Fábio Silvestre
M
15
5
567567567567
Daniala Mercury
F
25
1
DEPARTAMENTO
Referência: Prof. Fábio Silvestre
CODIGO
NOME
1
Financeiro
5
Recursos Humanos
MODIFICAR o CPF da tupla de EMPREGADO onde o CPF = 567567567567 para 423645645645
CHAVE PRIMÁRIA EMPREGADO
Referência: Prof. Fábio Silvestre
CPF
NOME
SEXO
IDADE
132131231345
Fábio Silvestre
M
15
567567567567
Daniala Mercury
F
25
678678678686
Galvão Bueno
M
35
786786786788
Renato Aragão
M
28
234534534453
Daiane Santos
F
12
143646758698
Giba
M
50
MODIFICAR o CPF da tupla de EMPREGADO onde o CPF = 567567567567 para 'Masculino'
CHAVE PRIMÁRIA EMPREGADO
Referência: Prof. Fábio Silvestre
CPF
NOME
SEXO
IDADE
132131231345
Fábio Silvestre
M
15
567567567567
Daniala Mercury
F
25
678678678686
Galvão Bueno
M
35
786786786788
Renato Aragão
M
28
234534534453
Daiane Santos
F
12
143646758698
Giba
M
50
MODIFICAR o CPF da tupla de EMPREGADO onde o CPF = 567567567567 para NULL
CHAVE PRIMÁRIA EMPREGADO CPF
NOME
SEXO
IDADE
132131231345
Fábio Silvestre
M
15
567567567567
Daniala Mercury
F
25
678678678686
Galvão Bueno
M
35
786786786788
Renato Aragão
M
28
234534534453
Daiane Santos
F
12
143646758698
Giba
M
50
Referência: Prof. Fábio Silvestre
MODIFICAR o CPF da tupla de EMPREGADO onde o CPF = 567567567567 para 143646758698
CHAVE PRIMÁRIA
EMPREGADO CPF
NOME
SEXO
IDADE
132131231345
Fábio Silvestre
M
15
567567567567
Daniala Mercury
F
25
678678678686
Galvão Bueno
M
35
786786786788
Renato Aragão
M
28
234534534453
Daiane Santos
F
12
143646758698
Giba
M
50
Referência: Prof. Fábio Silvestre
MODIFICAR o CODIGO da tupla de DEPARTAMENTO onde o CODIGO = 5 para 7
CHAVE PRIMÁRIA CHAVE ESTRANGEIRA EMPREGADO CPF
NOME
SEXO
IDADE
COD_DEPT
132131231345
Fábio Silvestre
M
15
5
567567567567
Daniala Mercury
F
25
1
DEPARTAMENTO
Referência: Prof. Fábio Silvestre
CODIGO
NOME
1
Financeiro
5
Recursos Humanos
MODIFICAR o COD_DEPT da tupla de EMPREGADO onde o COD_DEPT = 5 para NULL
CHAVE PRIMÁRIA CHAVE ESTRANGEIRA EMPREGADO CPF
NOME
SEXO
IDADE
COD_DEPT
132131231345
Fábio Silvestre
M
15
5
567567567567
Daniala Mercury
F
25
1
DEPARTAMENTO
Referência: Prof. Fábio Silvestre
CODIGO
NOME
1
Financeiro
5
Recursos Humanos
REMOVER a tupla EMPREGADO onde CPF = 786786786788
CHAVE PRIMÁRIA EMPREGADO CPF
NOME
SEXO
IDADE
132131231345
Fábio Silvestre
M
15
567567567567
Daniala Mercury
F
25
678678678686
Galvão Bueno
M
35
786786786788
Renato Aragão
M
28
234534534453
Daiane Santos
F
12
143646758698
Giba
M
50
Referência: Prof. Fábio Silvestre
REMOVER a tupla DEPARTAMENTO onde CODIGO = 5
CHAVE PRIMÁRIA CHAVE ESTRANGEIRA EMPREGADO CPF
NOME
SEXO
IDADE
COD_DEPT
132131231345
Fábio Silvestre
M
15
5
567567567567
Daniala Mercury
F
25
1
DEPARTAMENTO
Referência: Prof. Fábio Silvestre
CODIGO
NOME
1
Financeiro
5
Recursos Humanos