Vous êtes sur la page 1sur 16

UNIVERSIDAD NACIONAL DE PANAMA

FACULTAD DE INFORMATICA ELECTRÓNICA Y COMUNICACION


LICENCIATURA EN INFORMATICAPARA LA GESTION
EDUCATIVA Y EMPRESARIAL

ASIGNATURA
PROGRAMACIÓN IV
INF212

ASIGNACIÓN
LABORATORIO # 9
Mysql

PROFESOR :
DIEGO SANTIMATEO G.

INTEGRANTES:
NELVIN POLANCO 9-724-1604
MISAEL RODRÍGUEZ 8-406-874

FECHA DE ENTREGA:
13 DE DICIEMBRE DE 2007

II SEMESTRE 2007

ÍNDICE
1.Qué es una base de datos y un motor (manejador) de base de datos.

Una Base de Datos es conjunto de información (datos en formato texto plano.)


relacionados que se encuentran agrupados ó estructurados. Por lo general estos
datos son almacenados en discos que permiten el acceso directo a ellos y un
conjunto de programas que manipulen ese conjunto de datos. un manejador de
base de datos es la Parte más importante del software de un sistema de base de
datos ya que se encarga del control total, y de los posibles aspectos que la
puedan afectar, Sirve de interfaz entre los datos y los programas de aplicación.

2.Una tabla y sus componentes. ejemplos de varios registros. Indicamos


cómo están constituidos los registros.

Una tabla es donde se guardan los datos recolectados por un programa. Su


estructura general se compone de:
Campos: Corresponde al nombre de la columna, Deben relacionarse con las
características (atributos) de cada registro localizado en la fila.
Registro: Corresponde a cada fila que compone la tabla. Allí se componen
cada uno de los registros que contendrá la base de datos

Ejemplo: Tabla Cliente

Cada columna representa los atributos de la entidad del cliente

Nombre Cédula Dirección Teléfono


Pedro López 9-789-456 Santiago, Veraguas 998-8901

José Muñoz 7-897-256 David, Chiriquí 236-5689


Maria Ríos 8-897-1231 Panamá, Panamá 260-7278
Luis Molina 9-785-972 Santiago, Veraguas 998-7845
Edgardo Hernández 9-789-1233 Santiago, Veraguas 999-5689

Registros que contienen la información (datos) de la entidad del


empleado

3.¿Qué es SQL? ¿Qué es MYSQL?


SQL: es el lenguaje estándar utilizado para manejar las bases de datos.
MYSQL: es un software creado por MySQL AB y es un software multiusuario,
multihilos y un servidor SQL.

4.Estructura de los comandos SQL en MySQL para insertar, eliminar,


actualizar y consultar registros de una tabla, así como para crear una tabla.
¿Cuál es la utilidad de la cláusula WHERE?

•Insertar:
INSERT INTO: Es la sentencia SQL que inserta los valores en una
tabla.

•Eliminar:
DELETE FROM: Esta sentencia nos permite hacer que el contenido de la
tabla se borre en su totalidad.

•Actualizar:
UPDATE : permite modificar o cambiar los datos de la tabla.

•Consultar:
SELECT: nos permite consultar los datos almacenados en una tabla de la
base de datos.

La cláusula WHERE es la instrucción que nos permite filtrar el resultado de una


sentencia. Cuando no deseamos obtener toda la información existente en la
tabla utilizamos la calusula WHERE en la sentencia SELECT, en caso que solo
queremos obtener sólo la información que nos resulte util es ese momento,
antes de ser devueltos por la consulta. Al igual si necesitamos que se grabe
única y exclusivamente un dato en una columna, se verificará si la clausula
WHERE cumple con la condición que sea, en la sentencia INSERT INTO. La
condicion WHERE es opcional y puede no incluirse en, en caso de no ser
insertadas, los datos se insertarán o mostrarán sin importar nada.
5.¿CUÁLES SON LOS TIPOS DE LOS CAMPOS Y QUÉ SIGNIFICA LLAVE
PRIMARIA O KEY?

