jueves, 22 de diciembre de 2016

restricciones al crear una tabla con SQL en LibreOffice Base (XIX)

LibreOffice Base
El siguiente caso que vamos a estudiar es la creación de una tabla con algunas restricciones dentro de nuestra base de datos de LibreOffice Base con la instrucción CREATE TABLE de SQL.






Observe la siguiente instrucción:

CREATE TABLE "Socios" ("ID" INT GENERATED BY DEFAULT AS IDENTITY
(START WITH  1, INCREMENT BY 1) PRIMARY KEY,
"Apellidos" VARCHAR(50) NOT NULL,
"Nombre" VARCHAR(50) NOT NULL,
"Especialidad" VARCHAR(100),
"Número socio"  INT,
"Fecha Alta" DATE  DEFAULT TODAY,
"Fecha Baja" DATE  DEFAULT TODAY,
"Estado" BOOLEAN,
"Ingresos" INT);

Con esta instrucción crearemos una tabla llamada Especialistas, el campo clave será ID que se lo hemos indicado con la cláusuala PRIMARY KEY, la cláusula GENERATED BY DEFAULT AS IDENTITY (START WITH  1, INCREMENT BY 1), indicará que es un campo autoincremental, que comienza en el valor uno y se incrementa en uno.

Seguidamente hemos declarado varios campos con la cláusula NOT NULL, los campos no tendrán valores nulos, no confundir con espacios.

La ayuda de LibreOffice lo explica muy bien, NULL es una cadena vacía es una cadena con longitud cero (""). Normalmente, un valor NULL no es lo mismo que una cadena vacía. En general, el termino NULL es usado para denotar un valor indefinido, un valor desconocido, o "un valor no ingresado aun.". Los sistemas de bases de datos varían y pueden manejar un valor NULL de manera diferente. Referirse a las documentaciones de las bases de datos que se están usando.

Para terminar tenemos unos campos tipo DATE, a los cuales les hemos incluido la cláusula DEFAULT TODAY, para que por defecto inserte la fecha del día

Los campos tipo DATE, TIME o TIMESTAMP  puede inicializarlos con CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, TODAY, NOW.

Si desea saber mas sobre los tipos de campos consulte el artículo, LibreOffice Base - Tipos de datos.

En primer lugar introduciremos nuestra instrucción SQL, haga clic en Herramientas - SQL... 

LibreOffice Base y SQL

Nos muestra el siguiente cuadro de diálogo, donde puede introducir sentencias SQL directas, visualizando el resultado en el campo estado y salida.

LibreOffice Base y SQL

Introduzca la sentencia en el campo Orden a ejecutar y haga clic en el botón Ejecutar.


Nos mostrará el estado de haber ejecutado esta instrucción en el cuadro de texto Estado, haga clic en el botón Cerrar.


En principio no muestra la nueva tabla que se ha creado.

LibreOffice Base y SQL

Haga clic en la barra de menú en la opción Ver - Actualizar tablas.

LibreOffice Base y SQL

Le mostrará la nueva tabla que creo con la ejecución directa de la  instrucción SQL.


Haga doble clic sobre ella para comprobar que se creo correctamente. Como hemos dicho al comienzo del capítulo los campos de Apellidos y Nombre pueden ir a espacios pero no los iniciará a nulos, las fecha en caso de no introducirlas las iniciará con la fecha del día.


En los próximos capítulos iremos viendo algunas variantes de esta instrucción SQL.

0 comentarios:

Publicar un comentario