Como mencionaba al final de mi entrada anterior acerca del curso práctico de Silverlight, en esta ocasión tendremos la instalación de la base de datos Sakila y la presentación de la solución inicial para desarrollar la aplicación que llamaremos Sakila Online.
Instalación Sakila
Los archivos que contienen la definición de las tablas, relaciones, definiciones de integridad referencial y demás se encuentra disponible en:
En esta carpeta encontraremos los siguientes archivos:
- sakila-schema.sql Contiene la definición de la base de datos.
- sakila-data.sql Contiene los datos de ejemplo.
- sakila.mwb Definición de la base de datos construida usando el modelador de MySQL llamado Workbench
Entonces para realizar la instalación de Sakila en el motor de base de datos debemos asegurarnos que el servicio se encuentre en ejecución y que tengamos credenciales del usuario Root o en su defecto un usuario con permisos para creación de base de datos.
A continuación la secuencia de pasos para realizar la instalación:
- Extraer los archivos de sakila-db versión 0.8.zip a la carpeta de tu elección, por ejemplo, en d:\temp
- Ingresar a la línea de comandos de MySQL ejecutando el siguiente comando en el cmd de Windows que solicitará la contraseña del usuario root para ingresar.
D:\> mysql -u root -p
3. Una vez que estemos dentro de la línea de comandos de MySQL ejecutar el script sakila-schema.sql que creará la estructura de la base de datos Sakila con el siguiente commando:
mysql> source d:/temp/sakila-schema.sql;
4. Para comprobar que la base haya sido creada puedes ejecutar el siguiente comando que muestra las bases de datos existentes.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sakila |
| test |
+--------------------+
5 rows in set (0.00 sec)
Para observar las tablas podemos ejecutar los siguientes comandos marcados con negrita:
mysql> use sakila Database changed mysql> show tables; +----------------------------+ | Tables_in_sakila | +----------------------------+ | actor | | actor_info | | address | | category | | city | | country | | customer | | customer_list | | film | | film_actor | | film_category | | film_list | | film_text | | inventory | | language | | nicer_but_slower_film_list | | payment | | rental | | sales_by_film_category | | sales_by_store | | staff | | staff_list | | store | +----------------------------+ 23 rows in set (0.01 sec)
5. Finalmente, ejecutar el script sakila-data.sql que poblará de datos las tablas.
mysql> source d:/Temp/sakila-data.sql
Para comprobar que los datos fueron ingresados podemos ejecutar el siguiente comando que contará el número de películas.
mysql> select count(*) from film; +----------+ | count(*) | +----------+ | 1000 | +----------+ 1 row in set (0.00 sec)
Con lo que habremos culminado la instalación de la base de datos Sakila. Felicitaciones.
Solución inicial
Dado que el objetivo principal de este curso es abarcar la mayor parte de temas relacionados con Silverlight durante la construcción de la aplicación obviaremos ciertas explicaciones de temas que no se encuentren estrechamente relacionados, sin embargo, se tratará en la mayor parte citar un vínculo donde se pueda encontrar información complementaria de los temas que tratemos tangencialmente.
Ya que la aplicación a desarrollar está basada en Sakila, un ejemplo de base de datos que representa una tienda de renta de DVDs vamos a llamar a nuestra solución Sakila Online. El enfoque que daremos a la solución será del lado del cliente, es decir, enfocados a las acciones que el cliente puede realizar, por ejemplo, consultar o rentar una película.
La solución inicial consta de dos proyectos: uno de tipo aplicación web y otro de aplicación de navegación Silverlight como muestra la imagen a continuación.

El proyecto inicial está disponible en:
En la próxima entrada definiremos las funcionalidades que implementaremos, explicaremos cada uno de los archivos creados en la plantilla del proyecto de navegación de Silverlight y finalmente comenzaremos la definición de algunas interfaces usando XAML.
Gracias por sus comentarios y sugerencias.



