EL LENGUAJE SQL Y LOS SISTEMAS DE GESTIÓN DE
BASES DE DATOS.
El lenguaje S.Q.L.
S.Q.L. significa lenguaje estructurado de consulta (Structured Query Language). Es un
lenguaje estándar de cuarta generación que se utiliza para definir, gestionar y manipular la
información contenida en una Base de Datos Relacional.
Se trata de un lenguaje definido por el estándar ISO/ANSI SQL que utilizan los
principales fabricantes de Sistemas de Gestión de Bases de Datos Relacionales.
En los lenguajes procedimentales de tercera generación se deben especificar todos los
pasos que hay que dar para conseguir el resultado. Sin embargo en SQL tan solo
deberemos indicar al SGDB qué es lo que queremos obtener, y el sistema decidirá cómo
obtenerlo.
Es un lenguaje sencillo y potente que se emplea para la gestión de la base de datos a
distintos niveles de utilización: usuarios, programadores y administradores de la base de
datos.
¿Qué es una Base de Datos?
Una base de datos está constituida por un conjunto de información relevante para una
empresa o entidad y los procedimientos para almacenar, controlar, gestionar y administrar
esa información.
Además, la información contenida en una base de datos cumple una serie de requisitos o
características:
Los datos están interrelacionados, sin redundancias innecesarias.
Los datos son independientes de los programas que los usan.
Se emplean métodos determinados para incluir datos nuevos y para borrar, modificar o
recuperar los datos almacenados.
¿Qué es un Sistema de Gestión de Bases de Datos?
Lenguaje SQL Página 4
Un Sistema de Gestión de Bases de Datos (SGBD) es una aplicación comercial que
permite construir y gestionar bases de datos, proporcionando al usuario de la Base de
Datos las herramientas necesarias para realizar, al menos, las siguientes tareas:
• Definir las estructuras de los datos.
• Manipular los datos. Es decir, insertar nuevos datos, así como modificar, borrar
y consultar los datos existentes.
• Mantener la integridad de la información.
• Proporcionar control de la privacidad y seguridad de los datos en la Base de
Datos, permitiendo sólo el acceso a los mismos a los usuarios autorizados.
Nota.- La herramienta más difundida para realizar todas estas tareas es el lenguaje SQL.
Algunos de los productos comerciales más difundidos son:
• ORACLE de Oracle Corporation.
• DB2 de I.B.M. Corporation
• SYBASE de Sybase Inc.
• Informix de Informix Software Inc.
• SQL Server de Microsoft Corporation.
Tipos de Bases de Datos.
Existen básicamente tres tipos de bases de datos:
• Bases de Datos Jerárquicas.
• Bases de Datos en Red.
• Bases de Datos Relacionales.
Éstas últimas son, con diferencia, las más difundidas y utilizadas en la actualidad debido a
su potencia, versatilidad y facilidad de utilización. Se basan en el Modelo Relacional cuyas
principales características veremos a continuación. Para gestionarlas se utiliza el lenguaje
SQL.
El Modelo de Datos Relacional. Componentes.
El Modelo Relacional fue enunciado por E.F. Codd. Sus principales componentes son:
Lenguaje SQL Página 5
Entidad.
Es un objeto acerca del cual se recoge información relevante.
Ejemplo de entidades: EMPLEADO, CLIENTE, PRODUCTO.
Atributo.
Es una propiedad o característica de la entidad. Por ejemplo pueden ser atributos de la
entidad PERSONA los siguientes: DNI, NOMBRE, EDAD, ...
Tabla.
Son los objetos de la Base de Datos donde se almacenan los datos.
Ejemplo de tabla de empleados:
EMP_NO APELLID
O
OFICIO DIRECTO
R
FECHA_A
L
SALARIO COMISIO
N
DEP_NO
7499 ALONSO VENDEDOR 7698 20/02/8
1
140000 40000 30
7521 LOPEZ EMPLEADO 7782 08/05/8
1
135000 10
7654 MARTIN VENDEDOR 7698 28/09/8
1
150000
160000
30
7698 GARRIDO DIRECTOR 7839 01/05/8
1
385000 30
7782 MARTINE
Z
DIRECTOR 7839 09/06/8
1
245000 10
7839 REY PRESIDENT
E
17/11/8
1
600000 10
7844 CALVO VENDEDOR 7698 08/09/8
1
180000 0 30
7876 GIL ANALISTA 7782 06/05/8
2
335000 20
7900 JIMENEZ EMPLEADO 7782 24/03/8
3
140000 20
Normalmente una tabla representa una entidad aunque también puede representar una
asociación de entidades.
Las tablas están formadas por filas y columnas:
• Cada fila representa una ocurrencia de la entidad:
Lenguaje SQL Página 6
Ejemplo: Un empleado si es una tabla de empleados, un departamento si es una tabla
de departamentos, un cliente si se trata de una tabla de clientes, o un producto si es
una tabla de productos.
• Cada columna: Representa un atributo o característica de la entidad. Tiene un
nombre y puede tomar por un conjunto de valores.
Ejemplo: La tabla de empleados puede tener como columnas o atributos: numero de
empleado, nombre, fecha de alta, salario,...
Ejemplo de tabla de departamentos:
DEP_NO DNOMBRE LOCALIDAD
Fila 1 -> 10 CONTABILIDAD BARCELONA
Fila 2 -> 20 INVESTIGACION VALENCIA
Fila 3 -> 30 VENTAS MADRID
Fila 4 -> 40 PRODUCCION SEVILLA
Columna 1 Columna 2 Columna 3
A lo largo de este curso utilizaremos, además de las tablas de empleados y departamentos,
las tablas de clientes, productos y pedidos cuyo contenido es el siguiente:
TABLA DE CLIENTES:
CLIENTE_NO NOMBRE LOCALIDAD VENDEDOR_NO DEBE HABER LIMITE_CREDITO
---------- ------------------------- -------------- ----------- ---------- ---------- --------------
101 DISTRIBUCIONES GOMEZ MADRID 7499 0 0 500000
102 LOGITRONICA S.L BARCELONA 7654 0 0 500000
103 INDUSTRIAS LACTEAS S.A. LAS ROZAS 7844 0 0 1000000
104 TALLERES ESTESO S.A. SEVILLA 7654 0 0 500000
105 EDICIONES SANZ BARCELONA 7499 0 0 500000
106 SIGNOLOGIC S.A. MADRID 7654 0 0 500000
107 MARTIN Y ASOCIADOS S.L. ARAVACA 7844 0 0 1000000
108 MANUFACTURAS ALI S.A. SEVILLA 7654 0 0 500000
TABLA DE PRODUCTOS
PRODUCTO_NO DESCRIPCION PRECIO_ACTUAL STOCK_DISPONIBLE
----------- ------------------------------ ------------- ----------------
10 MESA DESPACHO MOD. GAVIOTA 55000 50
20 SILLA DIRECTOR MOD. BUFALO 67000 25
30 ARMARIO NOGAL DOS PUERTAS 46000 20
40 MESA MODELO UNIÓN 34000 15
50 ARCHIVADOR CEREZO 105000 20
60 CAJA SEGURIDAD MOD B222 28000 15
70 DESTRUCTORA DE PAPEL A3 45000 25
80 MODULO ORDENADOR MOD. ERGOS 55000 25
TABLA DE PEDIDOS
PEDIDO_NO PRODUCTO_NO CLIENTE_NO UNIDADES FECHA_PE
---------- ----------- ---------- ---------- --------
1000 20 103 3 06/10/99
1001 50 106 2 06/10/99
1002 10 101 4 07/10/99
1003 20 105 4 16/10/99
Lenguaje SQL Página 7
1004 40 106 8 20/10/99
1005 30 105 2 20/10/99
1006 70 103 3 03/11/99
1007 50 101 2 06/11/99
1008 10 106 6 16/11/99
1009 20 105 2 26/11/99
1010 40 102 3 08/12/99
1011 30 106 2 15/12/99
1012 10 105 3 06/12/99
1013 30 106 2 06/12/99
1014 20 101 4 07/01/00
1015 70 105 4 16/01/00
1016 30 106 7 18/01/00
1017 20 105 6 20/01/00
Relación.
Conexión que puede haber entre dos entidades.
Por ejemplo: Cliente-> compra-> Producto
Empleado-> pertenece a -> Departamento
En nuestras tablas podemos observar las siguientes relaciones:
- La tabla EMPLEADOS está relacionada con la tabla DEPARTAMENTOS
através de la columna DEP_NO (numero de departamento) que se encuentra en
ambas tablas. De esta forma podemos saber, por ejemplo que el empleado GIL
pertenece al departamento 20. Y si vamos a la tabla departamentos comprobaremos
que el departamento 20 es INVESTIGACION y se encuentra en VALENCIA. Por
tanto, el empleado GIL pertenece al departamento de INVESTIGACION que está en
VALENCIA.
- La tabla EMPLEADOS también se relaciona consigo misma mediante las
columnas EMP_NO y DIRECTOR. Cada empleado tiene un número de empleado
(EMP_NO) y suele tener también un DIRECTOR. Esta última columna contiene un
número de empleado que, suponemos, es el director del empleado en cuestión.
Así podemos saber que REY es el director de GARRIDO y de MARTINEZ; y que el
director de JIMENEZ es MARTINEZ, etcétera.
- La tabla PEDIDOS se relaciona con PRODUCTOS mediante la columna
PRODUCTO_NO y con CLIENTES mediante la columna CLIENTE_NO. De
esta forma sabemos que el pedido número 1000 lo ha realizado el cliente
INDUSTRIAS LACTEAS S.A. y que el producto solicitado es SILLA DIRECTOR
MOD. BUFALO a un precio de 67000, etcétera.
- La tabla CLIENTES se relaciona con EMPLEADOS por medio de la columna
VENDEDOR_NO de la primera que hace referencia a la columna
EMPLEADO_NO de la segunda. Así cada cliente tendrá asignado un vendedor.
Lenguaje SQL Página 8
El SGBD velará porque todas las operaciones que se realicen respeten estas restricciones
manteniendo así la integridad de la información.
¿ Qué podemos hacer con SQL?
Todos los principales SGBDR incorporan un motor SQL en el Servidor de Base Datos, así
como herramientas de cliente que permiten enviar comandos SQL para que sean
procesadas por el motor del servidor. De esta forma, todas las tareas de gestión de la Base
de Datos (BD) pueden realizarse utilizando sentencias SQL.
Consultar datos de la Base de Datos.
Insertar, modificar y borrar datos.
Crear, modificar y borrar objetos de la Base de Datos.
Controlar el acceso a la información.
Garantizar la consistencia de los datos.
Tipos de sentencias SQL.
Entre los trabajos que se pueden realizar en una base de datos podemos distinguir dos
tipos: definición y manipulación de datos. Por ello se distinguen dos tipos de sentencias
SQL:
• Sentencias de manipulación de datos. (Lenguaje de Manipulación de Datos
DML).
Se utilizan para:
Recuperar información. (SELECT)
Actualizar la información:
Añadir filas (INSERT)
Eliminar filas (DELETE)
Modificar filas (UPDATE)
• Sentencias de definición de datos. (Lenguaje de Definición de Datos DDL). Se
utilizan para:
- Crear objetos de base de datos (CREATE)
- Eliminar objetos de base de datos (DROP)
- Modificar objetos de base de datos (ALTER)
lunes, 6 de marzo de 2017
LENGUAJE DE PROGRAMACION SQLSERVER
5:59 p.m.
No comments
Suscribirse a:
Comentarios de la entrada (Atom)






0 comentarios:
Publicar un comentario