Está en la página 1de 42

DISEÑO DE BASE DE

DATOS: DIAGRAMA DE
ENTIDAD-RELACIÓN
EXTENDIDO
CLASE 11
INTRODUCCIÓN

Fuente: Canal Platzi


https://www.youtube.com/watch?v=zPOcDL2zldc

• ¿Qué tipos de datos estamos brindando a las empresas?


• ¿Qué variedad de datos almacenan las empresas?
• ¿Qué se entiende como ética en los datos?
SQL (STRUCTURED QUERY LANGUAGE)

• SQL (Structured query language o Lenguaje de


consulta esctrutado) permite:
➢ Definición de datos: operaciones para
construir tablas y visualizarlas.
➢ Manipulación de datos: mediante funciones
como: INSERT, DELETE, UPDATE o SELECT.
➢ Integridad de datos: integridad referencial y
transacciones mediante claves primarias y
foráneas
➢ Control de acceso: seguridad para múltiples
tipos de usuarios
➢ Compartición de datos: acceso a la base de
datos por parte de usuarios simultáneos.
SQL (STRUCTURED QUERY LANGUAGE)
Tipo Fecha y
Descripción
Hora
DATE Un valor de fecha en formato “AAAA-MM-DD”
• Tipo de datos en SQL:
TIME Un valor de hora en formato "hh:mm:ss”
DATETIME Fecha/hora en formato “AAAA-MM-DD hh:mm:ss”
TIMESTAMP Marca de tiempo en formato “AAAA-MM-DD hh:mm:ss”
Tipo Numérico Descripción
YEAR Un valor de año en formato AAAA o AA
BOOLEAN Un valor booleano
Tipo Cadena
Descripción
de Caracteres
Tipo Numérico Descripción CHAR Una cadena no binaria de longitud fija (carácter)
INT Un número entero (-231 a +231) VARCHAR Una cadena no binaria de longitud variable
BIGINT Un número entero grande (-263 a +263) NCHAR Igual que CHAR + soporte Unicode
SMALLINT Un número entero pequeño (-215 a +215) NVARCHAR Igual que VARCHAR + soporte Unicode
DECIMAL / BINARY Una cadena binaria de longitud fija
Un número de punto fijo (decimal)
NUMERIC
VARBINARY Una cadena binaria de longitud variable
TEXT Una cadena pequeña no binaria
SQL (STRUCTURED QUERY LANGUAGE)

• Restricciones en SQL:

Restricción Descripción
NOT NULL Se asegura que la columna no tenga valores nulos.
UNIQUE Se asegura que cada valor en la columna no se repita.
PRIMARY KEY Es una combinación de NOT NULL y UNIQUE.
FOREIGN KEY Identifica de manera única una fila en otra tabla.
CHECK Se asegura que el valor en la columna cumpla una condición dada.
DEFAULT Coloca un valor por defecto cuando no hay un valor especificado.
MySQL WORKBENCH

MySQL Workbench es una herramienta visual de diseño de bases


de datos que integra desarrollo de software, administración de
bases de datos, diseño de bases de datos, gestión y
mantenimiento para el sistema de base de datos MySQL.
MySQL WORKBENCH

MySQL Workbench permite modelar una base de datos de


manera gráfica, mediante el diagrama de entidad-relación.
MySQL WORKBENCH

El esquema contiene las tablas, las vistas, las


rutinas y los grupos. Se puede cambiar de nombre al
esquema.
Se debe agregar un diagrama.
MySQL WORKBENCH

En esta interfaz se crean


las tablas (entidades) y las
relaciones del diagrama
entidad-relación.
BASE DE DATOS RELACIONAL

Ejemplo 01:
Base de datos de
una empresa
comercializadora

Base de datos
normalizada.
BASE DE DATOS RELACIONAL

Ejemplo 01:
Base de datos de
una empresa
comercializadora

Generación de una
tabla (entidad) y
sus columnas
(atributos).
BASE DE DATOS RELACIONAL

Ejemplo 01:
Base de datos de
una empresa
comercializadora

Generación de las
tablas (entidades)
y sus columnas
(atributos).
BASE DE DATOS RELACIONAL

Ejemplo 01:
Base de datos de
una empresa
comercializadora

Generación de
relaciones entre
las tablas
(entidades).
BASE DE DATOS RELACIONAL

Ejemplo 01:
Base de datos de
una empresa
comercializadora

Generación de
base de datos en
DBMS con Forward
Engineer.
BASE DE DATOS RELACIONAL

Ejemplo 01:
Base de datos de
una empresa
comercializadora

Generación de
código con
Forward Engineer.

