aula 02 | modelo relacional

27
Referência: Prof. Fábio Silvestre BANCO DE DADOS Professor: Luciano Vale, MSc. Contato: [email protected]

Upload: fagnermota-barros

Post on 13-Mar-2016

225 views

Category:

Documents


2 download

DESCRIPTION

Professor. Luciano

TRANSCRIPT

Referência: Prof. Fábio Silvestre

BANCO DE DADOS

Professor: Luciano Vale, MSc. Contato: [email protected]

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

Referência: Prof. Fábio Silvestre

Domínio (Tipo de Dado)

Atributo (Coluna)

Tupla (Linha ou Registro)

Relação (Tabela)

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

EMPREGADO

EMPREGADO RELAÇÃO

ATRIBUTO

DOMÍNIO

TUPLA

Referência: Prof. Fábio Silvestre

Chave Primária

Chave Estrangeira

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

EMPREGADO

CHAVE PRIMÁRIA

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

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

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

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

Referência: Prof. Fábio Silvestre

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

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

Referência: Prof. Fábio Silvestre

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 de domínio.

Restrições de chave primária.

Restrições 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 (Triggers).

Restrições através de asserções (Assertions).

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

EMPREGADO

CHAVE PRIMÁRIA

INSERIR em EMPREGADO (CPF, NOME, SEXO, IDADE) os VALORES

(942342342342, 'Maria Helena', 'F', 54)

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

EMPREGADO

CHAVE PRIMÁRIA

INSERIR em EMPREGADO (CPF, NOME, SEXO, IDADE) os VALORES

('Pituba', 'Maria Helena', 'F', 54)

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

EMPREGADO

CHAVE PRIMÁRIA

INSERIR em EMPREGADO (CPF, NOME, SEXO, IDADE) os VALORES

(NULL, 'Maria Helena', 'F', 54)

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

EMPREGADO

CHAVE PRIMÁRIA

INSERIR em EMPREGADO (CPF, NOME, SEXO, IDADE) os VALORES

(678678678686, 'João Henrique', 'M', 76)

Referência: Prof. Fábio Silvestre

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)

Referência: Prof. Fábio Silvestre

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)

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

EMPREGADO

CHAVE PRIMÁRIA

MODIFICAR o CPF da tupla de EMPREGADO onde o CPF = 567567567567 para 423645645645

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

EMPREGADO

CHAVE PRIMÁRIA

MODIFICAR o CPF da tupla de EMPREGADO onde o CPF = 567567567567 para 'Masculino'

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

EMPREGADO

CHAVE PRIMÁRIA

MODIFICAR o CPF da tupla de EMPREGADO onde o CPF = 567567567567 para NULL

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

EMPREGADO

CHAVE PRIMÁRIA

MODIFICAR o CPF da tupla de EMPREGADO onde o CPF = 567567567567 para 143646758698

Referência: Prof. Fábio Silvestre

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

Referência: Prof. Fábio Silvestre

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

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

EMPREGADO

CHAVE PRIMÁRIA

REMOVER a tupla EMPREGADO onde CPF = 786786786788

Referência: Prof. Fábio Silvestre

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