SlideShare una empresa de Scribd logo
1 de 51
Descargar para leer sin conexión
Por: Ing. Edwin Calle Terrazas 
Versión 1.1
El diseño de una base de datos se descompone en diseño conceptual, diseño 
lógico y diseño físico. 
Diseño Conceptual 
Diseño Lógico 
Diseño Físico 
Mapeo 
Normalización 
ANALISIS 
DISEÑO 
Análisis de los requisitos 
Ing. Edwin Calle Terrazas 
2
DIAGRAMA DE CLASES 
Un diagrama de clases presenta un conjunto de clases, interfaces, colabo- 
raciones y las asociaciones entre ellas. Los diagrama de clases son los mas 
utilizados en el modelado de sistemas orientados a objetos. 
Los diagramas de clases se utilizan para describir la vista de diseño estática de un sistema. 
Un diagrama de clases está compuesto por los siguientes elementos: 
• Clase: atributos y métodos. 
• Relaciones: Asociación, Herencia, Composición y Agregación 
OBJETO Es cualquier cosa del mundo real que tiene existencia física o conceptual posee características y comportamiento. CLASE Conjunto de objetos que comparten los mismos atributos, métodos relaciones y comportamiento. Todo objeto es una instancia de una clase que tiene las mismas características. 
El diagrama de clases de UML representa el modelo orientado a objetos como 
herramienta de Modelado Conceptual de datos en la fase de diseño de una 
base de datos. 
MODELO ORIENTADO A OBJETOS 
3
<Nombre Clase> 
<Atributos> 
<Métodos> 
Un alumno posee como características: código, nombres, paterno, materno teléfono y dirección. Muestran su comportamiento a través de los métodos: modificarAlumno() y BuscarAlumno() 
4 
class DiagramAlumno- codigo- nombres- paterno- materno- telefono- direccion+ modificarAlumno(int) + buscarAlumno(int)
ASOCIACIONES ENTRE CLASES 
Adorno 
Semántica 
0..1 
Cero ó 1 
1 
Exactamente 1 
0..* 
Cero ó más 
* 
Cero ó más 
1..* 
Uno ó mas 
1..6 
Uno a Seis 
1..3, 7..10, 20..* 
1 a 3 ó 7 a 10 ó 20 a muchos 
n 
Número fijo 
Ing. Edwin Calle Terrazas 
5
class Diagram 
Persona 
- ci 
- nombres 
- paterno 
- materno 
- telefono 
- direccion 
CertificadoNacimiento 
- id_certificado 
- fechaRegistro 
- nombrePadre 
- nombreMadre 
- fechaNacimiento 
- lugarNacimiento 
1 
Tiene 
1 
Significa que a cada objeto de la clase Persona, puede pertenecer un 
objeto de la clase CertificadoNacimiento y a cada objeto de la clase 
CertificadoNacimiento le pertenece un objeto de la clase Persona. 
class Diagram 
Recibo 
- nro_recibo 
- fecha 
- monto 
Factura 
- nro_factura 
- fecha 
- NIT 
- Monto 
1 
Tiene 
0..1 
Asociaciones de Uno a uno 
Significa que a cada objeto de la clase Recibo, puede o no pertenecer un 
objeto de la clase Factura y a cada objeto de la clase Factura le pertenece 
un objeto de la clase recibo. 
6
Cada objeto de la clase Cliente se puede relacionar con uno o muchos 
objetos de la clase NotaVenta, y cada objeto de la clase NotaVenta puede 
estar relacionado con un objeto de la clase Cliente. 
El otro ejemplo vemos que a cada objeto de la clase UnidadMedida le 
corresponde uno o más objetos de la clase Producto, pero a cada objeto de 
la clase Producto le corresponde un objeto de la clase UnidadMedida. 
Asociaciones de Muchos a muchos 
cada objeto de la clase Alumno se puede relacionar con uno o muchos 
objetos de la clase Matero, y cada objeto de la clase Materia puede estar 
relacionado con uno o muchos objetos de la clase Alumno. class diagram 
Alumno 
- codigo 
- nombre 
- paterno 
- materno 
Materia 
- sigla 
1..* - nombre 
pasa 
1..* 
Asociaciones de Uno a muchos 
class Diagram 
Cliente 
- id_cliente 
- nombre 
- telefono 
- direccion 
NotaVenta 
- id 
- fecha 
- monto 
1 
pide 
1..* 
class Diagram 
UnidadMedida 
- id_unidad 
- nombre 
- abreviatura 
Producto 
- codigo 
- descripcion 
- precio 
1 
pertenece 
1..* 
7
RELACIÓN DE COMPOSICIÓN 
Es un tipo de relación todo-parte, en la que el todo se puede componer 
de muchas partes. 
Se llama relación estática, donde el tiempo de vida del objeto Incluido 
«parte» es dependiente del que lo Incluye «todo». Las partes son miembros 
de un único compuesto . Dicho de otra forma: cada parte tiene dependencia 
de existencia del todo. 
8 
En este ejemplo el «todo» es PlanPago 
que se compone de la «parte» Cuota. 
Decimos que cada objeto de la clase 
Cuota no puede existir sin un PlanPlago. 
También podemos decir que esta 
relación es «indivisible» donde cada 
Cuota no se puede separar de un 
PlanPago. 
Según la multiplicidad, un PlanPago 
tiene muchas Cuotas, pero cada Cuota 
debe pertenecer a un solo PlanPago. 
class Diagram 
PlanPago 
- id_plan 
- fecha 
- montoTotal 
- plazo 
Cuota 
- id_cuota 
- fecha 
- monto 
1..* 
1 
Ing. Edwin Calle Terrazas
9 
class Diagram 
NotaVenta 
- id_venta 
- fecha 
- monto 
DetalleVenta 
- id_detal le 
- precioVenta 
- cantidad 
1..* 
1 
class Diagram 
Gestion 
- id_gestion 
- nombre 
- fecha_inicio 
- fecha_fin 
Periodo 
- id_periodo 
- nombre 
- fecha_inicio 
- fecha_fin 
1..* 
1 
En este otro ejemplo vemos que el «todo» es NotaVenta que se compone 
de la «parte» DetalleVenta. Cada objeto de la clase DetalleVenta está 
obligado a pertenecer a una NotaVenta, (es decir que cada detalleVenta no 
puede existir sino esta asociada a una NotaVenta) 
De la misma forma el último ejemplo. El «todo» es Gestión que se 
compone de la «parte» Periodo. Cada objeto de la clase Periodo no puede 
existir sino esta asociada a una Gestión.
RELACIÓN DE AGREGACIÓN 
Es un tipo de relación dinámica, en donde el tiempo de vida del objeto 
Incluido (parte) es independiente del que lo Incluye (todo). Es decir que 
cada parte no tiene existencia de dependencia del todo (las partes pueden 
separarse del todo). Es una relación normal entre objetos, donde se usa 
para indicar las partes que corresponden a un todo. 
class Diagram 
Mueble 
- id 
- nombre 
- tipo 
Casa 
- nro 
- zona 
- uv 
- ubicacion 
0..1 1..* 
10 
En el ejemplo vemos que el «todo» es Casa que se compone de la «parte» 
Mueble. Cada objeto de la clase Mueble puede existir sino esta asociada a 
una Casa. Dicho de otra forma: El Mueble se puede separar (divisible) de 
una Casa. 
En el otro ejemplo vemos que los Periféricos son partes de una 
Computadora, pero estos periféricos pueden existir o no para el funciona-miento 
del Computador. Donde también decimos que hay Periféricos que 
Que ni siquiera saben que son parte de una computadora. 
class Diagram 
Computadora 
- id_pc 
- procesador 
- memoria 
- discoDuro 
- tarjetaMadre 
Perifericos 
- codigo 
- nombre 
0..1 0..*
RELACIÓN DE GENERALIZACIÓN / ESPECIALIZACIÓN 
Es la actividad de identificar elementos comunes (del mismo tipo) entre los 
conceptos y definir las relaciones de superclase (concepto general) y subclase 
(concepto especializado). 
Indica que una subclase hereda los métodos y atributos especificados por 
una superclase. Las subclases además de poseer sus propios atributos 
y métodos, poseerá también las características y atributos visibles de la 
superclase. 
Las subclases se ajustan a las reglas ES UN tipo de la superclase. 
Ing. Edwin Calle Terrazas 11 
(superclase) 
(subclases) 
class Diagram 
Vehiculo 
- placa 
- marca 
- modelo 
- color 
Camion 
- nroEjes 
- capacidad 
Auto 
- nroPasajeros 
Camión ES UN tipo de Vehículo 
y de la misma forma Auto.
TIPOS DE ESPECIALIZACIÓN 
DISJUNTA.- Los objetos de las superclases pertenecen a una subclase. SOLAPAMIENTO.- Los objetos de las superclases pertenecen a una o ambas Subclases. PARTICIPACIÓN COMPLETA E INCOMPLETA Si un objeto de la superclases está obligado en cualquier subclase o en ambas, se denomina Completa (total). En el caso que exista un objeto de la superclase que no se encuentra en las subclases, se denomina Incompleta (parcial). 
Ing. Edwin Calle Terrazas 
12 
Camión y Auto heredan de Vehículo, es decir Camión posee las características 
de Vehículo (placa, marca, modelo y color). Además el Camión posee como 
propia particularidad nroEjes y Capacidad. Auto también hereda las características 
de la clase Vehículo y tiene como particularidad propia nroPasajeros.
class Diagram 
Vehiculo 
- placa 
- marca 
- modelo 
- color 
Camion 
- nroEjes 
- capacidad 
Auto 
- nroPasajeros 
13 
Participación 
En el caso que cada objeto de Vehículo este obligado a ser Camión o Auto se 
denomina Completa (total), pero si existe algún objeto de Vehículo que no sea 
ni Camión ni Auto se denomina Incompleta (parcial). 
Tipo de Especialización 
Un Vehículo es solo Auto ó solo Camión no puede ser las dos cosas al mismo 
tiempo, en este caso se le denomina DISJUNTA
En este ejemplo vemos que Secretaria hereda las características de Empleado y 
además tiene un atributo como particularidad propia velocidad_tipeo, de la misma 
manera Técnico con su atributo propio nivel. 
class Diagram 
Empleado 
- ci 
- nombres 
- paterno 
- materno 
- telefono 
Secretaria 
- velocidad_tipeo 
Tecnico 
- nivel 
Tipo de Especialización 
El Empleado puede ser Secretaria o Técnico, solamente uno de ellos no ambos, 
dando lugar al concepto de Disjunta. 
Participación 
Si cada objeto de Empleado está obligado a ser Secretaria o Técnico, se denomina 
Completa (total), pero si existe algún objeto de Empleado que no sea ni Secretaria 
ni Técnico se denomina Incompleta (parcial).
Tipo de Especialización 
Una Empleado puede ser solo Docente, solo Administrativo ó ambos al mismo 
tiempo, dando lugar al concepto de Solapamiento. 
15 
class Diagram 
Empleado 
- id_emp 
- nombre 
- paterno 
- materno 
Docente Administrativo 
En este ejemplo vemos que Docente y Administrativo heredan las características 
de Empleado. 
Participación 
Si cada objeto de Empleado está obligado a ser Docente, Administrativo o ambos, 
se denomina Completa (total), pero si existe algún objeto de Empleado que no sea 
ni Docente ni Administrativo se denomina Incompleta (parcial).
Tipo de Especialización 
Una persona puede ser solo Cliente, solo Vendedor ó ambos al mismo tiempo, 
dando lugar al concepto de Solapamiento. 
16 
class Diagram 
Persona 
- ci 
- nombre 
- apellidos 
- direccion 
- telefono 
Cliente 
- limite_credito 
Vendedor 
- porcentaje 
En forma general vemos que la Participación se da: si los objetos de la superclase 
están obligados en cualquier subclase o en ambas es Completa (total), en el caso 
que no exista un objeto de la superclase que no se encuentre en las subclases, se 
denomina Incompleta (parcial).
RELACIONES RECURSIVAS 
Existen casos donde las asociaciones se realizan sobre la misma clase. En este 
caso es necesario utilizar roles para diferenciar los objetos que pertenecen a la 
misma clase. 
Ing. Edwin Calle Terrazas 17 
class Diagram 
Cuenta 
- codigo 
- nombre 
cuenta_padre 
0..* cuenta_hijo 
Tiene 
0..1 
Un empleado (subordinado) tiene un Jefe o ninguno 
y un Empleado (jefe) tiene a uno o muchos 
empleados subordinados. 
Una cuenta (padre) tiene ninguna o muchas 
cuentas hijas y una cuenta (hija) tiene o 
pertenece a una o ninguna cuenta padre. 
class Modelo de clases 
Empleado 
- id_emp 
- nombre 
- paterno 
- materno 
- telefono 
- sueldo 
jefe 
1..* subordinado 
tiene 
0..1
18 
class Diagram 
Materia 
- sigla 
- nombre 
0..* 
prerrequisi to 
0..* tiene 
es 
class Diagram 
Parte 
- cod_parte 
- nombre 
parte_mayor 
0..* parte_menor 
compone 
0..* 
Una materia tiene ninguna o muchas materias como 
Prerrequisitos y una Materia es Prerrequisito de 
ninguna o muchas materias. 
Una parte mayor puede estar compuesta por 
ninguna o muchas partes menores y una parte 
menor puede pertenecer a ninguna o muchas 
partes mayores.
CLASE ASOCIACIÓN 
Una clase asociación puede crearse cuando existe una relación muchos a muchos 
entre dos clases, esta clase no solamente conecta dos clases, sino que define un 
conjunto de características que pertenecen a la propia asociación, es 
decir que una clase asociación puede tener atributos propios, métodos y otras 
relaciones. 
class Diagram 
Producto 
- codigo 
- descripcion 
- precio 
Almacen 
- nro_almacen 
- nombre 
ProductoAlmacen 
- cantidad 
1..* 1..* 
class Diagram 
Persona 
- ci 
- nombres 
- paterno 
- materno 
Empresa 
- id_empresa 
- nombre 
- direccion 
Trabaja 
- sueldo 
1..* 0..* 
En el primer ejemplo vemos que una persona puede trabajar en muchas o ninguna 
empresas y en una empresa pueden trabajar una o muchas personas. Si queremos 
queremos registrar el sueldo que gana una persona en una empresa, este atributo 
no podemos ponerlo en la persona ni en la empresa, porque es el sueldo que gana 
una persona en una determinada empresa, por lo tanto este atributo es propio de la 
asociación. 
En el segundo ejemplo vemos también que la clase asociación ProductoAlmacen 
tiene un atributo propio que es cantidad, la cual indica la cantidad de productos que 
existen en un determinado almacén . 
19
PRACTICA 1 Una tienda que vende productos necesita registrar las ventas de sus productos. Un producto tiene características propias como (código,descripción,precio,stock) y estos pueden pertenecer a una categoría (id_categoria, nombre). Las ventas se realizan a través de notas de ventas de las cuales debemos registrar id_venta, fecha y monto. En una nota de venta se pueden vender varios productos, al mismo tiempo la nota de venta es para un solo cliente, del que es necesario registrar su datos personales (id_cliente, nombre, teléfono, dirección). 
Ing. Edwin Calle Terrazas 
20 
class Modelo de clasesCliente- id_cliente- nombre- telefono- direccionNotaVenta- id_venta- fecha- montoCategoria- id_categoria- nombreProducto- id_producto- descricion- precio- stockDetalleVenta- cantidad- preciov11..*1..* 10..*1..*
PRACTICA 2 Un video club necesita almacenar su información en una base de datos. Esta es la información. Una película se caracteriza por su título, nacionalidad, productora y fecha (ej. “RAMBO”, Estados Unidos, MGM, 1990). En una película pueden participar varios actores (nombre, apellidos nacionalidad, sexo, etc.) Una película está dirigida por un director (nombre, apellidos, nacionalidad). De cada película se dispone de uno o varios ejemplares diferenciados por un número de ejemplar y caracterizados por su estado de conservación. Un cliente (ci, nombres, paterno materno, dirección, teléfono) puede pedir que le alquilen varios ejemplares. Se desea almacenar la nota de alquiler con los siguientes datos: nro, fecha_inicio del alquiler y fecha_devolución del alquiler. Hacer el Diagrama de Clases. PRACTICA 3 Se quiere diseñar una base de datos para almacenar información sobre los asuntos que lleva un gabinete de abogados. Cada asunto tiene un número de expediente que los identifica y corresponde a un solo cliente, del asunto se debe almacenar sobre el periodo: la fecha de inicio y fecha de archivo (finalización), su estado (en trámite, archivado, …) . Los datos personales de los clientes son: ci, nombre, pa- terno, materno, teléfono. Los asuntos pueden ser llevados por uno o varios abo- gados de los que también nos interesa sus datos personales. 
21
22 
PRACTICA 4 
En una empresa existen 3 tipos de empleados, Técnicos, Secretaria e Ingeniero, 
los técnicos reparan muchos equipos, las secretarias manejan programas y los 
Ingenieros trabajan en muchos proyectos. 
Un empleado subordinado es supervisado por un empleado jefe y 
el empleado jefe tiene a cargo a muchos empleados subordinados. Los empleados 
pertenecen solamente a un departamento. 
PRACTICA 5 
Se desea crear una base de datos que permita registrar el árbol genealógico de una 
persona (quien fue su padre y madre), así también registrar los hijos que puede 
tener. Por ejemplo: Adán y Eva engendraron a Caín y Abel, Caín y su pareja engen 
draron a …, etc. 
La base de datos deber ser capaz de registrar a los hijos reconocidos y no recono- 
cidos por su padre, por su madre, ambos o ninguno de ellos.
23 
PRACTICA 6 
Crear una base de datos para registrar los prestamos que solicitan los estudiantes 
en una biblioteca. Existen tres tipos de documentos (libro, informe, cd), los cuales 
tienen muchas copias. Los documentos son publicados por muchos autores. En un 
préstamo pueden haber muchas copias. 
Cada copia esta ubicada en una posición de una respectiva fila de un estante.
TRANSFORMACIÓN DEL DISEÑO CONCEPTUAL AL DISEÑO LÓGICO 
24 
Ing. Edwin Calle Terrazas
Asociación entre dos clases: Uno a Uno 
Ambas participación Completa (total) 
1 
1 
a) Tablas : A(a# ,….......) B (b# ,…....,a#) Valores de a# not null en la tabla B PK PK FK ó también Tablas : A (a# ,.........,b#) B (b#,...........) Valores de b# not null en la tabla A PK FK PK 
A 
B 
REGLAS DE MAPEO 
b) Tabla : A (a# ,...............,b#,..............) Una sola tabla 
PK 
Escogemos una de las clases colocando su llave con su atributos, y traemos todos los atributos de la otra clase. 
25 
Ing. Edwin Calle Terrazas
a)Tablas : A (a# ,............) B (b#,.............,a#) Valores de a# not null en la tabla B 
PK PK FK 
b) Una sola tabla y cuando existan pocos valores nulos de b# en la tabla A 
Tablas : A (a# ,................b#,...................) 
PK 
Valores nulos permitidos en la tabla A 
1 
0..1 
A 
B 
Asociación entre dos clases: Uno a Uno 
Participación Completa (total) en un solo lado 
26
a) Tablas : A (a#,.............) B (b#,..........,a#) Valores nulos de a# permitidos en la tabla B 
PK PK FK 
ó también 
Tablas : A (a#,............,b#) B (b#,............) Valores nulos de b# permitidos en la tabla A 
PK FK PK 
0..1 
0..1 
A 
B 
Asociación entre dos clases: Uno a Uno 
Participación Incompleta (parcial) en ambos lados 
27
a)Tablas: A(a#,..........) B(b#,...........,a#) PK PK FK Valores de a# not null en la tabla B 
1 
0..* 
A 
B 
Asociación entre dos clases: Uno a muchos 
Participación Completa (Total) del lado muchos hacia el uno 
28
A) Tablas : A (a#,...........) B (b# ,..........,a#) 
PK PK FK 
Valores nulos de a# permitidos en la tabla B 
0..1 
1..* 
A 
B 
Asociación entre dos clases: Uno a muchos 
Participación Completa (Total) en el lado uno e Incompleta en el 
lado muchos 
29
a)Tablas: A(a#,........) B(b#,...........,a#) PK PK FK 
Valores de a# not null en la tabla B 
1 
1..* 
A 
B 
Asociación entre dos clases: Uno a muchos 
Participación Completa (Total) en ambos lados 
30
a) Tablas : A (a#,............) B (b #,.............,a#) PK PK FK Valores nulos de a# permitidos en la tabla B b) Caso poco común: En tres tablas cuando existan pocos objetos obligados entre ambas clases. Porque existirían muchos valores nulos al crear las dos tablas, por tanto. Tablas : A (a#,….....) B(b#,........) R(a#,b#,.......) PK PK PK Valores a#, b# not null en la tabla R 
0..1 
0..* 
A 
B 
Asociación entre dos clases: Uno a muchos 
Participación Incompleta (parcial) en ambos lados 
31
a) Participación completa (total) en ambos 
b) Participación incompleta (parcial) en ambos 
1..* 
1..* 
A 
B 
0..* 
0..* 
A 
B 
Asociación entre dos clases: Muchos a muchos 
32
c) Participación incompleta (parcial) en un lado y completa (total) en 
el otro. 
PARA TODOS LOS CASOS 
Tablas : A(a#,........) B(b#,........) R(a#, b#,.......) 
PK PK PK 
1..* 
0..* 
A 
B 
0..* 
1..* 
A 
B 
33
MAPEO PRACTICA 1: Venta de productos 
Cliente (id_cliente,………….) 
Categoria (id_categoria,……….) 
Producto (codigo,……….., id_categoria) 
Ing. Edwin Calle Terrazas 
34 
PK 
PK 
PK 
FK class Modelo de clases 
Cliente 
- id_cliente 
- nombre 
- telefono 
- direccion 
NotaVenta 
- id_venta 
- fecha 
- monto 
Categoria 
- id_categoria 
- nombre 
Producto 
- id_producto 
- descricion 
- precio 
- stock 
DetalleVenta 
- cantidad 
- preciov 
1 
1..* 1..* 
1 
0..* 1..*
35 
NotaVenta (nro_venta,……………,id_cliente) 
DetalleVenta (nro_venta, codigo,…………) 
FK 
PK 
PK 
FK 
FK
MAPEO PARA LA COMPOSICIÓN 
Id_plan Fecha MontoTotal Plazo 
1 02/04/2013 5000 90 días 
2 18/04/2013 2000 30 días 
Id_plan Id_cuota Fecha Monto 
1 1 12/04/2013 1500 
1 2 20/05/2013 1500 
1 3 27/05/2013 1000 
1 4 27/06/2013 1000 
2 1 24/04/2013 1500 
2 2 27/05/2013 500 
PlanPago (id_plan,………….) 
Cuota (id_plan, id_cuota,………..) 
36 
PlanPago 
Cuota 
class Diagram 
PlanPago 
- id_plan 
- fecha 
- montoTotal 
- plazo 
Cuota 
- id_cuota 
- fecha 
- monto 
1..* 
1 
PK 
PK 
FK 
Ing. Edwin Calle Terrazas
37 
MAPEO PARA LA AGREGACIÓN 
Por ser una relación pasiva, el mapeo de la agregación es como si fuera 
una relación normal. 
Computadora (id_pc,………….) 
Perifericos (codigo,………., id_pc) 
class Diagram 
Computadora 
- id_pc 
- procesador 
- memoria 
- discoDuro 
- tarjetaMadre 
Perifericos 
- codigo 
- nombre 
0..1 0..* 
PK 
PK FK 
Ing. Edwin Calle Terrazas
38 
Id_emp 
nombre 
paterno 
materno 
telefono 
sueldo 
Id_jefe 
1 
Edwin 
Calle 
Terrazas 
73133740 
7000 
2 
Daniel 
Zurita 
Castro 
77012345 
9000 
3 
María 
Torrico 
Chávez 
70934567 
4000 
1 
4 
Mariela 
Romero 
Ramírez 
60812322 
4500 
1 
5 
Marioly 
López 
Choque 
33465457 
8000 
1 
6 
Enrique 
Calderón 
Ramos 
71034512 
5000 
2 
7 
Ernesto 
Núñez 
Cabrera 
70823122 
3000 
2 
8 
Mario 
Añez 
Añez 
60812345 
2000 
3 
MAPEO EN ASOCIACIONES RECURSIVAS 
Empleado(id_emp,………, id_jefe) 
En una empresa se desea registrar a los empleados jefes tienen a cargo a muchos empleados subordinados, y los empleados subordinados pertenecientes a un jefe. Nota: En este caso los empleados que son jefes se supervisan así mismos. 
PK 
FK 
Ing. Edwin Calle Terrazas 
class Modelo de clasesEmpleado- id_emp- nombre- paterno- materno- telefono- sueldojefesubordinado1..* tiene0..1
39 
Codigo Nombre CuentaPadre 
1.00.00 Activo 
1.01.00 Activo Corriente 1.00.00 
1.01.01 Caja M/N 1.01.00 
1.01.02 Caja M/E 1.01.00 
1.02.00 Activo no Corriente 1.00.00 
2.00.00 Pasivo 
Cuenta (codigo,….……, cuentaPadre) 
Cuenta 
class Diagram 
Cuenta 
- codigo 
- nombre 
cuenta_padre 
0..* cuenta_hijo 
Tiene 
0..1 
Se desea registrar el plan de cuentas que tendrá una empresa la cual administra 
Su contabilidad a través de un Sistemas Contable. 
Nota: Las cuentas de grupos mayores: Activo, Pasivo, Patrimonio, Ingreso y Egreso 
no tienen una cuenta padre y las cuentas de movimiento no tienen cuentas hijas. 
PK FK
class Diagram 
Materia 
- sigla 
- nombre 
0..* 
prerrequisito 
0..* tiene 
es 
Sigla Sigla_Prerrequisito 
INF120 INF110 
MAT102 MAT101 
FIS102 FIS100 
MAT103 INF119 
LIN101 LIN100 
INF210 INF120 
INF210 MAT103 
MAT207 MAT102 
FIS200 FIS102 
INF211 INF120 
INF211 FIS102 
Sigla Nombre 
INF110 Introducción a la Informática 
MAT101 Cálculo I 
FIS100 Física I 
INF119 Estructuras Discretas 
LIN100 Inglés Técnico I 
INF120 Programación I 
MAT102 Cálculo II 
FIS102 Física II 
MAT103 Algebra Lineal 
LIN101 Inglés Técnico II 
INF210 Programación II 
MAT207 Ecuaciones Diferenciales 
FIS200 Física III 
ADM100 Administración 
INF211 Arquitectura de Computadoras 
Materia Prerrequisito 
Materia (sigla, …………) 
Prerrequisito (sigla , siglaPrerrequisito,.…..…) 
Realizar el registro de las materias con sus respectivos prerrequisitos. 
FK 
PK 
FK 
PK
ci Nombres Paterno Materno Telefono Tipo 
3868977 Ricardo Suárez Suárez 73147828 T 
2244123 María Sánchez Paz 70812312 S 
4123123 Jorge Soliz Días 70078799 T 
ci Velocidad_tipeo 
2244123 60 
ci Nivel 
3868977 Superior 
4123123 Medio 
class Diagram 
Empleado 
- ci 
- nombres 
- paterno 
- materno 
- telefono 
Secretaria 
- velocidad_tipeo 
Tecnico 
- nivel 
Empleado 
Secretaria 
Técnico 
Empleado(ci,……,tipo) 
Secretaria(ci,…….) 
Tecnico(ci,………..) 
MAPEO EN LA HERENCIA 
a) Disjunto caso general 
Ing. Edwin Calle Terrazas 41 
PK 
PK 
PK 
FK 
FK
Ing. Edwin Calle Terrazas 
42 
ci 
Nombres 
Paterno 
Materno 
Telefono 
Velocidad_tipeo 
Nivel 
Tipo 
3868977 
Ricardo 
Suárez 
Suárez 
73147828 
Superior 
T 
2244123 
María 
Sánchez 
Paz 
70812312 
60 
S 
4123123 
Jorge 
Soliz 
Días 
70078799 
Medio 
T 
b) Disjunto de otra manera, en una sola tabla 
Empleado 
Empleado (ci,…………..,velocidad_tipeo, nivel, tipo) 
PK
Ing. Edwin Calle Terrazas 43 
Ci Nombre Apellidos Dirección Teléfono Limite_credito Porcentaje TC TV 
3838383 Eduardo Vargas Suárez 73147828 2000 1 0 
2244123 Ricardo Sánchez Paz 70812312 10 0 1 
4123123 Jorge Soliz Días 70078799 5000 15 1 1 
3847689 Miguel García Núñez 73120200 3000 1 0 
c) Solapamiento en una sola tabla 
class Diagram 
Persona 
- ci 
- nombre 
- apellidos 
- direccion 
- telefono 
Cliente 
- limite_credito 
Vendedor 
- porcentaje 
Persona(ci,…………..,limite_credito, porcentaje, tc, tv) 
PK
Ing. Edwin Calle Terrazas 
44 
LENGUAJE ESTRUCTURADO DE CONSULTAS (SQL) 
Presentamos el lenguaje estructurado de consultas (structured query language) que permite al usuario crear y manipular una base de datos. Utilizaremos este lenguaje para modelar el diseño físico de la base de datos.
Ing. Edwin Calle Terrazas 45 
create table cliente( 
id_cliente int primary key, 
nombre varchar(30) not null, 
telefono int, 
direccion varchar(50) 
); 
create table categoria( 
id_categoria int primary key, 
nombre varchar(30), 
); 
create table producto( 
codigo varchar(10) primary key, 
descripcion varchar(50) not null, 
precio float not null, 
id_categoria int not null, 
foreign key(id_categoria) references categoria(id_categoria) 
on delete cascade 
on update cascade 
); 
CREACIÓN DE TABLAS DE LA PRACTICA 1: Venta de productos 
class diagram 
Cliente 
- id_cliente 
- nombre 
- telefono 
- direccion 
NotaVenta 
- nro_venta 
- fecha 
- monto 
Producto 
- codigo 
- descripcion 
- precio 
Categoria 
- id_categoria 
- nombre 
DetalleVenta 
- cantidad 
- preciov 
0..* 1..* 
1..* 
1 
1 
1..* 
on delete cascade y on update cascade se coloca para cumplir la integridad referencial, que dice si un atributo 
o conjunto de atributos se define como una llave foránea, sus valores deben existir en la tabla en que ese atributo es llave 
principal. Es decir que los datos de la tabla en que el atributo es llave primaria puede ser modificado o 
eliminado y causará efecto en los registros de la tabla donde el atributo es foráneo.
Ing. Edwin Calle Terrazas 
46 
create table notaventa( nro_venta int primary key, fecha date not null, monto float not null, id_cliente int not null, foreign key(id_cliente) references cliente(id_cliente) ); create table detalleventa( nro_venta int not null, codigo varchar(10) not null, cantidad int not null, previov float not null, primary key(nro_venta, codigo), foreign key (nro_venta) references notaventa(nro_venta), foreign key (codigo) references producto(codigo) );
Ing. Edwin Calle Terrazas 
47 
Creación de tablas para la composición 
create table PlanPagos( 
id_plan int primary key, 
fecha date not null, 
montoTotal float not null, 
plazo varchar(50) not null 
); 
create table Cuota( 
id_plan int not null, 
id_cuota int not null, 
fecha date not null, 
monto float not null, 
primary key(id_plan, id_cuota), 
foreign key(id_plan) references PlanPagos(id_plan) 
); 
class DiagramPlanPagos- id_plan- fecha- montoTotal- plazoCuota- id_cuota- fecha- monto1..* 1
Ing. Edwin Calle Terrazas 48 
class Diagram 
Materia 
- sigla 
- nombre 
0..* 
prerrequisito 
0..* tiene 
es 
Creación de tablas recursivas 
create table Materia( 
sigla varchar(10) primary key, 
nombre varchar(30) not null 
); 
create table Prerrequisito( 
sigla varchar(10), 
sigla_prerrequesito varchar(10), 
primary key(sigla, sigla_prerrequisito), 
foreign key(sigla) references Materia(sigla), 
foreign key(sigla_prerrequisito) references Materia(sigla) 
); 
tiene 
class Diagram 
Cuenta 
- codigo 
- nombre 
0..* 
cuenta padre 
0..1 es 
create table Cuenta( 
codigo varchar(20) primary key, 
nombre varchar(40) not null, 
cuenta_padre varchar(20), 
foreign key(cuenta_padre) references Cuenta(codigo) 
);
49 
Creación de tablas para la herencia 
Especialización: Disjunta (caso general) 
class Diagram 
Empleado 
- ci 
- nombres 
- paterno 
- materno 
- telefono 
Secretaria 
- velocidad_tipeo 
Tecnico 
- nivel 
create table empleado( 
ci int primary key, 
nombres varchar(30) not null, 
paterno varchar(30) not null, 
materno varchar(30), 
telefono int, 
tipo char(10) not null, 
); 
create table secretaria( 
ci int primary key, 
velocidad_tipeo int not null, 
foreign key(ci) references empleado(ci) 
on delete cascade on update cascade 
); 
create table tecnico( 
ci int not null, 
nivel varchar(20) not null, 
primary key(ci), 
foreign key(ci) references empleado(ci) 
on delete cascade on update cascade 
); 
Ing. Edwin Calle Terrazas
50 
create table empleado( 
ci int primary key, 
nombres varchar(30) not null, 
paterno varchar(30) not null, 
materno varchar(30), 
telefono int not null, 
velocidad_tipeo int, 
nivel varchar(20), 
tipo char not null 
); 
Especialización: Disjunta (Una sola tabla) 
Ing. Edwin Calle Terrazas
51 
class Diagram 
Persona 
- ci 
- nombre 
- apellidos 
- direccion 
- telefono 
Cliente 
- limite_credito 
Vendedor 
- porcentaje 
Creación de tablas para la herencia 
Especialización: Solapamiento (en una sola tabla) 
create table persona( 
ci int primary key, 
nombre varchar(30) not null, 
apellidos varchar(30) not null, 
direccion varchar(50), 
telefono int not null, 
limite_credito int, 
porcentaje float, 
tc tinyint, 
tv tinyint 
);

