Sei sulla pagina 1di 5

TALLER DE BASE DE DATOS 1

ing. César Vásquez


Diferencias entre DDL, DML

Lenguaje de Definición de Datos (DDL)


Con este lenguaje permite a los programadores de un sistema gestor de base de datos, como
MySQL, definir las estructuras que almacenarán los datos así como los procedimientos o
funciones que permitan consultarlos.

Para definir las estructura disponemos de tres sentencias:

 CREATE, se usa para crear una base de datos, tabla, vistas, etc.
 ALTER, se utiliza para modificar la estructura, por ejemplo añadir o borrar columnas de
una tabla.
 DROP, con esta sentencia, podemos eliminar los objetos de la estructura, por ejemplo un
índice o una secuencia.

Por ejemplo

Creando las tablas en la base de datos:


Tabla Persona:

CREATE TABLE persona (


id_persona int not null auto_increment,
nombres varchar(50) not null,
apellidos varchar(50) not null,
direccion varchar(120),
email varchar(120),
PRIMARY KEY(id_persona)
);
Tabla Actividades:

CREATE TABLE actividades (


id_actividad int not null auto_increment,
id_persona int not null,
fecha date,
hora time,
descripcion varchar(200),
PRIMARY KEY(id_actividad)
);
Estableciendo la relación entre las dos tablas:

ALTER TABLE actividades ADD FOREIGN KEY(id_persona)


REFERENCES persona(id_persona);
Modelo lógico de la base de datos trabajo
2

Lenguaje de Manipulación de Datos (DML)


También es un lenguaje proporcionado por los sistemas gestores de bases de datos. En
inglés, Data Manipulation Language (DML).
Utilizando instrucciones de SQL, permite a los usuarios introducir datos para posteriormente
realizar tareas de consultas o modificación de los datos que contienen las Bases de Datos.
Los elementos que se utilizan para manipular los datos, son los siguientes:

SELECT, esta sentencia se utiliza para realizar consultas sobre los datos.
INSERT, con esta instrucción podemos insertar los valores en una base de datos.
UPDATE, sirve para modificar los valores de uno o varios registros.
DELETE, se utiliza para eliminar las finas de una tabla

EJEMPLO:

Figura 01 : Modelo lógico de la base de datos Neptuno


Adjuntar la base de datos Neptuno y realizar la DML a partir de 3
los propuestos
1. Mostrar el número de pedido y el país del cliente de los pedidos de mayo del
año 1997
2. Mostrar el importe total de los pedidos 10501 y 10503 usando únicamente la
tabla detalles.
3. ¿Cuánto se factura cada mes?
4. Los pedidos que hizo la empleada NANCY.
5. Mostrar los pedidos de ANTON (código cliente).
6. Clientes que pidieron queso en mayo de 1997.
7. Cuántos productos hay de cada categoría y el precio medio.
8. Mostrar los pedidos que tienen productos de las categorías condimentos o
repostería.
9. Mostrar los nombres de las compañías que han facturado más del promedio de
todas las compañías.
10. Mostar el nombre de los empleados que han facturado más que el empleado
Steven.
11. Mostrar el total de ventas de los clientes de Londres.
12. Mostrar el total de ventas de la empresa desde que se tienen registros.
13. Mostrar cuántos pedidos ha servido el empleado con nombre King.

SOLUCIÓN

1)Mostrar el número de pedido y el país del cliente de los pedidos de


mayo del año 1997

SELECT detalles_de_pedido.Cantidad , Cliente.Pais FROM Cliente I


NNER JOIN Pedido ON pedido.IdCliente = Cliente.IdCliente INNER J
OIN detalles_de_pedido ON detalles_de_pedido.IdPedido =Pedido.Id
Pedido WHERE Pedido.FechaPedido >='05/01/1997-01-
05' AND Pedido.FechaPedido <='1997-05-31'
2)Mostrar el importe total de los pedidos 10501 y 10503
4
usandoúnicamente la tabla detalles.

SELECT * FROM detalles_de_pedido WHERE IdPedido IN ('10501' , '1


0503')

3. ¿Cuánto se factura cada mes?


SELECT SUM(detalles_de_pedido.Cantidad * detalles_de_pedido.Prec
ioUnidad) AS Facturacion FROM detalles_de_pedido INNER JOIN Pedi
do ON detalles_de_pedido.IdPedido = Pedido.IdPedido WHEREPedido.
FechaPedido >='1996-08-01' AND Pedido.FechaPedido <='1996-08-30'

4. Los pedidos que hizo la empleada NANCY.


SELECT * FROM Pedido INNER JOIN empleado ON Pedido.IdEmpleado =
empleado.IdEmpleado WHERE empleado.Nombre = 'Nancy'

5. Mostrar los pedidos de ANTON (código cliente).


SELECT Pedido.IdPedido , Pedido.FechaPedido, Cliente.IdCliente F
ROM Pedido INNER JOIN Cliente ON Cliente.IdCliente = Pedido.IdCl
iente WHERE Cliente.IdCliente = 'Anton'

6. Clientes que pidieron queso en mayo de 1997.


SELECT Producto.NombreProducto, IdCliente from Producto inner jo
in detalles_de_pedido ON detalles_de_pedido.IdProducto = product
o.IdProducto INNER JOIN Pedido on Pedido.IdPedido =detalles_de_p
edido.IdPedido WHERE Producto.IdProducto like '%Queso%' AND Pedi
do.FechaPedido >='1997-05-01' AND Pedido.FechaPedido <='1997-05-
31'
5

7. Cuántos productos hay de cada categoría y el precio medio.


SELECT COUNT(*) as Contador_por_categoria, AVG (PrecioUnidad) AS
precio_medio FROM producto GROUP BY IdCategoria

Potrebbero piacerti anche