Script (Parte 1)
BASE DE DATOS RELACIONAL

Ejemplo 01:
Base de datos de
una empresa
comercializadora

Generación de
código con
Forward Engineer.

Script (Parte 2)
BASE DE DATOS RELACIONAL

Ejemplo 01:
Base de datos de
una empresa
comercializadora

Generación de
código con
Forward Engineer.
Script (Parte 3)
Guardar Script
BASE DE DATOS RELACIONAL

Ejemplo 01:
Base de datos de
una empresa
comercializadora

Conexión a la
DBMS.
BASE DE DATOS RELACIONAL

Ejemplo 01:
Base de datos de
una empresa
comercializadora

Visualización del
esquema en la
DBMS.
BASE DE DATOS RELACIONAL

Ejemplo 01:
Base de datos de
una empresa
comercializadora

Visualización de
una tabla
(entidad).

Guardar Model
BASE DE DATOS RELACIONAL

Ejemplo 01:
Base de datos de
una empresa
comercializadora

Eliminación del
esquema en la
DBMS.
BASE DE DATOS RELACIONAL

Ejemplo 01:
Base de datos de
una empresa
comercializadora

Eliminación de
modelo (diagrama
entidad-relación).
BASE DE DATOS RELACIONAL

Ejemplo 02:
Base de datos de
una empresa
comercializadora

Base de datos
normalizada.
BASE DE DATOS RELACIONAL

Ejemplo 02:
Base de datos de
una empresa
comercializadora

Generación del
esquema en la
DBMS mediante
un Script.
BASE DE DATOS RELACIONAL

Ejemplo 02:
Base de datos de
una empresa
comercializadora

Visualización del
esquema en la
DBMS.
BASE DE DATOS RELACIONAL

Ejemplo 02:
Base de datos de
una empresa
comercializadora

Generación de
diagrama entidad-
relación mediante
Reverse Engineer.
BASE DE DATOS RELACIONAL

Ejemplo 02:
Base de datos de
una empresa
comercializadora

Visualización de un
diagrama entidad-
relación.
MANIPULACIÓN DE DATOS

Ejemplo 03:
Ingresar, actualizar
y eliminar datos en
tablas.

Forma 1:
Usando la tabla.
MANIPULACIÓN DE DATOS

Ejemplo 03:
Ingresar, actualizar
y eliminar datos en
tablas.

Forma 2:
Usando INSERT,
UPDATE, DELETE.
ANÁLISIS DE BASE DE DATOS

Ejemplo 04: Selección de datos completos (SELECT FROM):


• Muestre los registros de cada tabla.
Consultas en base • Muestre los registros que existen en la tabla ventas.
de datos. • Muestre los registros que existen en la tabla ventas y coloque el nombre de cantidad_ventas.
• Muestre el mínimo, máximo, promedio y suma del monto de ventas en la tabla ventas.
• Muestre los dos últimos incisos en una sola tabla.

Selección de datos filtrados (WHERE):


Usando SELECT, • Muestre el nombre_cliente, numero_almacen de todos los clientes.
FROM, WHERE, • Muestre el nombre_cliente, numero_almacen de los clientes que son atendidos en almacen 2.
INNER JOIN, ON, • Muestre el nombre_cliente, numero_almacen de los clientes que no son atendidos en almacen 2.
GROUP BY. • Muestre los registros completos de los clientes que son atendidos en almacen 2 y el
Además de IN, nombre_cliente ‘Seward Systems’.
AND, OR. • Muestre los registros completos de los clientes que son atendidos en almacen 2 o en almacen 3.
Use dos métodos: OR e IN.
• Muestre los registros completos de ventas donde el monto de las ventas hayan sido mayores o
iguales a 10,000.
• Muestre los registros completos de ventas donde el monto de las ventas hayan sido mayores o
iguales a 5,000 y menores o iguales a 12,000.
ANÁLISIS DE BASE DE DATOS

Ejemplo 04:
Consultas en base
de datos.

Usando SELECT,
FROM, WHERE,
INNER JOIN, ON,
GROUP BY.
Además de IN,
AND, OR.
ANÁLISIS DE BASE DE DATOS

Ejemplo 04: Uniones de tablas (JOIN):


