Sie sind auf Seite 1von 56

PROGRAMACIÓN

EN JAVA
QUINTO SEMESTRE
Componente de Formación para el Trabajo

DATOS DEL ALUMNO

Nombre: ________________________________________________

Plantel:_________________________________________________

Grupo: ________ Turno: __________ Teléfono: ________________

Guía de aprendizaje Módulo III:


Bases de Datos
COLEGIO DE BACHILLERES DEL
ESTADO DE BAJA CALIFORNIA
FRANCISCO ARTURO VEGA DE LAMADRID
Gobernador del Estado de Baja California

MIGUEL ÁNGEL MENDOZA GONZÁLEZ


Secretario de Educación y Bienestar Social y Director General del ISEP del Estado de Baja California

IVÁN LÓPEZ BÁEZ


Subsecretario de Educación Media Superior, Superior, Formación Docente y Evaluación

JAVIER SANTILLÁN PÉREZ


Director General del CBBC

OMAR VÉLEZ MUÑOZ


Director de Planeación Académica del CBBC

PROGRAMACIÓN EN JAVA
Módulo III: Bases de Datos

Edición, agosto 2019

Diseñado por:
Mtra. América Galindo García
Lic. Cristel Escalante Gutiérrez
Lic. Ailed Galicia Herrera
Mtro. José Jonathan Pérez Castro
Ing. Patricia Palomares Varela

En la realización del presente material, participaron:

JEFA DEL DEPARTAMENTO DE ACTIVIDADES EDUCATIVAS


Lic. Teresa López Pérez

EDICIÓN, AGOSTO DE 2019


Lic. Gerardo Enríquez Niebla
Ing. Diana Castillo Ceceña
Lic. Alba Ruth Gónzalez Ruelas
I.Q. Gabriela López Arenas

La presente edición es propiedad del


Colegio de Bachilleres del Estado de Baja California.
Prohibida la reproducción total o parcial de esta obra.

Este material fue elaborado bajo la coordinación y supervisión de la


Dirección de Planeación Académica del Colegio de Bachilleres del Estado de Baja California.
Blvd. Anáhuac #936, Centro Cívico, Mexicali, B.C., México.
www.cobachbc.edu.mx
ÍNDICE

• Presentación
• Competencias Genéricas
• Competencias Profesionales Básicas
• Enfoque de la capacitación
• Propósito del módulo
• Ubicación de la capacitación
• Mapa de la capacitación

SUBMÓDULO 1: FUNDAMENTOS DE BASES DE DATOS .............................................. 12

SUBMÓDULO 2: ELABORA INTERFACES DE USUARIOS CON CONEXIÓN


A BASES DE DATOS …………………………………………................... 36

REFERENCIAS ELECTRÓNICAS ......................................................................................... 55


PRESENTACIÓN
Con la puesta en marcha del Modelo Educativo para la Educación Obligatoria (SEP,
2017), se realizó una reestructuración de los programas de estudio de quinto semestre por
lo que fue necesario realizar una adecuación de los materiales didácticos de apoyo para los
estudiantes y docentes.

Es importante mencionar que el Nuevo Modelo Educativo (NME), no significa un cambio total de
los manifiestos y preceptos educativos que caracterizaron la Reforma Integral de la Educación
Media Superior (RIEMS); sino que significa: fortalecimiento, articulación, organización y
concreción de aspectos educativos y pedagógicos, tal como se manifiesta en los siguientes
párrafos:

“El Modelo educativo 2016 reorganiza los principales componentes del sistema educativo nacional
para que los estudiantes logren los aprendizajes que el siglo XXI exige y puedan formarse
integralmente… En este sentido, el planteamiento pedagógico -es decir, la organización y los
procesos que tienen lugar en la escuela, la prácticas pedagógicas en el aula y el currículum-
constituyen el corazón del modelo”.
“…El cambio que se plantea está orientado a fortalecer el sentido y el significado de lo que se
aprende. Se propone ensanchar y hacer más sólidos el entendimiento y la comprensión de los
principios fundamentales, así como de las relaciones que los contenidos generan entre sí. La
memorización de hechos, conceptos o procedimientos es insuficiente y hoy ocupa demasiado
espacio en la enseñanza. El desarrollo de las capacidades de pensamiento crítico, análisis,
razonamiento lógico y argumentación son indispensables para un aprendizaje profundo que
permita trasladarlo a diversas situaciones para resolver nuevos problemas. Los aprendizajes
adquieren sentido cuando verdaderamente contribuyen al pleno desarrollo personal y de los
individuos”. (SEP, 2016: 15-18).

En este sentido, las Guías de Actividades del Alumno para el Desarrollo de Competencias de las
diferentes asignaturas en un primer momento serán adecuadas a los lineamientos pedagógicos
antes citados y a los nuevos programas de estudio emanados del NME; la elaboración de los
nuevos materiales didácticos se efectuará en los próximos semestres.

Considerando y conscientes de la dificultad para que el alumnado tenga acceso a una bibliografía
adecuada, pertinente y eficaz con el entorno socioeconómico actual, el CBBC brinda la oportunidad
a los estudiantes de contar con materiales didácticos para el óptimo desarrollo de los programas
de estudio de las asignaturas que comprende el Plan de Estudios Vigente. Cabe subrayar que,
dichos materiales son producto de la participación de docentes de la Institución, en los cuales han
manifestado su experiencia, conocimientos y compromiso en pro de la formación de los jóvenes
bachilleres.

Es necesario, hacer énfasis que la guía no debe ser tomada como la única herramienta de trabajo
y fuente de investigación, ya que es imprescindible que los estudiantes lleven a cabo un trabajo
de consulta en otras fuentes bibliográficas impresas y electrónicas, material audiovisual, páginas
Web, bases de datos, entre otros recursos didácticos que apoyen su formación y aprendizaje.
COMPETENCIAS GENÉRICAS
Se autodetermina y cuida de sí.

1. Se conoce y valora a sí mismo y aborda problemas y retos teniendo en cuenta los objetivos que persigue.

CG1.1 Enfrenta las dificultades que se le presentan y es consciente de sus valores, fortalezas y debilidades.
CG1.2 Identifica sus emociones, las maneja de manera constructiva y reconoce la necesidad de solicitar
apoyo ante una situación que lo rebase.
CG1.3 Elige alternativas y cursos de acción con base en criterios sustentados y en el marco de un proyecto
de vida.
CG1.4 Analiza críticamente los factores que influyen en su toma de decisiones.
CG1.5 Asume las consecuencias de sus comportamientos y decisiones.
CG1.6 Administra los recursos disponibles teniendo en cuenta las restricciones para el logro de sus metas.

2. Es sensible al arte y participa en la apreciación e interpretación de sus expresiones en distintos géneros.

CG2.1 Valora el arte como manifestación de la belleza y expresión de ideas, sensaciones y emociones.
CG2.2 Experimenta el arte como un hecho histórico compartido que permite la comunicación entre individuos
y culturas en el tiempo y el espacio, a la vez que desarrolla un sentido de identidad.
CG2.3 Participa en prácticas relacionadas con el arte.

3. Elige y practica estilos de vida saludables.

CG3.1 Reconoce la actividad física como un medio para su desarrollo físico, mental y social.
CG3.2 Toma decisiones a partir de la valoración de las consecuencias de distintos hábitos de consumo y
conductas de riesgo.
CG3.3 Cultiva relaciones interpersonales que contribuyen a su desarrollo humano y el de quienes lo rodean.

Se expresa y comunica.

4. Escucha, interpreta y emite mensajes pertinentes en distintos contextos mediante la utilización de medios,
códigos y herramientas apropiados.

CG4.1 Expresa ideas y conceptos mediante representaciones lingüísticas, matemáticas o gráficas.


CG4.2 Aplica distintas estrategias comunicativas según quienes sean sus interlocutores, el contexto en el
que se encuentra y los objetivos que persigue.
CG4.3 Identifica las ideas clave en un texto o discurso oral e infiere conclusiones a partir de ellas.
CG4.4 Se comunica en una segunda lengua en situaciones cotidianas.
CG4.5 Maneja las tecnologías de la información y la comunicación para obtener información y expresar
ideas.

Piensa crítica y reflexivamente.

5. Desarrolla innovaciones y propone soluciones a problemas a partir de métodos establecidos.

CG5.1 Sigue instrucciones y procedimientos de manera reflexiva, comprendiendo como cada uno de sus
pasos contribuye al alcance de un objetivo.
CG5.2 Ordena información de acuerdo a categorías, jerarquías y relaciones.
CG5.3 Identifica los sistemas y reglas o principios medulares que subyacen a una serie de fenómenos.
CG5.4 Construye hipótesis y diseña y aplica modelos para probar su validez.
CG5.5 Sintetiza evidencias obtenidas mediante la experimentación para producir conclusiones y formular
nuevas preguntas.
CG5.6 Utiliza las tecnologías de la información y comunicación para procesar e interpretar información.
6. Sustenta una postura personal sobre temas de interés y relevancia general, considerando otros puntos de
vista de manera crítica y reflexiva.

CG6.1 Elige las fuentes de información más relevantes para un propósito específico y discrimina entre ellas
de acuerdo a su relevancia y confiabilidad.
CG6.2 Evalúa argumentos y opiniones e identifica prejuicios y falacias.
CG6.3 Reconoce los propios prejuicios, modifica sus puntos de vista al conocer nuevas evidencias, e integra
nuevos conocimientos y perspectivas al acervo con el que cuenta.
CG6.4 Estructura ideas y argumentos de manera clara, coherente y sintética.

Aprende de forma autónoma.

7. Aprende por iniciativa e interés propio a lo largo de la vida.

CG7.1 Define metas y da seguimiento a sus procesos de construcción de conocimiento.


CG7.2 Identifica las actividades que le resultan de menor y mayor interés y dificultad, reconociendo y
controlando sus reacciones frente a retos y obstáculos.
CG7.3 Articula saberes de diversos campos y establece relaciones entre ellos y su vida cotidiana.

Trabaja en forma colaborativa.

8. Participa y colabora de manera efectiva en equipos diversos.

CG8.1 Propone maneras de solucionar un problema o desarrollar un proyecto en equipo, definiendo un


curso de acción con pasos específicos.
CG8.2 Aporta puntos de vista con apertura y considera los de otras personas de manera reflexiva.
CG8.3 Asume una actitud constructiva, congruente con los conocimientos y habilidades con los que cuenta
dentro de distintos equipos de trabajo.

Participa con responsabilidad en la sociedad.

