PUERTA | Sudo GATE 2020 Mock III (24 de enero de 2019) | Pregunta 61

Considere el siguiente esquema:

Person(SSN, name, address)
Car(license, year, model)
Accident(license, accident_date, driver, damage_amount)
Owns(SSN, license) 

Las claves primarias están subrayadas. Tenga en cuenta que el conductor involucrado en un accidente automovilístico no siempre puede ser el propietario del automóvil. Supongamos que accident_date es de tipo entero y representa un año (p. ej., 1980). El año también es de tipo entero. Además, suponga que un automóvil no puede verse involucrado en más de un accidente en una fecha determinada.

¿Cuál de las siguientes consultas es correcta para encontrar el SSN de cada persona que posee uno o más automóviles, ninguno de los cuales ha estado involucrado en un accidente automovilístico?
(A)

SELECT O.SSN
FROM Owns O
WHERE O.license NOT IN (SELECT A.license
                        FROM Accident A) 

(B)

πSSN(Owns) - πSSN(Owns ⨝ Accident) 

(C)

{ O | ∃O1 ∈ Owns( O.SSN = O1.SSN ∧ ¬∃A∈ Accident( O1.license = A.license )) } 

(D) Todo lo anterior.

Respuesta: (B)
Explicación: Solo la opción (B) es correcta.

La opción (A) y la opción (C) devuelven el SSN de cada persona que tiene al menos un automóvil que no está involucrado en un accidente, mientras que la pregunta se refiere a las personas cuyos automóviles nunca han estado involucrados en un accidente.
Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *