Publicado el 2 comentarios

SQL básico. Crear una base de datos SQLite y agregar una tabla.

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:

Creando una base de datos SQLite.

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.

Acceso directo.

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.

Selecciona “New Database” para crear un nuevo archivo de base de datos SQLite.
Especifica la carpeta y nombre del archivo donde se guardará la 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).

Diálogo de edición de la definición e una tabla.

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.

Barra de título mostrando la base de datos actualmente abierta.

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.

Escribir sentencia CREATE TABLE.

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.

Herramienta para ejecutar las sentencias SQL.

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…”

Área de mensajes del resultado de las sentencias SQL ejecutadas.

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”:

Se muestra la tabla empleado creada en la lista de tablas de la base de datos.

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:

Creando tabla empleado.

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!

IR A LA PAGINA DEL CURSO.

Publicado el 2 comentarios

SQL básico. La base de datos SQLite e instalación de la aplicación DB Browser for SQLite.

Para las practicas con el lenguaje SQL utilizaremos tanto el programa SQLite como el ambiente gráfico DB Browsser fo SQLite. Ambos son programas gratuitos.

El programa SQLite.

SQLite, en su sitio web, se define como una librería que implementa un motor de base de datos SQL pequeño, rápido, auto-contenido (la base de datos se encuentra en un solo archivo) , muy fiable y con muchas de las funciones del lenguaje SQL. Se dice que es el motor de base de datos más usado en el mundo y que está presente en celulares, computadoras y viene incluido en algunos programas que usamos comúnmente como los navegadores y otros.

Imagen del sitio web de SQLite

El código fuente de este sistema es de dominio público y es un programa de libre uso, es decir, no hay que pagar por usarlo. El programa esta echo en lenguaje C y funciona en muchos sistemas operativos: Windows, Linux, MacOS, etc.

Podríamos descargar el programa SQLite desde su sitio web, pero usarlo sería un poco complicado ya que la interfaz sería desde una consola de Windows asumiendo que vamos a trabajar bajo una computadora con alguna versión del sistema operativo Windows. Para hacer las prácticas con SQL y SQLite usaremos mejor un programa gráfico que les será más fácil de usar y que describiremos enseguida.

DB Browser for SQLite.

Existen varios clientes gráficos para usar y administrar una base de datos SQLite, sin embargo para nuestras prácticas usaremos el programa llamado “DB Browser for SQLite”, ya que este puede ser instalado en computadoras con sistemas operativos como Windows, MacOS o Linux; además que su uso es gratis.

Imagen del sitio de DB Browser for SQLite.

DB Browser for SQLite (DB4S para abreviar) se describe en su sitio Web, comos una herramienta de código abierto de alta calidad y visual, hecha para crear, diseñar y editar archivos de base de datos compatibles con SQLite. Instalando ese programa, ya no es necesario instalar SQLite.

DB4S esta para que usuarios y desarrolladores puedan crear, buscar y editar base de datos. Su interfaz se asemeja mucho a las ya conocidas hojas de cálculo y no es necesario conocer los comandos SQL.

Instalación de DB4S.

Para descargar el instalador del programa ve a la página de descarga de DB4S. Da clic sobre el enlace “DB Browser for SQLite – Standard installer for 32-bit Windows” si tienes Windows de 32 bits o sobre el enlace “DB Browser for SQLite – Standard installer for 64-bit Windows” si estás usando Windows de 64 bits. Como regla general, las computadoras modernas con Windows 10 son de 64 bits.

Página de descarga del instalador de DB4S.

Una vez descargado ejecuta el archivo descargado. El instalador del programa DB4S iniciará. Da clic en el botón “Next” (siguiente).

Pantalla inicial del instalador de DB4S.

Aceptamos los términos y condiciones del programa dando click para seleccionar el cuadro “I accept the terms in the License Agreement” y oprimimos el botón “Next”.

Aceptando los términos y condiciones de la licencia.

En la siguiente pantalla seleccionamos los cuadros “Desktop” y “Program Menu” para que instala un acceso directo en nuestro escritorio y en el menú de programas de Windows. Oprimimos “Next”.

Seleccionando accesos directos.

En la siguiente pantalla dejamos los valores por defecto y presionamos “Next”.

Seleccionar directorio de instalación.

Estamos listos para instalar el programa. Presionamos el botón “Install” para comenzar la instalación.

Inicia la instalación.

Aparecerá la pantalla de confirmación de seguridad de Windows de la instalación del programa. Seleccionamos el botón “Sí”.

Confirmar instalación del programa.

Comenzará la instalación del programa y al terminar, mostrará la pantalla de que la instalación fue completada en forma correcta. Presionamos el botón “Finish” para finalizar.

Instalación completada correctamente.

En nuestro escritorio deberá aparecer el siguiente acceso directo:

Acceso directo de DB4S

Damos doble clic sobre este para iniciar la aplicación. Deberá aparecer la siguiente pantalla, si es así, la instalación fue satisfactoria.

Aspecto de la aplicación DB4S.

Una vez comprobado que funciona, cerramos la aplicación ya sea cerrando la ventana dando click en el botón “X” o seleccionando la opción “Exit” del menú “File” de la aplicación.o presionando las teclas Ctrl – Q simultáneamente.

Cerrando la aplicación a través del menú “File”.

A como se vaya desarrollando el curso en las secciones 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 tabla.

¡Hasta pronto!

IR A LA PAGINA DEL CURSO.

Publicado el 1 comentario

SQL básico. El lenguaje SQL.

En el tema anterior vimos como se organiza una base de datos relacional, pero ¿cómo creamos las tablas o entidades? ¿Cómo mantenemos la información contenidas en las tablas? Es aquí donde entra el lenguaje SQL.

¿Que es el lenguaje SQL?

SQL son las siglas de Lenguaje Estructurado de Consultas en inglés (Structured Query Language). Es un lenguaje o conjunto de instrucciones y/o sentencias, que nos permiten tanto organizar nuestra base de datos relacional como dar mantenimiento a la información contenida en ella.

Toda base de datos relacional cuenta con el lenguaje SQL. Este lenguaje a su ves se divide en instrucciones para organizar la base de datos e instrucciones para manipular los datos.

El conjunto de instrucciones que sirven para organizar la base de datos reciben el nombre de “Lenguaje de Definición de Datos” (DDL por sus siglas en inglés) y son las encargadas principalmente de mantener la estructura de la Base de Datos, de los objetos contenidos en ella: tablas, vistas, restricciones, indices, etc..

Mientras que el conjunto de instrucciones SQL para manipular los datos, recibe el nombre de “Lenguaje de Manipulación de Datos” (DML por sus siglas en inglés), y sirve para mantener y extraer la información de la tablas o entidades: consultar, borrar, cambiar o agregar datos o registros.

Lenguaje de definición de datos (DDL).

Como vimos anteriormente, es la parte de SQL que se encarga de mantener u organizar los objetos de nuestra base de datos relacional. Los comandos o instrucciones más comunes son:

CREATE. Este comando sirve para crear los distintos objetos dentro de la base de datos ya sean tablas, vistas, procedimientos almacenados, etc.

ALTER. Este comando sirve para modificar los objetos que ya existen en la base de datos.

DROP. Esta instrucción es usada para borrar algún objeto existente en nuestra base de datos.

TRUNCATE. Este comando sólo aplica a los objetos tipo tabla y sirve para borrar sólo su contenido.

No todos los motores de base de datos relacionales implementan todos estos comandos SQL pero por lo general son comunes en el lenguaje SQL de todas las bases de datos. La forma de escribirlos, es decir, su sintaxis, varía de acuerdo al objeto de la base de datos a que haga referencia.

Lenguaje de manipulación de datos (DML).

Esta parte del lenguaje SQL se encarga de mantener la información en la tablas de la base de datos relacional, consultando, agregando, borrando y modificando datos. Los comandos más comunes son:

SELECT. Nos permite extraer o consultar los datos de las tablas.

INSERT. Añade nuevas filas o registros de datos a una tabla.

UPDATE. Modifica el valor de una o varias columnas o campos de uno o varios registros o filas.

DELETE. Borra una o varias filas o registros de una tabla.

Estos comandos por lo general se encuentran en todo lenguaje SQL de una base de datos relacional. Su sintaxis o forma de escribirlos puede varias de un motor de base de datos a otro.

En temas posteriores veremos con más detalle el uso de estos comandos, tanto de definición de datos como los de manipulación de datos. Para verlos en la práctica, vamos a usar un motor de base de datos liviano llamado SQLite. Una breve explicación de que es SQLite y la instalación del cliente gráfico “DB Browser for SQLite” lo veremos en la siguiente sección.

¡Saludos!

IR A LA PAGINA DEL CURSO.