9. Participa con una conciencia cívica y ética en la vida de su comunidad, región, México y el mundo.
CG9.1 Privilegia el diálogo como mecanismo para la solución de conflictos.
CG9.2 Toma decisiones a fin de contribuir a la equidad, bienestar y desarrollo democrático de la sociedad.
CG9.3 Conoce sus derechos y obligaciones como mexicano y miembro de distintas comunidades e
instituciones, y reconoce el valor de la participación como herramienta para ejercerlos.
CG9.4 Contribuye a alcanzar un equilibrio entre el interés y bienestar individual y el interés general de la
sociedad.
CG9.5 Actúa de manera propositiva frente a fenómenos de la sociedad y se mantiene informado.
CG9.6 Advierte que los fenómenos que se desarrollan en los ámbitos local, nacional e internacional ocurren
dentro de un contexto global interdependiente.

10. Mantiene una actitud respetuosa hacia la interculturalidad y la diversidad de creencias, valores, ideas y
prácticas sociales.

CG10.1 Reconoce que la diversidad tiene lugar en un espacio democrático de igualdad de dignidad y
derechos de todas las personas, y rechaza toda forma de discriminación.
CG10.2 Dialoga y aprende de personas con distintos puntos de vista y tradiciones culturales mediante la
ubicación de sus propias circunstancias en un contexto más amplio.
CG10.3 Asume que el respeto de las diferencias es el principio de integración y convivencia en los contextos
local, nacional e internacional.

11. Contribuye al desarrollo sustentable de manera crítica, con acciones responsables.

CG11.1 Asume una actitud que favorece la solución de problemas ambientales en los ámbitos local, nacional
e internacional.
CG11.2 Reconoce y comprende las implicaciones biológicas, económicas, políticas y sociales del daño
ambiental en un contexto global interdependiente.
CG11.3 Contribuye al alcance de un equilibrio entre los intereses de corto y largo plazo con relación al
ambiente.
COMPETENCIAS PROFESIONALES BÁSICAS CLAVE
1. Construye los conceptos básicos de la programación con una actitud investigadora,
de acuerdo a las necesidades del entorno, con una postura ética y responsable como CPBP1
ciudadano digital.
2. Implementa sistemas básicos de programación de forma creativa y emprendedora, de
CPBP2
manera ética y responsable.
3. Analiza, diseña y construye base de datos, con una actitud colaborativa, de acuerdo a
las necesidades tecnológicas y de calidad para contribuir con el logro de los objetivos CPBP3
estratégicos.
4. Desarrolla aplicaciones web para difundir información con un sentido crítico, autocrítico
CPBP4
y ético.
5. Integra estructuras de programación, para la implementación de proyectos asegurando
CPBP5
eficiencia para contribuir en el logro de los objetivos.
Módulo

III
BASES DE DATOS
Enfoque de la capacitación
La capacitación de Programación en Java, pertenece al campo disciplinar de Comunicación, tiene
la finalidad de desarrollar en el estudiantado las habilidades comunicativas verbales y no verbales
para expresarse a través de diversos códigos y herramientas de lenguaje a través de las diferentes
tecnologías de la información. Por otra parte, la programación se vincula de manera interdisciplinar
con los campos de Matemáticas y Comunicación, ya que aportan los elementos para la resolución de
problemas mediante los algoritmos y la programación.

El propósito general de la capacitación de programación en Java, es que el estudiantado desarrolle la


capacidad para proponer soluciones a problemas, mediante el diseño y el desarrollo de proyectos en
programación, en conjunto con las Tecnologías de la Información y la Comunicación, de forma creativa
e innovadora, con una postura ética y responsable como ciudadano digital.

El uso de las Tecnologías de la Información y Comunicación, desde la capacitación de Programación


en Java, destaca el manejo avanzado de las aplicaciones de software y hardware, para la resolución
de problemas de los diferentes ámbitos de la vida cotidiana, desarrollando los aspectos metodológicos,
creativos y comunicativos, mostrando un comportamiento propositivo en beneficio del personal y de la
sociedad.

La capacitación de Programación en java busca desarrollar en el alumnado las competencias


profesionales en las áreas de aplicaciones, las comunicaciones mediante redes informáticas, el
desarrollo de sistemas y el software de diseño, sin olvidar la promoción de las competencias genéricas,
la interdisciplinariedad y los ejes transversales de vinculación laboral, emprendimiento y la continuación
de sus estudios a nivel superior.

En el contexto curricular de la capacitación de programación en Java, el contenido se divide en cuatro


módulos que se imparten a partir de tercer semestre con una carga de 7 horas semanales, cada módulo
se integra por dos submódulos, en los que se busca desarrollar la lógica y el lenguaje de programación,
la programación utilizando un lenguaje de alto nivel, introducirle a la programación orientada a objetos,
elaborar aplicaciones en consola, obtener fundamentos de bases de datos, elaborar interfaces de
usuarios con conexión a bases de datos, así como el desarrollo de aplicaciones Web y móviles.
Todas estas competencias posibilitan al egresado en su incorporación al mundo laboral o bien para
desarrollar procesos productivos independientes de acuerdo a sus intereses profesionales o a las
necesidades de sus entorno social como asistente en las siguientes áreas: Áreas administrativas,
contables o comerciales, centros de cómputo, cibercafés, instituciones educativas, instituciones
financieras, bancos, oficinas públicas y privadas, hoteles, supermercados, cines, restaurantes, talleres
de servicio y reparación de equipo electrónico, sector industrial y de servicios.

La enseñanza de la capacitación de Programación en Java en la formación de trabajo de jóvenes, basada


en las Normas Técnicas de Competencia Laboral (NTCL) del Consejo Nacional de Normalización
y Certificación de Competencias Laborales (CONOCER) se convierte en una necesidad de primer
orden para cumplir con las exigencias de los sectores productivos, de contar con personal calificado
que permita desarrollar las potencialidades de sus organizaciones al promover productos y servicios
tanto en el mercado nacional como en el internacional, además de proporcionar las herramientas
técnicas básicas a los jóvenes egresados del nivel medio superior, que les permite vencer las fronteras
e internarse en el mundo global a través de las Tecnologías de la información y de la comunicación
(TIC), además de la utilización de las Tecnologías del Aprendizaje y del Conocimiento (TAC).

Propósito del Módulo


Utiliza herramientas que permiten gestionar bases de datos y desarrolla aplicaciones que se conecten
a ellas para explotar la información que almacenan.

Ubicación de la Capacitación
1er. semestre 2do. semestre 3er. semestre 4to. semestre 5to. semestre 6to. semestre
Matemáticas
Matemáticas I Matemáticas II Matemáticas III Todas las Todas las
IV
asignaturas asignaturas
Química I Química II Biología I Biología II que se que se
Ética I Ética II Física I Física II imparten en imparten en
Metodología Introducción cada plantel de cada plantel de
Historia de Historia de 5to. semestre 6to. semestre
de la a las Ciencias
México I México II de los de los
Investigación Sociales
Taller de Taller de Componentes Componentes
Lectura y Lectura y Literatura I Literatura II de Formación de Formación
Redacción I Redacción II Básico y Básico y
Propedéutico Propedéutico
Inglés I Inglés II Inglés III Inglés IV
CAPACITACIÓN PARA EL TRABAJO EN
Informática I Informática II
PROGRAMACIÓN EN JAVA
TUTORÍAS
MAPA DE LA CAPACITACIÓN

MÓDULO I MÓDULO II MÓDULO III MÓDULO IV


Introducción a la Programación Aplicaciones Web y
Bases de Datos
Programación Orientada a Objetos Móviles
SUBMÓDULO 2 SUBMÓDULO 1

Introducción a
Fundamentos de Introducción a
Programación I Programación
Bases de Datos Aplicaciones Web
Orientada a Objetos
48 horas
64 horas 56 horas
48 horas

Elabora Interfaces de
Elabora Aplicaciones
Programación II Clases y Objetos usuario con Conexión
Móviles
a Bases de Datos
64 horas 64 horas
56 horas
48 horas
submódulo 1
Fundamentos de bases de datos

Competencias Genéricas Competencias Profesionales Básicas

7. Aprende por iniciativa e interés propio a lo CPBP1. Construye los conceptos básicos de la
largo de la vida. programación con una actitud investigadora, de
CG7.1 Define metas y da seguimiento a sus acuerdo a las necesidades del entorno, con una
procesos de construcción de conocimiento. postura ética y responsable como ciudadano
digital.
8. Participa y colabora de manera efectiva en
equipos diversos. CPBP2. Implementa sistemas básicos de
CG8.1 Propone maneras de solucionar programación de forma creativa y emprendedora,
un problema o desarrollar un proyecto en de manera ética y responsable.
equipo, definiendo un curso de acción con
pasos específicos. CPBP3. Analiza, diseña y construye base de
CG8.2 Aporta puntos de vista con apertura y datos, con una actitud colaborativa, de acuerdo
considera los de otras personas de manera a las necesidades tecnológicas y de calidad para
reflexiva. contribuir con el logro de los objetivos estratégicos.
CG8.3 Asume una actitud constructiva,
congruente con los conocimientos y CPBP4. Desarrolla aplicaciones web para difundir
habilidades con los que cuenta dentro de información con un sentido crítico, autocrítico y
distintos equipos de trabajo. ético.
Formación para el Trabajo - Quinto Semestre

submódulo 1 FUNDAMENTOS DE BASES DE DATOS

Interdisciplinariedad Ejes transversales

üü Todas las asignaturas de 5to. semestre de üü Emprendimiento


los Componentes de Formación Básica y üü Vinculación laboral
Propedéutica üü Iniciar, continuar y concluir sus
estudios de nivel superior

Aprendizajes esperados

• Identifica similitudes entre un sistema de base de datos y un sistema de información convencional.


• Diseña un modelo de base de datos que permita acceso a datos, procesar y generar reportes
de manera eficiente.
• Implementa sentencias SQL el cual le permite poder hacer modificaciones, agregaciones, y
eliminación de datos contenidos en la misma, para poder aplicarlas a través de un programa
acorde a las necesidades de la aplicación.

Conocimientos Habilidades Actitudes


Definición de base de datos. • Diseña la estructura de una • Se relaciona con sus seme-
base de datos con sus tablas y jantes de forma colaborativa,
Características de una base de relaciones. mostrando disposición al traba-
datos. jo metódico y organizado.
• Identifica y asigna el tipo de
Concepto de tabla. dato correcto a cada columna • Resuelve situaciones de forma
de tabla. creativa.
Elementos de una tabla.
• Comprende y escribe senten-
Concepto de relación. cias en SQL

Tipos de datos.

Ventajas de emplear una base de


datos.

El lenguaje SQL.
- Select, Insert, Update, Delete
Where, Order By.
- Operadores And, Or, Not.
- Funciones de agregación
Count, Avg, Sum.

12
Fundamentos de base de datos
PROGRAMACIÓN EN JAVA

