Commit 51a17fae by pana1990

Update db-dao.md in guide-es [skip ci]

parent 28fd9167
...@@ -20,7 +20,7 @@ De forma predeterminada, Yii soporta los siguientes DBMS (Sistemas de Gestión d ...@@ -20,7 +20,7 @@ De forma predeterminada, Yii soporta los siguientes DBMS (Sistemas de Gestión d
[bug](http://jira.cubrid.org/browse/APIS-658) en la extensión PDO de cubrid, los valores entrecomillados no [bug](http://jira.cubrid.org/browse/APIS-658) en la extensión PDO de cubrid, los valores entrecomillados no
funcionarán, por lo que se necesita CUBRID 9.3 tanto para el cliente como para el servidor) funcionarán, por lo que se necesita CUBRID 9.3 tanto para el cliente como para el servidor)
- [Oracle](http://www.oracle.com/us/products/database/overview/index.html) - [Oracle](http://www.oracle.com/us/products/database/overview/index.html)
- [MSSQL](https://www.microsoft.com/en-us/sqlserver/default.aspx): versión 2005 o superior. - [MSSQL](https://www.microsoft.com/en-us/sqlserver/default.aspx): versión 2008 o superior.
Configuración Configuración
------------- -------------
...@@ -114,8 +114,8 @@ $connection = new \yii\db\Connection([ ...@@ -114,8 +114,8 @@ $connection = new \yii\db\Connection([
$connection->open(); $connection->open();
``` ```
> Tip: Si se necesita ejecutar una consulta SQL inmediatamente después de establecer la conexión > Consejo: Si se necesita ejecutar una consulta SQL inmediatamente después de establecer la conexión
(p. ej. para establecer la zona horaria (timezone) o juego de caracteres), se puede añadir el siguiente código en el (ej. para establecer la zona horaria (timezone) o el juego de caracteres), se puede añadir el siguiente código en el
archivo de configuración de la aplicación: archivo de configuración de la aplicación:
> >
```php ```php
...@@ -135,7 +135,7 @@ return [ ...@@ -135,7 +135,7 @@ return [
]; ];
``` ```
Ejecución de Consultas SQL Basicas Ejecución de Consultas SQL Básicas
---------------------------------- ----------------------------------
Una vez instanciada una conexión a la base de datos, se pueden ejecutar consultas SQL usando [[yii\db\Command]]. Una vez instanciada una conexión a la base de datos, se pueden ejecutar consultas SQL usando [[yii\db\Command]].
...@@ -180,7 +180,7 @@ $command->execute(); ...@@ -180,7 +180,7 @@ $command->execute();
``` ```
De forma alternativa, se pueden usar los métodos `insert`, `update`, y `delete`. Estos métodos se encargarán de De forma alternativa, se pueden usar los métodos `insert`, `update`, y `delete`. Estos métodos se encargarán de
gestionar entrecomillar adecuadamente el nombre de la tabla y de las columnas que se usen en la consulta, y solo se gestionar el entrecomillado de los nombres de la tablas y de las columnas que se usen en la consulta, y solo se
tendrá que proporcionar los valores necesarios. tendrá que proporcionar los valores necesarios.
[[Se tiene que poner el enlace de documentación aquí.]] [[Se tiene que poner el enlace de documentación aquí.]]
...@@ -206,10 +206,10 @@ $connection->createCommand()->update('user', ['status' => 1], 'age > 30')->execu ...@@ -206,10 +206,10 @@ $connection->createCommand()->update('user', ['status' => 1], 'age > 30')->execu
$connection->createCommand()->delete('user', 'status = 0')->execute(); $connection->createCommand()->delete('user', 'status = 0')->execute();
``` ```
Entrecomillado de Nombre de Tablas y Columnas Entrecomillado de los Nombres de las Tablas y las Columnas <a name="quoting-table-and-column-names"></a>
--------------------------------------------- ----------------------------------------------------------
Para hacer que los nombres de columnas y tablas sean seguros para usarse en consultas, se puede utilizar Yii Para hacer que los nombres de las columnas y las tablas sean seguros para usarse en las consultas, se puede utilizar Yii
adecuadamente para que los entrecomille: adecuadamente para que los entrecomille:
```php ```php
...@@ -220,7 +220,7 @@ $rowCount = $connection->createCommand($sql)->queryScalar(); ...@@ -220,7 +220,7 @@ $rowCount = $connection->createCommand($sql)->queryScalar();
En el código anterior, se convertirá `[[$column]]` a un nombre de columna debidamente entrecomillado, mientras que se En el código anterior, se convertirá `[[$column]]` a un nombre de columna debidamente entrecomillado, mientras que se
convertirá `{{table}}` a un nombre de tabla debidamente entrecomillado. convertirá `{{table}}` a un nombre de tabla debidamente entrecomillado.
Hay una variante especial de esta sintaxis especifica para que los nombres de tablas: `{{%Y}}` añade automáticamente Hay una variante especial de esta sintaxis especifica para que los nombres de las tablas: `{{%Y}}` añade automáticamente
el prefijo de la tabla de la aplicación para proporcionar un valor, si se ha establecido un prefijo de tabla: el prefijo de la tabla de la aplicación para proporcionar un valor, si se ha establecido un prefijo de tabla:
```php ```php
...@@ -244,7 +244,7 @@ return [ ...@@ -244,7 +244,7 @@ return [
]; ];
``` ```
La alternativa es entrecomillar los nombres de tabla y columna manualmente usando La alternativa es entrecomillar los nombres de las tablas y las columnas manualmente usando
[[yii\db\Connection::quoteTableName()]] y [[yii\db\Connection::quoteColumnName()]]: [[yii\db\Connection::quoteTableName()]] y [[yii\db\Connection::quoteColumnName()]]:
```php ```php
...@@ -342,12 +342,12 @@ try { ...@@ -342,12 +342,12 @@ try {
``` ```
Tenga en cuanta que el DBMS debe soportar Puntos de Registro (Savepoints) para que funcionen correctamente. El código Tenga en cuanta que el DBMS debe soportar Puntos de Registro (Savepoints) para que funcionen correctamente. El código
anterior, trabajará con cualquier DBMS pero las sólo se garantizarán las transacciones que se ejecuten bajo un DBMS anterior, trabajará con cualquier DBMS pero sólo se garantizarán las transacciones que se ejecuten bajo un DBMS
que las soporte. que las soporte.
Yii también soporta la configuración de [niveles de aislamiento] en las transacciones. Cuando empiece una transacción Yii también soporta la configuración de [niveles de aislamiento] en las transacciones. Cuando empiece una transacción
se ejecutará con el nivel predeterminado de aislamiento definido por la base de datos. Se puede especificar un nivel se ejecutará con el nivel predeterminado de aislamiento definido por la base de datos. Se puede especificar un nivel
de aislamiento especifico cuando se empieza una transacción: de aislamiento específico cuando se empieza una transacción:
```php ```php
$transaction = $connection->beginTransaction(\yii\db\Transaction::REPEATABLE_READ); $transaction = $connection->beginTransaction(\yii\db\Transaction::REPEATABLE_READ);
...@@ -379,7 +379,7 @@ conflictos de configuración. En este momento se ven afectados los DBMS MSSQL y ...@@ -379,7 +379,7 @@ conflictos de configuración. En este momento se ven afectados los DBMS MSSQL y
[isolation levels]: http://en.wikipedia.org/wiki/Isolation_%28database_systems%29#Isolation_levels [isolation levels]: http://en.wikipedia.org/wiki/Isolation_%28database_systems%29#Isolation_levels
Replicas y División Lectura-Escritura Réplicas y División Lectura-Escritura
------------------------------------- -------------------------------------
Muchos DBMS soportan Muchos DBMS soportan
...@@ -406,7 +406,7 @@ el componente [[yii\db\Connection]] como se muestra a continuación: ...@@ -406,7 +406,7 @@ el componente [[yii\db\Connection]] como se muestra a continuación:
'username' => 'slave', 'username' => 'slave',
'password' => '', 'password' => '',
'attributes' => [ 'attributes' => [
// use a smaller connection timeout // utiliza un tiempo de espera de conexión más pequeña
PDO::ATTR_TIMEOUT => 10, PDO::ATTR_TIMEOUT => 10,
], ],
], ],
...@@ -422,7 +422,7 @@ el componente [[yii\db\Connection]] como se muestra a continuación: ...@@ -422,7 +422,7 @@ el componente [[yii\db\Connection]] como se muestra a continuación:
``` ```
La configuración anterior especifica una configuración con un único maestro y múltiples esclavos. Uno de los esclavos La configuración anterior especifica una configuración con un único maestro y múltiples esclavos. Uno de los esclavos
se conectará y se usará para ejecutar consultas de lectura mientras que el maestro se usara para realizar consultas de se conectará y se usará para ejecutar consultas de lectura mientras que el maestro se usará para realizar consultas de
escritura. De este modo la división de lectura-escritura se logra automáticamente con esta configuración, Por ejemplo, escritura. De este modo la división de lectura-escritura se logra automáticamente con esta configuración, Por ejemplo,
```php ```php
...@@ -442,7 +442,7 @@ $db->createCommand("UPDATE user SET username='demo' WHERE id=1")->execute(); ...@@ -442,7 +442,7 @@ $db->createCommand("UPDATE user SET username='demo' WHERE id=1")->execute();
El componente `Connection` soporta el balanceo de carga y la conmutación de errores entre esclavos. Cuando se realiza El componente `Connection` soporta el balanceo de carga y la conmutación de errores entre esclavos. Cuando se realiza
una consulta de lectura por primera vez, el componente `Connection` elegirá un esclavo aleatorio e intentará realizar una consulta de lectura por primera vez, el componente `Connection` elegirá un esclavo aleatorio e intentará realizar
una conexión a este. Si está "muerto", se intentara con otro. Si no está disponible ningún esclavo, se conectará al una conexión a este. Si está "muerto", se intentará con otro. Si no está disponible ningún esclavo, se conectará al
maestro. Configurando una [[yii\db\Connection::serverStatusCache|server status cache]], se recordarán los servidores maestro. Configurando una [[yii\db\Connection::serverStatusCache|server status cache]], se recordarán los servidores
"muertos" por lo que no se intentará volver a conectar a ellos durante "muertos" por lo que no se intentará volver a conectar a ellos durante
[[yii\db\Connection::serverRetryInterval|certain period of time]]. [[yii\db\Connection::serverRetryInterval|certain period of time]].
...@@ -462,7 +462,7 @@ También se pueden configurar múltiples parámetros para múltiples esclavos. P ...@@ -462,7 +462,7 @@ También se pueden configurar múltiples parámetros para múltiples esclavos. P
'username' => 'master', 'username' => 'master',
'password' => '', 'password' => '',
'attributes' => [ 'attributes' => [
// use a smaller connection timeout // utilizar un tiempo de espera de conexión más pequeña
PDO::ATTR_TIMEOUT => 10, PDO::ATTR_TIMEOUT => 10,
], ],
], ],
...@@ -478,7 +478,7 @@ También se pueden configurar múltiples parámetros para múltiples esclavos. P ...@@ -478,7 +478,7 @@ También se pueden configurar múltiples parámetros para múltiples esclavos. P
'username' => 'slave', 'username' => 'slave',
'password' => '', 'password' => '',
'attributes' => [ 'attributes' => [
// use a smaller connection timeout // utilizar un tiempo de espera de conexión más pequeña
PDO::ATTR_TIMEOUT => 10, PDO::ATTR_TIMEOUT => 10,
], ],
], ],
...@@ -499,7 +499,7 @@ cuando no se encuentra ningún maestro disponible se lanza una excepción. ...@@ -499,7 +499,7 @@ cuando no se encuentra ningún maestro disponible se lanza una excepción.
> Nota: cuando se usa la propiedad [[yii\db\Connection::masters|masters]] para configurar uno o múltiples maestros, se > Nota: cuando se usa la propiedad [[yii\db\Connection::masters|masters]] para configurar uno o múltiples maestros, se
ignorarán todas las otras propiedades que especifiquen una conexión de base de datos ignorarán todas las otras propiedades que especifiquen una conexión de base de datos
(p. ej. `dsn`, `username`, `password`), junto con el mismo objeto `Connection`. (ej. `dsn`, `username`, `password`), junto con el mismo objeto `Connection`.
Las conexiones usan la conexión de maestro de forma predeterminada. Y todas las operaciones de BBDD que estén dentro Las conexiones usan la conexión de maestro de forma predeterminada. Y todas las operaciones de BBDD que estén dentro
de una transacción, usaran la conexión de maestro. Por ejemplo, de una transacción, usaran la conexión de maestro. Por ejemplo,
...@@ -560,7 +560,7 @@ Para hacer referencia al esquema entero, se puede revisar [[yii\db\Schema]]. ...@@ -560,7 +560,7 @@ Para hacer referencia al esquema entero, se puede revisar [[yii\db\Schema]].
### Modificación de esquemas ### Modificación de esquemas
Aparte de consultas SQL basicas, [[yii\db\Command]] contiene un conjunto de métodos que permiten modificar el esquema Aparte de consultas SQL básicas, [[yii\db\Command]] contiene un conjunto de métodos que permiten modificar el esquema
de la base de datos: de la base de datos:
- createTable, renameTable, dropTable, truncateTable - createTable, renameTable, dropTable, truncateTable
...@@ -572,7 +572,7 @@ de la base de datos: ...@@ -572,7 +572,7 @@ de la base de datos:
Que pueden usarse como se muestra a continuación: Que pueden usarse como se muestra a continuación:
```php ```php
// CREATE TABLE // CREAR TABLA
$connection->createCommand()->createTable('post', [ $connection->createCommand()->createTable('post', [
'id' => 'pk', 'id' => 'pk',
'title' => 'string', 'title' => 'string',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment