Laboratorio de Base de Datos Curso 2008-09 Elena García Barriocanal Laboratorio I – La asignatura en una lección 1. Objetivos − Entender los diferentes pasos en el diseño y creación de una base de datos, y las diferentes notaciones y pasos implicados en el proceso. − Entender el SGBD como un software especializado. − Saber identificar elementos del diseño lógico y del diseño físico en los SGBD. − Conocer algunos hitos relevantes en la historia de las bases de datos. 2. Primera Parte. Un ejemplo muy simple del proceso Universidad Virtual de Gotham (UVG): contexto del caso El estado de Gotham ha aprobado recientemente la creación de una nueva Universidad para su capital, Gotham City. La Universidad comenzará a ofrecer estudios en el curso académico 2008/09, por lo que durante el curso 2006/07 solamente hará estudios del mercado formativo al que se enfrenta. En esa primera fase, la Universidad recogerá información a través de su Web sobre las titulaciones en las que estaría interesado cursar los potenciales alumnos que entren en la página de la UVG. De esos alumnos se registrará su dni, dirección completa y datos de contacto para enviarles información por correo electrónico en el futuro. También se debe guardar en qué titulaciones de entre las existentes están interesados. Modelo entidadentidad-relación Modelo relacional relacional AlumnoPotencial (DNI, nombre, apellido1, apellido2, telefono, email, direccion) InteresandoEn (DNI, nombreTitulacion) TitulacionPosible (nombreTitulacion) Modelo lógico CREATE TABLE `alumnopotencial` ( `DNI` char(8) NOT NULL, `nombre` varchar(45) NOT NULL, `apellido1` varchar(45) NOT NULL, `apellido2` varchar(45) NOT NULL, `email` varchar(45) NOT NULL, `telefono` char(9) NOT NULL, `direccion` varchar(45) NOT NULL, PRIMARY KEY (`DNI`) ) CREATE TABLE `titulacionposible` ( `nombreTitulo` char(45) NOT NULL, PRIMARY KEY (`nombreTitulo`) ) CREATE TABLE `interesadoen` ( `DNI` char(8) NOT NULL, `nombreTitulacion` char(45) NOT NULL, PRIMARY KEY (`nombreTitulacion`,`DNI`), CONSTRAINT `FK_interesadoen_2` FOREIGN KEY (`nombreTitulacion`) REFERENCES `titulacionposible` (`nombreTitulo`), CONSTRAINT `FK_interesadoEn_1` FOREIGN KEY (`DNI`) REFERENCES `alumnopotencial` (`DNI`) ) 3. Segunda Parte. Conociendo MySQL Esta segunda parte es de trabajo personal del estudiante. Utilizando la documentación de MySQL, contestad a las siguientes preguntas: − ¿MySQL implementa algún estándar de bases de datos? − ¿Cuál es el precio de MySQL? − ¿Tiene MySQL alguna restricción relativa al tamaño de las bases de datos? historia 4. Lectura complementaria: La histor ia de los SGBD Contestad a las siguientes preguntas después de la lectura del siguiente artículo (y si es necesario, complementando la información con otras fuentes): Haigh, T. (2006) “A Veritable Bucket of Facts”. Origins of the Data Base Management System. SIGMOD Record 33(2), pp. 33-49. [puede descargarse de esta página: http://www.sigmod.org/sigmod/record/issues/0606/index.html] − ¿Qué características importantes de los SGBD se mencionan en la introducción? − ¿Dónde se utilizó por primera vez el término “base de datos” según el autor? ¿Cuál es la idea central del término “base de datos” en sus primeros usos en la gestión de sistemas de información? − ¿Qué hitos en la evolución del hardware fueron fundamentales en la aparición de las bases de datos tal como las conocemos hoy? − ¿Qué importancia tiene CODASYL en el desarrollo de las bases de datos? − ¿Cuál fue el primer modelo de bases de datos? − ¿Qué diferencia esencial tiene el modelo relacional y el modelo en red de bases de datos?