58
Introducción a las Bases de Datos MySQL y DBDesigner. FACULTAD DE CIENCIAS - INGENIERIA DE SISTEMAS E INFOMRATICA - UNASAM - 2006 ERICK GIOVANNY FLORES CHACÓN INGENIERO DE COMPUTACION Y SISTEMAS ESTEBAN JULIO MEDINA RAFAILE INGENIERO DE SISTEMAS

Manual Practico Bases de Datos (MySQL y DBDesigner)

Embed Size (px)

DESCRIPTION

Es un manual practico para poder construir una base de datos haciendo uso del MySQL o DBDesigner

Citation preview

Page 1: Manual Practico Bases de Datos (MySQL y DBDesigner)

Introducción a las Bases de DatosMySQL y DBDesigner.

Aplicación

FACULTAD DE CIENCIAS - INGENIERIA DE SISTEMAS E INFOMRATICA - UNASAM - 2006

ERICK GIOVANNY FLORES CHACÓN INGENIERO DE COMPUTACION Y SISTEMAS

ESTEBAN JULIO MEDINA RAFAILE INGENIERO DE SISTEMAS

Page 2: Manual Practico Bases de Datos (MySQL y DBDesigner)

Manual aplicativo de MySQL y DBDesigner

CONTENIDO

Introducción

1. Descripción del caso: 1

“Tienda para el Hogar 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ón Base de Datos mediante Query Browser SQL 15

8. La Base de Datos en el Asistente de Diagramas 19

9. Manipulación de datos en la Base de Datos 23

10. Bibliografía 35

Ing. Erick Giovanny Flores Chacón

Page 3: Manual Practico Bases de Datos (MySQL y DBDesigner)

Manual aplicativo de MySQL y DBDesigner

1. Descripción del caso

Para un mejor entendimiento del marco teórico sobre modelamiento 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.

Tienda para el Hogar “Casa y Familia”, es una empresa que vende

productos para la construcción, mantenimiento y arreglo de la 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 Nombre Precio Stock

P01 Pintura de interior marca ABC 15.00 100

P02 Pintura de interior marca SOFT 14.00 90

P03 Pintura de exterior marca ABC 17.00 85

P04 Pintura de exterior marca OUT 19.00 55

Familia de Productos: Jardín

Código Nombre Precio Stock

J01 Ficus Argentino 3.00 30

J02 Ficus Semi enano 4.00 45

J03 Molle Serrano 7.00 30

J04 Mini schefflera variegada 8.00 35

Ing. Erick Giovanny Flores Chacón

Page 4: Manual Practico Bases de Datos (MySQL y DBDesigner)

Manual aplicativo de MySQL y DBDesigner

Familia de Productos: Terrazas

Código Nombre Precio Stock

T01 Mesa Tayroma II Blanco 70.00 60

T02 Silla Minikid 8.00 30

T03 Parrilla a gas 350.00 45

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 : Fecha :

Empleado :

Cliente :

Código Producto Nombre Producto Cantidad Precio Total

Total IGV : Total:

Actualmente todo el proceso de “Atención de pedidos del cliente”, se

desarrolla manualmente y presenta los siguientes problemas:

El proceso de “Atención de pedidos del cliente”, se desarrolla

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.

Ing. Erick Giovanny Flores Chacón

Page 5: Manual Practico Bases de Datos (MySQL y DBDesigner)

Manual aplicativo de MySQL y DBDesigner

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 nacional.

La empresa cuenta con tres empleados de ventas, se los cuales sus datos

se registran en la ficha de personal.

Código de

empleado

Nombres de

empleado

Apellidos de

empleado

Número de

teléfono

E01 Franco Ruiz 426589

E02 Fiorella Piñeiros 423546

E03 Antonio Torrealva 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

Page 6: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 7: Manual Practico Bases de Datos (MySQL y DBDesigner)

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.

Modelo Conceptual

Tienda para el Hogar "Casa y Familia"

Modelo Entida Relación

Atiende

Es Atendido

TienePertenece

Pertenece

Tiene

Pedido Empleados

ProductosFamilia productos

Ing. Erick Giovanny Flores Chacón

Page 8: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Código de familia PK

Nombre de la familia

Entidad Productos

Código de producto PK

Nombre de producto

Precio de producto

Stock

Entidad Empleados

Código de empleado PK

Nombres de empleado

Apellidos de empleado

Número de teléfono

Entidad Pedidos

Número de pedido PK

Código de empleado

Fecha de pedido

Nombres del cliente

Total del pedido

Total IGV del pedido

Entidad Detalles del pedido

Número de pedido PK

Código de producto PK

Cantidad del producto

Total producto

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

Page 9: Manual Practico Bases de Datos (MySQL y DBDesigner)

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.

Pertenece

Tiene

PerteneceTiene

Es Atendido

Atiende

PerteneceTiene

Modelo Lógico

Tienda para el Hogar "Casa y Familia"

Modelo Entidad Relación

Detalles PedidoNumero Pedido (FK)Codigo Producto (FK)

Cantidad ProductoTotal Producto

PedidosNumero Pedido

Codigo Empleado (FK)Fecha PedidoNombres ClienteTotal PedidoTotal IGV

EmpleadosCodigo Empleado

Nombre EmpleadoApellidos EmpleadoNumero Telefono

ProductoCodigo Producto

Codigo Familia (FK)Nombre ProductoPrecioStock