Más contenido relacionado

La actualidad más candente

Modelo basado en prototipos - Ingeniería de Software
Modelo basado en prototipos - Ingeniería de SoftwareModelo basado en prototipos - Ingeniería de Software
Modelo basado en prototipos - Ingeniería de SoftwareJoan Fernando Chipia Lobo
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesjmachado614
 
5.1 estructura de una clase.
5.1 estructura de una clase.5.1 estructura de una clase.
5.1 estructura de una clase.K Manuel TN
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Josue Lara Reyes
 
Diagrama UML de Clases
Diagrama UML de ClasesDiagrama UML de Clases
Diagrama UML de ClasesAdal Dg
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseGuillermo Díaz
 
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...Jesús Navarro
 
Presentacion de Modelo entidad -relación de Base de Datos
Presentacion de Modelo entidad -relación de Base de Datos Presentacion de Modelo entidad -relación de Base de Datos
Presentacion de Modelo entidad -relación de Base de Datos Yarquiri Claudio
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionLuiS YmAY
 
Programas lpp sena 25 entregados
Programas lpp sena 25 entregadosProgramas lpp sena 25 entregados
Programas lpp sena 25 entregadosALVARO15TORO
 
Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y desplieguejoshell
 
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso RealesUnidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso RealesSergio Sanchez
 
