Está en la página 1de 1

Battleships:​ ​Ejercicio​ ​de​ ​Álgebra​ ​Relacional

Considere​ ​el​ ​siguiente​ ​esquema​ ​para​ ​una​ ​Base​ ​de​ ​Datos​ ​acerca​ ​de​ ​barcos​ ​usados​ ​en​ ​la
segunda​ ​guerra​ ​mundial:

Classes​(​class:​ ​string​,​ ​type:​ ​[battleship,​ ​cruiser],​ c ​ ountry:​ ​string,​ ​numGuns:


int,​ ​bore:​ ​int,​ ​weight:int)
Ships​(​name:​ ​string​,​ ​class:​ ​string​,​ ​launched:​ ​date)
Battles​(​name:​ ​string​,​ ​date:​ ​date)
Outcomes​(​ship:​ ​string​,​ ​battle:​ ​string​,​ ​result:​ ​[ok,​ s​ unk,​ ​damaged])

Las​ ​llaves​ ​primarias​ ​están​ ​subrayadas​.​ ​ ​Las​ ​llaves​ ​foráneas​ ​aparecen​ ​en​ ​cursiva​.

Nota:​ ​El​ ​primer​ ​barco​ ​de​ ​una​ ​clase​ ​recibe​ ​el​ ​mismo​ ​nombre​ ​de​ ​la​ ​clase.

Escribe​ ​expresiones​ ​en​ ​el​ ​álgebra​ ​relacional​ ​para​ ​responder​ ​a​ ​las​ ​siguientes​ ​consultas:
1. Busca​ ​los​ ​nombres​ ​de​ ​las​ ​clases,​ ​y​ ​lo​ ​países​ ​de​ ​estas​ ​clases,​ ​que​ ​llevaban​ ​armas​ ​de​ ​al
menos​ ​16​ ​pulgadas​ ​de​ ​diámetro​ ​(bore).
2. Busca​ ​los​ ​barcos​ ​lanzados​ ​antes​ ​del​ ​año​ ​1921.
3. Busca​ ​los​ ​barcos​ ​que​ ​fueron​ ​hundidos​ ​en​ ​la​ ​batalla​ ​del​ ​Atlántico​ ​del​ ​Norte​ ​(“North
Atlantic”).
4. El​ ​tratado​ ​de​ ​Washington,​ ​firmado​ ​el​ ​año​ ​1921,​ ​prohibía​ ​la​ ​inauguración​ ​de​ ​barcos​ ​con
peso​ ​mayor​ ​a​ ​35.000​ ​toneladas.​ ​Busca​ ​los​ ​nombres​ ​de​ ​los​ ​barcos​ ​que​ ​violaron​ ​este
tratado.
5. Busca​ ​el​ ​nombre,​ ​peso​ ​y​ ​número​ ​de​ ​armas​ ​de​ ​los​ ​barcos​ ​que​ ​participaron​ ​en​ ​la​ ​batalla
de​ ​Guadalcanal.
6. Busca​ ​las​ ​clases​ ​que​ ​sólo​ ​tienen​ ​un​ ​barco​ ​como​ ​miembro​ ​de​ ​esta​ ​clase.
7. Busca​ ​los​ ​países​ ​que​ ​tienen​ ​barcos​ ​de​ ​batalla​ ​y​ ​cruceros.
8. Busca​ ​los​ ​barcos​ ​que​ ​fueron​ ​dañados​ ​en​ ​una​ ​batalla,​ ​pero​ ​posteriormente​ ​lucharon​ ​en
otra​ ​batalla.

También podría gustarte