Actividad de Inicio

Antes de dar inicio a las actividades propias de este semestre,


nos interesa conocer tus expectativas, escribe lo que esperas del
módulo “Base de Datos”, el cual se imparte en quinto semestre de la
capacitación “Programación en Java”.

______________________________________________________________________________

______________________________________________________________________________

______________________________________________________________________________

______________________________________________________________________________

______________________________________________________________________________

______________________________________________________________________________

Responde las siguientes preguntas:

1.- ¿De las competencias disciplinares que desarrollarás en el módulo, cuál o cuáles te atraen más?
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

2.- ¿Para qué crees que te servirán estas competencias?


______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

3.- ¿En qué momento las puedes aplicar?


______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

13
SUBMÓDULO 1
Formación para el Trabajo - Quinto Semestre

Actividad diagnóstica:

1.- ¿Qué es un tipo de dato?


______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

2.- Menciona los distintos tipos de datos que recuerdes:


______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

4 ¿Tienes idea de la función de una base de datos?


______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

5.- Menciona ejemplos en los cuales crees que puedes utilizar bases de datos:
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

1. Base de datos

1.1. Definición de base de datos

Si bien es cierto en la WEB podrás encontrar un sinfín de definiciones de base de datos y de hecho
la gran mayoría son similares tales como las que se describen a continuación:

• Es una colección de datos (registros) que describen las actividades de una o más organizaciones
relacionadas.

14
Fundamentos de base de datos
PROGRAMACIÓN EN JAVA

• Colección organizada de datos, relativa a un problema concreto, que puede ser compartida por
un conjunto de usuarios/aplicaciones.
• Conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para
su posterior uso.
• Es un contenedor que permite almacenar la información de forma ordenada con diferentes
propósitos y usos.

Toda empresa que desea mantener un adecuado control departamental maneja sistemas
informáticos utilizando bases de datos. Incluso cualquier aplicación móvil como agenda telefónica,
aplicación musical, etc. está hecha con base de datos.

Es imprescindible mencionar que la eficiencia de una base de datos dependerá de ciertas


características y de la organización de la información, la cual se mantendrá clasificada en tablas,
registros, campos llave y relaciones. Todo ello se explicará en el avance del módulo.

1.2. Tipos de base de datos

¾¾ Las bases de datos jerárquicas construyen una estructura de jerarquía con los datos que
permite una estructuración muy estable cuando gestionamos una gran cantidad de datos muy
interrelacionados. La organización de los datos se asemeja a un árbol en los que los elementos
se suelen denominar NODOS y existen dependientes entre los nodos. La dependencia es de
tipo padre/hijo. Un hijo no puede tener más de un padre, pero un padre puede tener varios hijos.

15
SUBMÓDULO 1
Formación para el Trabajo - Quinto Semestre

¾¾ Las bases de datos relacionales es una recopilación de elementos de datos con relaciones
predefinidas entre ellos. Estos elementos se organizan como un conjunto de tablas con
columnas y filas. Las tablas se utilizan para guardar información sobre los objetos que se van
a representar en la base de datos. Cada columna de una tabla guarda un determinado tipo
de datos y un campo almacena el valor real de un atributo. Las filas de la tabla representan
una recopilación de valores relacionados de un objeto o entidad. Cada fila de una tabla podría
marcarse con un identificador único denominado clave principal.

Existe software exclusivamente dedicado para realizar base de datos relacionales este software se
conoce como SGBD (Sistema Gestor de Base de Datos), entre los más populares se encuentran
MySQL, Oracle y SQL server.

Una base de datos relacional como se mencionó anteriormente contiene tablas, registros, campos,
relaciones, atributos y campos llave.

Ejemplo:

¾¾ Las bases de datos de tipo OLTP (On Line Transaction Processing) también son llamadas
bases de datos dinámicas lo que significa que la información se modifica en tiempo real, es
decir, se insertan, se eliminan, se modifican y se consultan datos en línea durante la operación
del sistema. Un ejemplo es el sistema de un supermercado donde se van registrando cada
uno de los artículos que el cliente está comprando y a su vez el sistema va actualizando el
Inventario1.

1
Información obtenida de: https://www.ibm.com/developerworks/ssa/data/library/tipos_bases_de_datos/index.html

16
Fundamentos de base de datos
PROGRAMACIÓN EN JAVA

¾¾ Las bases de datos de tipo OLAP (On Line Analytical Processing) también son llamadas
bases de datos estáticas lo que significa que la información en tiempo real no es afectada, es
decir, no se insertan, no se eliminan y tampoco se modifican datos; solo se realizan consultas
sobre los datos ya existentes para el análisis y toma de decisiones. Este tipo de bases de datos
son implementadas en Business Intelligence para mejorar el desempeño de las consultas con
grandes volúmenes de información.

1.3. Elementos que componen una base de datos

Los principales elementos de una base de datos son los siguientes:

¾¾ TABLAS: Es el elemento principal de la base de datos, ya que allí se registra la información que
se quiere gestionar. Está compuesta, como si se tratase de una planilla de cálculo, por filas y
columnas. Cada archivo de una base de datos puede contener tantas tablas como se requiera.

¾¾ CAMPOS: Son cada una de las columnas de una tabla, cada campo almacena un dato en
concreto.

¾¾ REGISTROS: Cada una de las filas de la tabla agrupa toda la información de un mismo elemento.

¾¾ RELACIONES: Son los vínculos establecidos entre las diferentes tablas que permiten trabajar
con los datos de cada una de ellas, como si estuvieran en una sola.

¾¾ CAMPOS CLAVES: Es un campo cuyo contenido no puede estar duplicado en la misma tabla
y permite identificar a cada registro de manera unívoca.

Base de datos

17
SUBMÓDULO 1
Formación para el Trabajo - Quinto Semestre

Ejemplo de una base de datos relacional

El siguiente ejemplo muestra una base de datos relacional la cual permite generar la boleta de un
alumno:

La base de tatos está dividida en 5 Tablas: tabla alumno, tabla boleta, tabla boletamateria, tabla
materia y tabla profesor, cada una de las tablas contiene sus campos, por ejemplo, la tabla Alumno
contiene los campos: credencial, nombre, apellido, fecha de nacimiento y núm. de celular.

ACTIVIDAD 1

Con base en la lectura “Tipos de Base de Datos” selecciona el modelo relacional.


En binas y con ayuda de tu docente dibuja 3 tablas que contengan campos que te
permitan generar una nota de venta de la cafetería del plantel.

18
Fundamentos de base de datos
PROGRAMACIÓN EN JAVA

1.4. Características de una base de datos

1. Independencia de los datos. Es decir, que los datos no dependen del programa y por
tanto cualquier aplicación puede hacer uso de los datos.
2. Reducción de la redundancia. Llamamos redundancia a la existencia de duplicación de
los datos, al reducir ésta al máximo conseguimos un mayor aprovechamiento del espacio y
además evitamos que existan inconsistencias entre los datos. Las inconsistencias se dan
cuando nos encontramos con datos contradictorios.
3. Seguridad. Un SBD debe permitir que tengamos un control sobre la seguridad de los
datos.
4. Se visualiza normalmente como una tabla de una hoja de cálculo, en la que los registros
son las filas y las columnas son los campos, o como un formulario.
5. Permite realizar un listado de la base de datos.
6. Permiten la programación a usuarios avanzados.

En tanto cabe mencionar que cuando se crea una base de datos y se inicia su operación el volumen
de la información es mínimo y el desempeño de la aplicación y base de datos es óptima. Sin
embargo, conforme pasa el tiempo el volumen de información incrementa y en consecuencia surgen
los siguientes problemas:

1. Problemas de espacio en disco.


2. Incrementos de costo en almacenamiento y procesamiento.
3. Problemas de desempeño en las consultas.
4. Fallas en el aplicativo afectando la disponibilidad de los datos.
5. Problemas con la base de datos y la pérdida de información.

De los problemas anteriores surge la necesidad de hacer mejoras a las bases de datos o crear
arquitecturas para dar soluciones a los problemas anteriores. Se han implementado varias
soluciones a nivel Software y Hardware.

1.5. Componentes de una base de datos:

• Hardware: constituido por dispositivo de almacenamiento como discos, cintas, etc.


• Software: que es el DBMS o sistema administrador de base de datos.
• Datos: los cuales están almacenados y van a ser procesados para convertirse en
información2.

1.6. Tipos de usuarios en base de datos

1.-Usuario final: es la persona que utiliza los datos, esta persona ve datos convertidos en información

2.-Desarrollador de aplicaciones: es la persona que desarrolla los sistemas que interactúan con
la base de datos.

Información obtenida de https://www.monografias.com/trabajos34/base-de-datos/base-de-datos.shtml#compon


2

19
SUBMÓDULO 1
Formación para el Trabajo - Quinto Semestre

3.-DBA: es la persona que asegura integridad, consistencia, redundancia, seguridad este es el


administrador de base de datos quien se encarga de realizar el mantenimiento diario o periódico
de los datos.

4.- DBMS: El gestor de base de datos está dedicado a servir de interfaz entre las bases de datos y
las distintas aplicaciones utilizadas.

¾¾ DBMS.- Data Base Managment System (Sistema Gestor de Base de Datos)

Los sistemas gestores de bases de datos son un tipo de software muy específico, dedicado a servir
de interfaz entre las bases de datos y las aplicaciones que la utilizan. Se compone de un lenguaje
de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta. En
los textos que tratan este tema, o temas relacionados, se mencionan los términos SGBD y DBMS,
siendo ambos equivalentes, y acrónimos, respectivamente, de sistema gestor de bases de datos y
DataBase Management System, su expresión inglesa.

Ejemplos de sistemas gestores de bases de datos

• Oracle Database. Sistema de gestión de base de datos objeto-relacional desarrollado


por Oracle Corporation. Se le considera uno de los sistemas de bases de datos más
completo y hasta fechas recientes contaba con un gran dominio del mercado.

• Microsoft SQL Server. Sistema de manejo de bases de datos del modelo relacional
desarrollado por Microsoft. Solo está disponible para el sistema operativo Windows.

• PostgreSQL. Sistema de gestión de base de datos orientado a objetos. Es de código


abierto y se publica bajo licencia BSD. Su desarrollo corre a cargo de una comunidad de
desarrolladores denominada PGDG (PostgreSQL Global Development Group).

• MySQL. Sistema de gestión de bases de datos relacional, multihilo y multiusuario con


más de 6 millones de descargas. Está desarrollado como software libre con licenciamiento
dual, ya que las empresas que deseen usarlo en productos privativos deben adquirir una
licencia específica.

En las actividades del módulo se utilizará el Desarrollador MySQL.

