modelo relacional introduzido por ted codd, da ibm research, em 1970. utiliza o conceito de...
TRANSCRIPT
Modelo RelacionalIntroduzido 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).
Exemplo de Modelo Relacional
type empregado = record cpf char(11); nome char(50); sexo char(1); idade numeric; cod_dept numeric; end;
type departamento = record codigo numeric; nome char(50); end;
type trabalha_em = record cod_empregado numeric; cod_projeto numeric; end;
type projeto = record codigo numeric; nome char(20); end;
Figura 1. Domínio dos atributos da Relação (Tabela)EMPREGADO.
Figura 2. Domínio dos atributos da Relação (Tabela)DEPARTAMENTO.
Figura 3. Domínio dos atributos da Relação (Tabela)TRABALHA_EM.
Figura 4. Domínio dos atributos da Relação (Tabela)PROJETO.
Conceitos do Modelo Relacional
Domínio (Tipo de Dado) Atributo (Coluna)Tupla (Linha ou Registro)Relação (Tabela)
Modelo Relacional
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
EMPREGADO
EMPREGADO RELAÇÃO
ATRIBUTO
DOMÍNIO
TUPLA
Identificação e Associação Entre Relações
(Tabelas)Chave PrimáriaChave Estrangeira
Identificação em uma Relação (Tabela) - Chave
Primária
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
EMPREGADO
CHAVE PRIMÁRIA
Associação entre Relações (Tabelas) - Chave
Estrangeira
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
EMPREGADO
CODIGO NOME
1 Financeiro
2 Recursos Humanos
3 Atendimento
4 Suporte de TI
5 Contabilidade
6 Diretoria
DEPARTAMENTO
COD_DEPT
5
1
3
6
2
3
CHAVE PRIMÁRIA
CHAVE ESTRANGEIRA
Associação entre Relações (Tabelas) - Chave Estrangeira
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
EMPREGADO
CODIGO NOME
1 SAC
2 Tribunal de Justiça
3 TRE
4 TRT
5 SEFAZ
6 SAEB
PROJETO
COD_EMPREGADO COD_PROJETO
143646758698 3
786786786788 1
678678678686 6
786786786788 4
132131231345 2
234534534453 5
TRABALHA_EM
CHAVE PRIMÁRIA
CHAVE ESTRANGEIRA
Esquema Completo do Banco de Dados Relacional
de ExemploCPF NOME SEXO IDADE
132131231345 Fábio Silvestre M 15
567567567567 Daniala Mercury F 25
EMPREGADO
CODIGO NOME
1 Financeiro
5 Recursos Humanos
DEPARTAMENTO
COD_DEPT
5
1
CODIGO NOME
1 SAC
2 Tribunal de Justiça
3 TRE
4 TRT
5 SEFAZ
6 SAEB
PROJETO
COD_EMPREGADO COD_PROJETO
143646758698 3
786786786788 1
678678678686 6
786786786788 4
132131231345 2
234534534453 5
TRABALHA_EM
CHAVE PRIMÁRIA
CHAVE ESTRANGEIRA
Características das Relações (Tabelas)
Ordenação de tuplas em uma relação.Ordenação de valores dentro de uma tupla.Valores e NULLs nas tuplas.Interpretação (Sentido) de uma relação (Tipo Entidade ou Tipo Relacionamento).
Restrições do Modelo Relacional
Restrições inerentes baseadas em modelo.Restrições baseadas em esquema.Restrições baseadas em aplicações.
Restrições Baseadas em Esquema
Restrições de domínio.Restrições de chave primária.Restriçõe de chave candidata.Restrições de valores NULL.Restrições de integridade de entidade.Restrições de integridade referencial (chave estrangeira).Restrições através de gatilhos.Restrições através de asserções.
Inserção sem Violação de Restrições
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
EMPREGADO
CHAVE PRIMÁRIA
INSERIR em EMPREGADO (CPF, NOME, SEXO, IDADE) os VALORES(942342342342, 'Maria Helena', 'F', 54)
Restrição de Domínio Violada
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
EMPREGADO
CHAVE PRIMÁRIA
INSERIR em EMPREGADO (CPF, NOME, SEXO, IDADE) os VALORES('Pituba', 'Maria Helena', 'F', 54)
Restrição de Integridade de Entidade Violada
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
EMPREGADO
CHAVE PRIMÁRIA
INSERIR em EMPREGADO (CPF, NOME, SEXO, IDADE) os VALORES(NULL, 'Maria Helena', 'F', 54)
Restrição de Chave Primária Violada
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
EMPREGADO
CHAVE PRIMÁRIA
INSERIR em EMPREGADO (CPF, NOME, SEXO, IDADE) os VALORES(678678678686, 'João Henrique', 'M', 76)
Restrição de Integridade Referencial Violada
CPF NOME SEXO IDADE
132131231345 Fábio Silvestre M 15
567567567567 Daniala Mercury F 25
EMPREGADO
CODIGO NOME
1 Financeiro
5 Recursos Humanos
DEPARTAMENTO
COD_DEPT
5
1
CHAVE PRIMÁRIA
CHAVE ESTRANGEIRA
INSERIR em EMPREGADO (CPF, NOME, SEXO, IDADE, COD_DEPT)os VALORES (678678678686, 'Ivete Sangalo', 'F', 25, 2)
Inserção sem Violação de Restrições
CPF NOME SEXO IDADE
132131231345 Fábio Silvestre M 15
567567567567 Daniala Mercury F 25
EMPREGADO
CODIGO NOME
1 Financeiro
5 Recursos Humanos
DEPARTAMENTO
COD_DEPT
5
1
CHAVE PRIMÁRIA
CHAVE ESTRANGEIRA
INSERIR em EMPREGADO (CPF, NOME, SEXO, IDADE, COD_DEPT)os VALORES (678678678686, 'Ivete Sangalo', 'F', 25, NULL)
Alteração sem Violação de Restrições
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
EMPREGADO
CHAVE PRIMÁRIA
MODIFICAR o CPF da tupla de EMPREGADO onde o CPF = 567567567567 para 423645645645
Restrição de Domínio Violada
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
EMPREGADO
CHAVE PRIMÁRIA
MODIFICAR o CPF da tupla de EMPREGADO onde o CPF = 567567567567 para 'Masculino'
Restrição de Integridade de Entidade Violada
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
EMPREGADO
CHAVE PRIMÁRIA
MODIFICAR o CPF da tupla de EMPREGADO onde o CPF = 567567567567 para NULL
Restrição de Chave Primária Violada
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
EMPREGADO
CHAVE PRIMÁRIA
MODIFICAR o CPF da tupla de EMPREGADO onde o CPF = 567567567567 para 143646758698
Restrição de Integridade Referencial Violada
CPF NOME SEXO IDADE
132131231345 Fábio Silvestre M 15
567567567567 Daniala Mercury F 25
EMPREGADO
CODIGO NOME
1 Financeiro
5 Recursos Humanos
DEPARTAMENTO
COD_DEPT
5
1
CHAVE PRIMÁRIA
CHAVE ESTRANGEIRA
MODIFICAR o CODIGO da tupla de DEPARTAMENTO onde o CODIGO = 5 para 7
Alteração sem Violação de Restrições
CPF NOME SEXO IDADE
132131231345 Fábio Silvestre M 15
567567567567 Daniala Mercury F 25
EMPREGADO
CODIGO NOME
1 Financeiro
5 Recursos Humanos
DEPARTAMENTO
COD_DEPT
5
1
CHAVE PRIMÁRIA
CHAVE ESTRANGEIRA
MODIFICAR o COD_DEPT da tupla de EMPREGADO onde o COD_DEPT = 5 para NULL
Remoção sem Violação de Restrições
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
EMPREGADO
CHAVE PRIMÁRIA
REMOVER a tupla EMPREGADO onde CPF = 786786786788
Restrição de Integridade Referencial Violada
CPF NOME SEXO IDADE
132131231345 Fábio Silvestre M 15
567567567567 Daniala Mercury F 25
EMPREGADO
CODIGO NOME
1 Financeiro
5 Recursos Humanos
DEPARTAMENTO
COD_DEPT
5
1
CHAVE PRIMÁRIA
CHAVE ESTRANGEIRA
REMOVER a tupla DEPARTAMENTO onde CODIGO = 5