SlideShare una empresa de Scribd logo
Autor : Profesor: José Molina MSc




                                                                              r
                                                                           sto
Asesor de Proyectos y Sistemas de Información




                                                                         Pa
Email   : rmolinaj@gmail.com




                                                                         lo
                                                                       za
Web     : www.rmolinaj.es.tl




                                                                     on
Google : sites.google.com/site/sulbaranjose29/




                                                                    G
                                                 CIUDAD BOLIVAR 09/10/2012




                                                                     .
                                                                  Lic
Base de Datos
                          con
                      Visual Basic


Prof.: José Molina            CIUDAD BOLIVAR 09/10/2012
SQL




t e Sd oce R
      r
¿Qué es el ODBC?
Open Data Base Conectivity: Conectividad
abierta de bases de datos.
 Si escribimos una aplicación para acceder a
las tablas de una DB de Access, ¿qué ocurrirá
si después queremos que la misma aplicación,
y sin reescribir nada, utilice tablas de SQL
Server u otra DB cualquiera? La respuesta es
sencilla: no funcionará.
Nuestra aplicación, diseñada para un motor
concreto, no sabrá dialogar con el otro.
Evidentemente, si todas las DB funcionaran
igual, no tendríamos este problema.... aunque
eso no es probable que ocurra nunca.
Pero si hubiera un elemento que por un lado sea
siempre igual, y por el otro sea capaz de dialogar con
una DB concreta, solo tendríamos que ir cambiando
este elemento, y nuestra aplicación siempre
funcionaría sin importar lo que hay al otro lado.
A esas piezas intercambiables las llamaremos
orígenes de datos de ODBC
Casi todas las DB actuales tienen un ODBC.
Debido a que este elemento impone ciertas
limitaciones, ya que no todo lo que la DB sabe hacer
es compatible con la aplicación, como velocidad de
proceso, tiempos de espera, máxima longitud de
registro, número máximo de registros, versión de
SQL, etc., está cayendo en desuso a cambio de otras
técnicas de programación, pero aún le quedan
muchos años de buen servicio.
Modelo de datos ADO
ADO (ActiveX Data Objects) es una tecnología orientada a
objetos para componentes ActiveX basada en una API en
C++ llamada OLE DB.
Para los programadores, presenta la inestimable ventaja
de poder prescindir de los detalles de programación de
bajo nivel de OLE DB a la hora de acceder a datos
almacenados en BD relacionales o no relacionales. Los
objetos ADO, por ser componentes ActiveX, pueden
invocarse desde cualquiera de los lenguajes más
populares que trabajen con objetos.
Los objetos ADO son independientes del lenguaje que se
utilice al accederlos (Visual Basic, JavaScript, VBScript,
etc.) y permiten conectarse a cualquier BD compatible con
ODBC a través de un interfaz basado en objetos.
ADO expone al programador tres objetos principales para
acceder a los datos: el objeto Connection, el objeto
Command y el objeto RecordSet.
RecordSet
Un objeto Recordset es una tabla en memoria
que contiene los datos que manejará nuestra
aplicación.
Esta tabla almacena el resultado obtenido por
las consultas realizadas sobre la base de datos
a la que nos encontremos conectados
mediante el objeto Connection.
Un Recordset se encuentra formado por filas
(tuplas o registros) y columnas (atributos o
campos), a las que deberemos hacer
referencia para poder acceder a sus datos.
El objeto Recordset mantiene la posición de
cada registro devuelto por la consulta, lo que
nos permite "recorrer" los resultados de uno en
uno.
Las buenas aplicaciones de base de datos
emplean el objeto Connection para establecer
un vínculo y el objeto Recordset para
manipular los datos devueltos lo que permite
desarrollar aplicaciones de bases de datos que
realicen casi cualquier tarea de tratamiento de
datos
¿Qué diferencia hay entre una tabla de una DB
y un RecordSet?
Tabla
           Atributos
           Campos


                       BOF



                    Puntero



                       EOF
         Tuplas
        Registros
3 Pasos
    Previos a Insertar Datos


Prof.: José Molina   CIUDAD BOLIVAR 09/10/2012
1) Crear una base de datos en un gestor
 ej: Informix, Access, Oracle, ...
Llamarle Mensajeria a la Base de Datos
2) Crear un ODBC en el
             Panel de Control del
               Sistema Operativo



Prof.: José Molina        CIUDAD BOLIVAR 09/10/2012
Paso 1: Tipo de ODBC
Paso 2:
Paso 3:



          odbc_mensajeria
Paso 4:
Paso 5:
PASO 3: Conectar desde Visual Basic

      Agregar un módulo que contenga:
PASO 4: Realizar la Programación Visual Basic
Imports net.tablas1.db.oldb                                         Agregar un objeto que contenga:
Imports system.data
Imports system.data.oldb
PUBLIC CLASS Incluir
Private sub Button1_click(ByVal sender As system.Object, Byval e As system.EventArgs) Handles
 Button1.click
  Dim a= nom_trabj.text
  Dim b= pago_trabj.text
  Dim RS As New Dataset
   if (b=“”) then
     Msgbox(“No debe dejar ningun campo en blanco..”),MsgboxStyle.critical)
   else
       If MessageBox.Show(“seguro de guardar?, MessageBoxbuttons.Yesno) = windows.
         forms.dialogResult.yes then
            Dim Conect as String =“provider=microsoft.jet.oledeb.4.0;data source=C:sistema
              vb30-mensajeriamensajeria.mdb;jet OLEDB:Database Password=p@rto”
                Using conexión As new oledb.Oledbconnection(Conect)
                  conexión.Open()
                  Dim CadenaSQL as String
                  CadenaSQL = “INSERT INTO nom_trab,pago_sld) values (‘”& a &” ‘ ,’ “&b&”’)”
                  Dim cmd As New OledbCommnad(CadenaSQL,conexión)
                  Dim I As Integer = cmd.executeNonQuery
                  Msgbox(“Se agrego con éxito..” + I. to String + “Registro”)
                  conexión.Close()
                  nom_trabj.clear()
                  pago_trabj.clear()
                  nom_trabj.focus()
                End Using
          endif
     endif
End sub
Conectar una Base de Datos
                 en JAVA




Prof.: José Molina     CIUDAD BOLIVAR 09/10/2012
JAVA
Java es un lenguaje de programación introducido por Sun
Microsystem cuyas características lo sitúan, junto a
Microsoft C# (C Sharp).




Ambos lenguajes de programación son orientados a objetos,
en los cuales existe la herencia, que hace mas fácil la
programación de aplicaciones y códigos reutilizables.
INTRODUCCIÓN
Hoy en día muchas de las empresas, organizaciones, o
pequeños negocios necesitan guardar información y tenerla
a disposición cuando se le necesite, y hacer esto de manera
manual suele ser masivamente tedioso y desgastante.



Es por eso que la creación de aplicaciones que puedan
manipular datos en una base de datos, sea convertido en una
forma de agilizar y hacer mucho mas fácil el manejo de
información.
JAVA
Este lenguaje de programación de hizo muy popular debido
a la gran facilidad para construir aplicaciones robustas, sin
la necesidad de ocupar una gran cantidad de espacio en
disco, lo que lo convirtió en el lenguaje ideal para crear
aplicaciones para internet, además de también ser
independiente de la plataforma
Esto gracias a la JVM (Java Virtual Machine, la maquina
virtual de Java), que le da esa capacidad de ser
independiente de la plataforma y funcionaren diferentes
Sistemas Operativos (Windows, Linux, Mac, entre otros).
JAVA
También gracias a la JVM, no hay necesidad que las
aplicaciones Java tengan todo el código maquina necesario
para ejecutarse. Por el contrario una aplicación Java al
compilarse solo genera archivos byte codes Que son
interpretados por la JVM y esta ejecuta la aplicación

Por ejemplo una aplicación grafica en C++ ocupa de DDLs
(todo el código maquina), mas el código fuente con el que
se programo para poder ejecutarse en Windows, lo que
vendría a ocupar alrededor de 5MB
JAVA


Los que por el contrario, una aplicación grafica en Java
viene a ocupar tal ves unos 500 KB, porque todo el código
maquina para ejecutar la aplicación ya esta instalado en la
PC y ya no es necesario que vaya empaquetado junto con la
aplicación
ENTORNO DE DESARROLLO DE
          JAVA
Para poder desarrollar aplicaciones en Java es necesario
tener instalado el JDK (Java Development Kit), Que incluye
un conjunto de programas y librerías que permiten
desarrollar, compilar y ejecutar programas en Java




Existen diferentes versiones de Java para desarrollar
aplicaciones empresariales, aplicaciones como mas
personales y aplicaciones para dispositivos móviles.
ENTORNO DE DESARROLLO DE
          JAVA
ENTORNO DE DESARROLLO DE
          JAVA
El J2SE proporciona la base para desarrollar y distribuir
aplicaciones que podrán ejecutarse en un servidor o en un
ordenador personal con distintos sistemas operativos




Este entorno de desarrollo incluye las librerías AWT,
SWING y SQL que permiten crear aplicaciones graficas con
acceso a bases de datos
ENTORNO DE DESARROLLO DE
          JAVA




El J2SE proporciona la base para desarrollar y distribuir
aplicaciones que podrán ejecutarse en un servidor o en un
ordenador personal con distintos sistemas operativos
SQL (STRUCTURE QUERY
             LANGUAGE)
Es un lenguaje estándar para interactuar con bases de datos
relacionales y es soportado prácticamente por todos los
sistemas administradores de bases de datos actuales
SQL incluye operaciones de definición como CREATE, al
igual que operaciones de manipulación de datos como
INSERT, UPDATE, SELECT y DELETE