¾¾ Principales funciones de un gestor de base de datos

Las funciones más importantes que nos puede permitir realizar un Sistema gestor de base de datos
son las siguientes3:

a. API (Application Programming Interface): permite a los usuarios avanzados acceder a


algunos recursos internos del programa, para configurarlo.
b. Multiplataforma: indica la compatibilidad entre los distintos sistemas gestores de bases de
datos.
3
Información obtenida de: http://www.mailxmail.com/curso-informatica-administracion-publica-3/bases- datos-concepto-caracteristicas-funcionalidades

20
Fundamentos de base de datos
PROGRAMACIÓN EN JAVA

c. Soporte SQL: sirve para establecer indicaciones a la hora de realizar búsquedas y consultas
en la base de datos.
d. Programación visual: permite crear una especie de lenguaje de forma gráfica, para establecer
parámetros personalizados.

El gestor permitirá que la aplicación funcione en cualquier plataforma y posteriormente utilizarla en


distintos dispositivos.

1.6. Elementos de una tabla

Una tabla, en la base de datos, consiste en filas y columnas. Las filas son también llamadas registros
o tuplas. Las columnas también se conocen como atributos.

¾¾ Columnas/Atributos/Campos

Las columnas o campos son las unidades básicas de la base de datos almacenan información de
cada uno de los registros estos pueden ser de diversos tipos, los más comunes son números, texto
y fechas.

¾¾ Filas/Registros/Tuplas

Un registro o fila almacena una sección individual de información. Por ejemplo, una tabla de
“empleados” puede tener filas que contenga información específica sobre los diferentes empleados4.

Cada registro debe tener un campo único que lo identifique, éste también llamado campo clave o
llave primaria se utiliza para asociar rápidamente datos de varias tablas y combinarlos de forma que
tenga sentido.

Información obtenida del sitio: http://www.ehowenespanol.com/cuales-son-partes-tabla-base-datos-hechos_326530/


4

21
SUBMÓDULO 1
Formación para el Trabajo - Quinto Semestre

La estructura interna de la tabla está formada por campos, estos campos determinan el carácter
de la información que almacenan y se identifican mediante un “nombre de campo”. Por ejemplo,
en una tabla donde se almacenen los datos de alumnos, un campo imprescindible sería el nombre
del alumno, otro sería el curso o grupo al que pertenece, también podríamos incluir la fecha de
nacimiento y así hasta completar toda la información que deseamos almacenar sobre el alumno.

En principio puede ser válida cualquier denominación a la hora de crear un campo de


una tabla. Sin embargo, es conveniente cumplir algunas normas:

33 El nombre del campo debe describir, en la medida de lo posible, la información que


almacena: Nombre, fecha, grupo, etcétera.
33 Intenta que no sea tan corto que no permita adivinar su contenido, ni tan largo que resulte
incómodo trabajar con él.
33 Es aconsejable no utilizar símbolos o caracteres especiales (guiones, espacios en
blanco…) que puedan generar problemas con ciertas operaciones o al trasladar la base
de datos a otros sistemas.
33 Elige con cuidado el tipo de datos para optimizar al máximo la base de datos.
33 El nombre de los campos no puede empezar por espacios ni contener signos de
puntuación ni corchetes.
33 No pueden existir dos campos con el mismo nombre en la misma tabla.

ACTIVIDAD 2

Identifica y escribe en la línea el nombre de cada uno de los elementos de la tabla


“ALUMNOS”.

22
Fundamentos de base de datos
PROGRAMACIÓN EN JAVA

1.7. Base de datos relacionales

Una relación se establece cuando el valor de un campo, denominado campo de coincidencia (a


veces recibe el nombre de campo de clave) en un lado de la relación se compara con éxito con un
valor en el campo de coincidencia en el otro lado de la relación de acuerdo con los criterios que
especifique en la relación.

Por ejemplo, puede crear una relación tal que cuando el valor en el campo ID de estudiante de
una tabla Alumnos sea igual al valor del campo ID de estudiante de una tabla Clases, los registros
de las dos tablas se relacionen.

¾¾ Campos utilizados en relaciones

Un campo de coincidencia puede ser un campo o una combinación de campos que identifican
un registro de una tabla. Por ejemplo, un campo de coincidencia puede contener fechas que,
comparadas con los criterios de la relación, determinan si la relación es correcta.

Una clave es un tipo de campo de coincidencia. Por lo general, las claves contienen valores que se
utilizan como ID como, por ejemplo, un ID de producto.

Existen dos tipos de claves:

• Clave principal: un campo que se encuentra en la misma tabla que el registro que identifica.
Un valor de clave principal debe ser exclusivo y no estar vacío (no ser nulo). Solo hay una clave
principal en una tabla, pero la clave puede estar formada por varios campos.

• Clave externa: un campo de una tabla que identifica un registro de otra tabla. Los valores en
claves externas no tienen que ser exclusivos en la tabla y pueden estar vacíos (nulos). Puede
haber varias claves externas en una tabla.

Los campos de coincidencia deben ser de uno de los siguientes tipos de campos: de texto,
numérico, de fecha, de hora, de fecha y hora, o de cálculo (con un resultado de texto, numérico, de
fecha, de hora, o de fecha y hora)5.

¾¾ Tipos de relaciones

Las relaciones fomentan la introducción de datos coherentes y aplican reglas en la base de datos.
Podemos hacer uso de los siguientes tipos de relaciones:

1. Relación de uno a uno:

Por cada registro de la tabla principal (tabla que contiene la clave principal) puede existir un sólo
registro en la tabla relacionada (tabla que contiene la clave externa). La tabla relacionada no puede
contener un registro que no esté relacionado con uno de la tabla principal: no puede existir un registro
con FECHA_ALTA, SALARIO, etc., si no hay un empleado con el que se relacione. Esta relación se
utiliza para simplificar y organizar las tablas con muchos campos. Ver el ejemplo siguiente:
Información obtenida del sitio: https://fmhelp.filemaker.com/help/16/fmp/es/index.html#page/FMP_Help/planning-databases.html
5

23
SUBMÓDULO 1
Formación para el Trabajo - Quinto Semestre

Nota: esta relación se indica:

2. Relación de uno a varios:

Por cada registro de la tabla principal (tabla de la clave principal o lado uno de la relación) pueden
existir muchos (infinitos) registros en la tabla relacionada (tabla de la clave externa o lado infinito de
la relación). La tabla relacionada no puede contener un registro que no esté relacionado con uno de
la tabla principal, pero puede haber muchos registros que estén relacionados con el mismo registro
de la tabla principal: varios (infinitos) empleados de la tabla EMPLEADO_LABORAL, pueden estar
en el mismo departamento de la tabla DEPARTAMENTO...

Nota: esta relación se indica:

24
Fundamentos de base de datos
PROGRAMACIÓN EN JAVA

3. Relación de varios a varios:

Debes tener claro las llaves primarias y una tabla de unión para que se produzca la relación varios
a varios entre PRODUCTOS y NUM_VENTA. Un registro de la tabla NUM_VENTA puede estar
relacionado con varios registros de la tabla PRODUCTOS y un registro de la tabla PRODUCTOS
puede estar relacionado con varios registros de la tabla NUM_VENTA. Explicación: cuando
realizamos una venta le asignamos un número (N_VENTA) y lo almacenamos en la tabla NUM_
VENTA; esa venta puede estar formada por uno o varios productos identificados con un numero de
producto (N_PRODUCTO) de la tabla PRODUCTOS.

Pero, ¿cómo podemos relacionar varios registros de la tabla NUM_VENTA con varios de
PRODUCTOS, y viceversa? En realidad, esta relación está formada por dos relaciones de uno
a muchos. Una tabla intermedia (tabla de unión VENTAS) contiene la clave principal múltiple que
se forma con la combinación de dos (o más) claves externas: N_VENTA y N_PRODUCTO. La
combinación de estos dos campos forma un campo que no se repite. Por ejemplo: la venta 200
(N_VENTA vale 200) se realizó con los productos 12, 14 y 36 (N_PRODUCTO). Si formamos con
N_VENTA y N_PRODUCTO una clave principal obtenemos 20012, 20014 y 20036, valores no
repetidos. Con otros valores de N_VENTA se procedería igual 6.

1.8. Tipos de datos

El Tipo de datos determina el carácter de la información que contiene el campo. No es lo mismo


almacenar valores numéricos con los que posteriormente podremos realizar operaciones
matemáticas, que guardar textos como los nombres de los alumnos.

En phpMyAdmin cuando creamos una tabla después de introducir el nombre del campo, al desplegar
el cuadro de lista asociado a la columna Tipo de campo aparecerá una larga lista de posibilidades
para asignar el tipo de dato como puedes ver en la siguiente figura.

Información obtenida del sitio: http://www.aulapc.es/ofimatica_acces_relaciones.html


6

25
SUBMÓDULO 1
Formación para el Trabajo - Quinto Semestre

Como puedes ver existen muchos tipos, pero de entre ellos, los que usaremos con
más frecuencia son:

• Número: Es el tipo numérico más flexible. Permite determinar su tamaño y su precisión en


cuanto al número de valores decimales que puede representar.

• Texto [VARCHAR]: Tipo de campo destinado a cadenas de caracteres cuya longitud no es fija.
En la propiedad Longitud se determina su longitud máxima.

• Sí/No: Este tipo de datos, conocido como “booleano”, se utiliza para representar datos
Verdadero/Falso o Sí/No o 1/0.

• Fecha, Hora y Fecha/Hora [Date]: Estos tipos de datos se utilizan para almacenar información
referida a horas, fechas o su combinación. El formato de presentación lo podemos seleccionar
en la propiedad Formato.

¾¾ Ventajas de las bases de datos


33 Las bases de datos permiten obtener información en forma más sencilla.
33 Obtener información estructurada.

26
Fundamentos de base de datos
PROGRAMACIÓN EN JAVA

33 Compartir información en forma simultánea con otros usuarios o con otras bases de
datos.
33 Facilita la estandarización de procesos, nombres de registros, etc.
33 Permite controlar la duplicidad de datos (redundancia).
33 Optimiza el espacio de almacenamiento en disco, gracias al control de redundancia.
33 Permite la sincronización de datos.
33 Una misma base de datos sirve para diversos y varios sistemas que trabajen sobre esa
DB.
33 Esto, por otra parte, permite la centralización de datos.
33 Permite la unificación de datos.
33 Seguridad e integridad de información mediante validación de usuarios.
33 Creación de diferentes niveles de seguridad.
33 Validación de condiciones de entrada de registros (lo que permite controlar errores
humanos en el ingreso de datos).
33 Flexibilidad y rapidez para obtener información.
33 Aumenta la productividad (no se debe preocupar por la organización de los datos ni de
la validación).
33 Las bases de datos son independientes de los programas y/o aplicaciones (por lo que
un cambio en la estructura de los programas o en su código no afecta la a la DB, y
viceversa).
33 Esto origina independencia de los datos.
33 Las bases de datos no son instalables, sino que son portables. Basta con copiarlas,
importarlas.
33 Las bases de datos son modificables en su estructura, por lo que fácilmente podemos
adicionar nueva información a un registro, nuevas tablas, etc. 7

