BD Relacional

46
BANCO DE DADOS RELACIONAL Jéssica Soares de Carvalho

Transcript of BD Relacional

Page 1: BD Relacional

BANCO DE DADOSRELACIONAL

Jéssica Soares de Carvalho

Page 2: BD Relacional

SUMÁRIO

1. Teoria Relacional

2. Definição

3. Exemplo Tela de Usuário

4. Vantagens

5. Composição do Banco de Dados Relacional

6. Chave

6.1 Chave Primária

6.2 Chave Estrangeira

6.3 Chave Alternativa

Page 3: BD Relacional

BANCO DE DADOS RELACIONALTEORIA RELACIONAL

Em 1970, Edgar F. Codd formulou o modelo de dados relacional. Em 1979, Codd refinaram o modelo relacional já existente, chegando ao que se denominou modelo relacional estendido.

Page 4: BD Relacional

BANCO DE DADOS RELACIONALTEORIA RELACIONAL

• Voltada, principalmente, a melhorar a visão de dados pelos usuários, a abordagem relacional faz com que os usuários vejam o banco de dados como um conjunto de tabelas, originadas em linhas e colunas.

• Atrelado à idéia de que não é relevante ao usuário saber onde os dados estão nem como os dados estão.

Page 5: BD Relacional

BANCO DE DADOS RELACIONALDEFINIÇÃO

Definição: São conjuntos de dados vistos segundo

um conjunto de TABELAS, originadas em linhas e colunas.

Page 6: BD Relacional

BANCO DE DADOS RELACIONALEXEMPLO 1 TELA DE USUÁRIO

Page 7: BD Relacional

BANCO DE DADOS RELACIONALEXEMPLO 2 TELA DE USUÁRIO

Page 8: BD Relacional

BANCO DE DADOS RELACIONALEXEMPLO 3 TELA DE USUÁRIO

Page 9: BD Relacional

BANCO DE DADOS RELACIONALVANTAGENS

Melhoria na segurança dos dados; Mais agilidade na questão gerencial da

informação; Visão múltipla dos dados;

Page 10: BD Relacional

COMPOSIÇÃO DO BANCO DE DADOS RELACIONAL

Um banco de dados relacional é composto de tabelas ou relações. A terminologia tabela é mais comum nos produtos comerciais e na prática. Já a terminologia relação foi utilizada na literatura original sobre a abordagem relacional (daí a denominação “relacional”) e é mais comum na área acadêmica e nos livros.

Page 11: BD Relacional

COMPOSIÇÃO DO BANCO DE DADOS RELACIONAL

• Uma tabela é um conjunto não ordenado de linhas ou tuplas, na terminologia acadêmica);

• Cada campo é identificado por nome de campo ou nome de atributo;

• O conjunto de campos das linhas de uma tabela que possuem o mesmo nome formam uma coluna.

• O conjunto de valores que um determinado atributo/campo pode assumir é intitulado de domínio ou valor de atributo ou valor de atributo;

Page 12: BD Relacional

COMPOSIÇÃO DO BANCO DE DADOS RELACIONAL

• O conjunto de valores que um determinado atributo/campo pode assumir é intitulado de domínio ou valor de campo ou valor de atributo;

• O domínio consiste de um grupo de valores a partir dos quais um ou mais atributos retiram seus valores reais. Assim sendo Rio de Janeiro, Paraná e Pará são estados válidos para o Brasil, enquanto que Corrientes não é um estado válido (pertence a Argentina e não ao Brasil).

Page 13: BD Relacional

COMPOSIÇÃO DO BANCO DE DADOS RELACIONAL

Domínio

Page 14: BD Relacional

EXERCÍCIO 1 – TRANSFORME OS EXEMPLOS ABAIXO EM BANCOS DE DADOS RELACIONAIS (TABELAS)

a) Aluno (CodigoAluno,Nome,CodigoCurso, Endereço, Série)

