Min y Max Para Registros Con Errores De Integridad
Extended aggregations for databases with referential integrity issues
Javier García-García a,*, Carlos Ordonez b
a Universidad Nacional Autónoma de México,Facultad de Ciencias, UNAM, Mexico City, CU 04510, Mexico
b University of Houston, Department of Computer Science, Houston, TX 77204, USA
Creé una base de datos con 2 tablas (edificios ysalones):
Edificios (Cve_edificio, Descro_edificio)
Salones (Pk_salones, Fk_edificio, Capacidad)
Agregué registros (tuplas) a las tablas (relaciones), como se muestra en las siguientes pantallas:Referencialidad de llaves en tuplas validas
REF(s[cve_edificios),k) | CI | CS | CB |
<CI001,CI,40> | 1 | 0 | 0 |
<CI002,CI,35> | 1 | 0 | 0 |
<CS001,CS,40> | 0 | 1 | 0 |<CB002,CB,45 | 0 | 0 | 1 |
Referencialidad de llaves en tuplas invalidas
REF(s[cve_edificios),k) | CI | CS | CB |
Frequency weighted | 2/4 | 1/4 | ¼ |
Full | 1 | 1 | 1 |
Restricted | 0 |0 | 0 |
Uniform | 1/3 | 1/3 | 1/3 |
* NÚMERO DE TUPLAS CON ERRORES DE INTEGRIDAD REFERENCIAL: e
SELECT COUNT(SALONES.PK_SALONES )
FROM SALONES LEFT OUTER JOIN EDIFICIOS ONSALONES.FK_EDIFICIO = EDIFICIOS.CVE_EDIFICIO
WHERE CVE_EDIFICIO IS NULL
* PARA fw EL p(k) SE OBTIENE:
SELECT Q1.C1 / Q2.C2 PROB
FROM (
SELECT COUNT( salones.FK_EDIFICIO ) C1
FROM `salones`
WHERESALONES.FK_EDIFICIO = 'CI'
)Q1, (
SELECT COUNT( salones.FK_EDIFICIO ) C2
FROM `salones`
JOIN edificios ON salones.fk_edificio = edificios.cve_edificio
)Q2
* p(k)*e
SELECTCOUNT(SALONES.PK_SALONES )*FW.PROB
FROM SALONES LEFT OUTER JOIN EDIFICIOS ON SALONES.FK_EDIFICIO =
EDIFICIOS.CVE_EDIFICIO,
(SELECT Q1.C1 / Q2.C2 PROB
FROM (
SELECT COUNT( salones.FK_EDIFICIO ) C1
FROM `salones`WHERE SALONES.FK_EDIFICIO = 'CI'
)Q1, (
SELECT COUNT( salones.FK_EDIFICIO ) C2
FROM `salones`
JOIN edificios ON salones.fk_edificio = edificios.cve_edificio
)Q2
)FW
WHERE CVE_EDIFICIO...
Regístrate para leer el documento completo.