¾¾ Ejemplo de relaciones

El relacionar tablas en una base de datos es muy importante a la hora de desarrollar de sistemas
dinámicos básicos y avanzados. En este ejemplo realizaremos una pequeña base de datos llamada
bibliotecabd en la cual tendremos las tablas libro y editorial. Con ellas vamos a crear una relación
de uno a muchos. Los campos que nos permitirán esta relación son id_edi de la tabla principal que
es Editorial y el campo idh_edi que será nuestra llave foránea en la tabla Libro.

En la siguiente imagen (modelo relacional) se pueden observar los campos o atributos de las tablas
que vamos a crear, así como la relación entre ellas.

7
información obtenida del sitio: https://educacion.elpensante.com/ventajas-y-desventajas-de-las-bases-de-datos/

27
SUBMÓDULO 1
Formación para el Trabajo - Quinto Semestre

Para el desarrollo de este ejemplo vamos a trabajar con XAMPP, este un servidor independiente de
plataforma de código libre. Te permite instalar de forma sencilla Apache en tu propio ordenador, sin
importar tu sistema operativo (Linux, Windows, MAC o Solaris). Y lo mejor de todo es que su uso
es gratuito. XAMPP incluye además servidores de bases de datos como MySQL y SQLite con sus
respectivos gestores phpMyAdmin y phpSQLiteAdmin. Incorpora también el intérprete de PHP, el
intérprete de Perl, etc. entre muchas cosas más.

XAMPP está disponible para su descarga en el siguiente enlace: https://www.apachefriends.org/es/


download.html.

Comienza la descarga e instala XAMPP para poder realizar este ejercicio. Una vez terminada la
instalación, es necesario acceder al Panel de Control de XAMPP. Éste nos da un control completo
sobre todos los componentes de XAMPP instalados.

En la siguiente imagen se muestra una visión rápida del Panel de Control. Sin embargo, por ahora,
lo único que necesitamos saber es cómo iniciar y detener el servidor Apache y MySql.

Para iniciar a trabajar en el panel de control XAMPP, haga click en ‘Start’ bajo ‘Actions’ para el
módulo Apache y MySQL. Esto le indica a XAMPP que inicie el servidor web Apache y MySQL.

28
Fundamentos de base de datos
PROGRAMACIÓN EN JAVA

Ahora vamos a abrir el navegador web y escribimos: http://localhost o la dirección IP 127.0.0.1


y se nos mostrará la siguiente página:

Escogemos el idioma en la pantalla de presentación para configurar nuestra interfaz de trabajo y


empezamos con la creación de la base de datos hacemos clic en la pestaña que dice Bases de
datos en la esquina superior derecha de la pantalla, o bien en el panel izquierdo hacemos clic en
las dos opciones nos redirigirán al formulario para crear una base de datos nueva:

29
SUBMÓDULO 1
Formación para el Trabajo - Quinto Semestre

Ponemos el nombre de la base de datos y el tipo de “Cotejamiento” este último no es obligatorio,


pero nos librarán de varios problemas luego si lo especificamos, en nuestro caso el más recomendado
para Latinoamérica y países de habla hispana es el UTF8 ya que reconoce las Ñ, los acentos, etc.

El nombre que pondremos a la BD es BibliotecaBD como se puede ver en la imagen. Luego


damos clic en Crear y listo ya está creada la Base de datos.

Posteriormente automáticamente nos envía al formulario para que empecemos a crear nuestras
tablas, de no ser así, vamos al listado de bases de datos que aparece a la izquierda, hacemos clic
sobre BibliotecaBD y se nos redireccionará para crear las tablas especificando el nombre de la
tabla y la cantidad de columnas.

Ahora nombraremos a nuestra primera tabla Editorial ya que ella es la principal (no necesita de
Libros para existir) y la cantidad de columnas en este caso 4, como se puede apreciar en el Modelo
Relacional que se muestra al inicio del ejercicio.

Damos clic en Continuar y nos aparece el formulario para crear todas sus columnas especificando
el Tipo de datos que recibe, si permite campos vacíos (Null), si es clave primaria, etc.

En este caso solo especificamos el tipo de datos y cuál de sus columnas es clave primaria y auto
incrementable (A_I), es decir que no necesitamos poner un número a cada registro de manera
manual:

30
Fundamentos de base de datos
PROGRAMACIÓN EN JAVA

Índice Primary
y check en A_I

Después damos clic en guardar y listo.

Ahora si podemos crear la tabla Libro, ya que en esta hay una columna que es clave Foránea de la
tabla Editorial y por ende teníamos que crear primero esta para luego especificar en la tabla Libro.

Hacemos los mismos pasos que hicimos para la creación de la tabla Editorial, solo que cambiamos
algunos datos de sus columnas:

Índice Primary
y check en A_I
INDEX esta
columna será
nuestra llave
foránea.

Damos clic en guardar y listo.

Hasta aquí todavía no hemos creado la relación entre estas dos tablas, pero si estamos ya casi por
terminar. Una vez que guardamos la tabla libro nos dirige a esta página donde ya podemos ver
todas las tablas creadas en la base de datos bibliotecabd hacemos clic en la tabla libro para hacer
los últimos ajustes de la relación.

31
SUBMÓDULO 1
Formación para el Trabajo - Quinto Semestre

Ya tenemos creadas las


dos tablas le damos clic
en la tabla Libro para
especificar la relación con
la tabla Editorial.

Al hacer clic sobre libro estando en la pestaña estructura se nos muestra la siguiente página:

Clic en vista de
relaciones

En esa página hacemos clic en el enlace Vista de relaciones, es ahí donde vamos a especificar
que columna será Foránea, en otras palabras, que columna marcará la relación entre tabla Editorial
y tabla Libro.

Ahora en el campo de ON DELETE elegimos CASCADE puesto que esta opción borra los registros
de la tabla dependiente cuando se borra el registro de la tabla principal, y en ON UPDATE elegimos
CASCADE porque actualiza el valor de la clave secundaria cuando se actualiza el valor de la clave
referenciada.

En la primera columna elegiremos idh_edi que es la que nos servirá como clave Foránea, debemos
especificar la base de datos en este caso biblioteca la tabla editorial y la columna con la que
haremos la relación en este caso id_edi.

32
Fundamentos de base de datos
PROGRAMACIÓN EN JAVA

Hacemos clic Guardar y listo, ahora así ya tenemos relacionadas las dos tablas.

PRÁCTICA 1

Instrucciones.- Construir una base de datos llamada: Empresa, y construir las tablas que aparecen
en la imagen de abajo con su respectivo tipo de dato (no es necesario crear las relaciones que ahí
aparecen). Agregar la cantidad de registros y entregar de acuerdo a las instrucciones de tu profesor.

33
SUBMÓDULO 1
Formación para el Trabajo - Quinto Semestre

PRÁCTICA 2

Instrucciones.- Construir una base de datos llamada: Colegio, y construir las tablas que aparecen
en la imagen de abajo con su respectivo tipo de dato (no es necesario crear las relaciones que ahí
aparecen). Agregar la cantidad de registros y entregar de acuerdo a las instrucciones de tu profesor.

34
Fundamentos de base de datos
SUBMÓDULO 2
ELABORA INTERFACES DE USUARIO
CON CONEXIÓN A BASES DE DATOS

Competencias Genéricas Competencias Profesionales Básicas

7. Aprende por iniciativa e interés propio a lo largo CPBP2. Implementa sistemas básicos de programación
de la vida. de forma creativa y emprendedora, de manera ética y
CG7.1 Define metas y da seguimiento a sus procesos responsable.
de construcción de conocimiento.
CPBP3. Analiza, diseña y construye base de datos, con
8. Participa y colabora de manera efectiva en una actitud colaborativa, de acuerdo a las necesidades
equipos diversos. tecnológicas y de calidad para contribuir con el logro de
CG8.1 Propone maneras de solucionar un problema los objetivos estratégicos.
o desarrollar un proyecto en equipo, definiendo un
curso de acción con pasos específicos. CPBP4. Desarrolla aplicaciones web para difundir
CG8.2 Aporta puntos de vista con apertura y considera información con un sentido crítico, autocrítico y ético.
los de otras personas de manera reflexiva.
CG8.3 Asume una actitud constructiva, congruente CPBP5. Integra estructuras de programación, para la
con los conocimientos y habilidades con los que implementación de proyectos asegurando eficiencia
cuenta dentro de distintos equipos de trabajo. para contribuir en el logro de los objetivos.
Formación para el Trabajo - Quinto Semestre

ELABORA INTERFACES DE USUARIO


submódulo 2
CON CONEXIÓN A BASES DE DATOS

Interdisciplinariedad Transversalidad

33 Todas las asignaturas de 5to. semestre 33 Emprendimiento


de los Componentes de Formación 33 Vinculación laboral
Básica y Propedéutica. 33 Iniciar, continuar y concluir sus
estudios de nivel superior

Aprendizajes esperados

• Instala y utiliza herramientas para la creación y gestión de bases de datos.


• Escribe y ejecuta sentencias SQL, desde una herramienta de gestión de base de datos.
• Conecta aplicaciones a bases de datos para ejecutar consultas o modificación de datos.

Conocimientos básicos Habilidades Actitudes


Concepto de servidor de base de Diseña la estructura de una Se relaciona con sus semejantes
datos. base de datos con sus tablas y de forma colaborativa, mostrando
relaciones. disposición al trabajo metódico y
Herramientas de gestión de organizado.
servidores de bases de datos. Identifica y asigna el tipo de dato
correcto a cada columna de Resuelve situaciones de forma
Clasificación del contenido de la tabla. creativa.
información que se genera dentro
Comprende y escribe sentencias
de la base de datos.
en SQL
Aplicaciones desarrolladas a
bases de datos.

36
Elabora interfaces de usuario con conexión a bases de datos
PROGRAMACIÓN EN JAVA

1. Servidor de base de datos

Un servidor de base de datos es un programa que provee servicios de base de datos a otros
programas u otras computadoras, como es definido por el modelo cliente-servidor. También puede
hacer referencia a aquellas computadoras (servidores) dedicadas a ejecutar esos programas,
prestando el servicio.

Los sistemas de administración de base de datos (SGBD) generalmente proveen funcionalidades


