0% encontró este documento útil (0 votos)
4 vistas50 páginas

Fundamentos y tipos de bases de datos

Cargado por

urielmotac
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas50 páginas

Fundamentos y tipos de bases de datos

Cargado por

urielmotac
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

1 Fundamentos de bases de datos

1.1 Introducción a las bases de datos


Una base de datos es una recopilación organizada de
información o datos estructurados, que normalmente se
almacena de forma electrónica en un sistema informático.
Normalmente, una base de datos está controlada por un sistema
de gestión de bases de datos (DBMS). En conjunto, los datos y
el DBMS, junto con las aplicaciones asociadas a ellos,
reciben el nombre de sistema de bases de datos, abreviado
normalmente a simplemente base de datos.
Los datos de los tipos más comunes de bases de datos en
funcionamiento actualmente se suelen utilizar como
estructuras de filas y columnas en una serie de tablas para
aumentar la eficacia del procesamiento y la consulta de
datos. Así, se puede acceder, gestionar, modificar,
actualizar, controlar y organizar fácilmente los datos. La
mayoría de las bases de datos utilizan un lenguaje de
consulta estructurada (SQL) para escribir y consultar datos.
¿Qué es el lenguaje de consulta estructurada (SQL)?
El SQL es un lenguaje de programación que utilizan casi todas
las bases de datos relacionales para consultar, manipular y
definir los datos, y para proporcionar control de acceso. El
SQL se desarrolló por primera vez en IBM en la década de 1970
con Oracle como uno de los principales contribuyentes, lo que
dio lugar a la implementación del estándar ANSI SQL. El SQL
ha propiciado muchas ampliaciones de empresas como IBM,
Oracle y Microsoft. Aunque el SQL se sigue utilizando mucho
hoy en día, están empezando a aparecer nuevos lenguajes de
programación.
Tipos de bases de datos
Existen muchos tipos diferentes de bases de datos. La mejor
base de datos para una organización específica depende de
cómo pretenda la organización utilizar los datos.

Bases de datos relacionales


Las bases de datos relacionales se hicieron predominantes en
la década de 1980. Los elementos de una base de datos
relacional se organizan como un conjunto de tablas con
columnas y filas. La tecnología de bases de datos
relacionales proporciona la forma más eficiente y flexible de
acceder a información estructurada.
Bases de datos orientadas a objetos
La información de una base de datos orientada a objetos se
representa en forma de objetos, como en la programación
orientada a objetos.
Bases de datos distribuidas
Una base de datos distribuida consta de dos o más archivos
que se encuentran en sitios diferentes. La base de datos
puede almacenarse en varios ordenadores, ubicarse en la misma
ubicación física o repartirse en diferentes redes.
Almacenes de datos
Un repositorio central de datos, un data warehouse es un tipo
de base de datos diseñado específicamente para consultas y
análisis rápidos.
Bases de datos NoSQL
Una base de datos NoSQL, o base de datos no relacional,
permite almacenar y manipular datos no estructurados y
semiestructurados (a diferencia de una base de datos
relacional, que define cómo se deben componer todos los datos
insertados en la base de datos). Las bases de datos NoSQL se
hicieron populares a medida que las aplicaciones web se
volvían más comunes y complejas.
Bases de datos orientadas a grafos
Una base de datos orientada a grafos almacena datos
relacionados con entidades y las relaciones entre entidades.
Bases de datos OLTP. Una base de datos OLTP es una base de
datos rápida y analítica diseñada para que muchos usuarios
realicen un gran número de transacciones.
Estas son solo algunas de las varias docenas de tipos de
bases de datos que se utilizan hoy en día. Otras bases de
datos menos comunes se adaptan a funciones científicas,
financieras o de otro tipo muy específicas. Además de los
diferentes tipos de bases de datos, los cambios en los
enfoques de desarrollo tecnológico y los avances
considerables, como la nube y la automatización, están
impulsando a las bases de datos en direcciones completamente
nuevas. Algunas de las bases de datos más recientes incluyen

Bases de datos de código abierto


Un sistema de base de datos de código abierto es aquel cuyo
código fuente es de código abierto; tales bases de datos
pueden ser bases de datos SQL o NoSQL.
Bases de datos en la nube
Una base de datos en la nube es una recopilación de datos,
estructurados o no estructurados, que reside en una
plataforma de cloud computing privada, pública o híbrida.
Existen dos tipos de modelos de bases de datos en la nube: el
modelo tradicional y el de base de datos como servicios
(database as a service, DBaaS). Con DBaaS, un proveedor de
servicios realiza las tareas administrativas y el
mantenimiento.
Base de datos multimodelo
Las bases de datos multimodelo combinan distintos tipos de
modelos de bases de datos en un único servidor integrado.
Esto significa que pueden incorporar diferentes tipos de
datos.
Bases de datos de documentos/JSON
Diseñadas para almacenar, recuperar y gestionar información
orientada a los documentos, las bases de datos de documentos
son una forma moderna de almacenar los datos en formato JSON
en lugar de hacerlo en filas y columnas.
Bases de datos de autogestión
El tipo de base de datos más nuevo e innovador, las bases de
datos de autogestión (también conocidas como bases de datos
autónomas) están basadas en la nube y utilizan el machine
learning para automatizar el ajuste de la base de datos, la
seguridad, las copias de seguridad, las actualizaciones y
otras tareas de gestión rutinarias que tradicionalmente
realizan los administradores de bases de datos.
base de datos vectorial
Una base de datos vectorial almacena, administra e indexa
datos vectoriales de alta dimensión. Los puntos de datos se
almacenan como matrices de números denominadas “vectores”,
que se agrupan en función de su similitud. Este diseño
permite realizar consultas de baja latencia, lo que lo hace
ideal para aplicaciones de IA.

¿Qué es un software de base de datos?


El software de base de datos se utiliza para crear, editar y
mantener archivos y registros de bases de datos, lo que
facilita la creación de archivos y registros, la entrada de
datos, la edición de datos, la actualización y la creación de
informes. El software también maneja el almacenamiento de
datos, las copias de seguridad y la creación de informes, así
como el control de acceso múltiple y la seguridad. La
seguridad sólida de las bases de datos es especialmente
importante hoy en día, ya que el robo de datos es cada vez
más frecuente. En ocasiones, el software de base de datos
también se denomina "sistema de gestión de bases de datos"
(DBMS).
El software de base de datos simplifica la gestión de datos,
ya que permite a los usuarios almacenar datos de forma
estructurada y acceder posteriormente a ellos. Por lo
general, tiene una interfaz gráfica que ayuda a crear y
administrar los datos y, en algunos casos, los usuarios
pueden construir sus propias bases de datos mediante el uso
de software de base de datos.
¿Qué es un sistema de gestión de bases de datos (DBMS)?
Normalmente, una base de datos requiere un programa de
software de bases de datos completo, conocido como sistema de
gestión de bases de datos (DBMS). Un DBMS sirve como interfaz
entre la base de datos y sus programas o usuarios finales, lo
que permite a los usuarios recuperar, actualizar y gestionar
cómo se organiza y se optimiza la información. Un DBMS
también facilita la supervisión y el control de las bases de
datos, lo que permite una variedad de operaciones
administrativas como la supervisión del rendimiento, el
ajuste, la copia de seguridad y la recuperación.

Algunos ejemplos de software de bases de datos o DBMS


populares incluyen MySQL, Microsoft Access, Microsoft SQL
Server, FileMaker Pro, Oracle Database y dBASE.
1.1.1 Definir los conceptos de:
Dato
En una base de datos, los datos son los valores que se
almacenan y organizan para facilitar su gestión y
recuperación. Estos datos pueden adoptar diversas formas,
como números, textos, fechas y valores booleanos, y se
estructuran en tablas dentro de una base de datos relacional.
Información
se refiere a los datos que han sido procesados y comunicados
de tal manera que pueden ser entendidos e interpretados por
el receptor.
Archivo
es una estructura que almacena y organiza datos de manera
eficiente.
1.1.2 Describir el concepto y las características de las bases de
datos.
Una base de datos es una colección organizada de información
estructurada, o datos, típicamente almacenada
electrónicamente en un sistema de computadora. Usualmente una
base de datos es controlada por un sistema de gestión de base
de datos (DBMS). Los datos y el DBMS, junto con las
aplicaciones que están asociadas con ellos, son referidos
como un "sistema de base de datos", a menudo abreviado a solo
base de datos.
Las bases de datos SQL, también conocidas como bases de datos
relacionales, son un tipo de sistema de gestión de bases de
datos (DBMS) que se basa en el modelo relacional. Este modelo
organiza los datos en tablas con filas y columnas, y
establece relaciones entre estas tablas.