En una base de datos es importante especificarle qué tipo de valor le estamos


introduciendo a las tablas; de manera que podamos facilitar la búsqueda
posteriormente y optimizar los recursos de memoria. existe un conjunto de tipos
de valores de campo que están representados en la totalidad de estas bases.
Estos tipos comunes son los siguientes:

Alfanuméricos:
Contienen cifras y letras. Presentan una longitud limitada (255 caracteres)

Numéricos:
Existen de varios tipos, principalmente, enteros (sin decimales) y reales (con
decimales).

Boléanos:
Poseen dos formas: Verdadero y falso (Sí o No)

Fechas:
Almacenan fechas facilitando posteriormente su explotación. Almacenar fechas
de esta forma posibilita ordenar los registros por fechas o calcular los días entre
una fecha y otra...

Memos:
Son campos alfanuméricos de longitud ilimitada. Presentan el inconveniente de
no poder ser indexados (veremos más adelante lo que esto quiere decir).

Autoincrementables:
Son campos numéricos enteros que incrementan en una unidad su valor para
cada registro incorporado. Su utilidad resulta más que evidente: Servir de
identificador ya que resultan exclusivos de un registro.

llave primaria o key: se define para indicar en las tablas; la columna o


conjuntos de columnas que son únicos (sus valores no se repiten en la tabla) y
son la clave primaria de la tabla.

6.APLICACIÓN JAVA DEL LABORATORIO # 9

CLASE CLASEPRINCIPAL
//objetivo: llamado de los métodos

import java.io.*;
import javax.swing.*;
import java.lang.String.*;

class ClasPrincipal {

public static void main(String args[]) throws Exception {


CrearTabla tabla=new CrearTabla();
tabla.crea();

Datos base=new Datos();


base.TabDat();

Busqueda cedul=new Busqueda();

Capturaced cap =new Capturaced();


String cedu01= cap.getCed();
cedul.buscaced(cedu01);
}
}

CLASE CREARTABLA

// En esta clase creamos las tablas

import java.sql.*;
public class CrearTabla
{
public void crea ()
{
Connection conn = null;
try
{
String userName = "FIEC-03";
String password = "";

// se indica el servidor, puerto y la base de datos facultad de mysql


String url = "jdbc:mysql://serfiec:3306/facultad";
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
conn = DriverManager.getConnection (url, userName, password);
System.out.println ("Coneccion Database OKKK!!!");

try
{
Statement s = conn.createStatement ();

//Creación de las Tablas


s.executeUpdate("CREATE TABLE Asign (Cod VARCHAR(8), Abrev VARCHAR(7), NomAsig
VARCHAR(50))");
s.executeUpdate("CREATE TABLE Profes(Codi VARCHAR(8),NomProf VARCHAR(35))");
s.executeUpdate("CREATE TABLE Estud (Ced VARCHAR(16),Nota VARCHAR(2),CodAsig
VARCHAR(8),Codprof VARCHAR(8))");
s.close ();
System.out.println ("creacion completada");
}
catch (Exception e)
{
System.err.println ("Problemas con la tabla"+e);
}
}
catch (Exception e)
{
System.err.println ("No se pudo conectar al Servidor Mysql");
}
finally
{
if (conn != null)
{
try
{
conn.close ();
System.out.println ("\no hay coneccion a Mysql");
}
catch (Exception e) { /* sin mensajes de error */ }
}
}
}
}

CLASE DATOS

//Objetivo: introduce los datos a las tablas

import java.io.*;
import javax.swing.*;
import java.lang.String.*;
import java.sql.*;

