Vous êtes sur la page 1sur 9

Base de datos relacional:

Una base de datos (BD), o mejor dicho, un sistema gestor de bases de datos
(SGBD), es un software que gestiona una o ms bases de datos y nos
permite explotar los datos almacenados en ellas de forma relativamente
simple mediante SQL.
Estructura mnima de almacenamiento:

Tabla: Objeto de almacenamiento perteneciente a una BD. Es una


estructura en forma de cuadrante donde se almacenan registros o
filas de datos. Cada tabla tiene un nombre nico en la BD.
Registro: Cada una de las filas de una tabla, est compuesto por
campos o atributos.
Campo: Cada uno de los cajoncitos de un registro donde se
guardan los datos. Cada campo tiene un nombre nico para la tabla
de la cual forma parte, adems es de un tipo (naturaleza)
determinado, por tanto no podemos guardar limones en el cajn de
las naranjas, en trminos informticos y a modo de ejemplo, no
encontraremos un dato alfanumrico (letras y nmeros) en un
campo diseado para guardar datos numricos. Dedicaremos una
leccin a los tipos de datos ms adelante.

Una BD contendr tablas que a su vez contendrn registros y en estos se


encontrarn los datos distribuidos en una serie de campos. Cada registro de
la tabla guarda la informacin particular de una unidad o miembro de un
mismo grupo. El SGBD cumple la funcin de interface entre el usuario y la
BD, permitindonos interactuar con ella mediante SQL.
1) Componentes de SQL
a) Comandos:

Existen dos tipos de comandos SQL:

los DLL que permiten crear y definir nuevas bases de datos, campos e ndices.

los DML que permiten generar consultas para ordenar, filtrar y extraer datos de
la base de datos.

Comandos DLL

Comando

Descripcin

CREATE

Utilizado para crear nuevas tablas, campos e ndices

DROP

Empleado para eliminar tablas e ndices

ALTER

Utilizado para modificar las tablas agregando campos o cambiando la definicin de los
campos.

Comandos DML

Comando

Descripcin

SELECT

Utilizado para consultar registros de la base de datos que satisfagan un criterio


determinado

INSERT

Utilizado para cargar lotes de datos en la base de datos en una nica operacin.

UPDATE Utilizado para modificar los valores de los campos y registros especificados

DELETE

Utilizado para eliminar registros de una tabla de una base de datos

b) Clusulas:

Las clusulas son condiciones de modificacin utilizadas para definir los datos que
desea seleccionar o manipular.
Clusula

FROM

Desc

Utili

WHERE

Utili

GROUP BY

Utili

HAVING

Utili

ORDER BY

Utili

c) Operadores Lgicos:
Operado
r

Uso

AND

Es el "y" lgico. Evala dos condiciones y devuelve un valor de verdad


slo si ambas son ciertas.

OR

Es el "o" lgico. Evala dos condiciones y devuelve un valor de verdad


si alguna de las dos es cierta.

NOT

Negacin lgica. Devuelve el valor contrario de la expresin.

d) Operadores de Comparacin

Operador

Uso

<

Menor que

>

Mayor que

<>

Distinto de

<=

Menor o Igual que

>=

Mayor o Igual que

Igual que

BETWEEN

Utilizado para especificar un intervalo de valores.

LIKE

Utilizado en la comparacin de un modelo

In

Utilizado para especificar registros de una base de datos

e) Funciones de Agregado:

Las funciones de agregado se usan dentro de una clusula SELECT en grupos de


registros para devolver un nico valor que se aplica a un grupo de registros.

Funcin

Descripcin

AVG

Utilizada para calcular el prome

COUNT

Utilizada para devolver el nme

SUM

Utilizada para devolver la suma

MAX

Utilizada para devolver el valor

MIN

Utilizada para devolver el valor

1) Consultas de Seleccin:
Las consultas de seleccin se utilizan para indicar al motor de
datos que devuelva informacin de las bases de datos, esta
informacin es devuelta en forma de conjunto de registros que se
pueden almacenar en un objeto recordset. Este conjunto de
registros es modificable.

a) Consultas bsicas:
La sintaxis bsica de una consulta de seleccin es la siguiente:
SELECT Campos FROM Tabla;
En donde campos es la lista de campos que se deseen recuperar y
tabla es el origen de los mismos, por ejemplo:
SELECT Nombre, Telefono FROM Clientes;
Esta consulta devuelve un recordset con el campo nombre y
telfono de la tabla clientes.

SELECT:
select NOMBRE , APELLIDOS
from EMPLEADOS
where SALARIO > 1350

Selecciname el NOMBRE y los APELLIDOS


de la tabla EMPLEADOS
cuyo SALARIO sea mayor a 1350
En general una consulta SQL simple tendr la siguiente forma:
select CAMPOS(separados por comas)
from TABLA
where CONDICION

Clusula SELECT: Donde indicamos los campos de la tabla que


queremos obtener, separados por comas. Responde a la pregunta:
Qu datos nos piden?
Clusula FROM: Donde indicamos en que tabla se encuentran estos
campos. Responde a la pregunta: Dnde estn los datos?
Clusula WHERE: Donde establecemos la condicin que han de
cumplir los registros de la tabla que sern seleccionados. Responde a
la pregunta: Qu requisitos deben cumplir lo registros? Es de hecho
donde se establece el filtro de registros, es decir, que registros sern
considerados para mostrar sus datos y cules no.
Jugamos un poco con el WHERE:
select NOMBRE , APELLIDOS
from EMPLEADOS
where SALARIO >= 1350 and SALARIO <= 1450
De esta forma nos mostrara el nombre y el apellido de los empleados cuyo
salario este entre 1350 y 1450.
En este caso se podra utilizar el operador BETWEEN:
select NOMBRE , APELLIDOS
from EMPLEADOS
where SALARIO between 1350 and 1450

