lunes, 21 de octubre de 2013

Standard Query Language (SQL)







SQL (Standar Query Lenguaje) es un lenguaje estandarizado de base de datos, el cual nos permite realizar tablas y obtener datos de ella de manera muy sencilla. Para exponer mas claramente los conceptos se realizaran ejemplo sobre relaciones que se crearan aquí para entender mejor como funciona SQL.
Cuando aquí nos refiramos a relación estamos hablando mas concretamente a la tabla de datos en si, y sus atributos serán los campos de la tabla. Como ejemplo la siguiente relación ( tabla ) la llamaremos persona y sus atributos ( campos ) son nombre, apellido Y DNI


PERSONA
NOMBRE
APELLIDO
DNI
1
MARTIN
MARQUESI
26125988
2
PABLO
MARQUESI
25485699
3
ROBERTO
SANCHEZ
20566401
4
ESTEFANIA
GUISSINI
27128064
5
RUBEN
ALEGRATO
24238975
6
SANDRA
BRITTE
25483669
7
MELISA
ARDUL
27456224
8
SOLEDAD
MICHELLI
29889656
9
BETANIA
MUSACHEGUI
27128765
10
JUAN
SERRAT
28978845



Características generales del SQL
El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales y permite así gran variedad de operaciones.
Es un lenguaje declarativo de "alto nivel" o "de no procedimiento" que, gracias a su fuerte base teórica y su orientación al manejo de conjuntos de registros —y no a registros individuales— permite una alta productividad en codificación y la orientación a objetos. De esta forma, una sola sentencia puede equivaler a uno o más programas que se utilizarían en un lenguaje de bajo nivel orientado a registros. SQL también tiene las siguientes características:
·       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, 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).
·       Timestamp: 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, el 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 gravemente 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