martes, 30 de septiembre de 2008

Investigacion 2, MySQL Server Express Edition

INTRODUCCIÓN

SQL Server Express es un producto de base de datos gratuito y fácil de utilizar basado en la tecnología SQL Server 2005. Se ha diseñado para proporcionar una plataforma de base de datos que ofrezca la máxima facilidad de uso y permita una implementación rápida en los escenarios objetivos. Esta facilidad de uso empieza por la instalación de una interfaz gráfica de usuario (GUI) sencilla y eficaz que guía al usuario durante el proceso de instalación. Las herramientas de GUI suministradas de forma gratuita con SQL Server Express incluyen SQL Server Management Studio Express Edition (versión Technical Preview disponible en el lanzamiento), una herramienta de configuración de superficie y el Administrador de configuración de SQL Server. Estas herramientas simplifican las operaciones básicas de base de datos. El diseño y desarrollo de aplicaciones de base de datos resultan más sencillos gracias a la integración con los proyectos de Visual Studio. Además, se ofrece la posibilidad de implementar aplicaciones de base de datos tan sólo con moverlas como si se tratara de archivos normales de Windows. El servicio y las revisiones también se han simplificado y automatizado.

SQL Server Express utiliza el mismo motor de base de datos confiable y de alto rendimiento que el resto de las versiones de SQL Server 2005. Asimismo, utiliza las mismas API de acceso a datos que ADO.NET, SQL Native Client y T-SQL. De hecho, sólo se diferencia del resto de las ediciones de SQL Server 2005 por lo siguiente:

Ø Falta de compatibilidad con características empresariales

Ø Límite de una CPU

Ø Límite de 1 GB de memoria para el grupo de búferes

Ø Bases de datos con un tamaño máximo de 4 GB

Algunas características como cerrar automáticamente y la posibilidad de copiar bases de datos como archivos están habilitadas de forma predeterminada en SQL Server Express, mientras que las características de alta disponibilidad e inteligencia empresarial no están presentes. La escalabilidad se facilita al máximo en caso de ser necesaria dado que las aplicaciones Express funcionan perfectamente con las versiones Workgroup, Standard y Enterprise de SQL Server 2005. La descarga en Internet permite una implementación gratuita, rápida y fácil.

En este artículo se analiza una serie de componentes y características exclusivos de SQL Server Express como, por ejemplo, Application XCopy (instancias de usuario) y funciones de red y seguridad. También se proporciona un conjunto de directrices para escenarios de uso comunes. Y, además, se trata lo fácil que es desarrollar aplicaciones de datos con Microsoft Visual Studio 2005. Este análisis se dirige a:

  • Desarrolladores aficionados y no profesionales
  • Desarrolladores de bases de datos, administradores y especialistas en operaciones
  • Analistas empresariales

Instalación e implementación

El programa de instalación de SQL Server Express es una versión simplificada del proceso de SQL Server 2005. Es estable, confiable y compatible con los modos de instalación mediante GUI y silencioso. Sólo se admite la tecnología basa en Windows Installer (.msi).

La descarga en Internet de SQL Server Express se empaqueta como un único ejecutable mediante una tecnología de instalación de Microsoft llamada SFXCab. Puede descargar SQL Server Express en el Centro de descarga Microsoft. Al hacer doble clic en .exe se inicia automáticamente el proceso de instalación.

La versión de Visual Studio 2005 de .NET Framework es un requisito previo para la instalación de SQL Server Express y el programa de instalación genera un error si no se encuentra la versión correcta en el equipo. El programa de instalación incluye un componente llamado Comprobación de configuración del sistema (SCC) que se ejecuta antes de iniciar la instalación. Este componente comprueba si el sistema cumple los criterios mínimos para la instalación; dichos criterios son los requisitos de hardware mínimos, los requisitos mínimos del sistema operativo, los requisitos de reinicio pendiente, etc. Muchos usuarios pueden obtener un error de requisito de reinicio pendiente, lo que significa que deben reiniciar el equipo para poder continuar con la instalación de SQL Server Express. La ventaja principal de SCC es que los errores de instalación comunes debidos a una configuración incorrecta del equipo se identifican al inicio y además se generan las advertencias y los mensajes de error correspondientes para el usuario. Por ejemplo, SCC genera una advertencia y continúa con la instalación sólo si se dispone de una memoria de 256 MB en el equipo. En la figura 3 se incluye una captura de pantalla de SCC de ejemplo