para servidores de base de datos, en cambio otros (como por ejemplo, MySQL) solamente proveen
construcción y acceso a la base de datos.

37
SUBMÓDULO 2
Formación para el Trabajo - Quinto Semestre

• RDBMS (del inglés Relational database management system)

• SGBD (Sistema de gestión de base de datos relacional) es la base para el SQL y para todas
las bases de datos modernas como MS SQL Server, IBM DB2, Oracle, MySQL, and Microsoft
Access.

• Los datos en un RDBMS se almacenan en objetos llamados tablas

• Una tabla es una colección relacionada de entradas que consiste en columnas y filas

Un servidor de base de datos se utiliza para almacenar, recuperar y administrar los datos de una
base de datos.

El servidor gestiona las actualizaciones de datos, permite el acceso simultáneo de muchos


servidores o usuarios web, garantiza la seguridad y la integridad de los datos. Y cuando hablamos
de datos, podemos estar hablando sobre millones de elementos a los que acceden al mismo tiempo
miles de usuarios.

Algunas funciones son la exportación de datos, la configuración del acceso de los usuarios y el
respaldo de datos.

2. Herramientas de gestión de servidores de bases de datos

Para bases de datos con múltiples usuarios sirve un servidor de base de datos. Las bases de
datos están situadas en un servidor y se puede acceder a ellas desde terminales o equipos con
un programa -llamado cliente- que permita el acceso a la base o bases de datos. Los gestores de
base de datos de este tipo permiten que varios usuarios hagan operaciones sobre ella al mismo
tiempo: un puede hacer una consulta al mismo tiempo que otro, situado en un lugar diferente, está
introduciendo datos en la base.

En todo sistema abierto, debe proporcionarse un potente mecanismo de seguridad que garantice
que ningún intruso pueda acceder o corromper la integridad del sistema, en servidores de bases de
datos hablaremos de la seguridad a 4 niveles básicos:

• Seguridad de acceso al sistema.


• Seguridad a nivel de objetos de datos.
• Seguridad a nivel de datos.
• Seguridad en cuanto a protección de los almacenamientos físicos de los datos.

La seguridad de acceso se implementa de dos maneras posibles: a nivel de sistema operativo,


en cuyo caso el SGBD se apoya en la seguridad de entrada al sistema operativo para comprobar
la validez del acceso a los datos almacenados; o bien lo que se llama modo mixto, en el cual la
seguridad de entrada a la información la llevará a cabo el propio servidor de datos a partir de la
definición de cuentas de usuario al servidor (su denominación de mixta proviene de la capacidad
de los sistemas de incluir como cuentas de acceso o login aquellas propias del sistema operativo,
lo que facilita la transición de las cuentas de seguridad).

38
Elabora interfaces de usuario con conexión a bases de datos
PROGRAMACIÓN EN JAVA

La segunda es de gran ayuda cuando los clientes que acceden al sistema provienen de sistemas
operativos con poca (o ninguna) seguridad o de aplicaciones instaladas que necesiten acceder a
los volúmenes de información del sistema. En ambos casos, en los sistemas se contará con roles
o papeles con los que contará el usuario al entrar al sistema para la realización de determinadas
operaciones de cara al sistema.

La seguridad a nivel de objetos es el acceso a nivel de creación y administración de objetos de


datos: tablas, vistas, índices, relaciones, reglas, etc. Es decir, las responsabilidades y acciones que
puede hacer el usuario en el esquema de la base de datos (el esqueleto a partir del cual el sistema
definirá cómo se debe almacenar y relacionar la información). Este podrán especificar de nuevo
roles a los usuarios, indicando quién podrá crear, modificar o eliminar cualquier objeto de datos (con
lo que se permite establecer una política de delegación de responsabilidades).

La seguridad a nivel de datos accede a la información para su consulta, actualización, inserción


o borrado y las características de los diversos motores, los que determinarán hasta qué grado de
seguridad se llega en este apartado (desde la protección de las columnas de una tabla hasta la
tabla en sí, creación de vistas, etc.).

La seguridad a nivel de protección de los almacenamientos físicos de la información,


es la seguridad a nivel de sistema operativo de los archivos de datos del sistema, y las políticas
de copia de seguridad y restauración de los datos (tanto con herramientas del sistema operativo
como las proporcionadas por el propio servidor de datos) junto con sus posibles aproximaciones
(total, incremental y diferencial), además de los soportes hardware compatibles de almacenamiento
masivo empleados como destino de las copias.

Los servidores de datos deben proporcionar mecanismos de comunicación óptimos, pues de cómo
se envíe la información dependerán parámetros tan importantes como la velocidad de acceso a los
datos. Todos los sistemas gestores analizados cuentan con múltiples configuraciones de protocolos,
adaptándose a los protocolos existentes y estandarizados de la actualidad: TCP/IP, IPX, Banyan,
ect; es importante no sólo el canal de comunicaciones que está disponible para los servidores de
datos sino también cómo es transmitida la información.

• MySQL server: Base de datos de código abierto muy popular, pequeña y rápida.
• PostgreSQL server: Base de datos de código abierto, es un servidor de base de datos
relacional orientada a objeto publicado bajo licencia libre BSD.
• Oracle-XE: Versión “lite” del RDBMS de Oracle (gratuita pero no de código abierto).
• SQL Server.- Es un sistema de gestión de base de datos relacional, desarrollado por la
empresa Microsoft. El lenguaje de desarrollo utilizado es Transact-SQL, una implementación
del estándar ANSI del lenguaje SQL, utilizado para manipular y recuperar datos, crear tablas
y definir relaciones entre ellas

39
SUBMÓDULO 2
Formación para el Trabajo - Quinto Semestre

ACTIVIDAD 1

Elabora un documento, presentación o lo que el docente solicite el cual contenga


información completa acerca de los servidores de bases de datos que a continuación
se presentan:

• MySQL Server.
• PostgreSQL
• Oracle XE
• SQL Server

De cada uno de los servidores de bases de datos investigaras los siguientes puntos:

• Requisitos de instalación
• Pasos de instalación
• Pasos para configurar el servidor de base de datos
• Elementos de la interfaz de usuario

La entrega de esta actividad se elaborar de acuerdo con las características que te solicite el docente.

3. SQL (Lenguaje Estructurado de Consulta)

3.1 Introducción a SQL.

SQL es una herramienta para organizar, gestionar y recuperar datos almacenados en una base de
datos automatizada. El nombre SQL es una abreviatura de Structured Query Language (Lenguaje
estructurado de consultas), SQL trabaja con bases de datos relacionales.

SQL es mucho más que una herramienta de consulta, aunque ese fue su propósito original y
recuperar datos sigue siendo una de sus funciones más importantes. SQL se utiliza para controlar
todas las funciones que un DBMS proporciona a sus usuarios, incluyendo:

• Definición de datos.
• Recuperación de datos.
• Manipulación de datos.
• Control de acceso.
• Compartición de datos
• Integridad de datos.

SQL no es en sí un lenguaje de programación como el Cobol, C, etc. no contiene comandos como


ciclo for, sentencia if, etc. Sin embargo cuenta alrededor de 30 instrucciones básicas que permiten
al usuario obtener información cuando y como lo requiera.

40
Elabora interfaces de usuario con conexión a bases de datos
PROGRAMACIÓN EN JAVA

SQL tiene las siguientes funciones:

• Consultas interactivas.
• Lenguaje de programación de base de datos.
• Lenguaje de administración de base de datos.
• Lenguaje cliente/servidor.
• Lenguaje de base de datos distribuidos.

3.1.1. Componentes de SQL

El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de agregado.
Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de
datos. Existen dos tipos de comandos SQL

• Los DDL que permiten crear y definir nuevas bases de datos, campos e índices.
• Los DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de
datos.

3.1.2. Comandos DDL


Comando Descripción
CREATE Utilizado para crear nuevas tablas, campos e índices
DROP Empleado para eliminar tablas e índices
Utilizado para modificar las tablas agregando campos o cambiando la definición
ALTER
de los campos.

3.1.3. Comandos DML


Comando Descripción
Utilizado para consultar registros de la base de datos que satisfagan un criterio
SELECT
determinado
INSERT Utilizado para cargar lotes de datos en la base de datos en una única operación.
UPDATE Utilizado para modificar los valores de los campos y registros especificados
DELETE Utilizado para eliminar registros de una tabla de una base de datos

41
SUBMÓDULO 2
Formación para el Trabajo - Quinto Semestre

Cláusulas
Las cláusulas son condiciones de modificación utilizadas para definir los datos que desea seleccionar
o manipular.
Cláusula Descripción

FROM Utilizada para especificar la tabla de la cual se van a seleccionar los registros

Utilizada para especificar las condiciones que deben reunir los registros que se
WHERE
van a seleccionar
GROUP BY Utilizada para separar los registros seleccionados en grupos específicos
HAVING Utilizada para expresar la condición que debe satisfacer cada grupo
Utilizada para ordenar los registros seleccionados de acuerdo con un orden
ORDER BY
específico
3.1.3. Operadores Lógicos
Cláusula Uso
Es el "y" lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si
AND
ambas son ciertas.
Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna
OR
de las dos es cierta.
NOT Negación lógica. Devuelve el valor contrario de la expresión.

3.1.4. Operadores de Comparación


Cláusula Uso
< Menor que
> Mayor que
<> Distinto de
<= Menor o Igual que
>= Mayor o Igual que
= Igual que
BETWEEN Utilizado para especificar un intervalo de valores.
LIKE Utilizado en la comparación de un modelo
In Utilizado para especificar registros de una base de datos.
3.1.5. Funciones Sumarias
Las funciones de agregado o sumatorias, se usan dentro de una cláusula SELECT para devolver
un único valor que se aplica a un grupo de registros.
Función Descripción
AVG Calcula el promedio de los valores de un campo determinado
COUNT Devuelve el número de registros de la selección
SUM Devuelve la suma de todos los valores de un campo determinado
MAX Devuelve el valor mayor de un campo especificado
MIN Devuelve el valor menor de un campo especificado

42
Elabora interfaces de usuario con conexión a bases de datos
PROGRAMACIÓN EN JAVA

Ejemplos:

Select avg(precio) from productos


Esta sentencia nos regresará un valor que es el promedio de los precios de todos los artículos
de la tabla productos.
Select sum(precio) from productos
Esta sentencia nos regresará un valor que es la suma de los precios de todos los artículos
de la tabla productos.
Select count(no-pto) from productos
Esta sentencia nos regresará un valor que es la cantidad de artículos de la tabla productos.
Select max(precio) from productos
Esta sentencia nos regresará el precio mayor de los artículos de la tabla productos.
Select min(precio) from productos
Esta sentencia nos regresará el precio menor de los artículos de la tabla productos.

