Está en la página 1de 11

Departamento de Lenguajes y Sistemas Informticos

E.T.S. Ingeniera Informtica. Universidad de Sevilla


Avda Reina Mercedes s/n. 41012 Sevilla
Tlf/Fax 954 557 139 E-mail lsi@lsi.us.es Web www.lsi.us.es

Bases de Datos

e.t.s. ingeniera
informtica

Bases de Datos
Prctica 6
WinRDBI

Definicin de tablas y consultas en lgebra relacional


Sevilla, febrero 2010
V 2010.2.1

Bases de Datos. Prctica 6

WinRDBi

Sevilla, febrero 2010, V 2010.2.1

Indice

INTRODUCCIN. .................................................................................................................................................................... 3
1.1

ARRANQUE DE LA APLICACION. ........................................................................................................................................... 3


CREACIN DE LA BASE DE DATOS. ................................................................................................................................... 3

2.1
2.2

CREACIN DE TABLAS......................................................................................................................................................... 4
INSERCIN DE FILAS........................................................................................................................................................... 5
2.2.1
Edicin con WordPad ..........................................................................................................................................................................................6
2.3
SALVAR LA BD .................................................................................................................................................................... 6
2.4
ABRIR LA BD...................................................................................................................................................................... 7
3

CONSULTAS. ............................................................................................................................................................................ 8
3.1
3.1.1

ALGEBRA RELACIONAL (AR) ............................................................................................................................................... 8


Equivalencia de operadores .................................................................................................................................................................................9

TIPOS DE ARCHIVOS ............................................................................................................................................................. 9

EJERCICIOS ............................................................................................................................................................................ 10

SOLUCIN ......................................................................................................................................................................................... 11

Pg. 2 de 11

Bases de Datos. Prctica 6

WinRDBi

Sevilla, febrero 2010, V 2010.2.1

1 Introduccin.
WinRDBI es una herramienta educativa desarrollada por estudiantes de la Universidad de Arizona.
Permite, a travs de una interfaz de usuario amigable en entorno Windows, crear bases de datos
relacionales, insertar contenidos en dichas bases de datos, y formular consultas en los lenguajes relacionales
lgebra relacional, clculo relacional de tuplas y de dominios y SQL.

1.1

Arranque de la aplicacion.

Al acceder desde el entorno Windows aparece la siguiente pantalla:

2 Creacin de la base de datos.


La opcin New Database permite crear una nueva base de datos.

Crear Base de Datos

Pg. 3 de 11

Bases de Datos. Prctica 6

WinRDBi

Sevilla, febrero 2010, V 2010.2.1

La base de datos tiene la extensin .rdb (desde la versin 4.0 tambin pueden generarse archivos .xml e
importar bases de datos de otros orgenes JDBC, ODBC).

2.1 Creacin de tablas.


Una vez creada la base de datos, se pueden crear las tablas mediante la opcin Add Relation.

Crear tabla

Los nombres de relaciones y atributos deben empezar por minscula.


Los tipos de datos permitidos son char y numeric.

Pg. 4 de 11

Bases de Datos. Prctica 6

WinRDBi

Sevilla, febrero 2010, V 2010.2.1

2.2 Insercin de filas.


Permite insertar filas en las tablas

Insertar filas

Los campos tipo char deben ir entre comillas simples ()

Entre comillas
simples

Tablas creadas:
-personas
-hobbies
-aficiones

Pg. 5 de 11

Bases de Datos. Prctica 6


Sevilla, febrero 2010, V 2010.2.1

WinRDBi

2.2.1 Edicin con WordPad


El archivo generado para la BD (.rdb) es editable con Word Pad. La estructura es simple e intuitiva y la
extensin de dicha BD figura para cada tabla a continuacin de su definicin. Basta editar dicho archivo y
salvarlo para tener un nuevo estado de la base de datos. Es mucho ms sencillo este procedimiento que
utilizar las opciones de edicin del propio software.

2.3 Salvar la BD
Permite adems renombrar la base de datos:

Pg. 6 de 11

Bases de Datos. Prctica 6

WinRDBi

Sevilla, febrero 2010, V 2010.2.1

2.4 Abrir la BD.


La opcin Open File permite abrir las BD ya creadas. Abrir la BD equivale a fijar en memoria el archivo
de texto .rdb. Si se modifica con WordPad dicho archivo deber reabrirse para ver los cambios.

Abrir Base de Datos

Al abrir un archivo conteniendo una base de datos (.rdb) aparece una ventana en el que se muestran las
distintas relaciones. En el panel derecho aparecen las tuplas correspondientes a la relacin seleccionada en el
panel izquierdo.

Pg. 7 de 11

Bases de Datos. Prctica 6

WinRDBi

