Download Práctica 6 - LSI - Universidad de Sevilla
Document related concepts
no text concepts found
Transcript
Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. 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. ingeniería informática Bases de Datos Práctica 6 WinRDBI Definición de tablas y consultas en álgebra relacional Sevilla, febrero 2010 V 2010.2.1 Bases de Datos. Práctica 6 WinRDBi Sevilla, febrero 2010, V 2010.2.1 Indice 1 INTRODUCCIÓN. .................................................................................................................................................................... 3 1.1 2 ARRANQUE DE LA APLICACION. ........................................................................................................................................... 3 CREACIÓN DE LA BASE DE DATOS. ................................................................................................................................... 3 2.1 2.2 CREACIÓN DE TABLAS......................................................................................................................................................... 4 INSERCIÓN DE FILAS........................................................................................................................................................... 5 2.2.1 Edición 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 4 TIPOS DE ARCHIVOS ............................................................................................................................................................. 9 5 EJERCICIOS ............................................................................................................................................................................ 10 SOLUCIÓN ......................................................................................................................................................................................... 11 Pág. 2 de 11 Bases de Datos. Práctica 6 WinRDBi Sevilla, febrero 2010, V 2010.2.1 1 Introducción. WinRDBI es una herramienta educativa desarrollada por estudiantes de la Universidad de Arizona. Permite, a través 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, cálculo 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 Creación de la base de datos. La opción ‘New Database’ permite crear una nueva base de datos. Crear Base de Datos Pág. 3 de 11 Bases de Datos. Práctica 6 WinRDBi Sevilla, febrero 2010, V 2010.2.1 La base de datos tiene la extensión .rdb (desde la versión 4.0 también pueden generarse archivos .xml e importar bases de datos de otros orígenes JDBC, ODBC). 2.1 Creación de tablas. Una vez creada la base de datos, se pueden crear las tablas mediante la opción ‘Add Relation’. Crear tabla Los nombres de relaciones y atributos deben empezar por minúscula. Los tipos de datos permitidos son char y numeric. Pág. 4 de 11 Bases de Datos. Práctica 6 WinRDBi Sevilla, febrero 2010, V 2010.2.1 2.2 Inserción 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 Pág. 5 de 11 Bases de Datos. Práctica 6 Sevilla, febrero 2010, V 2010.2.1 WinRDBi 2.2.1 Edición con WordPad El archivo generado para la BD (.rdb) es editable con Word Pad. La estructura es simple e intuitiva y la extensión de dicha BD figura para cada tabla a continuación de su definición. Basta editar dicho archivo y salvarlo para tener un nuevo estado de la base de datos. Es mucho más sencillo este procedimiento que utilizar las opciones de edición del propio software. 2.3 Salvar la BD Permite además renombrar la base de datos: Pág. 6 de 11 Bases de Datos. Práctica 6 WinRDBi Sevilla, febrero 2010, V 2010.2.1 2.4 Abrir la BD. La opción ‘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 relación seleccionada en el panel izquierdo. Pág. 7 de 11 Bases de Datos. Práctica 6 WinRDBi Sevilla, febrero 2010, V 2010.2.1 3 Consultas. La opción ‘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 extensión .alg Ejecución de la consulta Una vez que se escribe una consulta se puede ejecutar con el ícono en forma de signo de admiración. Es necesario tener abierta una base de datos para ejecutar consultas. Pág. 8 de 11 Bases de Datos. Práctica 6 WinRDBi Sevilla, febrero 2010, V 2010.2.1 3.1.1 Equivalencia de operadores Algebra Relacional R 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 Según la extensión podemos saber de qué archivo se trata. Consultas en AR Consultas en CROD Base de Datos Consultas en SQL Consultas en CROT Pág. 9 de 11 Bases de Datos. Práctica 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 Joaquín Luisa Amorfo hobbies hobby Cine Lectura Fútbol Tenis Senderismo aficiones idPersona 1 2 2 3 3 4 4 4 4 4 hobby Cine Lectura Fútbol Tenis Senderismo Cine Lectura Fútbol Tenis Senderismo 3) Formular las siguientes consultas en AR. 1. Relación de hobbies 2. Lista de nombres de personas (Proyección) 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 ningún hobby 6. Personas a las que gustan todos los hobbies (División reescrita como dos diferencias) Pág. 10 de 11 Bases de Datos. Práctica 6 Sevilla, febrero 2010, V 2010.2.1 WinRDBi Solución 1) Creación de tablas @personas(idPersona/numeric,persona/char):idPersona 1,'Ana' 2,'Pedro' 3,'Joaquín' 4,'Luisa' 5,'Amorfo' @hobbies(hobby/char):hobby 'Cine' 'Lectura' 'Fútbol' 'Tenis' 'Senderismo' @aficiones(idPersona/numeric,hobby/char):(idPersona,hobby) 1,'Cine' 2,'Lectura' 2,'Fútbol' 3,'Tenis' 3,'Senderismo' 4,'Cine' 4,'Lectura' 4,'Fútbol' 4,'Tenis' 4,'Senderismo' 3) Consultas AR % 1. Relación de hobbies qAR1:=hobbies; % 2. Lista de nombres de personas (Proyección) 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 ningún hobby qAR5 := (project idPersona (personas)) difference (project idPersona (aficiones)); % 6. Personas a las que gustan todos los hobbies (División 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) ; Pág. 11 de 11