• Nenhum resultado encontrado

Chave alternativa. Angélica Toffano Seidel Calazans Abordagem Relacional

N/A
N/A
Protected

Academic year: 2021

Share "Chave alternativa. Angélica Toffano Seidel Calazans Abordagem Relacional"

Copied!
6
0
0

Texto

(1)

Angélica Toffano Seidel Calazans

E-mail: angelica_toffano@yahoo.com.br

Abordagem Relacional

Chave alternativa



Quando mais de

uma coluna ou

combinação podem

servir para

distinguir uma

linha das demais



Codempreg

ado

Nome

CodDepto

CPF

E5

Ana

D1

2224441995

E4

Eva

D1

4445666777

E1

Pedro

D2

4456879908



Exercício:



Identifique os requisitos funcionais, não funcionais e regras de negocio para

os sistemas abaixo:



1 - "A Editora ABC trabalha com diversos autores que escrevem livros para

ela publicar.



Alguns autores escrevem apenas um livro, enquanto outros escrevem

muitos. Além disso, alguns livros são escritos por diversos autores.



Mensalmente é enviado às livrarias um catálogo com o nome dos livros

lançados e seus respectivos autores. Esse catálogo é organizado por assunto

para facilitar a divulgação.



Informações sobre a cota de compra de cada livraria são modificadas a cada

três meses, de acordo com a média de compra no trimestre solicitada pela

livraria.



Uma carta é enviada à livraria anunciando a nova cota em cada assunto e

os descontos especiais que lhe serão concedidos para comprar em

quantidades maiores.



Aos autores dos dez livros mais vendidos no ano, a Editora ABC oferece

prêmios.



A festa de premiação é anunciada com dez dias de antecedência, por meio

de publicação em jornal dos dez livros mais vendidos, com seus respectivos

autores.

 Requisitos funcionais

 Rf01 – O Sistema deve cadastrar autor

 Rf02 – O sistema deve cadastrar livro (rng01)

 Rf03 – O sistema deve gerar catalogo de lançamento de livros (rc01) (rng02) (rng03)

 Rf04 – O sistema deve cadastrar as livrarias

 Rf05 – O sistema deve cadastrar o pedido da livraria (venda)

 Rf06 – O sistema deve cadastrar a cota de cada livraria

 Rf07 – O sistema deve cadastrar descontos especiais

 Rf08 – O sistema deve gerar nova cota de livro (rng04) (rng05)

 Rf09 – O sistema deve gerar os descontos especiais (rng06)

 Rf10 – O sistema deve emitir carta de nova cota a livraria (rc02)

 Rf11 – O sistema deve emitir relatório dos livros mais vendidos (rc03) (rc04) (rng07)

 Rf12 – O sistema deve calcular media de compra (rng08)

 Rf13 – O sistema deve cadastrar premio

 Rf14 – O sistema deve permitir relacionar premio ao autor do livro mais vendido

 Requisitos Complementares

 Rc01 – o catalogo deve conter o nome do livro, assunto e seu(s) respectivo(s) autor(es)

 Rc02 – a carta de nova cota deve conter os descontos especiais e nova cota

 Rc03 – o relatório deve conter o nome dos dez livros

 Rc04 – o relatório dos 10 livros mais vendidos deve conter o nome do(s) autor(es)

 Regras de negocio

 Rng01 – o livro pode ter um ou mais autores

 Rng02 – o catalogo deve estar organizado por assunto

 Rng03 – o catalogo deve ser gerado mensalmente

 Rng04 – a cota deve ser modificada a cada 3 meses

 Rng05 – a cota deve ser calculada pela media de compra no trimestre

 Rng06 – os descontos especiais serão calculados a partir do pedido da livraria

 Rng07 – o relatório dos livros mais vendidos deve ser dos dez livros mais vendidos no ano

(2)

Restrições de integridade



Restrições são condições que devem ser

mantidas sobre todas as instâncias de uma

relação (conjunto de tuplas) para assegurar

que mudanças feitas no banco de dados não

resultem em perdas e/ou inconsistências dos

dados.



Objetivo primordial de um SGBD - Garantir a

integridade dos dados.



Uma restrição de integridade é uma regra de

consistência de dados que é garantida pelo

próprio SGBD.

5

Restrições de

integridade(cont.)



Tipos



Restrições de domínio



Restrições de nulidade (vazio).



Restrições de chave.



Restrições de entidade.



Restrições referencial.

6

Restrições de Domínio