Una vez iniciada la instalación, puede ver que las pantallas se simplifican para facilitar el acceso a los desarrolladores de todos los niveles de experiencia. Por ejemplo, algunos cuadros de diálogo complejos como los destinados a las intercalaciones y cuentas de servicio se ocultan de forma predeterminada mediante la casilla de verificación Ocultar configuración avanzada. Si el usuario desactiva esta casilla, se muestran los cuadros de diálogo de configuración avanzada. El registro de instalación se activa de forma predeterminada para que el usuario pueda consultar fácilmente los errores de instalación con los archivos de registro creados en el directorio \Archivos de programa\Microsoft SQL Server\90\Setup Bootstrap\LOG.

SQL Server Express instala una instancia con nombre llamada SQLEXPRESS de forma predeterminada y se recomienda que las aplicaciones utilicen la instancia compartida SQLEXPRESS. Además, dado que varias características están desactivadas de forma predeterminada en SQL, debe elegir de forma explícita los componentes que desea instalar. A continuación se muestra la pantalla del árbol de componentes de características, donde debe comprobar manualmente los elementos que se van a instalar. La línea de comandos de instalación ADDLOCAL=All selecciona todos los componentes para la instalación. Las entradas de GUI de componentes de características, además de las opciones de línea de comandos correspondientes, se muestran en la tabla 1 a continuación.

Creación de una Base de Datos en MySQL

Como servidor de BD, MySQL es ideal para pequeñas y medianas aplicaciones. MySQL soporta el estándar SQL (ANSI), y además está disponible para distintas plataformas, incluido las "Windows “disponible para distintas plataformas, incluido las "Windows".

Una vez instalado MySQL, vamos a crear nuestra BD ejemplo. MySQL utiliza una tabla de permisos de usuarios, por defecto, en la instalación crea el usuario root sin password. Debes crear distintos usuarios con distintos permisos. Entre ellos, el usuario administrador de MySQL, con todos los permisos, y como recomendación de seguridad, el usuario nobody sólo con el permiso de consultar (SELECT), que es el que utilizaremos para conectarnos al servidor de BD en nuestros script.


Línea de comandos

Para crear nuestra base de datos en sistemas Linux/Unix, debemos ser el administrador de MySQL o tener el permiso pertinente para crear bases de datos, para ello haremos lo siguiente:

mysqladmin create mydb

Ya hemos creado una BD, ahora le añadiremos una tabla y algunos registros, para lo cual copia el siguiente texto y sálvalo en un archivo, que podríamos llamar mydb.dump.

Crear tabla mybd

CREATE TABLE agenda (id INT NOT NULL AUTO_INCREMENT, nombre CHAR(50),dirección CHAR(100), teléfono CHAR(15), email CHAR(50), KEY (id) )\g

INSERT INTO agenda VALUES (0, 'Juan Pérez', 'C/ Laguna, 15. Sevilla', '95.455.55.55', ‘juan@agenda.com’)\g

INSERT INTO agenda VALUES (1, 'Luis Garcia', 'C/ Betis, 22. Cádiz', '95.655.66.33', ‘luis@agenda.com’)\g

INSERT INTO agenda VALUES (2, 'Carlos Rodríguez', 'C/ Sevilla, 6. Huelva', '95.113.22.77', ‘carlos@agenda.com’)\g

Debemos tener en cuenta que los comandos de arriba debe escribirse cada uno en una sola línea. Se han separado para aumentar la legibilidad del código.

Ahora desde la línea de comandos ejecuta:

cat mydb.dump | mysql mydb

Cabe destacar el campo id, que no puede estar vacío, y además es auto incrementable, lo cuál deberemos tener en cuenta a la hora de actualizar y añadir registros. Si no hemos cometido ningún error, ya tenemos nuestra base de datos de ejemplo en el servidor MySQL.

Scrip

Una segunda forma de crear las bases de datos y tablas es utilizar las funciones que para ello nos da PHP. Para crear una base de datos tenemos dos opciones, una utilizar la función mysql_create_db (), o bien enviado una consulta SQL con la instrucción "CREATE DATABASE mydb". Como ejemplo vamos a crear un script crear_my.php que creará la anterior base de datos.

$basedatos = "mydb";

conectamos con el servidor

$link = @mysql_connect("localhost", "root", "");

comprobamos que hemos establecido conexión en el servidor

if (! $link){

echo "

";

exit; }


obtenemos una lista de las bases de datos del servidor:


$db = mysql_list_dbs();

vemos cuantas BD hay

