Escolar Documentos
Profissional Documentos
Cultura Documentos
Disciplina:
Banco de Dados
Abordagem Relacional
Modelo Relacional de Dados
Conceitos Simples:
▪ Relações, Tuplas, Atributos, Domínios e Chaves.
Tabelas
o compostas de
▪ Linhas
▪ Colunas
▪ Chaves primárias
o relacionadas através de
▪ Chaves estrangeiras
Abordagem Relacional
Modelo Relacional de Dados
Tabela – Conceitos
Tabela é um conjunto não ordenado de linhas
(tuplas, na terminologia acadêmica).
tabela ou relação
Emp:
CodigoEmp Nome CodigoDepto CategFuncional
E5 Souza D1 C5
E3 Santos D2 C5
E2 Silva D1 C2
E1 Soares D1 —
Fonte: HEUSER, Carlos Alberto. Projeto de banco de dados – 6. ed. – Porto Alegre: Bookman, 2009 – Cap. 4.
Abordagem Relacional
Modelo Relacional de Dados
Tabela – Conceitos
nome da tabela
Emp:
CodigoEmp Nome CodigoDepto CategFuncional
E5 Souza D1 C5
E3 Santos D2 C5
E2 Silva D1 C2
E1 Soares D1 —
Fonte: HEUSER, Carlos Alberto. Projeto de banco de dados – 6. ed. – Porto Alegre: Bookman, 2009 – Cap. 4.
Abordagem Relacional
Modelo Relacional de Dados
Tabela – Conceitos
Emp:
CodigoEmp Nome CodigoDepto CategFuncional
E5 Souza D1 C5
E3 Santos D2 C5
E2 Silva D1 C2
E1 Soares D1 —
linha ou tupla
Fonte: HEUSER, Carlos Alberto. Projeto de banco de dados – 6. ed. – Porto Alegre: Bookman, 2009 – Cap. 4.
Abordagem Relacional
Modelo Relacional de Dados
Tabela – Conceitos
coluna ou atributo
Emp:
CodigoEmp Nome CodigoDepto CategFuncional
E5 Souza D1 C5
E3 Santos D2 C5
E2 Silva D1 C2
E1 Soares D1 —
Fonte: HEUSER, Carlos Alberto. Projeto de banco de dados – 6. ed. – Porto Alegre: Bookman, 2009 – Cap. 4.
Abordagem Relacional
Modelo Relacional de Dados
Tabela – Conceitos
nome de campo
ou
nome de atributo
Emp:
CodigoEmp Nome CodigoDepto CategFuncional
E5 Souza D1 C5
E3 Santos D2 C5
E2 Silva D1 C2
E1 Soares D1 —
Fonte: HEUSER, Carlos Alberto. Projeto de banco de dados – 6. ed. – Porto Alegre: Bookman, 2009 – Cap. 4.
Abordagem Relacional
Modelo Relacional de Dados
Tabela – Conceitos
valor de campo
ou
valor de atributo
Emp:
CodigoEmp Nome CodigoDepto CategFuncional
E5 Souza D1 C5
E3 Santos D2 C5
E2 Silva D1 C2
E1 Soares D1 —
Fonte: HEUSER, Carlos Alberto. Projeto de banco de dados – 6. ed. – Porto Alegre: Bookman, 2009 – Cap. 4.
Abordagem Relacional
Modelo Relacional de Dados
Terminologia – Resumindo
Atributo
ou Coluna
Nome da coluna,
do Campo ou do
Atributo Matrícula Nome CPF DataNasc Endereço
Cardinalidade
Tupla, Linha ou
Registro
Grau da relação
Relação ou Tabela
Abordagem Relacional
Modelo Relacional de Dados
Terminologia – Resumo
Chave
Conceito usado para especificar restrições de integridade
básicas de um SGBD relacional.
Três tipos:
▪ Chave Candidata
o Candidate Key
▪ Chave Primária
o Primary key (PK)
▪ Chave Alternativa
▪ Chave Estrangeira
o Foreign Key (FK)
Abordagem Relacional
Modelo Relacional de Dados
Emp:
Chave CodigoEmp Nome CodigoDepto CPF Chave
Candidata E5 Souza D1 132.121.331-20 Candidata
E3 Santos D2 891.221.111-11
E2 Silva D1 341.511.775-45
E1 Soares D1 631.692.754-88
Abordagem Relacional
Modelo Relacional de Dados
Emp: Dependente:
CodigoEmp Nome CodigoDepto CPF CodigoEmp NoDepen Nome Tipo DataNasc
E5 Souza D1 132.121.331-20 E1 1 João Filho 12/12/91
E3 Santos D2 891.221.111-11 E1 2 Maria Esposa 01/01/50
E2 Silva D1 341.511.775-45 E2 1 Ana Esposa 05/11/55
E1 Soares D1 631.692.754-88 E6 1 Paula Esposa 04/07/60
Fonte: HEUSER, Carlos Alberto. Projeto de banco de dados – 6. ed. – Porto Alegre: E6 2 José Filho 03/02/85
Bookman, 2009 – Cap. 4.
Abordagem Relacional
Modelo Relacional de Dados
Chave Alternativa
chave candidata que não foi escolhida para ser
chave primária
Chave Chave
Primária Alternativa
Emp:
CodigoEmp Nome CodigoDepto CPF
E5 Souza D1 132.121.331-20
E3 Santos D2 891.221.111-11
E2 Silva D1 341.511.775-45
E1 Soares D1 631.692.754-88
Abordagem Relacional
Modelo Relacional de Dados
Fonte: HEUSER, Carlos Alberto. Projeto de banco de dados – 6. ed. – Porto Alegre: Bookman, 2009 – Cap. 4.
Abordagem Relacional
Modelo Relacional de Dados
Depto: Emp:
CodigoDepto NomeDepto CodigoEmp Nome CodigoDepto CategFuncional CPF
D1 Compras E1 Souza D1 — 132.121.331-20
D2 Engenharia E2 Santos D2 C5 891.221.111-11
D3 Vendas E3 Silva D2 C5 341.511.775-45
E5 Soares D1 C2 631.692.754-88
Chave Primária
Tabela “Depto:” Chave Primária Chave Estrangeira em
Fonte: HEUSER, Carlos Alberto. Projeto de banco de dados – 6. ed. – Tabela “Emp:” relação a Tabela “Depto:”
Porto Alegre: Bookman, 2009 – Cap. 4.
Abordagem Relacional
Modelo Relacional de Dados
Auto relacionamento
PK FK
Restrições
Atributo – Coluna
Emp:
MatrEmp Nome TelCelular DataAdmissão CPF
A chave primária 201510 Souza (11)98160-0542 01/10/2015 132.121.331-20
representa uma 201604 Santos (11)99100-7854 10/01/2016 891.221.111-11
entidade na base 201001 Silva (11)97835-7004 28/02/2010 341.511.775-45
de dados 201902 Soares (11)98840-1026 17/07/2019 631.692.754-88
Abordagem Relacional
Restrições de Integridade de Dados
Comandos
inválidos
Comando
válidos
Comandos
inválidos
Comando
válidos
Chave
Aluno Estrangeira Curso
Nome CPF Matricula CodCurso CodCurso Descrição
João 757.537.459-29 12345 1 1 Administração
Pedro 123.456.789-00 67890 2 2 Arquitetura
Maria 987.654.321-12 54321 1 3 Direito
Chave Alternativa Chave Primária Chave Primária
Tabela Aluno Tabela Aluno Tabela Curso
Abordagem Relacional
Restrições de Integridade de Dados
Maria
Diretora
(1 – R$ 10.000,00)
Pedro
Assessor
(6 – R$ 6.500,00)
João Carla
Gerente Vendas Ger. Manutenção
(3 – R$ 8.250,00) (2 – R$ 7.600,00)
Jonas Cristina
Vendedor Pl. Eletricista Sr.
(4 – R$ 5.900,00) (5 – R$ 6.000,00)
Silvia Rosana
Vendedor Jr. Eletricista Jr.
(7 – R$ 4.850,00) (8 – R$ 4.800,000)
Maria
Viola regra de negócio. Necessário Diretora
(1 – R$ 10.000,00)
desenvolvimento para garantir a
integridade do Banco de Dados Pedro
Assessor
(6 – R$ 6.500,00)
João Carla
Gerente Vendas Ger. Manutenção
(3 – R$ 8.250,00) (2 – R$ 7.600,00)
Jonas Cristina
Vendedor Pl. Eletricista Sr.
(4 – R$ 5.900,00) (5 – R$ 6.000,00)
▪ Verifica se o salário do
funcionário novo (que está
sendo incluído) é menor que
o salário do seu chefe.
▪ Retorna um resultado
booleano – verdadeiro ou
falso.
viola regra
Comando
Comando
não viola
Inserção (Insert)
Insere linhas em uma tabela
Pode violar 3 restrições de integridade:
1. Integridade de Domínio:
Ex.: Inserir caracteres em atributo numérico.
3. Integridade Referencial:
Ex.: quando o valor da FK refere-se a uma tupla que não existe na relação
referenciada.
Abordagem Relacional
Restrições de Integridade de Dados
Exclusão (Delete)
Exclui linhas de uma tabela
Pode violar :
1. Integridade referencial: se a linha ou tuple que está
sendo excluída está referenciada por uma FK de
outra tabela.
A exclusão do Curso 1, implica CodCurso Descrição
quebra de integridade referencial. 1 Administração
Pois, teremos aluno matriculados 2 Arquitetura
em curso inexistente. 3 Direito
Nome CPF Matricula CodCurso
João 757.537.459-29 12345 1
Pedro 123.456.789-00 67890 2
Maria 987.654.321-12 54321 1
Abordagem Relacional
Restrições de Integridade de Dados
Atualização (Update)
Altera os valores de atributos nas linhas existentes
Pode violar as seguintes regras de integridade:
1. Domínio para atributos que não são chave.
2. Entidade e Chave Primária e entidade.
3. Integridade Referencial.
Abordagem Relacional
SGBD - Transações
ATOMICIDADE:
Uma transação pode conter vários comandos.
Propriedades das Transações Propriedade do tudo-ou-nada. Ou a transação é
no SGBD executada inteira (todos os seus comandos com sucesso
ou nenhuma de suas ações é executada).
CONSISTÊNCIA:
A transação cria um novo estado válido dos dados ou em
caso de falha retorna todos os dados ao seu estado
antes que a transação foi iniciada.
ISOLAMENTO:
Uma transação em andamento mas ainda não validada
deve permanecer isolada de qualquer outra operação, ou
seja, garantimos que a transação não será interferida por
nenhuma outra transação concorrente.
DURABILIDADE OU PERSISTÊNCIA:
Uma vez que a transação completa seu trabalho, seus
efeitos têm garantia de serem refletidos no BD,
independente do que possa ocorrer com o mesmo a
seguir.
Abordagem Relacional
SGBD - Transações
Controle de concorrência e de transação
Unidade Lógica de Trabalho ou
Logical Unit of Work (LUW)
1 2 3
estado de Consulta saldo da conta Debita R$ 500,00 da conta Credita R$ 500,00 na conta estado de
consistência R$ 1.200,00 pagadora que fica com saldo recebedora consistência
de R$ 700,00
Commit Work
Rollback work = Reversão do trabalho
Caso ocorra alguma falha numa das fases de atualização (Efetivação do
Trabalho)
Abordagem Relacional
Modelo Relacional de Dados
Obrigado