LENGUAJE SQL.

  DEFINICION.

SQL significa Structured Query Language. SQL se utiliza para comunicarse con una base de datos.

De acuerdo con ANSI (American National Standards Institute), es el lenguaje estándar para sistemas de gestión de bases de datos relacionales.

Las sentencias SQL se utilizan para realizar tareas como actualizar datos en una base de datos o recuperar datos de una base de datos.

Algunos sistemas de gestión de bases de datos relacionales comunes que utilizan SQL son: Oracle, MySQL, Microsoft SQL Server, Access, Ingres.

Aunque la mayoría de los sistemas de base de datos utilizan SQL, la mayoría de ellos también tienen sus propias extensiones propietarias que usualmente sólo se utilizan en su sistema.

Sin embargo, los comandos SQL estándar como "Seleccionar", "Insertar", "Actualizar", "Eliminar", "Crear" y "Eliminar" se pueden utilizar para lograr casi todo lo que se necesita hacer con una base de datos.

Un sistema de base de datos relacional contiene uno o más objetos denominados tablas.

Los datos o información para la base de datos se almacenan en estas tablas. Las tablas se identifican de forma única por sus nombres y están formadas por columnas y filas.

Las columnas contienen el nombre de la columna, el tipo de datos y cualquier otro atributo para la columna.

Una base de datos consiste fundamentalmente un una o más tablas.

Cada tabla consiste en una o más columnas llamadas "campos", y una o más filas llamadas "registros". Cada columna o campo contiene un tipo de dato diferente y cada fila o registro contiene una "entidad", es decir objeto, persona que está registrado como un ente único.

La intersección de cada columna o "campo" con cada fila o "registro" es una "celda". La celda es la unidad mínima de la base de datos, y en cada una de ellas sólo podemos guardar un dato.

Cada base de datos (dentro de MySQL) debe tener un nombre único que la distinga de las demás. De la misma forma cada tabla, dentro de cada base de datos, debe tener también su nombre, no pudiendo haber nombres repetidos para distintas tablas dentro de una misma base.

Dentro de cada tabla, cada columna o "campo" tiene también un nombre. No puede haber dos columnas con el mismo nombre dentro de una tabla.


El lenguaje SQL:

El lenguaje SQL sirve para manejar las bases de datos, es un lenguaje de texto plano, que podemos usar desde cualquier editor de textos. Nos permite acceder y manipular las bases de datos. Para usarlo con páginas web debemos usarlo conjuntamente con otros lenguajes. En la página anterior de este manual indicamos cómo usar SQL junto a PHP para bases en MySQL, por lo que no vamos a insistir en ello.

Con SQL podemos hacer entre otras las siguientes operaciones en el programa que gestiona las bases de datos:

Crear nuevas bases de datos.
Crear nuevas tablas en una base de datos.
Crear nuevos registros en las tablas de una base de datos
Crear tablas de consulta en una base de datos.
Borrar tablas o bases de datos.
Borrar registros.
Cambiar uno o varios datos de un registro.
Mostrar los datos de una tabla o consulta.
Buscar y mostrar sólo algunos datos de una tabla o consulta, poniendo una serie de condiciones para la búsqueda.

Es decir, el lenguaje SQL permite gestionar una base de datos en su totalidad. Con MySQL y PHP podemos hacer todas estas operaciones desde un sitio web.

Principales Características de SQL

La solvencia, versatilidad y consistencia de las bases de datos relacionales y de SQL, hacen de este lenguaje uno de los más importantes útiles y demandados para analizar datos.

Estas son algunas de las principales características de SQL, y por lo que es tan popular y básico dentro del mundo del análisis de datos:

Integridad de los datos.
Lenguaje estandarizado.
Sencillez y claridad.
Flexibilidad.

Integridad de los datos

Cuando hablamos de integridad de los datos, nos referimos a asegurar que los datos sean válidos, correctos y completos. SQL y las bases de datos relacionales tienen la función de preservar esta integridad.

Lenguaje estandarizado

Que SQL sea un lenguaje estandarizado quiere decir que se pueden desplegar implementaciones del mismo lenguaje SQL en diferentes sistemas. De esta manera se puede utilizar el mismo código para todos ellos.

Sencillez y claridad

SQL es un lenguaje integral desde el punto de vista conceptual, esto quiere decir que SQL es un lenguaje unificado, claro y simple, de fácil comprensión.

Flexibilidad

Una de las razones por las que SQL es un lenguaje tan utilizado es por su flexibilidad, dada su versatilidad a la hora de implantar soluciones y por permitir definir diferentes formas de ver los datos para satisfacer las especificaciones requeridas por parte del usuario.

