En esta sección vamos crear una base de datos de SQLite y cómo crear una tabla usando la aplicación DB4S.
Crear una base de datos SQLite.
En la sección anterior vimos cómo instalar la aplicación “DB Browser for SQLite”, usaremos esta para crear nuestra base de datos SQLite de la forma fácil.
Si no hubiéramos instalado la aplicación DB4S y hubiéramos descargado las herramientas que se proporcionan en el sitio web de SQLite tendríamos que ejecutar, en una ventana de comando de Windows, algo como esto para crear nuestra base de datos:
Las sentencias anteriores crearían una base de datos de SQLite vacía llamada “mi-base-de-datos.db” en la carpeta donde hayamos ejecutado el comando sqlite3.exe. Pero nosotros lo haremos más fácil usando la aplicación “DB Browser for SQLite”.
Creando una base de datos SQLite con la aplicación DB4S.
Abre o ejecuta la aplicación “DB Browser for SQL” (DB4S) como vimos en la sección anterior, dando doble clic sobre el acceso directo de ese programa que debe de estar en el escritorio de Windows de tu computadora.
Una vez abierta la aplicación, oprime el botón “New Database” (nueva base de datos), se abrirá una ventana donde podrás indica rla carpeta y el nombre del archivo de tu nueva base de datos. En mi caso, previamente cree una carpeta llamada “sql-basico” en la unidad C: de mi computadora y es ahí donde guardaré mi base de datos. En “Nombre de archivo:” escribiremos el nombre de la base de datos, la cual nombraremos “mi-primera-base-de-datos.db”. Tú puedes seleccionar la carpeta de tu preferencia. Puedes también darle el nombre que gustes a tu archivo de base de datos, pero procura nombrar el archivo como se indica, para futuras referencias. Oprime el botón “Guardar” para crear y guardar el archivo de base de datos.
Una vez guardado elarchivo de base de datos, la aplicación nos mostrará el diálogo “Edit table definition” (editar definición de la tabla). Este diálogo nos permite crear la tabla interactiva y gráficamente, pero como el objetivo del curso es aprender SQL, por lo pronto ignoraremos este diálogo oprimiendo el botón “Cancel” (cancelar).
En la parte superior de la ventana principal de la aplicación aparecerá la ruta y el nombre de la base de datos con la que estamos trabajando actualmente, o también podemos decir que es la base de datos que tenemos “abierta”. Si no aparece ninguna, indica que no hemos “abierto” aún un archivo de base de datos. En mi caso aparece “C:\sql-basico\mi-primera-base-de-datos.db”. En su caso, la ruta del archivo puede aparecer diferente de acuerdo a la carpeta donde hayan escogido guardar su archivo de base de datos.
Crear una tabla usando SQL.
Vamos a escribir nuestra primera instrucción o comando SQL para crear una tabla. La aplicación contiene un editor de texto donde podemos escribir nuestras sentencias o instrucciones SQL. Para acceder a este editor seleccionamos la pestaña “Execute SQL” y escribimos tal cual la sentencia que se muestra en el área de texto en la imagen siguiente.
En esta pestaña podemos editar, cargar, guardar, ejecutar nuestras sentencias SQL así como visualizar los resultados y grabar esos resultados en un archivo. Estas funciones las iremos viendo poco a poco.
Nota: en este curso se evitará en lo posible escribir el texto de las sentencias para evitar el copiar-pegar solamente por parte del alumno. Se intenta obligar al alumno a escribir las sentencias para una mejor comprensión.
Una vez escrita la sentencia, oprima el botón o herramienta “Execute all/selected SQL” (Ejecutar todo/SQL seleccionado) de la barra de herramientas para ejecutar la sentencia SQL que acabamos de escribir. En la imagen siguiente, encerrado con rojo, se muestra la ubicación de dicha herramienta. Tiene la forma de una punta de flecha que s eusa normalmente en los aparatos de reproducción.
Si la ejecución de la orden o instrucción se hizo de forma correcta, aparecerán los siguientes mensajes en el cuadro de texto que se encuentra en la parte inferior de la ventana:
Execution finished without errors.
Result: query executed successfully. Took 21 ms.
At line 1:
Sentencia..
Traduciendo los mensajes indican: “Ejecución terminada sin errores. Resultado: consulta ejecutada exitosamente. Tomó 21 ms. En linea 1: Sentencia…”
Si, arrojó este mensaje, indica que la sentencia se ejecutó correctamente. Sino fuera este el mensaje, revisa que la sentencia esté bien escrita, tal y como se mostró anteriormente.
Si seleccionamos la pestaña “Database Structure” (Estructura de la base de datos) deberá aparecer en la lista de tablas, una nueva tabla llamada “empleado”:
Esta pestaña nos permite visualizar la tablas, indices, vistas y disparadores que existen en la actual base de datos abierta. Así como crear visualmente tablas, índices e imprimir la estructura. Algunas de estas funciones las veremos más adelante.
Si observamos en la misma imagen anterior, veremos que el botón “Write Changes” (Escribir cambios) se activó, esto es debido a que hicimos un cambio en la base de datos: agregamos una tabla. Para hacer los cambios permanentes en la base de datos, es decir, que se guarden, oprimimos este botón. Una vez hecho esto, el botón nuevamente se desactivará. Este botón se activara y desactivara cuando hagamos algún cambio en la estructura o datos en la base de datos y cuando guardemos esos cambios. Si se intenta cerrar la base de datos o cerrar la aplicación y hay cambios pendientes, la aplicación nos preguntará si queremos guardar los cambios antes de cerrar la base de datos o salir de la aplicación.
La sentencia pudo haberse escrito toda en mayúsculas o toda en minúsculas y no afecta su ejecución. se escribieron a propósito con letras mayúsculas las palabras llamadas “reservadas” o palabras “clave” propias del lenguaje SQL. Es decir que esas palabras no pueden ser usadas para dar nombres a la tablas o a los campos. Si lo hiciéramos, al ejecutar la sentencia nos mandaría un aviso de error y la sentencia no se ejecutaría. En minúsculas se encuentras las palabras o nombres que asignamos a la tabla y a los campos. Enseguida veremos la sintaxis u orden en la que se debe escribir correctamente la sentencia CREATE TABLE.
La sentencia CREATE TABLE.
La sentencia o comando CREATE TABLE sirve para crear nuevas tablas en la base de datos. Cada motor de base de datos, en su documentación, describe la forma correcta de escribir esta orden o sentencia. Los grandes motores de base de datos tanto comerciales, como ORACLE o SQL SERVER, o las de código abierto como MYSQL o POSTRESQL, pueden implementar esta orden con ligeras variaciones. Pero por lo general la orden tiene la misma estructura básica.
La sintaxis u orden que debe respetar la sentencia en su forma básica es la siguiente:
CREATE TABLE nombre-tabla ( nombre-campo1 TIPO-DATO-1, nombre-campo2 TIPO-DATO-2, .. nombre-campoN TIPO-DATO-N );
La sentencia CREATE TABLE va seguida de un espacio y el nombre que le asignaremos a la tabla, en la sentencia que escribimos le estamos asignado el nombre de “empleado”. Seguido del nombre de la tabla y entre paréntesis, se listan de uno a varios pares de elementos separados por comas. Dichos pares de elementos son el nombre que le daremos a la columna o campo de la tabla y el tipo de dato que van a contener separados por un espacio. En nuestra sentencia definimos 6 campos llamados clave, nombre, apellido_paterno, apellido_materno, fecha_nacimiento y sueldo; de tipos de datos INTEGER , TEXT y NUMERIC:
tanto el nombre de la tabla y los campos es preferible escribirlos en minúsculas y sin espacios por convención. El último par de elementos columna – tipo de dato no lleva coma final y va antes del cierre del paréntesis. Las sentencias SQL deben terminar con un punto y coma (;). ¿Que es un tipo de dato? Enseguida lo veremos.
Los tipos de datos.
Cada motor de base de datos implementa diferentes tipos de datos. ¿Pero que es un tipo de dato? Cuando definimos campos o columnas debemos definir con anterioridad que datos van a contener. Una columna de una tabla puede contener sólo números o sólo letras o combinación de ambos. O puede que vaya contener fechas o valores falso y verdadero, o números con punto decimal como cuando queremos guardar cantidades que representan cantidades de alguna moneda, o sólo números enteros, etc.
Cada motor de base de datos define el tipo de datos que podemos dar a nuestros campos. Unas bases de datos tiene más variedad de tipos de datos que otras. El motor de base de datos que estamos usando, SQLite, define sólo cuatro tipos de datos: INTEGER, TEXT, BLOB, REAL y NUMERIC. Los nombres de lo tipos de datos no es necesario escribirlos en mayúsculas pero es buena práctica hacerlo. Estos nombres tampoco pueden ser usados para nombrar tablas o campos, ya que son palabras reservadas por el lenguaje SQL de SQLite. Enseguida definiremos los distintos tipos de datos que maneja SQLite.
INTEGER: la columna que se define con este tipo de dato, sólo aceptará números enteros.
TEXT: este tipo de datos aceptará tanto números como letras y caracteres especiales.
BLOB: acepta almacenar en él archivos de documentos, imágenes, audio o videos.
REAL: en él se pueden almacenar números con punto decimal.
NUMERIC: almacena números con punto decimal, peor a diferencia del REAL, se le debe indicar cuántos decimales va a soportar.
Como podemos ver, SQLite no maneja un tipo de dato para guardar fechas. Sin embargo SQLite permite guardar y manipular fechas en TEXT, REAL o INTEGER. Más adelante veremos como lo hace.
Estructura de una tabla.
Antes de crear una tabla es importante definir su estructura, es decir que campos va a contener y de que tipo de datos, que restricciones van a tener los datos, su clave primaria, etc.. En nuestra tabla que creamos sólo definimos campos y sus tipos, algunos de los otros elementos que conforman la estructura de una tabla los veremos más adelante.
Hasta el momento la tabla creada no contiene datos, decimos que está vacía. ¿Que pasa si posteriormente queremos modificar la estructura de la tabla que creamos? Borrar un campo o columna que nos dimos cuenta que no hace falta, o agregar uno que olvidamos. O si simplemente esa tabla ya no nos interesa y la queremos eliminar. Eso lo veremos en la siguiente sección.
¡Hasta pronto!
[…] siguientes iremos aprendiendo al mismo tiempo alguna funcionalidades de este programa. en la siguiente sección veremos como crear una base de datos SQLite y crear nuestra primera […]
[…] la sección anterior vimos como crear nuestra primera base de datos SQLite y añadir una tabla mediante el lenguaje SQL. […]