¿QUÉ ES UNA BASE DE DATOS?
Una base de
datos se puede definir como un conjunto de información relacionada que se
encuentra agrupada ó estructurada.
Desde el
punto de vista informático, la base de datos es un sistema formado por un
conjunto de datos almacenados en discos que permiten el acceso directo a ellos
y un conjunto de programas que manipulen ese conjunto de datos.
Cada base de
datos se compone de una o más tablas que guarda un conjunto de datos. Cada
tabla tiene una o más columnas y filas. Las columnas guardan una parte de la
información sobre cada elemento que queramos guardar en la tabla, cada fila de
la tabla conforma un registro.
CONSULTA DE DATOS
Para
realizar consultas sobre las tablas de las bases de datos disponemos de la
instrucción SELECT. Con ella podemos consultar una o varias tablas. Es sin duda
el comando más versátil del lenguaje SQL.
Existen
muchas cláusulas asociadas a la sentencia SELECT (GROUP BY, ORDER, HAVING,
UNION).
Hay consultas simples, basadas en una sola tabla.
Veremos cómo obtener filas y columnas de una tabla en el orden en que nos haga
falta.
El resultado
de una consulta SELECT nos devuelve una tabla lógica. Es decir, los resultados
son una relación de datos, que tiene filas/registros, con una serie de
campos/columnas. Igual que cualquier tabla de la base de datos. Sin embargo
esta tabla está en memoria mientras la utilicemos, y luego se descarta. Cada
vez que ejecutamos la consulta se vuelve a calcular el resultado.
La sintaxis
básica de una consulta SELECT es la siguiente (los valores opcionales van entre
corchetes):
SELECT [ ALL /
DISTINC ] [ * ] / [ListaColumnas_Expresiones] AS [Expresion]
FROM
Nombre_Tabla_Vista
WHERE
Condiciones
ORDER BY
ListaColumnas [ ASC / DESC ]
CAMPOS DE UNA TABLA (SELECT )
SELECT *
FROM
CLIENTES
Con el *
indicamos que queremos devolver todos los campos. Si CLIENTES dispone de los
campos
idCliente, nombre y descripcion, lo anterior sería equivalente a:
SELECT
idCliente, nombre, descripcion
FROM
CLIENTES
Obviamente,
al querer todos los campos, esto es innecesario y es por tanto más conveniente
emplear el
asterisco (*). También sería equivalente emplear la notación completa:
SELECT
CLIENTES.idCliente, CLIENTES.nombre, CLIENTES.descripcion
FROM
CLIENTES
Al tener
únicamente una tabla involucrada, podemos referirnos a los campos sin
calificar, dado
que no hay
duda de a qué tabla se refiere. Cuando veamos consultas sobre varias tablas
comprenderemos
la necesidad de incluir esta notación calificada (TABLA.campo).
Devolver un
subconjunto de los campos de una tabla (SELECT DISTINCT)
SELECT cp,
ciudad
FROM
DIRECCION
Esta
consulta devolverá únicamente los campos cp (código postal) y ciudad de la
tabla
DIRECCION.
Al tener un subconjunto de los campos, éstos no tienen por qué incluir a la
clave
de la tabla,
por lo que no tienen por qué ser únicos. Así, si tenemos muchos registros
referidos
a distintas
calles y números de ese mismo código postal y ciudad, nos encontraremos muchos
registros
repetidos. Esto puede evitarse haciendo:
SELECT DISTINCT cp, ciudad
FROM CLIENTES
Así se
eliminan los registros repetidos, devolviendo únicamente una vez cada par cp,
ciudad.
Esta
selección de un subconjunto de los datos de la tabla y excluyendo repetidos se
denomina
en álgebra
relacional proyección.
No hay comentarios:
Publicar un comentario