Sevilla, febrero 2010, V 2010.2.1

3 Consultas.
La opcin New Query permite crear las consultas a la base de datos.

Consultas a la BD

Ser necesario especificar el lenguaje en el que se escribir la consulta.

3.1 Algebra relacional (AR)


Los ficheros con consultas en lgebra relacional tiene la extensin .alg
Ejecucin de la
consulta

Una vez que se escribe una consulta se puede ejecutar con el cono en forma de signo de admiracin.
Es necesario tener abierta una base de datos para ejecutar consultas.
Pg. 8 de 11

Bases de Datos. Prctica 6

WinRDBi

Sevilla, febrero 2010, V 2010.2.1

3.1.1

Equivalencia de operadores
Algebra Relacional

WinRDBi
select (f) (R)

f
project x (R)

R
x

R1

R2

R1 union R2

R1

R2

R1 intersect R2

R1 R2
R1 R2
R1
S :=

R2
(R)

R1 difference R2
R1 product R2
R1 njoin R2
S := R

4 Tipos de archivos
Segn la extensin podemos saber de qu archivo se trata.

Consultas en AR
Consultas en CROD
Base de Datos
Consultas en SQL
Consultas en CROT

Pg. 9 de 11

Bases de Datos. Prctica 6

WinRDBi

Sevilla, febrero 2010, V 2010.2.1

5 Ejercicios
1) Crear las siguientes tablas:

BD

personas (idPersona : numeric, persona : char )


hobbies hobby : char
aficiones (idPersona : numeric, hobby : char )

PK (idPersona)
PK (hobby )
PK (idPersona, hobby ) FK1(idPersona) / personas, FK 2(hobby) / hobbies

2) Insertar los siguientes valores en las tablas creadas.


personas
idPersona
1
2
3
4
5

persona
Ana
Pedro
Joaqun
Luisa
Amorfo

hobbies
hobby
Cine
Lectura
Ftbol
Tenis
Senderismo

aficiones
idPersona
1
2
2
3
3
4
4
4
4
4

hobby
Cine
Lectura
Ftbol
Tenis
Senderismo
Cine
Lectura
Ftbol
Tenis
Senderismo

3) Formular las siguientes consultas en AR.


1. Relacin de hobbies
2. Lista de nombres de personas (Proyeccin)
3. Nombres de personas y sus aficiones (Join)
4. Personas a las que les gusta el Tenis
5. Personas a las que no les gusta ningn hobby
6. Personas a las que gustan todos los hobbies (Divisin reescrita como dos diferencias)

Pg. 10 de 11

Bases de Datos. Prctica 6


Sevilla, febrero 2010, V 2010.2.1

WinRDBi

Solucin
1) Creacin de tablas
@personas(idPersona/numeric,persona/char):idPersona
1,'Ana'
2,'Pedro'
3,'Joaqun'
4,'Luisa'
5,'Amorfo'
@hobbies(hobby/char):hobby
'Cine'
'Lectura'
'Ftbol'
'Tenis'
'Senderismo'
@aficiones(idPersona/numeric,hobby/char):(idPersona,hobby)
1,'Cine'
2,'Lectura'
2,'Ftbol'
3,'Tenis'
3,'Senderismo'
4,'Cine'
4,'Lectura'
4,'Ftbol'
4,'Tenis'
4,'Senderismo'

3) Consultas AR
% 1. Relacin de hobbies
qAR1:=hobbies;
% 2. Lista de nombres de personas (Proyeccin)
qAR2:=project persona (personas);
% 3. Nombres de personas y sus aficiones (Join)
qAR3:=personas njoin aficiones;
% 4. Personas a las que les gusta el Tenis
qAR4:= project persona,hobby (select (hobby='Tenis') (personas njoin aficiones));
% 5. Personas a las que no les gusta ningn hobby
qAR5 := (project idPersona (personas)) difference (project idPersona (aficiones));
% 6. Personas a las que gustan todos los hobbies (Divisin reescrita como dos diferencias)
qAR6_TodasLasPersonas:= project idPersona (personas);
qAR6_TodasLasCombinaciones:= qAR6_TodasLasPersonas product hobbies;
qAR6_CombinacionesQFaltan:= qAR6_TodasLasCombinaciones difference aficiones;
qAR6_PersonasAQFaltaAlguna:= project idPersona (qAR6_TodasLasCombinaciones difference aficiones);
qAR6_PersonasAQNOFaltaNinguna:=qAR6_TodasLasPersonas difference qAR6_PersonasAQFaltaAlguna ;

qAR6_PersonasAQNOFaltaNinguna_ConNombre:= project persona(qAR6_PersonasAQNOFaltaNinguna njoin personas) ;

Pg. 11 de 11