3.2. Consultas de Selección

Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de
las bases de datos, esta información es devuelta en forma de conjunto de registros. Este conjunto
de registros es modificable.

3.2.1. Consultas básicas

La sintaxis básica de una consulta de selección es la siguiente:


SELECT atributo(s) FROM Tabla;
En donde atributos es la lista de campos que se deseen recuperar y tabla es el origen de los
mismos, por ejemplo:
SELECT Nombre,Teléfono FROM Clientes;
Esta consulta devuelve el campo nombre y teléfono de la tabla clientes.
Cláusula from.
Especifica la tabla o las tablas de las que los datos serán obtenidos.
Cláusula where.
Nos permite especificar los renglones que deseamos recuperar, en función de alguna
condición específica.
SELECT Nombre, Teléfono FROM Clientes where nombre=”Camila”;
Esta consulta devuelve el campo nombre y teléfono de la tabla clientes en donde el nombre
del cliente es Camila.

43
SUBMÓDULO 2
Formación para el Trabajo - Quinto Semestre

3.2.2. Ordenar registros

Adicionalmente se puede especificar el orden en que se desean recuperar los registros de las
tablas mediante la cláusula ORDER BY Lista de Campos. En donde Lista de campos representa
los campos a ordenar. Ejemplo:

SELECT CódigoPostal, Nombre, Teléfono FROM Clientes ORDER BY Nombre;

Esta consulta devuelve los campos CódigoPostal, Nombre, Teléfono de la tabla Clientes ordenados
por el campo Nombre.

Se pueden ordenar los registros por más de un campo, como por ejemplo:

SELECT CódigoPostal, Nombre, Teléfono FROM Clientes ORDER BY


CódigoPostal, Nombre;

Incluso se puede especificar el orden de los registros: ascendente mediante la cláusula (ASC -se
toma este valor por defecto) o descendente (DESC)

SELECT CódigoPostal, Nombre, Teléfono FROM Clientes ORDER BY


CódigoPostal DESC, Nombre ASC;

3.2.3. Consultas con Predicado

El predicado se incluye entre la cláusula y el primer nombre del campo a recuperar, los posibles
predicados son:
Predicado Descripción

ALL Devuelve todos los campos de la tabla

TOP Devuelve un determinado número de registros de la tabla


DISTINCT Omite los registros cuyos campos seleccionados coincidan totalmente
Omite los registros duplicados basándose en la totalidad del registro y no sólo
DISTINCTROW
en los campos seleccionados.
Utilizada para ordenar los registros seleccionados de acuerdo con un orden
ORDER BY
específico

ALL: Si no se incluye ninguno de los predicados se asume ALL. El Motor de base de datos
selecciona todos los registros que cumplen las condiciones de la instrucción SQL.

Ejemplo:

Select all from empleados;


Select * from empleados;

44
Elabora interfaces de usuario con conexión a bases de datos
PROGRAMACIÓN EN JAVA

TOP: Devuelve un cierto número de registros que entran entre al principio o al final de un rango
especificado por una cláusula ORDER BY. Supongamos que queremos recuperar los nombres de
los 25 primeros estudiantes del curso 2002:

Select top 25 Nombre from Estudiante where curso=2002


order by no_est desc;

DISTINCT: Omite los registros que contienen datos duplicados en los campos seleccionados.

Por ejemplo, varios empleados listados en la tabla Empleados pueden tener el mismo apellido. Si
dos registros contienen López en el campo Apellido, la siguiente instrucción SQL devuelve un único
registro:

Select distinct apellido from empleados;

Con otras palabras el predicado DISTINCT devuelve aquellos registros cuyos campos indicados en
la cláusula SELECT poseen un contenido diferente.

3.2.4. Alias

En determinadas circunstancias es necesario asignar un nombre a alguna columna determinada


de un resultado obtenido en alguna consulta. Para esto se utiliza la palabra reservada AS que se
encarga de asignar el nombre que deseamos a la columna calculada.

Ejemplo

Sentencia que devuelve la cantidad de empleados en la tabla empleados, la cantidad obtenida la


muestra en un atributo denominado Contador.

SELECT count(nombre) as contador from Empleados;

Sentencia que devuelve el promedio de gastos en la tabla Pedidos, en donde gastos sea mayor
que 100.

SELECT Avg(Gastos) AS Promedio FROM Pedidos WHERE Gastos > 100

3.3. Criterios de Selección.

En una consulta es posible filtrar los registros con el fin de recuperar solamente aquellos que
cumplan condiciones preestablecidas.

45
SUBMÓDULO 2
Formación para el Trabajo - Quinto Semestre

Antes de iniciar hay que recalcar tres detalles de vital importancia.