b) Curso(CodigoCurso,Nome)c) Disciplina(CodigoDisciplina,Nome,Carga

Horária, CodigoDepartamento)d) Conceito(CodigoAluno,CodigoDisciplina,

Ano-Semestre,Conceito)e) Departamento(CodigoDepartamento,N

ome)

Page 15: BD Relacional

EXERCÍCIO 2 – NO EXERCÍCIO FEITO ANTERIORMENTE ACRESCENTE AS INFORMAÇÕES COLUNA (ATRIBUTO), NOME DO CAMPO (NOME DO ATRIBUTO), LINHA (TUPLA), VALOR DO CAMPO(DOMÍNIO) DE ACORDO COM O EXEMPLO ABAIXO.

Considere o exemplo abaixo e descreva nome da tabela, coluna(atributo), linha(tupla), valor de campo(domínio) de cada exercício proposto.

Page 16: BD Relacional

COMPOSIÇÃO DO BANCO DE DADOS RELACIONAL

As tabelas/relações não podem ser duplicadas (não podem existir dois estados do Pará, no conjunto de estados brasileiros, por exemplo);

A ordem das colunas é irrelevante; Não deve haver duas colunas iguais; Cada tabela tem um nome próprio,

distinto de qualquer outra tabela no banco de dados;

Page 17: BD Relacional

TABELA DE CDS

Page 18: BD Relacional

COMPOSIÇÃO DO BANCO DE DADOS RELACIONAL

• A ordem das linhas é irrelevante, pois o CD de número 2 vem após o CD de número 3, inclusive o CD nº3 tem data igual ao nº 2;

• Nenhuma linha se repete nesta tabela;• A ordem das colunas também não tem

importância, pois não tem nenhuma finalidade de classificação, tampouco indica ordem de leitura dos dados;

• Todas as colunas tem um nome, que identifica o seu conteúdo.

Page 19: BD Relacional

SUMÁRIO

1. Teoria Relacional

2. Definição

3. Exemplo Tela de Usuário

4. Vantagens

5. Composição do Banco de Dados Relacional

6. Chave

6.1 Chave Primária

6.2 Chave Estrangeira

6.3 Chave Alternativa

Page 20: BD Relacional

BANCO DE DADOS RELACIONALCHAVE PRIMÁRIA

Também chamada de Primary Key; São colunas ou conjunto de colunas,

cujos valores são únicos na tabela, isto é, nunca se repete aquele valor em nenhuma outra linha da tabela;

Devemos analisar o valor de cada coluna (domínio) para que não se repitam, ou não possam se repetir.

Page 21: BD Relacional

BANCO DE DADOS RELACIONALCHAVE PRIMÁRIA – EXEMPLO 1

• Qual a coluna que formam um identificador único para cada linha desta tabela?

Page 22: BD Relacional

BANCO DE DADOS RELACIONALCHAVE PRIMÁRIA

Nome? Sexo? Cargo? Salário? Com certeza não, pois se repetem

Sobra neste caso a única coluna que não tem valores repetidos que é matrícula

Page 23: BD Relacional

BANCO DE DADOS RELACIONALCHAVE PRIMÁRIA – EXEMPLO 2

Page 24: BD Relacional

BANCO DE DADOS RELACIONALCHAVE PRIMÁRIA

• A tabela (Dependente) possui uma chave primária composta (colunas CódigoEmp e NoDepen).

• Neste caso, apenas um dos valores dos campos que compõem a chave não é suficiente para distinguir uma linha das demais, já que tanto um código de empregado (CódigoEmp) pode aparecer em diferentes linhas, quanto um número de dependente (NoDepen) pode aparecer em diferentes linhas.

Page 25: BD Relacional

BANCO DE DADOS RELACIONALCHAVE PRIMÁRIA

É necessário considerar ambos valores (CódigoEmp e NoDepen) para identificar uma linha na tabela, ou seja para identificar um dependente.