b) Ordenar los registros


Adicionalmente se puede especificar el orden en que se desean
recuperar los registros de las tablas mediante la clusula ORDER
BY Lista de Campos. En donde Lista de campos representa los
campos a ordenar. Ejemplos:
select NOMBRE,APELLIDOS,SALARIO
from EMPLEADOS
order by SALARIO

Aqu seleccionamos los campos nombre apellido y el salario de la


tabla empleados con los datos ordenados por el salario, de menor a
mayor.
Por defecto viene ordenado de forma ascendente (ASC), es decir de
menor a mayor para obtener el resultado ordenado de mayor a
menor se debe indicar que la ordenacin es descendente (DESC)
select NOMBRE,APELLIDOS,SALARIO
from EMPLEADOS
order by SALARIO desc
Tambin se puede jugar un poco con esta consulta, indicando que ordene
dos campos.

select *
from MASCOTAS
order by ESTADO desc, NOMBRE asc
De esta forma le da prioridad al orden del campo ESTADO y luego al del
NOMBRE
Por Ejemplo:
Antes de ordenar:

ID_MASCO
TA
1
4
3
2

NOMBRE

ESPECIE

SEXO

ESTADO

Budy
Bruts
Canela
Nina

P
P
G
G

M
H
M
H

A
B
A
B

ID_MASCO
TA
4
2

NOMBRE

ESPECIE

SEXO

ESTADO

Bruts
Nina

P
G

H
H

B
B

1
3

Budy
Canela

P
G

M
M

A
A

Despus:

Aqu se puede notar que se le da prioridad a ESTADO, y como le


indicamos que el orden era descendente coloco primero B y luego A.
En cambio NOMBRE si fue ordenado de forma alfabtica al estar
ascendente.

c) Clausulas con Predicado :

Predicado

ALL

TOP

DISTINCT

DISTINCTROW

ALL
Si no se incluye ninguno de los predicados se asume ALL. El Motor de base
de datos selecciona todos los registros que cumplen las condiciones de la
instruccin SQL. No se conveniente abusar de este predicado ya que
obligamos al motor de la base de datos a analizar la estructura de la tabla
para averiguar los campos que contiene, es mucho ms rpido indicar el
listado de campos deseados.
SELECT ALL FROM Empleados;
SELECT * FROM Empleados;

TOP
Devuelve un cierto nmero de registros que entran entre al principio o al
final de un rango especificado por una clusula ORDER BY. Supongamos que
queremos recuperar los nombres de los 25 primeros estudiantes del curso
1994:
SELECT TOP 25 Nombre, Apellido FROM Estudiantes
ORDER BY Nota DESC;
Si no se incluye la clusula ORDER BY, la consulta devolver un conjunto
arbitrario de 25 registros de la tabla Estudiantes .El predicado TOP no elige
entre valores iguales. En el ejemplo anterior, si la nota media nmero 25 y
la 26 son iguales, la consulta devolver 26 registros. Se puede utilizar la
palabra reservada PERCENT para devolver un cierto porcentaje de registros
que caen al principio o al final de un rango especificado por la clusula
ORDER BY. Supongamos que en lugar de los 25 primeros estudiantes
deseamos el 10 por ciento del curso:
SELECT TOP 10 PERCENT Nombre, Apellido FROM Estudiantes
ORDER BY Nota DESC;
El valor que va a continuacin de TOP debe ser un Integer sin signo.TOP no
afecta a la posible actualizacin de la consulta.

DISTINCT
Omite los registros que contienen datos duplicados en los campos
seleccionados. Para que los valores de cada campo listado en la instruccin
SELECT se incluyan en la consulta deben ser nicos.
Por ejemplo, varios empleados listados en la tabla Empleados pueden tener
el mismo apellido. Si dos registros contienen Lpez en el campo Apellido, la
siguiente instruccin SQL devuelve un nico registro:
SELECT DISTINCT Apellido FROM Empleados;
Con otras palabras el predicado DISTINCT devuelve aquellos registros cuyos
campos indicados en la clusula SELECT posean un contenido diferente. El
resultado de una consulta que utiliza DISTINCT no es actualizable y no
refleja los cambios subsiguientes realizados por otros usuarios.

DISTINCTROW
Devuelve los registros diferentes de una tabla; a diferencia del predicado
anterior que slo se fijaba en el contenido de los campos seleccionados,
ste lo hace en el contenido del registro completo independientemente de
los campos indicados en la clusula SELECT.
SELECT DISTINCTROW Apellido FROM Empleados;
Si la tabla empleados contiene dos registros: Antonio Lpez y Marta Lpez el
ejemplo del predicado DISTINCT devuelve un nico registro con el valor
Lpez en el campo Apellido ya que busca no duplicados en dicho campo.
Este ltimo ejemplo devuelve dos registros con el valor Lpez en el apellido
ya que se buscan no duplicados en el registro completo.

Vous aimerez peut-être aussi