Forma mais elementar de restrição de

integridade.



Dentro de cada tupla, o valor de cada atributo A

1

deve ser um valor atômico do domínio de A

1

.



No esquema de relação empregado:

Empregado(CodEmpregado: integer, Nome: string,

dataNasc.:Date, Telefone:Integer )



Os únicos valores que pode ser dados a matrícula são

inteiros. Desta forma, a tupla abaixo não poderá ser

inserida nesta relação:

(“a12345”, “Geraldo”, “12/12/1978”,45678909)

Restrições de Domínio (cont.)



Outros possíveis domínios podem ser descritos

por faixas de valores de um tipo de dados ou

como um tipo de dados enumerado em que

todos os possíveis valores são explicitamente

listados.



Assegurar que os valores do atributo “valor” deverá

ser maior ou igual a 4.00.



Restringir que o atributo “codigo-cliente” seja um

inteiro de 000000 a 999999.



Os valores do atributo dia-semana devem estar entre

(‘segunda-feira’,’terça-feira’,’quarta-feira’,’quinta-feira’,’sexta-feira’,’sábado’,’domingo’)

(3)

Restrição de Nulidade



Especifica se o valor de um atributo pode ou

não ser nulo.



Exemplo:

Empregado (

CodEmpregado: integer not null,

Nome: string not null,

DataNasc.:Date,

Telefone:Integer

)

9

Restrições de Chave



Todas as tuplas de uma relação devem ser distintas.



Uma superchave de uma relação é um conjunto de um ou mais

atributos em que seus valores determinam unicamente cada

entidade.



São exemplos de superchaves: {RA}, {CPF}, {RA,CPF}, {CPF,Nome},

{RA, Nome}, {RA, Telefone}, {RA, Endereco},



Não são superchaves: {Nome}, {Telefone}, {Endereco}, {Telefone,

Endereco}

10

RA Nome Endereco CPF Telefone

3345676/6 Marilia Asa Norte 234567890-77 67778998

3347876/8 Marilia Sobradinho 345678902-99 87690898

3456788/8 José Sobradinho 545568902-66 87690898

Aluno

Restrições de Chave (cont.)



Uma chave candidata de uma entidade é

uma superchave mínima.



Uma superchave mínima é uma superchave

K tal que a remoção de qualquer atributo de

K resulta em um conjunto de atributos que

não é uma superchave .



No exemplo anterior RA e CPF são chaves

candidatas.

11

Restrições de Chave



Mesmo que várias chaves candidatas possam

existir, apenas uma delas é selecionada para ser

a chave primária (primary key – PK )



PKs possuem representação sublinhada.



Exemplo:

Aluno (RA, Nome, Endereco, CPF, Telefone)



As demais chaves candidatas (agora

denominadas chaves alternativas) podem se

transformar em chaves únicas (unique keys),

garantindo sua unicidade no banco de dados.

12

(4)

Integridade de entidade



Restrição de integridade de entidade

estabelece que nenhum valor de chave

primária pode ser nulo. Esta restrição (assim

como a restrição de chave) é aplicada em

relações individuais.



É assegurada pelos próprios SGBD’s Relacionais



Chaves primárias podem ser compostas (por mais

de um atributo) => A regra se aplica em PKs

compostas.

13

Exercício -Identifique o tipo de restrição

existente

(dominio, nulidade, chave, entidade)

Empregado(CodEmpregado: integer, Nome: string,

dataNasc.:Date, Telefone:Integer, Sexo: string )

(“12345”, “Geraldo”, “12/12/1930”,45678909, 0 )

Empregado(CodEmpregado: integer not null, Nome: string not

null, DataNasc.:Date, telefone:Integer)

(“12345”, , “12/12/1930”,45678909)

Exercício

Identifique o tipo de restrição existente

(dominio, nulidade, chave, entidade)

RA- PK Nome Endereco CPF Telefone

3345676/6 Marilia Asa Norte 234567890-77 67778998

3345676/6 Marilia Sobradinho 345678902-99 87690898

José Sobradinho 545568902-66 87690898

Integridade referencial



Mecanismo que permite a implementação de

relacionamentos em um banco de dados

relacional.



Especifica a relação entre tuplas de duplas

relações: a relação que referencia e a que é

referenciada.



Tuplas na relação que referencia R

1

possui

atributos FK’s (chamados chaves estrangeiras –

foreign key’s) que referenciam a chave primária

(PK) da relação referenciada R

2

.