El lenguaje SQL se compone de sentencias. Cada sentencia es una instruccón que enviamos a la base de datos. En las sentencias se incluyen dos tipos de palabras: las palabras clave propias del lenguaje SQL y los datos de la base (datos individuales, nombres de bases, tablas o columnas. etc.);

El lenguaje SQL NO DISTINGUE entre mayúsculas o minúsculas en sus palabras clave. es decir podemos escribir tanto "select" como "SELECT". Sin embargo en los nombres de bases de datos, tablas, columnas y otros elementos de la base SI se distingue, por lo que éstos debemos ponerlos tal como están en la base.

La mayoría de los manuales sobre SQL escriben las palabras clave propias de SQL en mayúsculas, para distinguir entre palabras clave y nombres de elementos de la base o datos. Nosotros en este manual lo haremos también así.

Cada sentencia empieza por una palabra que es un verbo e indica lo que queremos hacer (create, drop, select, update, etc) seguido por el nombre del tipo de elemento al que afecta. Esto último puede ser una o varias palabras. Además también pueden usarse algunas preposiciones o adverbios que indiquen restricciones o el tipo de búsqueda (where = condición, from = restringe a el elemento indicado luego, etc.). Sabiendo un poco de inglés el lenguaje SQL puede resultar un tanto lógico ya que estamos indicando lo que queremos hacer. Por ejemplo la instrucción:

SELECT nombre, telefono FROM agenda

Indica que queremos seleccionar (SELECT) los campos "nombre" y "telefono" dentro de la tabla llamada "agenda".

Acabar cada sentencia con un punto y coma es opcional, sin embargo es lo más recomendable, ya que si bien en MySQL esto es opcional, podría haber problemas con otros tipos de sistemas para bases de datos.

Al igual que otros lenguajes de programación como html, css o php, en SQL también se ignoran los espacios en blanco de más, las tabulaciones y los saltos de línea, es decir escribir más de un espacio en blanco o un salto de línea con tabulación o sin ella tiene el mismo efecto que escribir sólo un espacio en blanco, con lo cual el programador puede aprovechar esto para poner el código de una manera clara y estructurada.


Tipos de sentencias

DCL : Lenguaje de Control de Datos : (Data Control Languaje) Entran aquí las sentencias para controlar las funciones de administración y control de las bases.


Lenguaje de definición de datos
: El LDD de SQL proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones de los esquemas de relación.
Lenguaje interactivo de manipulación de datos: El LMD de SQL incluye lenguajes de consultas basado tanto en álgebra relacional como en cálculo relacional de tuplas.
Integridad: El LDD de SQL incluye comandos para especificar las restricciones de integridad que deben cumplir los datos almacenados en la base de datos.
Definición de vistas: El LDD incluye comandos para definir las vistas.
Control de transacciones: SQL tiene comandos para especificar el comienzo y el final de una transacción.
SQL incorporado y dinámico: Esto quiere decir que se pueden incorporar instrucciones de SQL en lenguajes de programación como: C++, C, Java, PHP, Cobol, Pascal y Fortran.
Autorización: El LDD incluye comandos para especificar los derechos de acceso a las relaciones y a las vistas.

Tipos de Datos

Algunos de los tipos de datos básicos de SQL son:
Date: una fecha de calendario que contiene el año (de cuatro cifras), el mes y el día.
Time: La hora del día en horas minutos segundos (el valor predeterminado es 0).
Datetime: la combinación de Date y Time.

Optimización

Como ya se dijo antes, y suele ser común en los lenguajes de acceso a bases de datos de alto nivel, SQL es un lenguaje declarativo. O sea, que especifica qué es lo que se quiere y no cómo conseguirlo, por lo que una sentencia no establece explícitamente un orden de ejecución.
El orden de ejecución interno de una sentencia puede afectar seriamente a la eficiencia del SGBD, por lo que se hace necesario que éste lleve a cabo una optimización antes de su ejecución. Muchas veces, el uso de índices acelera una instrucción de consulta, pero ralentiza la actualización de los datos. Dependiendo del uso de la aplicación, se priorizará el acceso indexado o una rápida actualización de la información. La optimización difiere sensiblemente en cada motor de base de datos y depende de muchos factores.
Existe una ampliación de SQL conocida como FSQL (Fuzzy SQL, SQL difuso) que permite el acceso a bases de datos difusas, usando la lógica difusa. Este lenguaje ha sido implementado a nivel experimental y está evolucionando rápidamente.



No hay comentarios.:

Publicar un comentario