Ejercicios - Diagramas de Estados y Clases
Ejercicios - Diagramas de Estados y ClasesEjercicios - Diagramas de Estados y Clases
Ejercicios - Diagramas de Estados y ClasesHector Farias
 

La actualidad más candente (20)

Modelo basado en prototipos - Ingeniería de Software
Modelo basado en prototipos - Ingeniería de SoftwareModelo basado en prototipos - Ingeniería de Software
Modelo basado en prototipos - Ingeniería de Software
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
5.1 estructura de una clase.
5.1 estructura de una clase.5.1 estructura de una clase.
5.1 estructura de una clase.
 
Diagramas componentes
Diagramas componentesDiagramas componentes
Diagramas componentes
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
 
Ejercicio 1,2,3
Ejercicio 1,2,3Ejercicio 1,2,3
Ejercicio 1,2,3
 
Diagrama UML de Clases
Diagrama UML de ClasesDiagrama UML de Clases
Diagrama UML de Clases
 
Ejercicios de normalizacion
Ejercicios de normalizacionEjercicios de normalizacion
Ejercicios de normalizacion
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
modelo er
modelo ermodelo er
modelo er
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
 
Presentacion de Modelo entidad -relación de Base de Datos
Presentacion de Modelo entidad -relación de Base de Datos Presentacion de Modelo entidad -relación de Base de Datos
Presentacion de Modelo entidad -relación de Base de Datos
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacion
 
