Baixe o app para aproveitar ainda mais
Prévia do material em texto
EstruturadeDadoseEstruturadeDadose SistemasdeIntegraSistemasdeIntegraççãoão ModeloRelacionalModeloRelacional Prof.AlexandreWagnerC.FariaProf.AlexandreWagnerC.Faria MaterialadaptadodoLivro:SistemadeBancodeDados(Silberschatz,Korth,Sudarshan), SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Capítulo2:Modelorelacional SistemadeBancodeDados,5/E Modelorelacional • Omodelo relacional é hoje o principal modelo de dados para aplicações comerciais e de processamentodedados; • Eleconquistousuaposiçãodedestaquedevido asuasimplicidade,oquefacilitouotrabalhodo programador, comparado com os modelos anteriores, • Neste capitulo iremos estudar os fundamentos do modelo relacional, em seguida, iremos descrever a álgebra relacional, usada para especificarrequisiçõesdeinformações... © Korth • Silberschatz • Sundarshan SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Capítulo2:Modelorelacional �Estruturadosbancosdedadosrelacionais �Operaçõesfundamentaisdaálgebrarelacional �Outrasoperaçõesdeálgebrarelacional �Operaçõesdeálgebrarelacionalestendidas �Valoresnulos �Modificaçãodobancodedados SistemadeBancodeDados,5/E Modelorelacional • Umbancodedadosrelacionalconsisteemumacoleção detabelas,cadaumacomumnomeúnicoatribuído. • Umalinhaemumatabelarepresentaumarelaçãoentre umconjuntodevalores; • Informalmente,umatabelaé umconjuntodeentidades, eumalinhaé umaentidade • Comoumatabelaé umacoleçãodessasrelações,existe umaintimacorrespondênciaentreoconceitodetabelae oconceitomatemáticaderelação,doqualomodelode dadosrelacionalextraiseunome. © Korth • Silberschatz • Sundarshan SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Exemplodeumarelação SistemadeBancodeDados,5/E Modelorelacional • Considereatabelaanterior; • Ela possui três cabeçalhos de coluna: numero_conta, nome_agencia,esaldo. • Segundo a terminologia do modelo relacional, chamamosessescabeçalhosdeatributos. • Para cada atributo, existe um conjunto de valores permitidos,queé odomíniodesteatributo • Paraoatribuito nome_agencia,porexemplo,odomínio é oconjuntodetodososnomesdaagencia © Korth • Silberschatz • Sundarshan SistemadeBancodeDados,5/E Modelorelacional • SejaD1oconjuntodetodososnúmerosdaconta,D2 o conjunto de todos os nomes de agencia e D3 o conjuntodetodosossaldos • Qualquerlinhadecontaprecisaconsistiremumatupla de3(v1,v2,v3). • onde: – v1 é um numero de conta (ou seja, v1 está no dominio deD1) – v2 é um nome de agencia (ou seja, v2, está no dominio deD2) – v3é umsaldo,(ouseja,v3está nodominio deD3) © Korth • Silberschatz • Sundarshan SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Estruturabásica • Formalmente,dadososconjuntosD1,D2,….Dn umarelaçãor é um subconjuntode D1 xD2 x… xDn Portanto,umarelaçãoé umconjuntoden tuplas (a1, a2,…,an)ondecada ai ∈ Di • Exemplo:Se nome_cliente ={Jones,Smith,Curry,Lindsay} rua_cliente ={Main,North,Park} cidade_cliente ={Harrison,Rye,Pittsfield} Entãor ={(Jones,Main,Harrison), (Smith,North,Rye), (Curry,North,Rye), (Lindsay,Park,Pittsfield)} é umarelaçãosobre nome_cliente xrua_cliente xcidade_cliente SistemadeBancodeDados,5/E Modelorelacional • Como as tabelas são basicamente relações, usaremos os termos matemáticos relação e tupla no lugar dos termostabelaelinha. • • Umavariávelde tupla é umavariávelque significa uma tupla, em outras palavras, umavariávelde tupla é umavariável cujo domínioé oconjuntodetodasastuplas. © Korth • Silberschatz • Sundarshan SistemadeBancodeDados,5/E Modelorelacional • Na relação conta da tabela anterior, existemsetetuplas. • Façaavariável,detupla tsereferirá primeiratupla darelação. • Usaremosanotaçãot[numero_conta] paradenotarovalorde tnoatributo numero_conta; © Korth • Silberschatz • Sundarshan SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Tiposdeatributo �Cadaatributodeumarelaçãopossuium nome �Oconjuntodevalorespermitidospara cadaatributoé chamadoodomíniodo atributo �Ovalorespecialnulo é ummembrode tododomínio SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Esquemaderelação � A1,A2,…,An sãoatributos � R =(A1,A2,…,An )é umesquemaderelação – Exemplo: – Esquema_cliente =(nome_cliente,rua_cliente, cidade_cliente) � r(R)é umarelaçãonoesquemaderelaçãoR – Exemplo: – cliente(Esquema_cliente) SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Instânciaderelação � Osvaloresatuais(instânciaderelação)deumarelaçãosãoespecificados porumatabela � Umelementot der é umatupla,representadaporumalinha emumatabela atributos (ou colunas) tuplas (ou linhas) SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Relaçõessãodesordenadas � A ordem das A ordem das A ordem das A ordem das tuplastuplastuplastuplas éééé irrelevante (as irrelevante (as irrelevante (as irrelevante (as tuplastuplastuplastuplas podem estar em uma ordem podem estar em uma ordem podem estar em uma ordem podem estar em uma ordem arbitrarbitrarbitrarbitráááária)ria)ria)ria) � Exemplo: relaExemplo: relaExemplo: relaExemplo: relaçççção ão ão ão contacontacontaconta com com com com tuplastuplastuplastuplas não ordenadasnão ordenadasnão ordenadasnão ordenadas SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Bancodedados � Umbancodedadosconsisteemmúltiplasrelações � As informações sobre uma empresa são divididas empartes, com cada relação armazenandoumapartedasinformações conta : armazena informações sobre contas depositante : armazena informações sobre que cliente possui que conta cliente:armazenainformaçõessobreclientes � Armazenar todas as informações como uma única relação como banco (número_conta, saldo, nome_cliente, ..) resultaem � Repetiçãodeinformações(porexemplo,doisclientespossuemumaúnicaconta) � A necessidade de valores nulos (por exemplo, representar um cliente sem uma conta) � Teoriadanormalizaçãotratadecomoprojetaresquemasrelacionais SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Arelaçãocliente SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Arelaçãodepositante SistemadeBancodeDados,5/E Chaves • È preciso ter umamaneira de especificar como as tuplas dentrodeumadeterminadarelaçãosãodistinguidas; • Issoé expressoemtermosdeseusatributos, • Ou seja, os valores de atributo de um tupla precisam ser taisquepossamidentificarunicamenteatupla; • Emoutraspalavras,nenhumpardetuplas emumarelação podeterexatamenteomesmovalorparatodososatributos • Uma superchave é um conjunto de um ou mais atributo que, tomados coletivamente, nos permite identificar unicamenteumatupla narelação. • Por exemplo: o çatributo id_cliente da relação cliente é suficienteparadistinguirumatupla clientedeoutra. © Korth • Silberschatz • Sundarshan SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Chaves • SejaK⊆ R • Ké umasuperchave deR seosvaloresparaK sãosuficientesparaidentificar umatupla únicadecadarelaçãor(R) possível • Com“r possível”,queremosdizerumarelaçãor quepoderiaexistirna empresaqueestamosmodelando. • Exemplo:{nome_cliente,rua_cliente}e {nome_cliente} são,ambas,superchaves deCliente,senenhumclientepuderteromesmo nomedeoutrocliente. • K é umachavecandidataseK formínimo Exemplo:{nome_cliente}é umachavecandidataparaCliente,já queelaé umasuperchave (considerandoquenenhumclientepodeteromesmonome deoutrocliente),enenhumdeseussubconjuntosé umasuperchave. • Chaveprimária • Achaveprimáriadeveserescolhidademodoqueseusvaloresdeatributo, nunca,ouraramente,sejammodificados:eg endereço; • Umesquemaderelação,digamosr1,podeincluirentreseusatributosachave primáriadeoutroesquemaderelação,digamosr2.Esseatributoéchamado dechaveestrangeirader1,referenciandor2 SistemadeBancodeDados,5/E Diagramadeesquemaparaa instituiçãobancária © Korth • Silberschatz • Sundarshan SistemadeBancodeDados,5/E Diagramadeesquemaparaa instituiçãobancária • Oesquemadebancodedados,juntamentecomachaveprimáriaeas dependências da chave estrangeira, pode ser representado graficamentepelosdiagramasdeesquemas; • Afiguraanterior,mostraodiagramadeesquemaparaumainstituição financeira; • Cadarelaçãoaparececomoumacaixa,comosatributosligadosdentro eonomedarelaçãoemcima. • Sehouveratributosdechaveprimária,umalinhahorizontalatravessaa caixa,comosatributosdechaveprimária listadosacimada linhaem cinza; • Asdependênciasdechaveestrangeiraaparecemcomosetasindodos atributosdechaveestrangeirada relação referenciadora até a chave primáriadarelaçãoreferenciada © Korth • Silberschatz • Sundarshan SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Linguagensdeconsulta � Linguagememqueumusuáriorequisitainformaçõesdobancode dados. � Categoriasdelinguagens � Procedural � Nãoprocedural,oudeclarativa � Linguagens“puras”: � Álgebrarelacional � Cálculorelacionaldetupla � Cálculorelacionaldedomínio � Linguagenspurasformambasedaslinguagensdeconsultaqueas pessoasusam. SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Álgebrarelacional � Linguagemprocedural � Seisoperadoresbásicos � seleção:σ � projeção:∏ � união:∪ � diferençadeconjuntos:– � produtocartesiano:x � renomeação:ρ � Osoperadoresusamumaouduasrelaçõescomoentradaeproduzem umanovarelaçãocomoresultado. SistemadeBancodeDados,5/E seleção:σσσσ • A operação seleção seleciona tupla que satisfazemumdeterminadopredicado; • Usa-se a letra grega sigma para denotar a seleção; • Opredicadoaparece comoumsubscrito de sigma; • A relação de argumento está entre parêntesesapósosigma; © Korth • Silberschatz • Sundarshan SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Operaçãoselect � Notação:σσσσ p(r) � p é chamadoopredicadodeseleção – Onde p é umafórmulaemcálculoproposicionalconsistindoem termos conectadospor:∧∧∧∧ (and),∨∨∨∨ (or),¬¬¬¬ (not) Cadatermo podeser: – <atributo> op <atributo>ou<constante> – ondeop podeser:=,≠≠≠≠,>,≥≥≥≥.<.≤≤≤≤ � Exemplodeseleção: σσσσ nome_agência=“Perryridge”(conta) SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Figura2.6:Arelaçãoempréstimo SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Figura2.9:Resultadodeσσσσ nome_agência =“Perryridge” (empréstimo) SistemadeBancodeDados,5/E Projeção:∏∏∏∏ • Suponhaquesedesejalistartodososnúmerosde empréstimoeaquantiadosempréstimos,masonome daagencianãoimporta; • Aoperaçãoprojeçãoé umaoperaçãoqueretornasua relaçãodeargumento,comcertosatributosomitidos; • Comoarelaçãoé umconjunto,quaisquerlinhas duplicadassãoeliminadas; • Aprojeçãoé indicadapelaletragregapi; • Listamososatributosquedesejamosqueapareçamno resultadocomosubscritodePI; • Arelaçãodeargumentosegueentreparênteses; © Korth • Silberschatz • Sundarshan SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Operaçãoprojeção:∏∏∏∏ � Notação: Π A1,A2,...,Ak(r) – ondeA1,A2 sãonomesdeatributoer é umnomerelacional. � Oresultadoé definidocomoarelaçãodek colunasobtidas excluindo-seascolunasquenãoestãolistadas � Linhasduplicadassãoremovidasdoresultado,demodoqueas relaçõessejamconjuntos � Exemplo:Paraeliminaroatributonome_agência deconta ∏número_conta,saldo (conta) SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Operaçãoprojeção– Exemplo � Relaçãor: • ∏∏∏∏A,C (r) A B C α α β β 10 20 30 40 1 1 1 2 A C α α β β 1 1 1 2 = A C α β β 1 1 2 SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Figura2.10:Númeroequantia doempréstimo: ∏∏∏∏número_emprestimo, quantia(Emprestimo) SistemadeBancodeDados,5/E Operaçãounião • Considereumaconsultaparaencontraros nomesdetodososclientesdobancoque possuemumacontaouumempréstimo,ou ambos; • Observequearelaçãoclientenãocontéma informação,já queumclientenãoprecisater nemumacontanemempréstimonobanco; • Pararesponderaessaconsulta,precisamos dasinformaçõesnarelaçãodepositante(fig 2.5)enarelaçãotomador(fig 2.7); © Korth • Silberschatz • Sundarshan SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Operaçãounião � Notação:r ∪ s � Paraquer ∪ s sejaválido: – 1.r es precisamserdamesmaaridade (omesmonúmerode atributos) – 2.Osdomíniosdeatributoprecisamsercompatíveis(exemplo:2a colunader lidacomomesmotipodevaloresquea2a colunades) � Exemplo:encontrartodososclientescomumacontaouum empréstimo ∏nome_cliente (depositante)∪ ∏nome_cliente (tomador) SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Operaçãounião– Exemplo • Relaçõesr,s: • r∪∪∪∪ s A B α α β 1 2 1 A B α β 2 3 r s A B α α β β 1 2 1 3 SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Figura2.11:Nomesdetodososclientesque têmumempréstimoouumaconta : ∏∏∏∏nome_cliente (depositante)∪∪∪∪ ∏∏∏∏nome_cliente (tomador) SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Fig 2.5:Arelaçãodepositante SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Figura2.7:Arelaçãotomador SistemadeBancodeDados,5/E Operaçãodiferença- • AoperaçãoDiferençadeconjuntos,indicada por-,permiteencontrartuplas queestejam emumarelação,masnãoemoutra; • Aexpressãor-sproduzumarelação contendoastuplas queestãoemrmasnão ems. • Podemosencontrartodososclientesdo bancoquepossuemumacontamasnãoum empréstimosescrevendo • ∏nome_cliente (depositante)- ∏nome_cliente (tomador) © Korth • Silberschatz • Sundarshan SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Figura2.12:Clientescomumaconta,mas semempréstimos ∏∏∏∏nome_cliente (depositante)- ∏∏∏∏nome_cliente (tomador) SistemadeBancodeDados,5/E Operaçãodiferença • Assim como a operação união, é preciso garantirqueasdiferençasdeconjuntosejam tomadasentrerelaçõescompatíveis; • Portanto, para uma operação diferença de conjuntosr-sserválida; © Korth • Silberschatz • Sundarshan SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Operaçãodiferençadeconjuntos– Exemplo � Relaçõesr,s: � r– s A B α α β 1 2 1 A B α β 2 3 r s A B α β 1 1 SistemadeBancodeDados,5/E OperaçãoProdutoCartesianox • Aoperaçãoproduto cartesiano, indicadaporumsinal de vezes (x), permitecombinarinformaçõesdequaisquerduasrelações; • Escrevemosoprodutocartesianosdasrelaçõesr1er2comor1xr2; • Lembrando,queumarelação,é pordefinição,umsubconjuntodeum produtocartesianodeumconjuntodedomínio; • Apartirdessadefinição, já devemosterumaideia sobreadefinição daoperaçãoprodutocartesiano; • Entretanto, como o nome de atributo pode aparecer tanto rm r1 quanto r2, deve-se criar um esquema de nomeação para distinguir essesatributos © Korth • Silberschatz • Sundarshan SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Operaçãoprodutocartesiano– Exemplo • RelaRelaRelaRelaçççções ões ões ões rrrr, , , , ssss • rrrr ×××× ssss A B α α α α β β β β 1 1 1 1 2 2 2 2 C D α β β γ α β β γ 10 10 20 10 10 10 20 10 E a a b b a a b b A B α β 1 2 C D α β β γ 10 10 20 10 E a a b br s SistemadeBancodeDados,5/E OperaçãoProdutoCartesianox • Então,fazemosissoanexandoaumatributoonomedarelaçãoda qualoatributooriginalmenteveio; • Porexemplo,oesquemaderelaçãoparar=tomadorxempréstimoé apresentadonatabelaaseguir: © Korth • Silberschatz • Sundarshan SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Figura2.13:Resultadodetomador ×××× empréstimo SistemadeBancodeDados,5/E OperaçãoProdutoCartesianox • Então o esquema da relação r = tomador x emprestimo é: (tomador.nome_cliente, tomador.numero_emprestimo, emprestimo.numero_emprestimo, emprestimo.nome_agencia,emprestimo.quantia) • Com esse esquema, é possível distinguir tomador.numero_emprestimo de emprestimo.numero_emprestimo; • Para atributos que aparecem apenas em um dos dois esquemas, normalmente omites-e o prefixo nome_relação © Korth • Silberschatz • Sundarshan SistemadeBancodeDados,5/E OperaçãoProdutoCartesianox • Outro exemplo: suponha que desejamos encontrar os nomes de todos os clientes que possuemumempréstimonaagenciaPerryridge; • Para isso, são necessárias as informações na relaçãoempréstimoenarelaçãotomador,então: • σ nome_agência=“Perryridge”(tomadorxemprestimo) • Oresultadoé a relaçãoapresentadanopróximo slide; • Temos uma relação que pertence apenas a agenciaPerryridge © Korth • Silberschatz • Sundarshan SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Figura2.14 SistemadeBancodeDados,5/E Operaçãointerseçãodeconjuntos • Ainterseçãodeconjuntospodemosdefinircomooseguinte exemplo:Suponhaquedesejamosencontrartodososclientes quepossuemumempréstimoeumaconta; • Usandoumainterseçãodeconjuntos,podemosescrever: • ∏nome_cliente (tomador)∩∩∩∩ ∏nome_cliente (depositante) • Observe que podemos reescrever qualquer expressão de álgebrarelacionalqueusainterseçãodeconjuntossubstituindo aoperação interseçãoporumpardeoperaçõesdediferença deconjuntoscomo: � � ∩��������� • Portanto, a interseção de conjuntos não é uma operação fundamental, apenas uma combinação de comandos estudadosanterioreseé maisconveniente; © Korth • Silberschatz • Sundarshan SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Operaçãointerseçãodeconjuntos � Notação:r ∩∩∩∩ s � Nota:r ∩∩∩∩ s =r – (r – s) SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Figura2.19:Clientescomumaconta eumempréstimonobanco ∏∏∏∏nome_cliente (tomador)∩∩∩∩ ∏∏∏∏nome_cliente (depositante) SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Operaçãointerseçãodeconjuntos– Exemplo � Relaçãor,s: � r ∩∩∩∩ s AB α α β 1 2 1 AB α β 2 3 r s AB α 2 SistemadeBancodeDados,5/E Exercícios © Korth • Silberschatz • Sundarshan SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Exemplodebanking – agência(nome_agência,cidade_agência,ativo) – cliente(nome_cliente,rua_cliente,cidade_cliente) – conta(número_conta,nome_agência,saldo) – empréstimo(número_empréstimo,nome_agência,quantia) – depositante(nome_cliente,número_conta) – tomador (nome_cliente,número_empréstimo) SistemadeBancodeDados,5/E Exercicios 1. Encontre todos os empréstimos de mais de US$ 1200 2. Encontre os nomes de todos os clientes que têm um empréstimo, uma conta, ou ambos, do banco 3. Encontre os nomes de todos os clientes que têm um empréstimo e uma conta no banco 4. Encontre os nomes de todos os clientes que têm um empréstimo na agência Perryridge. 5. Encontre os nomes de todos os clientes que têm um empréstimo na agência Perryridge mas não têm uma conta em qualquer agência do banco. 6. Encontre os nomes de todos os clientes que têm um empréstimo na agência Perryridge. 7. Encontreomaiorsaldodeconta © Korth • Silberschatz • Sundarshan SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Consultasdeexemplo 1. Encontre todos os empréstimos de mais de US$ 1200 – σσσσquantia>1200(empréstimo) � Encontre o número de empréstimo para cada empréstimo de uma quantia maior que US$ 1200 • ∏número_empréstimo (σquantia > 1200 (empréstimo)) SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Consultasdeexemplo 2. Encontre os nomes de todos os clientes que têm um empréstimo, uma conta, ou ambos, do banco • Πnome_cliente (tomador) ∪ Πnome_cliente (depositante) 3. Encontre os nomes de todos os clientes que têm um empréstimo e uma conta no banco • Πnome_cliente (tomador) ∩ Πnome_cliente (depositante) SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Consultasdeexemplo 4.Encontre os nomes de todos os clientes que têm um empréstimo na agência Perryridge. • ∏nome_cliente (σnome_agência =“Perryridge” (σtomador.número_empréstimo =empréstimo.número_empréstimo(tomadorx empréstimo))) 5. Encontre os nomes de todos os clientes que têm um empréstimo na agência Perryridge mas não têm uma conta em qualquer agência do banco. • ∏nome_cliente(σnome_agência =“Perryridge” (σtomador.número_empréstimo =empréstimo. número_empréstimo (tomadorxempréstimo)))– ∏nome_cliente (depositante) SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Consultasdeexemplo 6. Encontre os nomes de todos os clientes que têm um empréstimo na agência Perryridge. • Consulta 1 • ∏nome_cliente (σnome_agência =“Perryridge” (σtomador.número_empréstimo =empréstimo.número_empréstimo(tomadorx empréstimo))) • Consulta 2 • ∏nome_cliente(σempréstimo.número_empréstimo =tomador.número_empréstimo ((σnome_agência =“Perryridge” (empréstimo))xtomador)) SistemadeBancodeDados,5/E © Korth • Silberschatz • Sundarshan Consultasdeexemplo 7.Encontreomaiorsaldodeconta �Estratégia: �Encontreossaldosquenão sãoomaior – Renomeie arelaçãoconta comod demodoquepossamos compararcadasaldodecontacomtodososoutros �Usediferençadeconjuntosparaencontrarossaldosdeconta quenão foramencontradosnaprimeiraetapa. �Aconsultaé: • Πsaldo (conta) − Πconta.saldo (σconta.saldo < d.saldo (conta ×ρd (conta))) SistemadeBancodeDados,5/E Fimdocapítulo © Korth • Silberschatz • Sundarshan
Compartilhar