Вы находитесь на странице: 1из 6

Modelado de Base de datos para Sistema de evaluacin para alumnos pilotos

Este proyecto fue desarrollado bajo la base de datos Mysql 5.


Vamos a hacer una pausa para explicar el motivo de elegir MySql como gestor de base de datos
para el proyecto Sistema de evaluacin para alumnos pilotos.
En primer lugar, el econmico. Estamos realizando un proyecto utilizando productos
OpenSource o productos licenciados libremente por los fabricantes (como Microstrategy
Reporting Suite). Seguramente si estuvisemos en un gran proyecto, elegiramos una opcin de
base de datos propietaria, como Oracle (que es para muchos la mejor opcin por estudios,
prcticas o consenso). Se puede ver el estudio comparativo de bases de datos realizado por
Forrester (gracias a todobi.com ).

En segundo lugar, estamos buscando productos con reconocido prestigio, fiabilidad, velocidad,
rendimiento, facilidad de administracin y conexin con otros productos, bien documentados,
con una buena evolucin y soporte. Productos de los que sea fcil obtener informacin, con
buenas herramientas, y para los que incluso podamos recibir cursos de formacin si fuese
necesario. Productos que estn siendo utilizados en muchos entornos productivos y que nos
den la suficiente confianza.

Adems, los gestores de bases de datos OpenSource hace tiempo que dejaron de ser un
experimento y ya son una alternativa real para las empresas (incluso aparecen en los cuadrantes
Gartner). Son productos cada vez ms evolucionados, con ms funcionalidades y las empresas

que los desarrollan tienen tambin cada vez ms volumen de negocio (cuestin importante para
continuar la evolucin de los productos).
En nuestro caso, hemos decidido trabajar con MySql o PostgreSql, y vamos a centrarnos en
analizar cul de los dos productos nos quedamos.
Tenemos mucha informacin de comparaciones entre MySql y PostgreSql, pero es el momento
de las conclusiones y de elegir el producto que utilizaremos en nuestro proyecto, teniendo en
cuenta las siguientes consideraciones:
1) Es la primera vez que trabajamos con ambas bases de datos, y en ambos casos buscaremos la
facilidad de trabajo, la existencia de herramientas grficas y de administracin, la
documentacin, etc.
Teniendo en cuenta estas consideraciones y los estudios y comparativas que hemos descrito
anteriormente, decidimos trabajar con MySql por los siguientes motivos:
1) Velocidad: aunque en algunos estudios PostgreSql es mejor para entornos donde la integridad
de datos es fundamental (como en el desarrollo de aplicaciones), a nivel de rendimiento MySql
es mejor. En concreto, cuando utilizamos el tipo de motor MyIsam, el rendimiento de MySql es
mucho mejor. Este ser el tipo de Engine con el que definiremos todas nuestras tablas. El motor
InnoDb es ms lento y est orientado a aplicaciones donde la actualizacin e integridad es ms
importante.

2) Herramientas grficas, documentacin, plataformas: Mysql proporciona una amplia


documentacin (muy completa) y multitud de herramientas grficas de gestin y de
conectividad. PostgreSql tambin cumplira los requisitos en el tema de documentacin y
plataformas soportadas. Tambin es importante para nosotros poder disponer en Mysql de una
herramienta de Diseo de Bases de datos, como es MySql Workbench, que nos permite definir
nuestros modelos relacionales, generar las sentencias SQL y construir la base de datos, as como
realizar ingeniera inversa (construir el modelo de datos a partir de una base de datos existente)
o comparar el modelo definido en la herramienta con el existente en la base de datos.

Algunos de los usuarios ms destacados de Mysql son los siguientes:


Amazon.com
Cox Communications La cuarta televisin por cable ms importante de EEUU, tienen ms de
3.600 tablas y aproximadamente dos millones de inserciones cada hora.
Craigslist
CNET Networks
Digg Sitio de noticias.
flickr, usa MySQL para gestionar millones de fotos y usuarios.
Google Para el motor de bsqueda de la aplicacin AdWords.
Joomla!, con millones de usuarios.
phpBB, Uno de los ms famosos sitios de foros, con miles de instalaciones y con millones de
usuarios.
LiveJournal Cerca de 300 millones de pginas servidas cada da.[2]
NASA

