34
Modelo Relacional Aécio Costa

Lógica de Programação com Algoritmo, Pascal, PHP e Java de Banco de... · Em um sistema relacional, a linguagem de definição de dados (DDL) deveria fornecer recursos para especificar

Embed Size (px)

Citation preview

Modelo Relacional

Aécio Costa

Modelo Relacional

O Modelo de Dados Relacional foi introduzido por Codd (1970).

Entre os modelos de dados de implementação, o modelo

relacional é o mais simples, com estrutura de dados uniforme,

e também o mais formal.

Modelo Relacional

O modelo de dados relacional representa os dados da base de

dados como uma coleção de relações.

Na terminologia relacional: Linha = Tupla

Coluna = Atributo

Tabela = Relação

Tipo dos Valores da Coluna = Domínio

Modelo Relacional

Representação do Diagrama Relacional

ESTUDANTE

Modelo Relacional

Esquema Diagrama Relacional Companhia

Atributo Chave

Modelo Relacional

O atributo DNÚMERO tanto de DEPARTAMENTO quanto de

LOCAIS_DEPTO referem-se ao mesmo conceito do mundo real (o

número dado a um departamento);

Significa que é permitido dar nomes de atributos distintos para um

mesmo conceito do mundo real;

O atributo DNÚMERO em departamento é uma chave primária em

DEPARTAMENTO enquanto que em LOCAIS_DEPTO é uma chave

estrangeira.

Modelo Relacional

Integridade de Entidade, Referencial e

Chaves Estrangeiras

Modelo Relacional

Restrição de integridade de entidade

Estabelece que nenhum valor da chave-primária pode ser nulo.

Isso porque, o valor de uma chave-primária é utilizado para

identificar tuplas em uma relação.

As restrições de chave e de integridade de entidade aplicam-se

apenas a relações individuais.

Modelo Relacional

Não é possível

haver valores null

Modelo Relacional

Restrição de Integridade Referencial

Restrição que é especificada entre duas relações e é usada para

manter a consistência entre tuplas de duas relações.

Informalmente, a restrição de integridade referencial estabelece que

uma tupla de uma relação que se refere à outra relação deve se

referir a uma tupla existente naquela relação.

Modelo Relacional

Exemplo:

Modelo Relacional

Restrições de Integridade Referencial e o Modelo Relacional

Modelo Relacional

Todas as restrições de integridade devem ser especificadas no

esquema da base de dados relacional;

Em um sistema relacional, a linguagem de definição de dados (DDL)

deveria fornecer recursos para especificar os vários tipos de

restrições tal que o SGDB possa verificá-las automaticamente.

Modelo Relacional

Mapeamento do MER para o Modelo de Dados Relacional

O modelo de dados de alto-nível normalmente adotado é o Modelo

Entidade-Relacionamento (MER) e o esquema das visões e de toda a

base de dados são especificados em diagramas entidade

relacionamento (DER);

Modelo Relacional

Após a criação do modelo ER é necessário o mapeamento baseado

em diagrama para um modelo de dados de implementação;

Existem três tipos de modelos de dados de implementação:

hierárquico, rede e relacional;

7 passos podem ajudar no mapeamento do modelo ER para o

relacional.

Modelo Relacional

Modelo ER

Modelo Relacional

Passo 1

Para cada entidade regular E no DER, criar uma relação R que inclua

todos os atributos simples de E.

Para um atributo composto, inclua apenas os atributos simples que

compõem o atributo composto.

Escolha um dos atributos-chave de E como sendo a chave-primária de

R. Se a chave escolhida de E for composta, então o conjunto de

atributos simples que o compõem irão formar a chave-primária de

R.

Modelo Relacional

Passo 1

Modelo Relacional

Passo 2

Para cada tipo de entidade fraca W do DER com o tipo de entidade de

identificação E, criar uma relação R e incluir todos os atributos

simples (ou os componentes simples de atributos compostos) de W

como atributos de R.

Além disso, incluir como a chave-estrangeira de R a chave-primária da

relação que corresponde ao tipo de entidade de identificação.

Modelo Relacional

Passo 2

Modelo Relacional

Passo 3

Para cada tipo de relacionamento binário 1:1 R do DER, criar as relações S e T que correspondem aos tipos de entidade participantes em R.

Escolher uma das relações, por exemplo S, que inclua como chave-estrangeira de S a chave-primária de T.

É melhor escolher o tipo de entidade com participação total em R como a relação S.

Inclua todos os atributos simples (ou os componentes simples de atributos compostos) do tipo de relacionamento 1:1 R como atributos de S.

Modelo Relacional

Passo 3

Modelo Relacional

Passo 4

Para cada tipo de relacionamento binário regular 1:N (não fraca) R, identificar a relação S que representa o tipo de entidade que participa do lado N do tipo de relacionamento.

Incluir como chave-estrangeira em S a chaves-primária da entidade que representa o lado N.

Isto porque cada instância da entidade do lado 1 está relacionada a mais de uma instância de entidade no lado N do tipo de relacionamento.

Inclua também quaisquer atributos simples (ou componentes simples de atributos compostos) do tipo de relacionamento 1:N como atributos de S.

Modelo Relacional

Passo 4

Modelo Relacional

Passo 5

Para cada tipo de relacionamento binário M:N R, criar uma nova

relação S para representar R.

Incluir como chave-estrangeira em S as chaves-primárias das relações

que representam os tipos de entidade participantes; sua combinação

irá formar a chave-primária de S.

Inclua também qualquer atributo simples do tipo de relacionamento

M:N (ou componentes simples dos atributos compostos) como

atributos de S.

Modelo Relacional

Passo 5

Modelo Relacional

Passo 6

Para cada atributo A multivalorado, criar uma nova relação R que

inclua um atributo correspondendo a A e a chave-primária K da

relação que representa o tipo de entidade ou o tipo de

relacionamento que tem A como atributo.

A chave-primária de R é a combinação de A e K.

Modelo Relacional

Passo 6

Modelo Relacional

No final teremos especificando chaves estrangeiras:

Modelo Relacional

Passo 7

Para cada tipo de relacionamento n-ário R, n>2, criar uma nova relação S para representar R.

Inclua como chave-estrangeira em S as chaves-primárias das relações que representam os tipos de entidades participantes.

Incluindo-se também qualquer atributo simples do tipo de relacionamento n-ário (ou componentes simples dos atributos compostos) como atributo de S.

A chave-primária de S é normalmente uma combinação de todas as chaves-estrangeiras e referencia as relações que representam os tipos de entidades participantes.

Modelo Relacional

Passo 7

Modelo Relacional

Passo 7

Modelo Relacional

Exercício

Construa o modelo de dados relacional para o modelo ER do

Banco do Brasil.

Discussão em Sala.

Modelo Relacional

Entrega Individual Modelo Relacional – Próxima Aula

Projeto da Faculdade

Projeto Biblioteca