Tradurre il seguente schema ER in uno schema XML, includendo nello schema XML anche i vincoli di integrità referenziale (chiavi primarie e chiavi esterne) e identificando eventuali vincoli dello schema ER che non sono esprimibili nello schema XML. Per lo schema XML si usi la notazione sintetica proposta durante il corso (Target Language).
// Schema
db((A | E)*)
A(KA, ((B, C?, D?) | (C, D?) | D), R+)
B(beta)
C(gamma)
D(delta)
R(KE, rho+)
rho(rho1+, rho2)
E(KE, S)
S(G)
G(KG)
// Vincoli referenziali
KEY(A.KA)
KEY(E.KE)
KEY(G.KG)
KEYREF(R.KE -> E.KE)
check("Ogni istanza di E è associata tramite R ad almeno una istanza di A")