Programas lpp sena 25 entregados
Programas lpp sena 25 entregadosProgramas lpp sena 25 entregados
Programas lpp sena 25 entregados
 
Ejercicios del 1 al 9
Ejercicios del 1 al 9Ejercicios del 1 al 9
Ejercicios del 1 al 9
 
Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegue
 
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso RealesUnidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
 
Ejercicios - Diagramas de Estados y Clases
Ejercicios - Diagramas de Estados y ClasesEjercicios - Diagramas de Estados y Clases
Ejercicios - Diagramas de Estados y Clases
 

Destacado

Destacado (20)

Diseño Base Datos
Diseño Base DatosDiseño Base Datos
Diseño Base Datos
 
Bases de Datos - Parte 3/10 Modelo ER
Bases de Datos - Parte 3/10 Modelo ERBases de Datos - Parte 3/10 Modelo ER
Bases de Datos - Parte 3/10 Modelo ER
 
Aulas EspecíFicas Filosofia 2 Fase Aula 03 E 04 2007 Revisado
Aulas EspecíFicas Filosofia 2 Fase Aula 03 E 04 2007 RevisadoAulas EspecíFicas Filosofia 2 Fase Aula 03 E 04 2007 Revisado
Aulas EspecíFicas Filosofia 2 Fase Aula 03 E 04 2007 Revisado
 
