SQL (por sus siglas en inglés Structured Query Language; en español lenguaje de consulta estructurada) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en ellas. Una de sus características es el manejo del álgebra y el cálculo relacional que permiten efectuar consultas con el fin de recuperar, de forma sencilla, información de bases de datos, así como hacer cambios en ellas.
VENTAJAS DE
SQL SERVER
- Es un sistema de gestión de base de datos.
- Es útil para manejar y obtener datos de la red de redes.
- Nos permite olvidarnos de los ficheros que forman la base de datos.
- Si trabajamos en una red social nos permite agregar otros servidores de SQL Server. Por ejemplo dos personas que trabajan con SQL Server, uno de ellos se puede conectar al servidor de su otro compañero y así se puede ver las bases de datos del otro compañero con SQL Server.
- SQL
permite administrar permisos a todo. También permite que
alguien conecte su SQLO al nuestro pero sin embargo podemos decirle que no
puede ver esta base de datos pero otro si.
DESVENTAJAS DE SQL
SERVER
- Utiliza mucho la memoria RAM para las instalaciones y utilización de software.
- No se puede utilizar como practicas porque se prohíben muchas cosas, tiene restricciones en lo particular.
- La relación, calidad y el precio esta muy debajo comparado con oracle.
- Tiene muchos bloqueos a nivel de página, un tamaño de página fijo y demasiado pequeño, una pésima implementación de los tipos de datos variables.
CARACTERÍSTICAS GENERALES DE SQL
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:
TIPOS DE DATOS
Algunos de los tipos de datos
básicos de SQL son:
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.
VERSIONES
El código fuente original de SQL Server que fue
utilizado en las versiones previas a la versión 7.0 habría sido comprado de Sybase,
pero fue actualizado en las versiones 7.0 y 2000, y reescrito en la versión
2005. Generalmente, cada 2-3 años, una nueva versión es lanzada y, entre
estos lanzamientos, se proponen service packes con mejoras y correcciones de bugs, y hotfixes por problemas urgentes en el sistema
de seguridad o bugs críticos.
HISTORIA DE VERSIONES |
Versión
|
Año
|
Nombre de la
versión
|
Nombre clave
|
1.0
(OS/2) |
1989
|
SQL Server 1-0
|
SQL
|
4.21
(WinNT) |
1993
|
SQL Server 4.21
|
SEQUEL
|
6.0
|
1995
|
SQL Server 6.0
|
SQL95
|
6.5
|
1996
|
SQL Server 6.5
|
Hydra
|
7.0
|
1998
|
SQL Server 7.0
|
Sphinx
|
-
|
1999
|
SQL Server 7.0
OLAP Tools |
Plato
|
8.0
|
2000
|
SQL Server 2000
|
|
8.0
|
2003
|
SQL Server 2000
64-bit Edition |
Libertoz
|
9.0
|
2005
|
SQL Server 2005
|
Yukon
|
10.0
|
2008
|
SQL Server 2008
|
Katmai
|
10.25
|
2010
|
SQL Azure DB
|
CloudDatabase
|
10.50
|
2010
|
SQL Server 2008 R2
|
Kilimanjaro
|
11.0
|
2012
|
SQL Server 2012
|
Denali
|
12.0
|
2014
|
SQL Server 2014
|
SQL14 (antes
Hekaton)
|
La sigla
SQL significa Structured Query Language, o su equivalente en Español Lenguaje
de Pregunta Estructurado, Este es un lenguaje Universal que esta implementado
en todos los Motores de Bases de Datos razón por la cual el SQL es el
lenguaje estándar de comunicación entre los diferentes Motores existentes.
La creación de este lenguaje es sin duda alguna uno de los más importantes avances en el mundo de las bases de datos, si este no existiera, el tiempo que tomaría pasar información de un MBD a otro, seria realmente extenso y haría de los MBD algo complicado. SQL es un lenguaje completamente normalizado que facilita el trabajo con cualquier tipo de lenguaje a la par con cualquier tipo de Base de Datos, sin embargo, esto no es equivalente a decir que es igual en todos los MBD, estos implementan diferentes funciones de acuerdo a la manera como mas favorezca al MBD, estas funciones no siempre funcionan en otros. |
RESEÑA HISTÓRICA DE SQL
El SQL
esta directa y estrechamente relacionado a las bases de datos, por lo tanto
nacen casi al mismo tiempo y en 1970 cuando Codd desarrolla el modelo
relacional, lo hace implementando con este un Lenguaje llamado SEQUEL, que
estaba basado en el desarrollo llevado a cabo en los laboratorios de la IBM.
El lenguaje tuvo tanto éxito que luego de unos años, IBM con su Motor System R. y Oracle lo hicieron parte de sus MBD, para luego evolucionar a lo que hoy conocemos como SQL, que luego se convierte en el lenguaje predilecto de todos los MBD, y en 1986 es estandarizado por el ANSI como SQL-86 o SQL I, que poco tiempo después también seria estandarizado por la ISO. En el año de 1992, se suprimen algunas funcionalidades y se implementan otras, dando así origen a el SQL-92 o SQL II, que es Lenguaje que se utiliza en este momento como predeterminado, sin embargo ya se trabaja en una nueva versión llamada SQL III. |
CARACTERÍSTICAS PRINCIPALES
• Lenguaje
que permite el acceso a las bases de datos
• Aprovecha al máximo el poder y la flexibilidad de los Sistemas Relacionales, lo cual facilita las operaciones necesarias sobre estos • Es un lenguaje declarativo de alto nivel • Permite una elevada productividad en codificación gracias a su base teórica. • Aparte de la facilidad para efectuar consultas, SQL también puede servir como LDD, LDV y LMD • Permite concesión y negación de permisos, restricciones de integridad, controles a la transacción y modificación de los esquemas • El lenguaje fue modificado con el fin de mantenerlo solo a nivel conceptual y externo • Se puede usar de manera Interactiva, para esto, las sentencias SQL se escriben y se llevan acabo en líneas de comandos • también puede usarse de manera Integrada, que esta dirigido a usuarios mas avanzados, que utilizan un lenguaje de programación anfitrión y el SQL como sublenguaje de datos • El SQL Estático es una técnica para el manejo embebido del SQL, y las sentencias que se utilizan no varían en ningún momento mientras se lleve a cabo la ejecución del programa • El SQL Dinámico también es una técnica para el uso embebido del SQL, pero a diferencia del SQL estático, esta modifica todas o gran parte de las sentencias mientras se ejecuta el programas • Para evitar problemas en el orden de ejecución interno, se debe llevar a cabo una optimización, antes de ejecutar las sentencias • Otra versión del SQL es el FSQL, que es el mismo SQL, pero basado en lógica difusa, para lógicamente ser implementado en bases de datos difusas |
SINTAXIS DE SQL
COMANDOS PARA DEFINICIÓN DE DATOS:
• CREATE
TABLE: Se utiliza para crear una nueva relación a la que se le asigna un
nombre y unos atributos:
• DROP TABLE: Borra una relación existente así como también sus atributos y la tupla asignada a esta relación • ALTER TABLE: Modifica la tabla, agrega un atributo a una de estas, además de cambiar la tupla del código de la Base de Datos • CREATE INDEX: Comando empleado para crear índices, estos índices se crean bajo un nombre y pueden ser eliminados cuando son innecesarios • DROP INDEX: Este comando es usado para borrar los índices de la tabla relacionada y la tupla del catalogo |
COMANDOS PARA MANIPULACIÓN DE DATOS:
• SELECT:
Esta instrucción tienen como fin, recuperar la información desde una base de
datos. Existen funciones que están relacionadas con el comando SELECT, por
ejemplo:
• DISTINCT: Antes de ejecutar la sentencia SELECT, esta instrucción borrara todos los errores de redundancia de datos que puedan existir. • COUNT: Se utiliza para obtener el numero de valores en la columna • SUM: Suma todos los elementos de una columna, siempre y cuando estos sean numéricos • AVG: Hace un promedio de los datos numéricos de una columna • MIN o MAX: Se usa para obtener el mayor o menor valor de una Columna • COUNT(*): Se implementa para contar la orientación de una tabla sin eliminación de valores duplicados • GROUP BY: Reordena virtual, lógicamente y en grupos una tabla • HAVING: Esta sentencia se usa para eliminar grupos de datos • ORDER BY: Ordena la tabla en un orden especifico • EXIST: Esta función es una especie de calificador de existencia, es decir, evalúa todos los precoseos lógicos y se cumple cuando el retorno de estos no son nulos • Una subconsulta se hace combinando el Parámetro SELECT con cualquiera de las anteriores Instrucciones • UPDATE: Se utiliza para modificar los atributos de una o mas tuplas seleccionadas • DELETE: Comando utilizado para borrar las tuplas desde una relación, si se digita solo, se borran todas, pero al combinarlo con el comando WHERE, se pueden seleccionar las tuplas que se van a borrar • INSERT: Agrega una tupla a una relación, para esto se debe especificar el nombre de la relación y una lista ordenada de valores que se agregaran a la tupla |
No hay comentarios:
Publicar un comentario