Los datos de una base de datos relacional se almacenan en
tablas lógicamente relacionadas entre si utilizando campos
claves comunes, a su ves cada tabla dispone de datos en
filas y columnas
QUE ES UNA TABLA DE BASE DE
              DATOS
Es una colección de datos presentados en forma de matriz
bidimensional, que esta conformada por columnas y filas,
donde las filas reciben el nombre de registros y las
columnas de campos
Los usuarios de un sistema administrador de bases de datos
pueden realizar sobre una determinada base de datos
operaciones tales como:
                       Insertar
                     Recuperar
                      Modificar
                      Eliminar
                        Buscar
FUNDAMENTOS PARA ESTABLECER UNA CONEXIÓN
         CON UNA BASE DE DATOS




 JAVA proporciona una API(ApplicationProgramming
 Interface) llamada JDBC (Java Data Base Connectivity)
 para poder hacer conexiones con bases de datos relacionales
 a través de un controlador especifico para acceder a una
 base de datos especifica (MySQL, SQL, Postgre SQL) y
 poder ejecutar instrucciones SQL desde la aplicación Java
JDBC (JAVA DATABASE CONNECTIVITY)

Esta API proporciona un conjunto de clases que permite
ejecutar instrucciones SQL para manipular y gestionar bases
de datos relacionales




Pero previamente a que un aplicación java pueda hacer
operaciones sobre una base de datos, debe de existir una
conexión entre la aplicación Java y la base de datos a
manipular con esta aplicación
CONTROLADORES
La conexión entre la aplicación Java y la base de datos se
hace a través de un controlador (driver).


La función de este controlador es traducir los mensajes de
bajo nivel del sistema base de datos a mensajes de bajo
nivel de la API JDBC y viceversa


Fabricantes particulares proporcionan controladores
(drivers) específicos para acceder a sus sistemas de bases de
datos
PAQUETE JDBC
El API JDBC se proporciona en el paquete java. Sql
incluido en el JDK (Java Development Kit) J2SE(Java 2
Platform Estándar Edition).

Este paquete contienen las interfaces y clases Java
fundamentales de JDBC, entre ellas cabe destacar:

Driver: permite conectarse a una base de datos. Cada
sistema administrador de bases de datos requiere un
controlador (Driver) especifico

Driver Manager: Permite gestionar todos los controladores
instalados en la maquina virtual de java
PAQUETE JDBC
Connection: representa una conexión con una base de datos
Statement: Permite ejecutar instrucciones SQL
ResultSet: Conjunto de resultados. Contiene las filas
obtenidas al ejecutar una sentencia SELECT
ResultSetMetaData: Permite obtener información sobre un
ResultSet, por ejemplo el numero de columnas, sus
nombres, tipos.
De estas clases, cualquier aplicación Java utilizara casi
siempre estas cuatro:
PAQUETE JDBC
DriverManager utilizada para crear un objeto Connection,
objeto que será utilizado para crear un objeto Statement, que
a su ves será utilizado para crear un objeto ResultSet




DriverManager utilizada para crear un objeto Connection,
objeto que será utilizado para crear un objeto Statement, que
a su ves será utilizado para crear un objeto ResultSet
CONECTAR CON LA FUENTES DE DATOS

La clase Driver Manager contiene el método
getConnection(argumento URL) que devuelve un objeto de
tipo Connectiony es a partir de este método que se crea este
tipo de objeto.
Una ves registrado el controlador JDBC

Class.for Name ("org.sqlite.JDBC");

Se solicita a Driver Manager que proporcione una conexión
con una base de datos, en este caso se hará con SQLite
Objeto Connection =DriverManager.getConnection ( "jdbc:sqlite: rutaMiBD.db")
CONECTAR CON LA FUENTES DE DATOS
Si Driver Manager no encuentra el controlador de acuerdo
al URL especificado, genera una excepción de tipo
SQLException, que se captura con:




try{
 código que puede generar una excepción}
  catch(SQLException e)
 {Mensaje con el error que se capturo en error}
CONECTAR CON LA
             FUENTES DE DATOS
Cada controlador utiliza un URL de acuerdo con el
protocolo JDBC. Por ejemplo:

Para SQLite;
DriverManager.getConnection("jdbc:sqlite:rutaMiBD.db”)

Para
MySQL;DriverManager.getConnection("jdbc:mysql://servi
dor/sMiBD",usuario,password);

Para
SQL;DriverManager.getConnection("jdbc:odbc:nombreorig
en de datos , usuario, contraseña”)
CONECTAR CON LA FUENTES
              DE DATOS
En este caso se le agrega ODBC(Open Data base
Connectivity) al URL, porque se usa el ODBC que viene
por default en S.O. Windows para crear un origen de base
de datos y utilizarlo como puente para acceder a los datos de
la base de datos


Una ves que ya se tiene la conexión guardada en un objeto
de la clase Connection, se utiliza la clase Statement para
crear otro objeto que nos permita ejecutar las instrucciones
SQL, y que a su vez, y como se menciono anteriormente,
este objeto nos servirá para crear un objeto ResultSet, que
nos servirá para recuperar información de la base de datos.
CONECTAR CON LA
             FUENTES DE DATOS
El objeto Statement sigue la siguiente estructura para poder
crearse

Objeto Statement = Objeto Connection.createStatement();


ExecuteUpdate (argumento Instrucción SQL ), este método
nos sirve básicamente para ejecutar sentencias SQL como
INSERT, UPDATE y DELETE, por lo que este método no
tiene ningún tipo de retorno. Por ejemplo:

Objeto Statement.excuteUpdate (“        DELETE      FROM
Alumnos WHERE ID_Alumno= 1”);
RECUPERAR DATOS DE LA BASE
               DE DATOS
Como se menciono anteriormente, para recuperar datos de
una base de datos, enviaremos las sentencia SELECT como
argumento del método excute Query de la clase Statement,
este método nos va a devolver las filas que arroje el
SELECT en capsulados en un objeto ResultSet

Una ves que tenemos cargado el objeto ResultSet con filas,
podemos movernos entre ellas con los siguientes métodos
que proporciona esta clase.
beforFirst(): Mover el cursor antes de la primera fila.
first(): Mover el cursor a la primera fila.
last(): Mover el cursor a la ultima fila.
afterLast(): Mover el cursor después de la ultima fila.
RECUPERAR DATOS DE LA
                BASE DE DATOS


previous(): Mover el cursor a la fila anterior.
next(): Mover el cursor a la fila siguiente
absolute(fila): Mover el cursor a la fila especifica
relative(n): Mover el cursor n filas a partir de la actual (n
puede ser un numero entero positivo o negativo).


Para obtener los datos de la fila donde esta el cursor, la
interfaz ResultSet también proporciona varios métodos,
algunos de ellos y básicamente los mas utilizados son:
RECUPERAR DATOS DE LA
             BASE DE DATOS

getString(String): Recupera el dato de la columna
especificada por String


getString(int): Recupera el dato de la columna indicada por
el índice especificado


Existen algunos métodos análogos a los anteriores que son
utilizados cuando se sabe que el dato dela columna de la fila
actual es entero o real, por ejemplo: getInt, getLong,
getFloat y getDouble
NAVEGAR POR LA BASE DE DATOS
Hemos visto anteriormente que una vez obtenido un
conjunto de resultados, podemos utilizar los métodos
proporcionados por la interfaz ResultSet para movernos por
dicho conjunto
Para ello debemos conocer que un objeto ResultSet, por
omisión y dependiendo del sistema administrador de bases
de datos, no es actualizable y tiene un cursor que solo se
mueve hacia adelante

No obstante, es posible crear objetos ResultSet actualizables
y que permitan moverse hacia atrás o adelante. Para poder
hacer esto, se necesita mandarle 2 argumentos al método
createStatement de la clase Statement, a la hora de crear este
tipo de objeto.
NAVEGAR POR LA BASE DE DATOS
Estos argumentos son constantes enteras definidas en la
interfaz ResultSet, los argumentos son:

TYPE_SCROLL_INSENSITIVE. Crea un conjunto de
resultados en el que el cursor se puede mover en ambas
direcciones (desplazable)
CONCUR_UPDATABLE. Indica que la hoja de resultados
es actualizable

Quedando de la siguiente forma la creación del Statement:

Objeto Statement =
objetoConnection.createStatement(ResulSet.TYPE_SCROL
L_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
CERRAR OBJETOS

Entra dentro de practicas buenas de programación,cerrar los
objetos Statement, ResultSet y Connection una ves que ya
no serán usados, por ejemplo cuando se cierre la aplicación
Java o cuando se termine de usar un ResultSet

Cada una de estas clases contiene un método para hacer
dicho proceso, el método se llama close(), fácil de usar, por
ejemplo:


Nombre Objeto.close();
EN RESUMEN PARA CREAR UNA CONEXIÓN A BASE DE
                DATOS CON JAVA
Registrar el ODBC

Direccionar el controlador con Driver Manager
Registrar la conexión con Connection
Crear un objeto Statement para poder ejecutar
instrucciones SQL
Utilizar Resultset, ResultSet y MetaData para recuperar
información de la base de datos.

Cerrar objetos.
EJEMPLO: DESCRIPCIÓN DE LOS COMPONENTES JAVA
La aplicación que se construyo tiene los siguientes componentes, que se encuentran
en el paquete javax.Swing:
JFrame; ventana principal.
JPanel; contenedor.
JTable; para mostrar los registros.
JButton; accionar las diferentes operaciones.
JToolbar; para acomodar los botones.
DefaultTableModel; para controlar la tabla.
JTextField; para capturar información.
JLabel; mostrar textos.
JOptionPane; para mandar mensajes.
Border; para pintar los bordes en los paneles, con un texto.
JScrollPane; para desplazarse por los registros de la tabla cuando estos sean
demasiados y ya no puedan visualizarse todos.
Interfaces, actionListener y keyListener; para darle la capacidad de escuchar
eventos a los botones y cajas de texto
r
                                               sto
                                             Pa
                                             lo
                                           za
                                         on
Prof.: José Molina




                                        G
                     CIUDAD BOLIVAR 09/10/2012




                                         .
                                      Lic
¿Qué es PHP?
       • HiperText Preprocesor
      • Tecnologia para servidor
              interpretada

           ¿Cómo Nace PHP?
      •   Nace en Otoño de 1994

  ¿Cómo se crea y sobre que base?
   • Basado en C y C++ aunque su
     primera versión fue escrita en
                  Perl

    • Paradigma Imperativo y OO

                                               Rasmus Lerdorf



Prof.: José Molina                    CIUDAD BOLIVAR 09/10/2012
En la actualidad:
              • PHP 1, 1995
           • PHP 2, 1995-1997
         • PHP 3, 1997-2000…
          • PHP 4, Mayo 2000

           • PHP 5, Julio 2004
             VERSION ACTUAL




Prof.: José Molina               CIUDAD BOLIVAR 09/10/2012
Las bases de datos permiten almacenar de una forma
    estructurada y eficiente toda la información de un sitio web
                        mediante formularios

                             Ventajas
                    – Proporcionar información actualizada
     – Software libre bajo licencia GPL ( Codigo Fuentes y Modificable)
         – Facilitar la realización de búsquedas mediante formularios
        – Disminuir los costes de mantenimiento (mantenimiento lado
                                       cliente)
                      – Multiplataforma (Unix, Win32, Mac)
        – Multitud Framewoks nos centramos en Logica de Negocios
         – Soporta más de 20 Sistemas de gestion de bases de datos:
                         – MySQL mejor integracion con PHP
                                       – Oracle
                                      – SyBase
Prof.: José Molina                 – PostgreSQL…
                                                CIUDAD BOLIVAR 09/10/2012
Servidor web                                         Cliente
                                                                       (navegador)

         Página                         Página                            Página
          PHP                           HTML                              HTML
                                                 internet
                      Intérprete
                         PHP




                  <?PHP
         $nombre = “micromante";
      print ("<P>Hola, $nombre</P>");
                    ?>                                      Hola,micromante

                    <P>Hola, micromante</P>




Prof.: José Molina                                CIUDAD BOLIVAR 09/10/2012
FORM      orden SQL
                    PHP
                                           Base
                                            de
                              resultado    datos


                      PASOS DEL PROCESO

                             • Lado Cliente
             • Cliente pide mediante formulario HTML actualizar
                                  contenido
                            • Lado Servidor
         • HTML mediante PHP conecta a la base de datos y hace la
                                     query
          • La BD devuelve variable con contenido y PHP la procesa
                   • PHP rederiza el contenido a mostrar
                             • Lado Cliente
            • Muestra la web renderizada en formato HTML en el
                                  navegador
Prof.: José Molina                          CIUDAD BOLIVAR 09/10/2012
Conectar con el servidor de bases de datos:
                            mysql_connect()
                 Seleccionar una base de datos:
                           mysql_select_db()
          Enviar la instrucción SQL a la base de datos:
                              mysql_query()
                Obtener y procesar los resultados:
                mysql_num_rows() y mysql_fetch_array()
      Cerrar la conexión con el servidor de bases de datos:
                              mysql_close()




Prof.: José Molina                      CIUDAD BOLIVAR 09/10/2012
Mediante $_GET[‘variable’]
 •   Normalmente, GET es usado para obtener un archivo u otro
     recurso, posiblemente con parámetros especificando más
     exactamente lo que se necesita. El contenido de la variable
                      es visible en navegador

                    Mediante $_POST[‘variable’]
     • Normalmente POST es usado para enviar un pedazo de
       datos al servidor para ser procesado, cualquier cosa que
          esto signifique. Gestion de contraseñas y variables
           importantes. De forma oculta en cabecera HTML

Prof.: José Molina                       CIUDAD BOLIVAR 09/10/2012
Seleccionar una base de datos: mysql_connect()
              Devuelve true en caso de éxito y false en caso
                                contrario
                             Sintaxis:
           $ CONEXIÓN = mysql_connect(SERVER,USER,PASS)

                             Ejemplo:
        mysql_connect(“localhost",“carlos", “1234") or die("No
                  se pudo conectar a la base ");




Prof.: José Molina         CIUDAD BOLIVAR 09/10/2012
Seleccionar una base de datos: mysql_select_db()
            Devuelve true en caso de éxito y false en caso
                              contrario
                             Sintaxis:
                     mysql_select_db (database);
                             Ejemplo:
                  mysql_select_db (“usuarios”)
       or die (“No se puede seleccionar la base de datos”);




Prof.: José Molina         CIUDAD BOLIVAR 09/10/2012
Enviar la instrucción SQL a la base de datos: mysql_query()
  • Devuelve un identificador o true (dependiendo de la
    instrucción) si la instrucción se ejecuta correctamente y
                       false en caso contrario

                           Sintaxis:

       $consulta = mysql_query (instrucción, $conexion);

                           Ejemplo:

        $consulta = mysql_query (“select * from noticias”,
                           $conexion)
                  or die (“Fallo en la consulta”);

          $consulta = mysql_query (VARIABLECADENA,
                           $conexion)
                  or die (“Fallo en la consulta”);

Prof.: José Molina       CIUDAD BOLIVAR 09/10/2012
mysql_real_escape_string():
           funcion para el escapado de
           caracteres antes de enviar la
                      query.




Prof.: José Molina   CIUDAD BOLIVAR 09/10/2012
Obtener y procesar los resultados: mysql_num_rows(),
                       mysql_fetch_array()

  •    mysql_query() devuelve las filas de la tabla afectadas
                        por la instrucción
       •   mysql_num_rows() devuelve el número de filas
                           afectadas

 •    mysql_fetch_array(), que obtiene una fila del resultado
         en un array asociativo cada vez que se invoca
                            Sintaxis:
               $nfilas = mysql_num_rows ($consulta);
               $fila = mysql_fetch_array ($consulta);




Prof.: José Molina        CIUDAD BOLIVAR 09/10/2012
Cerrar la conexión con el servidor de bases de datos:
                       mysql_close()
                           Sintaxis:
                 mysql_close ($IDCONEXION);
                           Ejemplo
                     mysql_close ($conexion);


  “MUY IMPORTANTE SIEMPRE DEBEMOS CERRAR LA CONEXIÓN
   PARA EVITAR POSIBLES HACKS A NUESTRA BASE DE DATOS”




Prof.: José Molina                     CIUDAD BOLIVAR 09/10/2012
•   Requisitos
                   •Servidor web Apache (www.apache.org)
                    • con el módulo PHP (www.php.net)
        •   y la base de datos MySQL (www.mysql.com) si se desea
                            crear páginas dinámicas

                       •   Utilidades Recomendadas
            •    XAMPP es una distribución de Apache que incluye
                MySQL, PHP y otras herramientas para el desarrollo de
                     aplicaciones web, como phpMyAdmin.
                       (http://es.wikipedia.org/wiki/XAMPP)

        •       Editores de PHP, como DevPHP (www.sourceforge.net),
                            • Manuales de PHP y MySQL




Prof.: José Molina                   CIUDAD BOLIVAR 09/10/2012
BASE DE DATOS
             DISTRIBUIDAS
                     ORACLE




                                                       r
                                                    sto
                                                  Pa
                                                  lo
                                                za
                                              on
Prof.: José Molina




                                             G
                          CIUDAD BOLIVAR 09/10/2012




                                              .
                                           Lic
Se trata de una base de datos a nivel lógico, pero que
en realidad (físicamente) está implementada en varias
ubicaciones físicas, incluso en máquinas diferentes y
distantes.

Cada máquina ejecuta su propia instancia y conjuntos
de archivos y todas se conectan en red para hacer
que el usuario no tenga que cambiar su código para
reflejar esta distribución.

La dificultad de esta estructura suele estar aliviada
por medio de instantáneas que graban
momentáneamente os datos de las tablas distantes.

Permiten trabajar con los datos copiados y se
programan para que cada cierto tiempo recojan
nuevamente los datos a fin de reflejar sus cambios.

Posee arquitectura
   cliente/servidor.
Utiliza el software de redOracl
e Net8 para comunicación
entre bases de datos. Net8
permite a las bases de datos
comunicarse a través de redes
para  soportar transacciones
distribuidas y remotas.

Empaqueta sentencias SQL en
uno de los muchos protocolos
de comunicación para
facilitar al cliente la
comunicación con el servidor
y después empaqueta y
devuelve los resultados de
forma similar al cliente
DATABASE LINKS
Concepto central en las BD distribuidas en
ORACLE.

Un DB Link define un camino unidireccional
desde una BD ORACLE a otra.

Un usuario local puede acceder a través de
un link a objetos de esquemas de otros
usuarios en BD
remotas (siempre que tenga permiso suficient
e para hacerlo) como si se tratara de una
única BD.

Se almacenan en el catálogo:
   SELECT db_link FROM user_db_links;
CREACIÓN Y BORRADO DB
                LINK
Creación:
  Crea un link público de nombre nombreLink que establece

   un enlace a una BD remota cuya ubicación está descrita
   en el nombre de servicio a través un usuario y contraseña
   de dicha BD.

        CREATE PUBLIC DATABASE LINK nombreLink
       CONNECT TO usuario IDENTIFIED BY contraseña
              USING 'nombre de servicio';

Borrado:

           DROP [PUBLIC] DATABASE LINK nombreLink
NOMBRE DE SERVICIO
Cada BD es identificada unívocamente en una         BD
distribuida por un nombre global de BD. Este consta del
nombre de la BD junto con el nombre del host en la red
en la que esta BD está ubicada.

Este nombre se hace transparente al usuario mediante el
uso de nombres de servicio (service names) en la
definición de los enlaces (links).

Los nombres de servicio se definen en el archivo
tnsnames.ora                de Oracle, cuya ubicación
depende del ordenador:
 
   c:oracleora92networkadmintnsnames.ora
EJEMPLO

NombreServiceName =
  (DESCRIPTION =
     (ADDRESS_LIST =
       (ADDRESS = (PROTOCOL = TCP)(HOST=
         NombreOrdenadorEnRed)(PORT = 1521))
   )
   (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = NombreBD)
    )
)
TIPOS DE DBLINKS
                              USUARIOS
ENLACES

 PRIVADOS: Sólo lo              FIXED: Hay que
  puede usar el que los           indicar en la
  crea.                           definición usuario y
(CREATE                           contraseña.
  DATABASELINK ....)
                              
                                  CONNECTED USER(SIN

    PÚBLICOS: Lo pueden           CONNECT): Válido
    usar todos los usuarios       para el usuario
    de la BD.                     conectado. Debe
                                  tener en la BD remota
                                  una cuenta con el
(CREATEPUBLICDATABA               mismo nombre de
  SELINK ....)                    usuario y misma
                                  contraseña.
LINKS

El nombre de un objeto en una BD es unívoco
dentro del esquema de su propietario. Sin
embargo, en una BD remota puede existir un
esquema      con      el     mismo      nombre,
que puede tener un objeto con el mismo nombre.

   Acceso a través de un link a un objeto remoto de un
    determinado propietario en una BD remota:
           propietario.nombreObjeto@nombreLink
    O bien
                nombreObjeto@nombreLink


    Si el usuario que accede al objeto es el propietario del
    mismo.
CONSULTA A BDD
              REMOTAS
Para realizar consultas en una BD distribuida
podemos utilizar objetos situados en una BD remota. Se
utiliza para ello los links previamente creados.

   SELECT nombre
   FROM dbb.autor@link
   WHERE nacionalidad = "Francia“

    SELECT nombre

    FROM dbb.autor@link, libro

    WHERE dbb.autor.idautor@link = libro.idautor
   AND nacionalidad = "Francia“

También es posible realizar operaciones de
actualización (insert, update, delete) en la BD
remota, siempre que tengamos el permiso         necesario
para realizarlas.
SINONIMOS
Las referencias a las tablas de la BD remota en las anteriores
consultas no son transparentes al usuario : necesita conocer el
nombre del link y el propietario dela tabla. Para hacerlas
totalmente transparentes se pueden definir sinónimos.

CREACIÓN:

     CREATE [PUBLIC] SYNONYM nombreSinomimo
    FOR nombreObjeto;

Permite referirse a un nombre global de un objeto a través del
  sinónimo.

Esconde el acceso remoto a la tabla haciendo transparente su
  acceso. El parámetro

PUBLIC hace disponible el sinónimo para todos los usuarios.
EJEMPLO DE
      CREAR/BORRAR SINÓNIMO
 CREATE SYNONYM autores
 FOR dbb.autor@link

Autores actúa como sinónimo de dbb.autor@link .
Ahora podemos definir consultas totalmente
transparentes al usuario:
  SELECT nombre
  FROM autores
  WHERE nacionalidad = "Francia"

 DROP[PUBLIC] SYNONYM autores;
WIKI:
         •APACHE: http://wiki.apache.org/general/
           •PHP: http://es.wikipedia.org/wiki/PHP
        •MYSQL: http://es.wikipedia.org/wiki/MySQL

                LIBROS y REFERENCIA:
   •DREAMWEAVER 8 Y PHP | Ed.ANAYA (David Powers)
    •PHP Y MYSQL | Ed.RA-MA (Jacobo Pavon Puertas)
 •FLASH CS3 DINAMICO, AS3, PHP, XML Y BD | Ed.ANAYA
        •PHP, XML Y BASES DE DATOS | Ed.ANAYA
                      Referencia
 http://es.scribd.com/lvillacorta_1/d/48466088BASE-DE-DATO




Prof.: José Molina    CIUDAD BOLIVAR 09/10/2012
Conexion a bases de datos

Más contenido relacionado

La actualidad más candente

INDICES EN SQL SERVER
INDICES EN SQL SERVERINDICES EN SQL SERVER
INDICES EN SQL SERVERDarwin Durand
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentes
Victor Escamilla
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
Universidad Técnica del Norte
 
2. Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...
2.	Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...2.	Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...
2. Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...wilber147
 
CUALES SON LAS FUNCIONES QUE REALIZA UN DBA
CUALES SON LAS FUNCIONES QUE REALIZA UN DBACUALES SON LAS FUNCIONES QUE REALIZA UN DBA
CUALES SON LAS FUNCIONES QUE REALIZA UN DBA
Jeremi Sixto Perales
 
Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1Javier Rubiano Quiroga
 
Cuestionario uml y objetos zuli
Cuestionario uml y objetos zuliCuestionario uml y objetos zuli
Cuestionario uml y objetos zuliyuliethces
 
Arquitecturas de Bases de Datos Distribuidas
Arquitecturas de Bases de Datos DistribuidasArquitecturas de Bases de Datos Distribuidas
Arquitecturas de Bases de Datos Distribuidas
Antonio Soria
 
Guia de ejercicio sql
Guia de ejercicio sqlGuia de ejercicio sql
Guia de ejercicio sql
Ashley Stronghold Witwicky
 
Modelo OSI
Modelo OSIModelo OSI
Modelo OSIComdat4
 
Arreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansArreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeans
Daniel Gómez
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
ana leydi linares serrano
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetosstill01
 
Implementacion de bases de datos en mysql
Implementacion de bases de datos en mysqlImplementacion de bases de datos en mysql
Implementacion de bases de datos en mysql
Pipe Muñoz
 
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
José Antonio Sandoval Acosta
 
Ado net
Ado netAdo net
Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionTaller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccion
José Antonio Sandoval Acosta
 
Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)claudiachiri
 
Introduccion a Visual Studio
Introduccion a Visual StudioIntroduccion a Visual Studio
Introduccion a Visual Studio
Miguel Ángel Cantero Víllora
 

La actualidad más candente (20)

INDICES EN SQL SERVER
INDICES EN SQL SERVERINDICES EN SQL SERVER
INDICES EN SQL SERVER
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentes
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
2. Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...
2.	Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...2.	Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...
2. Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...
 
Subneteo
SubneteoSubneteo
Subneteo
 
CUALES SON LAS FUNCIONES QUE REALIZA UN DBA
CUALES SON LAS FUNCIONES QUE REALIZA UN DBACUALES SON LAS FUNCIONES QUE REALIZA UN DBA
CUALES SON LAS FUNCIONES QUE REALIZA UN DBA
 
Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1
 
Cuestionario uml y objetos zuli
Cuestionario uml y objetos zuliCuestionario uml y objetos zuli
Cuestionario uml y objetos zuli
 
Arquitecturas de Bases de Datos Distribuidas
Arquitecturas de Bases de Datos DistribuidasArquitecturas de Bases de Datos Distribuidas
Arquitecturas de Bases de Datos Distribuidas
 
Guia de ejercicio sql
Guia de ejercicio sqlGuia de ejercicio sql
Guia de ejercicio sql
 
Modelo OSI
Modelo OSIModelo OSI
Modelo OSI
 
Arreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansArreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeans
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetos
 
Implementacion de bases de datos en mysql
Implementacion de bases de datos en mysqlImplementacion de bases de datos en mysql
Implementacion de bases de datos en mysql
 
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
 
Ado net
Ado netAdo net
Ado net
 
Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionTaller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccion
 
Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)
 
Introduccion a Visual Studio
Introduccion a Visual StudioIntroduccion a Visual Studio
Introduccion a Visual Studio
 

Similar a Conexion a bases de datos

U7 postgre sql
U7 postgre sqlU7 postgre sql
U7 postgre sql
Jr. Serrano
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)josecuartas
 
Programa yaaaa
Programa yaaaaPrograma yaaaa
Programa yaaaa
Ramón Fernandez
 
Designer oracle
Designer oracleDesigner oracle
Designer oracle
Leidy Galindo
 
Sistema.inventario@hotmail.com
Sistema.inventario@hotmail.comSistema.inventario@hotmail.com
Sistema.inventario@hotmail.com
simeon
 
tecnología de conectividad de datos
tecnología de conectividad de datostecnología de conectividad de datos
tecnología de conectividad de datos
Pastor David Reyes Alfonso
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
José Antonio Sandoval Acosta
 
Taller No. 1 Introducción a Bases de Datos
Taller No. 1 Introducción a Bases de DatosTaller No. 1 Introducción a Bases de Datos
Taller No. 1 Introducción a Bases de Datos
Arley Geovanny Ruiz Gordillo
 
Taller No. 1 Introducción a Bases de Datos
Taller No. 1 Introducción a Bases de DatosTaller No. 1 Introducción a Bases de Datos
Taller No. 1 Introducción a Bases de Datos
Arley Geovanny Ruiz Gordillo
 
Conexión a SQL Server con C#.NET a través de ODBC
Conexión a SQL Server con C#.NET a través de ODBCConexión a SQL Server con C#.NET a través de ODBC
Conexión a SQL Server con C#.NET a través de ODBC
Orlando Alemán
 
Act4 bd moreno_joel
Act4 bd moreno_joelAct4 bd moreno_joel
Act4 bd moreno_joel
joel28
 
Java con base de datos
Java con base  de datosJava con base  de datos
Java con base de datos
jhersi saavedra garcia
 
curso_mysql.pdf
curso_mysql.pdfcurso_mysql.pdf
curso_mysql.pdf
BenedictoRamirezSant
 
Bases dedatossql serveryc
Bases dedatossql serverycBases dedatossql serveryc
Bases dedatossql serverycveron3144
 
bases de-datos_sql_server_con_c_
bases de-datos_sql_server_con_c_bases de-datos_sql_server_con_c_
bases de-datos_sql_server_con_c_
asesino123456789
 
Java con Base de Datos
Java con Base de DatosJava con Base de Datos
Java con Base de Datos
Thalia Regalado Juape
 

Similar a Conexion a bases de datos (20)

U7 postgre sql
U7 postgre sqlU7 postgre sql
U7 postgre sql
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
 
Programa yaaaa
Programa yaaaaPrograma yaaaa
Programa yaaaa
 
Qué es el odbc
Qué es el odbcQué es el odbc
Qué es el odbc
 
Designer oracle
Designer oracleDesigner oracle
Designer oracle
 
DAM-S5.pptx
DAM-S5.pptxDAM-S5.pptx
DAM-S5.pptx
 
Sistema.inventario@hotmail.com
Sistema.inventario@hotmail.comSistema.inventario@hotmail.com
Sistema.inventario@hotmail.com
 
tecnología de conectividad de datos
tecnología de conectividad de datostecnología de conectividad de datos
tecnología de conectividad de datos
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
Sercicios web
Sercicios webSercicios web
Sercicios web
 
Taller No. 1 Introducción a Bases de Datos
Taller No. 1 Introducción a Bases de DatosTaller No. 1 Introducción a Bases de Datos
Taller No. 1 Introducción a Bases de Datos
 
Taller No. 1 Introducción a Bases de Datos
Taller No. 1 Introducción a Bases de DatosTaller No. 1 Introducción a Bases de Datos
Taller No. 1 Introducción a Bases de Datos
 
Conexión a SQL Server con C#.NET a través de ODBC
Conexión a SQL Server con C#.NET a través de ODBCConexión a SQL Server con C#.NET a través de ODBC
Conexión a SQL Server con C#.NET a través de ODBC
 
Act4 bd moreno_joel
Act4 bd moreno_joelAct4 bd moreno_joel
Act4 bd moreno_joel
 
Java con base de datos
Java con base  de datosJava con base  de datos
Java con base de datos
 
curso_mysql.pdf
curso_mysql.pdfcurso_mysql.pdf
curso_mysql.pdf
 
Bases dedatossql serveryc
Bases dedatossql serverycBases dedatossql serveryc
Bases dedatossql serveryc
 
bases de-datos_sql_server_con_c_
bases de-datos_sql_server_con_c_bases de-datos_sql_server_con_c_
bases de-datos_sql_server_con_c_
 
Phpy odbc
Phpy odbcPhpy odbc
Phpy odbc
 
Java con Base de Datos
Java con Base de DatosJava con Base de Datos
Java con Base de Datos
 

Más de Universidad Nororiental Gran Mariscal de Ayacucho

Roraima acoep (enero 2016)
Roraima acoep (enero 2016)Roraima acoep (enero 2016)
Roraima acoep (enero 2016)
Roraima acoep (enero 2016)Roraima acoep (enero 2016)
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
Universidad Nororiental Gran Mariscal de Ayacucho
 
Material de exposición de MSF
Material de exposición de MSFMaterial de exposición de MSF
Presentación Socio Política Ley Orgánica de Educación
Presentación Socio Política Ley Orgánica de EducaciónPresentación Socio Política Ley Orgánica de Educación
Presentación Socio Política Ley Orgánica de Educación
Universidad Nororiental Gran Mariscal de Ayacucho
 
Foro misiones sociales
Foro misiones socialesForo misiones sociales
La educacion que venezuela necesita
La educacion que venezuela necesitaLa educacion que venezuela necesita
La educacion que venezuela necesita
Universidad Nororiental Gran Mariscal de Ayacucho
 
Metodologia kendall y Kendall
Metodologia kendall y KendallMetodologia kendall y Kendall
Seguridad en sistemas computacionales
Seguridad en sistemas computacionalesSeguridad en sistemas computacionales
Seguridad en sistemas computacionales
Universidad Nororiental Gran Mariscal de Ayacucho
 
Fundamentos de sistemas operativos final
Fundamentos de sistemas operativos finalFundamentos de sistemas operativos final
Fundamentos de sistemas operativos final
Universidad Nororiental Gran Mariscal de Ayacucho
 
Exposicion documentacion de sistemas
Exposicion documentacion de sistemasExposicion documentacion de sistemas
Exposicion documentacion de sistemas
Universidad Nororiental Gran Mariscal de Ayacucho
 
Implantacion de sistemas
Implantacion de sistemasImplantacion de sistemas
Auditoria
AuditoriaAuditoria
Kendal y Kendal
Kendal y KendalKendal y Kendal
Diapositivas xp
Diapositivas xpDiapositivas xp
Programación Xp Nocturno
Programación Xp NocturnoProgramación Xp Nocturno
Metodologia ROM
Metodologia ROMMetodologia ROM
Metodologia omt
Metodologia omtMetodologia omt

Más de Universidad Nororiental Gran Mariscal de Ayacucho (20)

Roraima acoep (enero 2016)
Roraima acoep (enero 2016)Roraima acoep (enero 2016)
Roraima acoep (enero 2016)
 
Roraima acoep (enero 2016)
Roraima acoep (enero 2016)Roraima acoep (enero 2016)
Roraima acoep (enero 2016)
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Material de exposición de MSF
Material de exposición de MSFMaterial de exposición de MSF
Material de exposición de MSF
 
Presentación Socio Política Ley Orgánica de Educación
Presentación Socio Política Ley Orgánica de EducaciónPresentación Socio Política Ley Orgánica de Educación
Presentación Socio Política Ley Orgánica de Educación
 
Foro misiones sociales
Foro misiones socialesForo misiones sociales
Foro misiones sociales
 
La educacion que venezuela necesita
La educacion que venezuela necesitaLa educacion que venezuela necesita
La educacion que venezuela necesita
 
Metodologia kendall y Kendall
Metodologia kendall y KendallMetodologia kendall y Kendall
Metodologia kendall y Kendall
 
Seguridad en sistemas computacionales
Seguridad en sistemas computacionalesSeguridad en sistemas computacionales
Seguridad en sistemas computacionales
 
Fundamentos de sistemas operativos final
Fundamentos de sistemas operativos finalFundamentos de sistemas operativos final
Fundamentos de sistemas operativos final
 
Exposicion documentacion de sistemas
Exposicion documentacion de sistemasExposicion documentacion de sistemas
Exposicion documentacion de sistemas
 
Implantacion de sistemas
Implantacion de sistemasImplantacion de sistemas
Implantacion de sistemas
 
Auditoria
AuditoriaAuditoria
Auditoria
 
Kendal y Kendal
Kendal y KendalKendal y Kendal
Kendal y Kendal
 
Xp
XpXp
Xp
 
Diapositivas xp
Diapositivas xpDiapositivas xp
Diapositivas xp
 
Programación Xp Nocturno
Programación Xp NocturnoProgramación Xp Nocturno
Programación Xp Nocturno
 
Metodologia ROM
Metodologia ROMMetodologia ROM
Metodologia ROM
 
Metodologia omt
Metodologia omtMetodologia omt
Metodologia omt
 
Rup
RupRup
Rup
 

Último

Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
YasneidyGonzalez
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
Alejandrino Halire Ccahuana
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
LilianaRivera778668
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Txema Gs
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
MaribelGaitanRamosRa
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Demetrio Ccesa Rayme
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
JAVIER SOLIS NOYOLA
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
Martín Ramírez
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
SandraBenitez52
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Monseespinoza6
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
JAVIER SOLIS NOYOLA
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
arleyo2006
 
El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
Alejandrino Halire Ccahuana
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
jmorales40
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
DivinoNioJess885
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
Demetrio Ccesa Rayme
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
LorenaCovarrubias12
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
TatianaVanessaAltami
 
Presentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos DigitalesPresentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos Digitales
nievesjiesc03
 

Último (20)

Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
 
El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
 
Presentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos DigitalesPresentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos Digitales
 

Conexion a bases de datos

  • 1. Autor : Profesor: José Molina MSc r sto Asesor de Proyectos y Sistemas de Información Pa Email : rmolinaj@gmail.com lo za Web : www.rmolinaj.es.tl on Google : sites.google.com/site/sulbaranjose29/ G CIUDAD BOLIVAR 09/10/2012 . Lic
  • 2. Base de Datos con Visual Basic Prof.: José Molina CIUDAD BOLIVAR 09/10/2012
  • 3. SQL t e Sd oce R r
  • 4. ¿Qué es el ODBC? Open Data Base Conectivity: Conectividad abierta de bases de datos. Si escribimos una aplicación para acceder a las tablas de una DB de Access, ¿qué ocurrirá si después queremos que la misma aplicación, y sin reescribir nada, utilice tablas de SQL Server u otra DB cualquiera? La respuesta es sencilla: no funcionará. Nuestra aplicación, diseñada para un motor concreto, no sabrá dialogar con el otro. Evidentemente, si todas las DB funcionaran igual, no tendríamos este problema.... aunque eso no es probable que ocurra nunca.
  • 5. Pero si hubiera un elemento que por un lado sea siempre igual, y por el otro sea capaz de dialogar con una DB concreta, solo tendríamos que ir cambiando este elemento, y nuestra aplicación siempre funcionaría sin importar lo que hay al otro lado. A esas piezas intercambiables las llamaremos orígenes de datos de ODBC Casi todas las DB actuales tienen un ODBC. Debido a que este elemento impone ciertas limitaciones, ya que no todo lo que la DB sabe hacer es compatible con la aplicación, como velocidad de proceso, tiempos de espera, máxima longitud de registro, número máximo de registros, versión de SQL, etc., está cayendo en desuso a cambio de otras técnicas de programación, pero aún le quedan muchos años de buen servicio.
  • 6.
  • 7. Modelo de datos ADO ADO (ActiveX Data Objects) es una tecnología orientada a objetos para componentes ActiveX basada en una API en C++ llamada OLE DB. Para los programadores, presenta la inestimable ventaja de poder prescindir de los detalles de programación de bajo nivel de OLE DB a la hora de acceder a datos almacenados en BD relacionales o no relacionales. Los objetos ADO, por ser componentes ActiveX, pueden invocarse desde cualquiera de los lenguajes más populares que trabajen con objetos. Los objetos ADO son independientes del lenguaje que se utilice al accederlos (Visual Basic, JavaScript, VBScript, etc.) y permiten conectarse a cualquier BD compatible con ODBC a través de un interfaz basado en objetos. ADO expone al programador tres objetos principales para acceder a los datos: el objeto Connection, el objeto Command y el objeto RecordSet.
  • 8. RecordSet Un objeto Recordset es una tabla en memoria que contiene los datos que manejará nuestra aplicación. Esta tabla almacena el resultado obtenido por las consultas realizadas sobre la base de datos a la que nos encontremos conectados mediante el objeto Connection. Un Recordset se encuentra formado por filas (tuplas o registros) y columnas (atributos o campos), a las que deberemos hacer referencia para poder acceder a sus datos.
  • 9. El objeto Recordset mantiene la posición de cada registro devuelto por la consulta, lo que nos permite "recorrer" los resultados de uno en uno. Las buenas aplicaciones de base de datos emplean el objeto Connection para establecer un vínculo y el objeto Recordset para manipular los datos devueltos lo que permite desarrollar aplicaciones de bases de datos que realicen casi cualquier tarea de tratamiento de datos ¿Qué diferencia hay entre una tabla de una DB y un RecordSet?
  • 10. Tabla Atributos Campos BOF Puntero EOF Tuplas Registros
  • 11. 3 Pasos Previos a Insertar Datos Prof.: José Molina CIUDAD BOLIVAR 09/10/2012
  • 12. 1) Crear una base de datos en un gestor ej: Informix, Access, Oracle, ... Llamarle Mensajeria a la Base de Datos
  • 13. 2) Crear un ODBC en el Panel de Control del Sistema Operativo Prof.: José Molina CIUDAD BOLIVAR 09/10/2012
  • 14. Paso 1: Tipo de ODBC
  • 16. Paso 3: odbc_mensajeria
  • 19. PASO 3: Conectar desde Visual Basic Agregar un módulo que contenga:
  • 20. PASO 4: Realizar la Programación Visual Basic Imports net.tablas1.db.oldb Agregar un objeto que contenga: Imports system.data Imports system.data.oldb PUBLIC CLASS Incluir Private sub Button1_click(ByVal sender As system.Object, Byval e As system.EventArgs) Handles Button1.click Dim a= nom_trabj.text Dim b= pago_trabj.text Dim RS As New Dataset if (b=“”) then Msgbox(“No debe dejar ningun campo en blanco..”),MsgboxStyle.critical) else If MessageBox.Show(“seguro de guardar?, MessageBoxbuttons.Yesno) = windows. forms.dialogResult.yes then Dim Conect as String =“provider=microsoft.jet.oledeb.4.0;data source=C:sistema vb30-mensajeriamensajeria.mdb;jet OLEDB:Database Password=p@rto” Using conexión As new oledb.Oledbconnection(Conect) conexión.Open() Dim CadenaSQL as String CadenaSQL = “INSERT INTO nom_trab,pago_sld) values (‘”& a &” ‘ ,’ “&b&”’)” Dim cmd As New OledbCommnad(CadenaSQL,conexión) Dim I As Integer = cmd.executeNonQuery Msgbox(“Se agrego con éxito..” + I. to String + “Registro”) conexión.Close() nom_trabj.clear() pago_trabj.clear() nom_trabj.focus() End Using endif endif End sub
  • 21. Conectar una Base de Datos en JAVA Prof.: José Molina CIUDAD BOLIVAR 09/10/2012
  • 22. JAVA Java es un lenguaje de programación introducido por Sun Microsystem cuyas características lo sitúan, junto a Microsoft C# (C Sharp). Ambos lenguajes de programación son orientados a objetos, en los cuales existe la herencia, que hace mas fácil la programación de aplicaciones y códigos reutilizables.
  • 23. INTRODUCCIÓN Hoy en día muchas de las empresas, organizaciones, o pequeños negocios necesitan guardar información y tenerla a disposición cuando se le necesite, y hacer esto de manera manual suele ser masivamente tedioso y desgastante. Es por eso que la creación de aplicaciones que puedan manipular datos en una base de datos, sea convertido en una forma de agilizar y hacer mucho mas fácil el manejo de información.
  • 24. JAVA Este lenguaje de programación de hizo muy popular debido a la gran facilidad para construir aplicaciones robustas, sin la necesidad de ocupar una gran cantidad de espacio en disco, lo que lo convirtió en el lenguaje ideal para crear aplicaciones para internet, además de también ser independiente de la plataforma Esto gracias a la JVM (Java Virtual Machine, la maquina virtual de Java), que le da esa capacidad de ser independiente de la plataforma y funcionaren diferentes Sistemas Operativos (Windows, Linux, Mac, entre otros).
  • 25. JAVA También gracias a la JVM, no hay necesidad que las aplicaciones Java tengan todo el código maquina necesario para ejecutarse. Por el contrario una aplicación Java al compilarse solo genera archivos byte codes Que son interpretados por la JVM y esta ejecuta la aplicación Por ejemplo una aplicación grafica en C++ ocupa de DDLs (todo el código maquina), mas el código fuente con el que se programo para poder ejecutarse en Windows, lo que vendría a ocupar alrededor de 5MB
  • 26. JAVA Los que por el contrario, una aplicación grafica en Java viene a ocupar tal ves unos 500 KB, porque todo el código maquina para ejecutar la aplicación ya esta instalado en la PC y ya no es necesario que vaya empaquetado junto con la aplicación
  • 27. ENTORNO DE DESARROLLO DE JAVA Para poder desarrollar aplicaciones en Java es necesario tener instalado el JDK (Java Development Kit), Que incluye un conjunto de programas y librerías que permiten desarrollar, compilar y ejecutar programas en Java Existen diferentes versiones de Java para desarrollar aplicaciones empresariales, aplicaciones como mas personales y aplicaciones para dispositivos móviles.
  • 29. ENTORNO DE DESARROLLO DE JAVA El J2SE proporciona la base para desarrollar y distribuir aplicaciones que podrán ejecutarse en un servidor o en un ordenador personal con distintos sistemas operativos Este entorno de desarrollo incluye las librerías AWT, SWING y SQL que permiten crear aplicaciones graficas con acceso a bases de datos
  • 30. ENTORNO DE DESARROLLO DE JAVA El J2SE proporciona la base para desarrollar y distribuir aplicaciones que podrán ejecutarse en un servidor o en un ordenador personal con distintos sistemas operativos
  • 31. SQL (STRUCTURE QUERY LANGUAGE) Es un lenguaje estándar para interactuar con bases de datos relacionales y es soportado prácticamente por todos los sistemas administradores de bases de datos actuales SQL incluye operaciones de definición como CREATE, al igual que operaciones de manipulación de datos como INSERT, UPDATE, SELECT y DELETE Los datos de una base de datos relacional se almacenan en tablas lógicamente relacionadas entre si utilizando campos claves comunes, a su ves cada tabla dispone de datos en filas y columnas
  • 32. QUE ES UNA TABLA DE BASE DE DATOS Es una colección de datos presentados en forma de matriz bidimensional, que esta conformada por columnas y filas, donde las filas reciben el nombre de registros y las columnas de campos Los usuarios de un sistema administrador de bases de datos pueden realizar sobre una determinada base de datos operaciones tales como: Insertar Recuperar Modificar Eliminar Buscar
  • 33. FUNDAMENTOS PARA ESTABLECER UNA CONEXIÓN CON UNA BASE DE DATOS JAVA proporciona una API(ApplicationProgramming Interface) llamada JDBC (Java Data Base Connectivity) para poder hacer conexiones con bases de datos relacionales a través de un controlador especifico para acceder a una base de datos especifica (MySQL, SQL, Postgre SQL) y poder ejecutar instrucciones SQL desde la aplicación Java
  • 34. JDBC (JAVA DATABASE CONNECTIVITY) Esta API proporciona un conjunto de clases que permite ejecutar instrucciones SQL para manipular y gestionar bases de datos relacionales Pero previamente a que un aplicación java pueda hacer operaciones sobre una base de datos, debe de existir una conexión entre la aplicación Java y la base de datos a manipular con esta aplicación
  • 35. CONTROLADORES La conexión entre la aplicación Java y la base de datos se hace a través de un controlador (driver). La función de este controlador es traducir los mensajes de bajo nivel del sistema base de datos a mensajes de bajo nivel de la API JDBC y viceversa Fabricantes particulares proporcionan controladores (drivers) específicos para acceder a sus sistemas de bases de datos
  • 36. PAQUETE JDBC El API JDBC se proporciona en el paquete java. Sql incluido en el JDK (Java Development Kit) J2SE(Java 2 Platform Estándar Edition). Este paquete contienen las interfaces y clases Java fundamentales de JDBC, entre ellas cabe destacar: Driver: permite conectarse a una base de datos. Cada sistema administrador de bases de datos requiere un controlador (Driver) especifico Driver Manager: Permite gestionar todos los controladores instalados en la maquina virtual de java
  • 37. PAQUETE JDBC Connection: representa una conexión con una base de datos Statement: Permite ejecutar instrucciones SQL ResultSet: Conjunto de resultados. Contiene las filas obtenidas al ejecutar una sentencia SELECT ResultSetMetaData: Permite obtener información sobre un ResultSet, por ejemplo el numero de columnas, sus nombres, tipos. De estas clases, cualquier aplicación Java utilizara casi siempre estas cuatro:
  • 38. PAQUETE JDBC DriverManager utilizada para crear un objeto Connection, objeto que será utilizado para crear un objeto Statement, que a su ves será utilizado para crear un objeto ResultSet DriverManager utilizada para crear un objeto Connection, objeto que será utilizado para crear un objeto Statement, que a su ves será utilizado para crear un objeto ResultSet
  • 39. CONECTAR CON LA FUENTES DE DATOS La clase Driver Manager contiene el método getConnection(argumento URL) que devuelve un objeto de tipo Connectiony es a partir de este método que se crea este tipo de objeto. Una ves registrado el controlador JDBC Class.for Name ("org.sqlite.JDBC"); Se solicita a Driver Manager que proporcione una conexión con una base de datos, en este caso se hará con SQLite Objeto Connection =DriverManager.getConnection ( "jdbc:sqlite: rutaMiBD.db")
  • 40. CONECTAR CON LA FUENTES DE DATOS Si Driver Manager no encuentra el controlador de acuerdo al URL especificado, genera una excepción de tipo SQLException, que se captura con: try{ código que puede generar una excepción} catch(SQLException e) {Mensaje con el error que se capturo en error}
  • 41. CONECTAR CON LA FUENTES DE DATOS Cada controlador utiliza un URL de acuerdo con el protocolo JDBC. Por ejemplo: Para SQLite; DriverManager.getConnection("jdbc:sqlite:rutaMiBD.db”) Para MySQL;DriverManager.getConnection("jdbc:mysql://servi dor/sMiBD",usuario,password); Para SQL;DriverManager.getConnection("jdbc:odbc:nombreorig en de datos , usuario, contraseña”)
  • 42. CONECTAR CON LA FUENTES DE DATOS En este caso se le agrega ODBC(Open Data base Connectivity) al URL, porque se usa el ODBC que viene por default en S.O. Windows para crear un origen de base de datos y utilizarlo como puente para acceder a los datos de la base de datos Una ves que ya se tiene la conexión guardada en un objeto de la clase Connection, se utiliza la clase Statement para crear otro objeto que nos permita ejecutar las instrucciones SQL, y que a su vez, y como se menciono anteriormente, este objeto nos servirá para crear un objeto ResultSet, que nos servirá para recuperar información de la base de datos.
  • 43. CONECTAR CON LA FUENTES DE DATOS El objeto Statement sigue la siguiente estructura para poder crearse Objeto Statement = Objeto Connection.createStatement(); ExecuteUpdate (argumento Instrucción SQL ), este método nos sirve básicamente para ejecutar sentencias SQL como INSERT, UPDATE y DELETE, por lo que este método no tiene ningún tipo de retorno. Por ejemplo: Objeto Statement.excuteUpdate (“ DELETE FROM Alumnos WHERE ID_Alumno= 1”);
  • 44. RECUPERAR DATOS DE LA BASE DE DATOS Como se menciono anteriormente, para recuperar datos de una base de datos, enviaremos las sentencia SELECT como argumento del método excute Query de la clase Statement, este método nos va a devolver las filas que arroje el SELECT en capsulados en un objeto ResultSet Una ves que tenemos cargado el objeto ResultSet con filas, podemos movernos entre ellas con los siguientes métodos que proporciona esta clase. beforFirst(): Mover el cursor antes de la primera fila. first(): Mover el cursor a la primera fila. last(): Mover el cursor a la ultima fila. afterLast(): Mover el cursor después de la ultima fila.
  • 45. RECUPERAR DATOS DE LA BASE DE DATOS previous(): Mover el cursor a la fila anterior. next(): Mover el cursor a la fila siguiente absolute(fila): Mover el cursor a la fila especifica relative(n): Mover el cursor n filas a partir de la actual (n puede ser un numero entero positivo o negativo). Para obtener los datos de la fila donde esta el cursor, la interfaz ResultSet también proporciona varios métodos, algunos de ellos y básicamente los mas utilizados son:
  • 46. RECUPERAR DATOS DE LA BASE DE DATOS getString(String): Recupera el dato de la columna especificada por String getString(int): Recupera el dato de la columna indicada por el índice especificado Existen algunos métodos análogos a los anteriores que son utilizados cuando se sabe que el dato dela columna de la fila actual es entero o real, por ejemplo: getInt, getLong, getFloat y getDouble
  • 47. NAVEGAR POR LA BASE DE DATOS Hemos visto anteriormente que una vez obtenido un conjunto de resultados, podemos utilizar los métodos proporcionados por la interfaz ResultSet para movernos por dicho conjunto Para ello debemos conocer que un objeto ResultSet, por omisión y dependiendo del sistema administrador de bases de datos, no es actualizable y tiene un cursor que solo se mueve hacia adelante No obstante, es posible crear objetos ResultSet actualizables y que permitan moverse hacia atrás o adelante. Para poder hacer esto, se necesita mandarle 2 argumentos al método createStatement de la clase Statement, a la hora de crear este tipo de objeto.
  • 48. NAVEGAR POR LA BASE DE DATOS Estos argumentos son constantes enteras definidas en la interfaz ResultSet, los argumentos son: TYPE_SCROLL_INSENSITIVE. Crea un conjunto de resultados en el que el cursor se puede mover en ambas direcciones (desplazable) CONCUR_UPDATABLE. Indica que la hoja de resultados es actualizable Quedando de la siguiente forma la creación del Statement: Objeto Statement = objetoConnection.createStatement(ResulSet.TYPE_SCROL L_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
  • 49. CERRAR OBJETOS Entra dentro de practicas buenas de programación,cerrar los objetos Statement, ResultSet y Connection una ves que ya no serán usados, por ejemplo cuando se cierre la aplicación Java o cuando se termine de usar un ResultSet Cada una de estas clases contiene un método para hacer dicho proceso, el método se llama close(), fácil de usar, por ejemplo: Nombre Objeto.close();
  • 50. EN RESUMEN PARA CREAR UNA CONEXIÓN A BASE DE DATOS CON JAVA Registrar el ODBC Direccionar el controlador con Driver Manager Registrar la conexión con Connection Crear un objeto Statement para poder ejecutar instrucciones SQL Utilizar Resultset, ResultSet y MetaData para recuperar información de la base de datos. Cerrar objetos.
  • 51. EJEMPLO: DESCRIPCIÓN DE LOS COMPONENTES JAVA La aplicación que se construyo tiene los siguientes componentes, que se encuentran en el paquete javax.Swing: JFrame; ventana principal. JPanel; contenedor. JTable; para mostrar los registros. JButton; accionar las diferentes operaciones. JToolbar; para acomodar los botones. DefaultTableModel; para controlar la tabla. JTextField; para capturar información. JLabel; mostrar textos. JOptionPane; para mandar mensajes. Border; para pintar los bordes en los paneles, con un texto. JScrollPane; para desplazarse por los registros de la tabla cuando estos sean demasiados y ya no puedan visualizarse todos. Interfaces, actionListener y keyListener; para darle la capacidad de escuchar eventos a los botones y cajas de texto
  • 52. r sto Pa lo za on Prof.: José Molina G CIUDAD BOLIVAR 09/10/2012 . Lic
  • 53. ¿Qué es PHP? • HiperText Preprocesor • Tecnologia para servidor interpretada ¿Cómo Nace PHP? • Nace en Otoño de 1994 ¿Cómo se crea y sobre que base? • Basado en C y C++ aunque su primera versión fue escrita en Perl • Paradigma Imperativo y OO Rasmus Lerdorf Prof.: José Molina CIUDAD BOLIVAR 09/10/2012
  • 54. En la actualidad: • PHP 1, 1995 • PHP 2, 1995-1997 • PHP 3, 1997-2000… • PHP 4, Mayo 2000 • PHP 5, Julio 2004 VERSION ACTUAL Prof.: José Molina CIUDAD BOLIVAR 09/10/2012
  • 55. Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web mediante formularios Ventajas – Proporcionar información actualizada – Software libre bajo licencia GPL ( Codigo Fuentes y Modificable) – Facilitar la realización de búsquedas mediante formularios – Disminuir los costes de mantenimiento (mantenimiento lado cliente) – Multiplataforma (Unix, Win32, Mac) – Multitud Framewoks nos centramos en Logica de Negocios – Soporta más de 20 Sistemas de gestion de bases de datos: – MySQL mejor integracion con PHP – Oracle – SyBase Prof.: José Molina – PostgreSQL… CIUDAD BOLIVAR 09/10/2012
  • 56. Servidor web Cliente (navegador) Página Página Página PHP HTML HTML internet Intérprete PHP <?PHP $nombre = “micromante"; print ("<P>Hola, $nombre</P>"); ?> Hola,micromante <P>Hola, micromante</P> Prof.: José Molina CIUDAD BOLIVAR 09/10/2012
  • 57. FORM orden SQL PHP Base de resultado datos PASOS DEL PROCESO • Lado Cliente • Cliente pide mediante formulario HTML actualizar contenido • Lado Servidor • HTML mediante PHP conecta a la base de datos y hace la query • La BD devuelve variable con contenido y PHP la procesa • PHP rederiza el contenido a mostrar • Lado Cliente • Muestra la web renderizada en formato HTML en el navegador Prof.: José Molina CIUDAD BOLIVAR 09/10/2012
  • 58. Conectar con el servidor de bases de datos: mysql_connect() Seleccionar una base de datos: mysql_select_db() Enviar la instrucción SQL a la base de datos: mysql_query() Obtener y procesar los resultados: mysql_num_rows() y mysql_fetch_array() Cerrar la conexión con el servidor de bases de datos: mysql_close() Prof.: José Molina CIUDAD BOLIVAR 09/10/2012
  • 59. Mediante $_GET[‘variable’] • Normalmente, GET es usado para obtener un archivo u otro recurso, posiblemente con parámetros especificando más exactamente lo que se necesita. El contenido de la variable es visible en navegador Mediante $_POST[‘variable’] • Normalmente POST es usado para enviar un pedazo de datos al servidor para ser procesado, cualquier cosa que esto signifique. Gestion de contraseñas y variables importantes. De forma oculta en cabecera HTML Prof.: José Molina CIUDAD BOLIVAR 09/10/2012
  • 60. Seleccionar una base de datos: mysql_connect() Devuelve true en caso de éxito y false en caso contrario Sintaxis: $ CONEXIÓN = mysql_connect(SERVER,USER,PASS) Ejemplo: mysql_connect(“localhost",“carlos", “1234") or die("No se pudo conectar a la base "); Prof.: José Molina CIUDAD BOLIVAR 09/10/2012
  • 61. Seleccionar una base de datos: mysql_select_db() Devuelve true en caso de éxito y false en caso contrario Sintaxis: mysql_select_db (database); Ejemplo: mysql_select_db (“usuarios”) or die (“No se puede seleccionar la base de datos”); Prof.: José Molina CIUDAD BOLIVAR 09/10/2012
  • 62. Enviar la instrucción SQL a la base de datos: mysql_query() • Devuelve un identificador o true (dependiendo de la instrucción) si la instrucción se ejecuta correctamente y false en caso contrario Sintaxis: $consulta = mysql_query (instrucción, $conexion); Ejemplo: $consulta = mysql_query (“select * from noticias”, $conexion) or die (“Fallo en la consulta”); $consulta = mysql_query (VARIABLECADENA, $conexion) or die (“Fallo en la consulta”); Prof.: José Molina CIUDAD BOLIVAR 09/10/2012
  • 63. mysql_real_escape_string(): funcion para el escapado de caracteres antes de enviar la query. Prof.: José Molina CIUDAD BOLIVAR 09/10/2012
  • 64. Obtener y procesar los resultados: mysql_num_rows(), mysql_fetch_array() • mysql_query() devuelve las filas de la tabla afectadas por la instrucción • mysql_num_rows() devuelve el número de filas afectadas • mysql_fetch_array(), que obtiene una fila del resultado en un array asociativo cada vez que se invoca Sintaxis: $nfilas = mysql_num_rows ($consulta); $fila = mysql_fetch_array ($consulta); Prof.: José Molina CIUDAD BOLIVAR 09/10/2012
  • 65. Cerrar la conexión con el servidor de bases de datos: mysql_close() Sintaxis: mysql_close ($IDCONEXION); Ejemplo mysql_close ($conexion); “MUY IMPORTANTE SIEMPRE DEBEMOS CERRAR LA CONEXIÓN PARA EVITAR POSIBLES HACKS A NUESTRA BASE DE DATOS” Prof.: José Molina CIUDAD BOLIVAR 09/10/2012
  • 66. Requisitos •Servidor web Apache (www.apache.org) • con el módulo PHP (www.php.net) • y la base de datos MySQL (www.mysql.com) si se desea crear páginas dinámicas • Utilidades Recomendadas • XAMPP es una distribución de Apache que incluye MySQL, PHP y otras herramientas para el desarrollo de aplicaciones web, como phpMyAdmin. (http://es.wikipedia.org/wiki/XAMPP) • Editores de PHP, como DevPHP (www.sourceforge.net), • Manuales de PHP y MySQL Prof.: José Molina CIUDAD BOLIVAR 09/10/2012
  • 67. BASE DE DATOS DISTRIBUIDAS ORACLE r sto Pa lo za on Prof.: José Molina G CIUDAD BOLIVAR 09/10/2012 . Lic
  • 68. Se trata de una base de datos a nivel lógico, pero que en realidad (físicamente) está implementada en varias ubicaciones físicas, incluso en máquinas diferentes y distantes. Cada máquina ejecuta su propia instancia y conjuntos de archivos y todas se conectan en red para hacer que el usuario no tenga que cambiar su código para reflejar esta distribución. La dificultad de esta estructura suele estar aliviada por medio de instantáneas que graban momentáneamente os datos de las tablas distantes. Permiten trabajar con los datos copiados y se programan para que cada cierto tiempo recojan nuevamente los datos a fin de reflejar sus cambios. Posee arquitectura  cliente/servidor.
  • 69. Utiliza el software de redOracl e Net8 para comunicación entre bases de datos. Net8 permite a las bases de datos comunicarse a través de redes para  soportar transacciones distribuidas y remotas. Empaqueta sentencias SQL en uno de los muchos protocolos de comunicación para facilitar al cliente la comunicación con el servidor y después empaqueta y devuelve los resultados de forma similar al cliente
  • 70. DATABASE LINKS Concepto central en las BD distribuidas en ORACLE. Un DB Link define un camino unidireccional desde una BD ORACLE a otra. Un usuario local puede acceder a través de un link a objetos de esquemas de otros usuarios en BD remotas (siempre que tenga permiso suficient e para hacerlo) como si se tratara de una única BD. Se almacenan en el catálogo:  SELECT db_link FROM user_db_links;
  • 71. CREACIÓN Y BORRADO DB LINK Creación:  Crea un link público de nombre nombreLink que establece un enlace a una BD remota cuya ubicación está descrita en el nombre de servicio a través un usuario y contraseña de dicha BD. CREATE PUBLIC DATABASE LINK nombreLink CONNECT TO usuario IDENTIFIED BY contraseña USING 'nombre de servicio'; Borrado: DROP [PUBLIC] DATABASE LINK nombreLink
  • 72. NOMBRE DE SERVICIO Cada BD es identificada unívocamente en una BD distribuida por un nombre global de BD. Este consta del nombre de la BD junto con el nombre del host en la red en la que esta BD está ubicada. Este nombre se hace transparente al usuario mediante el uso de nombres de servicio (service names) en la definición de los enlaces (links). Los nombres de servicio se definen en el archivo tnsnames.ora de Oracle, cuya ubicación depende del ordenador:  c:oracleora92networkadmintnsnames.ora
  • 73. EJEMPLO NombreServiceName = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST= NombreOrdenadorEnRed)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = NombreBD) ) )
  • 74. TIPOS DE DBLINKS USUARIOS ENLACES  PRIVADOS: Sólo lo  FIXED: Hay que puede usar el que los indicar en la crea. definición usuario y (CREATE contraseña. DATABASELINK ....)  CONNECTED USER(SIN  PÚBLICOS: Lo pueden CONNECT): Válido usar todos los usuarios para el usuario de la BD. conectado. Debe tener en la BD remota una cuenta con el (CREATEPUBLICDATABA mismo nombre de SELINK ....) usuario y misma contraseña.
  • 75. LINKS El nombre de un objeto en una BD es unívoco dentro del esquema de su propietario. Sin embargo, en una BD remota puede existir un esquema con el mismo nombre, que puede tener un objeto con el mismo nombre.  Acceso a través de un link a un objeto remoto de un determinado propietario en una BD remota: propietario.nombreObjeto@nombreLink O bien nombreObjeto@nombreLink  Si el usuario que accede al objeto es el propietario del mismo.
  • 76. CONSULTA A BDD REMOTAS Para realizar consultas en una BD distribuida podemos utilizar objetos situados en una BD remota. Se utiliza para ello los links previamente creados.  SELECT nombre  FROM dbb.autor@link  WHERE nacionalidad = "Francia“  SELECT nombre  FROM dbb.autor@link, libro  WHERE dbb.autor.idautor@link = libro.idautor  AND nacionalidad = "Francia“ También es posible realizar operaciones de actualización (insert, update, delete) en la BD remota, siempre que tengamos el permiso necesario para realizarlas.
  • 77. SINONIMOS Las referencias a las tablas de la BD remota en las anteriores consultas no son transparentes al usuario : necesita conocer el nombre del link y el propietario dela tabla. Para hacerlas totalmente transparentes se pueden definir sinónimos. CREACIÓN: CREATE [PUBLIC] SYNONYM nombreSinomimo FOR nombreObjeto; Permite referirse a un nombre global de un objeto a través del sinónimo. Esconde el acceso remoto a la tabla haciendo transparente su acceso. El parámetro PUBLIC hace disponible el sinónimo para todos los usuarios.
  • 78. EJEMPLO DE CREAR/BORRAR SINÓNIMO CREATE SYNONYM autores FOR dbb.autor@link Autores actúa como sinónimo de dbb.autor@link . Ahora podemos definir consultas totalmente transparentes al usuario: SELECT nombre FROM autores WHERE nacionalidad = "Francia" DROP[PUBLIC] SYNONYM autores;
  • 79. WIKI: •APACHE: http://wiki.apache.org/general/ •PHP: http://es.wikipedia.org/wiki/PHP •MYSQL: http://es.wikipedia.org/wiki/MySQL LIBROS y REFERENCIA: •DREAMWEAVER 8 Y PHP | Ed.ANAYA (David Powers) •PHP Y MYSQL | Ed.RA-MA (Jacobo Pavon Puertas) •FLASH CS3 DINAMICO, AS3, PHP, XML Y BD | Ed.ANAYA •PHP, XML Y BASES DE DATOS | Ed.ANAYA Referencia http://es.scribd.com/lvillacorta_1/d/48466088BASE-DE-DATO Prof.: José Molina CIUDAD BOLIVAR 09/10/2012