jueves, 4 de abril de 2013

Cuando se define un campo como null, este toma un valor no disponible, sin asignar, desconocido e inaplicable. Un valor null tiene un valor diferente a 0 o a un espacio en blanco. El 0 es un numero y el espacio en blanco es un carácter.

Definir Valores null en SQL

Cualquier columna puede contener valores null, al menos que estas sean declaradas como NOT NULL. Cuando es así, los campos de esta columna no pueden tener valores null. Si una de las columnas es declarada como clave primaria, esta se declara también como NOT NULL. Esto se debe a que la columna se usa para diferenciar las diferentes filas.

Cualquier expresión aritmética en SQL que opere con un valor null, tendrá un resultado null.

Definir Valores null en SQL

Cuando se define un campo como null, este toma un valor no disponible, sin asignar, desconocido e inaplicable. Un valor null tiene un valor diferente a 0 o a un espacio en blanco. El 0 es un numero y el espacio en blanco es un carácter.

Definir Valores null en SQL

Cualquier columna puede contener valores null, al menos que estas sean declaradas como NOT NULL. Cuando es así, los campos de esta columna no pueden tener valores null. Si una de las columnas es declarada como clave primaria, esta se declara también como NOT NULL. Esto se debe a que la columna se usa para diferenciar las diferentes filas.

Cualquier expresión aritmética en SQL que opere con un valor null, tendrá un resultado null.
Al realizar consultas con SQL (aunque el lenguaje es universal, reitero que trabajo y explico orientando hacia Oracle), se pueden usar las siguientes operaciones aritméticas:


  • Suma (+)
  • Resta (-)
  • Multiplicación (*)
  • División (/)



Las expresiones aritméticas pueden contener nombres de columnas, constantes numéricas y operaciones aritméticas. Al usar los operadores y expresiones aritméticas, en el retorno de la consulta se mostrará una nueva columna con la información resultante de la expresión y con el nombre de la expresión aritmética completa. Esa columna no hace parte de ninguna de las tablas usadas en la consulta.


En Oracle 9i se ignoran los espacios en blanco antes y después de la operación aritmética.

Prioridad de los operadores aritméticos

La prioridad de los operadores es igual que en la matemática que conocemos: 
  • Multiplicación (*) y división (/) tienen mayor prioridad que suma (+) y resta (-).
  • Los operadores con misma prioridad son leídos de izquierda a derecha.
  • Se pueden usar paréntesis para especificar la prioridad y evitar malentendidos. Además para facilitar la lectura y compresión de la expresión.

Expresiones Aritméticas en SQL

Al realizar consultas con SQL (aunque el lenguaje es universal, reitero que trabajo y explico orientando hacia Oracle), se pueden usar las siguientes operaciones aritméticas:


  • Suma (+)
  • Resta (-)
  • Multiplicación (*)
  • División (/)



Las expresiones aritméticas pueden contener nombres de columnas, constantes numéricas y operaciones aritméticas. Al usar los operadores y expresiones aritméticas, en el retorno de la consulta se mostrará una nueva columna con la información resultante de la expresión y con el nombre de la expresión aritmética completa. Esa columna no hace parte de ninguna de las tablas usadas en la consulta.


En Oracle 9i se ignoran los espacios en blanco antes y después de la operación aritmética.

Prioridad de los operadores aritméticos

La prioridad de los operadores es igual que en la matemática que conocemos: 
  • Multiplicación (*) y división (/) tienen mayor prioridad que suma (+) y resta (-).
  • Los operadores con misma prioridad son leídos de izquierda a derecha.
  • Se pueden usar paréntesis para especificar la prioridad y evitar malentendidos. Además para facilitar la lectura y compresión de la expresión.

miércoles, 3 de abril de 2013

Con la declaración SELECT se pueden realizar las siguientes funciones:

  • Proyección: Permite escoger columnas determinadas para ser retornadas a la hora de hacer una consulta.
  • Selección: Puede seleccionar las filas que serán mostradas a través de la consulta que realicemos.
  • Unión: Juntar información de 2 tablas diferentes, mediante la creación de un enlace entre ellas.
Declaración SELECT en SQL

Plantilla de la sentencia:
SELECT * | { [Distinct] columna|expresión [alias], ... }
FROM nombre_de_la_tabla;

En la sentencia, * hace que se seleccionen todas las columnas, Distinct elimina las tablas duplicadas, columna|expresión son las columnas expresiones a seleccionar y alias el nombre que mostrará la respectiva columna.

Si no se desea seleccionar todas las columnas, se puede eliminar el * y listar entre los {} solo las columnas que queremos que aparezcan en la consulta.

Declaración SELECT en SQL

Con la declaración SELECT se pueden realizar las siguientes funciones:

  • Proyección: Permite escoger columnas determinadas para ser retornadas a la hora de hacer una consulta.
  • Selección: Puede seleccionar las filas que serán mostradas a través de la consulta que realicemos.
  • Unión: Juntar información de 2 tablas diferentes, mediante la creación de un enlace entre ellas.
Declaración SELECT en SQL

Plantilla de la sentencia:
SELECT * | { [Distinct] columna|expresión [alias], ... }
FROM nombre_de_la_tabla;