FamiliaCodigo Familia

Nombre Famila

Ing. Erick Giovanny Flores Chacón

Page 10: Manual Practico Bases de Datos (MySQL y DBDesigner)

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 Nombre

Cod Código

Nom Nombre

Mon Monto

Can Cantidad

Ape Apellido

Num 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 Nombre Físico: TP_FamiliaProducto

Campo lógico Campo físico Tipo de dato Regla

Código de familia Cod_FamiliaProducto Char(3) Not Null

Nombre de la familia Nom_FamiliaProducto Varchar(30) Not Null

Nombre Lógico: Producto Nombre Físico: TP_Producto

Ing. Erick Giovanny Flores Chacón

Page 11: Manual Practico Bases de Datos (MySQL y DBDesigner)

Manual aplicativo de MySQL y DBDesigner

Campo lógico Campo físico Tipo de dato Regla

Código de producto Cod_Producto Char(3) Not Null

Nombre de producto Nom_Producto Varchar(30) Not Null

Precio de producto Mon_Precio Money Null

Stock Can_Stock Int Null

Nombre Lógico: Empleado Nombre Físico: TP_Empleado

Campo lógico Campo físico Tipo de dato Regla

Código de empleado Cod_Empleado Char(3) Not Null

Nombres de empleado Nom_Empleado Varchar(20) Not Null

Apellidos de empleado Ape_Empleado Varchar(20) Not Null

Número de teléfono Num_Telefono Char(14) Null

Nombre Lógico: Pedido Nombre Físico: TT_Pedido

Campo lógico Campo físico Tipo de dato Regla

Número de pedido Num_Pedido Char(4) Not Null

Código de empleado Cod_Empleado Char(3) Not Null

Fecha de pedido Fec_Pedido Datetime Null

Nombres del cliente Nom_Cliente Varchar(30) Null

Total del pedido Mon_TotalPedido Money Null

Total IGV del pedido Mon_IGVPedido Money Null

Nombre Lógico: Detalle Pedido Nombre Físico: TT_DetallePedido

Campo lógico Campo físico Tipo de dato Regla

Número de pedido Num_Pedido Char(4) Not Null

Código de producto Cod_Producto Char(3) Not Null

Cantidad del producto Can_Pedido Int Null

Total producto Mon_SubTotal Int Null

Ing. Erick Giovanny Flores Chacón

Page 12: Manual Practico Bases de Datos (MySQL y DBDesigner)

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.

Ing. Erick Giovanny Flores Chacón

MySQL System Tray Monitor

Page 13: Manual Practico Bases de Datos (MySQL y DBDesigner)

Manual aplicativo de MySQL y DBDesigner

Ubicarse con el mouse, presionar clic derecho y seleccionar Star Instance

Ahora el icono correspondiente tomará esta forma.

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

MySQL System Tray Monitor – Color Verde

Page 14: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 15: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 16: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 17: Manual Practico Bases de Datos (MySQL y DBDesigner)

Manual aplicativo de MySQL y DBDesigner

Ing. Erick Giovanny Flores Chacón

Page 18: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 19: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 20: Manual Practico Bases de Datos (MySQL y DBDesigner)

Manual aplicativo de MySQL y DBDesigner

Creando la tabla TP_Producto.

Ing. Erick Giovanny Flores Chacón

Page 21: Manual Practico Bases de Datos (MySQL y DBDesigner)

Manual aplicativo de MySQL y DBDesigner

Creando la tabla TP_Empleado

Creando la tabla TT_Pedido

Ing. Erick Giovanny Flores Chacón

Page 22: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 23: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 24: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 25: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 26: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 27: Manual Practico Bases de Datos (MySQL y DBDesigner)

Manual aplicativo de MySQL y DBDesigner

Ing. Erick Giovanny Flores Chacón

Page 28: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 29: Manual Practico Bases de Datos (MySQL y DBDesigner)

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, Cod_FamiliaProducto, Nom_Producto, Mon_Precio, Can_Stock)

Values ('T02', 'F03', 'Silla Minikid ', 8.50, 30);

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

Page 30: Manual Practico Bases de Datos (MySQL y DBDesigner)

Manual aplicativo de MySQL y DBDesigner

C. Tabla TP_Empleado

Insert into TP_Empleado (Cod_Empleado, Nom_Empleado, Ape_Empleado,

Num_Telefono)

Values ('E01', 'Franco', 'Ruiz', '426589');

Insert into TP_Empleado (Cod_Empleado, Nom_Empleado, Ape_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

Page 31: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 32: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 33: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 34: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 35: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 36: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 37: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 38: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 39: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 40: Manual Practico Bases de Datos (MySQL y DBDesigner)

Manual aplicativo de MySQL y DBDesigner

Ing. Erick Giovanny Flores Chacón

Page 41: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 42: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 43: Manual Practico Bases de Datos (MySQL y DBDesigner)

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

Page 44: Manual Practico Bases de Datos (MySQL y DBDesigner)

Manual aplicativo de MySQL y DBDesigner

Y al presionar el botón Connect, se visualizará la siguiente ventana.

Ing. Erick Giovanny Flores Chacón

Page 45: Manual Practico Bases de Datos (MySQL y DBDesigner)

Manual aplicativo de MySQL y DBDesigner

A continuación se presiona el botón Execute, y generará el modelo (Plano) de la base de datos.

Grabar el archivo.

Ing. Erick Giovanny Flores Chacón