downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

Our source is open

The syntax highlighted source is automatically generated by PHP from the plaintext script. If you're interested in what's behind the several functions we used, you can always take a look at the source of the following files:

Of course, if you want to see the source of this page, we have it available. You can also browse the Git repository for this website on git.php.net.

Source of: /manual/es/intro.sdodasrel.php

<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$PARENTS = array();
include_once
dirname(__FILE__) ."/toc/book.sdodasrel.inc";
$setup = array (
 
'home' =>
  array (
   
0 => 'index.php',
   
1 => 'PHP Manual',
  ),
 
'head' =>
  array (
   
0 => 'UTF-8',
   
1 => 'es',
  ),
 
'this' =>
  array (
   
0 => 'intro.sdodasrel.php',
   
1 => 'Introducci&oacute;n',
  ),
 
'up' =>
  array (
   
0 => 'book.sdodasrel.php',
   
1 => 'DAS-Relacional de SDO',
  ),
 
'prev' =>
  array (
   
0 => 'book.sdodasrel.php',
   
1 => 'DAS-Relacional de SDO',
  ),
 
'next' =>
  array (
   
0 => 'sdodasrel.setup.php',
   
1 => 'Instalaci&oacute;n/Configuraci&oacute;n',
  ),
 
'alternatives' =>
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["parents"] = $PARENTS;
manual_setup($setup);

manual_header();
?>
<div id="intro.sdodasrel" class="preface">
  <h1 class="title">Introducción</h1>
  <p class="para">
  
   <div class="warning"><strong class="warning">Advertencia</strong><p class="simpara">Esta extensión es
<em class="emphasis">EXPERIMENTAL</em>. Esto significa que el comportamiento de esta extensión,
los nombres de sus funciones y todo lo documentado sobre esta extensión, puede
cambiar en una futura edición de PHP sin previo aviso. El uso de
esta extensión queda bajo su propia responsabilidad.</p></div>
  </p>
  <p class="para">
   Para poder usar el Servicio de Acceso a Datos Relacional con
   Objetos de Datos de Servicio (SDOs),
   se necesitan comprender algunos de los conceptos que están bajo un SDO:
   el grafo de datos, el objeto de datos, la manera desconectada de trabajar,
   el resumen de cambios, XPath y expresiones de propiedad, etc.
   Si estas ideas no le son familiares, debería mirar primero en
   <a href="ref.sdo.php" class="link">la sección sobre SDO</a>.
   Además, el DAS Relacional hace uso de la extensión PDO para
   aislarse a sí misma de especificaciones de diferentes bases de datos relacionales subyacentes.
   Para poder usar el DAS Relacional se necesita poder
   crear y pasar una conexión a base de datos PDO;
   por esta razión se debería echar un vistazo a
   <a href="intro.pdo.php" class="link">la sección sobre PDO</a>.
  </p>
 
  <p class="para">
   La tarea del DAS Relacional es mover datos entre la aplicación
   y una base de datos relacional. Para poder hacer esto necesita ser informado
   de la referenciación entre las entidades de la base de datos
   - tabla, columnas, claves primarias y foráneas -
   y los elementos del modelo del SDO
   - tipes, propiedades, relaciones de contención, etc.
   Se especifica esta información como metadatos al
   contruir el DAS Relacional.
  </p>
 
  <div class="procedure">
   <strong class="title">Información general sobre la operación</strong>
   <ol type="1"><li>
    <p class="para">
     El primer paso es llamar al constructor del DAS Relacional,
     pasando los metadatos que definen la referenciación entre
     la base de datos y el modelo del SDO.
     Hay ejemplo de esto más adelante.
    </p>
   </li>
  
   <li>
    <p class="para">
     El siguiente paso podría ser llamar al método
      <span class="function"><strong>executeQuery()</strong></span>
     o
      <span class="function"><strong>executePreparedQuery()</strong></span>
     sobre el DAS Relacional, pasando una sentencia SQL literal
     al DAS para preparar y ejecutar, o una sentencia preparada con
     parámetros de sustitución y una lista de valores a insertar.
     También es necesario especificar una pequeña cantidad de metadatos
     sobre el consulta en sí, por lo que el DAS Relacional pueda conocer
     exactamente qué columnas serán devueltas desde la base de datos y
     en qué orden. También se necesitará pasar una conxión a base de datos de PDO.
    </p>
   
    <p class="para">
     El valor devuelto por
      <span class="function"><strong>executeQuery()</strong></span>
     o
      <span class="function"><strong>executePreparedQuery()</strong></span>
     es un grafo de datos normalizado que contiene todos los datos del conjunto de resultados.
     Para una consulta que devuelva datos obtenidos de varias tablas,
     este grafo contendrá varios objetos de datos,
     enlazados por relaciones de contención de SDO.
     También pueden haber referencias de no contención de SDO con los datos.
    </p>
   
    <p class="para">
     Una vez que la consulta ha sido ejecutada y el grafo de datos construido,
     ya no hay necesidad de la insntacia del DAS Relacional o
     de la conexión a la base de datos. the database connection. No existen bloqueos sobre la base de datos.
     El DAS Relacional y la conexión a base de datos de PDO pueden
     ponerse en el recolector de basura.
    </p>
   </li>
   <li>
    <p class="para">
     Posiblemente los datos del grafo de datos experimentarán
     varias modificaciones. El grafo de datos puede ser serializado
     dentro de la sesión de PHP y por lo tanto puede tener un tiempo de vida superior
     a una interacción cliente-servidor. Los objetos de datos se puede crear
     y añadir al grafo, los objetos de datos ya existentes en el grafo
     se pueden borrar, y los objetos de datos del grafo pueden ser modificados.
    </p>
   </li>
   <li>
    <p class="para">
     Finalmente, los cambios hechos al grafo de datos pueden volver a ser
     aplicados a la base de datos usando el método
      <span class="function"><strong>applyChanges()</strong></span>
     del DAS Relacional. Para esto, se debe construir otra
     instancia del DAS Relacional, usando la
     misma metainformación, y se debe obtener otra conexión a la base de datos.
     La conexión y el grafo de datos son pasados a
      <span class="function"><strong>applyChanges()</strong></span>.
     En este punto el DAS Relacional examina el registro de cambios
     y genera las sentencias SQL INSERT, UPDATE y DELETE necesarias
     para aplicar los cambios. Cualquier sentencia UPDATE y DELETE está cualificada
     con los valores originales de los datos, por lo que deberían ser detectados
     los datos cambiados en la base de datos por el momento.
     Asumiendo que no ocurren tales colisiones, los cambios serán
     consignados a la base de datos. La aplicación puede entonces continuar para trabajar
     con el grafo de datos, hacer más cambios y aplicarlos, o puede
     descartarlos.
    </p>
   </li>
  </ol></div>
  <p class="para">
   Existen otras maneras de trabajar con los datos de una base de datos:
   es posible crear objetos de datos y escribirlos en la
   base de datos sin una llamada preliminar a
    <span class="function"><strong>executeQuery()</strong></span>,
   por ejemplo. Este escenario y otros son explorados en la sección
   <a href="sdodasrel.examples.php" class="link">Ejemplos</a>
   de abajo.
  </p>
 </div><?php manual_footer(); ?>
 
show source | credits | sitemap | contact | advertising | mirror sites