Introducción a las Bases de Datos MySQL y DBDesigner. Aplicación
ERICK GIOVANNY FLORES CHACÓN INGENIERO DE COMPUTACION Y SISTEMAS
ESTEBAN JULIO MEDINA RAFAILE INGENIERO DE SISTEMAS
FACULTAD DE CIENCIAS CIENCIAS - INGENIERIA DE DE SISTEMAS E INFOMRATICA - UNASAM - 2006
Manual aplicativo aplicativo de MySQL MySQL y DBDesigne DBDesigner r
CONTENIDO
Introducción 1. Descr Descripc ipció ión n del del caso caso:: “Tienda para el Hogar
1 Casa y Familia”
2. Modelo de Base de Datos en el ciclo de vida del software
4
3. Modelo conceptual de la Base de Datos
4
4. Modelo lógico de la Base de Datos
6
5. Modelo físico de la Base de Datos
8
6. Acceso a las herramientas DBMS – SQL Server
11
7. Implantació Implantación n Base de Datos mediante mediante Query Browser Browser SQL
15
8. La Base de Datos en el Asistente Asistente de Diagramas Diagramas
19
9. Manipulación de datos en la Base de Datos
23
10. Bibliografía
35
Ing. Erick Giovanny Giovanny Flores Chacón Chacón
Manual aplicativo aplicativo de MySQL MySQL y DBDesigne DBDesigner r
1. Desc Descri ripc pció ión n del del caso caso
Para Para un mejor mejor entend entendimie imiento nto del del marco marco teóric teórico o sobre sobre modela modelamie miento nto e implantación de las bases de datos, presentamos a continuación el caso Tienda para el Hogar “Casa y Familia”, con el cual complementaremos de manera práctica los temas de modelamiento e implantación de las bases de datos.
Tien Tienda da para para el Hoga Hogarr “Cas “Casa a y Fami Famili lia” a”,, es una una empr empres esa a que que vend vende e produc productos tos para para la constr construcc ucción ión,, manten mantenimie imiento nto y arregl arreglo o de la casa. casa. El Proceso de “Atención de Pedidos del Cliente”, se detalla a continuación:
El Cliente, antes de hacer su pedido tiene la opción de revisar el “Catalogo de Productos”, los cuales están ordenados por Familia de Productos, por ejemplo:
CATALOGO DE PRODUCTOS Familia de Productos: Pinturas Código P01 P02 P03 P04
Nombre Pintura de interior marca ABC Pintura de interior marca SOFT Pintura de exterior marca ABC Pintura de exterior marca OUT
Precio 15.00 14.00 17.00 19.00
Stock
Código Nombre J01 Ficus Argentino J02 Ficus Semi enano J03 Molle Serrano J04 Mini schefflera variegada Familia de Productos: Terrazas
Precio 3.00 4.00 7.00 8.00
Stock
Código Nombre T01 Mesa Tayroma II Blanco T02 Silla Minikid T03 Parrilla a gas
Precio 70.00 8.00 350.00
Stock
100 90 85 55
Familia de Productos: Jardín
30 45 30 35
60 30 45
Ing. Erick Giovanny Giovanny Flores Chacón Chacón
Manual aplicativo aplicativo de MySQL MySQL y DBDesigne DBDesigner r
Una vez que el cliente sabe que pedido va efectuar, se acerca a caja, hace su pedido, cancela y recibe una boleta o factura para reclamar su compra. Luego de unos minutos de espera, es llamado a despacho para que se le entregue la mercadería, previa verificación de la boleta o factura cancelada. El formato de pedido, se muestra a continuación.
PEDIDOS DEL CLIENTE Nº Pedido : Empleado : Cliente : Código Pr Producto
Fecha :
Nombre Producto
Cantidad
Total IGV :
Precio
Total
Total:
Actualmente todo el proceso de “Atención de pedidos del cliente”, se desarrolla manualmente y presenta los siguientes problemas:
El proc proces eso o de “Ate “Atenc nció ión n de pedi pedido dos s del del clie client nte” e”,, se desa desarr rrol olla la lentamente, lo cual genera descontento en los clientes.
Se utilizan muchos “Catálogos de Precios”, en formatos físicos. Estos debido a la mucha manipulación, son deteriorados rápidamente.
La elaboración de informes para el gerente de comercialización es lenta y lo ejecutan dos asistentes.
No se elaboran estadísticas para el análisis de la información y la toma de decisiones
El inventario físico no tiene relación con el inventario lógico, que figura en las tarjetas manuales de los productos.
Las acciones de este proceso se desarrollan bajo la siguiente regla del negocio. El pago de las compras efectuadas por los clientes es al contado y en efectivo y en moneda m oneda nacional.
Ing. Erick Giovanny Giovanny Flores Chacón Chacón
Manual aplicativo de MySQL y DBDesigner
La empresa cuenta con tres empleados de ventas, se los cuales sus datos se registran en la ficha de personal.
Código de empleado E01 E02 E03
Nombres de empleado Franco Fiorella Antonio
Apellidos de empleado Ruiz Piñeiros Torrealva
Número de teléfono 426589 423546 427654
Tienda para el Hogar “Casa y Familia”, atiende un promedio de 100 clientes por hora con gran tendencia a aumentar, por lo que es necesario implementar un “Sistemas de información de atención de pedidos al cliente” que apoye al
proceso de “Atención de pedidos del cliente” y valore la
información utilizada en este proceso.
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
2. Modelo de base de datos en el ciclo de vida del software
Sabemos que todo ciclo de software tiene las siguientes fases:
Análisis del sistema
Diseño del software
Construcción del software
Mantenimiento del software
En la etapa de diseño del software se requiere modelar; tanto el comportamiento del software, expresado por el modelo de las aplicaciones y la estructura del software expresado por el modelo de la base de datos.
En el proceso de modelamiento de la base de datos, se tienen que llevar a cabo las siguientes actividades de modelamiento:
Modelamiento conceptual de la base de datos
Modelamiento lógico de la base de datos
Modelamiento físico de la base de datos
3. Modelo conceptual de la base de datos
En esta actividad lo que se pretende es identificar las entidades del negocio así como las relaciones existente entre estas. No es necesario identificar los atributos, llaves primarias, ni llaves foráneas.
Para el caso tienda para el Hogar “Casa y Familia”, se identificaron las siguientes entidades:
Familia productos
Producto
Empleados
Pedido
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Y estas se relacionan, tal como se muestran a continuación:
Una Familia de productos TIENE Uno o Muchos Productos Un Producto PERTENECE a Una Familia de productos
Un Pedido ES ATENDIDO por Un Empleado Un Empleado ATIENDE Uno o Muchos Pedidos
Un Pedido TIENE Uno o Muchos Productos Un Producto PERTENECE a Uno o Muchos Pedidos
Estas entidades y sus relaciones se pueden modelar en la herramientas CASE (Ingeniería de Software Asistido por Computador) ERWIN 3.5.2 o superior, tal como se muestran en el siguiente diagrama.
Mo delo Entida Relació n Tienda para el Hogar "Ca sa y Fa milia" Modelo Conce ptual
Tiene Familia productos
Productos Pertenece Pertenece
Tiene
Es Atendid o Pedido
Empleados Atiende
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
4. Modelo lógico de la base de datos
Una vez obtenido el modelo conceptual de la base de datos se comienza con la actividad de Normalización. Se detallan las Entidades con sus atributos y llaves primarias (Primera Forma Normal), así como las relaciones entre las Entidades (Segunda y Tercera Forma Normal).
Para el caso tienda para el Hogar “Casa y Familia”, se tienen las siguientes entidades con sus atributos, llaves primarias y llaves foráneas:
Entidad Familias Producto
Entidad Productos
Código de familia
Código de producto
PK
Nombre de la familia
Entidad Pedidos
Número de pedido
Entidad Empleados
PK
Código de empleado
Nombre de producto
Nombres de empleado
Precio de producto
Apellidos de empleado
Stock
Número de teléfono
Entidad Detalles del pedido
PK
Número de pedido
Código de empleado
Código de producto
Fecha de pedido
Cantidad del producto
Nombres del cliente
Total producto
PK PK
Total del pedido Total IGV del pedido
Y estas se relacionan, tal como se muestran a continuación:
Una Familia de productos TIENE Uno o Muchos Productos Un Producto PERTENECE a Una Familia de productos
Ing. Erick Giovanny Flores Chacón
PK
Manual aplicativo de MySQL y DBDesigner
Un Pedido ES ATENDIDO por Un Empleado Un Empleado ATIENDE Uno o Muchos Pedidos
Un Pedido TIENE Uno o Muchos Productos Un Producto PERTENECE a Uno o Muchos Pedidos
Un Pedido TIENE Uno o Muchos Detalles Pedido Un Detalle Pedido PERTENECE a Un Pedido
Estas entidades y sus atributos así como sus relaciones se pueden modelar en la herramientas CASE (Ingeniería de Software Asistido por Computador) ERWIN 3.5.2 o superior, tal como se muestran en el siguiente diagrama.
Mo delo Entidad R elac ión Tienda par a el Hogar "Ca sa y Familia" Modelo Lógico Familia C o d i g o F a m i li a N o m b r e F a m il a
Pedidos Numero Pedido
Empleados
E s A t e n d i d o C o d ig o E m p l e a d o C o d ig o E m p l e a d o ( F K ) No m b r e E m p l e a d o Fecha Pedido Atie nd e Ap e llid os Em p le a d o No m b r e s C l i e n t e Numero Telefono T o t a l P e d id o To tal IGV
Tiene Pertenece Tiene Pertenece Producto C o d ig o P r o d u c t o
D e t a l le s Pe d i d o C o d ig o F a m i li a ( F K ) Nu m e r o P e d id o ( F K ) Nombre Producto Tiene C o d ig o P r o d u c t o ( F K ) Precio Pertenece Stock C a n ti d a d P r od u c t o Total Producto
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
5. Modelo físico de la base de datos
Una vez obtenido el modelo lógico de la base de datos, se determinan los nombres de las entidades, nombres de los atributos y tipos de datos de acuerdo a ciertos estándares con el propósito de dejar expedita la base de datos para implantarla en un DBMS.
Previamente se han definido ciertos estándares para dar los nombres a las tablas y atributos:
Las Tablas Principales, empiezan sus nombres con TP.
Las Tablas Transaccionales, empiezan sus nombres con TT
Además se ha elaborado una serie de prefijos:
Prefijo Cod Nom Mon Can Ape Num
Nombre Código Nombre Monto Cantidad Apellido Número
Para el caso tienda para el Hogar “Casa y Familia”, se tienen las siguientes entidades con sus atributos, llaves primarias y llaves foráneas en el modelo físico.
Nombre Lógico: Familia Campo lógico Campo físico Código de familia Cod_FamiliaProducto Nombre de la familia Nom_FamiliaProducto
Nombre Lógico: Producto Campo lógico Campo físico Código de producto Cod_Producto Nombre de producto Nom_Producto Precio de producto Mon_Precio Stock Can_Stock
Nombre Físico: TP_FamiliaProducto Tipo de dato Regla Char(3) Not Null Varchar(30) Not Null
Nombre Físico: TP_Producto Tipo de dato Regla Char(3) Not Null Varchar(30) Not Null Money Null Int Null
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Nombre Lógico: Empleado Campo lógico Campo físico Código de empleado Cod_Empleado Nombres de empleado Nom_Empleado Apellidos de empleado Ape_Empleado Número de teléfono Num_Telefono Nombre Lógico: Pedido Campo lógico Campo físico Número de pedido Num_Pedido Código de empleado Cod_Empleado Fecha de pedido Fec_Pedido Nombres del cliente Nom_Cliente Total del pedido Mon_TotalPedido Total IGV del pedido Mon_IGVPedido Nombre Lógico: Detalle Pedido Campo lógico Campo físico Número de pedido Num_Pedido Código de producto Cod_Producto Cantidad del producto Can_Pedido Total producto Mon_SubTotal
Nombre Físico: TP_Empleado Tipo de dato Regla Char(3) Not Null Varchar(20) Not Null Varchar(20) Not Null Char(14) Null Nombre Físico: TT_Pedido Tipo de dato Regla Char(4) Not Null Char(3) Not Null Datetime Null Varchar(30) Null Money Null Money Null Nombre Físico: TT_DetallePedido Tipo de dato Regla Char(4) Not Null Char(3) Not Null Int Null Int Null
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
6. Inicialización del servicio DBMS MySQL Antes de trabajar con cualquiera de los servicios que nos ofrece MySQL, es necesario inicializar Sistema Monitor de Bandeja del MySQL (MySQL System Tray Monitor). Para llegar a esta opción es necesario tener en cuenta la siguiente ruta: Inicio / Todos los programas / MySQL / My SQL System Tray Monitor
Luego de ser ejecutado, en la parte inferior derecha de la pantalla se visualizará el icono correspondiente. MySQL System Tray Monitor
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Ubicarse con el mouse, presionar clic derecho y seleccionar Star Instance
Ahora el icono correspondiente tomará esta forma. MySQL System Tray Monitor – Color Verde
Estando inicializado el servicio de MySQL System Tray Monitor.
7. Implantación de bases de datos 7.1. Utilizando instrucciones SQL Ingresar al servicio MySQL Query Browser, siguiendo la ruta Inicio / Todos los programas / MySQL / MySQL Query Browser
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Se muestra la pantalla de acceso y seguridad al nevagador de consultas del MySQL
Nota: La clave de seguridad es admin.
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Se ingresa al entorno del MySQL Query Browser
Realizaremos los pasos necesarios para la implantación de la base de datos BDCasa, con sus correspondientes tablas, llaves primarias y llaves foráneas.
Para la creación de la base de datos, digitar la siguiente instrucción en el área de consultas del MySQL.
Create database if not exists BDCasaSQL;
Presionar el icono “Ejecute la consulta ingresada”
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Ahora comenzaremos a crear las tablas, llaves primarias y llaves foráneas. Así que digitaremos en orden las siguientes instrucciones SQL. Create table TP_FamiliaProducto ( Cod_FamiliaProducto char(3) not null, Nom_FamiliaProdcuto varchar(30) not null, Primary Key (Cod_FamiliaProducto));
Create Table TP_Producto ( Cod_Producto char(3) Not Null, Cod_FamiliaProducto char(3) Not Null, Nom_Producto Varchar(30), Mon_Precio Numeric(10,2), Can_StocK int, Primary Key (Cod_Producto,Cod_FamiliaProducto)); Create Table TP_Empleado ( Cod_Empleado char(3) Not Null, Nom_Empleado varchar(20) Not Null, Ape_Empleado varchar(20) Not Null, Num_Telefono char(14), Primary Key (Cod_empleado)); Create Table TT_Pedido ( Num_Pedido char(3) Not Null, Cod_empleado char(3) Not Null, Fec_pedido datetime, Nom_Cliente varchar(30), Mon_TotalPedido numeric(10,2), Mon_IGVPedido numeric(10,2), Primary Key (Num_Pedido), FOREIGN KEY (Cod_Empleado) REFERENCES TP_Empleado (COd_Empleado)); Create Table TT_DetallePedido ( Num_Pedido char(3) Not Null, Cod_Producto char(3) Not Null, Can_pedido int, Mon_SubTotal numeric(10,2), Primary Key (Num_Pedido,Cod_Producto));
Como resultado de la ejecución de estas instrucciones SQL, se ha creado la base de datos BDCasa y sus correspondientes tablas, llaves primarias y llaves foraneas.
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
7.2. Utilizando el asistente Continuamos en el entorno del MySQL Query Browser. Creamos la siguiente base de datos. Create database if not exists BDCasaAsistente; Ahora comenzaremos a crear las tablas, llaves primarias, llaves foráneas.
Nos ubicaremos con el puntero del Mouse sobre la base de datos BDCasaAsistente, presionaremos clic derecho y seleccionaremos Create New Table.
A continuación se muestra la pantalla Editor de Tablas.
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Y comienzan a ingresar las correspondientes tablas, atributos, tipos de datos, restricciones, llaves primarias, índices, llaves foráneas, entre otros aspectos. A continuación
se
muestra
la
pantalla
de
creación
de
la
tabla
TP_FamiliaProducto.
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Creando la tabla TP_Producto.
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Creando la tabla TP_Empleado
Creando la tabla TT_Pedido
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Creando la tabla TT_DetallePedido
Ahora veremos el entorno del Navegador de Consultas y se apreciara la base de datos BDCasaAsistente creada con sus correspondientes tablas.
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
7.3. Utilizando el concepto de sincronización En este tipo de implantación de base de datos, se tiene que tener el plano de la base de datos en una herramienta CASE y a partir del proceso de sincronización con el DBMS se procede a implantar la base de datos.
En nuestro caso particular tienen que estar levantados el DBDesigner y el correspondiente plano de la base de datos, el archivo Modelo BDCasa así como el MySQL Quero Browser.
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
En el servicio MySQL Query Browser, ya tenemos creado la base de datos BDCasaSyn y en el DBDesigner se ingresa a la opción Database / Database Synchronisation.
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Aparece la ventana de diálogo Selccione Conexión a Base de Datos
Presione el botón Conexión a nueva Base de datos y registre la siguiente información en la ventana de diálogo que se visualiza.
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Estos parámetros permiten ejecutar el proceso de implantación de la base de datos BDCasaSyn.
Presionar el botón ok y en la ventana Seleccione Conexión a Base de Datos, presionar Connect.
Se visualizará la ventana de diálogo Sincronización a Base de Datos, presionar Execute
Ahora visualizamos en MySQL Quero Browser y se visualiza la base de datos BDCasaSyn con sus correspondientes tablas.
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
8. Manipulación de datos Teniendo ya la base de datos BDCasaSQL implantada, procederemos ahora a manipular los datos utilizando instrucciones SQL del MySQL. 8.1. Ingreso de datos y visualización de datos ingresados (Consulta de datos) A.
Tabla TP_FamiliaProductos Insert into TP_FamiliaProducto (Cod_FamiliaProducto, Nom_FamiliaProdcuto) values ('F01', 'Pinturas'); Insert into TP_FamiliaProducto (Cod_FamiliaProducto, Nom_FamiliaProdcuto) values ('F02', 'Jardín'); Insert into TP_FamiliaProducto (Cod_FamiliaProducto, Nom_FamiliaProdcuto) values ('F03', 'Terrazas');
Para poder ver los datos ingresados en la tabla TP_FamiliaProductos, ejecutaremos la siguiente consulta y se mostrarán a continuación sus resultados. Select * from TP_FamiliaProducto;
B.
Tabla TP_Producto
Insert into TP_Producto (Cod_Producto, Cod_FamiliaProducto, Nom_Producto, Mon_Precio, Can_Stock) values ('PO1','F01','Pinturas de interior marca ABC',15.00,100); Insert into TP_Producto (Cod_Producto, Cod_FamiliaProducto, Nom_Producto, Mon_Precio, Can_Stock) Values ('P02', 'F01', 'Pintura de interior marca SOFT ',14.00,90); Insert into TP_Producto (Cod_Producto, Cod_FamiliaProducto, Nom_Producto, Mon_Precio, Can_Stock) Values ('P03', 'F01', 'Pintura de exterior marca ABC ',17.00,85);
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Insert into TP_Producto (Cod_Producto, Cod_FamiliaProducto, Nom_Producto, Mon_Precio, Can_Stock) Values ('P04', 'F01', 'Pintura de exterior marca OUT ',19.00,55); Insert into TP_Producto (Cod_Producto, Cod_FamiliaProducto, Nom_Producto, Mon_Precio, Can_Stock) Values ('J01', 'F02', 'Ficus Argentino', 3.50, 30); Insert into TP_Producto (Cod_Producto, Cod_FamiliaProducto, Nom_Producto, Mon_Precio, Can_Stock) Values ('J02', 'F02', 'Ficus Semi enano ', 4.00, 45); Insert into TP_Producto (Cod_Producto, Cod_FamiliaProducto, Nom_Producto, Mon_Precio, Can_Stock) Values ('J03', 'F02', 'Molle Serrano ', 7.00, 30); Insert into TP_Producto (Cod_Producto, Cod_FamiliaProducto, Nom_Producto, Mon_Precio, Can_Stock) Values ('J04', 'F02', 'Mini schefflera variegada ', 8.50, 35); Insert into TP_Producto (Cod_Producto, Cod_FamiliaProducto, Nom_Producto, Mon_Precio, Can_Stock) Values ('T01', 'F03', 'Mesa Tayroma II Blanco ', 70.00, 60); Insert into TP_Producto (Cod_Producto, Mon_Precio, Can_Stock) Values ('T02', 'F03', 'Silla Minikid ', 8.50, 30);
Cod_FamiliaProducto, Nom_Producto,
Insert into TP_Producto (Cod_Producto, Cod_FamiliaProducto, Nom_Producto, Mon_Precio, Can_Stock) Values ('T03', 'F03', 'Parrilla a gas ', 350.00, 45);
Para poder ver los datos ingresados en la tabla TP_Producto, ejecutaremos la siguiente consulta y se mostrarán a continuación sus resultados.
Select * from TP_Producto;
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
C. Tabla TP_Empleado
Insert
into
TP_Empleado
(Cod_Empleado,
Nom_Empleado,
Ape_Empleado,
Nom_Empleado,
Ape_Empleado,
Num_Telefono) Values ('E01', 'Franco', 'Ruiz', '426589');
Insert
into
TP_Empleado
(Cod_Empleado,
Num_Telefono) Values ('E02', 'Fiorella', 'Piñeiros', '423546');
Insert
into
TP_Empleado
(Cod_Empleado,
Nom_Empleado,
Ape_Empleado,
Num_Telefono) Values ('E03', 'Antonio', 'Torrealva', '427654');
Para poder ver los datos ingresados en la tabla TP_Empleado, ejecutaremos la siguiente consulta y se mostrarán a continuación sus resultados. select * from TP_Empleado;
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
D. Tabla TT_Pedido
Insert into TT_Pedido (Num_Pedido, Cod_Empleado, Fec_Pedido, Nom_Cliente, Mon_TotalPedido, Mon_IGVPedido) Values ('S01', 'E01', 14/07/2005, 'Ximena Estela', 87.00, 16.53);
Insert into TT_Pedido (Num_Pedido, Cod_Empleado, Fec_Pedido, Nom_Cliente, Mon_TotalPedido, Mon_IGVPedido) Values ('S02', 'E02', 15/07/2005, 'Andrea Chacón', 34.00, 6.46);
Insert into TT_Pedido (Num_Pedido, Cod_Empleado, Fec_Pedido, Nom_Cliente, Mon_TotalPedido, Mon_IGVPedido) Values ('S03', 'E03', 15/07/2005, 'Valery Rodriguez', 112.00, 21.28);
Para poder ver los datos ingresados en la tabla TT_Pedido, ejecutaremos la siguiente consulta y se mostrarán a continuación sus resultados.
select * from TT_Pedido;
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
E. Tabla TT_DetallePedido
Insert
into
TT_DetallePedido
(Num_Pedido,
Cod_Producto, Can_Pedido,
Mon_SubTotal) Values ('S01', 'P01',2,30.00) ;
Insert
into
TT_DetallePedido
(Num_Pedido,
Cod_Producto, Can_Pedido,
Mon_SubTotal) Values ('S01', 'P04',3,57.00) ;
Insert
into
TT_DetallePedido
(Num_Pedido,
Cod_Producto, Can_Pedido,
Mon_SubTotal) Values ('S02', 'J01',4,12.00) ;
Insert
into
TT_DetallePedido
(Num_Pedido,
Cod_Producto, Can_Pedido,
Mon_SubTotal) Values ('S02', 'J03',2,14.00) ;
Insert
into
TT_DetallePedido
(Num_Pedido,
Cod_Producto, Can_Pedido,
Mon_SubTotal) Values ('S02', 'J04',1,8.00) ;
Insert
into
TT_DetallePedido
(Num_Pedido,
Cod_Producto, Can_Pedido,
Mon_SubTotal) Values ('S03', 'P03',2,34.00) ;
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Insert
into
TT_DetallePedido
(Num_Pedido,
Cod_Producto, Can_Pedido,
Mon_SubTotal) Values ('S03', 'J02',2,8.00) ;
Insert
into
TT_DetallePedido
(Num_Pedido,
Cod_Producto, Can_Pedido,
Mon_SubTotal) Values ('S03', 'J01',1,70.00);
Para poder ver los datos ingresados en la tabla TT_DetallePedido, ejecutaremos la siguiente consulta y se mostrarán a continuación sus resultados.
Select * from TT_DetallePedido;
9.2. Modificación de datos
A. Ingresaremos un nuevo Empleado, en la tabla TP_Empleado
Insert into TP_Empleado (Cod_Empleado, Nom_Empleado, Ape_Empleado, Num_Telefono) Values ('E04', 'Luis', 'Agurto', '52333');
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Al consultar el ingreso de estos datos, se visualiza lo siguiente. select * from TP_Empleado where Cod_empleado = 'E04';
B. Ahora modificaremos el Nombre por Andre y el Teléfono por 421111
Update TP_Empleado Set Nom_Empleado = 'Andre' Where Cod_Empleado = 'E04';
Update TP_Empleado Set Num_Telefono = '421111' Where Cod_Empleado = 'E04';
Se obtendrán los siguientes resultados.
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Se produce un incremento en el Stock de los Productos de la Familia
F01, incremento del 10% del stock actual. Por lo que
procederemos a modificar el Stock y visualizar los cambios.
Update TP_Producto Set Can_Stock = Can_Stock + Round((Can_Stock*0.10),0) Where Cod_FamiliaProducto = 'F01';
Se obtendrán los siguientes resultados.
Select * from TP_Producto Where Cod_FamiliaProducto = 'F01';
9.3. Eliminación de registros
Ingresaremos una nueva familia a la tabla TP_FamiliaProductos.
Insert into TP_FamiliaProducto (Cod_FamiliaProducto, Nom_FamiliaProducto) Values ('F05', 'Sala Comedor');
Visualicemos el registro ingresado.
Select * from TP_FamiliaProducto;
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Ahora procederemos a eliminar este registro.
Delete From TP_FamiliaProducto Where Cod_FamiliaProducto = 'F05';
Visualicemos los registro de la tabla TP_FamiliaProductos, ya no se encuentra el Codigo de Familia F05. Select * from TP_FamiliaProducto;
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
9.4.
Consulta de registros
A. Se desea visualizar todos los productos
Select * from TP_Producto;
B. Se desea visualizar los productos correspondientes a la familia Terraza
Select * from TP_Producto Where Cod_FamiliaProducto = 'F03';
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
C. Se
desea
visualizar
los
productos
que
tengan
un
stock
comprendido entre 40 y 100 unidades
Select * from TP_Producto Where Can_Stock Between 40 and 100;
D. Se desea visualizar los productos, cuyo nombre, empiece con la letra F o la letra P
Select * from TP_Producto Where Nom_Producto Like 'F%' or Nom_Producto Like 'P%';
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
E. Se desea visualizar los pedidos con el nombre de los clientes y el monto total que pagaron por el pedido.
Select Num_Pedido, Nom_Cliente, Mon_TotalPedido+Mon_IGVPedido from TT_Pedido;
F. Se desea visualizar los pedidos, ordenados de mayor a menor
select Num_Pedido, Nom_Cliente, Mon_TotalPedido From TT_Pedido Order by Mon_TotalPedido Desc;
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
10.
Modelamiento de base de datos 10.1.Utilizando Ingeniería reversa Este proceso se lleva a cabo cuando tenemos implantada la base de datos y no contamos con sus correspondientes planos. La idea es obtener los planos de la base de datos, en una herramienta CASE a partir de la base de datos implantada. En nuestro caso particular la base de datos BDCasaAsistente, implantada en MySQL, será la fuente para obtener el correspondiente plano en la herramienta CASE DBDesigner. Será necesario tener levantado tanto el MySQL System Tray Monitor, MySQL Query Browser y DBDesigner.
Ingresar al DBDesigner. Inicio / Todos los programas / fabFORCE / DBDesigner
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Selccionar la opción Database / Reverse Engineering
Aparece la ventana de dialogo Seleccione conexión a base de datos
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Seleccione la opción seleccione nueva conexión. (New Database Conection). Y se visualizará la siguiente ventana de diálogo y su correspondiente información.
Acepte, presionando el botón OK. Se visualizar la ventana de diálogo, mostrando las conexiones que tiene incluyendo la creada recientemente. Seleccione dicha conexión.
Ing. Erick Giovanny Flores Chacón
Manual aplicativo de MySQL y DBDesigner
Y al presionar el botón Connect, se visualizará la siguiente ventana.
Ing. Erick Giovanny Flores Chacón