Las características principales de las bases de datos SQL:

Modelo relacional: Los datos se organizan en tablas con filas


(registros) y columnas (atributos), y se establecen
relaciones entre las tablas mediante claves primarias y
foráneas.
Lenguaje SQL: Se utiliza el lenguaje de consulta estructurado
(SQL) para definir, manipular y consultar los datos
almacenados en la base de datos.
Integridad referencial: Se garantiza la consistencia de los
datos mediante restricciones de integridad referencial, que
impiden la creación de referencias a datos inexistentes.
Transacciones ACID: Las transacciones en las bases de datos
SQL cumplen con las propiedades ACID (Atomicidad,
Consistencia, Aislamiento y Durabilidad), lo que asegura la
confiabilidad y la consistencia de los datos incluso en caso
de fallos.
Escalabilidad vertical: Se puede mejorar el rendimiento de la
base de datos aumentando los recursos del servidor, como la
CPU, la memoria RAM o el espacio de almacenamiento.
Seguridad: Se pueden establecer diferentes niveles de acceso
y permisos para proteger la información confidencial.

Además de estas características, las bases de datos SQL


ofrecen una serie de ventajas, como:

Consistencia: Los datos se almacenan de forma estructurada y


se aplican restricciones de integridad para asegurar su
validez y consistencia.
Facilidad de uso: El lenguaje SQL es relativamente fácil de
aprender y utilizar, lo que facilita la gestión y la consulta
de los datos.
Madurez y estabilidad: Las bases de datos SQL son una
tecnología madura y ampliamente utilizada, con una gran
cantidad de herramientas y recursos disponibles.
1.1.3 Describir las funciones de las bases de datos.
Las bases de datos desempeñan un papel fundamental en la
gestión de la información en el mundo actual. Sus funciones
principales se centran en la organización, el almacenamiento,
la recuperación y la gestión eficiente de grandes cantidades
de datos.
Almacenamiento de datos:
Esta es la función principal de una base de datos. Permite
almacenar grandes volúmenes de datos de forma organizada y
estructurada, lo que facilita su posterior acceso y
manipulación.
Los datos se almacenan en tablas, que consisten en filas
(registros) y columnas (campos o atributos). Esto proporciona
una estructura lógica y consistente para la información.
Las bases de datos modernas pueden almacenar una amplia
variedad de tipos de datos, incluyendo texto, números,
fechas, imágenes, audio y video.
Organización de datos:
Las bases de datos organizan los datos de manera lógica y
coherente, lo que facilita su búsqueda y recuperación.
Se utilizan esquemas y modelos de datos para definir la
estructura de la base de datos y las relaciones entre los
diferentes conjuntos de datos.
La organización de datos ayuda a evitar la redundancia y la
inconsistencia, lo que mejora la calidad y la integridad de
la información.
Recuperación de datos:
Las bases de datos proporcionan mecanismos eficientes para
recuperar datos específicos de forma rápida y sencilla.
Se utilizan lenguajes de consulta, como SQL (Structured Query
Language), para realizar búsquedas y filtrar datos según
criterios específicos.
Las bases de datos ofrecen diferentes métodos de acceso a los
datos, como índices y vistas, que optimizan el rendimiento de
las consultas.
Control de la concurrencia:
Las bases de datos permiten que múltiples usuarios accedan y
modifiquen los datos simultáneamente sin generar conflictos
ni inconsistencias.
Se utilizan mecanismos de control de concurrencia, como
bloqueos y transacciones, para asegurar la integridad de los
datos en entornos multiusuario.
Control de la integridad:
Las bases de datos implementan reglas y restricciones para
asegurar la validez y la consistencia de los datos.
Se utilizan claves primarias, claves foráneas y restricciones
de integridad referencial para mantener la coherencia entre
las diferentes tablas y evitar la inconsistencia de los
datos.
Seguridad de los datos:
Las bases de datos ofrecen mecanismos para proteger la
información confidencial contra accesos no autorizados.
Se pueden definir diferentes niveles de acceso y permisos
para controlar quién puede ver, modificar o eliminar datos.
Se utilizan técnicas de encriptación y auditoría para
proteger los datos contra accesos maliciosos y para rastrear
las actividades realizadas en la base de datos.
Respaldo y recuperación:
Las bases de datos proporcionan herramientas para realizar
copias de seguridad de los datos y para recuperarlos en caso
de fallos del sistema o pérdida de información.
Los respaldos permiten restaurar la base de datos a un estado
anterior, lo que minimiza el impacto de los errores y
garantiza la continuidad del negocio.
1.1.4 Definir los conceptos de los elementos de bases de datos:
Atributos
Un atributo representa una característica o propiedad de una
entidad.
Entidades
Una entidad representa un objeto, concepto o cosa del mundo
real sobre la cual se desea almacenar información. Es algo
que se puede identificar de forma única y que tiene
características o propiedades que lo describen.
Asociación entre entidades
En el contexto de las bases de datos, una asociación entre
entidades, también conocida como relación, describe cómo se
conectan o interactúan dos o más entidades. Define una
dependencia o correspondencia entre ellas. Estas asociaciones
son fundamentales para modelar la realidad en una base de
datos y representar cómo se relacionan los diferentes
elementos del sistema.

1.2 Componentes de los sistemas de bases de datos


1.2.1 Describir los componentes de los sistemas de bases de
datos:
Datos
Los datos son la materia prima del sistema de base de datos.
Representan la información que se almacena y gestiona. Pueden
ser de diversos tipos:
Datos estructurados: Se organizan en un formato predefinido,
con un esquema fijo. Ejemplos: números, fechas, texto con
formato específico (como direcciones, códigos postales). Son
ideales para bases de datos relacionales.
Datos semiestructurados: No tienen un esquema tan rígido como
los datos estructurados, pero tienen alguna estructura que
permite su interpretación. Ejemplos: archivos JSON, XML.
Datos no estructurados: No tienen una estructura interna
predefinida. Ejemplos: texto libre, imágenes, audio, video.
Suelen requerir técnicas especiales para su gestión y
análisis.

Dentro de los datos, también se distingue entre:


Datos en sí: La información propiamente dicha que se almacena
en las tablas de la base de datos.
Metadatos: Datos sobre los datos. Describen la estructura de
la base de datos, como los nombres de las tablas, los tipos
de datos de las columnas, las restricciones de integridad,
etc. Son cruciales para el funcionamiento del sistema de
gestión de bases de datos (DBMS).
Hardware
El hardware proporciona la infraestructura física para el
sistema de base de datos. Incluye:
Dispositivos de almacenamiento: Discos duros, unidades de
estado sólido (SSD), cintas magnéticas, etc. Almacenan
físicamente los datos de la base de datos.
Servidores: Computadoras potentes que ejecutan el DBMS y
gestionan el acceso a la base de datos. Pueden ser servidores
dedicados o máquinas virtuales.
Memoria principal (RAM): Se utiliza para almacenar
temporalmente los datos que se están procesando, lo que
acelera el acceso a la información.
Dispositivos de entrada/salida: Teclados, ratones, monitores,
impresoras, etc. Permiten la interacción de los usuarios con
el sistema de base de datos.
Redes: Conectan los diferentes componentes del sistema,
permitiendo el acceso remoto a la base de datos.
La elección del hardware depende de factores como el tamaño
de la base de datos, el número de usuarios concurrentes, los
requisitos de rendimiento y el presupuesto.
Software
El software principal en un sistema de base de datos es el
Sistema de Gestión de Bases de Datos (DBMS). Es una colección
de programas que permiten:
Definición de la base de datos: Creación de tablas,
definición de tipos de datos, establecimiento de relaciones
entre tablas, etc.
Manipulación de la base de datos: Inserción, actualización,
eliminación y consulta de datos.
Control de acceso: Gestión de usuarios y permisos para
proteger la seguridad de los datos.
Control de la concurrencia: Gestión del acceso simultáneo a
la base de datos por parte de múltiples usuarios.
Recuperación ante fallos: Mecanismos para restaurar la base
de datos a un estado consistente en caso de fallos del
sistema.
Integridad de los datos: Imposición de reglas y restricciones
para asegurar la validez y la consistencia de los datos.
Ejemplos de DBMS populares:

