UNIVERSIDAD DE LAS FUERZAS ARMADAS
ESPE SEDE LATACUNGA
INFORME DE LABORATORIO DE PROGRAMACION
DATOS INFORMATIVOS:
Docente:
CALIFICACIN:
Ing. Milton Escobar
Estudiantes o integrantes:
Cobena Govea Tomas Lecxinton
Fecha de realizacin de la prctica:
2016-02-05
Fecha de entrega de la prctica:
2016-02-05
LATACUNGA ECUADOR
Ing. Milton Escobar
1
TEMA: Creacion de Base de datos en My SQL y Netbeans
OBJETIVOS:
General:
Realizar la creacion de una base de datos y su respectiva coneccion a traves de el software
Netbeans.
MARCO TEORICO:
Base de Datos: conjunto de datos persistentes, pertenecientes a un mismo contexto,
almacenados sistemticamente para ser usados por los sistemas de aplicacin de
alguna empresa dada. El trmino empresa es genrico.
DBMS: es un tipo de software dedicado a servir de interfaz entre la base de datos, el
usuario y las aplicaciones que la utilizan. Maneja todas las solicitudes de acceso a la base
de datos y tambin se lo conoce como servidor de base de datos.
RDBMS vs. FLAT model: Una base de datos en un archivo plano est diseado con una
sola tabla y es en ella en donde se pone toda la informacin, dando lugar a duplicacin de
informacin y muchas veces inconsistente o corrupta.
Una BD relacional, incorpora mltiples tablas con mtodos para hacerlas trabajar
conjuntamente, eliminando inconsistencias y redundancia. Se vale del lgebra Relacional
y el Clculo Relacional. Su paradigma se basa en la lgica de proposiciones y
la teora de conjuntos.
Motores Transaccionales: son aquellos motores que soportan transacciones, las cuales
constituyen la unidad lgica de trabajo, es decir, son operaciones atmicas que mantienen
la consistencia de la BD. Se ejecuta todo o nada.
Clustering: cuando varias piezas de hardware (mquinas) trabajan conjuntamente como si
fueran solamente una.
SQL - Conceptos elementales
Tiene tres categoras: DDL (Definicin), DML (Manipulacin) y DCL (Control). Est
estandarizado por ANSI, W3C, ISO
Ing. Milton Escobar
2
Servidor: instancia del servicio en ejecucin. Puede tener varias DB en una instancia, y un
servidor puede tener varias instancias.
Rol: serie de permisos y parmetros para un usuario. Vienen algunos predefinidos y
tambin podemos definir los nuestros.
DATA MANIPULATION LANGUAGE
Consultas e ingreso, modificacin y eliminacin de datos
DATA CONTROL LANGUAGE
Asignacin de permisos sobre la base de datos y sus objetos
Ing. Milton Escobar
3
OPERACIONES COMUNES
CREACIN BD (est compuesta de dos archivos, el primario y el log)
database_name: Es el nombre de la nueva base de datos. Los nombres de base de datos
deben ser nicos en una instancia de SQL Server y cumplir las reglas de los
identificadores.
ON: Especifica que los archivos de disco utilizados para almacenar las secciones de datos
de la base de datos (archivos de datos) se definen explcitamente. ON es obligatorio
cuando va seguido de una lista de elementos separados por comas que definen los archivos
de datos del grupo de archivos principal. Detrs de la lista de archivos del grupo de
archivos principal se puede colocar una lista opcional de elementos separados por comas
que definan los grupos de archivos de usuario y sus archivos.
PRIMARY: Especifica que la lista de elementos asociada define el archivo principal. El
primer archivo especificado en la entrada del grupo de archivos principal se convierte en el
archivo principal. Una base de datos slo puede tener un archivo principal.
LOG ON: Especifica que los archivos de disco utilizados para almacenar el registro de la
base de datos (archivos de registro) se definen explcitamente. LOG ON va seguido de una
lista de elementos separados por comas que definen los archivos de registro. Si no se
Ing. Milton Escobar
4
especifica LOG ON, se crea automticamente un archivo de registro cuyo tamao es el 25
por ciento de la suma de los tamaos de todos los archivos de datos de la base de datos, o
512 KB, lo que sea mayor. LOG ON no se puede especificar en una instantnea de base de
datos.
COLLATE collation_name: Especifica un juego de caracteres (codificacin)
predeterminado de la base de datos.
CREAR TABLA:
database_name: nombre de la base de datos en que se crea la tabla. database_name debe
especificar el nombre de una base de datos existente. Si no se especifica, database_name
utiliza de manera predeterminada la base de datos actual.
schema_name: Es el nombre del esquema al que pertenece la nueva tabla.
table_name: Es el nombre de la nueva tabla. Los nombres de tablas deben seguir las reglas
de los identificadores.
column_name: Es el nombre de una columna de la tabla. Los nombres de columna deben
seguir las reglas de los identificadores y deben ser nicos en la tabla.
PROCEDIMIENTOS:
QU ES MYSQL WORKBENCH?
Ing. Milton Escobar
5
MySQL Workbench es un software creado por la empresa Sun Microsystems, esta
herramienta permite modelar diagramas de Entidad-Relacin para bases de datos MySQL.
Con esta herramienta se puede elaborar una representacin visual de las tablas,
vistas, procedimientos almacenados y claves forneas de la base de datos. Adems, es
capaz de sincronizar el modelo en desarrollo con la base de datos real. Se puede realizar
una ingeniera directa e ingeniera inversa para exportare e importar el esquema de una
base de datos ya existente el cual haya sido guardado o hecho copia de seguridad con
MySQL Administrador.
MySQL Workbench puede generar tambin el guin necesario para crear la base de datos
que se ha dibujado en el esquema; es compatible con los modelos de base de datos de
DBDesigner 4 y soporta las novedades incorporadas en MySQL 5.x
CMO CONSEGUIR LA APLICACIN?
Existen versiones para Window, Linux y Mac. Hay que tener en cuenta que para los dos
ltimos sistemas las versiones son Betas. Los links de descarga son los siguientes:
Windows y Linux:
[Link]
Mac:
[Link]
INSTALACIN DE MYSQL WORKBENCH
Para poder realizar este proceso es importante tener el instalador de MySQL WorkBench.
1. Ejecutamos el programa
2. Muestra una ventana de bienvenida. Para continuar con la instalacin se da click
en el botn Next.
Ing. Milton Escobar
6
3. El siguiente paso muestra la ruta de donde se instala el programa
4. Instalacin del programa se procede presionando el botn "Install"
Ing. Milton Escobar
7
5. Procesando instalacin, y es importante esperar unos minutos,
6. Una vez que la Instalacin haya finalizada, hacer Click en el botn "Finish"
Ing. Milton Escobar
8
7. Ventana de bienvenida
Ing. Milton Escobar
9
DISEAR Y CREAR UNA BASE DE DATOS CON MYSQL WORKBENCH
MySQL Workbench nos permite desde una ambiente grfico, disear un modelo E-R de
una base de datos.
En el ejemplo crearemos una base de datos muy sencilla, la cual no representa un ejemplo
real. Simplemente es para probar las caractersticas.
Primero creemos el esquema fsica, Abajo se abre una pestaa en que nos pregunta
el nombre del esquema (ej. llamamos test) y el idioma del esquema, el cual se recomienda
Ing. Milton Escobar
10
dejar por server default como se muestra en la figura. Si la aplicacin pregunta si desean
renombrar todos los objetos, seleccionen "Si".
Ya creado el esquema, procedemos a crear las tablas. Existen dos formas, aunque
muy similares de crearlas. La primera es desde la pantalla en la que estamos, la otra es
mediante la ventana visual, en la cual podremos adems, realizar las relaciones entre las
tablas.
Primero: Creamos las tablas en el esquema fsico. Sin entrar a la ventana
de diagrama.
Verifica que estas en el esquema fsica y luego haz doble Click en el icono de "Add
Table".
Ing. Milton Escobar
11
Al hacer Click en esta opcin, se despliega al lado un icono representando la nueva
tabla, mientras que debajo se abre una nueva pestaa, en la cual podemos editar todo al
respecto de las tablas haciendo Click en cada una de las pestaas ubicadas en la parte
inferior de esta nueva pestaa.
Ing. Milton Escobar
12
Al hacer Click en la pestaa "Columns", podemos editar todas las columnas de la
tabla indicada. Podemos alterar el nombre, el tipo de dato, si es nulo o no (NN) y si es
Auto incremental (AI), obviamente este ltimo es slo para datos de tipo numrico, De
igual forma podemos especificar un valor por default para la columna. En la parte derecha,
inmediatamente podemos indicar si la columna seleccionada hace parte de la llave
primaria (PRIMARY KEY), si es UNSIGNED o ZEROFILL para las variables numricas
y si la variable es de tipo carcter, podemos especificar si es BINARY.
Ing. Milton Escobar
13
Ahora pasemos a crear una tabla por medio de un diagrama E-R.
En la parte superior observamos la opcin "Add Diagram". Hacemos doble Click
sobre ella.
Ing. Milton Escobar
14
Luego se abre una nueva pestaa en la cual encontramos un grid. A la izquierda,
encontramos una barra de herramientas, desde la cual podremos crear tablas y vistas,
adems de relaciones (1:1, 1:n, n:m) y a la derecha un rbol con los objetos de nuestro
esquema. De esa ventana, seleccionamos la tabla que creamos y la arrastramos hasta el
grid. Luego hacemos Click derecho y seleccionamos "Edit Table", abajo nos muestra la
pestaa para editar la tabla y crear columnas, llaves, etc.
Ing. Milton Escobar
15
Buscamos a la izquierda el cono que nos permite crear una nueva tabla. Hacemos
un Click en el cono y luego un Click en el grid.
Ing. Milton Escobar
16
Editamos la segunda tabla y ahora haremos una relacin muchos a uno.
Seleccionamos el icono, y luego cada una de las tablas (primero la de muchos y luego la de
uno). En el caso, la tabla de "muchos" es table1. Quedara algo as:
Ing. Milton Escobar
17
Como ven el Workbench se apega a la teora relacional, donde en este caso la llave de la
relacin "uno" pasa a la tabla de "muchos". Igualmente si creamos una relacion M.N
(muchos a muchos) generar una relacin entre las dos tablas.
Ejemplo:
Base de datos VENTAS
1. Para proceder con este paso es necesario, tener abierto el programa. Luego
procederemos a darle un nombre a nuestra base de dato. En el elemplo "Mydb" o
cualesquiera que Ud. Elija (BDVentas, trabajoBD, base, etc)
Ing. Milton Escobar
18
2. Ahora, adicionamos "Add Table" una tabla a nuestro base de datos en la ventana
"Esquema fsica de MySQL Workbench"
3. Del mismo modo podemos adicionar ms tablas necesarias, aunque en esta
misma ventana podemos tambin editar todos los atributos de cada tabla.
Ing. Milton Escobar
19
4. En este paso, entramos a la ventana de diagrama en el cual haremos las
relaciones entidad-relacin. para podemos agregar los atributos a las tablas (en el paso
anterior, no agregamos ningn atributo), hacemos click en cada tabla en la parte de
Catlogos de la ventana del programa.
Ing. Milton Escobar
20
5. Luego como ya se dijo anteriormente, agregamos los atributos de nuestras tablas.
6. Relacionamos las tablas, de acuerdo el tipo de relacin que le corresponde. En
este caso tenemos las tablas PRODUCTO MARCA, la relacin que le corresponde es:
uno a muchos(uno-producto; muchos-marca)
Ing. Milton Escobar
21
7. Y procedemos a realizar el aso anterior para todas las tablas, para luego obtener
la base de datos completa.
LA GENERACIN DEL SCRIPT SQL
1. Teniendo listo la base de datos, podemos exportar o hacer una ingeniera directa
a MySQL
Ing. Milton Escobar
22
2. Como ven, podemos exportar el diseo, incluso como una imagen en pdf, o en
png, entre otros. La primera pantalla, nos muestra las opciones con las que queremos que
se genere el script DDL. Luego seleccionamos la ubicacin destino del archivo que se
crear.
3. Luego nos muestra un resumen de lo que crear; usuarios, tablas, vistas, rutinas
y triggers. Incluso si seleccionamos el botn "DetailedSelection" de cada seccin,
podemos especificar an ms, por ejemplo, qu tablas deseo realmente exportar.
Ing. Milton Escobar
23
4. Luego finalizar, y en la ruta que le hallamos indicado estar un archivo .SQL,
con nuestro script. Como se podrn dar cuenta Workbench, resuelve algunas limitantes en
la comunidad open source de un buen software frontend para MySQL, y sobre todo de una
herramienta que provea Forward Engineering, de una manera tan sencilla y bien ilustrada.
Ing. Milton Escobar
24
CARGAR LA BASE DE DATOS
1. Entrar el administrador de MySQL
2. Se abre una ventana de dialogo, cual nos muestra muchas opciones del
administrador de MySQL. Entramos a la opcin Restore.
Ing. Milton Escobar
25
3. Se abrir una ventana, cual nos pedir la carpeta en donde est guardado la base
de datos.
4. Luego de ubicar nuestro base de datos, marcamos con un check la opcin
"ignore errors"
Ing. Milton Escobar
26
5. Procedemos a cargar la base de datos, hacer click en el botn "starrestore"
6. Se procesara la restauracin de base de datos.
Ing. Milton Escobar
27
7. Abrir el query browser de mysql
8. Ya teniendo la ventana abierta del QueryBroser, en la parte "esquema" (shemata)
aparecer nuestra base de datos.
Ing. Milton Escobar
28
9. Aunque tambin podemos abrir el script de nuestra base de datos en Query
[Link] al men Filey la opcin open script. y pedir la carpeta de origen de nuestra
base de datos
10. luego abrir la carpeta pedido, se mostrara de la siguiente manera.
Ing. Milton Escobar
29
11. ejecutar el script.
PASOS PARA LA INGENIERA DIRECTA EN MYSQL WOCKBENCH
1. Modelar en WorkBench
Ing. Milton Escobar
30
Se realiza un modelado de sistema de videos en la Herramienta WorkBench como se
muestra.
2. Configuracin de la base de Datos.
Se selecciona del men de herramientas la opcin Database, como se muestra en la figura.
Ing. Milton Escobar
31
3. Configuracin de la Conexin
Se selecciona del men desplegable ManageConnections.
4. Agregar una nueva Conexin
Se hace Click en la opcin de New, para crear una nueva Conexin
Ing. Milton Escobar
32
5. Se Activa los Datos para agregar la nueva Conexin
Connection name, Connection Method, Hostname, Port, Username, Password, Default
Schema.
6. Agregar los datos para conectar a MySql
Connection name: ConeccionMySql, Connection Method: TCP/IP, Hostname: localhost,
Port: 3306, Username:root, Password: ----, Default Schema: ---.
Ing. Milton Escobar
33
7. Probar la Conexin
Hacer Click en Test Connection para comprobar la conexin
Ing. Milton Escobar
34
8. Se Activa la Ingeniera Directa para crear la Base de Datos
Se selecciona Forward Engineer de la barra de men Database.
9. Se muestra las opciones de creacin de la Base de Datos
Se muestra en un cuadro de dialogo las opciones a elegir para la creacin del cdigo de la
Base de Datos
Ing. Milton Escobar
35
10. Seleccin de Opciones de Creacin de la Base de Datos
Se selecciona todas las opciones a generar el cdigo para la Base de Datos.
11. Seleccin de Objetos a incluir en la Ingeniera Directa
Se selecciona los objetos que se desea exportar a la Base de Datos mediante de la
Ingeniera Directa.
Ing. Milton Escobar
36
12. Generacin y Revisin del Cdigo SQL que ser ejecutado
Se muestra el cdigo SQL para la creacin de cada objeto o elementos que este en la Base
de Datos.
13. Se configura la conexin a utilizar para conectar al DBMS
Se selecciona la conexin que se configuro previamente en el Database.
Ing. Milton Escobar
37
14. Nos conectamos por ConeccionMysql
Se selecciona la configuracin previa en el Database.
15. Se Guardan los datos de conexin antes grabados
Se levantan los datos en los casilleros para hacer la Conexin al DBMS
Ing. Milton Escobar
38
16. Se muestra el Progreso de la Ingeniera Directa
Muestra si existe la Conexin al DBMS y la ejecucin del Cdigo SQL
17. Se ingresa al MySQL Query Browser
Se ingresa al DBMS para verificar si se cre la Base de Datos correspondiente
Ing. Milton Escobar
39
18. En la parte derecha existe una Base de Datos llamada Coneccmysql
Se cre la BD mediante el cdigo generado por la Ingeniera Directa desde WorkBench
19. Se muestran las tablas creadas mediante el cdigo SQL
Se visualizan las tablas u objetos creados mediante el cdigo SQL
Ing. Milton Escobar
40
En primer lugar vamos a crear una base de datos, a la cual yo llamar: java_mysql. La mista
tendr una sola tabla llamada tareas con el siguiente cdigo:
CREATETABLEtareas(id_tareaint(10)unsignednotnull
auto_incrementprimarykey,titulovarchar(50)notnull,
descripcionvarchar(255)notnull,nivel_de_prioridad
tinyint(1)notnull);
Java
Vamos a abrir Netbeans y vamos a crear un nuevo proyecto, yendo a File -> New Project ->
Java -> Java Application.
Ing. Milton Escobar
41
Vamos a ponerle un nombre y vamos a guardarlo en alguna parte de nuestra mquina.
Vamos a borrar todo lo que est dentro de la carpeta source (o src) y dentro vamos a crear
dos paquetes, uno al que yo llamar modelos y otro al que llamar servicios.
Ahora, para conectar Java a MySQL tenemos que agregar un librera que se encargar de
hacer esa magia. As que dentro que pulsando botn derecho sobre la carpeta Libraries,
vamos a ir a Add Library
Ing. Milton Escobar
42
Y agregamos la librera MySQL JDBC Driver, primero seleccionndola y luego pulsando Add
Library.
Bueno, ya tenemos todo, no nos falta nada. Ya podemos empezar a escribir cdigo Java.
Dentro del paquete modelos, vamos a crear una clase, a la que yo llamar [Link], con el
siguiente cdigo:
Ing. Milton Escobar
43
packagemodelos;publicclassTarea{privatefinalInteger
id_tarea;privateStringtitulo;privateString
descripcion;privateIntegernivel_de_prioridad;public
Tarea(){this.id_tarea=null;[Link]=null;
[Link]=null;this.nivel_de_prioridad=null;
}publicTarea(Integerid_tarea,Stringtitulo,String
descripcion,Integernivel_de_prioridad){this.id_tarea
=id_tarea;[Link]=titulo;[Link]
=descripcion;this.nivel_de_prioridad=
nivel_de_prioridad;}publicIntegergetId_tarea(){
returnid_tarea;}publicStringgetTitulo()
{returntitulo;}publicStringgetDescripcion(){
returndescripcion;}publicInteger
getNivel_de_prioridad(){returnnivel_de_prioridad;}
publicvoidsetTitulo(Stringtitulo){[Link]=
titulo;}publicvoidsetDescripcion(Stringdescripcion)
{[Link]=descripcion;}publicvoid
setNivel_de_prioridad(Integernivel_de_prioridad)
{this.nivel_de_prioridad=nivel_de_prioridad;}
@OverridepublicStringtoString(){return"Tarea{"+
"id_tarea="+id_tarea+",titulo="+titulo+",
descripcion="+descripcion+",nivel_de_prioridad="+
nivel_de_prioridad+'}';}}
Una clase, nada nuevo, que va a representar el modelo de una tarea.
Conectando JAVA con MySQL
Bien, ahora creamos la clase que va a conectar nuestra aplicacin con MySQL, yendo al
paquete servicios, vamos a crear una nueva clase llamada [Link] con el siguiente
cdigo:
packageservicios;[Link].*;publicclassConexion{
privatestaticConnectioncnx=null;publicstatic
Connectionobtener()throwsSQLException,
ClassNotFoundException{if(cnx==null){try
{[Link]("[Link]");
cnx=
[Link]("jdbc:mysql://localhost/java_mysql"
,"root","");}catch(SQLExceptionex){
thrownewSQLException(ex);}catch
(ClassNotFoundExceptionex){thrownew
ClassCastException([Link]());}}
returncnx;}publicstaticvoidcerrar()throws
Ing. Milton Escobar
44
SQLException{if(cnx!=null){[Link]();
}}}
Esta clase tendr un mtodo esttico llamado obtener(), el cual va a devolvernos una
instancia de conexin y de no haber una previa va crear una:
cnx=
[Link]("jdbc:mysql://localhost/java_mysql"
,"root","");
Esto gracias al mtodo getConnection(), el cul recibir como primer parmetro el tipo de
base de datos (MySQL) y la ubicacin de la base de datos, en mi caso, como estoy
trabajando en un entorno local, ser localhost. El segundo parmetro es el usuario y el tercero
la contrasea.
A su vez este mtodo puede disparar dos excepciones, SQLException, si surge algn error,
por ejemplo que no se pueda conectar a la base de datos, y ClassNotFoundException, en
caso de que no encuentre la librera.
Y por ltimo el mtodo, tambin esttico, cerrar(), que como su nombre lo indica, cerrar la
conexin, en caso de que haya alguna abierta.
CONCLUSIONES
En la practica anteriormente realizada con los conocimientos adquiridos en clases
al momento de realizar el proyecto de base de datos con interfaz grafica en net
beans se concluyo que los codigos usados en My SQL son mas sencillos de usar
por su facilidad y interfaz amistosa con el usuario y se pudo concluir que el manejo
de datos con bases resulta de mucha ayuda al momento de control y manejo de
personal entre otros
RECOMENDACIONES:
Trata de seguir la guia brindada por el docente para un facil entendimientos de el proyecto
requerido .
BIBLIOGRAFIA:
[Link]
[Link]
Ing. Milton Escobar
45
Ing. Milton Escobar
46