La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Dr. Mario Rossainz López Aplicaciones WEB Primavera 2015.

Presentaciones similares


Presentación del tema: "Dr. Mario Rossainz López Aplicaciones WEB Primavera 2015."— Transcripción de la presentación:

1 Dr. Mario Rossainz López Aplicaciones WEB Primavera 2015

2 Bases de Datos Relacionales Una base de datos relacional puede contener un conjunto de tablas relacionadas entre sí. Cada tabla esta definida por una serie de campos y conformada por una lista de tuplas.

3 Bases de Datos Relacionales Los campos forman las columnas de la tabla, definen el tipo y variedad de datos. Las filas de los datos se denominan tuplas o registros A cada valor de un campo definido en una tupla se le denomina atributo. Las tablas pertenecientes a una base de datos relacional pueden “relacionarse” entre sí utilizando campos clave comunes entre las tablas.

4 Bases de Datos Relacionales

5 SQL (Structured Query Language) SQL es un lenguaje de manipulaciòn de bases de datos relacionales Las sentencias de SQL se dividen en dos grupos: DDL: Data Definition Language DML: Data Manipulation Language EJEMPLO: La sentencia CREATE pertenece al tipo DDL y permite crear tablas en una base de datos.

6 SQL (Structured Query Language) CREATE TABLE Clientes( DNI CHAR(10) NOT NULL PRIMARY KEY, Nombre CHAR(10) NOT NULL, Apellido CHAR(25) NOT NULL, );

7 SQL con una sola tabla AÑADIR una tupla en la tabla clientes: INSERT INTO Clientes(DNI,Nombre,Apellido) VALUES (‘123456789’,’Luis’,’Rodriguez’) Puesto que estamos añadiendo todos los campos, podemos prescindir de su enumeración: INSERT INTO Clientes VALUES (‘123456789’,’Luis’,’Rodriguez’)

8 SQL con una sola tabla Seleccionar atributos de campos en la tabla CLIENTES SELECT Nombre, Apellido FROM Clientes SELECT DNI, Nombre, Apellido FROM Clientes SELECT * FROM Clientes SELECT DNI FROM Clientes WHERE Nombre=‘Juan’ SELECT Apellido FROM Clientes WHERE Edad<18 AND Nombre=‘Jorge’

9 SQL con una sola tabla SQL permite incluir en sus condiciones los operadores:,>=,<> AND, OR, NOT IS NULL, IS NOT NULL LIKE, BETWEEN AND, IN, ALL, ANY, EXIST, etc. La palabra LIKE por ejemplo funciona en combinación con el carácter ‘%’ que hace de comodín, por ejemplo: SELECT * FROM Clientes WHERE Nombre LIKE ‘J%’

10 SQL con una sola tabla Si deseamos seleccionar todos los campos pertenecientes a las tuplas cuyos atributos EDAD se encuentran entre 15 y 30 años: SELECT * FROM Clientes WHERE Edad BETWEEN 15 AND 30 El operador IN permite trabajar con un conjunto de valores. Por ejemplo, para seleccionar los apellidos de los clientes que se llamen Jorge, Jesus o Elena podemos usar las sentencias: SELECT Apellido FROM Clientes WHERE Nombre=´Jorge´ OR Nombre=´Jesus´ OR Nombre=´Elena´ SELECT Apellido FROM Clientes WHERE Nombre IN (´Jorge´,´Jesus´,´Elena´)

11 SQL con una sola tabla BORRADO de tuplas: DELETE FROM Clientes WHERE Nombre=´Jorge´ AND Apellido=´Ramirez´ DELETE FROM Clientes WHERE Edad>=65 DELET FROM Clientes WHERE Nombre NOT IN ( ´Jorge´)

12 SQL con una sola tabla MODIFICANDO datos: UPDATE Clientes SET Edad=15 WHERE DNI=‘123456789’ UPDATE Clientes SET Nombre=´Ana´ WHERE Nombre=´Elena´