• Utilizando las tablas ventas y vendedor, muestre el numero_vendedor,
Consultas en base nombre_vendedor, numero_cliente y monto_ventas.
de datos.
• Utilizando las tablas ventas y vendedor, muestre el numero_vendedor,
nombre_vendedor, numero_cliente y monto_ventas; considerando las ventas
mayores o iguales a 10,000.
• Utilizando las tablas ventas y vendedor, muestre el numero_vendedor,
nombre_vendedor, numero_cliente y monto_ventas; considerando las ventas del
Usando SELECT, área ‘Norte’,
FROM, WHERE, • Utilizando las tablas ventas y vendedor, muestre el numero_vendedor,
INNER JOIN, ON, nombre_vendedor, numero_cliente y monto_ventas; considerando las ventas a los
GROUP BY. clientes 18841, 18899 y 18830.
Además de IN,
AND, OR.
ANÁLISIS DE BASE DE DATOS

Ejemplo 04:
Consultas en base
de datos.

Usando SELECT,
FROM, WHERE,
INNER JOIN, ON,
GROUP BY.
Además de IN,
AND, OR.
ANÁLISIS DE BASE DE DATOS

Ejemplo 04: Agrupaciones (GROUP BY):


• Utilizando la tabla ventas muestre la suma y promedio de ventas por cada vendedor.
Consultas en base
de datos. • Utilizando la tabla ventas muestre la suma y promedio de ventas por cada
combinación de vendedor y cliente.

Agrupaciones y uniones:
• Obtenga la cantidad de ventas por cada área.
Usando SELECT, • Obtenga la cantidad y el promedio de ventas por cada área.
FROM, WHERE,
INNER JOIN, ON,
GROUP BY.
Además de IN,
AND, OR.
ANÁLISIS DE BASE DE DATOS

Ejemplo 04:
Consultas en base
de datos.

Usando SELECT,
FROM, WHERE,
INNER JOIN, ON,
GROUP BY.
Además de IN,
AND, OR.
RESUMEN DE LO APRENDIDO

SQL (Structured Query Language)

MySQL Workbench

Base de datos relacional

Manipulación de datos

Análisis de base de datos


APLIQUEMOS LO APRENDIDO …

PROBLEMA 01:

La base de datos de un supermercado cuenta con con dos entidades


principales: los clientes y los productos, y además, se cuenta con una
entidad derivada de compra.
En este proceso se registra la entidad cliente con: el código del cliente,
nombres y apellidos, celular, correo y dirección. Asimismo, en la entidad
producto se registra el código del producto, nombre del producto, precio del
producto, cantidad del producto, tipo de producto, tamaño del producto.
Se sabe que un cliente puede comprar uno o más productos en una
compra, y un tipo de producto puede ser comprado por un cliente o por
varios clientes.
Finalmente, en la compra se registra el código de compra, la fecha de
compra y la fecha de entrega del producto.
Responder a las siguientes preguntas:
• Realizar el diagrama de entidad-relación.
• Generar la base de datos en MySQL.
APLIQUEMOS LO APRENDIDO …

PROBLEMA 02:

En base a la
imagen, responder
a las siguientes
preguntas:
• Realizar el
diagrama de
entidad-relación.
• Generar la base
de datos en
MySQL.
APLIQUEMOS LO APRENDIDO …

PROBLEMA 03:
Ingresando los datos, responder:
• Muestre los registros de cada tabla.
• Muestre la cantidad de registros,
precio mínimo, precio máximo, y precio
promedio de los productos.
• Muestre la cantidad de registros,
inventario mínimo, inventario máximo,
inventario promedio e inventario total
de los productos.
• Muestre el código, nombre e inventario
de los productos que cuentan con un
inventario mayor o igual a 85,000.
• Muestre el código, nombre e inventario
de los productos que cuentan con un
inventario menor o igual a 75,000.
APLIQUEMOS LO APRENDIDO …

PROBLEMA 03:
Ingresando los datos, responder:
• Muestre una tabla con el código del
producto, nombre del producto, código
de categoría, descripción de la
categoría y el precio del producto.
• Muestre una tabla con el número de
factura y el detalle del pago.
APLIQUEMOS LO APRENDIDO …

PROBLEMA 03:
Ingresando los datos, responder:
• Muestre una tabla con el número de
factura y la cantidad de productos
asignadas en cada factura (agrupe por
número de factura).
• Muestre una tabla con el código de
cliente y la cantidad de productos
asignadas a cada cliente (agrupe por
código de producto).
• Muestre una tabla con el número de
factura, el código de cliente y la
cantidad de productos asignadas a
cada factura y cliente (agrupe por
número de factura).
APLIQUEMOS LO APRENDIDO …

PROBLEMA 03:
Ingresando los datos, responder:
• Muestre una tabla con el nombre del
producto y la cantidad de productos
vendidos (agrupe por código de
producto).
• Muestre una tabla con los nombres del
cliente, los apellidos del cliente y la
cantidad de productos asignadas
(agrupe por código de cliente).

También podría gustarte