• Nenhum resultado encontrado

Modelo Relacional. Modelo Relacional. Tabelas

N/A
N/A
Protected

Academic year: 2021

Share "Modelo Relacional. Modelo Relacional. Tabelas"

Copied!
20
0
0

Texto

(1)

RELACIONAL

Modelo Relacional

Banco de Dados Relacional

=

consiste em uma coleção de tabelas

ou relações, cada uma das quais

com um nome único.

Banco de Dados Relacional

=

consiste em uma coleção de tabelas

ou relações, cada uma das quais

(2)

3



Tabelas

Conjunto não ordenado de linhas (tuplas);

Cada linha é composta por uma série de campos (valor de atributo);

Cada campo é identificado por um nome de campo (nome de atributo);

O conjunto de campos iguais da tabela formam uma coluna

4

Modelo Relacional

Coluna (atributo) nome do campo(nome do atributo)

linha (tupla)

valor do campo (valor do atributo)

... ... ...

...

NoMatrícula Nome End. Residencial Cargo

01 João Av. 9 de julho,140 Diretor

02 José Rua das Flores, 35 Gerente

03 Maria Al. Casa Branca, 110 Escriturário

(3)

5



Chaves

Identificam as linhas de uma tabela e permitem o relacionamento entre linhas de várias tabelas. Podem ser:

⌧Chaves primárias; ⌧Chaves estrangeiras; e

⌧Chaves alternativas.



Chaves - Chave Primária

É uma coluna ou uma combinação de colunas cujos valores distinguem uma linha das demais dentro de uma tabela. Podem ser:

⌧Chaves únicas; ou

⌧Chaves compostas.

(4)

7 CódigoEmp Nome CódigoDepto

E3 Paulo D1 E1 Luciana D2 E2 Antonio D1 E4 Lucia D3

Chave Única

CódigoEmp NumDepend Nome Tipo

E1 01 Luis Filho E1 02 Marta Esposa E2 01 Ana Esposa E2 02 Carlos Filho

Chave Composta

8



Chaves - Chave Estrangeira

É uma coluna ou uma combinação de colunas, cujos valores aparecem necessariamente na chave primária de uma tabela. Permite a implementação do relacionamento em um banco de

dados relacional

(5)

9 CódigoEmp Nome CódigoDepto

E3 Paulo D1 E1 Luciana D2 E2 Antonio D1 E4 Lucia D3 CodigoDepto Nome D1 Compras D2 Vendas D3 Engenharia Chave Estrangeira



Chaves - Chave Estrangeira

Restrições:

⌧Quando for incluída uma nova linha na tabela que contém a

chave estrangeira;

⌧Quando for alterado o valor da chave primária referenciada

pela chave estrangeira;

⌧Quando for alterado o valor de uma chave estrangeira;

⌧Quando for excluída uma linha da tabela que contém a chave

primária referenciada pela chave estrangeira;

(6)

11



Chaves - Chave Estrangeira dentro da própria tabela

CodigoEmp Nome Codi goDepto CodEmpGerente

E3 Pedro D1 __

E2 Lucas D1 E3

E1 Marisa D3 E3

Chave estrangeira referencia chave primária na

própria tabela

12

Modelo Relacional



Chaves - Chave Alternativa

Quando mais de uma coluna podem servir para distinguir uma linha das demais, uma é escolhida chave primária e as demais são denominadas chaves alternativas.

CodigoEmp Nome CodigoDepto CPF E3 Pedro D1 132.121.331-20 E2 Lucas D1 876.346.235-90 E1 Marisa D3 312.692.451-78

(7)

13



Domínios

Conjunto de valores ( alfanuméricos, numéricos...) que os campos de uma determinada coluna podem assumir. Ex:

⌧números de salas de aula [o conj.de números de 1 a 150,

inteiros do formato 999]

⌧nomes de alunos [o conj.de nomes possíveis de pessoas, formato A(50)]

⌧códigos de disciplinas [o conj.de 3 letras seguidos de um traço

e de 3 dígitos; formato AAA-999]

Modelo Relacional



Domínios

Podem ser:

⌧obrigatórios : não são admitidos valores vazios para as colunas.

⌧Opcionais : podem aparecer valores vazios para as colunas. Normalmente, chaves primárias são obrigatórias.

(8)

15



Restrições de Integridade

Integridade dos dados de

um Banco de Dados

=

os dados refletem corretamente a

realidade representada pelo

banco de dados e são

consistentes entre si

Integridade dos dados de

um Banco de Dados

=

os dados refletem corretamente a

realidade representada pelo

banco de dados e são

consistentes entre si

16

Modelo Relacional



Restrições de Integridade