Ejercicio parciall 2
Ejercicio parciall 2Ejercicio parciall 2
Ejercicio parciall 2
 
Dis02
Dis02Dis02
Dis02
 
Base de datos ii
Base de datos iiBase de datos ii
Base de datos ii
 
Metadatos y Web Semántica
Metadatos y Web SemánticaMetadatos y Web Semántica
Metadatos y Web Semántica
 
Introduccion De Base De Datos
Introduccion De  Base De  DatosIntroduccion De  Base De  Datos
Introduccion De Base De Datos
 
sistema gestores de base de datos
sistema gestores de base de datossistema gestores de base de datos
sistema gestores de base de datos
 
Migración de un sistema gestor de base de datos sybase
Migración de un sistema gestor de base de datos sybase Migración de un sistema gestor de base de datos sybase
Migración de un sistema gestor de base de datos sybase
 
Los nti's trabajo de andrea
Los nti's trabajo de andreaLos nti's trabajo de andrea
Los nti's trabajo de andrea
 
Ntics de andrea quilambaqui
Ntics de andrea quilambaquiNtics de andrea quilambaqui
Ntics de andrea quilambaqui
 
Modelo de datos facturacion
Modelo de datos facturacionModelo de datos facturacion
Modelo de datos facturacion
 
Base de datos
Base de datosBase de datos
Base de datos
 
Bases de datos diseño y caracteristicas
Bases de datos diseño y caracteristicasBases de datos diseño y caracteristicas
Bases de datos diseño y caracteristicas
 
Base de datos
Base de datosBase de datos
Base de datos
 
Migracion de datos
Migracion de datosMigracion de datos
Migracion de datos
 
Proyecto de andrea
Proyecto de andreaProyecto de andrea
Proyecto de andrea
 
Modelo er
Modelo erModelo er
Modelo er
 
Fases para la creación de una Base de Datos
Fases para la creación de una Base de DatosFases para la creación de una Base de Datos
Fases para la creación de una Base de Datos
 

Similar a Diseño de base de datos moo (20)

Clases 2
Clases 2Clases 2
Clases 2
 
tema-8-bd-entidad-relacion base de datos
tema-8-bd-entidad-relacion base de datostema-8-bd-entidad-relacion base de datos
tema-8-bd-entidad-relacion base de datos
 
Modelo Entidad-Relación
Modelo Entidad-RelaciónModelo Entidad-Relación
Modelo Entidad-Relación
 
Bd capitulo ii
Bd capitulo iiBd capitulo ii
Bd capitulo ii
 
Unidad III epoo
Unidad III epooUnidad III epoo
Unidad III epoo
 
Vista lógica
Vista lógicaVista lógica
Vista lógica
 
Excel con macros
Excel con macrosExcel con macros
Excel con macros
 
Manual de macros2 pre
Manual de macros2 preManual de macros2 pre
Manual de macros2 pre
 
Macros en excel
Macros en excelMacros en excel
Macros en excel
 
Unidad 1 Programación Orientada a Objetos (Programación III)
Unidad 1 Programación Orientada a Objetos (Programación III)Unidad 1 Programación Orientada a Objetos (Programación III)
Unidad 1 Programación Orientada a Objetos (Programación III)
 
Modelado orientado a objetos de bd
Modelado orientado a objetos de bdModelado orientado a objetos de bd
Modelado orientado a objetos de bd
 
Mv vol2 ver5.0(corregido)
Mv vol2 ver5.0(corregido)Mv vol2 ver5.0(corregido)
Mv vol2 ver5.0(corregido)
 
Oo basico
Oo basicoOo basico
Oo basico
 
Macros Excel
Macros ExcelMacros Excel
Macros Excel
 
Introducción a la progrogramación orientada a objetos - UML
Introducción a la progrogramación orientada a objetos - UMLIntroducción a la progrogramación orientada a objetos - UML
Introducción a la progrogramación orientada a objetos - UML
 
3a5 shirley vinces- tarea1
3a5 shirley vinces- tarea13a5 shirley vinces- tarea1
3a5 shirley vinces- tarea1
 
TRABAJO N°1
TRABAJO N°1 TRABAJO N°1
TRABAJO N°1
 
Presentacion de MER
Presentacion de MERPresentacion de MER
Presentacion de MER
 
cc302modulo2
cc302modulo2cc302modulo2
cc302modulo2
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 

Último

COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfOscarBlas6
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx241518192
 
Producto académico 03 - Habilidades Comunicativas.pptx
Producto académico 03 - Habilidades Comunicativas.pptxProducto académico 03 - Habilidades Comunicativas.pptx
Producto académico 03 - Habilidades Comunicativas.pptx46828205
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 
El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.ayalayenifer617
 
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxPRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxRodriguezLucero
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdfFAUSTODANILOCRUZCAST
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfYuriFuentesMartinez2
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxssuser61dda7
 
Tema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxTema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxchinojosa17
 
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsxactividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx241532171
 
GRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxGRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxNicolas Villarroel
 
3Mayo2023 Taller construcción de Prototipos.pptx
3Mayo2023 Taller construcción de Prototipos.pptx3Mayo2023 Taller construcción de Prototipos.pptx
3Mayo2023 Taller construcción de Prototipos.pptxadso2024sena
 
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDGRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDLeslie Villar
 
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAFisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAcoloncopias5
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdfFernandaHernandez312615
 

Último (19)

COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdf
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
 
Producto académico 03 - Habilidades Comunicativas.pptx
Producto académico 03 - Habilidades Comunicativas.pptxProducto académico 03 - Habilidades Comunicativas.pptx
Producto académico 03 - Habilidades Comunicativas.pptx
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 
El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.
 
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxPRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdf
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
 
Tema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxTema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptx
 
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsxactividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
 
GRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxGRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptx
 
3Mayo2023 Taller construcción de Prototipos.pptx
3Mayo2023 Taller construcción de Prototipos.pptx3Mayo2023 Taller construcción de Prototipos.pptx
3Mayo2023 Taller construcción de Prototipos.pptx
 
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDGRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
 
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAFisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
 