Relacionales: MySQL, PostgreSQL, Oracle Database, Microsoft


SQL Server.
NoSQL: MongoDB, Cassandra, Redis.
Además del DBMS, otros tipos de software que pueden formar
parte del sistema son:

Herramientas de desarrollo: IDEs (Entornos de Desarrollo


Integrados) y editores de código para escribir consultas SQL
y desarrollar aplicaciones que interactúan con la base de
datos.
Herramientas de administración: Para gestionar y monitorizar
el rendimiento de la base de datos.
Herramientas de generación de informes: Para crear informes y
visualizaciones a partir de los datos almacenados.
Usuarios
Los usuarios son las personas que interactúan con el sistema
de base de datos. Se pueden clasificar en diferentes
categorías:
Administradores de bases de datos (DBA): Son responsables de
la gestión general del sistema de base de datos, incluyendo
la instalación, configuración, seguridad, rendimiento y
mantenimiento.
Desarrolladores de aplicaciones: Crean aplicaciones que
acceden y manipulan los datos de la base de datos.
Usuarios finales: Utilizan las aplicaciones desarrolladas
para interactuar con la base de datos y acceder a la
información.
1.2.2 Describir el procedimiento para determinar los
componentes de los sistemas de bases de datos de
acuerdo a las necesidades de la organización.

Análisis de las necesidades de la organización


Este es el paso más importante. Consiste en comprender a
fondo qué tipo de información necesita gestionar la
organización y cómo se utilizará esa información. Algunas
preguntas clave a responder son:
¿Qué tipo de datos se van a almacenar? (Ej. datos de
clientes, productos, transacciones, inventario, etc.)
¿Cuál es el volumen estimado de datos? (Esto influye en la
elección del hardware y el software.)
¿Con qué frecuencia se actualizarán los datos? (Impacta en
los requisitos de rendimiento.)
¿Quiénes accederán a los datos y con qué tipo de acceso?
(Define los requisitos de seguridad y control de acceso.)
¿Qué tipo de informes o análisis se necesitan generar a
partir de los datos? (Influye en la estructura de la base de
datos y las herramientas de informes.)
¿Cuáles son los requisitos de disponibilidad y tiempo de
inactividad permitido? (Determina las necesidades de respaldo
y recuperación ante desastres.)
¿Existen requisitos de cumplimiento normativo o legal
relacionados con los datos? (Ej. GDPR, HIPAA, etc.)
¿Cuál es el presupuesto disponible para el sistema de base de
datos?

Selección del modelo de datos


Una vez que se comprenden las necesidades de la organización,
se debe elegir un modelo de datos adecuado. Los modelos más
comunes son:
Modelo relacional: Organiza los datos en tablas con filas y
columnas, y establece relaciones entre las tablas mediante
claves. Es el modelo más utilizado y adecuado para la mayoría
de las aplicaciones empresariales.
Modelo NoSQL: Utiliza diferentes estructuras de datos, como
documentos, grafos o clave-valor. Es adecuado para
aplicaciones con grandes volúmenes de datos no estructurados
o semiestructurados, y para aplicaciones que requieren alta
escalabilidad y flexibilidad.
La elección del modelo depende del tipo de datos, los
requisitos de rendimiento y la complejidad de las relaciones
entre los datos.

Diseño de la base de datos


En esta etapa, se define la estructura lógica de la base de
datos, incluyendo:

Identificación de las entidades: Determinar los objetos o


conceptos sobre los que se almacenará información.
Definición de los atributos: Especificar las propiedades que
describen cada entidad.
Establecimiento de las relaciones entre las entidades:
Definir cómo se relacionan las diferentes entidades entre sí
(cardinalidad).
Normalización de la base de datos: Aplicar reglas para
reducir la redundancia y mejorar la integridad de los datos.

Selección del software (DBMS):


La elección del DBMS depende de varios factores, incluyendo:
Modelo de datos elegido: Si se optó por un modelo relacional,
se elegirá un RDBMS (Sistema de Gestión de Bases de Datos
Relacional) como MySQL, PostgreSQL, Oracle o SQL Server. Si
se eligió un modelo NoSQL, se seleccionará un DBMS NoSQL como
MongoDB, Cassandra o Redis.
Escalabilidad: La capacidad del DBMS para manejar grandes
volúmenes de datos y un alto número de usuarios concurrentes.
Rendimiento: La velocidad con la que el DBMS puede procesar
las consultas y las transacciones.
Seguridad: Las características de seguridad que ofrece el
DBMS para proteger los datos.
Costo: El costo de la licencia del software y los costos de
mantenimiento.
Soporte y comunidad: La disponibilidad de soporte técnico y
una comunidad activa de usuarios.

Selección del hardware


La selección del hardware depende del tamaño de la base de
datos, el número de usuarios concurrentes, los requisitos de
rendimiento y el presupuesto. Se deben considerar los
siguientes componentes:

Servidores: Se deben elegir servidores con suficiente


capacidad de procesamiento, memoria RAM y espacio de
almacenamiento.
Almacenamiento: Se deben seleccionar dispositivos de
almacenamiento adecuados, como discos duros de alta velocidad
o unidades de estado sólido (SSD), dependiendo de los
requisitos de rendimiento.
Red: Se debe asegurar una infraestructura de red adecuada
para garantizar un acceso rápido y confiable a la base de
datos.

Selección de las herramientas adicionales

Además del DBMS, se pueden necesitar otras herramientas,


como:
Herramientas de desarrollo: IDEs y editores de código para
desarrollar aplicaciones que interactúan con la base de
datos.
Herramientas de administración: Para gestionar y monitorizar
el rendimiento de la base de datos.
Herramientas de BI (Inteligencia de Negocios): Para generar
informes, análisis y visualizaciones a partir de los datos.

Pruebas y evaluación
Una vez implementado el sistema, es fundamental realizar
pruebas exhaustivas para asegurar que cumple con los
requisitos de la organización. Se deben realizar pruebas de
rendimiento, seguridad, funcionalidad y usabilidad.

Documentación
Es importante documentar todo el proceso, desde el análisis
de necesidades hasta la implementación y las pruebas. Esta
documentación será útil para el mantenimiento y la evolución
del sistema.
1.3 Evidencia 1
Elaborar un reporte digital a partir de un caso
práctico de identificación de componentes del
sistema de bases de datos que contenga:
- Resumen.

- Introducción.

- Desarrollo:

- Atributos.

- Entidades.

- Asociaciones entre entidades.