Regras de consistência de dados que é garantida pelo próprio SGBD:

⌧Integridade de Domínio; ⌧Integridade de Vazio; ⌧Integridade de Chave; e

(9)

17



Restrições de Integridade

Integridade de Domínio: especificam que o valor de um campo deve obedecer a definição dos valores admitidos para a coluna. Integridade de Vazio: através deste tipo de restrição é

especificado se os campos de uma coluna podem ou não ser vazios ( se a coluna é obrigatória ou opcional).

Modelo Relacional



Restrições de Integridade

Integridade de Chave: trata-se da restrição que define que os valores da chave primária e alternativa devem ser únicos. Integridade Referencial: define que os valores dos campos que

aparecem em uma chave estrangeira devem aparecer na chave primária da tabela referenciada.

(10)

19



Restrições de Integridade

Restrições Semânticas: não são automaticamente controladas pelo SGBD; o programador deve escrever procedimentos que garantam tais integridades. Ex:

⌧Um empregado não pode ter um salário maior que seu superior

imediato;

20

Modelo Relacional



Especificação de Banco de Dados Relacional

Chamada de Esquema do Banco de Dados, deve conter no mínimo:

⌧Tabelas que formam o banco de dados; ⌧Colunas que as tabelas possuem; e ⌧Restrições de integridade.

(11)

21



Esquema do Banco de Dados

NOMETABELA (nomes das colunas)

<nome da coluna ch. estrangeira> referencia <nome da tabela>

Ex:

DEPARTAMENTO (CodigoDepto, Nome)

EMPREGADO (CodigoEmp, Nome, CodigoDepto) CodigoDepto referencia DEPARTAMENTO

Mapeamento entre Modelos

Engenharia Reversa de BD Relacional Projeto Lógico de BD Relacional Modelo ER ( nível conceitual) Modelo Relacional ( nível lógico)

(12)

23



Regras:

obter um banco de dados que permita a eficiência das instruções de consulta e alteração do banco; e

obter um banco de dados simplificado, no que diz respeito ao desenvolvimento e manutenção das aplicações.

24

 Para isso:

Evitar junções: ter os dados necessários a uma consulta em uma única linha;

Diminuir o número de chaves:

Cliente (CodCliente, Nome, Endereço, CEP,Telefone) Ou

Cliente (CodCliente, Nome)

ClienteEnder (CodCliente, Endereco, CEP, Telefone) CodCliente referencia Cliente

Evitar campos opcionais :

CGC – Nome Fantasia CPF - RG

(13)

25



Passos para a transformação de um modelo ER para o

modelo Relacional:

tradução inicial de entidades e respectivos atributos; tradução de relacionamentos e respectivos atributos.



Mapeamento das Entidades

Cada entidade é traduzida para uma tabela.

Cada atributo da entidade define uma coluna da tabela.

Os atributos identificadores da entidade correspondem às colunas

que compõem a chave primária da tabela.

Mapeamento ER - Relacional

CLIENTE CódigoNome

Data Nascimento Endereço

(14)

27



Mapeamento dos Nomes de atributos

Nomes de Colunas devem ser curtos;

Nomes de colunas não devem conter espaços em branco; Não é necessário utilizar o nome da tabela para compor o nome

de uma coluna, com exceção da chave primária. Exemplo:

Nome do Cliente NomeCliente Nome

Codigo do Cliente Codigo CodigoCliente

CodCliente CodigoCli

28

 Mapeamento dos Relacionamentos : determinado pelas cardinalidades mínima e máxima das entidades envolvidas nos relacionamentos.

Três possibilidades:

tabela própria: relacionamentos n para n;

coluna (s) adicional (is) dentro de uma das tabelas :

relacionamentos n para 1 ou 1 para n; e

fusão das tabelas relacionadas em uma só : relacionamentos 1 para

1.

(15)

29



Mapeamento Relacionamentos – 1:1

quando as duas entidades tem participação opcional

Inserção dos atributos em uma das tabelas

HOMEM MULHER Nome Código (0,1) (0,1) Código Nome Data Regime Casamento



Mapeamento Relacionamentos – 1:1

Dentro da Entidade Mulher

Mulher ( CodigoMul, Nome CodigoHom, Data, Regime) CodigoHom referencia Homem

Homem (CodigoHom, Nome)

Criar uma tabela para Casamento

