Você está na página 1de 4

UFJF/DCC Alunos:

DCC077 ASP. AVAN. EM BANDO DE DADOS

1/4

RI-LAB1 Parte 1: RESTRIES DE INTEGRIDADE BSICAS


Bar nome Miller Bavria Skol Brahma Kaiser Antartica fabricante Ambev Kaiser Ambev Ambev Coca-cola Ambev telefone 32324456 32326789 32329000 32325690 Bar nome Bigode Aero Privilege BardoLeo endereco Rua X Rua Y Rua Z Praa W alvara

Bebedor nome endereco Ded Marco Gilvan Mrcio Rua Rua Rua Rua XX ZZ WW KK

Apreciam nome_bebedor Ded Marco Marco Gilvan Ded Mrcio Frequenta nome_bebedor Mrcio Gilvan Ded Ded nome_bar Bigode Privilege BardoLeo Aero nome_cerveja Bavria Skol Miller Brahma Miller Kaiser

Vende nome_bar Bigode Aero Privilege BardoLeo BardoLeo Aero Privilege

nome_cerveja Miller Miller Kaiser Shol Brahma Antartica Bavria

preco 2.5 1.5 3.0 1.0 2.0 1.5 3.0

1.

Crie as tabelas pedidas e faa com que delees sejam propagadas para os relacionamentos de chave estrangeira.

2. Crie as restries abaixo indicadas e elabore uma consulta para cada restrio, de forma a violar a restrio (se necessrio, faa as adaptaes necessrias no esquema do BD). Alm do cdigo SQL que implementa a restrio (destaque em vermelho a parte referente restrio) e da consulta que a viola, deve ser apresentada a descrio dessa consulta em Portugus. Mostre a resposta do Oracle 8i indicando a violao. a) Crie a restrio de que os valores vlidos para fabricante so apenas: Ambev, Kaiser, Schicanriol, Itaipava. De que tipo essa restrio ? b) Crie a restrio de que o preo das cervejas deve ficar entre 1 e 5 reais. De que tipo essa restrio ? c) Crie uma restrio do tipo NOT NULL. d) Crie uma restrio de domnio a nvel de tupla. e) Crie uma restrio de chave candidata (UNIQUE). f) Crie uma restrio CHECK com subconsulta que possa gerar uma violao da condio do CHECK. g) Altere uma restrio criada em um dos itens anteriores (utilizando SQL).

UFJF/DCC

DCC077 ASP. AVAN. EM BANDO DE DADOS

2/4

h) Crie restries de integridade referencial tais que: Pelo menos uma seja associada a uma chave candidata; Pelo menos uma seja associada a uma chave primria; Pelo menos duas envolvam diferentes combinaes do evento disparador (ON DELETE, ON UPDATE) com a ao tomada (NO ACTION, SET DEFAULT, CASCADE, SET NULL); Pelo menos duas sejam postergadas para viabilizar algum tipo de transao no BD (explique o porque da necessidade). RI-LAB1 Parte 2: RESTRIES DE INTEGRIDADE AVANADAS 3. Considere as seguintes relaes: ExecFilme (nome, endereco, cpf, salario) Estudio (nome, endereco, cpfPres)

Suponha que seja requerido que nenhum presidente de estdio ganhe menos que 10.000 reais de salrio. a) Faa uma assertiva para garantir isso. b) possvel substituir essa assertiva por restrio(es) CHECK a nvel de tupla, sem que possa ocorrer violao da regra de negcio? Se for possvel, mostre como; caso contrrio, indique uma operao capaz de gerar a violao. 4. Considere as seguintes tabelas de um BD de equipamentos de informtica: Produto (fabric, modelo, tipo) PC (modelo, veloc, ram, hd, rd, preco) Laptop (modelo, veloc, ram, hd, tela, preco) Impressora (modelo, cor, tipo, preco) A tabela Produto informa o fabricante, o nmero de modelo e o tipo (PC, laptop, impressora) de vrios produtos. Por convenincia, suponhe-se que os nmeros de modelo so nicos no universo de todos os fabricantes. A tabela PC fornece para cada nmero de modelo de PC, a velocidade do processador em megahertz, a quantidade de memria RAM (em megabytes), o tamanho do hard disk (em gigabytes), a velocidade e tipo do disco removvel (CD ou DVD), e o preo. A tabela Laptop similar, exceto que o tamanho da tela (em polegadas) guardado no lugar da informao sobre disco removvel. A tabela Impressora registra cada modelo de impressora, se ela produz sada colorida (verdadeiro, nesse caso), o tipo de processo de impresso (laser, jato de tinta ou bolha), e o preo. Um preenchimento de exemplo dessas tabelas pode ser visto na figura da pgina 4. Pede-se: Escreva os seguintes gatilhos ou assertivas. Em cada caso, proiba ou desfaa a modificao se ela no satisfizer a restrio estabelecida. a) Quando da atualizao do preo de um PC, verificar que no exista PC mais barato com a mesma velocidade; b) Nenhuma fabricante de PC pode tambm fazer labtops; c) Um fabricante de um PC deve tambm fazer um laptop com velocidade de processador no inferior do PC;