- Conclusiones.
2 Modelado de base de datos
2.1 Modelos de bases de datos
2.1.1 Describir las características y elementos de los modelos de
bases de datos:
Entidad Relación
El modelo ER es un modelo conceptual de alto nivel que se
utiliza para representar la estructura lógica de una base de
datos. Se centra en las entidades y las relaciones entre
ellas.
Características principales:
Simplicidad: Es fácil de entender y representar gráficamente.
Independencia del modelo físico: No se preocupa por la
implementación física de la base de datos.
Orientado a objetos: Se centra en los objetos (entidades) y
sus interacciones.
Elementos:
Entidad: Representa un objeto o concepto del mundo real sobre
el que se almacena información (ej. Cliente, Producto,
Pedido). Se representa con un rectángulo.
Atributo: Describe una propiedad o característica de una
entidad (ej. Nombre del Cliente, Precio del Producto). Se
representa con un óvalo.
Relación: Representa una asociación o vínculo entre dos o más
entidades (ej. Cliente Realiza Pedido). Se representa con un
rombo.
Cardinalidad: Especifica cuántas instancias de una entidad
pueden estar relacionadas con cuántas instancias de otra
entidad (1:1, 1:N, M:N). Se representa con notación
específica en las líneas que conectan entidades y relaciones.
Ejemplo: Un cliente realiza uno o varios pedidos. Un pedido
pertenece a un único cliente.
Entidades: Cliente, Pedido
Atributos: Cliente (Nombre, Dirección, Teléfono), Pedido
(Fecha, Número de Pedido, Monto)
Relación: Realiza (entre Cliente y Pedido)
Cardinalidad: Cliente (1) -- Realiza -- Pedido (N) (Uno a
Muchos)
Entidad Relación Extendido
El modelo ERE es una extensión del modelo ER que añade
conceptos más avanzados para modelar situaciones más
complejas.

Características principales:
Mayor expresividad: Permite representar conceptos más
complejos que el modelo ER básico.
Herencia: Permite definir jerarquías de entidades
(superclases y subclases).
Especialización y generalización: Permite definir subtipos de
entidades con atributos específicos.
Agregación: Permite tratar una relación como una entidad.
Elementos adicionales:
Herencia/Especialización/Generalización: Se representa con un
triángulo que conecta la superclase con las subclases.
Categorización: Se utiliza para representar una unión de
diferentes tipos de entidades.
Composición: Representa una relación "parte-de" fuerte, donde
la existencia de la parte depende de la existencia del todo.
Ejemplo: En una tienda de electrónica, se pueden tener
diferentes tipos de productos (Televisor, Computadora,
Teléfono). Todos son "Productos" (superclase), pero tienen
atributos específicos (ej. "Tamaño de pantalla" para
Televisor, "Velocidad del procesador" para Computadora).

Relacional
El modelo relacional es el modelo de base de datos más
utilizado en la actualidad. Se basa en la teoría de conjuntos
y el álgebra relacional.
Características principales:
Estructura tabular: Los datos se organizan en tablas con
filas (registros) y columnas (atributos).
Relaciones mediante claves: Las relaciones entre las tablas
se establecen mediante claves primarias y claves foráneas.
Lenguaje SQL: Se utiliza un lenguaje estándar (SQL) para
definir, manipular y consultar los datos.
Normalización: Se aplican reglas de normalización para
reducir la redundancia y mejorar la integridad de los datos.
Elementos:
Tabla (Relación): Representa una entidad.
Fila (Tupla/Registro): Representa una instancia específica de
una entidad.
Columna (Atributo/Campo): Representa una propiedad de una
entidad.
Clave primaria: Un atributo (o conjunto de atributos) que
identifica de forma única cada fila en una tabla.
Clave foránea: Un atributo en una tabla que hace referencia a
la clave primaria de otra tabla, estableciendo una relación
entre ellas.
Ejemplo:
Tabla Clientes: (ID_Cliente (PK), Nombre, Dirección,
Teléfono)
Tabla Pedidos: (ID_Pedido (PK), ID_Cliente (FK), Fecha,
Monto)
No Relacional
Los modelos NoSQL surgieron como alternativa al modelo
relacional para manejar grandes volúmenes de datos no
estructurados o semiestructurados, y para aplicaciones que
requieren alta escalabilidad y flexibilidad.

Características principales:
Flexibilidad de esquema: No requieren un esquema fijo, lo que
permite almacenar datos con diferentes estructuras.
Escalabilidad horizontal: Se pueden escalar fácilmente
añadiendo más servidores.
Alto rendimiento: Optimizados para operaciones de lectura y
escritura rápidas.
Diferentes tipos de modelos: Existen varios tipos de modelos
NoSQL, cada uno con sus propias características:
Documento: Almacenan datos en documentos similares a JSON o
XML (ej. MongoDB).
Clave-Valor: Almacenan datos como pares clave-valor (ej.
Redis).
Columna-Familia: Almacenan datos en familias de columnas (ej.
Cassandra).
Grafo: Almacenan datos como nodos y aristas para representar
relaciones complejas (ej. Neo4j).
Elementos (varían según el tipo de modelo NoSQL):
Documentos (en bases de datos de documentos): Unidades
básicas de almacenamiento.
Colecciones (en bases de datos de documentos): Conjuntos de
documentos.
Claves y Valores (en bases de datos clave-valor): Pares que
almacenan la información.
Nodos y Aristas (en bases de datos de grafos): Representan
entidades y relaciones.
Ejemplo (MongoDB): Un documento que representa un producto
podría tener la siguiente estructura:
{
"_id": "12345",
"nombre": "Laptop",
"precio": 1200,
"caracteristicas": {
"procesador": "Intel i7",
"memoria": "16GB"
}
}
2.1.2 Describir las características de una base de datos NoSQL.
Las bases de datos NoSQL (Not Only SQL) representan una
alternativa a las bases de datos relacionales tradicionales
(SQL). Surgieron para abordar las necesidades de aplicaciones
modernas que manejan grandes volúmenes de datos, alta
velocidad de procesamiento y flexibilidad en el esquema. A
continuación, se describen las características principales de
las bases de datos NoSQL:

Flexibilidad de esquema:
A diferencia de las bases de datos relacionales, que
requieren un esquema predefinido y rígido, las bases de datos
NoSQL ofrecen esquemas dinámicos o flexibles.
Esto significa que no es necesario definir la estructura de
los datos antes de almacenarlos. Se pueden agregar nuevos
campos o atributos a los datos sin necesidad de modificar el
esquema de la base de datos.
Esta flexibilidad es especialmente útil para manejar datos no
estructurados o semiestructurados, como documentos JSON, XML,
datos de sensores, etc.

Escalabilidad horizontal:
Las bases de datos NoSQL están diseñadas para escalar
horizontalmente, lo que significa que se pueden agregar más
servidores (nodos) a la base de datos para aumentar su
capacidad de almacenamiento y procesamiento.
Esto contrasta con la escalabilidad vertical de las bases de
datos relacionales, que implica aumentar los recursos de un
único servidor (ej. CPU, RAM). La escalabilidad horizontal es
más rentable y eficiente para manejar grandes volúmenes de
datos y alta concurrencia.
Esta escalabilidad se logra mediante la distribución de los
datos en múltiples servidores, lo que permite un
procesamiento paralelo y una mayor tolerancia a fallos.

Alto rendimiento y baja latencia:


Las bases de datos NoSQL están optimizadas para operaciones
de lectura y escritura rápidas, lo que las hace ideales para
aplicaciones que requieren baja latencia, como aplicaciones
web en tiempo real, juegos en línea, redes sociales, etc.
Esta optimización se logra mediante diferentes técnicas, como
el almacenamiento en caché, la indexación eficiente y la
replicación de datos.

Diferentes modelos de datos:


A diferencia del modelo relacional, que se basa en tablas con
filas y columnas, las bases de datos NoSQL ofrecen diferentes
modelos de datos, cada uno con sus propias características y
ventajas:
Documento: Almacenan datos en documentos similares a JSON o
XML, lo que facilita el manejo de datos semiestructurados.
Ejemplos: MongoDB, Couchbase.
Clave-Valor: Almacenan datos como pares clave-valor, lo que
las hace ideales para aplicaciones que requieren acceso
rápido a los datos por clave. Ejemplos: Redis, Memcached.
Columna-Familia: Almacenan datos en familias de columnas, lo
que permite un acceso eficiente a grandes cantidades de
datos. Ejemplos: Cassandra, HBase.
Grafo: Almacenan datos como nodos y aristas para representar
relaciones complejas entre los datos. Ejemplos: Neo4j.

Facilidad de desarrollo:
La flexibilidad de esquema y los diferentes modelos de datos
facilitan el desarrollo de aplicaciones que requieren manejar
datos diversos y cambiantes.
Muchas bases de datos NoSQL ofrecen APIs y SDKs en diferentes
lenguajes de programación, lo que simplifica la integración
con las aplicaciones.