Mulher ( CodigoMul, Nome Homem (CodigoHom, Nome)

Casamento (CodigoMul, CodigoHom, Data, Regime)

(16)

31



Mapeamento Relacionamentos – 1:1

quando uma entidade tem participação opcional e a outra obrigatória

Fusão das tabelas correspondentes as duas entidades

CORRENTISTA CARTÃO MAGNÉTICO Nome Código (0,1) (1,1)

Código Data Expedição

possui

32



Mapeamento Relacionamentos – 1:1

Todos os atributos em uma só tabela (Correntista)

Correntista (CodCorrent, Nome, CodCartao, DataExp) Manter as duas tabelas

Correntista (CodCorrent, Nome)

Cartao (CodCartao, DataExp, CodCorrent) CodCorrent referencia Correntista

(17)

33



Mapeamento Relacionamentos – 1:1

quando ambas entidades tem participação obrigatória

Fusão das tabelas correspondentes às duas entidades

CONFERENCIA COMISSÃO Nome Código (1,1) (1,1) Endereco Organizada por Data



Mapeamento Relacionamentos – 1:1

Todos os atributos em uma só tabela (Conferência) Conferência (CodConf, Nome, Data, EnderComisOrg)

Mapeamento ER - Relacional

DIRETOR DEPARTAMENTO Nome Código (1,1) (1,1) Codigo Nome Dirige

?

(18)

35



Mapeamento Relacionamentos – 1:n

Adição de colunas à uma das tabelas Edifício (CodigoEdif, Endereço)

Apartamento (CodigoEdif, NumeroAp, AreaAp) CodigoEdif referencia Edificio

EDIFÍCIO APARTAMENTOS Endereço Código (1,n) (1,1) Número Área contém 36



Mapeamento Relacionamentos – 1:n

Adição de colunas à uma das tabelas Cliente (CodigoCli, Nome)

Venda (NumNotaF, Data, CodigoCli)

CodigoCli referencia Cliente

Mapeamento ER - Relacional

CLIENTE VENDA Nome Código (0,n) (1,1) Número da

Nota Fiscal Data

(19)

37



Mapeamento Relacionamentos – n:n

Criação de um tabela própria para o relacionamento

Medico (CRM, Nome)

Paciente (CodPaciente, Nome)

Consulta (CRM, CodPaciente, Data, Hora, Diagnostico) CRM referencia Medico

CodPaciente referencia Paciente

MEDICO PACIENTE Nome CRM (1,n) (1,n) Código Nome atende Data Hora Diagnóstico

Exemplo 1

TIME TÉCNICO

CIDADE localiza-se possui

PATROCINADOR patrocina Time 1 Time 2 realizado (0,n) (1,n) (0,n) (1,1) (1,1) (1,1) (1,n) (1,n) (1,1) (1,1) (0,n) TIME Código (identificador) nome ano de fundação nome do presidente endereço PATROCINADOR Código (identificador) razão social nome fantasia CIDADE Código (identificador) nome unidade federativa TÉCNICO Código (identificador) nome data de nascimento telefone residencial telefone celular JOGO número (identificador)

(20)

39 RECEITA MEDICA VENDA MEDICAMENTO PERFUMARIA FABRICANTE (1,1) (0,n) (0,n) (0,n) (0,n) (0,1) (0,n) (0,n)

Fabricante (CGC, Nome, Endereco) Medicamento (Numero,

NomeComercial,TipoEmbalagem, Quantidade,PreçoUnitario, Tarja, Formula)

Perfumaria (Numero, Tipo, Quantidade, PreçoUnitario) Venda (NumeroNota, Data,

NomeCliente)

ReceitaMedica (CRM, Numero, Data)

(1,1)

Referências

Documentos relacionados

SOBRAL MONTE AGRAÇO ALENQUER ALENQUER ALENQUER TORRES VEDRAS TORRES VEDRAS LOCALIDADE N.º OFERTA OFERTAS DE EMPREGO. Unidade Emissora: Data de Emissão N.º

2 INSPEÇÃO NO SERVIÇO DE ESGOTAMENTO SANITÁRIO

Faz-se saber que, perante este Instituto Superior Técnico da Universidade de Lisboa (abreviadamente designado Instituto) e pelo prazo de 10 dias úteis a contar

indefinidamente e se asfixiem nos espaços restritos que foram suas primeiras moradas, que neles acumulem as maravilhas das ciências, das artes, das letras e da

Aviso A não activação de uma protecção de ecrã ou de uma aplicação de actualização periódica do ecrã, poderá resultar em casos graves de aparecimento de “imagens

O Banco Alfa de Investimento S.A., instituição líder do Conglomerado Prudencial Alfa elaborou um conjunto de demonstrações contábeis para fins gerais referentes ao semes- tre findo

- Epistemological guidelines governing Communication research (PhD theses, research projects, scientific articles, etc.) or instruction of Research Methodologies

Quanto à identificação de como o usuário de uma HIS da Faixa 1 do PMCMV avalia sua moradia quanto às condições de conforto térmico, há situações em que