$
num_bd = mysql_num_rows($db);

comprobamos si la BD que queremos crear existe ya:

$existe = "NO" ;

for ($i=0; $i<$num_bd; $i++) {

if (mysql_dbname($db, $i)

$basedatos) {
$existe = "SI" ;

break;

}

}

si no existe la creamos:


if ($existe

"NO") {
/* manera 1 */

if (! mysql_create_db($basedatos, $link)) {

echo "

";

exit;

}

/* class="código" style="margin-left: 50"> /* manera 2

if (! mysql_query("CREATE DATABASE $basedatos", $link)){

echo "

ERROR2: Imposible crear base de datos

";

exit;

} */

}



creamos la tabla

$sql = "CREATE TABLE agenda (";

$sql .=
"id INT NOT NULL AUTO_INCREMENT, ";

$sql .=
"nombre CHAR(50), ";

$sql .= "direccion CHAR(100), ";

$sql .= "telefono CHAR(15), ";

$sql .= "email CHAR(50), ";

$sql .= "KEY (id) ) ";

if (@mysql_db_query($basedatos, $sql, $link)) {

echo "

La tabla se ha creado con éxito

";

} else {

echo "

No se ha podido crear la tabla

";

}

?>


El comando pide una lista de todas las tablas en la base de datos db5, en orden alfabético inverso, mostrando tres informaciones: el nombre de la tabla, su tipo y su motor.

INFORMATION_SCHEMA es la base de datos de información, que almacena información acerca de todas las otras bases de datos que mantiene el servidor MySQL. Dentro del INFORMATION_SCHEMA hay varias tablas de sólo lectura. En realidad son vistas, no tablas, así que no puede ver ningún fichero asociado con ellas.

Cada usuario MySQL tiene derecho a acceder a estas tablas, pero sólo a los registros que se corresponden a los objetos a los que tiene permiso de acceso.

Ventajas de SELECT

El comando SELECT... FROM INFORMATION_SCHEMA es una forma más consistente de proporcionar acceso a la información proporcionada por los comandos SHOW que soporta MySQL (SHOW DATABASES, SHOW TABLES, y así). Usar SELECT tiene las siguientes ventajas, en comparación a SHOW:

1.-Cumple las reglas de Codd. Esto es, todo acceso se hace por tabla.

2.-Nadie necesita aprender una nueva sintaxis. Conocen cómo funciona SELECT, sólo necesitan aprender los nombres de los objetos.

3.-El implementador no tiene que preocuparse de palabras clave.

4.-Hay millones de variaciones de la salida, en lugar de sólo una. Esto proporciona flexibilidad a las aplicaciones con requerimientos cambiantes acerca de los metadatos que necesitan

5.- La migración es más fácil ya que todos los otros DBMS funcionan así.

Sin embargo, como SHOW es popular entre los empleados y usuarios de MySQL, y como puede ser confuso si desaparece, las ventajas de una sintaxis convencional no es razón para eliminar SHOW. De hecho, hay mejoras a SHOW en MySQL 5.0

Estándares

La implementación de la estructura de tablas para el INFORMATION_SCHEMA en MySQL sigue el estándar ANSI/ISO SQL:2003 Parte 11 Schemata. Nuestra intención es aproximar el cumplimiento de SQL: 2003 característica básica F021 Basic information schema.

Los usuarios de SQL Server 2000 (que también sigue el estándar) pueden ver una gran similitud. Sin embargo, MySQL omite varias columnas no relevantes para nuestra implementación, y añade columnas que són específicas de MySQL. Una de estas columnas es engine en la tabla INFORMATION_SCHEMA.TABLES.

Aunque otros DBMS usan una variedad de nombres, como syscat o system, el nombre estándar es INFORMATION_SCHEMA.

En efecto, tenemos una nueva base de datos llamada INFORMATION_SCHEMA, aunque no hay necesidad de hacer un fichero llamado así. Es posible seleccionar INFORMATION_SCHEMA como base de datos por defecto con un comando USE, pero la única forma de acceder al contenido de sus tablas es con SELECT. No puede insertar, actualizar o borrar su contenido.

Permisos

No hay diferencia entre el requerimiento de permisos para (SHOW) y para SELECT. En cada caso, debe tener algún permiso de un objeto para consultar información acerca del mismo.



Elaboraron: Todos

El archivo se puede descargar desde el siguiente enlace:


http://mx.briefcase.yahoo.com/bc/dosequipo/lst?.dir=/Investigaciones&.view=l