En la sentencia, * hace que se seleccionen todas las columnas, Distinct elimina las tablas duplicadas, columna|expresión son las columnas expresiones a seleccionar y alias el nombre que mostrará la respectiva columna.

Si no se desea seleccionar todas las columnas, se puede eliminar el * y listar entre los {} solo las columnas que queremos que aparezcan en la consulta.
Oracle SQL

Como les comenté en las primeras entradas, en el blog explicaré los temas orientando todo hacia el motor  de base de datos Oracle. Existen tres tipos de elementos en las sentencias SQL:

  • Claves: Las declaraciones individuales SQL. Es decir, la declaración o sentencia sin agregarle las especificaciones. Por ejemplo: SELECT, FROM, WHERE, etc.
  • Clausulas: Parte de una declaración SQL. Se refiere a la información que se le dará a la clave para realizar la consulta. Por ejemplo: En un SELECT sería nombre_campo, en un FROM sería nombre_tabla.
  • Declaración: Son 2 o más clausulas combinadas. Por ejemplo: SELECT * FROM employees.
Para continuar con la temática, pueden guiarse con el libro Oracle 9i:SQL, con el que de hecho estoy trabajando.

Las declaraciones en SQL siguen las siguientes reglas (por lo general):

  • No distinción entre mayúscula y minúscula, al manos que se indique.
  • Pueden ser escritas en una o varias lineas.
  • Las claves no pueden ser divididas en varias lineas diferentes ni tampoco pueden ser abreviadas.
  • Las clausulas por lo general son colocadas en lineas diferentes para facilitar la lectura y su edición.
  • Los encabezados por efecto de una columna son escritos en mayúscula. En iSQL son justificados al centro. En SQL plus (el que usamos) los caracteres y fechas son justificados a la izquierda y los números a la derecha.

Oracle SQL

Oracle SQL

Como les comenté en las primeras entradas, en el blog explicaré los temas orientando todo hacia el motor  de base de datos Oracle. Existen tres tipos de elementos en las sentencias SQL:

  • Claves: Las declaraciones individuales SQL. Es decir, la declaración o sentencia sin agregarle las especificaciones. Por ejemplo: SELECT, FROM, WHERE, etc.
  • Clausulas: Parte de una declaración SQL. Se refiere a la información que se le dará a la clave para realizar la consulta. Por ejemplo: En un SELECT sería nombre_campo, en un FROM sería nombre_tabla.
  • Declaración: Son 2 o más clausulas combinadas. Por ejemplo: SELECT * FROM employees.
Para continuar con la temática, pueden guiarse con el libro Oracle 9i:SQL, con el que de hecho estoy trabajando.

Las declaraciones en SQL siguen las siguientes reglas (por lo general):

  • No distinción entre mayúscula y minúscula, al manos que se indique.
  • Pueden ser escritas en una o varias lineas.
  • Las claves no pueden ser divididas en varias lineas diferentes ni tampoco pueden ser abreviadas.
  • Las clausulas por lo general son colocadas en lineas diferentes para facilitar la lectura y su edición.
  • Los encabezados por efecto de una columna son escritos en mayúscula. En iSQL son justificados al centro. En SQL plus (el que usamos) los caracteres y fechas son justificados a la izquierda y los números a la derecha.

viernes, 22 de marzo de 2013

En las entradas anteriores, expliqué de manera básica como crear la estructura de una base de datos: Identificar las entidades, sus relaciones, la cardinalidad de dichas relaciones, los atributos y como llevar toda esta información a tablas (que es como se representan las bases de datos en los motores como Oracle).



Ahora, llegamos a una parte muy importante: ¿Como consultar la información presente en dichas tablas? Existen varias sentencias que se utilizarán para consultar las tablas y obtener exclusivamente la información que necesitamos. Para eso, estudiaremos las siguientes operaciones:
  • SELECT (Selección, proyección y unión)
  • Diferencia de Conjuntos
  • Producto Cartesiano
  • Re-Nombramiento
  • Proyección Generalizada
  • Funciones de Agregación
  • Reunión Externa
Cada una será actualizada con el correspondiente link a la entrada donde se explicara que hace cada operación y como se expresa en sentencias.

Álgebra Relacional

En las entradas anteriores, expliqué de manera básica como crear la estructura de una base de datos: Identificar las entidades, sus relaciones, la cardinalidad de dichas relaciones, los atributos y como llevar toda esta información a tablas (que es como se representan las bases de datos en los motores como Oracle).



Ahora, llegamos a una parte muy importante: ¿Como consultar la información presente en dichas tablas? Existen varias sentencias que se utilizarán para consultar las tablas y obtener exclusivamente la información que necesitamos. Para eso, estudiaremos las siguientes operaciones:
  • SELECT (Selección, proyección y unión)
  • Diferencia de Conjuntos
  • Producto Cartesiano
  • Re-Nombramiento
  • Proyección Generalizada
  • Funciones de Agregación
  • Reunión Externa
Cada una será actualizada con el correspondiente link a la entrada donde se explicara que hace cada operación y como se expresa en sentencias.