O valor da chave estrangeira (FK) em R1 deve ser igual

ao valor da chave primária em R2 para haver

relacionamento entre as tuplas das duas relações.

(5)

Integridade referencial (cont.)



O atributo CodDisciplina é FK na relação Empregado

pois referencia a PK da relação Departamento.

17

CodEmpregado Nome CodDepto CatFuncional CPF E1 Souza D1 null 132.121.331-20 E2 Santos D2 C5 891.221.111-11 E3 Silva D2 C5 341.511.775-45 E5 Soares D1 C2 631.692.754-88 CodDepto NomeDepto D1 Compras D2 Engenharia D3 Vendas

Empregado

Departamento

Integridade referencial (cont.)



Os valores de uma chave estrangeira ou são

null ou existem na tabela referenciada.

18

CodEmpregado Nome CodDepto CatFuncional CPF E1 Souza D1 null 132.121.331-20 E2 Santos D2 C5 891.221.111-11 E3 Silva D2 C5 341.511.775-45 E5 Soares D1 C2 631.692.754-88 CatFuncional DescCategoria C1 Analista C2 Programador C3 Engenheiro C4 Secretário C5 Advogado

Os valores da FK não poderão ser nulos

se existir uma regra que restringe o

domínio a ser não nulo. Ou seja, existe

a obrigatoriedade do relacionamento

entre as tabelas.

Empregado

CategoriaFuncional

Integridade referencial (cont.)



Quando da inclusão de uma linha na tabela que

contém a chave estrangeira:



O valor da chave estrangeira deve aparecer na coluna

da chave primária referenciada.



Quando da alteração do valor da chave

estrangeira:



O novo valor de uma chave estrangeira deve aparecer

na coluna da chave primária referenciada.



Quando da exclusão de uma linha da tabela que

contém a chave primária referenciada pela

chave estrangeira:



Na coluna chave estrangeira não deve aparecer o

valor da chave primária que está sendo excluída.

19

Integridade referencial (cont.)



Chave estrangeira na mesma tabela

20

CodEmpregado Nome CodDepto CodEmpGerente E1 Souza D1 null E2 Santos D2 E5 E3 Silva D2 E5 E5 Soares D1 E1

Empregado

Chave estrangeira

referencia chave primária

na própria tabela

(6)

Referências bibliográficas



LIVRO TEXTO - HEUSER, Carlos A. Projeto de

Banco de Dados. Porto Alegre: Sagra

Luzzato, 5a. ed. 2004.



ELSMARI, Ramez & NAVATHE, Shamkant B.

Sistema de Banco de Dados – Fundamentos

e Aplicações. Rio de Janeiro: Livros Técnicos

e Científicos Editora S.A. – LTC, 4ª. ed.,

2002.



SILBERSCHATZ, A. & KORTH, H. at all. Sistema de

Banco de Dados. São Paulo: Makron Books, 3ª. ed.,

1999.

Referências

Documentos relacionados

É_Realizada n n (0,3) (0,n) Inscrição Nome RG Expedidor UF Data Média Tipo Nota Questões Número Área Sub-Área Avaliação 3 n Esquema ER para o banco de dados CONCURSO..

Marca Vendedor Veículo Ford João Carro Ford João Caminhão Ford Mário Caminhão Fiat Mário Carro Chevrolet Felipe Carro Chevrolet João Carro Chevrolet João

Membro_Faculdade (Matrícula: Inteiro, Nome: string[50], Carga: Inteiro, IniContrato: data, Curso: string[30], professor: booleano, aluno: booleano). Membro

Estes resultados apontam para melhor capacidade de estabelecimento inicial do siratro, apresentando maior velocidade de emergência e percentual de cobertura do solo até os 60

Entendendo, então, como posto acima, propõe-se, com este trabalho, primeiramente estudar a Lei de Busca e Apreensão para dá-la a conhecer da melhor forma, fazendo o mesmo com o

A variação do pH da fase móvel, utilizando uma coluna C8 e o fluxo de 1,2 mL/min, permitiu o ajuste do tempo de retenção do lupeol em aproximadamente 6,2 minutos contribuindo para

Little e Amyra El Khalili; também foi dissertado sobre a Agroecologia, entendida como um caminho para uma agricultura mais sustentável; sobre a ciência homeopatia e sua aplicação

Morphological (plumage color, comb type, presence of crest, and ear tucks) and morphometric (lengths, circumferences, and heights of body parts) body traits were measured in four