modelo relacional introduzido por ted codd, da ibm research, em 1970. utiliza o conceito de...

26
Modelo Relacional 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).

Upload: tania-carlos-arantes

Post on 07-Apr-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelo Relacional 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

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).

Page 2: Modelo Relacional 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

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.

Page 3: Modelo Relacional 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

Conceitos do Modelo Relacional

Domínio (Tipo de Dado) Atributo (Coluna)Tupla (Linha ou Registro)Relação (Tabela)

Page 4: Modelo Relacional 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

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

Page 5: Modelo Relacional 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

Identificação e Associação Entre Relações

(Tabelas)Chave PrimáriaChave Estrangeira

Page 6: Modelo Relacional 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

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

Page 7: Modelo Relacional 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

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

Page 8: Modelo Relacional 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

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

Page 9: Modelo Relacional 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

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

Page 10: Modelo Relacional 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

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).

Page 11: Modelo Relacional 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

Restrições do Modelo Relacional

Restrições inerentes baseadas em modelo.Restrições baseadas em esquema.Restrições baseadas em aplicações.

Page 12: Modelo Relacional 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

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.

Page 13: Modelo Relacional 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

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)

Page 14: Modelo Relacional 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

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)

Page 15: Modelo Relacional 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

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)

Page 16: Modelo Relacional 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

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)

Page 17: Modelo Relacional 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

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)

Page 18: Modelo Relacional 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

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)

Page 19: Modelo Relacional 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

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

Page 20: Modelo Relacional 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

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'

Page 21: Modelo Relacional 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

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

Page 22: Modelo Relacional 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

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

Page 23: Modelo Relacional 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

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

Page 24: Modelo Relacional 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

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

Page 25: Modelo Relacional 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

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

Page 26: Modelo Relacional 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

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