No ACID (generalmente):
A diferencia de las bases de datos relacionales, que cumplen
con las propiedades ACID (Atomicidad, Consistencia,
Aislamiento y Durabilidad), las bases de datos NoSQL a menudo
priorizan la disponibilidad y la partición de la red sobre la
consistencia estricta (CAP theorem).
Esto significa que en algunos casos se puede sacrificar la
consistencia inmediata para lograr una mayor disponibilidad y
rendimiento. Sin embargo, algunas bases de datos NoSQL
ofrecen diferentes niveles de consistencia para adaptarse a
las necesidades de cada aplicación.
En resumen, las características principales de una base de
datos NoSQL son:
 Esquema flexible.
 Escalabilidad horizontal.
 Alto rendimiento y baja latencia.
 Múltiples modelos de datos.
 Facilidad de desarrollo.
 Mayor flexibilidad en la consistencia (no estrictamente
ACID).

2.1.3 Explicar el procedimiento de modelado de bases de datos.


El procedimiento de modelado de bases de datos es un proceso
iterativo que consiste en crear una representación visual y
conceptual de la estructura de una base de datos. Este modelo
sirve como plano para la creación física de la base de datos
y ayuda a comprender cómo se organizarán y relacionarán los
datos. A continuación, se describen las etapas principales
del procedimiento:
Recopilación de requisitos:
Esta es la etapa inicial y fundamental. Consiste en
comprender a fondo las necesidades de la organización o el
sistema para el cual se va a crear la base de datos. Se deben
responder preguntas como:
 ¿Qué tipo de información se va a almacenar?
 ¿Cómo se utilizará la información?
 ¿Quiénes accederán a la información?
 ¿Cuáles son los requisitos de rendimiento, seguridad y
disponibilidad?
 ¿Qué tipo de informes o consultas se necesitarán
generar?
Esta información se puede obtener a través de entrevistas con
usuarios, análisis de documentos, observación de procesos,
etc.

Modelado conceptual:
En esta etapa, se crea un modelo de alto nivel que representa
las entidades principales, sus atributos y las relaciones
entre ellas. Se utiliza el modelo Entidad-Relación (ER) o su
extensión, el modelo Entidad-Relación Extendido (ERE).
 Identificación de entidades: Se identifican los objetos
o conceptos del mundo real que se representarán en la
base de datos (ej. Cliente, Producto, Pedido).
 Definición de atributos: Se especifican las propiedades
o características de cada entidad (ej. Nombre del
Cliente, Precio del Producto).
 Establecimiento de relaciones: Se definen las
asociaciones entre las entidades (ej. Cliente Realiza
Pedido).
 Diagrama Entidad-Relación (DER): Se crea un diagrama que
representa gráficamente las entidades, los atributos y
las relaciones, incluyendo la cardinalidad de las
relaciones (1:1, 1:N, M:N).

Modelado lógico:
En esta etapa, se transforma el modelo conceptual en un
modelo lógico que se adapta a un tipo específico de base de
datos, generalmente el modelo relacional.
 Transformación de entidades en tablas: Cada entidad se
convierte en una tabla.
 Transformación de atributos en columnas: Cada atributo
se convierte en una columna de la tabla.
 Establecimiento de claves primarias: Se elige un
atributo (o conjunto de atributos) que identifique de
forma única cada fila en una tabla.
 Establecimiento de claves foráneas: Se utilizan para
representar las relaciones entre las tablas, haciendo
referencia a las claves primarias de otras tablas.
 Normalización: Se aplican reglas de normalización para
reducir la redundancia de datos y mejorar la integridad
de la base de datos. La normalización implica dividir
las tablas en tablas más pequeñas y definir relaciones
entre ellas para eliminar la redundancia y las anomalías
de actualización, inserción y borrado.

Modelado físico:

En esta etapa, se define la implementación física de la base


de datos, incluyendo:

 Selección del DBMS: Se elige el Sistema de Gestión de


Bases de Datos (DBMS) específico que se utilizará (ej.
MySQL, PostgreSQL, Oracle, SQL Server).
 Definición de tipos de datos: Se especifican los tipos
de datos para cada columna (ej. entero, texto, fecha).
 Creación de índices: Se crean índices para mejorar el
rendimiento de las consultas.
 Especificación del almacenamiento: Se define cómo se
almacenarán los datos en el disco.
 Consideraciones de rendimiento y seguridad: Se toman
decisiones sobre la configuración del servidor, la
seguridad de acceso y otros aspectos técnicos.

Implementación:
En esta etapa, se crea la base de datos física utilizando el
DBMS seleccionado y se implementan las tablas, las
relaciones, los índices y otros objetos de la base de datos.
Se utilizan comandos SQL (u otros lenguajes específicos del
DBMS) para definir la estructura de la base de datos.

Pruebas y evaluación:
Una vez implementada la base de datos, se realizan pruebas
exhaustivas para verificar que cumple con los requisitos
definidos en la etapa inicial. Se realizan pruebas de:
 Funcionalidad: Para asegurar que las consultas y las
aplicaciones funcionan correctamente.
 Rendimiento: Para evaluar la velocidad de acceso a los
datos y la eficiencia de las consultas.
 Seguridad: Para verificar que los datos están protegidos
contra accesos no autorizados.
 Integridad: Para asegurar que los datos son consistentes
y válidos.

Mantenimiento y evolución:
Una vez que la base de datos está en producción, se requiere
un mantenimiento continuo para asegurar su correcto
funcionamiento y adaptarse a los cambios en las necesidades
de la organización. Esto incluye:
 Optimización del rendimiento: Ajustar la configuración
del DBMS y la estructura de la base de datos para
mejorar el rendimiento.
 Copias de seguridad y recuperación: Realizar copias de
seguridad periódicas para proteger los datos contra
pérdidas y fallos del sistema.
 Actualizaciones y parches: Aplicar actualizaciones y
parches del DBMS para corregir errores y mejorar la
seguridad.
 Adaptación a nuevos requisitos: Modificar la estructura
de la base de datos para adaptarse a los cambios en las
necesidades de la organización.

2.2 Diccionario de datos


2.2.1 Definir el concepto y características del diccionario de
datos.
Un diccionario de datos es una documentación centralizada que
contiene información sobre los datos utilizados en un sistema
de información o una base de datos. Actúa como un repositorio
de metadatos, proporcionando definiciones, descripciones y
especificaciones técnicas de los elementos de datos. Su
objetivo principal es establecer un lenguaje común entre los
usuarios técnicos y no técnicos, facilitando la comprensión,
el uso y la gestión de los datos.

Concepto en detalle:
Imagina un diccionario tradicional que define palabras. Un
diccionario de datos hace algo similar, pero con los "datos"
que se manejan en un sistema. Define cada pieza de
información, su significado, su formato y otras
características relevantes. Esto ayuda a que todos los
involucrados (desarrolladores, analistas, usuarios finales)
entiendan el significado exacto de cada dato, evitando
ambigüedades y errores.

Características principales de un diccionario de


datos:
Centralización: Reúne en un solo lugar la información sobre
todos los elementos de datos del sistema.
Claridad y precisión: Define cada elemento de datos de forma
clara, concisa y sin ambigüedades, utilizando un lenguaje no
técnico siempre que sea posible.
Consistencia: Asegura la coherencia en el uso de los datos en
todo el sistema.
Documentación: Proporciona una documentación completa de la
estructura y el significado de los datos.
Accesibilidad: Debe ser accesible para todos los usuarios que
necesiten consultar la información.
Actualización: Debe mantenerse actualizado para reflejar los
cambios en la estructura o el significado de los datos.

Elementos comunes que se incluyen en un diccionario