UFJF/DCC

DCC077 ASP. AVAN. EM BANDO DE DADOS

3/4

d) Quando se inserir uma nova impressora, verificar que o nmero do modelo dela existe na tabela Produto; e) Em qualquer modificao na tabela Laptop, verificar que o preo mdio dos laptops de cada fabricante pelo menos $2.000; f) Em qualquer modificao de RAM ou HD de um PC qualquer, verificar que o PC modificado tem HD pelo menos 100 vezes maior do que sua RAM; g) Se um laptop tem RAM maior do que um PC, ento o laptop deve custar mais caro do que o PC; h) Quando da insero de um novo PC, laptop, ou impressora, garantir que o nmero do modelo j no aparea em algum PC, laptop ou impressora; i) Se a tabela Produto mencionar um modelo e seu tipo, ento esse modelo deve aparecer na tabela correspondente quele tipo. Escreva as seguintes funes ou procedimentos armazenados: j) A partir de um preo como argumento, retorne o nmero do modelo do PC com o preo mais prximo; k) Dado um preo, obtenha o nmero de PCs, o nmero de laptops e o nmero de impressoras venda por um preo superior; l) A partir das informaes de modelo, velocidade, RAM, RD e preo como argumentos, insira essas informaes na tabela PC. Entretanto, se j existir um PC com aquele nmero de modelo, ento continue a acrescentar 1 ao nmero do modelo at encontrar um nmero de modelo novo (que j no esteja atribudo a algum PC).

UFJF/DCC

DCC077 ASP. AVAN. EM BANDO DE DADOS

4/4

Produto fabric A A A A A A B B B B B B C C C C C C C D D D D E E E F F G H

modelo 1001 1002 1003 2004 2005 2006 1004 1005 1006 2001 2002 2003 1007 1008 2008 2009 3002 3003 3006 1009 1010 1011 2007 1012 1013 2010 3001 3004 3005 3007

tipo PC PC PC laptop laptop laptop PC PC PC laptop laptop laptop PC PC laptop laptop impressora impressora impressora PC PC PC laptop PC PC laptop impressora impressora impressora impressora

PC modelo 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 Laptop modelo 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010

veloc 700 1500 866 866 1000 1300 1400 700 1200 750 1100 350 733

ram 64 128 128 64 128 256 128 64 128 64 128 64 256

hd 10 60 20 10 20 40 80 30 80 30 60 7 60

rd 48xCD 12xDVD 8xDVD 12xDVD 12xDVD 16xDVD 12xDVD 24xCD 16xDVD 40xCD 16xDVD 48xCD 12xDVD

preco 799 2499 1999 999 1499 2119 2299 999 1699 699 1299 799 2499

veloc 700 800 850 550 600 800 850 650 750 366

ram 64 96 64 32 64 96 128 64 256 64

hd 5 10 10 5 6 20 20 10 20 10

tela 12.1 15.1 15.1 12.1 12.1 15.7 15.0 12.1 15.1 12.1

preco 1448 2584 2738 999 2399 2999 3099 1249 2599 1499

Impressora modelo 3001 3002 3003 3004 3005 3006 3007

cor verd verd false verd verd verd false

tipo jato de tinta jato de tinta laser jato de tinta bolha laser laser

preco 231 267 390 439 200 1999 350

Você também pode gostar