Page 26: BD Relacional

SUMÁRIO

1. Teoria Relacional

2. Definição

3. Exemplo Tela de Usuário

4. Vantagens

5. Composição do Banco de Dados Relacional

6. Chave

6.1 Chave Primária

6.2 Chave Estrangeira

6.3 Chave Alternativa

Page 27: BD Relacional

BANCO DE DADOS RELACIONALCHAVE ESTRANGEIRA

Também chamada de Foreign Key; É o campo que serve para relacionar

as tabelas; O relacionamento entre as tabelas, não

existe fisicamente, pois este relacionamento é apenas lógico e representado através das chaves estrangeiras.

Page 28: BD Relacional

BANCO DE DADOS RELACIONALCHAVE ESTRANGEIRA

Quando dizemos que duas tabelas estão relacionadas através de atributos comuns, devemos observar que provavelmente esta coluna em uma das tabelas é uma chave primária. Na outra tabela, este atributo irá caracterizar o que é denomidade de chave estrangeira, formando assim uma ligação lógica (relacionamento) entre tabelas.

Page 29: BD Relacional

BANCO DE DADOS RELACIONALCHAVE ESTRANGEIRA

é uma coluna ou uma combinação de colunas, cujos valores aparecem necessariamente na chave primária de uma tabela.

Page 30: BD Relacional

BANCO DE DADOS RELACIONALCHAVE ESTRANGEIRA

Page 31: BD Relacional

BANCO DE DADOS RELACIONALCHAVE ESTRANGEIRA

A coluna CodigoDepto da tabela Emp é uma chave estrangeira em relação a chave primária da tabela Dept Isso significa que, na tabela Emp, não podem aparecer linhas que contenham um valor do campo CodigoDepto que não exista na coluna de mesmo nome da tabela Emp.A interpretação desta restrição é que todo empregado deve estar associado a um departamento.

Page 32: BD Relacional

BANCO DE DADOS RELACIONALCHAVE ESTRANGEIRA

A existência de uma chave estrangeira impõe restrições que devem ser garantidas em diversas situações de alteração do banco de dados:

Quando da inclusão de uma linha na tabela que contém a chave estrangeira;

Quando da alteração do valor da chave estrangeira

Quando da exclusão de uma linha da tabela que contém a chave primária referenciada pela chave estrangeira

Page 33: BD Relacional

BANCO DE DADOS RELACIONALCHAVE ESTRANGEIRA

Quando da inclusão de uma linha na tabela que contém a chave estrangeira;

Deve ser garantido que o valor da chave estrangeira apareça na coluna da chave primária referenciada. No caso do exemplo da Tabela Emp, significa que um novo empregado deve atuar em um departamento já existente no banco de dados.

Page 34: BD Relacional

BANCO DE DADOS RELACIONALCHAVE ESTRANGEIRA

Quando da alteração do valor da chave estrangeira

Deve ser garantido que o novo valor de uma chave estrangeira apareça na coluna da chave primária referenciada. No caso do exemplo da Tabela Emp, significa que se a chave estrangeira CodigoDepto for alterada esse valor deve ser alterado também na Tabela Dept onde este campo é chave primária.

Page 35: BD Relacional

BANCO DE DADOS RELACIONALCHAVE ESTRANGEIRA

Quando da exclusão de uma linha da tabela que contém a chave primária referenciada pela chave estrangeira

Deve ser garantido que na coluna chave estrangeira não apareça o valor da chave primária que está sendo excluída.

Page 36: BD Relacional

BANCO DE DADOS RELACIONALCHAVE ESTRANGEIRA

Se houver a exclusão de um valor do campo CodigoDepto na tabela Dept no qual esta coluna é chave primária, deve ser excluído também na tabela Emp onde este campo é chave estrangeira.

Page 37: BD Relacional

