Manual de Aprendizaje CECyTE M4S1 P2
Manual de Aprendizaje CECyTE M4S1 P2
GRADO: QUINTO
Clase
MÓDULO PROFESIONAL:
MÓDULO 4: DESARROLLA
SOFTWARE DE APLICACIÓN WEB
CON ALMACENAMIENTO
PERSISTENTE DE DATOS.
SEMESTRE A
SUBMÓDULO II: CONSTRUYE BASES AGOSTO 2021 – ENERO 2022
DE DATOS PARA APLICACIONES
WEB.
ELABORADO POR:
ACADEMIA DE PROGRAMACIÓN
FECHA DE ELABORACIÓN: 1
06/09/2021
ÍNDICE
Contenido
Página
BIENVENIDA.................................................................................................................................3
PRESENTACIÓN DE LA ASIGNATURA....................................................................................4
PROPÓSITO DE LA ASIGNATURA.............................................................................................5
COMPETENCIAS A DESARROLLAR.........................................................................................5
EXPLICACIÓN DE LA METODOLOGÍA:...................................................................................6
CRITERIOS DE EVALUACIÓN:...................................................................................................6
CRONOGRAMA ENTREGA DE PRODUCTOS..........................................................................7
FUENTES DE CONSULTA............................................................................................................8
SEGUNDO PARCIAL.....................................................................................................................9
ETAPA DE INICIO..................................................................................................................9
Evaluación diagnóstica...................................................................................................................11
ETAPA DE DESARROLLO..................................................................................................12
Relaciones uno a uno.............................................................................................................14
Relaciones uno a muchos......................................................................................................14
Relaciones muchos a muchos................................................................................................15
¿Es obligatorio o no?.............................................................................................................15
Relaciones recursivas............................................................................................................16
Relaciones redundantes........................................................................................................16
Actividad 1..............................................................................................................................16
La primera forma normal....................................................................................................16
La segunda forma normal....................................................................................................17
La tercera forma normal......................................................................................................17
Actividad 2.....................................................................................................................................18
Actividad 3.....................................................................................................................................19
Actividad 4.....................................................................................................................................20
ETAPA DE CIERRE..............................................................................................................22
2
Actividad 5.....................................................................................................................................22
BIENVENIDA
Las y los facilitadores que integran la Academia de Programación realizaron esta guía
con el fin de que este documento te ayude a desarrollar tus conocimientos en este
semestre en la asignatura del Módulo IV, Submódulo 1: Construye bases de datos para
aplicaciones Web.
En el contexto actual, en el que la preocupación por la pandemia del Covid-19 es
preponderante, la cual ha obligado a todos, las y los integrantes de la comunidad
escolar a pensar y reinventar estrategias de enseñanza que al mismo tiempo que
permiten el aprendizaje a distancia, también fomenten el trabajo autónomo y tu
disposición al aprendizaje.
El presente cuadernillo surge de esta preocupación e inquietud por integrar lo mejor de
la educación a distancia con tu trabajo autónomo en el Modelo Híbrido.
Así pues, deseamos que este Manual de prendizaje sea significativo para tu
aprendizaje durante este semestre.
Bienvenido.
3
PRESENTACIÓN DE LA ASIGNATURA
Esta asignatura te brinda una introducción a la mteria modular Construye bases de datos
para aplicaciones Web, para que con la ayuda de algún lenguaje de programación puedas
aplicaciones y guardar la información en una base de datos, en la que al ser una aplicación
o App puedas accesar desde cualquier dispositivo guardar datos de forma persistente.
Conocerás los tipos de bases de datos, cómo se estructuran, generan y el sinfín de
aplicaciones.
Las bases de datos son el método preferido para el almacenamiento estructurado de datos.
Desde las grandes aplicaciones multiusuario, hasta los teléfonos móviles y las agendas
electrónicas utilizan tecnología de bases de datos para asegurar la integridad de los datos y
facilitar la labor tanto de usuarios como de los programadores que las desarrollaron.
Desde la realización del primer modelo de datos, pasando por la administración del sistema
gestor, hasta llegar al desarrollo de la aplicación, los conceptos y la tecnología asociados
son muchos y muy heterogéneos. Sin embargo, es imprescindible conocer los aspectos
clave de cada uno de estos temas para tener éxito en cualquier proyecto que implique
trabajar con bases de datos.
En este curso trataremos de dar una visión completa de los conceptos relacionados con los
sistemas gestores de bases de datos, veremos los aspectos involucrados en los motores de
estos almacenes de datos, su evolución histórica y los distintos tipos de organización y
abstracción que han ido surgiendo desde su conceptualización hasta nuestros días.
Trateremos modelo llamado relacional (el más usado en nuestros días), proporcionando los
métodos y herramientas que nos permitan representar necesidades de almacenamiento y
consulta de datos en este modelo.
También estudiaremos el lenguaje de consultas estructurado SQL, imprescindible para
trabajar con bases de datos relacionales, ya sea directamente o a través de cualquier
lenguaje de programación.
Veremos el diseño de bases de datos, modelar y representar gráficamente una base de
datos, a detectar los posibles problemas de diseño antes de que éstos afecten a la
aplicación, y a construir bases de datos óptimas para los distintos casos de relaciones entre
entidades que formarán la base de datos. Una vez sentadas estas bases, estaremos en
disposición de examinar detenidamente dos de los sistemas gestores de bases de datos de
software libre más usados y populares actualmente. Así pues, aprenderemos el uso,
administración y particularidades de MySQL y PostgreSQL mediante ejemplos y casos
prácticos.
4
PROPÓSITO DE LA ASIGNATURA
Al finalizar el módulo el estudiante serás capaz de:
• Desarrollar software de aplicación web con almacenamiento persistente de datos
• Construir Bases de Datos para Aplicaciones Web
• Desarrollar aplicaciones Web en un lenguaje de programación con conexión a bases de
datos
En informática se conoce como dato a cualquier elemento informativo que tenga relevancia
para un usuario. Desde su nacimiento, la informática se ha encargado de proporcionar
herramientas que faciliten la manipulación de los datos. Antes de la aparición de las
aplicaciones informáticas, las empresas tenían como únicas herramientas de gestión de
datos los ficheros con cajones, carpetas y fichas de cartón. En este proceso manual, el
tiempo requerido para manipular estos datos era enorme. Pero la propia informática ha
adaptado sus herramientas para que los elementos que el usuario utiliza en cuanto a manejo
de datos se parezcan a los manuales. Por eso se sigue hablado de ficheros, formularios,
carpetas, directorios, etc.
La clientela fundamental del profesional informático es la empresa. La empresa se puede
entender como un sistema de información formado por diversos objetos: el capital, los
recursos humanos, los inmuebles, los servicios que presta, etc.
La presente materia tiene como propósito el que las y los aprendientes conozcan, generen y
den mantenimiento a una base de datos, sean el medio de almacenamiento de aplicaciones
web.
COMPETENCIAS A DESARROLLAR
Competencias 5.6 Utiliza las tecnologías de la información y comunicación para procesar
genéricas e interpretar información.
C1 Identifica, ordena e interpreta las ideas, datos y conceptos explícitos e
Competencias
implícitos en un texto, considerando el contexto en el que se generó y en el
disciplinares
que se recibe.
Competencias
Implementa el diseño conceptual y lógico de la base de datos.
profesionales
5
EXPLICACIÓN DE LA METODOLOGÍA:
(presencial, distancia y trabajo autónomo; si cuentan con conectividad constante, parcial o sin
conectividad y lo que se espera que el aprendiente realice). Recomendaciones claves para el
estudio independiente (trabajo autónomo).
Se trabajará de forma híbrida, por lo que dado que la materia implica seis horas semanales, las
horas presenciales serán dos horas a la semana, tres horas en clase a distancia y otras tres horas
será de trabajo autónomo (realización de tareas, investigación, proyecto, etc., según sea el caso).
CRITERIOS DE EVALUACIÓN:
CRITERIOS PONDERACIÓN
Productos 80%
Proyecto interdisciplinar N/A
Mod. Emprendimiento 10%
Tutoría-OE 10%
6
CRONOGRAMA ENTREGA DE PRODUCTOS
PONDERACIÓN DE
TEMA PRODUCTO(S) INSTRUMENTO FECHA DE ENTREGA
EVALUACIÓN
7
FUENTES DE CONSULTA.
PRIMARIAS:
Camps, R. España, Introducción a las bases de datos, Universitat Oberta de Catalunya,
2015, 460 pp.
Gómez, C. México, Notas del curso Bases de datos, Universidad Autónoma
Metropolitana, 2013, 201 pp.
Ricardo, C. México, Bases de datos, Mc Graw Hill, 2009, 669 pp.
Mora, A., España, Bases de datos Diseño y gestión, Ed. Síntesis, 2014, 20 pp.
Silberschatz, A. España, Fundamentos de bases de datos, McGraw-Hill
SECUNDARIAS:
Itaca, Centro Cultural, Bases de datos, Centro Cultural Itaca, México, 2016, 36 pp.
Gómez, E., Apuntes de Base de datos 1, España, 2007, 180 pp.
Marques, M., Bases de datos, Universitat Jaume I, España, 2011, 175 pp.
TERCIARIAS:
https://www.youtube.com/watch?
v=A_Tf3XaG0ko&list=PLfwrCFGBtLqjsV_uJuAKhfzr0Rod5h20u, Curso de Base de
datos, revisado el 06/09/2021
Vélez de Guevara, L. México, Gestión de Bases de Datos, UNAM, 2015, 278 pp.
8
SEGUNDO PARCIAL
CONTENIDO
Identifica los elementos de una base de datos.
CENTRAL:
ETAPA DE INICIO
Contenido específico
Tema : Diseñando una base de datos
Introducción
Una base de datos bien estructurada:
Para diseñar una base de datos útil y eficiente se requiere seguir el proceso adecuado, incluidas las siguientes
etapas:
Realicemos un análisis detallado de cada paso. Ten en cuenta que esta guía se centra en el modelo de base de
datos relacional de Edgar Codd escrito en SQL (en lugar de modelos jerárquicos, de red o de datos de objetos).
Para saber más sobre los modelos de base de datos, lee nuestra guía aquí.
Aquí te mostramos algunas formas de reunir información antes de crear la base de datos:
9
Analizar formularios de negocio, como facturas, plantillas de horas trabajadas, encuestas.
Examinar cualquier sistema de datos existente (incluidos archivos físicos y digitales).
Comienza reuniendo cualquier dato existente que se incluirá en la base de datos. Luego enumera los
tipos de datos que quieres almacenar y las entidades o personas, cosas, ubicaciones y eventos que
esos datos describen, del siguiente modo:
Clientes
Nombre
Dirección
Ciudad, estado, código postal
Dirección de correo electrónico
Productos
Nombre
Precio
Cantidad en stock
Cantidad en el pedido
Pedidos
Más adelante, esta información se volverá parte del directorio de datos, que describe las tablas y los campos
dentro de la base de datos. Asegúrate de dividir la información en partes útiles lo más pequeñas posibles. Por
ejemplo, considera separar el nombre de la calle del país para poder filtrar más adelante a los individuos según
su país de residencia. Además, evita ubicar el mismo punto de datos en más de una tabla porque agregarás
una complejidad innecesaria.
Cuando sepas qué tipos de datos incluirán las bases de datos, de dónde provienen esos datos y cómo se
usarán, estarás listo para comenzar a planificar la base de datos real.
Dentro de una base de datos, los datos relacionados se agrupan en tablas, cada una de ellas consiste en filas
(también llamadas "tuplas") y columnas, como una hoja de cálculo.
10
Para convertir tus listas de datos en tablas, comienza creando una tabla para cada tipo de entidad, como
productos, ventas, clientes y pedidos. Mostramos un ejemplo a continuación:
Cada fila de una tabla se llama "registro". Los registros incluyen datos sobre algo o alguien, como un cliente
específico. En cambio, las columnas (también conocidas como "campos" o "atributos") contienen un único tipo de
información que aparece en cada registro, como las direcciones de todos los clientes enumerados en la tabla.
Con el fin de que los datos sean consistentes de un registro al siguiente, asigna el tipo de datos apropiado a cada
columna. Los tipos de datos comunes incluyen:
Algunos sistemas de gestión de bases de datos también ofrecen el tipo de datos denominado "Autonumeración",
que genera automáticamente un número único en cada fila.
A los efectos de crear una visión general de la base de datos, conocida como un diagrama entidad-relación, no
incluiremos las tablas reales, sino que cada tabla se convertirá en un recuadro del diagrama. El título de cada
recuadro debería indicar qué describen los datos en la tabla, mientras que los atributos están enumerados a
continuación, del siguiente modo:
Por último, deberías decidir qué atributo o atributos funcionarán como clave primaria para cada tabla, si procede.
11
Una clave primaria (PK) es un identificador único para una entidad determinada, esto significa que puedes
seleccionar un cliente concreto incluso si solo conoces ese valor.
Los atributos seleccionados como claves primarias deben ser únicos, inalterables y estar siempre presentes (nunca
NULL o vacíos). Por este motivo, los números de pedido y los nombres de usuario son excelentes claves primarias,
mientras que los números de teléfono o direcciones postales no lo son. También puedes usar múltiples campos
conjuntamente como la clave primaria (esto se denomina "clave compuesta").
Cuando llegue el momento de crear la base de datos real, ubicarás la estructura de datos lógicos y la estructura de
datos físicos en el lenguaje de definición de datos admitido por nuestro sistema de gestión de base de datos. En
este punto, también deberías calcular el tamaño aproximado de la base de datos para asegurarte de tener el nivel
de rendimiento y el espacio de almacenamiento necesarios.
Cuando tus tablas de base de datos se conviertan en tablas, estarás listo para analizar las relaciones entre esas
tablas. La cardinalidad se refiere a la cantidad de elementos que interactúan entre dos tablas relacionadas.
Identificar la cardinalidad te ayuda a asegurarte de que has dividido los datos en tablas de la forma más eficiente.
Cada entidad puede, potencialmente, tener una relación con todas las demás, pero por lo general esas relaciones
pueden ser de uno de tres tipos:
A menos que tengas un buen motivo para no hacerlo, una relación 1:1 generalmente indica que la
mejor opción sería combinar los datos de las dos tablas en una sola tabla.
Sin embargo, quizás desees crear tablas con una relación de uno a uno en una serie particular de
circunstancias. Si tienes un campo con datos opcionales, como "descripción", que está en blanco para
muchos registros, puedes mover todas las descripciones a su propia tabla, eliminando espacio vacío y
mejorando el rendimiento de la base de datos.
Para garantizar que los datos coincidan correctamente, luego tendrías que incluir al menos una
columna idéntica en cada tabla, lo más probable es que sea la clave primaria.
12
Estas relaciones suceden cuando un registro de una tabla está asociado a múltiples entradas en otra
tabla. Por ejemplo, un solo cliente puede haber solicitado múltiples pedidos o una persona haberse
llevado muchos libros de la biblioteca a la vez. Las relaciones uno a muchos (1:M) se indican con lo que
se denomina "notación patas de gallo" como en el siguiente ejemplo:
Para implementar una relación uno a muchos (1:M) mientras preparas una base de datos, simplemente
agrega la clave primaria de "un" lado de la relación como un atributo en la otra tabla. Cuando una clave
primaria se detalla en otra tabla de esta manera, se denomina "clave extranjera". La tabla en el lado
"1" de la relación es considerada una tabla principal respecto de la tabla secundaria que se encuentra
del otro lado.
Lamentablemente, no es posible implementar directamente este tipo de relación en una base de datos.
En cambio, debes dividirlo en dos relaciones uno a muchos.
Para ello, debes crear una nueva entidad entre esas dos tablas. Si la relación M:N existe entre ventas y
productos, quizás llames a esa nueva entidad "productos_vendidos", ya que mostraría los contenidos
de cada venta. Tanto las tablas de ventas como de productos tendrían una relación 1:M con
"productos_vendidos". Esta clase de entidad intermedia se llama "tabla de enlaces", "entidad
asociativa" o "tabla de unión" en diversos modelos.
Cada registro de la tabla de enlaces se correspondería con dos de las entidades de las tablas contiguas
(también puede incluir información adicional). Por ejemplo, una tabla de enlaces entre estudiantes y
clases podría verse así:
13
¿Es obligatorio o no?
Otra forma de analizar las relaciones es considerar qué lado de la relación debe existir para que el otro
lado exista. El lado no obligatorio puede marcarse con un círculo en la línea donde debería haber un
guión. Por ejemplo, un país tiene que existir para tener un representante en las Naciones Unidas, pero
lo opuesto no se cumple:
Dos entidades pueden ser mutuamente dependientes (una no podría existir sin la otra).
Relaciones recursivas
A veces una tabla se relaciona consigo misma. Por ejemplo, una tabla de empleados puede tener un
atributo que sea "director" y que se refiera a otro individuo de la misma tabla. Esto se llama "relación
recursiva".
Relaciones redundantes
Una relación redundante es aquella que se expresa más de una vez. Por lo general, puedes eliminar
una de las relaciones sin perder información importante. Por ejemplo, si la entidad "estudiantes" tiene
una relación directa con otra entidad llamada "profesores", pero también tiene una relación con
profesores indirectamente mediante "clases", querrás eliminar la relación entre "estudiantes" y
"profesores". Es mejor eliminar esa relación porque la única forma de que los estudiantes se asignan a
los profesores es mediante las clases.
Las bases de datos de procesamiento analítico en línea (OLAP) que favorecen el análisis y la generación de
informes funcionarían mejor con un grado de desnormalización, ya que el énfasis está en la velocidad de cálculo.
Estas incluyen aplicaciones de soporte de decisiones en las que los datos se deben analizar rápidamente, pero no
14
deben modificarse.
Se han propuesto formas adicionales de normalización, incluidas la forma normal de Boyce-Codd, la cuarta, quinta
y sexta forma normal, y la forma normal de dominio/clave, pero las primeras tres son las más comunes.
Si bien estas formas explican las buenas prácticas que se deben seguir generalmente, el grado de normalización
depende del contexto de la base de datos.
Objetivo
Desarrollo de competencias
Evaluación diagnóstica:
1. ¿Qué es un diagrama de base de datos?
2. Menciona la diferencia entre algoritmo y diagrama de flujo
3. Menciona 3 lenguajes de programación visual
15
4. Menciona 3 lenguajes de programación orientada a eventos
5. Menciona 3 manejadores de bases de datos
6. Menciona 3 tipos de bases de datos
7. ¿Qué es una base de datos relacional?
8. ¿Qué es la integridad referencial?
9. ¿Qué es un registro?
10. ¿Qué es un query?
SQL.- Por sus siglas en inglés significa Lenguaje de Consulta Estructurada (Structured Query Language), es un
lenguaje de programación diseñado para actualizar, obtener, y calcular información en bases de datos
relacionales.
Base de datos.- Una base de datos es un “almacén” que nos permite guardar grandes cantidades de
información de forma organizada para que luego podamos encontrar y utilizar fácilmente. A continuación te
presentamos una guía que te explicará el concepto y características de las bases de datos. El término de
bases de datos fue escuchado por primera vez en 1963, en un simposio celebrado en California, USA. Una
base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó
estructurada.
Desde el punto de vista informático, la base de datos es un sistema formado por un conjunto de datos
almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen
ese conjunto de datos.
Cada base de datos se compone de una o más tablas que guarda un conjunto de datos. Cada tabla tiene una
o más columnas y filas. Las columnas guardan una parte de la información sobre cada elemento que
queramos guardar en la tabla, cada fila de la tabla conforma un registro.
ETAPA DE DESARROLLO
Actividades de aprendizaje: (se pueden agregar las actividades necesarias que consideres necesarias)
1) Adquisición de información
16
2) Construcción de aprendizaje
3) Modelado
4) Interrogatorio metacognitivo
Dentro de una base de datos, los datos relacionados se agrupan en tablas, cada una de ellas consiste en filas
(también llamadas "tuplas") y columnas, como una hoja de cálculo.
Para convertir tus listas de datos en tablas, comienza creando una tabla para cada tipo de entidad, como
productos, ventas, clientes y pedidos. Te mostramos un ejemplo a continuación:
Cada fila de una tabla se llama "registro". Los registros incluyen datos sobre algo o alguien, como un cliente
específico. En cambio, las columnas (también conocidas como "campos" o "atributos") contienen un único
tipo de información que aparece en cada registro, como las direcciones de todos los clientes enumerados en
la tabla.
Con el fin de que los datos sean consistentes de un registro al siguiente, asigna el tipo de datos apropiado a
cada columna. Los tipos de datos comunes incluyen:
Algunos sistemas de gestión de bases de datos también ofrecen el tipo de datos denominado
"Autonumeración", que genera automáticamente un número único en cada fila.
A los efectos de crear una visión general de la base de datos, conocida como un diagrama entidad-relación,
no incluiremos las tablas reales, sino que cada tabla se convertirá en un recuadro del diagrama. El título de
cada recuadro debería indicar qué describen los datos en la tabla, mientras que los atributos están
17
enumerados a continuación, del siguiente modo:
Los atributos seleccionados como claves primarias deben ser únicos, inalterables y estar siempre presentes
(nunca NULL o vacíos). Por este motivo, los números de pedido y los nombres de usuario son excelentes
claves primarias, mientras que los números de teléfono o direcciones postales no lo son. También puedes
usar múltiples campos conjuntamente como la clave primaria (esto se denomina "clave compuesta").
Cuando llegue el momento de crear la base de datos real, ubicarás la estructura de datos lógicos y la
estructura de datos físicos en el lenguaje de definición de datos admitido por nuestro sistema de gestión de
base de datos. En este punto, también deberías calcular el tamaño aproximado de la base de datos para
asegurarte de tener el nivel de rendimiento y el espacio de almacenamiento necesarios.
Cada entidad puede, potencialmente, tener una relación con todas las demás, pero por lo general esas
relaciones pueden ser de uno de tres tipos:
A menos que tengas un buen motivo para no hacerlo, una relación 1:1 generalmente indica que la mejor
opción sería combinar los datos de las dos tablas en una sola tabla.
Sin embargo, quizás desees crear tablas con una relación de uno a uno en una serie particular de
18
circunstancias. Si tienes un campo con datos opcionales, como "descripción", que está en blanco para
muchos registros, puedes mover todas las descripciones a su propia tabla, eliminando espacio vacío y
mejorando el rendimiento de la base de datos.
Para garantizar que los datos coincidan correctamente, luego tendrías que incluir al menos una columna
idéntica en cada tabla, lo más probable es que sea la clave primaria.
Para implementar una relación uno a muchos (1:M) mientras preparas una base de datos, simplemente
agrega la clave primaria de "un" lado de la relación como un atributo en la otra tabla. Cuando una clave
primaria se detalla en otra tabla de esta manera, se denomina "clave extranjera". La tabla en el lado "1" de la
relación es considerada una tabla principal respecto de la tabla secundaria que se encuentra del otro lado.
Lamentablemente, no es posible implementar directamente este tipo de relación en una base de datos. En
cambio, debes dividirlo en dos relaciones uno a muchos.
Para ello, debes crear una nueva entidad entre esas dos tablas. Si la relación M:N existe entre ventas y
productos, quizás llames a esa nueva entidad "productos_vendidos", ya que mostraría los contenidos de cada
venta. Tanto las tablas de ventas como de productos tendrían una relación 1:M con "productos_vendidos".
Esta clase de entidad intermedia se llama "tabla de enlaces", "entidad asociativa" o "tabla de unión" en
diversos modelos.
Cada registro de la tabla de enlaces se correspondería con dos de las entidades de las tablas contiguas
19
(también puede incluir información adicional). Por ejemplo, una tabla de enlaces entre estudiantes y clases
podría verse así:
Dos entidades pueden ser mutuamente dependientes (una no podría existir sin la otra).
Relaciones recursivas
A veces una tabla se relaciona consigo misma. Por ejemplo, una tabla de empleados puede tener un atributo
que sea "director" y que se refiera a otro individuo de la misma tabla. Esto se llama "relación recursiva".
Relaciones redundantes
Una relación redundante es aquella que se expresa más de una vez. Por lo general, puedes eliminar una de
las relaciones sin perder información importante. Por ejemplo, si la entidad "estudiantes" tiene una relación
directa con otra entidad llamada "profesores", pero también tiene una relación con profesores
indirectamente mediante "clases", querrás eliminar la relación entre "estudiantes" y "profesores". Es mejor
eliminar esa relación porque la única forma de que los estudiantes se asignan a los profesores es mediante
las clases.
Actividad 1: Retoma el planteamiento del problema (pág. 16) y realiza la propuesta de la base de
datos. Al terminarla la subes a la Plataforma de Classroom.
20
Dicho esto, no todas las bases de datos son buenas candidatas para la normalización. Generalmente, las
bases de datos de procesamiento de transacciones en línea (OLTP), en las que los usuarios se encargan de la
creación, lectura, actualización y eliminación de los registros, deberían estar normalizadas.
Las bases de datos de procesamiento analítico en línea (OLAP) que favorecen el análisis y la generación de
informes funcionarían mejor con un grado de desnormalización, ya que el énfasis está en la velocidad de
cálculo. Estas incluyen aplicaciones de soporte de decisiones en las que los datos se deben analizar
rápidamente, pero no deben modificarse.
Cada forma, o nivel de normalización, incluye las reglas asociadas a las formas inferiores.
En cambio, divide los datos en múltiples tablas o registros hasta que cada celda contenga solo un valor y no
halla columnas adicionales. En este punto, se dice que los datos son "atómicos", es decir que se dividen en
partes útiles lo más pequeñas posibles. Para la tabla anterior, podrías crear una tabla adicional llamada
"Datos de ventas", que haría coincidir productos específicos con ventas. Así, "Ventas" tendría una relación
1:M con "Datos de ventas".
Por ejemplo, se considera que el atributo "edad" que depende de "fecha de nacimiento", que a su vez
depende de "ID de estudiante" tiene una dependencia funcional parcial; y una tabla que contenga estos
21
atributos no cumpliría con la segunda forma normal.
Además, una tabla con una clave primaria compuesta de múltiples campos viola la segunda forma normal si
uno o más de los otros campos no dependen de cada parte de la clave.
Por lo tanto, una tabla con los siguientes campos no respetaría la segunda forma normal porque el atributo
"Nombre del producto" depende del ID del producto, pero no del número de pedido:
Esto evita que almacenes cualquier dato derivado en la tabla, tal como la columna "Impuestos" a
continuación, que depende directamente del precio final del pedido:
Si bien estas formas explican las buenas prácticas que se deben seguir generalmente, el grado de
normalización depende del contexto de la base de datos.
Crear diagramas es rápido y sencillo con Lucidchart. Inicia una prueba gratuita hoy mismo para empezar a
crear y colaborar.
Actividad 2: Retoma la Actividad 1 y aplicale a la base de datos propuesta una normalización, para
lo cual escribirás todo el proceso del desarrollo de la misma. Al terminarla la subes a la Plataforma de
Classroom.
Datos multidimensionales
22
Algunos usuarios quizás deseen acceder a múltiples dimensiones de un único tipo de dato, especialmente en
las bases de datos OLAP. Por ejemplo, quizás deseen conocer las ventas por cliente, estado y mes. En esta
situación, lo mejor es crear una tabla de datos central que actúe de referencia para las otras tablas de cliente,
estado y mes, de este modo:
Propiedades extendidas
Una vez que hayas finalizado la disposición básica, puedes refinar la base de datos con propiedades
extendidas, como el texto instructivo, la máscara de entrada y las reglas de formato que se aplican a un
esquema, visualización o columna determinada. La ventaja es que, como estas reglas están almacenadas en
la misma base de datos, la presentación de los datos será consistente en todos los programas que accedan a
los mismos.
SQL y UML
23
El lenguaje unificado de modelado (UML) es otra forma visual de expresar sistemas complejos creados en un
lenguaje orientado a objetos. Muchos de los conceptos mencionados en esta guía se conocen en UML con
distintos nombres. Por ejemplo, una entidad se llama "clase" en UML.
Hoy en día no se usa el UML con tanta frecuencia como antes. En la actualidad, se emplea en entornos
académicos y en las comunicaciones entre diseñadores de software y sus clientes.
RECURSOS: Computadora.
PRODUCTO: Diagrama de base de datos normalizada.
DURACIÓN: 4 sesiones de 50 minutos c/u.
INTERROGATORIO METACOGNITIVO:
Duración 60 minutos.
24
Lista de cotejo para ponderación de actividades
Facilitador: Rodrigo Castillo Ruiz Materia: M4S1
Nombre del(a) aprendiente:__________________________________ Grupo: PROG 5 “A”
Fecha:_______
Nombre del producto a evaluar: Actividad 1 “Infografía del tema Bases de datos”
Si No
No. Criterio de evaluación
(1) (0)
1.- Entregó en tiempo y forma (plataforma)
El trabajo entregado cumple con los elementos para ser una
2.-
infografía
La infografía cumple con las dimensiones de almenos tamaño doble
3.-
carta
4.- El trabajo contiene información de los tipos de bases de datos
5.- El trabajo contiene información sobre el modelo entidad relación
6.- La infografía contiene información sobre al menos 3 modelos de DB
La infografía contiene información sobre las ventajas del sistema de
7.-
DB relacional
La infografía contiene información sobre las desventajas del sistema
8.-
de DB relacional
9.- No tuvo faltas de ortografía
10.- No es la copia de un trabajo entregado por algún compañer@
Puntaje Total:
Lista de cotejo para ponderación de actividades
Facilitador: Rodrigo Castillo Ruiz Materia: M2S2
Nombre del(a) aprendiente:_________________________________ Grupo: PROG 4 “A”
Fecha:_______
Nombre del producto a evaluar: Práctica 1 “Estructura de una base de datos”
Si No
No. Criterio de evaluación
(1) (0)
1.- Entregó en tiempo y forma (plataforma)
El trabajo entregado contiene lo mínimo para ser considerad una
2.-
base de datos
3.- La DB contiene al menos 5 campos
4.- Las tablas cumplen con la integridad referencial
Los campos están bien definidos, no tienen duplicidad de
5.-
información
6.- La DB contiene al menos 2 tablas
La DB contiene al menos 1 llave en las tablas es congruente y
7.-
pertienente
Los campos almacenan valores acorde al tipo de información de la
8.-
DB
9.- No contiene errores ortográficos
10.- El trabajo entregado no es copia de algún colega
25
Puntaje Total:
Lista de cotejo para ponderación de actividades
Facilitador: Rodrigo Castillo Ruiz Materia: M2S2
Nombre del(a) aprendiente:___________________________________ Grupo: PROG 4 “A”
Fecha:_______
Nombre del producto a evaluar: Actividad 3 “Mapa mental con el tema Entidad/Relación”
Si No
No. Criterio de evaluación
(1) (0)
1.- Entregó en tiempo y forma (plataforma)
El mapa mental, contiene todos los elementos para ser un mapa
2.-
mental
3.- Contiene dibujos principalmente
4.- Los brazos conectores no son líneas reactas
5.- Usa variedad de colores
6.- Se hace mención en almenos 5 áreas de uso
Menciona el nombre y muestra la figura de al menos 10 elementos
7.-
que se usan en un diagrama Entidad-Relación
8.- Se hace mención de almenos 3 estilos de notación, dando ejemplos
9.- Se explican los tres niveles de detalle en un modelo ER
10.- No contiene errores ortográficos
Puntaje Total:
ETAPA DE CIERRE
Recuperación de aprendizajes (estrategia)
Actividad 4
Contesta el siguiente cuestionario:
1. Es una cosa u objeto del mundo real, también puede ser un concepto abstracto y es distinguible de
todos los demás objetos. tiene un conjunto de propiedades o atributos que la caracterizan.
a) ATRIBUTO b) ENTIDAD c) RELACION c) NINGUNA
2. Son las características o propiedades de una entidad.
a) ATRIBUTO b) ENTIDAD c) RELACION c) NINGUNA
3. El elemento Edad dentro de las bases de datos es:
a) ATRIBUTO b) ENTIDAD c) VALOR
4. El elemento Matricula dentro de las bases de datos es:
26
a) ATRIBUTO b) ENTIDAD c) VALOR
5. Identificar la cardinalidad del enunciado: Un cliente puede poseer diferentes cuentas de correo,
pero cada cuenta de correo pertenece a un cliente específico.
a) Uno a Uno b) Uno a Muchos c) Muchos a Muchos
6. Identificar la cardinalidad del enunciado: Un paciente puede ser atendido por un solo médico
cuando va consulta, y a su vez un médico atiende uno o más pacientes.
a) Uno a Uno b) Uno a Muchos c) Muchos a Muchos
7. Identificar la cardinalidad del enunciado: Un actor de cine ha trabajado en una o más películas a lo
largo de su carrera y en cada película han trabajado un reparto de actores.
a) Uno a Uno b) Uno a Muchos c) Muchos a Muchos
8. Identificar la cardinalidad del enunciado: Una persona tiene una sola nacionalidad pero la misma
nacionalidad la pueden compartir varias personas.
a) Uno a Uno b) Uno a Muchos c) Muchos a Muchos
9. Identificar la cardinalidad del enunciado: En un concurso de arte, cada artista participante ha
creado una obra y a su vez cada obra ha sido creada por un solo artista.
a) Uno a Uno b) Uno a Muchos c) Muchos a Muchos
10. ¿Que es el modelo relacional?
a) Es el que se compone de un conjunto de una o mas tablas que se estructura en registros y
campos que se relacionan entre si.
b) Es el que se compone de un conjunto de una o mas tablas que se estructura
c) Es el que se compone de un conjunto de una o mas tablas que se estructura con muchos
d) Es el que se compone de un conjunto que se relaciona con cualquiera
Dudas de los aprendientes (estrategia)
Las dudas que vayan surgiendo, la o el aprendiente las podrá resolver durante las clases (Autónoma o a Presencial, según sea el
caso), o bien a través de la plataforma de WhatsApp con el Facilitador.
PLAN DE EVALUACIÓN:
INSTRUMENTO DE
PRODUCTO PONDERACIÓN
EVALUACIÓN
Evaluación diagnóstica 1er
Lista de cotejo 0% (No ponderable)
parcial
Propuesta de Bases de datos Lista de cotejo 20%
Diagrama de Bases de datos Lista de cotejo 20%
Normalización de Bases de datos Lista de cotejo 20%
Cuestionario contestado Lista de cotejo 10%
Cuestionario contestado Lista de cotejo 10%
27