13 SQL con varias tablas CÓDIGONOMBREDIRECCIÓN 1Luis Miguel14 sur 505 2Beatriz16 de sept y 7 pte. 3Joaquin20 sur 303 altos ReferenciaNombrePrecioConcepto 1Sandias25.00Kilo 2Aceite40.00Litro 3Camisas350.00Unidad CÓDIGOReferenciaCantidad 115 3210 238 Clientes Productos Pedidos

14 SQL con varias tablas EJEMPLO: Seleccionar a partir de la tabla de PEDIDOS una lista con las direcciones a las que hay que enviar cada pedido y el nombre del destinatario. SELECT Nombre, Direccion, Referencia, Cantidad FROM Clientes, Pedidos WHERE Clientes.Codigo=Pedidos.Codigo SELECT Clientes.Nombre, Direccion, Productos.Nombre, Cantidad FROM Clientes, Productos, Pedidos WHERE Clientes.Codigo=Pedidos.Codigo AND Pedidos.Referencia=Productos.Referencia

15 SQL con varias tablas EJEMPLO: Seleccionar los clientes que han comprado algo (No deseamos que existan repeticiones, es decir, cada clientes que haya realizado una compra sólo aparecerá una vez): SELECT DISTINCT Nombre, Direccion FROM Clientes, Pedidos WHERE Clientes.Codigo=Pedidos.Codigo

16 SQL con varias tablas EJEMPLO: Selección más restrictiva buscando solamente los clientes que han comprado un producto: SELECT DISTINCT Nombre, Direccion FROM Clientes, Pedidos WHERE Clientes.Codigo=Pedidos.Codigo AND Referencia=5 SELECT Nombre, Direccion FROM Clientes WHERE EXIST (SELECT Codigo FROM Pedidos WHERE Clientes.Codigo=Pedidos.Codigo AND Referencia=2)

17 SQL con varias tablas EJEMPLO: Seleccionar los clientes que todavía no han comprado, es decir, buscamos clientes cuyo código no se encuentre en la tabla de Pedidos: SELECT Nombre, Direccion FROM Clientes WHERE Codigo NOT IN (SELECT Codigo FROM Pedidos)

18 SQL con varias tablas EJEMPLO: Seleccionar los clientes que han comprado alguna vez usando el operador IN: SELECT Nombre, Direccion FROM Clientes WHERE Codigo IN (SELECT Codigo FROM Pedidos) EJEMPLO: Seleccionar los clientes que han comprado un producto concreto osando IN SELECT Nombre, Direccion FROM Clientes WHERE Codigo IN (SELECT Codigo FROM Pedidos WHERE Referencia=5)

19 SQL con varias tablas EJEMPLO: Obtener el pedido con mayor número de unidades usando ALL, es decir, el que tenga el campo Cantidad mayor: SELECT nombre, Direccion, Referencia, Cantidad FROM Clientes, Pedidos WHERE Cantidad >= ALL (SELECT cantidad FROM Pedidos) AND Clientes.Codigo=Pedidos.Codigo

20 SQL con varias tablas EJEMPLO: Usar ANY para seleccionar valores que se encuentran en algún campo, seleccionando en este caso los clientes que han comprado algo: SELECT Nombre, Direccion FROM Clientes WHERE Codigo= ANY(SELECT Codigo FROM Pedidos)

21 SQL con varias tablas EJEMPLO usando ANY para seleccionar los clientes que no tienen ningún pedido: SELECT Nombre, Direccion FROM Clientes WHERE Codigo <> ALL (SELECT Codigo FROM Pedidos)

22 SQL con varias tablas EJEMPLO: Saber cual es el menor nombre alfabéticamente hablando SELECT Nombre FROM Clientes WHERE Nombre <= ALL (SELECT Nombre FROM Clientes)


Descargar ppt "Dr. Mario Rossainz López Aplicaciones WEB Primavera 2015."

Presentaciones similares


Anuncios Google