Diseño de base de datos moo

  • 1. Por: Ing. Edwin Calle Terrazas Versión 1.1
  • 2. El diseño de una base de datos se descompone en diseño conceptual, diseño lógico y diseño físico. Diseño Conceptual Diseño Lógico Diseño Físico Mapeo Normalización ANALISIS DISEÑO Análisis de los requisitos Ing. Edwin Calle Terrazas 2
  • 3. DIAGRAMA DE CLASES Un diagrama de clases presenta un conjunto de clases, interfaces, colabo- raciones y las asociaciones entre ellas. Los diagrama de clases son los mas utilizados en el modelado de sistemas orientados a objetos. Los diagramas de clases se utilizan para describir la vista de diseño estática de un sistema. Un diagrama de clases está compuesto por los siguientes elementos: • Clase: atributos y métodos. • Relaciones: Asociación, Herencia, Composición y Agregación OBJETO Es cualquier cosa del mundo real que tiene existencia física o conceptual posee características y comportamiento. CLASE Conjunto de objetos que comparten los mismos atributos, métodos relaciones y comportamiento. Todo objeto es una instancia de una clase que tiene las mismas características. El diagrama de clases de UML representa el modelo orientado a objetos como herramienta de Modelado Conceptual de datos en la fase de diseño de una base de datos. MODELO ORIENTADO A OBJETOS 3
  • 4. <Nombre Clase> <Atributos> <Métodos> Un alumno posee como características: código, nombres, paterno, materno teléfono y dirección. Muestran su comportamiento a través de los métodos: modificarAlumno() y BuscarAlumno() 4 class DiagramAlumno- codigo- nombres- paterno- materno- telefono- direccion+ modificarAlumno(int) + buscarAlumno(int)
  • 5. ASOCIACIONES ENTRE CLASES Adorno Semántica 0..1 Cero ó 1 1 Exactamente 1 0..* Cero ó más * Cero ó más 1..* Uno ó mas 1..6 Uno a Seis 1..3, 7..10, 20..* 1 a 3 ó 7 a 10 ó 20 a muchos n Número fijo Ing. Edwin Calle Terrazas 5
  • 6. class Diagram Persona - ci - nombres - paterno - materno - telefono - direccion CertificadoNacimiento - id_certificado - fechaRegistro - nombrePadre - nombreMadre - fechaNacimiento - lugarNacimiento 1 Tiene 1 Significa que a cada objeto de la clase Persona, puede pertenecer un objeto de la clase CertificadoNacimiento y a cada objeto de la clase CertificadoNacimiento le pertenece un objeto de la clase Persona. class Diagram Recibo - nro_recibo - fecha - monto Factura - nro_factura - fecha - NIT - Monto 1 Tiene 0..1 Asociaciones de Uno a uno Significa que a cada objeto de la clase Recibo, puede o no pertenecer un objeto de la clase Factura y a cada objeto de la clase Factura le pertenece un objeto de la clase recibo. 6
  • 7. Cada objeto de la clase Cliente se puede relacionar con uno o muchos objetos de la clase NotaVenta, y cada objeto de la clase NotaVenta puede estar relacionado con un objeto de la clase Cliente. El otro ejemplo vemos que a cada objeto de la clase UnidadMedida le corresponde uno o más objetos de la clase Producto, pero a cada objeto de la clase Producto le corresponde un objeto de la clase UnidadMedida. Asociaciones de Muchos a muchos cada objeto de la clase Alumno se puede relacionar con uno o muchos objetos de la clase Matero, y cada objeto de la clase Materia puede estar relacionado con uno o muchos objetos de la clase Alumno. class diagram Alumno - codigo - nombre - paterno - materno Materia - sigla 1..* - nombre pasa 1..* Asociaciones de Uno a muchos class Diagram Cliente - id_cliente - nombre - telefono - direccion NotaVenta - id - fecha - monto 1 pide 1..* class Diagram UnidadMedida - id_unidad - nombre - abreviatura Producto - codigo - descripcion - precio 1 pertenece 1..* 7
  • 8. RELACIÓN DE COMPOSICIÓN Es un tipo de relación todo-parte, en la que el todo se puede componer de muchas partes. Se llama relación estática, donde el tiempo de vida del objeto Incluido «parte» es dependiente del que lo Incluye «todo». Las partes son miembros de un único compuesto . Dicho de otra forma: cada parte tiene dependencia de existencia del todo. 8 En este ejemplo el «todo» es PlanPago que se compone de la «parte» Cuota. Decimos que cada objeto de la clase Cuota no puede existir sin un PlanPlago. También podemos decir que esta relación es «indivisible» donde cada Cuota no se puede separar de un PlanPago. Según la multiplicidad, un PlanPago tiene muchas Cuotas, pero cada Cuota debe pertenecer a un solo PlanPago. class Diagram PlanPago - id_plan - fecha - montoTotal - plazo Cuota - id_cuota - fecha - monto 1..* 1 Ing. Edwin Calle Terrazas
  • 9. 9 class Diagram NotaVenta - id_venta - fecha - monto DetalleVenta - id_detal le - precioVenta - cantidad 1..* 1 class Diagram Gestion - id_gestion - nombre - fecha_inicio - fecha_fin Periodo - id_periodo - nombre - fecha_inicio - fecha_fin 1..* 1 En este otro ejemplo vemos que el «todo» es NotaVenta que se compone de la «parte» DetalleVenta. Cada objeto de la clase DetalleVenta está obligado a pertenecer a una NotaVenta, (es decir que cada detalleVenta no puede existir sino esta asociada a una NotaVenta) De la misma forma el último ejemplo. El «todo» es Gestión que se compone de la «parte» Periodo. Cada objeto de la clase Periodo no puede existir sino esta asociada a una Gestión.
  • 10. RELACIÓN DE AGREGACIÓN Es un tipo de relación dinámica, en donde el tiempo de vida del objeto Incluido (parte) es independiente del que lo Incluye (todo). Es decir que cada parte no tiene existencia de dependencia del todo (las partes pueden separarse del todo). Es una relación normal entre objetos, donde se usa para indicar las partes que corresponden a un todo. class Diagram Mueble - id - nombre - tipo Casa - nro - zona - uv - ubicacion 0..1 1..* 10 En el ejemplo vemos que el «todo» es Casa que se compone de la «parte» Mueble. Cada objeto de la clase Mueble puede existir sino esta asociada a una Casa. Dicho de otra forma: El Mueble se puede separar (divisible) de una Casa. En el otro ejemplo vemos que los Periféricos son partes de una Computadora, pero estos periféricos pueden existir o no para el funciona-miento del Computador. Donde también decimos que hay Periféricos que Que ni siquiera saben que son parte de una computadora. class Diagram Computadora - id_pc - procesador - memoria - discoDuro - tarjetaMadre Perifericos - codigo - nombre 0..1 0..*
  • 11. RELACIÓN DE GENERALIZACIÓN / ESPECIALIZACIÓN Es la actividad de identificar elementos comunes (del mismo tipo) entre los conceptos y definir las relaciones de superclase (concepto general) y subclase (concepto especializado). Indica que una subclase hereda los métodos y atributos especificados por una superclase. Las subclases además de poseer sus propios atributos y métodos, poseerá también las características y atributos visibles de la superclase. Las subclases se ajustan a las reglas ES UN tipo de la superclase. Ing. Edwin Calle Terrazas 11 (superclase) (subclases) class Diagram Vehiculo - placa - marca - modelo - color Camion - nroEjes - capacidad Auto - nroPasajeros Camión ES UN tipo de Vehículo y de la misma forma Auto.
  • 12. TIPOS DE ESPECIALIZACIÓN DISJUNTA.- Los objetos de las superclases pertenecen a una subclase. SOLAPAMIENTO.- Los objetos de las superclases pertenecen a una o ambas Subclases. PARTICIPACIÓN COMPLETA E INCOMPLETA Si un objeto de la superclases está obligado en cualquier subclase o en ambas, se denomina Completa (total). En el caso que exista un objeto de la superclase que no se encuentra en las subclases, se denomina Incompleta (parcial). Ing. Edwin Calle Terrazas 12 Camión y Auto heredan de Vehículo, es decir Camión posee las características de Vehículo (placa, marca, modelo y color). Además el Camión posee como propia particularidad nroEjes y Capacidad. Auto también hereda las características de la clase Vehículo y tiene como particularidad propia nroPasajeros.
  • 13. class Diagram Vehiculo - placa - marca - modelo - color Camion - nroEjes - capacidad Auto - nroPasajeros 13 Participación En el caso que cada objeto de Vehículo este obligado a ser Camión o Auto se denomina Completa (total), pero si existe algún objeto de Vehículo que no sea ni Camión ni Auto se denomina Incompleta (parcial). Tipo de Especialización Un Vehículo es solo Auto ó solo Camión no puede ser las dos cosas al mismo tiempo, en este caso se le denomina DISJUNTA
  • 14. En este ejemplo vemos que Secretaria hereda las características de Empleado y además tiene un atributo como particularidad propia velocidad_tipeo, de la misma manera Técnico con su atributo propio nivel. class Diagram Empleado - ci - nombres - paterno - materno - telefono Secretaria - velocidad_tipeo Tecnico - nivel Tipo de Especialización El Empleado puede ser Secretaria o Técnico, solamente uno de ellos no ambos, dando lugar al concepto de Disjunta. Participación Si cada objeto de Empleado está obligado a ser Secretaria o Técnico, se denomina Completa (total), pero si existe algún objeto de Empleado que no sea ni Secretaria ni Técnico se denomina Incompleta (parcial).
  • 15. Tipo de Especialización Una Empleado puede ser solo Docente, solo Administrativo ó ambos al mismo tiempo, dando lugar al concepto de Solapamiento. 15 class Diagram Empleado - id_emp - nombre - paterno - materno Docente Administrativo En este ejemplo vemos que Docente y Administrativo heredan las características de Empleado. Participación Si cada objeto de Empleado está obligado a ser Docente, Administrativo o ambos, se denomina Completa (total), pero si existe algún objeto de Empleado que no sea ni Docente ni Administrativo se denomina Incompleta (parcial).
  • 16. Tipo de Especialización Una persona puede ser solo Cliente, solo Vendedor ó ambos al mismo tiempo, dando lugar al concepto de Solapamiento. 16 class Diagram Persona - ci - nombre - apellidos - direccion - telefono Cliente - limite_credito Vendedor - porcentaje En forma general vemos que la Participación se da: si los objetos de la superclase están obligados en cualquier subclase o en ambas es Completa (total), en el caso que no exista un objeto de la superclase que no se encuentre en las subclases, se denomina Incompleta (parcial).
  • 17. RELACIONES RECURSIVAS Existen casos donde las asociaciones se realizan sobre la misma clase. En este caso es necesario utilizar roles para diferenciar los objetos que pertenecen a la misma clase. Ing. Edwin Calle Terrazas 17 class Diagram Cuenta - codigo - nombre cuenta_padre 0..* cuenta_hijo Tiene 0..1 Un empleado (subordinado) tiene un Jefe o ninguno y un Empleado (jefe) tiene a uno o muchos empleados subordinados. Una cuenta (padre) tiene ninguna o muchas cuentas hijas y una cuenta (hija) tiene o pertenece a una o ninguna cuenta padre. class Modelo de clases Empleado - id_emp - nombre - paterno - materno - telefono - sueldo jefe 1..* subordinado tiene 0..1
  • 18. 18 class Diagram Materia - sigla - nombre 0..* prerrequisi to 0..* tiene es class Diagram Parte - cod_parte - nombre parte_mayor 0..* parte_menor compone 0..* Una materia tiene ninguna o muchas materias como Prerrequisitos y una Materia es Prerrequisito de ninguna o muchas materias. Una parte mayor puede estar compuesta por ninguna o muchas partes menores y una parte menor puede pertenecer a ninguna o muchas partes mayores.
  • 19. CLASE ASOCIACIÓN Una clase asociación puede crearse cuando existe una relación muchos a muchos entre dos clases, esta clase no solamente conecta dos clases, sino que define un conjunto de características que pertenecen a la propia asociación, es decir que una clase asociación puede tener atributos propios, métodos y otras relaciones. class Diagram Producto - codigo - descripcion - precio Almacen - nro_almacen - nombre ProductoAlmacen - cantidad 1..* 1..* class Diagram Persona - ci - nombres - paterno - materno Empresa - id_empresa - nombre - direccion Trabaja - sueldo 1..* 0..* En el primer ejemplo vemos que una persona puede trabajar en muchas o ninguna empresas y en una empresa pueden trabajar una o muchas personas. Si queremos queremos registrar el sueldo que gana una persona en una empresa, este atributo no podemos ponerlo en la persona ni en la empresa, porque es el sueldo que gana una persona en una determinada empresa, por lo tanto este atributo es propio de la asociación. En el segundo ejemplo vemos también que la clase asociación ProductoAlmacen tiene un atributo propio que es cantidad, la cual indica la cantidad de productos que existen en un determinado almacén . 19
  • 20. PRACTICA 1 Una tienda que vende productos necesita registrar las ventas de sus productos. Un producto tiene características propias como (código,descripción,precio,stock) y estos pueden pertenecer a una categoría (id_categoria, nombre). Las ventas se realizan a través de notas de ventas de las cuales debemos registrar id_venta, fecha y monto. En una nota de venta se pueden vender varios productos, al mismo tiempo la nota de venta es para un solo cliente, del que es necesario registrar su datos personales (id_cliente, nombre, teléfono, dirección). Ing. Edwin Calle Terrazas 20 class Modelo de clasesCliente- id_cliente- nombre- telefono- direccionNotaVenta- id_venta- fecha- montoCategoria- id_categoria- nombreProducto- id_producto- descricion- precio- stockDetalleVenta- cantidad- preciov11..*1..* 10..*1..*
  • 21. PRACTICA 2 Un video club necesita almacenar su información en una base de datos. Esta es la información. Una película se caracteriza por su título, nacionalidad, productora y fecha (ej. “RAMBO”, Estados Unidos, MGM, 1990). En una película pueden participar varios actores (nombre, apellidos nacionalidad, sexo, etc.) Una película está dirigida por un director (nombre, apellidos, nacionalidad). De cada película se dispone de uno o varios ejemplares diferenciados por un número de ejemplar y caracterizados por su estado de conservación. Un cliente (ci, nombres, paterno materno, dirección, teléfono) puede pedir que le alquilen varios ejemplares. Se desea almacenar la nota de alquiler con los siguientes datos: nro, fecha_inicio del alquiler y fecha_devolución del alquiler. Hacer el Diagrama de Clases. PRACTICA 3 Se quiere diseñar una base de datos para almacenar información sobre los asuntos que lleva un gabinete de abogados. Cada asunto tiene un número de expediente que los identifica y corresponde a un solo cliente, del asunto se debe almacenar sobre el periodo: la fecha de inicio y fecha de archivo (finalización), su estado (en trámite, archivado, …) . Los datos personales de los clientes son: ci, nombre, pa- terno, materno, teléfono. Los asuntos pueden ser llevados por uno o varios abo- gados de los que también nos interesa sus datos personales. 21
  • 22. 22 PRACTICA 4 En una empresa existen 3 tipos de empleados, Técnicos, Secretaria e Ingeniero, los técnicos reparan muchos equipos, las secretarias manejan programas y los Ingenieros trabajan en muchos proyectos. Un empleado subordinado es supervisado por un empleado jefe y el empleado jefe tiene a cargo a muchos empleados subordinados. Los empleados pertenecen solamente a un departamento. PRACTICA 5 Se desea crear una base de datos que permita registrar el árbol genealógico de una persona (quien fue su padre y madre), así también registrar los hijos que puede tener. Por ejemplo: Adán y Eva engendraron a Caín y Abel, Caín y su pareja engen draron a …, etc. La base de datos deber ser capaz de registrar a los hijos reconocidos y no recono- cidos por su padre, por su madre, ambos o ninguno de ellos.
  • 23. 23 PRACTICA 6 Crear una base de datos para registrar los prestamos que solicitan los estudiantes en una biblioteca. Existen tres tipos de documentos (libro, informe, cd), los cuales tienen muchas copias. Los documentos son publicados por muchos autores. En un préstamo pueden haber muchas copias. Cada copia esta ubicada en una posición de una respectiva fila de un estante.
  • 24. TRANSFORMACIÓN DEL DISEÑO CONCEPTUAL AL DISEÑO LÓGICO 24 Ing. Edwin Calle Terrazas
  • 25. Asociación entre dos clases: Uno a Uno Ambas participación Completa (total) 1 1 a) Tablas : A(a# ,….......) B (b# ,…....,a#) Valores de a# not null en la tabla B PK PK FK ó también Tablas : A (a# ,.........,b#) B (b#,...........) Valores de b# not null en la tabla A PK FK PK A B REGLAS DE MAPEO b) Tabla : A (a# ,...............,b#,..............) Una sola tabla PK Escogemos una de las clases colocando su llave con su atributos, y traemos todos los atributos de la otra clase. 25 Ing. Edwin Calle Terrazas
  • 26. a)Tablas : A (a# ,............) B (b#,.............,a#) Valores de a# not null en la tabla B PK PK FK b) Una sola tabla y cuando existan pocos valores nulos de b# en la tabla A Tablas : A (a# ,................b#,...................) PK Valores nulos permitidos en la tabla A 1 0..1 A B Asociación entre dos clases: Uno a Uno Participación Completa (total) en un solo lado 26
  • 27. a) Tablas : A (a#,.............) B (b#,..........,a#) Valores nulos de a# permitidos en la tabla B PK PK FK ó también Tablas : A (a#,............,b#) B (b#,............) Valores nulos de b# permitidos en la tabla A PK FK PK 0..1 0..1 A B Asociación entre dos clases: Uno a Uno Participación Incompleta (parcial) en ambos lados 27
  • 28. a)Tablas: A(a#,..........) B(b#,...........,a#) PK PK FK Valores de a# not null en la tabla B 1 0..* A B Asociación entre dos clases: Uno a muchos Participación Completa (Total) del lado muchos hacia el uno 28
  • 29. A) Tablas : A (a#,...........) B (b# ,..........,a#) PK PK FK Valores nulos de a# permitidos en la tabla B 0..1 1..* A B Asociación entre dos clases: Uno a muchos Participación Completa (Total) en el lado uno e Incompleta en el lado muchos 29
  • 30. a)Tablas: A(a#,........) B(b#,...........,a#) PK PK FK Valores de a# not null en la tabla B 1 1..* A B Asociación entre dos clases: Uno a muchos Participación Completa (Total) en ambos lados 30
  • 31. a) Tablas : A (a#,............) B (b #,.............,a#) PK PK FK Valores nulos de a# permitidos en la tabla B b) Caso poco común: En tres tablas cuando existan pocos objetos obligados entre ambas clases. Porque existirían muchos valores nulos al crear las dos tablas, por tanto. Tablas : A (a#,….....) B(b#,........) R(a#,b#,.......) PK PK PK Valores a#, b# not null en la tabla R 0..1 0..* A B Asociación entre dos clases: Uno a muchos Participación Incompleta (parcial) en ambos lados 31
  • 32. a) Participación completa (total) en ambos b) Participación incompleta (parcial) en ambos 1..* 1..* A B 0..* 0..* A B Asociación entre dos clases: Muchos a muchos 32
  • 33. c) Participación incompleta (parcial) en un lado y completa (total) en el otro. PARA TODOS LOS CASOS Tablas : A(a#,........) B(b#,........) R(a#, b#,.......) PK PK PK 1..* 0..* A B 0..* 1..* A B 33
  • 34. MAPEO PRACTICA 1: Venta de productos Cliente (id_cliente,………….) Categoria (id_categoria,……….) Producto (codigo,……….., id_categoria) Ing. Edwin Calle Terrazas 34 PK PK PK FK class Modelo de clases Cliente - id_cliente - nombre - telefono - direccion NotaVenta - id_venta - fecha - monto Categoria - id_categoria - nombre Producto - id_producto - descricion - precio - stock DetalleVenta - cantidad - preciov 1 1..* 1..* 1 0..* 1..*
  • 35. 35 NotaVenta (nro_venta,……………,id_cliente) DetalleVenta (nro_venta, codigo,…………) FK PK PK FK FK
  • 36. MAPEO PARA LA COMPOSICIÓN Id_plan Fecha MontoTotal Plazo 1 02/04/2013 5000 90 días 2 18/04/2013 2000 30 días Id_plan Id_cuota Fecha Monto 1 1 12/04/2013 1500 1 2 20/05/2013 1500 1 3 27/05/2013 1000 1 4 27/06/2013 1000 2 1 24/04/2013 1500 2 2 27/05/2013 500 PlanPago (id_plan,………….) Cuota (id_plan, id_cuota,………..) 36 PlanPago Cuota class Diagram PlanPago - id_plan - fecha - montoTotal - plazo Cuota - id_cuota - fecha - monto 1..* 1 PK PK FK Ing. Edwin Calle Terrazas
  • 37. 37 MAPEO PARA LA AGREGACIÓN Por ser una relación pasiva, el mapeo de la agregación es como si fuera una relación normal. Computadora (id_pc,………….) Perifericos (codigo,………., id_pc) class Diagram Computadora - id_pc - procesador - memoria - discoDuro - tarjetaMadre Perifericos - codigo - nombre 0..1 0..* PK PK FK Ing. Edwin Calle Terrazas
  • 38. 38 Id_emp nombre paterno materno telefono sueldo Id_jefe 1 Edwin Calle Terrazas 73133740 7000 2 Daniel Zurita Castro 77012345 9000 3 María Torrico Chávez 70934567 4000 1 4 Mariela Romero Ramírez 60812322 4500 1 5 Marioly López Choque 33465457 8000 1 6 Enrique Calderón Ramos 71034512 5000 2 7 Ernesto Núñez Cabrera 70823122 3000 2 8 Mario Añez Añez 60812345 2000 3 MAPEO EN ASOCIACIONES RECURSIVAS Empleado(id_emp,………, id_jefe) En una empresa se desea registrar a los empleados jefes tienen a cargo a muchos empleados subordinados, y los empleados subordinados pertenecientes a un jefe. Nota: En este caso los empleados que son jefes se supervisan así mismos. PK FK Ing. Edwin Calle Terrazas class Modelo de clasesEmpleado- id_emp- nombre- paterno- materno- telefono- sueldojefesubordinado1..* tiene0..1
  • 39. 39 Codigo Nombre CuentaPadre 1.00.00 Activo 1.01.00 Activo Corriente 1.00.00 1.01.01 Caja M/N 1.01.00 1.01.02 Caja M/E 1.01.00 1.02.00 Activo no Corriente 1.00.00 2.00.00 Pasivo Cuenta (codigo,….……, cuentaPadre) Cuenta class Diagram Cuenta - codigo - nombre cuenta_padre 0..* cuenta_hijo Tiene 0..1 Se desea registrar el plan de cuentas que tendrá una empresa la cual administra Su contabilidad a través de un Sistemas Contable. Nota: Las cuentas de grupos mayores: Activo, Pasivo, Patrimonio, Ingreso y Egreso no tienen una cuenta padre y las cuentas de movimiento no tienen cuentas hijas. PK FK
  • 40. class Diagram Materia - sigla - nombre 0..* prerrequisito 0..* tiene es Sigla Sigla_Prerrequisito INF120 INF110 MAT102 MAT101 FIS102 FIS100 MAT103 INF119 LIN101 LIN100 INF210 INF120 INF210 MAT103 MAT207 MAT102 FIS200 FIS102 INF211 INF120 INF211 FIS102 Sigla Nombre INF110 Introducción a la Informática MAT101 Cálculo I FIS100 Física I INF119 Estructuras Discretas LIN100 Inglés Técnico I INF120 Programación I MAT102 Cálculo II FIS102 Física II MAT103 Algebra Lineal LIN101 Inglés Técnico II INF210 Programación II MAT207 Ecuaciones Diferenciales FIS200 Física III ADM100 Administración INF211 Arquitectura de Computadoras Materia Prerrequisito Materia (sigla, …………) Prerrequisito (sigla , siglaPrerrequisito,.…..…) Realizar el registro de las materias con sus respectivos prerrequisitos. FK PK FK PK
  • 41. ci Nombres Paterno Materno Telefono Tipo 3868977 Ricardo Suárez Suárez 73147828 T 2244123 María Sánchez Paz 70812312 S 4123123 Jorge Soliz Días 70078799 T ci Velocidad_tipeo 2244123 60 ci Nivel 3868977 Superior 4123123 Medio class Diagram Empleado - ci - nombres - paterno - materno - telefono Secretaria - velocidad_tipeo Tecnico - nivel Empleado Secretaria Técnico Empleado(ci,……,tipo) Secretaria(ci,…….) Tecnico(ci,………..) MAPEO EN LA HERENCIA a) Disjunto caso general Ing. Edwin Calle Terrazas 41 PK PK PK FK FK
  • 42. Ing. Edwin Calle Terrazas 42 ci Nombres Paterno Materno Telefono Velocidad_tipeo Nivel Tipo 3868977 Ricardo Suárez Suárez 73147828 Superior T 2244123 María Sánchez Paz 70812312 60 S 4123123 Jorge Soliz Días 70078799 Medio T b) Disjunto de otra manera, en una sola tabla Empleado Empleado (ci,…………..,velocidad_tipeo, nivel, tipo) PK
  • 43. Ing. Edwin Calle Terrazas 43 Ci Nombre Apellidos Dirección Teléfono Limite_credito Porcentaje TC TV 3838383 Eduardo Vargas Suárez 73147828 2000 1 0 2244123 Ricardo Sánchez Paz 70812312 10 0 1 4123123 Jorge Soliz Días 70078799 5000 15 1 1 3847689 Miguel García Núñez 73120200 3000 1 0 c) Solapamiento en una sola tabla class Diagram Persona - ci - nombre - apellidos - direccion - telefono Cliente - limite_credito Vendedor - porcentaje Persona(ci,…………..,limite_credito, porcentaje, tc, tv) PK
  • 44. Ing. Edwin Calle Terrazas 44 LENGUAJE ESTRUCTURADO DE CONSULTAS (SQL) Presentamos el lenguaje estructurado de consultas (structured query language) que permite al usuario crear y manipular una base de datos. Utilizaremos este lenguaje para modelar el diseño físico de la base de datos.
  • 45. Ing. Edwin Calle Terrazas 45 create table cliente( id_cliente int primary key, nombre varchar(30) not null, telefono int, direccion varchar(50) ); create table categoria( id_categoria int primary key, nombre varchar(30), ); create table producto( codigo varchar(10) primary key, descripcion varchar(50) not null, precio float not null, id_categoria int not null, foreign key(id_categoria) references categoria(id_categoria) on delete cascade on update cascade ); CREACIÓN DE TABLAS DE LA PRACTICA 1: Venta de productos class diagram Cliente - id_cliente - nombre - telefono - direccion NotaVenta - nro_venta - fecha - monto Producto - codigo - descripcion - precio Categoria - id_categoria - nombre DetalleVenta - cantidad - preciov 0..* 1..* 1..* 1 1 1..* on delete cascade y on update cascade se coloca para cumplir la integridad referencial, que dice si un atributo o conjunto de atributos se define como una llave foránea, sus valores deben existir en la tabla en que ese atributo es llave principal. Es decir que los datos de la tabla en que el atributo es llave primaria puede ser modificado o eliminado y causará efecto en los registros de la tabla donde el atributo es foráneo.
  • 46. Ing. Edwin Calle Terrazas 46 create table notaventa( nro_venta int primary key, fecha date not null, monto float not null, id_cliente int not null, foreign key(id_cliente) references cliente(id_cliente) ); create table detalleventa( nro_venta int not null, codigo varchar(10) not null, cantidad int not null, previov float not null, primary key(nro_venta, codigo), foreign key (nro_venta) references notaventa(nro_venta), foreign key (codigo) references producto(codigo) );
  • 47. Ing. Edwin Calle Terrazas 47 Creación de tablas para la composición create table PlanPagos( id_plan int primary key, fecha date not null, montoTotal float not null, plazo varchar(50) not null ); create table Cuota( id_plan int not null, id_cuota int not null, fecha date not null, monto float not null, primary key(id_plan, id_cuota), foreign key(id_plan) references PlanPagos(id_plan) ); class DiagramPlanPagos- id_plan- fecha- montoTotal- plazoCuota- id_cuota- fecha- monto1..* 1
  • 48. Ing. Edwin Calle Terrazas 48 class Diagram Materia - sigla - nombre 0..* prerrequisito 0..* tiene es Creación de tablas recursivas create table Materia( sigla varchar(10) primary key, nombre varchar(30) not null ); create table Prerrequisito( sigla varchar(10), sigla_prerrequesito varchar(10), primary key(sigla, sigla_prerrequisito), foreign key(sigla) references Materia(sigla), foreign key(sigla_prerrequisito) references Materia(sigla) ); tiene class Diagram Cuenta - codigo - nombre 0..* cuenta padre 0..1 es create table Cuenta( codigo varchar(20) primary key, nombre varchar(40) not null, cuenta_padre varchar(20), foreign key(cuenta_padre) references Cuenta(codigo) );
  • 49. 49 Creación de tablas para la herencia Especialización: Disjunta (caso general) class Diagram Empleado - ci - nombres - paterno - materno - telefono Secretaria - velocidad_tipeo Tecnico - nivel create table empleado( ci int primary key, nombres varchar(30) not null, paterno varchar(30) not null, materno varchar(30), telefono int, tipo char(10) not null, ); create table secretaria( ci int primary key, velocidad_tipeo int not null, foreign key(ci) references empleado(ci) on delete cascade on update cascade ); create table tecnico( ci int not null, nivel varchar(20) not null, primary key(ci), foreign key(ci) references empleado(ci) on delete cascade on update cascade ); Ing. Edwin Calle Terrazas
  • 50. 50 create table empleado( ci int primary key, nombres varchar(30) not null, paterno varchar(30) not null, materno varchar(30), telefono int not null, velocidad_tipeo int, nivel varchar(20), tipo char not null ); Especialización: Disjunta (Una sola tabla) Ing. Edwin Calle Terrazas
  • 51. 51 class Diagram Persona - ci - nombre - apellidos - direccion - telefono Cliente - limite_credito Vendedor - porcentaje Creación de tablas para la herencia Especialización: Solapamiento (en una sola tabla) create table persona( ci int primary key, nombre varchar(30) not null, apellidos varchar(30) not null, direccion varchar(50), telefono int not null, limite_credito int, porcentaje float, tc tinyint, tv tinyint );