de datos:
Nombre del dato: El nombre formal del elemento de datos (ej.
NombreCliente, FechaPedido).
Descripción: Una breve explicación del significado del dato.
Tipo de dato: El tipo de información que se almacena (ej.
texto, número, fecha, booleano).
Formato: El formato específico del dato (ej. fecha en formato
DD/MM/AAAA, número con dos decimales).
Longitud: La longitud máxima del dato (ej. máximo 50
caracteres para el nombre).
Valores posibles/Dominio: Los valores válidos que puede tomar
el dato (ej. para un campo "Estado" podría ser "Activo",
"Inactivo").
Reglas de validación: Reglas que se aplican para asegurar la
calidad de los datos (ej. un número de teléfono debe tener 10
dígitos).
Fuente del dato: La fuente de donde se obtiene el dato.
Entidad/Tabla a la que pertenece (en bases de datos): En
bases de datos relacionales, se indica a qué tabla pertenece
el atributo.
Sinónimos o alias: Otros nombres con los que se puede conocer
el dato.

Beneficios de utilizar un diccionario de datos:


Mejora la comunicación: Facilita la comunicación entre los
diferentes equipos involucrados en el desarrollo y el uso del
sistema.
Reduce errores: Minimiza la posibilidad de errores debido a
la ambigüedad en la interpretación de los datos.
Facilita el mantenimiento: Facilita el mantenimiento y la
evolución del sistema al proporcionar una documentación clara
de la estructura de los datos.
Mejora la calidad de los datos: Ayuda a asegurar la
consistencia y la validez de los datos.
Facilita la integración: Facilita la integración con otros
sistemas al proporcionar una definición común de los datos.
Apoya la gobernanza de datos: Contribuye a la gobernanza de
datos al proporcionar un registro centralizado de la
información sobre los datos.
Ejemplo sencillo:
Imaginemos una base de datos de clientes. Un fragmento del
diccionario de datos podría verse así:

2.2.2 Describir los elementos del diccionario de datos:


Metadatos
Los metadatos son "datos sobre los datos". Proporcionan
información descriptiva y contextual sobre los elementos de
datos, permitiendo entender su significado, uso y
características. Son cruciales para la gestión, la
interpretación y el uso efectivo de los datos.
Dentro de los metadatos, podemos encontrar diferentes
categorías:
 Metadatos descriptivos: Describen el contenido de los
datos. Incluyen:
o Nombre del dato: El nombre formal del elemento de
datos (ej. NombreCliente).
o Descripción: Una explicación del significado del
dato (ej. Nombre completo del cliente).
o Definición: Una definición formal y precisa del
dato.
o Sinónimos/Alias: Otros nombres con los que se
conoce el dato.
o Contexto de uso: En qué procesos o aplicaciones se
utiliza el dato.
 Metadatos estructurales: Describen la estructura de los
datos. Incluyen:
o Tipo de dato: El tipo de información que se
almacena (ej. texto, número, fecha, booleano).
o Formato: El formato específico del dato (ej. fecha
en formato DD/MM/AAAA, número con dos decimales).
o Longitud: La longitud máxima del dato (ej. máximo
50 caracteres para el nombre).
o Valores posibles/Dominio: Los valores válidos que
puede tomar el dato (ej. para un campo "Estado"
podría ser "Activo", "Inactivo").
o Relaciones: Cómo se relaciona este dato con otros
datos (ej. en una base de datos relacional, a qué
tabla y columna pertenece).
 Metadatos administrativos: Describen la gestión y el
control de los datos. Incluyen:
o Fuente del dato: De dónde se obtiene el dato.
o Propietario del dato: Quién es responsable del
dato.
o Reglas de validación: Reglas que se aplican para
asegurar la calidad de los datos (ej. un número de
teléfono debe tener 10 dígitos).
o Reglas de seguridad: Restricciones de acceso al
dato.
o Fecha de creación/modificación: Cuándo se creó o
modificó el dato.
o Políticas de retención: Cuánto tiempo se debe
conservar el dato.
 Metadatos técnicos: Describen la implementación técnica
de los datos. Incluyen:
o Ubicación física: Dónde se almacena el dato (ej.
nombre del archivo, nombre de la tabla, nombre de
la columna).
o Tamaño del dato: Cuánto espacio ocupa el dato.
o Métodos de acceso: Cómo se puede acceder al dato
(se explica en la siguiente sección).
 Ejemplo de metadatos para "FechaPedido":
o Nombre del dato: FechaPedido
o Descripción: Fecha en la que se realizó el pedido.
o Definición: Fecha en la que el cliente formaliza la solicitud de compra.
o Tipo de dato: Fecha
o Formato: DD/MM/AAAA
o Valores posibles: Cualquier fecha válida posterior a la fecha de creación del
sistema.
o Reglas de validación: No puede ser una fecha futura.
o Tabla: Pedidos
o Columna: FechaPedido
Métodos de acceso
Los métodos de acceso describen cómo se puede acceder a la
información contenida en el diccionario de datos. Son los
mecanismos que permiten a los usuarios consultar y utilizar
la información sobre los datos. Los métodos de acceso pueden
variar dependiendo de la implementación del diccionario de
datos:
 Acceso manual: Se consulta un documento físico o un
archivo electrónico que contiene la información del
diccionario de datos. Este método es menos eficiente y
propenso a errores.
 Acceso automatizado: Se utiliza un software o una
herramienta específica para acceder al diccionario de
datos. Este método es más eficiente y permite realizar
búsquedas y consultas complejas.
 Interfaz de usuario (UI): Una interfaz gráfica que
permite a los usuarios navegar y buscar información en
el diccionario de datos de forma intuitiva.
 APIs (Interfaces de Programación de Aplicaciones):
Permiten a otras aplicaciones acceder al diccionario de
datos de forma programática.
 Consultas SQL (en diccionarios implementados como bases
de datos): Se utilizan consultas SQL para extraer
información del diccionario de datos.
Ejemplos de métodos de acceso:
 Un usuario consulta un documento PDF que contiene la
descripción de los campos de una base de datos (acceso
manual).
 Un desarrollador utiliza una herramienta de modelado de
datos que se conecta a un repositorio centralizado de
metadatos (acceso automatizado).
 Una aplicación utiliza una API para obtener la
definición de un dato específico del diccionario de
datos (acceso mediante API).
 Un administrador de bases de datos ejecuta una consulta
SQL para obtener una lista de todas las tablas de la
base de datos y sus columnas (acceso mediante consultas
SQL).

2.2.3 Reconocer los tipos de datos.


En una base de datos, los tipos de datos definen la
naturaleza de la información que se puede almacenar en una
columna o campo específico. Elegir el tipo de dato correcto
es crucial para la eficiencia, la integridad y el rendimiento
de la base de datos. A continuación, se describen los tipos
de datos más comunes en las bases de datos:
Tipos de datos numéricos:
 Enteros: Representan números enteros sin decimales. Se
utilizan para contadores, identificadores, índices, etc.
o INT (Entero): Un entero estándar.
o BIGINT (Entero grande): Para números enteros muy
grandes.
o SMALLINT (Entero pequeño): Para números enteros
pequeños, ahorra espacio de almacenamiento.
o TINYINT (Entero muy pequeño): Para rangos aún más
pequeños.
 Decimales/Flotantes: Representan números con decimales.
o DECIMAL o NUMERIC: Para valores decimales exactos,
ideal para dinero o valores que requieren
precisión. Se especifica la precisión (número total
de dígitos) y la escala (número de dígitos después
del decimal).
o FLOAT o REAL: Para números reales con precisión
aproximada. Se utilizan cuando no se requiere una
precisión decimal absoluta.
o DOUBLE PRECISION: Similar a FLOAT, pero con mayor
precisión.
Tipos de datos de cadena de caracteres (texto):
 CHAR: Cadena de longitud fija. Se especifica la longitud
y se rellena con espacios si la cadena es más corta.
 VARCHAR: Cadena de longitud variable. Se especifica la
longitud máxima, pero solo se almacena la longitud real
de la cadena. Es más eficiente en términos de
almacenamiento que CHAR si las cadenas tienen longitudes
variables.
 TEXT o CLOB (Character Large Object): Para almacenar
grandes cantidades de texto, como documentos o
artículos.

Tipos de datos de fecha y hora:


 DATE: Almacena solo la fecha (año, mes, día).
 TIME: Almacena solo la hora (hora, minuto, segundo).
 DATETIME o TIMESTAMP: Almacena tanto la fecha como la hora.
 DATETIME2 (en SQL Server): Mayor precisión para la hora.
 TIME WITH TIME ZONE y TIMESTAMP WITH TIME ZONE: Incluyen