EXERCÍCIO 1 – DESCREVA OS CAMPOS QUE POSSUEM CHAVE PRIMÁRIA E ESTRANGEIRA UTILIZANDO O EXERCÍCIO JÁ RESOLVIDO.

a) Aluno (CodigoAluno,Nome,CodigoCurso, Endereço, Série)

b) Curso(CodigoCurso,Nome)c) Disciplina(CodigoDisciplina,Nome,Carga

Horária, CodigoDepartamento)d) Conceito(CodigoAluno,CodigoDisciplina,

Ano-Semestre,Conceito)e) Departamento(CodigoDepartamento,N

ome)

Page 38: BD Relacional

SUMÁRIO

1. Teoria Relacional

2. Definição

3. Exemplo Tela de Usuário

4. Vantagens

5. Composição do Banco de Dados Relacional

6. Chave

6.1 Chave Primária

6.2 Chave Estrangeira

6.3 Chave Alternativa

Page 39: BD Relacional

BANCO DE DADOS RELACIONALCHAVE ALTERNATIVA

Em alguns casos, mais de uma coluna ou combinações de colunas podem servir para distinguir uma linha das demais. Uma das colunas (ou combinação de colunas) é escolhida como chave primária. As demais colunas ou combinações são denominadas chaves alternativas.

Page 40: BD Relacional

BANCO DE DADOS RELACIONALCHAVE ALTERNATIVA

Page 41: BD Relacional

BANCO DE DADOS RELACIONALCHAVE ALTERNATIVA

A tabela com dados de empregados Emp na qual tanto a coluna CódigoEmp quanto a coluna CIC podem ser usadas para distinguir uma linha das demais.

Nesta tabela, como a coluna CódigoEmp foi escolhida como chave primária, diz-se que a coluna CIC é uma chave alternativa.

Page 42: BD Relacional

BANCO DE DADOS RELACIONALCHAVE ALTERNATIVA X CHAVE PRIMÁRIA

a questão é que critério foi usado para preferir a coluna CódigoEmp como chave primária e considerar a coluna CIC como chave alternativa. Porque CIC não foi usado como chave primária e CódigoEmp como chave alternativa?

Page 43: BD Relacional

BANCO DE DADOS RELACIONALCHAVE ALTERNATIVA X CHAVE PRIMÁRIA

Se considerarmos apenas a tabela em que a coluna aparece, não há diferença entre uma coluna ser chave primária ou alternativa. Em ambos casos, apenas está sendo especificada a unicidade de valores de chave.

Entretanto, ao considerarmos chaves estrangeiras, a diferenciação entre chave primária e chave alternativa passa a ser relevante.

Page 44: BD Relacional

BANCO DE DADOS RELACIONALCHAVE ALTERNATIVA X CHAVE PRIMÁRIA

Quando especificamos que uma chave é primária, estamos especificando, além da unicidade de valores, também o fato de esta coluna ser usada nas chaves estrangeiras que referenciam a tabela em questão.

Page 45: BD Relacional

BANCO DE DADOS RELACIONALCHAVE ALTERNATIVA X CHAVE PRIMÁRIA

Assim, no caso da tabela Emp, estamos especificando que tanto os valores de CódigoEmp quanto os valores de CIC são únicos e adicionalmente que a coluna CódigoEmp será usada nas chaves estrangeiras que referenciam a tabela Emp.

Page 46: BD Relacional

EXERCÍCIO 1 – DESCREVA OS CAMPOS QUE POSSUEM CHAVE ALTERNATIVA UTILIZANDO O EXERCÍCIO JÁ RESOLVIDO.

a) Aluno (CodigoAluno,Nome,CodigoCurso, Endereço, Série)

b) Curso(CodigoCurso,Nome)c) Disciplina(CodigoDisciplina,Nome,Carga

Horária, CodigoDepartamento)d) Conceito(CodigoAluno,CodigoDisciplina,

Ano-Semestre,Conceito)e) Departamento(CodigoDepartamento,N

ome)