public class Datos {

public void TabDat (){

String res=" ";


String resul=" ";
String es=" ";

Connection conn = null;

try {
String userName = "FIEC-03";
String password = "";

String url = "jdbc:mysql://serfiec:3306/facultad";

Class.forName ("com.mysql.jdbc.Driver").newInstance ();


conn = DriverManager.getConnection (url, userName, password);
System.out.println ("Coneccion Database OKKK!!!");

FileReader archi = new FileReader("Prueba.txt");


BufferedReader arch = new BufferedReader(archi);

String linea=new String();


String codi=new String();
String nomas=new String();
String codiprofe=new String();
String nombprofe=new String();

Statement s = conn.createStatement ();

while((linea=arch.readLine())!= null){//Lee el archivo línea por línea

if (linea.indexOf("ASIGNATURA")!=-1){//Identifica los datos de las asignaturas


nomas=" ";
codi=" ";
String[] id = linea.split(" ");

for(int j=8;j<id.length;j++)
nomas+=id[j]+" ";
System.out.println(nomas+"\n");
codi=id[4];
System.out.println(codi);

//se insertan datos a la tabla Asignatura


s.executeUpdate("INSERT INTO Asign (Cod,NomAsig)" + "VALUES
('"+codi+"','"+nomas+"')");
}
//Datos de los profesores
if (linea.indexOf("PROFESOR")!=-1){
nombprofe=" ";
codiprofe=" ";
String[] id = linea.split(" ");
for(int j=7;j<id.length;j++)
nombprofe+=id[j]+" ";
System.out.println(nombprofe+"\n");
codiprofe=id[6];
System.out.println(codiprofe);

// Se insertan datos a la tabla Profesor


s.executeUpdate("INSERT INTO Profes (Codi,NomProf)" + "VALUES
('"+codiprofe+"','"+nombprofe+"')");
}

String cedul="[ ]+";


String []datoced=linea.split(cedul);

try{
Integer.parseInt(datoced[1]);
String cedula="";
String cal="";
for (int j=2;j<6;j++)
cedula+=datoced[j]+" ";
cal=datoced[6];

//se insertan datos a la tabla Estudiante


s.executeUpdate("INSERT INTO Estud ( Ced,Nota,CodAsig,Codprof)" + "VALUES
('"+cedula+"','"+cal+"','"+codi+"','"+codiprofe+"')");
}
catch (Exception e)
{ }

} //fin while
s.close ();
System.out.println("Dato correcto");
try
{
arch.close();
}

catch ( IOException e )
{
resul="El archivo no se pudo cerrar correctamente"+e;
}
}
catch (Exception e)
{
System.out.println("***Error al leer o abrir el archivo...\n" +e);
}
} //fin metodo
} // fin de Datos

CLASE CAPTURACED
//objetivo: se introduce la cédula del estudiante para la consulta

import javax.swing.*;

import java.text.*;

import java.lang.String.*;

class Capturaced {

public String getCed(){

String ced0= JOptionPane.showInputDialog(null, "Introduzca la cedula a consultar ");

return (ced0);

CLASE BUSQUEDA

/*Objetivo: muestra los datos del estudiante consultado por la cedula, a*/

import java.io.*;

import javax.swing.*;

import java.lang.String.*;

import java.sql.*;

class Busqueda {

/* Recibe como parámetro la cédula a consultar, el mismo hace el llamado al


método consulced2 que lleva

como parámetro el código de asignatura y profesor */

public void buscaced (String cedula)

{
Connection conn = null;

try {

String userName = "FIEC-03";

String password = "";

// se indica el servidor, puerto y la base de datos facultad de mysql

String url = "jdbc:mysql://serfiec:3306/facultad";

Class.forName ("com.mysql.jdbc.Driver").newInstance ();

conn = DriverManager.getConnection (url, userName, password);

System.out.println ("Coneccion Database OKKK!!!");

try {

//Uso de la tabla Estud de la base de datos facultad

Statement s = conn.createStatement ();

s.executeQuery ("SELECT Ced,Nota,CodAsig,Codprof FROM Estud


WHERE Ced='"+cedula+"'");

ResultSet rs = s.getResultSet ();

int cont= 0;

while (rs.next ())

String codig = rs.getString ("Ced");

String nombre = rs.getString ("Nota");

String nombre2 = rs.getString ("CodAsig");

String nombre3 = rs.getString ("Codprof");


//Llama al método busced

String cod01=busced(nombre2,nombre3);

String[] cod02=cod01.split("tt");

String asig2=cod02[0];

String pro=cod02[1];

System.out.println ("\n Nota = " + nombre

+ "\n Asignatura = " + asig2

+ "\n Profesor= " + pro);

++cont;

rs.close ();

s.close ();

catch (Exception e)

System.err.println ("Problemas al accesar la tabla"+e);

catch (Exception e)

System.err.println ("No puede conectarse al Servidor Mysql");

}
finally

if (conn != null)

try {

conn.close ();

System.out.println ("\n No se pudo conectar al Servidor Mysql");

catch (Exception e) { /* sin mensajes de error */ }

public String busced (String codasi,String codiprofe)

Connection conn = null;

String reg=new String();

String regnom=new String();

String regnompro=new String();

try {

String userName = "FIEC-03";

String password = "";

// se indica el servidor, puerto y la base de datos facultad de mysql

String url = "jdbc:mysql://serfiec:3306/facultad";

Class.forName ("com.mysql.jdbc.Driver").newInstance ();


conn = DriverManager.getConnection (url, userName, password);

try

Statement s = conn.createStatement ();

Statement t = conn.createStatement ();

s.executeQuery ("SELECT NomAsig FROM Asign WHERE


Cod='"+codasi+"'");

t.executeQuery ("SELECT NomProf FROM Profes WHERE


Codi='"+codiprofe+"'");

ResultSet rs = s.getResultSet ();

ResultSet rt = t.getResultSet ();

int count = 0;

while (rs.next ())//se obtiene el nombre de la asignatura

regnom=rs.getString ("NomAsig");

rs.close ();

s.close ();

while (rt.next ())//se obtiene el nombre del profesor

regnompro=rt.getString ("NomProf");

rt.close ();

t.close ();

}
catch (Exception e)

System.err.println ("Problemas con la tabla"+e);

catch (Exception e)

System.err.println ("No se pudo conectar al Servidor Mysql");

finally

if (conn != null)

try {

conn.close ();

} catch (Exception e) { /* sin mensajes de error */ }

reg=regnom + "tt" + regnompro;

return(reg);

7.COMPARACIÓN DE BASE DE DATOS VS ARCHIVOS


BASE DE DATOS ARCHIVOS

• La base de datos contiene de • Los Archivos son estructuras


forma estructurada gran cantidad donde almacenamos datos de una
de datos, que se integran, forma no estructurada, sino que la
ordenan, y clasifican en campos; información se presenta de una
lo que hace mas fácil a la hora de forma abultada o agrupada en una
consultar o buscar información sola estructura; lo que constituye
dentro de ella. una forma ordinaria de almacenar
información en gran escala, que a
• Al buscar algún tipo de archivo la hora de buscar sea menos
utilizando base de datos, preciso.
podemos acceder a la información
de manera directa, solo con • Al buscar un dato en un archivo es
especificar el campo de la tabla necesario, conocer el nombre del
en donde se encuentra dicho Archivo, para recorrerlo utilizando
dato; esto hace posible realizar un ciclo, hasta que encontremos
una búsqueda mas eficiente, dicho dato o archivo; esto hace que
donde podemos acceder a la la el proceso de búsqueda sea mas
información más directamente que compleja y menos eficiente ya que
si hiciéramos la búsqueda tenemos recorrer nuestro archivo
utilizando un Archivo. desde el principio hasta encontrar
el dato deseado.
• En la base de datos la información
se aloja de una forma mas • En un Archivo la información se
estructurada, nos da una forma almacena de una forma masiva, no
mas completa. En la base de tan ordenada ya que toda la
datos la información se aloja de información se guarda como una
una forma mas estructurada, nos sola estructura, lo que nos obliga a
da una forma mas precisa, esto la hora de buscar algún dato, a
con la utilización de tablas, las recorrer el Archivo hasta encontrar
cuales tienen campos en donde lo que deseamos, cosa que hace
almacenamos la información. Esto que el proceso sea mas ordinario,
nos permite realizar una menos estructurado, y menos
búsqueda mas precisa de la preciso.
información.

Vous aimerez peut-être aussi