1. Cada vez que se desee establecer una condición referida a un campo de texto, la condición
de búsqueda debe ir encerrada entre comillas simples;
2. No es posible establecer condiciones de búsqueda en los campos memo y;
3. Referencía a las fechas. Las fechas se deben escribir siempre en formato mm-dd-aa en donde
mm representa el mes, dd el día y aa el año, hay que prestar atención a los separadores
-no sirve la separación habitual de la barra (/), hay que utilizar el guion (-) y además la fecha
debe ir encerrada entre (#). Por ejemplo si deseamos referirnos al día 3 de Septiembre de
2007 se debe hacer de la siguiente forma; #09-03-07# o #9-3-07#.

3.3.1. Operadores Lógicos

Los operadores lógicos soportados por SQL son: AND, OR, XOR, Eqv, Imp, Is y Not. A excepción
de los dos últimos todos poseen la siguiente sintaxis:

<expresión1> operador <expresión2>

En donde expresión1 y expresión2 son las condiciones a evaluar, el resultado de la operación varía
en función del operador lógico.

Select * from empleados where (edad>25) and (edad<50)

Select * from empleados where (edad > 25) and (edad < 50) or (sueldo = 100)

Select * from empleados where not (estado='soltero')

Select * from empleados where ((sueldo > 100) and (sueldo < 500)) or
((ciudad = 'madrid') and (estado = 'casado'))

3.3.2. Intervalos de Valores (Between).

Permite indicar que datos deseamos recuperar según el intervalo de valores de un campo, la sintaxis
del operador Between es:

Select campo(s) from Tabla where campo [Not] Between valor1 And valor2 (la condición Not es
opcional)

En este caso la consulta devolvería los registros que contengan en “campo” un valor incluido en
el intervalo valor1, valor2 (ambos inclusive). Si anteponemos la condición Not devolverá aquellos
valores no incluidos en el intervalo.

Ejemplo:

SELECT * FROM Pedidos WHERE CodPostal Between 28000 And 28999;


(Devuelve los pedidos realizados en las ciudades con codpostal entre 28000 y 28999)

46
Elabora interfaces de usuario con conexión a bases de datos
PROGRAMACIÓN EN JAVA

3.3.3. Operador Like


Se utiliza para comparar una expresión de cadena con un modelo en una sentencia SQL. Su sintaxis
es:
Expresión Like modelo

En donde expresión es una cadena modelo o campo contra el que se compara expresión. Se
puede utilizar el operador Like para encontrar valores en los campos que coincidan con el modelo
especificado. Por modelo se puede especificar un valor completo (Ana María), o se pueden utilizar
caracteres comodín como los reconocidos por el sistema operativo para encontrar un rango de
valores (Like An*).

Ejemplo:

Si introduce Like C* en una consulta SQL, la consulta devuelve todos los valores de campo que
comiencen por la letra C.

Ejemplo:

Sentencia que devuelve los datos que comienzan con la letra P, seguido de cualquier letra entre A
y F y de tres dígitos:

Like 'P[A-F]###'

Este ejemplo devuelve los campos cuyo contenido empiece con una letra de la A a la D seguidas
de cualquier cadena.

Like '[A-D]*'

3.3.4. Test de pertenencia In

Este operador devuelve aquellos registros cuyo campo indicado coincide con alguno de los que
pertenecen a una lista.

Su sintaxis es:

expresión [Not] In(valor1, valor2, . . .)

Ejemplo:

Desplegar los datos de los pedidos cuya ciudad este entre la lista de

Select * from pedidos where provincia In (‘Tijuana’, ‘Madrid’, ‘Londres’, ‘New York’);

47
SUBMÓDULO 2
Formación para el Trabajo - Quinto Semestre

Cláusula WHERE

La cláusula WHERE puede usarse para determinar qué registros de las tablas enumeradas en
la cláusula FROM aparecerán en los resultados de la instrucción SELECT. Si no se emplea esta
cláusula, la consulta devolverá todas las filas de la tabla. WHERE es opcional, pero cuando aparece
debe ir a continuación de FROM.

Ejemplos:

• Desplegar el apellido y salario de los empleados cuyo salario sea > 21000.

Select apellidos, salario from empleados where salario > 21000;


• Desplegar id_producto, existencias de la tabla Productos en donde existencia sea menor o
igual a 1000.

Select id_producto, existencias from productos where existencias <= 1000;


• Desplegar apellido y nombre de la tabla Empleados en donde apellido = ‘Martínez’

Select apellidos, nombre from empleados where apellidos = ‘Martínez’


• Desplegar apellido y nombre de la tabla Empleados en donde apellido inicie con la letra S y
después contenga una cadena de caracteres.

Select apellido y nombre from empleados where apellidos like 'S*';


• Desplegar apellido y nombre de la tabla Empleados en donde salario este entre 200 y 300.

Select apellido, salario from empleados where salario between 200 and 300;

3.3.5. Agrupamiento de Registros

GROUP BY

Agrupa los registros con valores idénticos, para cada registro se crea un valor sumario si se incluye
una función SQL agregada, como por ejemplo Sum o Count, en la instrucción SELECT.

Sintaxis:

SELECT campos FROM tabla WHERE criterio GROUP BY campos del grupo

GROUP BY es opcional. Los valores de resumen se omiten si no existe una función SQL agregada
en la instrucción SELECT. Los valores Null en los campos GROUP BY se agrupan y no se omiten.
No obstante, los valores Null no se evalúan en ninguna de las funciones SQL agregadas.

Ejemplo:

Desplegar el id de línea y la suma de stock de la tabla Productos agrupado por idLinea.

SELECT Id_Linea, Sum(Stock) FROM Productos GROUP BY Id_Linea.

48
Elabora interfaces de usuario con conexión a bases de datos
PROGRAMACIÓN EN JAVA

Columnas calculadas

Es possible realizar columnas calculadas utilizando los operadores aritméticos descritos
anteriormente

Ejemplo:

SELECT Sum(PrecioUnidad * Cantidad) AS Total FROM DetallePedido;

3.4. SubConsultas

Una subconsulta es una instrucción SELECT anidada dentro de una instrucción SELECT, SELECT...
INTO, INSERT...INTO, DELETE, o UPDATE o dentro de otra subconsulta.

Una subconsulta puede realizarse mediante comparación o Instrucción sql.

Comparación

Es una expresión y un operador de comparación que compara la expresión con el resultado de la


subconsulta.

Instrucción SQL

Es una instrucción SELECT, que sigue el mismo formato y reglas que cualquier otra instrucción
SELECT. Debe ir entre paréntesis.

Se puede utilizar una subconsulta en lugar de una expresión en la lista de campos de una instrucción
SELECT o en una cláusula WHERE o HAVING. En una subconsulta, se utiliza una instrucción
SELECT para proporcionar un conjunto de uno o más valores especificados para evaluar en la
expresión de la cláusula WHERE o HAVING.

El predicado IN se emplea para recuperar únicamente aquellos registros de la consulta principal


para los que algunos registros de la subconsulta contienen un valor igual.

Ejemplo:

• Despliega todos los productos vendidos con un descuento igual o mayor al 25 por ciento.:

Select * from productos where idproducto in (select idproducto from detallepedido where descuento
>= 0.25);

Inversamente se puede utilizar NOT IN para recuperar únicamente aquellos registros de la consulta
principal para los que no hay ningún registro de la subconsulta que contenga un valor igual.

El predicado EXISTS (con la palabra reservada NOT opcional) se utiliza en comparaciones de


verdad/falso para determinar si la subconsulta devuelve algún registro.

49
SUBMÓDULO 2
Formación para el Trabajo - Quinto Semestre

Ejemplo:

Suponga que desea conocer el nombre de las partes suministradas por el proveedor No. 1

Select parte from Partes where no_pto = (Select no_pto from Partes_suministradas where S#=s1).

En esta sentencia es necesario realizar una sentencia anidada, debido a que el no_del proveedor
esta en la tabla partes suministradas, pero los datos de la parte, esta en la tabla Partes, por lo que
el resultado de la consulta interna será el valor de la claúsula Where.

ACTIVIDAD 1

Instrucciones.- Crear en MySQL la base de datos Automotriz y crear la tabla Partes, los
campos y datos que tendrá son los que se muestran a continuación:

Nota: Solo crear los campos, los datos los agregaremos usando instrucciones SQL.

No_ pto Parte Color Estado Precio


P1 Tuerca Rojo 12 1.50
P2 Perno Verde 17 2.00
P3 Tornillo Azul 17 4.80
P4 Tornillo Rojo 14 1.20

Al crear la tabla en MySQL se nos mostrará una pantalla como la que aparece a continuación:

1.- En la parte superior encontraremos la pestaña SQL, dar un clic a la pestaña, y nos mostrará lo
siguiente:

50
Elabora interfaces de usuario con conexión a bases de datos
PROGRAMACIÓN EN JAVA

En la parte central encontraremos un espacio en blanco donde insertaremos nuestras instrucciones


SQL, en nuestro caso, borraremos la sentencia que aparece y escribiremos la siguiente sentencia
para insertar un dato en nuestra tabla:

INSERT INTO `partes`(`No_pto`, `Parte`, `Color`, `Estado`, `Precio`) VALUES (‘P1’, ‘Tuerca’, ‘Rojo’,
12, 1.50)

Al escribir la sentencia presionaremos el botón Continuar, si la sentencia no contiene ningún error


aparecerá de la siguiente forma:

Ahora revisaremos si el dato quedó insertado, para ello, daremos clic al enlace que aparece arriba
de la sentencia llamada Mostrar ventana de consultas SQL, nos regresará a la ventana donde
ahora escribiremos la siguiente consulta:

SELECT * FROM `partes`

Al escribir la sentencia SQL presionaremos el botón


Continuar, y nos mostrará el dato insertado:

Una vez verificado, termina de agregar los datos que faltan usando sentencias SQL y reportarás la
práctica como te lo solicite tu profesor.

51
SUBMÓDULO 2
Formación para el Trabajo - Quinto Semestre

ACTIVIDAD 2
Instrucciones.- Crear la base de datos Automotriz y agregar la tabla Proveedores, usando sentencias
SQL inserta los datos que aparecen en la siguiente tabla:
S# Nom Estado Ciudad
S1 Salazar 20 Londres
S2 Jaramillo 10 París
S3 Bernal 30 París
Una vez terminado, reporta la práctica a tu profesor de acuerdo con las indicaciones que te solicite.
ACTIVIDAD 3
Crear la base de datos Automotriz con las dos tablas de las actividades anteriores y
agregar la siguiente tabla:

Tabla: partes_suministradas

S# No_pto Cant
S1 P1 300
S1 P2 200
S1 P3 400
S1 P4 300
S2 P2 300
S2 P2 350
S3 P2 200
A continuación, se presentan una serie de ejercicios las cuales representan consultas y su
respectiva solución usando sentencias SQL, la actividad consiste primero en elaborar la base de
datos Automotriz con las dos tablas anteriores, elaborar las consultas que en ella aparecen, la
practica la reportaras de acuerdo con las instrucciones de tu profesor.

1. Encontrar el nombre de la ciudad del proveedor S1.


Select ciudad from Proveedor where S#=”S1”.
2. Encontrar el número y estado de los proveedores cuya ciudad es París.
Select s#, estado from Proveedor where ciudad=”París”.
3. Cuál es el nombre del proveedor que surte la parte con mayor cantidad.
Select nombre from Proveedor where s#=(Select s# from Partes_suministradas where cant=
(Select max(cant) from Partes_suministradas.
4. Encontrar el promedio de la cantidad suministrada por cada proveedor.
Select avg(cantidad) from Partes_suministradas group by s#
5. Encuentrar el color de la parte 2.
Select color from partes where no_pto= 2
6. Quién es el proveedor cuya ciudad es Londres.
Select s#, nombre from proveedores where ciudad=’Londres’
7. Cuántas partes son de color rojo.
Select count(color) from partes where color= ‘rojo’

52
Elabora interfaces de usuario con conexión a bases de datos
PROGRAMACIÓN EN JAVA

8. Encontrar la suma de todos los precios de los artículos, el precio máximo, el mínimo y el
promedio de precios.
Select sum(precio) as suma,max(precio) as maximo, min(precio) as minimo, avg(precio) as
promedio from partes.
9. Encuentra las partes donde el color sea rojo y el precio > 1.
Select * from partes where (color=’rojo’) and (precio>1)
10. Lista a las partes suministradas con una cantidad mayor a 200.
Select * from partes_suministradas where cantidad > 200

ACTIVIDAD 4

Usando las tablas de la base de datos que se anexan, realiza las sentencias de
SQL, necesarias para resolver cada caso, esta práctica puede ser dividida en dos
de acuerdo con las necesidades de la clase, reportar la práctica de acuerdo con las
instrucciones del docente.

Nombre de la Base de Datos: Empresa, contendrá las tablas: Productos

Clave-prod Descripción Precio-prod Linea


1587 Motherboard Pentium IV $450.00 01
2020 Impresora Laser HP 175.99 01
2145 Impresora Deskjet 150.00 01
9052 Monitor Svga 99.99 01
9147 Mouse 15.99 01
9268 Windows xp Software 53.21 08
9978 Software Creative 55.89 08
9987 Aplique SQL (libro) 28.89 05
9989 Microsoft (Libro) 25.89 05
9997 Microsoft Publisher 97.89 08
9998 Cable coaxial 25.20 02

Lineas Clientes
Cve-linea Descrip-linea Nocte Nombre Dir Tel Estado
01 Equipo 1000 Javier Barragán Otay 23-64-72 A
02 Cables 1001 Enrique Ramírez Hipódromo 82-25-36 A
05 Librería 1002 Camila Ortega La Mesa 85-56-98 B
08 Software 1003 Martha Ruiz Otay 89-78-48 A
1004 Jorge Gutiérrez Playas 56-85-79 A

53
SUBMÓDULO 2
Formación para el Trabajo - Quinto Semestre

Art-fact Facturas

No-fact No-pto Cantidad No-fact No-cte Fecha

100 1587 160 100 1001 03/12/06


101 9978 100 101 1003 03/06/07
102 2020 150 101 1004 25/10/06
102 9147 1000 102 1002 03/01/06
103 1587 2500 102 1003 24/11/06
104 2145 1200 103 1001 14/06/06
105 9147 1400 104 1002 25/10/06
106 2020 1500 105 1003 03/01/06
107 2020 2000 106 1002 24/11/06
107 9052 2500 106 1003 14/06/06
108 1587 3000 107 1001 25/10/06
109 9997 1000 107 1002 03/01/06
109 9268 5000 108 1004 24/11/06
110 9978 2000 109 1003 25/10/06
110 9052 3000 110 1002 03/01/06
111 9989 5000 111 1003 24/11/06
111 9147 2000 112 1004 14/06/06
112 9998 9000

Instrucciones.- Elabora las siguientes sentencias en SQL y reporta de acuerdo a las instrucciones
del docente, puedes basarte en la actividad anterior para desarrollarla.

1. Encuentra el total acumulado de precio de productos de la línea Software


2. Despliega los datos de la factura en la cual se le haya facturado al cliente Camila Ortega.
3. Despliega los precios de los productos de la línea software.
4. Encuentra el nombre de los artículos facturados en la factura 107.
5. Despliega la cantidad de facturas emitidas al cliente Enrique Ramírez.
6. Borra aquellos clientes en donde el estado sea B
7. Encuentra el promedio de precios de los productos de la línea equipo.
8. Despliega la clave y descripción de los productos cuyo precio esta entre 50 y 100.00
9. Despliega el número de factura, el nombre del cliente, de la factura emitida el 03/06/06.
10. Borra a aquellos artículos de la línea cables.
11. Lista en un reporte los datos de los clientes cuyo estado sea A.
12. Despliega el no de producto y los totales facturados por producto.
13. Encuentra los datos de las facturas que se hayan realizado al cliente Martha Ruiz.
14. Despliega el promedio de cantidades de productos facturados por producto.
15. Despliega el total de cantidad facturado del producto mouse.

54
Elabora interfaces de usuario con conexión a bases de datos
PROGRAMACIÓN EN JAVA

Referencias electrónicas:

PHP: MySQL y acceso a una base de datos. Extraído el 14 de enero de 2019, de:
http://idesweb.es/proyecto/proyecto-prac10-php-mysql-acceso-base-de-datos

PHP y MySQl. Extraído el 14 de enero de 2019, de: https://postparaprogramadores.com/libro-php-


mysql/

55
Formación para el Trabajo - Quinto Semestre

MIS NOTAS:

56
Elabora interfaces de usuario con conexión a bases de datos