información sobre la zona horaria.

Tipos de datos booleanos:


 BOOLEANo BIT: Representa valores lógicos verdadero o
falso (true/false, 1/0).

Otros tipos de datos:


 Binarios: Para almacenar datos binarios como imágenes,
audio o video.
o BINARY: Datos binarios de longitud fija.
o VARBINARY: Datos binarios de longitud variable.
o BLOB (Binary Large Object): Para almacenar grandes
cantidades de datos binarios.
 Tipos de datos espaciales: Para almacenar datos
geográficos o geométricos (ej. coordenadas, polígonos).
 JSON o XML: Algunos sistemas de bases de datos modernos
soportan el almacenamiento y la consulta de datos en
formato JSON o XML.
Ejemplos de uso:
 NombreCliente: VARCHAR(100) (cadena de texto de hasta 100
caracteres).
 PrecioProducto: DECIMAL(10, 2) (número decimal con 10
dígitos en total y 2 decimales).
 FechaPedido: DATE (solo la fecha).
 HoraPedido: TIME (solo la hora).
 Comentarios: TEXT (texto largo).
 Activo: BOOLEAN (verdadero o falso).
 FotoProducto: BLOB (imagen).

Consideraciones al elegir un tipo de dato:


 Rango de valores: Asegurarse de que el tipo de dato
pueda almacenar todos los valores posibles.
 Precisión: Elegir un tipo de dato con la precisión
adecuada para evitar la pérdida de información.
 Espacio de almacenamiento: Utilizar tipos de datos más
pequeños cuando sea posible para ahorrar espacio.
 Rendimiento: Algunos tipos de datos son más eficientes
que otros para ciertas operaciones.
 Integridad de los datos: Utilizar las restricciones de
tipo de datos para asegurar que solo se almacenen datos
válidos.

2.2.4 Describir el procedimiento para elaborar diccionarios de


datos de acuerdo a las necesidades de la organización.
Elaborar un diccionario de datos efectivo requiere un
procedimiento metódico que se adapte a las necesidades
específicas de cada organización. A continuación, se describe
un procedimiento general que puede servir como guía,
adaptándose a las particularidades de cada caso:
Identificación de las necesidades de la
organización:
Este es el punto de partida crucial. Se debe comprender qué
datos maneja la organización, cómo los utiliza y para qué
fines. Algunas preguntas clave son:
 ¿Cuáles son los procesos de negocio principales?
 ¿Qué sistemas de información se utilizan?
 ¿Qué tipo de informes o análisis se generan?
 ¿Quiénes son los usuarios de los datos y cuáles son sus
necesidades?
 ¿Existen regulaciones o normativas que influyen en la
gestión de los datos (ej. RGPD)?
Esta información se puede obtener mediante entrevistas con
usuarios clave, análisis de la documentación existente,
revisión de los sistemas de información, etc.
Definición del alcance del diccionario de datos:
Una vez identificadas las necesidades, se debe definir el
alcance del diccionario de datos. Esto implica determinar:
 Qué sistemas o áreas de la organización se incluirán:
¿Se documentarán todos los datos de la organización o
solo los de un área específica?
 El nivel de detalle de la documentación: ¿Se
documentarán todos los atributos de cada dato o solo los
más relevantes?
 El tipo de metadatos que se incluirán: ¿Se incluirán
solo metadatos descriptivos o también estructurales,
administrativos y técnicos?
Recopilación de información sobre los datos:
En esta etapa, se recopila información detallada sobre cada
elemento de datos. Esto puede implicar:

 Revisión de la documentación existente: Manuales de usuario, especificaciones de


sistemas, diagramas de bases de datos, etc.
 Entrevistas con usuarios: Para comprender el significado y el uso de los datos.
 Análisis de los sistemas de información: Para obtener información sobre los tipos
de datos, formatos, etc.
 Utilización de herramientas de descubrimiento de datos: Que pueden ayudar a
identificar y clasificar los datos.

Definición de la estructura del diccionario de


datos:
Se debe definir cómo se organizará la información en el
diccionario de datos. Esto implica:
 Definir las categorías de metadatos que se utilizarán:
Nombre del dato, descripción, tipo de dato, formato,
longitud, valores posibles, etc.
 Establecer convenciones de nomenclatura: Para asegurar
la consistencia en los nombres de los datos.
 Determinar el formato de almacenamiento: ¿Se utilizará
una hoja de cálculo, una base de datos, una herramienta
de gestión de metadatos?
Creación del diccionario de datos:
Una vez definida la estructura, se procede a la creación del
diccionario de datos. Esto puede implicar:
 Introducir la información recopilada en el formato
elegido.
 Utilizar una herramienta de gestión de metadatos: Que
automatice algunas tareas y facilite el mantenimiento
del diccionario.
Validación y revisión:
Una vez creado el diccionario de datos, se debe validar y
revisar para asegurar su precisión y completitud. Esto
implica:
 Revisión por parte de los usuarios: Para verificar que
la información sea correcta y comprensible.
 Pruebas de uso: Para asegurar que el diccionario de
datos sea útil para los fines previstos.
Publicación y difusión:
Una vez validado, el diccionario de datos se debe publicar y
difundir entre los usuarios. Esto puede implicar:
 Publicarlo en un lugar accesible para todos los
usuarios: Intranet, repositorio de documentos, etc.
 Capacitar a los usuarios sobre cómo utilizar el
diccionario de datos.
Mantenimiento y actualización:
El diccionario de datos debe mantenerse actualizado para
reflejar los cambios en los datos y los sistemas de
información. Esto implica:
 Establecer un proceso para la actualización del
diccionario de datos.
 Asignar responsabilidades para el mantenimiento del
diccionario de datos.
 Realizar revisiones periódicas del diccionario de datos.
Herramientas para la creación de diccionarios de
datos:
 Hojas de cálculo (ej. Excel, Google Sheets): Una opción
sencilla para diccionarios pequeños.
 Bases de datos: Permiten una mayor organización y
gestión de la información.
 Herramientas de gestión de metadatos: Ofrecen
funcionalidades específicas para la creación, gestión y
publicación de diccionarios de datos.
 Herramientas de modelado de datos: Algunas herramientas
de modelado de datos incluyen funcionalidades para la
gestión de metadatos.

Ejemplo simplificado de pasos para una pequeña


empresa:
 Necesidad: Mejorar la comunicación entre el equipo de
ventas y el de marketing sobre la información de los
clientes.
 Alcance: Datos de clientes en el sistema CRM.
 Recopilación: Revisión del sistema CRM y entrevistas con
los equipos.
 Estructura: Hoja de cálculo con columnas para "Nombre
del campo", "Descripción", "Tipo de dato", "Formato".
 Creación: Se completa la hoja de cálculo con la
información recopilada.
 Validación: Se revisa la hoja de cálculo con los
equipos.
 Publicación: Se comparte la hoja de cálculo en una
carpeta compartida.
 Mantenimiento: Se designa a un miembro del equipo para
actualizar la hoja de cálculo cuando haya cambios en el
sistema CRM.
2.3 EVIDENCIA 2
Elaborar un reporte digital a partir de un caso
práctico de bases de datos que contenga:
- Resumen.

- Introducción.

- Desarrollo:

- Modelo de bases de datos:

- Entidades.

- Relaciones.

- Atributos.

- Diccionario de datos.

- Diagramas.

- Conclusiones.
3 Construcción de base de datos
3.1 Conceptos fundamentales de los sistemas
manejadores de bases de datos
3.1.1 Describir el concepto y características de sistemas
manejadores de bases de datos.
3.1.2 Describir las características de los tipos de datos asociados
a sistemas manejadores de bases de datos.
3.1.3 Identificar los componentes y las funciones de sistemas
manejadores de bases de datos.
3.1.4 Diferenciar los sistemas manejadores de bases de datos
más utilizados.
3.1.5 Describir el procedimiento para seleccionar el sistema
manejador de base de datos que cumpla con los
requerimientos de la organización.
3.2 Normalización de bases de datos
La normalización de bases de datos es un proceso fundamental
en el diseño de bases de datos relacionales. Consiste en
aplicar una serie de reglas para organizar los datos de
manera eficiente, minimizando la redundancia y mejorando la
integridad. El objetivo principal es evitar problemas como la
inconsistencia de datos, las anomalías de actualización,
inserción y borrado, y optimizar el espacio de
almacenamiento.