NetQOS, usa MySQL para la gestin de algunas de las redes ms grandes del mundo como las
de Chevron, American Express y Boeing.
Nokia, usa un cluster MySQL para mantener informacin en tiempo real sobre usuarios de
redes de mviles.
Omniture
Sabre, y su sistema de reserva de viajes Travelocity
Slashdot con cerca de 50 millones de pginas servidas cada da.
Wikipedia, sirve ms de 200 millones de consultas y 1,2 millones de actualizaciones cada da,
con picos de 11.000 consultas por segundo.
WordPress, con cientos de blogs alojados en l.
Yahoo! para muchas aplicaciones crticas.
Modelo de Base de datos

Descripcin de tablas
usuario

Tabla usuario
idUsuario
login
password
admin

alumno

Cdigo de usuario
Identificador de nombre de usuario
Contrasea de usuario
Cdigo que indica si el usuario es administrador o simple usuario.

Tabla alumno
idAlumno

Cdigo de alumno (este puede almacenar si el piloto es militar, civil o


comercial)

nombres
apellidoPat
apellidoMat
dni
celular
foto
fechaIns
instructor

Tabla Instructor

idInstructor
nombres
apellidoPat
apellidoMat
dni
celular
foto
fechaIns
evaluacion

Nombre(s) de alumno
Apellido Paterno de alumno
Apellido Materno de Alumno
Dni de Alumno
Celular de Alumno
Nombre de Foto de Alumno
Fecha de Inscripcin de Alumno

Cdigo de instructor
Nombre(s) de instructor
Apellido Paterno de instructor
Apellido Materno de instructor
Dni de instructor
Celular de instructor
Nombre de Foto de instructor
Fecha de Inscripcin de instructor

Tabla evaluacin

idEvaluacion
nota
fecha
video

Cdigo de evaluacin
Puntaje de evaluacin
Fecha de evaluacin
Nombre de video de evaluacin

evaluacionHis Tabla evaluacin Histrico


idEvaluacionHis
Cdigo de evaluacin Histrico
nota
Puntaje de evaluacin Histrico
fecha
Fecha de evaluacin Histrico
video
Nombre de video de evaluacin Histrico

Scritp Generado
/*
Created
Modified
Project
Model
Company
Author
Version
Database
*/

03/02/2015
04/02/2015
Sistema de evaluacin para alumnos pilotos

Create table alumno (

Nstor Ricardo Mamani Zapana


v0.1
mySQL 5

idAlumno Varchar(20) NOT NULL,


nombres Varchar(50),
apellidoPat Varchar(20),
apellidoMat Varchar(20),
dni Varchar(9),
celular Varchar(11),
foto Varchar(20),
fechaIns Date,
idUsuario Int NOT NULL,
Primary Key (idAlumno)) ENGINE = MyISAM;
Create table evaluacion (
idEvaluacion Varchar(20) NOT NULL,
nota Int,
fecha Date,
video Varchar(20),
idAlumno Varchar(20) NOT NULL,
Primary Key (idEvaluacion)) ENGINE = MyISAM;
Create table instructor (
idInstructor Varchar(20) NOT NULL,
nombres Varchar(50),
apellidoPat Varchar(20),
apellidoMat Varchar(20),
dni Varchar(9),
celular Varchar(11),
foto Varchar(20),
fechaIns Date,
idEvaluacion Varchar(20) NOT NULL,
idUsuario Int NOT NULL,
Primary Key (idInstructor)) ENGINE = MyISAM;
Create table usuario (
idUsuario Int NOT NULL,
login Varchar(20),
password Varchar(20),
admin Bool,
Primary Key (idUsuario)) ENGINE = MyISAM;
Create table evaluacionHis (
idEvaluacionHis Int NOT NULL,
nota Int,
fecha Date,
video Varchar(20),
idEvaluacion Varchar(20) NOT NULL,
Primary Key (idEvaluacionHis)) ENGINE = MyISAM;

Alter table evaluacion add Foreign Key (idAlumno) references alumno (idAlumno) on delete
restrict on update restrict;
Alter table instructor add Foreign Key (idEvaluacion) references evaluacion (idEvaluacion) on
delete restrict on update restrict;
Alter table evaluacionHis add Foreign Key (idEvaluacion) references evaluacion (idEvaluacion)
on delete restrict on update restrict;
Alter table alumno add Foreign Key (idUsuario) references usuario (idUsuario) on delete
restrict on update restrict;
Alter table instructor add Foreign Key (idUsuario) references usuario (idUsuario) on delete
restrict on update restrict;

Вам также может понравиться