2 Libro Completo Programación
2 Libro Completo Programación
Servicio Nacional
de Derechos
Intelectual
0097866
978-9942-35-693-2
PRESENTACIÓN
Este módulo, que se estudiará a lo largo de los tres años del bachillerato técnico, busca desarrollar en los
estudiantes la capacidad de realizar sistemas informáticos con lenguajes de programación y bases de datos,
para atender requerimientos específicos planteados por el usuario. En esta perspectiva, el proceso de
enseñanza-aprendizaje deberá estar orientado a la construcción de propuestas destinadas a solucionar
problemas de diferente tipo y variada complejidad. La integración articulada de los contenidos de lenguaje de
programación y bases de datos se evidenciará en los dos últimos años del bachillerato. Las recomendaciones
metodológicas propuestas son las siguientes:
- Realizar estudios de casos relacionados con problemas de la vida real, en los que los
estudiantes sean quienes propongan soluciones.
- Organizar trabajos en equipo para que los estudiantes compartan conocimientos y
experiencias, así como la responsabilidad en su ejecución.
- Considerar la dosificación del tiempo requerido para programar, en función de la complejidad de
los ejercicios.
- Plantear ejercicios con situaciones que constituyan retos a ser resueltos por los estudiantes,
los cuales contribuirán a mantener activa su curiosidad y orientarles a ser investigativos, como por
ejemplo en la búsqueda de nuevos comandos.
- Permitir el planteamiento de ejercicios de programación por parte de los estudiantes, para
propiciar mayor compromiso y motivación en su desarrollo.
- Plantear ejercicios diferenciados con nuevos desafíos, para los estudiantes que avanzan rápido en
el aprendizaje.
- Analizar en grupo las dificultades que puedan surgir en el desarrollo del trabajo, para
propiciar que los mismos estudiantes planteen soluciones.
- Planificar la ejecución de un proyecto integrador durante el proceso de estudio del módulo, que
permita sistematizar los aprendizajes desarrollados.
2
PROGRAMACIÓN Y BASE DE DATOS 2
ÍNDICE
UNIDAD 1: PROGRAMACIÓN ORIENTADA A OBJETOS
Programación Orientada a Objetos (POO) 7
Motivación 7
Introducción 7
El estado 7
El comportamiento 7
La identidad 7
Origen 8
Conceptos fundamentales 11
Componentes de un objeto 12
Identificación de un objeto 12
Características de la POO 12
Las Clases 16
Tipos de clases 17
Características fundamentales 19
Declaración 19
Función (Programación) 19
Elementos de la declaración de una Función 20
Funciones dentro de clases 20
Una función de inicio 22
Declaración de funciones 22
Ventajas de la Programación Orientada a Objetos 23
Historia de Java 25
Java hoy en día 25
Curiosidades de JAVA 25
Ventana de Comandos 28
Compiladores 28
Programa Fuente o Código Fuente 28
Programa Objeto o Código Objeto 28
Librería, Biblioteca o Paquete. 30
Trabajar con JOptionPane 30
Método JOptionPane 30
Comentarios 30
Método showMessageDialog 32
Método showInputDialog() 33
Código fuente. 35
Compilación de código fuente en código objeto. 35
Programación orienta a objeto java (formularios) 37
Diseño del Formulario 39
Contenedores Swing 39
Consideraciones en el diseño de formas 39
Ventana de Propiedades 40
Controles más usados 40
3
PROGRAMACIÓN Y BASE DE DATOS 2
UNIDAD 2
ESTRUCTURAS DE CONTROL
Estructuras de Control 45
Tipos de Estructura de Control 45
Estructuras de Control Dobles 56
Estructuras Selectivas Múltiples 64
Desarrollo de programas 84
Análisis de requerimientos 85
Diseño de programa 85
Pseudocódigo 87
Documentación de programas 88
Documentación para el usuario 90
Documentación para mantenimiento 90
UNIDAD 3
ANÁLISIS ESTRUCTURADO DE SISTEMAS Análisis
estructurado de sistemas 96
Análisis estructurado 96
Significado de estructurado 96
Componentes del análisis estructurado 96
Identificación del problema 97
Requerimientos del sistema 99
Requisitos de Entradas 99
Requerimientos de Salida 102
Niveles de diseño 102
Utilización de los Datos de Requerimientos 103
Participación de los Usuarios 103
Fases de la implementación de un sistema 105
Modelización de funciones y procesos 111
Modelización de datos 113
Pasos para el desarrollo del Modelo de Datos 114
Modelo conceptual. 116
Análisis Entidad – Relación 117
Elementos del modelo entidad-relación 119
Elección de nombres de conjuntos de objetos 126
Programación con sistemas gestores de bases de datos relacionales 129
Características 129
Elementos 129
Restricciones 129
Dominios 130
Claves 130
Procedimientos almacenados 131
Estructura 134
Manipulación de la información 134
Manejadores de base de datos relacionales 135
Ventajas y Desventajas 135
Diseño de las bases de datos relacionales 137
4
UNIDAD 1
PROGRAMACIÓN
ORIENTADA A
OBJETOS
PROGRAMACIÓN Y BASE DE DATOS 2
6
PROGRAMACIÓN Y BASE DE DATOS 2
Motivación
Durante años, los programadores se han dedicado a construir aplicaciones
muy parecidas que resolvían una y otra vez los mismos problemas. Para
conseguir que los esfuerzos de los programadores puedan ser utilizados por
otras personas se creó la POO. Que es una serie de normas de realizar las
cosas de manera que otras personas puedan utilizarlas y adelantar su
trabajo, de manera que consigamos que el código se pueda reutilizar.
Introducción
Los objetos son entidades que combinan estado (atributo), comportamiento
(método) e identidad:
El estado
Está compuesto de datos, será uno o varios atributos a los que se habrán
asignado unos valores concretos (datos).
El comportamiento
Está definido por los procedimientos o métodos con que puede operar dicho
objeto, es decir, qué operaciones se pueden realizar con él.
La identidad
Es una propiedad de un objeto que lo diferencia del resto, dicho con otras
palabras, es su identificador (concepto análogo al de identificador de una
variable o una constante). Un objeto contiene toda la información que
permite definirlo e identificarlo frente a otros objetos pertenecientes a otras
clases e incluso frente a objetos de una misma clase, al poder tener valores
bien diferenciados en sus atributos.
7
PROGRAMACIÓN Y BASE DE DATOS 2
Origen
Los conceptos de la Programación Orientada a Objetos tienen origen en
Simula 67, un lenguaje diseñado para hacer simulaciones, creado por Ole-
Johan Dahl y Kristen Nygaard del Centro de Cómputo Noruego en Oslo.
8
PROGRAMACIÓN Y BASE DE DATOS 2
Para saltar este obstáculo, se hicieron muchas tentativas para crear nuevos
lenguajes basados en métodos orientados a objetos, pero permitiendo
algunas características imperativas de maneras seguras".
9
PROGRAMACIÓN Y BASE DE DATOS 2
10
PROGRAMACIÓN Y BASE DE DATOS 2
Conceptos fundamentales
La programación orientada a objetos es una forma de programar que trata
de encontrar una solución a estos problemas. Introduce nuevos conceptos,
que superan y amplían conceptos antiguos ya conocidos. Entre ellos
destacan los siguientes:
CLASE
Definiciones de las propiedades y comportamiento de un tipo de objeto
concreto. La instanciación es la lectura de estas definiciones y la
creación de un objeto a partir de ellas.
HERENCIA
Es la facilidad mediante la cual la clase D hereda en ella cada uno de
los atributos y operaciones de C, como si esos atributos y operaciones
hubiesen sido definidos por la misma D. Por lo tanto, puede usar los
mismos métodos y variables públicas declaradas en C. Los
componentes registrados como privados (private) también se heredan,
pero como no pertenecen a la clase, se mantienen escondidos al
programador y sólo pueden ser accedidos a través de otros métodos
públicos. Esto es así para mantener hegemónico el ideal de OOP.
OBJETO
Entidad provista de un conjunto de propiedades o atributos (datos) y de
comportamiento o funcionalidad (métodos) los mismos que
consecuentemente reaccionan a eventos. Se corresponde con los
objetos reales del mundo que nos rodea, o a objetos internos del sistema
(del programa). Es una instancia a una clase.
MÉTODO
Algoritmo asociado a un objeto (o a una clase de objetos), cuya
ejecución se desencadena tras la recepción de un mensaje. Desde el
punto de vista del comportamiento, es lo que el objeto puede hacer. Un
. método puede producir un cambio en las propiedades del objeto, o la
generación de un evento con un nuevo mensaje para otro objeto del
EVENTO
Es un suceso en el sistema (tal como una interacción del usuario con la
máquina, o un mensaje enviado por un objeto). El sistema maneja el
evento enviando el mensaje adecuado al objeto pertinente. También se
puede definir como evento, a la reacción que puede desencadenar un
objeto, es decir la acción que genera.
MENSAJE
Una comunicación dirigida a un objeto, que le ordena que ejecute uno
de sus métodos con ciertos parámetros asociados al evento que lo
generó.
11
PROGRAMACIÓN Y BASE DE DATOS 2
PROPIEDAD o ATRIBUTO
Contenedor de un tipo de datos asociados a un objeto (o a una clase de
objetos), que hace los datos visibles desde fuera del objeto y esto se
define como sus características predeterminadas, y cuyo valor puede
ser alterado por la ejecución de algún método.
ESTADO INTERNO
Es una variable que se declara privada, que puede ser únicamente
accedida y alterada por un método del objeto, y que se utiliza para
indicar distintas situaciones posibles para el objeto (o clase de objetos).
No es visible al programador que maneja una instancia de la clase.
Componentes de un objeto
Atributos, identidad, relaciones y métodos.
Identificación de un objeto
Un objeto se representa por medio de una tabla o entidad que esté
compuesta por sus atributos y funciones correspondientes.
Características de la POO
Existe un acuerdo acerca de qué características contempla la orientación a
objetos, las características siguientes son las más importantes:
Abstracción
Denota las características esenciales de un objeto, donde se capturan sus
comportamientos. Cada objeto en el sistema sirve como modelo de un
"agente" abstracto que puede realizar trabajo, informar y cambiar su estado,
y "comunicarse" con otros objetos en el sistema sin revelar cómo se
implementan estas características. Los procesos, las funciones o los
métodos pueden también ser abstraídos y cuando lo están, una variedad de
técnicas es requeridas para ampliar una abstracción.
12
PROGRAMACIÓN Y BASE DE DATOS 2
Encapsulamiento
Significa reunir a todos los elementos que pueden considerarse
pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto
permite aumentar la cohesión de los componentes del sistema. Algunos
autores confunden este concepto con el principio de ocultación,
principalmente porque se suelen emplear conjuntamente.
Principio de ocultación
Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de
objeto expone una interfaz a otros objetos que específica cómo pueden
interactuar con los objetos de la clase. El aislamiento protege a las
propiedades de un objeto contra su modificación por quien no tenga
derecho a acceder a ellas, solamente los propios métodos internos del
objeto pueden acceder a su estado.
Historia de la programación
Gottfried Wilheml von Leibniz (1646-1716), quien aprendió matemáticas de
forma autodidacta (método no aconsejable en programación) construyó una
máquina similar a la de Pascal, aunque algo más compleja, podía dividir,
multiplicar y resolver raíces cuadradas.
13
PROGRAMACIÓN Y BASE DE DATOS 2
Características
Acciones
Características
Acciones
2. Definición de Mensaje:
14
PROGRAMACIÓN Y BASE DE DATOS 2
Polimorfismo
Comportamientos diferentes, asociados a objetos distintos, pueden
compartir el mismo nombre, al llamarlos por ese nombre se utilizará el
comportamiento correspondiente al objeto que se esté usando. O dicho de
otro modo, las referencias y las colecciones de objetos pueden contener
objetos de diferentes tipos, y la invocación de un comportamiento en una
referencia producirá el comportamiento correcto para el tipo real del objeto
referenciado.
Herencia
Las clases no están aisladas, sino que se relacionan entre sí, formando una
jerarquía de clasificación. Los objetos heredan las propiedades y el
comportamiento de todas las clases a las que pertenecen. La herencia
organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los
objetos ser definidos y creados como tipos especializados de objetos
preexistentes. Estos pueden compartir (y extender) su comportamiento sin
tener que volver a implementarlo. Esto suele hacerse habitualmente
agrupando los objetos en clases y estas en árboles o enrejados que reflejan
un comportamiento común. Cuando un objeto hereda de más de una clase
se dice que hay herencia múltiple.
Recolección de basura
La recolección de basura o garbage collector es la técnica por la cual el
entorno de objetos se encarga de destruir automáticamente, y por tanto
desvincular la memoria asociada, los objetos que hayan quedado sin
ninguna referencia a ellos.
15
PROGRAMACIÓN Y BASE DE DATOS 2
C# PEARL
C++ VISUAL
BASIC.NET
JAVA ACTIONCSRIPT
PHP DELPHI
Las Clases
Las clases son la base de la Programación Orientada a Objetos, una clase
es una plantilla, molde o modelo para crear objetos. Una clase está
compuesta por características, propiedades o atributos (variables) y por su
comportamiento (métodos) que trabajan sobre las propiedades.
Sintaxis de una clase en Java.
class MiClase {
//Constructor de la Clase
//atributos de la clase
//métodos de la clase
}
Considera una clase como un molde, comparemos con una plantilla para
crear una solicitud de permiso, estas plantillas tienen toda la información, lo
único que se cambia son ciertos datos, con una sola plantilla yo podría crear
varias solicitudes.
De qué sirve esto, esto ayuda a no crear de nuevo una solicitud si no sólo
adaptarla a un nombre específico de acuerdo al solicitante. Así mismo son
las clases, a partir de una clase se pueden crear muchos objetos, cada
objeto tendrá sus propias características. Ejemplo:
Crear una clase celular, con sus atributos: color, modelo, marca, con dos
constructores y los métodos llamar, cortar llamada, informar características
y los métodos getters y setters que permiten acceder a los atributos de la
clase.
16
PROGRAMACIÓN Y BASE DE DATOS 2
Tipos de clases
Una parte muy importante de la Programación Orientada a Objetos son las
clases, si no fuera por ellas ni siquiera habría objetos. Cada una tiene sus
propias características y ventajas. Un programador que conoce estas
características sabe cuándo debe usar una y no otra, de manera que su
desarrolla un buen software. Los tipos de clases son:
17
PROGRAMACIÓN Y BASE DE DATOS 2
18
PROGRAMACIÓN Y BASE DE DATOS 2
Características fundamentales
Declaración
Las clases se declaran mediante la palabra clave class. El nivel de acceso
precede a la palabra clave class. Como, en este caso, se utiliza public,
cualquiera puede crear objetos a partir de esta clase. El nombre de la clase
sigue a la palabra clave class. El resto de la definición es el cuerpo de clase,
donde se definen el comportamiento y los datos. Los campos, propiedades,
métodos y eventos de una clase se conocen colectivamente como
miembros de clase. Aunque se utilizan a veces de forma intercambiable,
una clase y un objeto son cosas diferentes. Una clase define un tipo de
objeto, pero no es propiamente un objeto. Un objeto es una entidad concreta
basada en una clase y, a veces, se denomina instancia de una clase.
Función (Programación)
En computación, una subrutina o subprograma (también llamada
procedimiento, función o rutina), como idea general, se presenta como un
sub algoritmo que forma parte del algoritmo principal, el cual permite
resolver una tarea específica. Algunos lenguajes de programación, como
Visual Basic.NET o Fortran, utilizan el nombre función para referirse a
subrutinas que devuelven un valor.
Desde un punto de vista práctico, podemos decir que una función es una
parte de un programa (subrutina) con un nombre, que puede ser invocada
(llamada a ejecución) desde otras partes tantas veces como se desee.
Un bloque de código que puede ser ejecutado como una unidad funcional.
Opcionalmente puede recibir valores; se ejecuta y puede devolver un valor.
19
PROGRAMACIÓN Y BASE DE DATOS 2
20
PROGRAMACIÓN Y BASE DE DATOS 2
CLASE
MÉTODO ATRIBUTO
OBJETO
MÉNSAJE
21
PROGRAMACIÓN Y BASE DE DATOS 2
Declaración de funciones
Una función puede ser declarada varias veces en un mismo programa, y las
declaraciones pueden aparecer en cualquier orden; en un fichero fuente o
en varios, pero en cualquier caso antes de su uso, es decir: antes de
cualquier invocación a la función. Además de declarar el nombre de la
función y el tipo devuelto (por defecto se supone int) se declaran también el
tipo de los parámetros. Sintaxis:
22
PROGRAMACIÓN Y BASE DE DATOS 2
23
PROGRAMACIÓN Y BASE DE DATOS 2
2. ¿Qué es un Objeto?
a) La abstracción encapsulada que tiene un estado interno dado por una
lista de atributos cuyos valores son únicos.
b) Una variable establecida por una estructura especial.
c) Ninguna de las 2 anteriores.
24
PROGRAMACIÓN Y BASE DE DATOS 2
Historia de Java
Tal vez la contribución más importante a la fecha, por parte de la revolución
del microprocesador, es que hizo posible el desarrollo de las computadoras
personales, que ahora suman cientos de millones a nivel mundial.
Curiosidades de JAVA
El nombre de JAVA tiene una gran polémica con respecto a su origen, se
discuten varias teorías:
Una de las teorías más difundidas viene del café, se dice que una
cafetería cercana donde los desarrolladores tomaban café se llamaba
de la misma forma, de ahí vendría también su logo con una taza de
café humeante.
Otra versión dice que viene del acrónimo: Just Another Vague
Acronym ("sólo otro acrónimo ambiguo más").
25
PROGRAMACIÓN Y BASE DE DATOS 2
Seleccionar proyecto:
Categorías: Java
Proyectos: Aplicación Java
Borrar: .main
26
PROGRAMACIÓN Y BASE DE DATOS 2
Ventana de
comandos
Archivo a Trabajar
La codificación es = Código Fuente
F6 es para ejecutar
o el siguiente botón:
El mismo que presenta un mensaje por consola, que es lo que está entre
comillas, recuerda que todo Mensaje debe ir entre comillas dobles.
27
PROGRAMACIÓN Y BASE DE DATOS 2
Como se dará cuenta el print, se concatena con otro texto, para que esto
no ocurra trabaje con la instrucción pritnln.
Ventana de Comandos
Programa usado para escribir cualquier tipo de texto (sin formato, ej: bloc
de notas), en este caso, una codificación en “Java”.
Compiladores
Un grupo de programas que se encargan de revisar los errores de una
codificación (escritura de un programa, en nuestro caso una clase).
28
PROGRAMACIÓN Y BASE DE DATOS 2
Investigue:
1.- La reseña histórica de la institución educativa en la que se está
formado y escriba el programa fuente o código fuente.
29
PROGRAMACIÓN Y BASE DE DATOS 2
Método JOptionPane
Proporciona cuadros de diálogos previamente empaquetados, los cuales
permiten a los programadores mostrar ventanas que contengan mensajes
para los usuarios.
Comentarios //
Los comentarios no afectan la ejecución del programa. Son opcionales.
Todo comentario comienza con dos barras (//), y no es necesario
finalizarlas. Cualquier carácter entre estas marcas es ignorado por el
compilador de “Java”.
30
PROGRAMACIÓN Y BASE DE DATOS 2
Ejercicio de Aplicación 2
A continuación, se pone en práctica el uso de Librería, Biblioteca o Paquete
con la escritura del programa fuente o código fuente de un mensaje por
pantalla.
Seleccionar proyecto:
Categorías: Java
Proyectos: Aplicación Java
Línea 1, Es un comentario.
31
PROGRAMACIÓN Y BASE DE DATOS 2
Método showMessageDialog
Presenta una ventana de aviso, la misma que se cierra hasta que el usuario
realice una acción en la misma.
Ejercicio de Aplicación 3
El siguiente proyecto, visualiza un cuadro de dialogo con un mensaje en
varias líneas.
32
PROGRAMACIÓN Y BASE DE DATOS 2
Método showInputDialog()
Permite crear un campo de texto en la ventana para que el usuario pueda
ingresar de datos libremente, y estos son almacenados en una variable de
memoria.
Ejercicio de Aplicación 4
El siguiente proyecto solicita el ingreso de su nombre y edad, y luego
presenta los datos ingresados, en la misma línea.
Línea 2,
import javax.swing.JOptionPane;
Indica que el programa importara la librería de javax.swing que vamos a
trabajar, en este caso a JOptionPane, que sirve para los cuadros de
diálogos.
Línea 6,
String ed, nom; declaramos las variables de tipo cadena de caracteres, que
sirven para almacenar los datos ingresados.
Línea 8 y 10,
Las variables ed y nom almacenaran los datos ingresados y
showInputDialog crea un campo de texto, el mismo que utilizaremos para
ingresar los datos.
Línea 12,
JOptionPane.showMessageDialog, permite presentar un cuadro de
dialogo, acompañado de un mensaje y lo almacenado en sus variables
respectivas.
33
PROGRAMACIÓN Y BASE DE DATOS 2
1.- El API de Java proporciona herramientas para pedir datos al usuario a través
de ventanas. Un ejemplo de ello es el uso de la clase JOptionPane perteneciente
al paquete javax.swing.JOptionPane del API Java. El método showInputDialog
permite pedir un dato al usuario y almacena su respuesta en un objeto de tipo
String. Desarrolle un programa que pida al usuario un número y muestre por
pantalla el doble de ese número.
34
PROGRAMACIÓN Y BASE DE DATOS 2
Código fuente.
Código Fuente o también llamado Programa Fuente, se trata de las
instrucciones que un programa informático transmite a una computadora
para que pueda ejecutarse. El programador es quien se encarga de escribir
las instrucciones que son palabras técnicas en inglés.
35
PROGRAMACIÓN Y BASE DE DATOS 2
36
PROGRAMACIÓN Y BASE DE DATOS 2
37
PROGRAMACIÓN Y BASE DE DATOS 2
ARCHIVO, con el
que vamos
trabajar
38
PROGRAMACIÓN Y BASE DE DATOS 2
C
O
N
T
E
N
E
D
O
R
39
PROGRAMACIÓN Y BASE DE DATOS 2
Ventana de Propiedades
Campo de Texto
40
PROGRAMACIÓN Y BASE DE DATOS 2
Este control se emplea para iniciar acciones tales como aceptar los valores
ingresados en un formulario, cerrar o mostrar una ventana, o cada una de las
opciones de una barra de tarea.
Propiedad text que es el título que aparecerá para que el usuario sepa cómo
identificar el botón a nivel de vista, mientras el nombre (al igual que las cajas de
texto) es la propiedad que ayuda a identificar al objeto al momento de programar.
41
PROGRAMACIÓN Y BASE DE DATOS 2
42
UNIDAD 2
ESTRUCTURAS
DE
CONTROL
PROGRAMACIÓN Y BASE DE DATOS 2
44
PROGRAMACIÓN Y BASE DE DATOS 2
Operadores relacionales
45
PROGRAMACIÓN Y BASE DE DATOS 2
Instrucción if
if condición
{ Observe: La diferencia entre enunciados
(Acciones por Verdadero) Simple y Múltiples. La Simple sólo le permite
(Acciones por Verdadero) realizar una acción tanto por verdadero como
por falso. En las Múltiples usted puede
} realizar más de dos acciones ya sea por
else verdadero o por falso.
{
(Acciones por Falso)
(Acciones por Falso)
}
if (condición)
Acción por Verdadero
46
PROGRAMACIÓN Y BASE DE DATOS 2
Ejercicio de Aplicación 1
Elabore un programa que lea el nombre, el precio individual y el número de entradas
al cine a comprar. Adicionalmente ingrese la edad de la persona. Calcule y visualice
el total a pagar. Considere que si la persona es de la 3ra. Edad (65 años o más)
debe pagar sólo la mitad de todo.
Nombre del Proyecto: Aquí va el nombre del ejercicio en este caso Ejercicio 1
47
PROGRAMACIÓN Y BASE DE DATOS 2
1. Doble clic
4. Clic
48
PROGRAMACIÓN Y BASE DE DATOS 2
Luego declaramos las variables que vamos a ingresar y las que van a contener
algún proceso matemático:
Ingresamos la edad, cantidad y el precio, del ingreso de estas variables vamos
a obtener el total a pagar
49
PROGRAMACIÓN Y BASE DE DATOS 2
CLIC
CLIC
CLIC
requestFocus, Sirve
para dar el enfoque a un
campo de texto, en
este caso al PRECIO de
la variable pre.
50
PROGRAMACIÓN Y BASE DE DATOS 2
Ejercicio de aplicación 2
Ingrese el nombre, el cargo, el sueldo por hora y las horas trabajadas por
un empleado. Sólo si el salario neto a recibir por el empleado es menor a
$200.00 páguesele por concepto de transporte $50.00 adicional. Visualice
el salario neto a recibir.
nom
car
hr
sh sn
bt
sr
51
PROGRAMACIÓN Y BASE DE DATOS 2
1. La ley del anciano contempla un descuento del 50% en el valor de los servicios públicos y
privados para todas las personas mayores o iguales a 65 años. Realice un programa que lea
el nombre del abonado, el número de teléfono, y los minutos consumidos en llamadas locales
(0.05 * minuto), provinciales (0.12 * minuto), celulares (0.35 * minutos) e internacionales (0.50
* minuto). Luego visualice los subtotales por cada tipo de llamada y el total a pagar. Además,
debe ingresar la edad de la persona y procesar el debido descuento si es que lo tuviere.
2. Realice una aplicación que calcule el sueldo a recibir de un vendedor de sus tres ventas.
Si las ventas son mayores a $500.00 el vendedor recibirá las tres cuartas partes comisión del
total de las ventas.
52
PROGRAMACIÓN Y BASE DE DATOS 2
53
PROGRAMACIÓN Y BASE DE DATOS 2
6. El Gran CHEF por aniversario ofrece a su distinguida clientela un descuento del 15% solo
a los consumos superiores a $50.00.asi como un 15% de recargo por concepto de servicio,
así como el Impuesto al Valor Agregado. Para los consumos inferiores no paga ningún tipo
de servicio, ni impuesto.
54
PROGRAMACIÓN Y BASE DE DATOS 2
7. Ediciones ESPINOSA, por apertura de su nuevo local ofrece una promoción a toda su
distinguida clientela, que consiste en girar una rueda de la suerte y si el número es mayor a
25 se le aplica un 1/8 del total de sus compras. Calcular el total a pagar y el descuento si es
que lo tuviere.
8. El Hornero por aniversario ofrece a su distinguida clientela un descuento del 25% sólo a
los consumos superiores a $50.00. Un 15% de recargo a todos sus valores, así como el
Impuesto al Valor Agregado.
55
PROGRAMACIÓN Y BASE DE DATOS 2
Ejercicio de aplicación 3
Ejecute un programa que ingrese dos números determinados y visualice el
mayor de ellos.
pn
sn
men1
56
PROGRAMACIÓN Y BASE DE DATOS 2
Ejercicio de aplicación 4
Ingrese las notas de los 3 trimestres de un estudiante, el nombre y el
paralelo. Visualice su suma. Si dicha suma es mayor o igual a 40 visualice
el mensaje “Aprobado”. Si la suma es menor a 40, visualice el mensaje
“Reprobado”.
nom
Para presentar el
par mensaje hemos
pt utilizado un control
Label, para variar
st
tt
men Etiqueta
Sumamos los tres trimestres. Sólo cuando la suma sea mayor o igual
a 40, por verdadero se mostrará el mensaje “Esta Aprobado,
Felicitaciones: “ + (la suma); caso contrario “Esta Reprobado:” + (la
suma);
57
PROGRAMACIÓN Y BASE DE DATOS 2
1. Realice un programa para determinar cuánto se debe pagar por equis cantidad de lápices
considerando que si son 1000 o más el costo es de $0,85; de lo contrario, el precio es de
$0,90
2. Almacenes “El harapiento distinguido” tiene una promoción: a todos los trajes que tienen
un precio superior a $250.00 se les aplicará un descuento de 15 %, a todos los demás se les
aplicará sólo 8 %. Realice un programa para determinar el precio final que debe pagar una
persona por comprar un traje y de cuánto es el descuento que obtendrá.
58
PROGRAMACIÓN Y BASE DE DATOS 2
3. “La langosta ahumada” es una empresa dedicada a ofrecer banquetes; sus tarifas son las
siguientes: el costo de platillo por persona es de $95.00, pero si el número de personas es
mayor a 200 pero menor o igual a 300, el costo es de $85.00. Se requiere un programa que
ayude a determinar el presupuesto que se debe presentar a los clientes que deseen realizar
un evento.
59
PROGRAMACIÓN Y BASE DE DATOS 2
5. Realice un programa que permita determinar la cantidad del bono navideño que recibirá un
empleado de una tienda, considerando que si su antigüedad es mayor a cuatro años o su
sueldo es menor de dos mil, le corresponderá 25 % de su sueldo, y en caso contrario sólo le
corresponderá 20 % de éste.
60
PROGRAMACIÓN Y BASE DE DATOS 2
7. Cierta empresa proporciona un bono mensual a sus trabajadores, el cual puede ser por su
antigüedad o bien por el monto de su sueldo (el que sea mayor), de la siguiente forma:
Cuando la antigüedad es mayor a 2 años, pero menor a 5, se otorga 20 % de su sueldo;
cuando es de 5 años o más, 30 %.
8. Una empresa de bienes raíces ofrece casas de interés social, bajo las siguientes
condiciones: Si los ingresos del comprador son menores a $8.000; el enganche será del 15%
del costo de la casa y el resto se distribuirá en pagos mensuales a pagar en 10 años. Si los
ingresos del comprador son superiores a $8.000; el enganche será del 30% del costo de la
casa y el resto se distribuirá en pagos mensuales a pagar en 7 años.
61
PROGRAMACIÓN Y BASE DE DATOS 2
9. Una empresa requiere un programa que solicita el ingreso del: nombre, cargo, domicilio,
teléfono, número de horas laboradas, el sueldo por hora y el número de faltas de un
empleado. Visualice el salario del empleado y los datos ingresados. Si las faltas son más de
5 aplique una multa del 0.10% del total a recibir por cada falta, y si sus faltas son inferiores a
5 aplique la multa de 0.05%.
62
PROGRAMACIÓN Y BASE DE DATOS 2
11. Cada pelota de béisbol tiene el valor de $65,00 si se compran menos de una docena y
$45.00 si son más de 12 pelotas. Calcule el subtotal, el IVA, y el total a pagar. Adicionalmente
agregue el 15% de impuestos por servicio; así como un descuento sobre el total de la compra,
que consiste en 5% y 10% correspondiente.
12.- Realice un programa que permita determinar qué paquete se puede comprar una
persona con el dinero que recibirá en diciembre, considerando lo siguiente:
Paquete A. Si recibe $5000 o más se comprará una televisión, un modular, tres pares de
zapatos, cinco camisas y cinco pantalones.
Paquete B. Si recibe menos de $5000 se comprará una grabadora, tres pares de zapatos,
cinco camisas y cinco pantalones.
63
PROGRAMACIÓN Y BASE DE DATOS 2
V
CONDICIÓN PROCESO POR VERDADERO
V
CONDICIÓN
PROCESO POR VERDADERO
if(condicion1)
Acción 1;
elseif(condicion2)
Acción 2;
elseif(condicion3)
Acción 3;
...
else
Acción n;
Ejercicio de aplicación 5
Elabore un programa que lea el nombre, paralelo, jornada y las notas del
primer y segundo parcial de un estudiante de la Universidad. Calcule y
visualice su suma. Si dicha suma es mayor o igual a 14, visualice el
mensaje “APROBADO”; si la suma está entre 10 y 13 visualice el mensaje
“Suspenso”; y si la suma es menor o igual a 9 el mensaje “Reprobado”.
64
PROGRAMACIÓN Y BASE DE DATOS 2
65
PROGRAMACIÓN Y BASE DE DATOS 2
2.- Una compañía de viajes cuenta con tres tipos de autobuses (A, B y C), cada uno tiene un
precio por kilómetro recorrido por persona, los costos respectivos son $2.0, $2.5 y $3.0. Se
requiere determinar el costo total y por persona del viaje considerando que cuando éste se
presupuesta debe haber un mínimo de 20 personas, de lo contrario el cobro se realiza con
base en este número límite.
66
PROGRAMACIÓN Y BASE DE DATOS 2
3. “El náufrago satisfecho” ofrece hamburguesas sencillas, dobles y triples, las cuales tienen
un costo de $2.00, $2.80 y $3.50 respectivamente. La empresa acepta tarjetas de crédito con
un cargo de 5 % sobre la compra. Suponiendo que los clientes adquieren sólo un tipo de
hamburguesa, realice un programa para determinar cuánto debe pagar una persona por N
hamburguesas.
4. El consultorio del Dr. Lorenzo T. Mata Lozano tiene como política cobrar la consulta con
base en el número de cita, de la siguiente forma: Las tres primeras citas a $200 c/u. Las
siguientes dos citas a $150 c/u. Las tres siguientes citas a $100.00 c/u. Las restantes a $50
c/u, mientras dure el tratamiento. Se requiere un programa para determinar: a) Cuánto pagará
el paciente por la cita. b) El monto de lo que ha pagado el paciente por el tratamiento.
67
PROGRAMACIÓN Y BASE DE DATOS 2
68
PROGRAMACIÓN Y BASE DE DATOS 2
7. Una compañía de seguros para autos ofrece dos tipos de póliza: cobertura amplia (A) y
daños a terceros (B). Para el plan A, la cuota base es de $1,200, y para el B, de $950. A
ambos planes se les carga 10% del costo si la persona que conduce tiene por hábito beber
alcohol, 5% si utiliza lentes, 5% si padece alguna enfermedad –como deficiencia cardiaca o
diabetes–, y si tiene más de 40 años, se le carga 20%, de lo contrario sólo 10%. Todos estos
cargos se realizan sobre el costo base. Realice programa para determinar cuánto le cuesta a
una persona contratar una póliza.
8. Los estudiantes de una escuela desean realizar un viaje de estudios, pero requieren
determinar cuánto les costará el pasaje, considerando que las tarifas del autobús son las
siguientes: si son más de 100 estudiantes, el costo es de $2; si son entre 50 y 100, $3,5; entre
20 y 49, $4, y si son menos de 20 estudiantes, $7 por cada uno. Realice un programa para
determinar el costo del pasaje de cada uno.
69
PROGRAMACIÓN Y BASE DE DATOS 2
9. Realice un programa que, con base en una calificación proporcionada (0-10), indique con
letra la calificación que le corresponde: 10 es “A”, 9 es “B”, 8 es “C”, 7 y 6 son “D”, y de 5 a 0
son “F”.
10. El secretario de educación ha decidido otorgar un bono por desempeño a todos los
profesores con base en la puntuación siguiente:
PUNTOS PREMIO
0 – 100 1 Salario
101 – 150 2 Salarios mínimos
151 – en adelante 3 Salarios mínimos
Realice un programa que permita determine el monto de bono que percibirá un profesor (debe
capturar el valor del salario mínimo y los puntos del profesor).
70
PROGRAMACIÓN Y BASE DE DATOS 2
12.- La secretaria de salud requiere un diagrama de flujo que le represente el programa que
permita determinar qué tipo de vacuna (A, B o C) debe aplicar a una persona, considerando
que si es mayor de 70 años, sin importar el sexo, se le aplica la tipo C; si tiene entre 16 y 69
años, y es mujer, se le aplica la B, y si es hombre, la A; si es menor de 16 años, se le aplica
la tipo A, sin importar el sexo.
71
PROGRAMACIÓN Y BASE DE DATOS 2
switch (condición)
{
case 1:
instrucciones 1;
break;
case 2:
instrucciones 2;
break;
case 3:
instrucciones 3;
break;
case n:
instrucciones n;
break
default:
}
Ejercicio de aplicación 21
Una exportadora tiene los siguientes tipos de camarón:
CODIGO TIPO DE CAMARÓN PRECIO x LIBRA
1 EXTRA $5.00
2 PREMIUM $8.50
3 SUPER PREMIUM $12.50
72
PROGRAMACIÓN Y BASE DE DATOS 2
73
PROGRAMACIÓN Y BASE DE DATOS 2
1. En una exportadora de banano, se rigen por la siguiente lista de precios por caja:
Código Tamaño Precio
1 Junior $8.00
2 Jumbo $12.00
3 Especial $17.00
Codifique una aplicación que ingrese el código de la caja del banano, visualice automáticamente
el tamaño y el precio. Luego solicite el número de cajas a comprar. Visualice el total a pagar.
74
PROGRAMACIÓN Y BASE DE DATOS 2
2. Realice un programa que, con base en un número proporcionado (1-7), indique el día de la
semana que le corresponde (L-D).
75
PROGRAMACIÓN Y BASE DE DATOS 2
3. El 14 de febrero una persona desea comprarle un regalo al ser querido que más aprecia en
ese momento, su dilema radica en qué regalo puede hacerle, las alternativas que tiene son las
siguientes:
76
PROGRAMACIÓN Y BASE DE DATOS 2
4. Una compañía de paquetería internacional tiene servicio en algunos países de América del
Norte, América Central, América del Sur, Europa y Asia. El costo por el servicio de paquetería
se basa en el peso del paquete y la zona a la que va dirigido.
Parte de su política implica que los paquetes con un peso superior a 5 kg no son transportados,
esto por cuestiones de logística y de seguridad. Realice un programa para determinar el cobro
por la entrega de un paquete o, en su caso, el rechazo de la entrega.
77
PROGRAMACIÓN Y BASE DE DATOS 2
5. Fábricas “El cometa” produce artículos con claves (1, 2, 3, 4, 5 y 6). Se requiere un programa
para calcular los precios de venta, para esto hay que considerar lo siguiente: Costo de
producción = materia prima + mano de obra + gastos de fabricación. Precio de venta = costo de
producción + 45 % de costo de producción. El costo de la mano de obra se obtiene de la
siguiente forma: para los productos con clave 3 o 4 se carga 75 % del costo de la materia prima;
para los que tienen clave 1 y 5 se carga 80 %, y para los que tienen clave 2 o 6, 85 %. Para
calcular el gasto de fabricación se considera que si el artículo que se va a producir tiene claves
2 o 5, este gasto representa 30 % sobre el costo de la materia prima; si las claves son 3 o 6,
representa 35 %; si las claves son 1 o 4, representa 28 %. La materia prima tiene el mismo
costo para cualquier clave.
78
PROGRAMACIÓN Y BASE DE DATOS 2
79
PROGRAMACIÓN Y BASE DE DATOS 2
7. Este programa pide primeramente la cantidad total de compras de una persona. Si la cantidad
es inferior a $100.00, el programa dirá que el cliente no aplica a la promoción. Pero si la persona
ingresa una cantidad en compras igual o superior a $100.00, el programa genera de forma
aleatoria un número entero del cero al cinco. Cada número corresponderá a un color diferente
de cinco colores de bolas que hay para determinar el descuento que el cliente recibirá como
premio. Si la bola aleatoria es color blanco, no hay descuento, pero si es uno de los otros cuatro
colores, sí se aplicará un descuento determinado según la tabla que aparecerá, y ese descuento
se aplicará sobre el total de la compra que introdujo inicialmente el usuario, de manera que el
programa mostrará un nuevo valor a pagar luego de haber aplicado el descuento.
80
PROGRAMACIÓN Y BASE DE DATOS 2
8. Realice un algoritmo para resolver el siguiente problema: una fábrica de pantalones desea
calcular cuál es el precio final de venta y cuánto ganará por los N pantalones que produzca con
el corte de alguno de sus modelos, para esto se cuenta con la siguiente información:
a) Tiene dos modelos A y B, tallas 30, 32 y 36 para ambos modelos.
b) Para el modelo A se utiliza 1.50 m de tela, y para el B 1.80 m.
c) Al modelo A se le carga 80 % del costo de la tela, por mano de obra. Al modelo B
se le carga 95 % del costo de la tela, por el mismo concepto.
D) A las tallas 32 y 36 se les carga 4 % del costo generado por mano de obra y tela,
sin importar el modelo.
e) Cuando se realiza el corte para fabricar una prenda sólo se hace de un solo modelo
y una sola talla.
f) Finalmente, a la suma de estos costos se les carga 30%, que representa la ganancia
extra de la tienda.
81
PROGRAMACIÓN Y BASE DE DATOS 2
82
PROGRAMACIÓN Y BASE DE DATOS 2
10.- Desarrolle un programa que pida una letra y detecte si es una vocal.
83
PROGRAMACIÓN Y BASE DE DATOS 2
Desarrollo de programas.
Como se mencionó anteriormente, un programa es un conjunto de
instrucciones que pueden utilizarse para resolver un problema. A
menudo, el programa contiene muchas instrucciones, y por lo regular
son complicadas.
Por ejemplo, si una de las metas del programa cambiara, sería necesario
repetir todos los pasos en diferentes grados.
84
PROGRAMACIÓN Y BASE DE DATOS 2
Análisis de requerimientos
El primer paso en el proceso de desarrollo de un programa es el análisis de
los requerimientos, en el que se determinan las necesidades y metas del
programa. Es importante que el programador comprenda con exactitud lo
que el cliente desea.
Diseño de programa
Después del paso de análisis de requerimientos, el segundo es el diseño
del programa, en el que se crea una versión del programa enfocado a la
lógica básica, no a los detalles de formulación. De forma más específica,
se escriben instrucciones coherentes y lógicamente correctas, pero no
hay que preocuparse de los pasos menores o de las faltas de ortografía.
Esta clase de programas se conoce como algoritmo.
85
PROGRAMACIÓN Y BASE DE DATOS 2
86
PROGRAMACIÓN Y BASE DE DATOS 2
Pseudocódigo
Al escribir un algoritmo, hay que enfocar la atención en la organización
del flujo de instrucciones, y evitar empantanarse con los detalles, para
facilitar este enfoque, los programadores a menudo escriben las
instrucciones de un algoritmo haciendo uso del pseudocódigo. El
pseudocódigo es un lenguaje informal que utiliza términos del idioma
español común para describir los pasos de un programa.
87
PROGRAMACIÓN Y BASE DE DATOS 2
Documentación de programas
88
PROGRAMACIÓN Y BASE DE DATOS 2
89
PROGRAMACIÓN Y BASE DE DATOS 2
90
PROGRAMACIÓN Y BASE DE DATOS 2
91
PROGRAMACIÓN Y BASE DE DATOS 2
Es el punto en que se nos cae la estructura que hemos ido cogiendo con
alfileres y en el que nos vemos obligados a desistir. Es el momento de hacer
una reestructuración total o incluso de olvidarnos del código de que
disponemos y empezar una nueva construcción.
92
PROGRAMACIÓN Y BASE DE DATOS 2
93
PROGRAMACIÓN Y BASE DE DATOS 2
Índice
Descripción muy breve de las funciones y posibilidades del
programa
94
UNIDAD 3
ANÁLISIS
ESTRUCTURADO
DE
SISTEMAS
PROGRAMACIÓN Y BASE DE DATOS 2
Análisis estructurado
Es un método para el análisis de sistemas manuales o automatizados, que
conduce al desarrollo de especificaciones para sistemas nuevos o para
efectuar modificaciones a los ya existentes. Cuando los analistas de
sistemas abordan una situación poco familiar, siempre existe una pregunta
sobre donde comenzar el análisis. Una situación dinámica siempre puede
ser vista como abrumadora debido a que muchas de las actividades se
llevan a cabo constantemente. El análisis estructurado permite el analista
conocer un sistema o proceso (actividad) en una forma lógica y manejable
el mismo tiempo que proporciona la base para asegurar que no se omite
ningún detalle pertinente.
Significado de estructurado
El objetivo que persigue el análisis estructurado es organizar las tareas
asociadas con la determinación de requerimientos para obtener la
comprensión completa y exacta de una situación dada. A partir de aquí
determina los requerimientos que serán la base de un sistema nuevo o
modificado, la palabra estructura significa:
1) Documentación del
sistema existente.
1. Símbolos gráficos.
Iconos y convenciones para identificar y describir los componentes de un
sistema junto con las relaciones entre estos componentes.
96
PROGRAMACIÓN Y BASE DE DATOS 2
2. Diccionario de datos.
Descripciones de todos los datos utilizados en el sistema. Puede ser manual
o automatizado (y estar incluido en el diccionario de un
proyecto más grande que quizá contenga las descripciones de los procesos
que integran al sistema).
4. Reglas.
Estándares para describir y documentar el sistema en forma correcta y
completa.
El método de análisis estructurado se ha convertido en sinónimo de análisis
de flujo de datos, que es una herramienta; quizá esto se deba a que la
herramienta es esencial para documentar el sistema existente y determinar
los requerimientos de información por medio del método estructurado.
97
PROGRAMACIÓN Y BASE DE DATOS 2
Estructura
98
PROGRAMACIÓN Y BASE DE DATOS 2
Requisitos de Entradas
Es el enlace que une al sistema de información con el mundo y sus
usuarios, en esta existen aspectos generales que todos los analistas deben
tener en cuenta estos son:
Mantener la
Sencillez del
Evitar los Proceso
pasos
Evitar los adicionales
errores en
Evitar los los datos
Retrasos
Control de la
Calidad de
Entrada
99
PROGRAMACIÓN Y BASE DE DATOS 2
• La fase de entrada puede ser un proceso lento que toma mucho más
tiempo que el que necesitan las computadoras para realizar sus
tareas.
Datos variables
Datos de identificación
100
PROGRAMACIÓN Y BASE DE DATOS 2
101
PROGRAMACIÓN Y BASE DE DATOS 2
Requerimientos de Salida
Niveles de diseño, el diseño de sistema se representa a través de dos
fases: el diseño lógico y el diseño físico.
Cuando los analistas formulan un diseño lógico; escriben las
especificaciones detalladas del nuevo sistema; esto es, describen sus
características: las salidas, entradas, archivos y bases de datos y
procedimientos; todos de manera que cubran los requerimientos del
proyecto.
102
PROGRAMACIÓN Y BASE DE DATOS 2
103
PROGRAMACIÓN Y BASE DE DATOS 2
104
PROGRAMACIÓN Y BASE DE DATOS 2
2. Método de implantación
La elección del método depende de varios factores:
Volumen de información
Criticidad de la implementación
Restricciones de tiempo
Recursos humanos
Restricciones de hardware
3. Puesta operativa
Es la fecha a partir de la cual el nuevo sistema entra en vigencia. A partir
de ese momento las decisiones se toman usando información del nuevo
sistema.
Deben estar listos:
Migración de datos
Capacitación
Interfases definitivas
Manual de Normas y Procedimientos
4. Migración de datos
Involucra tres partes:
a) Carga inicial
b) Conversión de datos
c) Depuración
105
PROGRAMACIÓN Y BASE DE DATOS 2
a) Carga inicial
Volcado de información del sistema viejo al sistema nuevo.
Se debe decidir:
Si es manual o automática
Si se cargarán los datos históricos
b) Conversión de datos
Convertir datos de un formato al otro. Debe haber una tabla de conversión
de datos “de – para”. Esta tabla indica
cómo convertir cada tipo de dato desde el formato viejo al nuevo (ya que
probablemente sean distintos).
Se debe decidir:
Si es manual o automática
c) Depuración de datos
El usuario clave es el que decide qué datos se van a depurar.
Se debe decidir:
Si es manual o automática
Se debe asegurar:
Que no se pierdan datos en la migración. ¡Realizar un backup de los
datos viejos!
Que, si faltan datos, se los agregue
Que, si hay datos incorrectos, se los corrija
Que no haya datos duplicados
Que los datos sean válidos en forma lógica (ejemplo: una dirección
que no existe no se debería permitir)
Integridad de las referencias en las bases de datos. Aunque el
usuario quiera borrar ciertos datos, si los mismos se utilizan en otra
parte del sistema, no se pueden borrar.
5. Interfases
106
PROGRAMACIÓN Y BASE DE DATOS 2
6. Perfiles / roles
Cada perfil puede ejecutar una o más funciones del sistema.
7. Plan de pruebas
107
PROGRAMACIÓN Y BASE DE DATOS 2
Definir:
Set de datos de prueba (siempre ficticios, excepto cuando se
implanta en paralelo)
Salida esperada
Persona responsable de ejecutar la prueba
Ambiente de prueba (distinto del de producción)
Automatización de las pruebas.
8. Capacitación
9. Manual de usuario
Su objetivo es definir cómo ejecutar cada función del sistema. Existe un
manual por cada perfil.
108
PROGRAMACIÓN Y BASE DE DATOS 2
109
PROGRAMACIÓN Y BASE DE DATOS 2
CAPACITACIÓN
- Lugar:___________________________________________________
___________________________________________________________
___________________________________________________________
___________________________________________________________
___________________________________________________________
___________________________________________________________
110
PROGRAMACIÓN Y BASE DE DATOS 2
Los flujos se muestran por medio de flechas curvas. Son las conexiones
entre los procesos (funciones del sistema) y representan la información que
dichos procesos requieren como entrada o la información que generan
como salida. Los almacenes de datos se representan por medio de dos
líneas paralelas o mediante una elipse. Muestran colecciones (o almacenes)
de datos que
111
PROGRAMACIÓN Y BASE DE DATOS 2
112
PROGRAMACIÓN Y BASE DE DATOS 2
Modelización de datos
Podemos decir entonces, que los objetivos del diseño de base de datos son:
Representar los datos que requieren las principales áreas de
aplicación y los grupos de usuarios, y representar las relaciones entre
dichos datos.
Proporcionar un modelo de datos que soporte las transacciones que
se vayan a realizar sobre los datos.
Especificar un esquema que alcance las prestaciones requeridas
para el sistema.
No hay que perder de vista que una Base de Datos siempre está orientada
a resolver un problema determinado, por lo que los dos enfoques
propuestos son necesarios en cualquier desarrollo de software.
113
PROGRAMACIÓN Y BASE DE DATOS 2
114
PROGRAMACIÓN Y BASE DE DATOS 2
115
PROGRAMACIÓN Y BASE DE DATOS 2
Modelo conceptual.
116
PROGRAMACIÓN Y BASE DE DATOS 2
El modelo entidad-relación
117
PROGRAMACIÓN Y BASE DE DATOS 2
Análisis
Entidad – Relación
118
PROGRAMACIÓN Y BASE DE DATOS 2
Entidad
Cargo del
Coches Empleados
empleado
Atributos
119
PROGRAMACIÓN Y BASE DE DATOS 2
Este ejemplo es con tres atributos, pero un coche podría tener cientos (si
fuese necesario) y seguirían la misma estructura de columnas, tras
implementarlo en una BBDD.
Relación
Por ejemplo, los empleados del taller (de la entidad "Empleados") tienen un
cargo (según la entidad "Cargo del empleado"). Es decir, un atributo de la
entidad "Empleados" especificará que cargo tiene en el taller, y tiene que
ser idéntico al que ya existe en la entidad "Cargo del empleado".
120
PROGRAMACIÓN Y BASE DE DATOS 2
Es en Cargo del
Empleados
el taller empleado
Yo, bajo mi punto de vista, entiendo mejor esto en una tabla (de una
implementación en una BBDD), por lo que voy a poner el ejemplo de cómo
se representaría (resaltada la relación, que posteriormente veremos cómo
se haría).
Empleados
121
PROGRAMACIÓN Y BASE DE DATOS 2
Figura 1
Figura 2
122
PROGRAMACIÓN Y BASE DE DATOS 2
RESUELVE:
Ejercicio 1. La secretaría del MERCOSUR desea diseñar un sistema de
información sobre relaciones comerciales y diplomáticas entre países. Cada
país se identifica por su nombre, mientras que de cada producto se conoce su
nombre y una breve descripción. Se desea modelar que:
• Un país puede tener relaciones diplomáticas con varios países, interesando
saber en qué fecha se establecieron.
• Por otro lado interesa modelar el flujo de productos de un país a otro. (por ej.:
un país que exporta un producto, ¿hacia dónde lo hace?)
123
PROGRAMACIÓN Y BASE DE DATOS 2
124
PROGRAMACIÓN Y BASE DE DATOS 2
125
PROGRAMACIÓN Y BASE DE DATOS 2
Recuérdese que uno de los objetivos del modelo E-R es producir un modelo
que sea fácilmente comprensible para los usuarios, además de para el
personal informático. Para esto se deben elegir nombres de conjuntos que
hagan el diagrama legible.
Figura 3
126
PROGRAMACIÓN Y BASE DE DATOS 2
Figura 4
127
PROGRAMACIÓN Y BASE DE DATOS 2
128
PROGRAMACIÓN Y BASE DE DATOS 2
Una base de datos relacional es una base de datos que cumple con el
modelo relacional, el cual es el modelo más utilizado en la actualidad para
implementar bases de datos ya planificadas. Permiten establecer
interconexiones (relaciones) entre los datos (que están guardados en
tablas), y a través de dichas conexiones relacionar los datos de ambas
tablas, de ahí proviene su nombre: "Modelo Relacional". Tras ser postuladas
sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San
José (California), no tardó en consolidarse como un nuevo paradigma.
Características
Una base de datos relacional se compone de varias tablas o
relaciones.
No pueden existir dos tablas con el mismo nombre ni registro.
Cada tabla es a su vez un conjunto de registros (filas y columnas).
La relación entre una tabla padre y un hijo se lleva a cabo por medio
de las claves primarias y ajenas (o foráneas).
Las claves primarias son la clave principal de un registro dentro de una
tabla y éstas deben cumplir con la integridad de datos.
Las claves ajenas se colocan en la tabla hija, contienen el mismo valor
que la clave primaria del registro padre; por medio de éstas se hacen
las relaciones.
Elementos
Restricciones
Una restricción es una condición que obliga el cumplimiento de ciertas
condiciones en la base de datos. Algunas no son determinadas por los
usuarios, sino que son inherentemente definidas por el simple hecho de
que la base de datos sea relacional. Algunas otras restricciones las puede
definir el usuario, por ejemplo, usar un campo con valores enteros entre 1
y 10.
129
PROGRAMACIÓN Y BASE DE DATOS 2
Las restricciones no son parte formal del modelo relacional, pero son
incluidas porque juegan el rol de organizar mejor los datos. Las restricciones
son muy discutidas junto con los conceptos relacionales.
Dominios
Un dominio describe un conjunto de posibles valores para cierto atributo.
Como un dominio restringe los valores del atributo, puede ser considerado
como una restricción. Matemáticamente, atribuir un dominio a un atributo
significa "todos los valores de este atributo deben de ser elementos del
conjunto especificado".
Claves
Clave única
Cada tabla puede tener uno o más campos cuyos valores identifican de
forma única cada registro de dicha tabla, es decir, no pueden existir dos o
más registros diferentes cuyos valores en dichos campos sean idénticos.
Este conjunto de campos se llama clave única.
Pueden existir varias claves únicas en una determinada tabla, y a cada una
de éstas suele llamársele candidata a clave primaria.
Clave primaria
Una clave primaria es una clave única elegida entre todas las candidatas
que define unívocamente a todos los demás atributos de la tabla, para
especificar los datos que serán relacionados con las demás tablas. La forma
de hacer esto es por medio de claves foráneas.
Sólo puede existir una clave primaria por tabla y ningún campo de dicha
clave puede contener valores NULL.
Clave foránea
Una clave foránea es una referencia a una clave en otra tabla, determina la
relación existente en dos tablas. Las claves foráneas no necesitan ser
claves únicas en la tabla donde están y sí a donde están referenciadas.
130
PROGRAMACIÓN Y BASE DE DATOS 2
Clave índice
Las claves índices surgen con la necesidad de tener un acceso más rápido
a los datos. Los índices pueden ser creados con cualquier combinación de
campos de una tabla. Las consultas que filtran registros por medio de estos
campos, pueden encontrar los registros de forma no secuencial usando la
clave índice.
Las bases de datos relacionales incluyen múltiples técnicas de
ordenamiento, cada una de ellas es óptima para cierta distribución de datos
y tamaño de la relación.
Los índices generalmente no se consideran parte de la base de datos, pues
son un detalle agregado. Sin embargo, las claves índices son desarrolladas
por el mismo grupo de programadores que las otras partes de la base de
datos.
Procedimientos almacenados
Características
Se almacenan en la propia Base de Datos y constituyen un objeto más
dentro de esta. Tienden a mejorar el rendimiento de los sistemas
producto a que reducen en intercambio entre cliente y servidor. Los
procedimientos almacenados son reutilizables, de manera que los
usuarios mediante la aplicación cliente no necesitan relanzar los
comandos individuales, sino que pueden llamar el procedimiento para
ejecutarlo en el servidor tantas veces como sea necesario.
131
PROGRAMACIÓN Y BASE DE DATOS 2
132
PROGRAMACIÓN Y BASE DE DATOS 2
Dominios Sistemas
Clave única Base de datos
Clave primaria Relacional
Clave foránea Código
Clave índice Restricciones
Procedimientos Atributos
Almacenados Tabla
133
PROGRAMACIÓN Y BASE DE DATOS 2
Estructura
La base de datos se organiza en dos marcadas secciones; el esquema y los
datos (o instancia).
Manipulación de la información
134
PROGRAMACIÓN Y BASE DE DATOS 2
Ventajas y Desventajas
VENTAJAS
DESVENTAJAS
135
PROGRAMACIÓN Y BASE DE DATOS 2
136
PROGRAMACIÓN Y BASE DE DATOS 2
137
PROGRAMACIÓN Y BASE DE DATOS 2
EJERCICIO:
BASE(codbase)
En esta tabla se almacenan los códigos de las bases donde
regresan pilotos y miembros de la tripulación y donde se realizan
las revisiones de mantenimiento a los aviones.
AVION(codavión,tipo,codbase)
AVION.codbase es clave ajena a BASE
Esta tabla almacena los datos de los aviones y la base en la que
se les hace el mantenimiento.
PILOTO(codpiloto,nombre,horas,codbase)
PILOTO.codbase es clave ajena a BASE
Esta tabla almacena los datos de los pilotos y la base a la que
regresan al final de la jornada.
MIEMBRO(codmiembro,nombre,codbase)
MIEMBRO.codbase es clave ajena a BASE
Esta tabla almacena los datos de los miembros de tripulación y
la base a la que regresan al final de la jornada.
VUELO(numvuelo,origen,destino,hora)
En esta tabla se almacena la información de los vuelos que se
realizan diariamente.
VIAJE(numvuelo,fecha,codavión,codpiloto)
VIAJE.numvuelo es clave ajena a VUELO
VIAJE.codavión es clave ajena a AVION
VIAJE.codpiloto es clave ajena a PILOTO
En esta tabla se almacena la información de cada viaje: vuelo
que realiza, avión y piloto.
TRIPULACION(numvuelo,fecha,codmiembro)
(TRIPULACION.numvuelo,TRIPULACION.fecha) es clave
ajena a VIAJE
TRIPULACION.codmiembro es clave ajena a MIEMBRO
En esta tabla se especifica qué miembros de tripulación han ido
en cada viaje.
138
PROGRAMACIÓN Y BASE DE DATOS 2
139
PROGRAMACIÓN Y BASE DE DATOS 2
140