¿Por qué es importante la normalización?

Minimiza la redundancia de datos: Evita la duplicación


innecesaria de información, lo que ahorra espacio de
almacenamiento y reduce la posibilidad de inconsistencias.
Mejora la integridad de los datos: Asegura que los datos sean
consistentes y correctos en toda la base de datos.
Facilita el mantenimiento: Simplifica las tareas de
actualización, inserción y borrado de datos.
Optimiza el rendimiento: Al reducir la redundancia, las
consultas son más rápidas y eficientes.
3.2.1 Definir el concepto de dependencia funcional.
El concepto de dependencia funcional es fundamental en el
diseño de bases de datos relacionales y está estrechamente
ligado al proceso de normalización. En términos sencillos,
una dependencia funcional describe una relación entre dos
atributos (o conjuntos de atributos) dentro de una tabla,
donde el valor de un atributo (o conjunto) determina de forma
única el valor de otro atributo.
Definición formal:

Dado un esquema de relación R con atributos X e Y, se dice que Y es funcionalmente


dependiente de X (escrito como X → Y) si y solo si para cada par de tuplas (filas) t1 y t2 en
R, si t1[X] = t2[X], entonces t1[Y] = t2[Y].

En palabras más sencillas: si dos filas tienen el mismo valor en el atributo X, entonces
también deben tener el mismo valor en el atributo Y.

Componentes de una dependencia funcional:


 Determinante (X): El atributo o conjunto de atributos
que determina el valor de otro atributo. Se encuentra a
la izquierda de la flecha (→).
 Dependiente (Y): El atributo cuyo valor es determinado
por el determinante. Se encuentra a la derecha de la
flecha (→).
Ejemplo:
Consideremos una tabla de empleados con los atributos:
 DNI (Documento Nacional de Identidad)
 Nombre
 Dirección
 Departamento

En esta tabla, podemos decir que existe una dependencia


funcional:
 DNI → Nombre
Esto significa que el DNI de un empleado determina de forma
única su nombre. No puede haber dos empleados con el mismo
DNI y diferente nombre.
También podríamos tener:
 DNI → Dirección
 DNI → Departamento
Sin embargo, podría no existir una dependencia funcional:
 Nombre → DNI (Podría haber dos personas con el mismo
nombre)
 Departamento → DNI (Podría haber varios empleados en el
mismo departamento)

Tipos de dependencias funcionales:

 Dependencia funcional completa: Y depende de todos los atributos de X. Esto es


importante cuando X es una clave compuesta (tiene más de un atributo).
 Dependencia funcional parcial: Y depende solo de una parte de los atributos de X
(solo ocurre con claves compuestas). Esta es una de las dependencias que se
eliminan en la segunda forma normal (2FN).
 Dependencia funcional transitiva: Y depende de Z, y Z depende de X (X → Z y Z
→ Y). Esta dependencia se elimina en la tercera forma normal (3FN).

Importancia de las dependencias funcionales en la normalización:

Las dependencias funcionales son cruciales para el proceso de normalización de bases de


datos porque:

 Identifican redundancias: Permiten detectar la repetición innecesaria de datos.


 Guían la descomposición de tablas: Ayudan a determinar cómo dividir una tabla
en tablas más pequeñas para eliminar la redundancia y mejorar la integridad.
 Definen las claves primarias y foráneas: Ayudan a identificar las claves primarias
de las tablas y las claves foráneas que establecen las relaciones entre ellas.

Ejemplo de cómo las dependencias funcionales ayudan a la normalización:

Supongamos una tabla con los atributos:

 ID_Pedido
 ID_Cliente
 Nombre_Cliente
 Dirección_Cliente

Si tenemos las siguientes dependencias funcionales:

 ID_Pedido → ID_Cliente
 ID_Cliente → Nombre_Cliente
 ID_Cliente → Dirección_Cliente
Observamos una dependencia transitiva: ID_Pedido → ID_Cliente → Nombre_Cliente y
ID_Pedido → ID_Cliente → Dirección_Cliente. Esto indica que la tabla no está en
3FN. Para normalizarla, se deberían crear dos tablas:

 Pedidos: (ID_Pedido, ID_Cliente)


 Clientes: (ID_Cliente, Nombre_Cliente, Dirección_Cliente)

3.2.2 Identificar las reglas de normalización de bases de datos.


3.2.3 Explicar las reglas de normalización de bases de datos:
Primera forma normal.
Segunda forma normal.
Tercera forma normal.

3.3 Construcción de bases de datos


3.3.1 Identificar el lenguaje de definición y manipulación de
datos del sistema manejador de bases de datos a utilizar.
3.3.2 Describir la sintaxis de las sentencias básicas del lenguaje
de definición y manipulación de datos.
3.3.3 Describir el procedimiento de transformación del modelo
de datos a bases de datos:
Claves primarias.
Claves foráneas
Atributos.
Entidades.
Relaciones.
Reglas de integridad.
3.3.4 Describir el procedimiento de diseño de una base de datos
NoSQL.
Determinar propiedades de las colecciones.
Determinar relaciones entre los objetos de la
aplicación.
Determinar cómo crecen y cambian los datos con el
tiempo.
Determinar tipo de consultas que tendrá la
aplicación.
3.4 Evidencia 3
Elaborar un reporte digital a partir de un caso
práctico de construcción de base de datos que
contenga:
- Resumen.

- Introducción.

- Desarrollo:

- Sistema manejador seleccionado.

- Modelo de base de datos.

- Normalización de la base de datos.

- Sentencias del lenguaje de definición y manipulación de datos utilizadas.

- Conclusiones.

4 Lenguaje estructurado de consulta


4.1 Fundamentos de lenguaje estructurado de consulta
de base de datos
4.1.1 Reconocer las sentencias de definición y manipulación de
datos.
4.1.2 Definir el concepto y elementos de lenguaje estructurado
de consulta.
Algebra relacional.
Sentencias de consulta.
4.1.3 Describir las operaciones del álgebra relacional.
Selección
Proyección.
Producto cartesiano.
Unión.
Diferencia.
Intersección.
División.
Agrupación.
4.2 Operaciones en base de datos
4.2.1 Describir la construcción de sentencias de consulta a bases
de datos:
Sentencias de manipulación de datos:
 Insert.
 Update.
 Delete.
Sentencia de consulta de datos:
 Select.
 Agrupación.
 Distinción.
 Ordenamiento.
Consultas anidadas.
Cláusulas de filtrado de datos:
 Where.
 Between.
 In.
 Like.
 Valores NULL.
 Operadores lógicos AND y OR

4.3 Consultas de múltiples tablas


4.3.1 Describir la construcción de sentencias de consulta de
múltiples tablas.
Describir los tipos de JOIN:
 Inner JOIN.
 Left JOIN.
 Rigth JOIN.
 Outer JOIN.
 Self JOIN.
4.3.2 Definir el concepto de vista.
4.3.3 Describir la construcción de vistas:
CREATE VIEW
DROP VIEW
4.3.4 Describir la construcción de sentencias en lenguajes de
consulta NoSQL.
4.4 EVIDENCIA 4
Elabora un reporte digital a partir de un caso
práctico de consulta y manipulación a base de
datos, que contenga:
- Resumen.

- Introducción.

- Desarrollo:

- Construcción de consultas en álgebra relacional.

- Formular sentencias de manipulación de datos en lenguaje

estructurado de consulta.

- Formular sentencias de consulta de datos en lenguaje estructurado de consulta.

- Formular sentencias de consulta de múltiples tablas en lenguaje estructurado de consulta.

- Imágenes de captura de pantallas de los resultados recuperados.

- Conclusiones.

También podría gustarte