0% encontró este documento útil (0 votos)
20 vistas45 páginas

Fundamentos de Bases de Datos y DBMS

El documento detalla la teoría y manejo de bases de datos en el contexto de la ingeniería de software, explicando conceptos clave como metadatos, componentes de un sistema de bases de datos, y las funciones de un DBMS. Se discuten las ventajas y desventajas de los ambientes de bases de datos, así como los tipos de bases de datos y sus modelos de datos. Además, se abordan los lenguajes de definición y manejo de datos, junto con los roles de los usuarios en la administración de bases de datos.

Cargado por

Manuel
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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
20 vistas45 páginas

Fundamentos de Bases de Datos y DBMS

El documento detalla la teoría y manejo de bases de datos en el contexto de la ingeniería de software, explicando conceptos clave como metadatos, componentes de un sistema de bases de datos, y las funciones de un DBMS. Se discuten las ventajas y desventajas de los ambientes de bases de datos, así como los tipos de bases de datos y sus modelos de datos. Además, se abordan los lenguajes de definición y manejo de datos, junto con los roles de los usuarios en la administración de bases de datos.

Cargado por

Manuel
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 PDF, TXT o lee en línea desde Scribd

1.

ÁREA DE BASES DE DATOS

1.1 TEORÍA DE BASES DE DATOS Y MANEJO DE INFORMACIÓN


1.1.1 Bases de datos en el contexto de la Ingeniería de Software

La base de datos se relaciona a la ingeniería del software debido a que, para la


realización de la misma, es necesario contar con herramientas y métodos que nos
permiten obtener una base bien ordena.

La correcta ordenación de los datos y su forma de relacionarlos, a la vez la


utilización de métodos y herramientas para lograr obtener soluciones a los
problemas en el almacenamiento de datos. El cual tiene como beneficiario a los
usuarios finales ya que podrán interactuar con el sistema de manera sencilla y
comprensible.

1.1.2 Conceptos de Bases de Datos

Base de datos: estructura computarizada, compartida e integrada que guarda un


conjunto de: datos de usuario final: es decir, datos sin elaborar que son de interés
para el usuario.

Metadatos: o datos acerca de datos, por medio de los cuales los datos del usuario
final son integrados y manejados.

Las bases de datos administran, almacenan y recuperan información


eficientemente, puede ser guardada en un lugar físico.

Componentes de un sistema de Base de Datos: se refiere a una organización de


componentes que define y regula la captura, almacenamiento, administración y uso
de datos dentro de un ambiente de base de datos: Un sistema de base de datos
comprende 5 componentes principales: datos, hardware, Software, procedimientos
y personas.

• Hardware: se refiere a todos los equipos físicos del sistema como


computadoras, equipos de almacenamiento, impresoras, equipo de redes
etc.
• Software: se refiere al sistema operativo, DBMS y programas de aplicación
y utilerías.
• Personas: incluye todos los usuarios del sistema de base de datos.
o Administradores del sistema: supervisan las operaciones generales
del sistema de base de datos.
o Administradores de base de datos (BDA): manejan el DBMS y
aseguran que la base de datos se encuentre funcionando en forma
correcta.
o Diseñadores de base de datos: proyectan la estructura de la base
de datos.
o Analistas y programadores del sistema: diseñan y ponen en
práctica los programas de aplicación. Diseñan y crean pantallas para
introducir datos, informes, por medio de los cuales los usuarios finales
tienen acceso y manipulan los datos de la BD.
o Usuarios finales: son las personas que usan los programas de
aplicación para ejecutar las operaciones de una organización.
• Procedimientos: son las instrucciones y reglas que gobiernan el diseño y
uso del sistema de base de datos.
• Datos: comprende el conjunto de datos almacenados en la base de datos.

Datos: mínima expresión de información sin procesar.

Información: es el resultado de procesar datos sin elaborar para dejar ver su


significado. Una información precisa, relevante y oportuna es la clave para una
buena toma de decisiones.

Administración de datos: es una disciplina que se concentra en la adecuada


generación, almacenamiento y recuperación de datos.

Metadatos: características de los datos (entero, real, texto etc.).

Registro: conjunto de uno o más campos relacionados que dan sentido a la


información.

Campo: es cada trozo discreto de información en un registro.


Archivo: conjunto de registros relacionados.

Consulta: puede ser una búsqueda simple de un registro o una solicitud para
seleccionar todos los registros que satisfagan un conjunto de criterios.

Reporte o informe: es una lista ordenada de campos y registros seleccionados en


un formato fácil de leer.

1.1.3 Ventajas de un ambiente de base de datos

• Compartir datos: ayuda a crear un ambiente en el que los usuarios finales


tienen mejor acceso a más datos y mejor manejados.

• Compactación: No hay necesidad de archivos en papel voluminosos.

• Mejor acceso a datos: debido a que todo está en un computador la


obtención se agiliza.

• Seguridad: una base de datos maneja políticas de seguridad, la cual permitir


restringir el acceso a los usuarios, cada tipo tiene la posibilidad de acceder a
ciertos elementos.

• Mínima inconsistencia de datos: menor redundancia y los datos son el


mismo en cualquiera de las áreas donde se utilicen.

• Integridad de datos: consistencia de datos lo que genera mayor dificultad


de perder la información o realizar incoherencias con los datos.

• Mejor toma de decisiones: datos mejor manejados y un destacado acceso


a ellos hacen posible generar información de mayor calidad en la que se
basan las mejores decisiones.

Desventajas

• Costos más altos: el sistema de BD requiere hardware y software complejos


y personal altamente capacitado, el costo de mantener todo esto puede ser
considerable.
• Mantener una actualización general: para maximizar la eficiencia de un
sistema de BD es necesario mantener actualizado ese sistema.
• Tamaño: Sistema de Manejo de Base de Datos (DBMS) requiere de mucho
espacio en disco duro y también requiere de mucha memoria principal (RAM)
para poder correr adecuadamente.

1.1.4 Arquitectura de un DBMS

Un DBMS/SGBD es un conjunto de programas que maneja la estructura de la base


de datos y controla el acceso a los datos guardados en ella. Además de servir como
intermediario entre el usuario y la base de datos.

Nivel externo: conocido como el nivel lógico de usuario, es el más próximo a los
usuarios; es decir el que tiene que ver con la forma en que los usuarios individuales
ven los datos.

• Usuarios: usuarios normales, programadores de aplicaciones, usuarios


sofisticados y administradores de la base de datos
• Programas de aplicación/consulta: herramientas que ayudan a interactuar
al usuario con la base de datos.

Nivel conceptual: conocido como el nivel lógico de la comunidad, es un nivel de


indirección entre los otros dos. La vista conceptual es una vista del contenido total
de la BD.

• Software para procesar consultas/ programa


o Interprete del LDD: interpreta las instrucciones del LDD y registra las
definiciones en el diccionario de datos.
o Compilador de LMD: traduce las instrucciones de LMD en un lenguaje
de consultas a un plan de evaluación que consiste en instrucciones de
bajo nivel que entiende el motor de evaluación. También cumple con
la función de optimización de consultas.
o Motor de evaluación de consultas. Ejecuta las instrucciones de bajo
nivel generadas por el compilador de LMD.
• Software para tener acceso a datos

Su función es la de traducir las diferentes instrucciones LMD a órdenes de un


sistema de archivos de bajo nivel. Sus componentes son:

o Gestor de autorización e integridad: comprueba que se tenga la debida


autorización al acceso a los datos por parte de los usuarios y que se sigan
las normas de integridad.
o Gestor de transacciones. Asegura que la base de datos este en forma
consistente y que las transacciones ocurran sin conflicto.
o Gestor de archivos. Gestiona la reserva de espacio de almacenamiento
de disco y las estructuras de datos usadas para representar la información
almacenada en disco.
o Gestor de memoria. Es responsable de traer los datos al disco de
almacenamiento a memoria principal y decidir qué datos tratar en la
memoria cache.

Nivel interno: conocido como el nivel físico, es el que está más cerca del
almacenamiento físico; es decir, es el que tiene que ver con la forma en que los
datos están almacenados.

• Almacenamiento: lugar donde se almacenan los datos físicamente, aunque


también contiene estructuras que ayudan a poder obtener la información de
una manera más rápida.
o Archivo de datos: almacena la base datos en sí.
o Diccionario de datos: almacena metadatos acerca de la estructura de
la base de datos, en particular, el esquema de la base de datos.
o Índices. Que proporciona acceso rápido a elementos de datos que
tienen valores particulares.
1.1.5 Lenguaje de Definición de Datos

Lenguaje proporcionado por el SGBD, para definir estructura de datos, para definir
gran parte del nivel interno de la base de datos, se utiliza para especificar el
esquema de la base de datos, vistas de los usuarios y las estructuras de
almacenamiento. Lo utilizan los BDA y diseñadores. Las sentencias son:

• CREATE: Utilizado para crear nuevas tablas, campos e índices


• DROP: Empleado para eliminar tablas e índices
• ALTER: Utilizado para modificar las tablas agregando campos o cambiando
la definición de los campos.

Aparte suele poseer dos subconjuntos de instrucciones:

• Lenguaje de definición del almacenamiento de los datos (DSDL): permite


especificar características físicas de la base de datos (volúmenes y archivos
donde van a ser almacenados los datos, etc.)
• Lenguaje de control de datos (DCL): encargado del control y seguridad de
los datos (privilegios y modos de acceso, etc.) sentencias revoke y grant.

1.1.6 Lenguaje de Manejo de Datos

Lenguaje proporcionado por el SGBD, permite realizar tareas de consulta o


manipulación de datos, permite a los usuarios acceder o manipular los datos
organizados mediante el modelo de datos apropiado. Las sentencias son:

• SELECT: Utilizado para consultar registros de la base de datos que


satisfagan un criterio determinado
• INSERT: Utilizado para cargar lotes de datos en la base de datos en una
única operación.
• UPDATE: Utilizado para modificar los valores de los campos y registros
especificados.
• DELETE: Utilizado para eliminar registros de una tabla de una base de datos.
Clasificación del DML:

• Lenguajes de consulta procedimentales: el usuario da instrucciones al


sistema para que realice una serie de procedimientos u operaciones en la
base de datos para calcular un resultado final.
• Lenguajes de consulta no procedimentales: el usuario describe la
información deseada sin un procedimiento específico para obtener esa
información.
1.1.7 Funciones del gestor de la base de datos

Un DBMS/SGBD es un conjunto de programas que maneja la estructura de la base


de dato y controla el acceso a los datos guardados en ella. Además de servir como
intermediario entre el usuario y la base de datos.

Tiene las siguientes funciones:

• Función de definición de datos: permite al diseñador de la base de datos


especificar los elementos que lo integran, su estructura y las relaciones que
existen entre ellos, las reglas de integridad semántica, esto se realiza
mediante DDL.
• Función de manipulación de datos: Permite buscar, añadir, suprimir y
modificar los datos de la BD. Esta función es realizada por una parte del
SGBD denominada Lenguaje de Manipulación de datos DML.
• Administración de seguridad: se trata de garantizar la coherencia de los
datos, comprobando que solo los usuarios autorizados puedan efectuar las
operaciones correctas sobre la base de datos. Se suelen incluir aquí las
tareas de copia de seguridad, carga de ficheros, auditoria, protección ante
ataques externos, configuración del sistema.
• Diccionario de datos: este contiene datos acerca de los datos, es decir
definiciones de otros objetos del sistema.
• Administración de respaldo y recuperación: el DDBMS suministra
respaldo y recuperación de datos para garantizar la seguridad e integridad
de los datos.
• Administración de la integridad de datos: el DBMS promueve y hace
cumplir las reglas de integridad, reduciendo al mínimo la redundancia y
maximizando la consistencia de datos.
• Rendimiento: EL DBMS debe realizar todas las tareas de la manera más
eficiente posible.

1.1.8 Usuarios de un ambiente de base de datos


• Administrador del sistema: supervisan las operaciones generales del
sistema de base de datos.
• Administrador de la base de datos (BDA): maneja el SGBD, y asegura que
la base de datos se encuentre funcionado en forma correcta (seguridad,
Backups, disponibilidad).
• Diseñador de la base de datos: proyectan la estructura de una base de
datos.
• Analistas y programadores: diseñan y ponen en práctica los programas de
aplicación. Diseñan y crean pantallas para introducir datos, informes, por
medio de los cuales los usuarios finales tienen acceso y manipulan los datos
de la BD.
• Usuario normal o final: son las personas que utilizan la aplicación para
ejecutar las operaciones diarias de una organización. Esta persona ve datos
convertidos en información.
1.2 TIPOS DE BASES DE DATOS Y SUS FORMAS DE MODELADO

Tipos de Bases de Datos:

• BD centralizado: una base de datos que soporta datos ubicados en un


solo sitio.
• BD distribuido: una base de datos que soporta datos distribuidos en varios
lugares diferentes.
• BD de escritorio: es una base de datos de un solo usuario que se ejecuta
en una computadora personal.
• BD de usuarios múltiples: soporta a múltiples usuarios al mismo tiempo.
• BD empresarial: es una base de datos que es utilizada por un
departamento específico dentro de una organización (menos de 50
usuarios).
• BD operacional o BD de transacciones: una BD diseñada básicamente
para soportar operaciones diarias de una compañía.
• Base de datos temporales: es aquella que contiene datos históricos en
vez de datos actuales. Datos temporales son datos que tiene una marca de
tiempo.

Modelado de datos: primer paso para diseñar una base de datos, se refiere al
proceso de crear un modelo específico de datos para el dominio de un problema
determinado.

Modelo de datos: es una representación relativamente sencilla, por lo general


gráfica, de estructuras de datos reales más compleja. Es una herramienta de
comunicación.

Modelo de la Base De Datos: es la implementación de un modelo de datos en un


sistema específico de base de datos.
Elementos de un modelo de datos:

• Entidad: es la representación de un objeto o concepto del mundo real que


se describe en una base de datos. Las entidades son distinguibles, es decir,
cada vez que se presenta una de ellas es única y distinta.
• Atributo: es una característica de una entidad ejemplo Entidad Cliente
Atributos apellido, nombre, teléfono etc.
• Relación: es una asociación entre entidades. 1:1, 1:M, M: N
• Restricción: se aplican a los datos. Son importantes ya que ayudan a
mantener la integridad de los datos.

Regla del negocio: es una descripción breve, precisa y no ambigua de una política,
procedimiento o principio de una organización. Ayudan a crear y hacer cumplir
acciones dentro del ambiente de esa organización.

1.2.1 Modelos: jerárquico, red, orientado a objetos

Modelo jerárquico: (Se desarrolló en la década de 1960)

Este modelo de datos se organiza en una forma similar a un árbol invertido, en


donde un nodo padre de información puede tener varios hijos. El nodo que no tiene
padres se llama nodo raíz y los nodos que no tienen hijos se llaman hojas.

• El modelo jerárquico solo se puede modelar relaciones 1:1, 1: M, por ende,


no permite las relaciones N: M.

Modelo de red

Fue creado para representar relaciones de datos en forma más efectiva que el
modelo jerárquico, para mejorar la operación de una base de datos y para imponer
un estándar de base de datos. En el modelo de red el usuario percibe la base de
datos de red como un conjunto de registros en relaciones 1: M. Permite la relación
de N: M.
Las ventajas que promovió este modelo se presentan más a definiciones que a su
utilización, ya que en este modelo se utilizó por primera vez el termino de esquema
describe la estructura de la Base De Datos que se diseña, subesquemas que define
la parte de la base de datos vista por los programas de aplicación que en realidad
producen la información deseada a partir de los datos contendidos dentro de la base
de datos. Lenguaje de manipulación de datos: que define el ambiente en el que los
datos se pueden administrar. Lenguaje de definición de datos: que hace posible que
el administrador de una base de datos defina los componentes del esquema.

Modelo Orientado a Objetos

Se propusieron con la idea de satisfacer a las necesidades de las aplicaciones más


complejas. Modelo bastante reciente y propio de los modelos informáticos OO trata
de almacenar en las bases de datos los objetos complejos (estado y
comportamiento).

El modelo de datos OO está basado en los siguientes componentes:

Un objeto es una abstracción de una entidad real, en términos generales un objeto


puede ser considerado equivalente a una entidad en el MER.

Los atributos describen las propiedades de un objeto.

Los objetos que comparten características similares se agrupan en clases.

Una Clase: es un conjunto de objetos semejantes con estructura (atributos) y


comportamiento (métodos) compartido. El método representa una acción real.

• Las clases están organizadas en una jerarquía de clase (se asemeja a un


árbol invertido, en la que cada clase tiene un solo padre).
• La herencia es la capacidad de un objeto dentro de la jerarquía de clase de
heredar los atributos y métodos de las clases situadas arriba de él.

Una base de datos orientada a objetos es una base de datos que incorpora los
conceptos importantes del paradigma de objetos los cuales son:
Encapsulamiento: permite la ocultación de la información, es decir el contenido de
un objeto se puede ocultar al mundo exterior, dejándose ver lo que cada objeto
necesite hacer público.

Herencia: Propiedad a través de la cual los objetos heredan comportamiento dentro


de una jerarquía de clases.

Polimorfismo: los comportamientos pueden ser identificados bajo el mismo


nombre, pero procesan información de manera diferente.

Por lo general los modelos de datos OO se describen usando diagramas de clase


mediante el Lenguaje de Modelado Unificado (UML).

1.2.2 Modelado conceptual de datos

Es la parte de la abstracción de los datos, representa una vista global de toda la


base de datos como lo ve la organización. El modelo conceptual integra todas las
vistas (entidades, relaciones, restricciones y procesos) en una sola vista global de
los datos de la empresa, también conocida como esquema conceptual. Para
representarlo gráficamente se utiliza el Diagrama Entidad Relación (EDR),
Contribuye a detectar posibles errores desde el principio ya que permite al diseñador
una amplia vista de los datos y relaciones.

El modelo conceptual da algunas ventajas muy importantes:

• Da una vista general de los datos que se entiende con facilidad.


• El modelo conceptual es independiente del software y hardware.
Independencia de software significa que el modelo no depende del software
del DBMS que se use para implementar el modelo. Independencia de
hardware quiere decir que el modelo no depende del hardware que se use
en la implementación del modelo.
1.2.3 Modelo Entidad-Relación

Es una herramienta para el modelado de datos que permite presentar las entidades,
relaciones de un sistema de información, así como sus interrelaciones y
propiedades. Los modelos ER por lo general se representan en un diagrama de
entidad-relación (ERD). Que usa representaciones gráficas para modelar
componentes de bases de datos.

• Propuesto por Peter P. Chen en 1976


• Describe el “mundo real” como un conjunto de ENTIDADES y de
RELACIONES entre ellas

Esquema conceptual

• Descripción concisa de los requisitos de información de los usuarios


• Descripciones detalladas de TIPOS DE DATOS RELACIONES ENTRE
DATOS RESTRICCIONES que los DATOS deben cumplir
• Sin detalles de implementación
o Más fácil de entender
o Comunicación con el usuario no técnico

El modelo ER está basado en los siguientes componentes:

Entidad: es la representación de un objeto o concepto del mundo real que se


describe en una base de datos. Se representa en el ERD con un rectángulo, también
conocido como caja de entidad. Cada entidad esta descrita por un conjunto de
atributos.

Dependencia de existencia: es decir que una entidad solo puede existir si existe
otra.

Entidad Fuerte: es aquella entidad que es independiente de existencia, es decir


que no necesita de alguien para poder existir.
Fuerza de Relación: esta relaciona en cómo se define la llave primaria en una
entidad relacionada.

• Relación débil: la llave primaria de una entidad aparece solo como llave
foránea en otra entidad.
• Relación fuerte: la llave primaria de una entidad aparece como llave primaria
y foránea en otra entidad.

Entidad Débil: son aquellas que dependen existencialmente.

• Participación de relación:
o Opcional: una entidad no requiere de una entidad en una relación.
o Obligatoria: una entidad requiere de una entidad en una relación.

Grado de relación:

• Unarias: una entidad se relaciona a sí misma.


• Binarias: es cuando una entidad está relacionada.
• Ternarias: es una relación entre tres entidades.

Entidades asociativas: es decir una entidad que relaciona dos entidades.

Atributos: son las características que define o identifican a una entidad. ejemplo
Entidad Cliente Atributos apellido, nombre, teléfono etc.

Relaciones: las relaciones describen asociaciones entre entidades, Estas


relaciones pueden ser 1:1, 1: N, N: M.

• Conjunto de relaciones: consiste en una colección o conjunto de relaciones


de la misma naturaleza.

Correspondencia de cardinalidad: índica el número de entidades con las que


puede estar relacionada una entidad dada.

• 1:1 un registro de una entidad A se relaciona con un solo registro en una


entidad B.
• 1: N un registro en una entidad A se relaciona con uno o muchos registros en
una entidad B.
• N: M una entidad A se puede relacionar con uno o muchas entidades en B y
viceversa.

Restricciones: son las reglas que deben mantener los datos almacenados en la
base de datos.

Ventajas

• Simplicidad conceptual
• Representación visual
• Es una herramienta de comunicación efectiva
• Está plenamente integrado al modelo de base de datos relacional

Desventajas

• Representación de relaciones limitadas


• No tiene lenguaje de manipulación de datos
• Los diagramas pueden ser confusos en grandes escenarios.

Diagrama E-R: los diagramas entidad relación constituyen una técnica para
representar la estructura lógica de una base de datos en forma de gráficos.
proporcionan un medio sencillo y fácil de comprensión para comunicar las
características del diseño de cualquier base de datos.
1.2.4 Modelo entidad relación extendido

Permite desarrollar un diseño de base de datos en un esquema de alto nivel


conceptual, incluye todos los conceptos del E-R e incorpora los conceptos de
subclase y superclase con los conceptos asociativos de especialización y
generalización.

Permiten representar

• Relaciones exclusivas entre sí


• Jerarquías de Especialización/Generalización
• Agregación de entidades

Subclases y Superclases

Subclase: grupo de elementos con algo en común que pertenecen a una entidad.

Superclase: entidad de la que procede una subclase.


Especialización y Generalización: Ambos métodos nos ayudan a identificar la
subclase y superclases.

Especialización: proceso para definir un conjunto de subclases de un tipo de


entidad. Superclases suelen estar definidas según característica distintiva de las
entidades de la subclase. Por ejemplo, el conjunto de subclases {SECRETARIA,
INGENIERO, TECNICO} es una especialización de la superclase EMPLEADO.

El proceso de especialización permite lo siguiente:

• Definir un conjunto se subclases a partir de una entidad.


• Asociar atributos específicos a cada subclase.
• Establecer relaciones especificas entre cada subclase con otras entidades o
subclases.

dan lugar a 4 tipos de especialización:

• Disjunta y Total
• Disjunta y Parcial
• Solapada y Total
• Solapada y Parcial

Generalización: proceso inverso a la especialización. Identifica las características


comunes o varios tipos de entidades y generalizar todas ellas en una superclase.

Podemos pensar en un proceso inverso de abstracción en el cual suprimimos las


diferencias entre las distintas entidades, identificando sus características comunes,
y generalizando dichas entidades en una sola superclase de la cual las entidades
iniciales serían subclases especiales.

Hay que tener en cuenta que el proceso de generalización puede ser visto
funcionalmente como el proceso inverso de especialización. Por tanto, en la figura
2 podemos ver {COCHE, CAMION} como una especialización de VEHICULO, así
como VEHICULO puede verse como la generalización de COCHE y CAMION. En
algunas ocasiones se utilizan flechas para representar en los diagramas ERE cual
ha sido la técnica de identificación de superclases/subclases

Herencia: la herencia hace posible que una subclase herede los atributos y
relaciones de una superclase.

1.2.5 Estrategias del modelado

Para el modelado de datos es necesario contar con cierta información que nos
ayudara a seleccionar el modelo a utilizar, y a su vez en que forma las entidades
estarán relacionadas. Lo primero a realizar es la abstracción de datos y para ello es
necesario utilizar el modo externo, conceptual e interno.

Luego utilizamos el modelo entidad – relación para mostrar nuestros resultados.


Hay varias estrategias a seguir para realizar el diseño: de abajo a arriba, de arriba
abajo y la estrategia mixta.

• La estrategia de abajo a arriba parte de todos los atributos y los va agrupando


en entidades y relaciones. Es apropiada cuando la base de datos es simple,
con pocos atributos.
• La estrategia de arriba abajo es más apropiada cuando se trata de bases de
datos complejas. Se comienza con un esquema con entidades de alto nivel,
que se van refinando para obtener entidades de bajo nivel, atributos y
relaciones.
• La estrategia mixta utiliza ambas estrategias, de abajo a arriba y de arriba a
abajo, con un esquema de divide y vencerás. Se obtiene un esquema inicial
de alto nivel, se divide en partes, y de cada parte se obtiene un subesquema.
Estos Subesquemas se integran después para obtener el modelo final.

Pasos para el desarrollo del Modelo de Datos

• Identificar las principales entidades: Nombrar, definir y documentar las


entidades en el diccionario de datos o en el documento de diseño
correspondiente.
• Determinar las relaciones entre entidades:
o Identificar las relaciones y darles un nombre.
o Asignar cardinalidad o conectividad
• Definir identificadores: (claves primarias y foráneas)
o Establecer estándares de nomenclatura, abreviaturas, etc.
• Añadir Atributos al Modelo de Datos: Un atributo es un hecho o una unidad
de información sobre una entidad que no se puede descomponer.

1.3 DESARROLLO DE BASES DE DATOS Y SUS ASPECTOS


PRINCIPALES
1.3.1 Modelo relacional

Introducido en el año 1970 por Edgar Frank Codd. La base del modelo relacional es
un concepto matemático conocido como relación, se puede considerar una relación
(también llamada tupla) como una matriz compuesta de filas y columnas que se
interceptan, cada fila en una relación se llama tupla. Cada columna representa un
atributo. es el modelo más utilizado en la actualidad para modelar problemas reales
y administrar datos dinámicamente.

En el modelo relacional, el usuario final percibe los datos como almacenados en


tablas.

El modelo relacional tiene 3 conceptos bien definidos.

• Estructura de datos
• Manipulación de datos
• Integridad de datos

El modelo relacional se representa por tablas, además utiliza llaves para identificar
de manera única cada instancia de entidad y también se utiliza para relacionar las
entidades.
Las llaves se clasifican en:

• Súper llave: es un atributo o combinación que identifica de manera única a


una instancia.
• Llave candidata: se puede llamar una súper llave sin atributos innecesarios.
• Llave primaria: es el campo mediante el cual se identifican de manera
inequívoca los registros en una tabla.
• Llave secundaria: se utiliza para recuperación de datos.
• Llave compuesta: es una combinación de dos o más campos que funcionan
como llave principal.
• Llave foránea: es un atributo en una tabla, pero es llave primaria en otra.

La integridad se divide en:

• Integridad de identidad: para garantizar esto no se permite datos nulos en


una llave.
• Integridad referencial: garantiza que para esa relación la llave foránea
indique la existencia de datos.

Diagrama relacional: es una representación de las entidades de la base de datos


relacional, los atributos dentro de esas entidades y las relaciones entre esas
entidades.

1.3.2 Normalización de datos

Es el proceso de organizar de manera eficiente los datos dentro de una base de


datos. Esto incluye la creación de tablas y el establecimiento de relaciones entre
ellas según reglas prediseñadas tanto para proteger los datos y la base de datos,
como para hacer más flexible al eliminar la redundancia y dependencia incoherente
de los datos.
La normalización permite.

• Evitar redundancia de datos


• Proteger la integridad de datos
• Mejor diseño

Existen 4 etapas las cuales son:

0 FORMA NORMAL: Listar todas las propiedades y define la llave primaria

PRIMERA FORMA NORMAL: crea una nueva entidad, copia la llave primaria de la
entidad original y se mueve todas las propiedades con más ocurrencias. Se crea la
nueva llave primaria compuesta de la nueva entidad, esta deberá contener la llave
primaria en la entidad original y la(s) propiedad (s) que permite identificar en forma
única la nueva entidad.

• Atributo identificado por una llave primaria PK


• Todos los atributos son dependientes de la llave primaria
• No existen grupos repetidos en la tabla

SEGUNDA FORMA NORMAL: las propiedades no son parte de la llave primaria y


que no dependen de la llave primaria compuesta completamente, deben removerse
de la entidad original y copiarse a una nueva entidad. Esta forma se aplica
únicamente a las entidades con llave compuesta.

• Está en 1NF
• No contiene dependencias parciales

TERCERA FORMA NORMAL: se eliminan las propiedades que no son llaves y que
tienen dependencia de otra propiedad que no es llave dentro de la misma entidad.
Se crea una nueva entidad con la propiedad que es llave de la entidad original y con
las propiedades encontradas. Se identifica la llave primaria.

• Está en 2NF
• No contiene dependencias transitivas.
Dependencias parciales: que dependen de una clave primaria.

Dependencias transitivas: es una dependencia de un atributo no principal en otro


no principal.

Esto nos sirve para tener un buen diseño de base de datos, aunque en algunos
casos no siempre es deseable la normalización, por lo que es necesario
desnormalizar.

1.3.3 Manejadores de Bases de Datos

Un DBMS/SGBD es un conjunto de programas que maneja la estructura de la


base de datos y controla el acceso a los datos guardados en ella. Además de
servir como intermediario entre el usuario y la base de datos.

Funciones.

• Manejo de diccionario de datos: definiciones y relaciones entre los datos


• Seguridad: fortalecer la seguridad y privacidad de la información
• Control de concurrencia: controla el acceso multiusuario.
• Integridad de datos: minimiza la redundancia y maximiza la consistencia de
datos.
1.3.4 Instrucciones de Lenguaje Estructurado de Consulta

Comúnmente llamado SQL, lo conforma una serie de comando, clausulas y


funciones que permiten realizar cualquier operación sobre la información
almacenada en la base de datos.

Comando DDL

Create Utilizado para crear nuevas tablas,


campos e índices.

Drop Empleado para eliminar tablas e índices.

Utilizado para modificas las tablas ALTER TABLE Pedidos


agregando campos o cambiando la DROP CONSTRAINT
Alter
definición de los campos RelacionPedidos
Comando DML (Lenguaje de Manipulación de Datos)

Utilizado para consultar SELECT Campos


registros de la base de
Select FROM Tabla
datos que satisfagan un
criterio determinado SELECT Nombre, Teléfono

FROM Clientes

INSERT INTO Tabla (campo1, campo2, ..,


campoN)
Utilizado para cargar lotes
de datos en la base de VALUES (valor1, valor2, ..., valorN)
Insert
datos en una única
INSERT INTO Empleados (Nombre,
operación
Apellido, Cargo)

VALUES ('Luis', 'Sánchez', 'Becario')

Utilizado para modificar los UPDATE Tabla SET Campo1=Valor1,


valores de los campos y Campo2=Valor2, ... CampoN=ValorN
Update
registros especificados
WHERE Criterio

UPDATE VENDEDOR

SET Nombre_vendedor = ‘pedro’ WHERE


Idvendedor = 1;

Utilizado para eliminar DELETE *


registros de una tabla de
Delete FROM Tabla
una base de datos.
DELETE es especialmente WHERE criterio
útil cuando se desea DELETE FROM VENDEDOR
eliminar varios registros.
WHERE Idvendedor = 1;
Consultas de predicado: El predicado se incluye entre la cláusula y el primer
nombre del campo a recuperar, los posibles predicados son:

ALL Devuelve todos los campos de la SELECT ALL FROM


tabla, sino incluye algún predicado Empleados
se asume All.
SELECT * FROM Empleados

TOP Devuelve los primeros N de registros SELECT TOP 25 Nombre,


del conjunto resultante Apellido

FROM Estudiantes

Omite los registros que contienen


datos duplicados en los campos
seleccionados. Para que los valores
de cada campo listado en la

DISTINCT instrucción SELECT se incluyan en Select Distinct apellido


la consulta deben ser únicos. Con
From Empleados
otras palabras, el predicado
DISTINCT devuelve aquellos
registros cuyos campos indicados en
la cláusula SELECT posean un
contenido diferente.

Omite los registros duplicados SELECT DISTINCTROW


basándose en la totalidad del Apellido
DISTINCTROW
registro y no sólo en los campos
FROM Empleados
seleccionados.
Clausulas

FROM Utilizada para especificar la tabla de la cual se


van a seleccionar los registros

La cláusula WHERE puede usarse para


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

Combina los registros con valores idénticos, en


la lista de campos especificados, en un único
SELECT
registro. Para cada registro se crea un valor
campos
GROUP sumario si se incluye una función SQL
BY agregada, como por ejemplo Sum o Count, en FROM tabla

la instrucción SELECT. WHERE criterio

GROUP BY campos del


grupo

HAVING Utilizada para expresar la condición que debe


satisfacer cada grupo

ORDER Utilizada para ordenar los registros


BY seleccionados de acuerdo con un orden
específico
Funciones agregadas

AVG Utilizada para calcular el promedio de los Avg (expr)


valores de un campo determinado. La
SELECT Avg(Gastos) AS
función Avg no incluye ningún campo Null
Promedio
en el cálculo.
FROM Pedidos

WHERE Gastos > 100

COUNT Calcula el número de registros devueltos


por una consulta. En donde expr contiene el
Count(expr)
nombre del campo que desea contar. Los
operandos de expr pueden incluir el nombre
de un campo de una tabla, una constante o SELECT Count(*) AS Total
una función. Puede contar cualquier tipo de
FROM Pedidos
datos incluso texto.

SUM Devuelve la suma del conjunto de valores Sum(expr)


contenido en un campo especifico de una
SELECT Sum(PrecioUnidad *
consulta
Cantidad) AS Total

FROM DetallePedido

MAX Utilizada para devolver el valor más alto de Max(expr)


un campo especificado
SELECT Max(Gastos) AS
ElMax FROM Pedidos
WHERE Pais = 'España'

MIN Utilizada para devolver el valor más bajo de Min(expr)


un campo especificado
SELECT Min(Gastos) AS
ElMin FROM Pedidos WHERE
Pais = 'España'
StDev, Devuelve estimaciones de la desviación StDev (expr)
estándar para la muestra de una población
SELECT StDev(Gastos) AS
Desviacion FROM Pedidos
WHERE Pais = 'España'

StDevP Devuelve estimaciones de la desviación StDevP (expr)


estándar para la población
SELECT StDevP(Gastos) AS
Desviacion FROM Pedidos
WHERE Pais= 'España'

Var Devuelve una estimación de la varianza de Var(expr)


la muestra de una población
SELECT Var(Gastos) AS
Varianza FROM Pedidos
WHERE Pais = 'España'

VarP Devuelve una estimación de la varianza de VarP(expr)


una población
SELECT VarP(Gastos) AS
Varianza FROM Pedidos
WHERE Pais = 'España'
Consultas de unión internas

Las vinculaciones entre tablas se SELECT campos FROM tb1 INNER


realizan mediante la cláusula INNER JOIN tb2 ON tb1.campo1 comp
INNER
que combina registros de dos tablas tb2.campo2
JOIN
siempre que haya concordancia de
SELECT Nombre_Categoría,
valores en un campo común.
NombreProducto

FROM Categorias INNER JOIN


Productos

ON Categorias.IDCategoria
=productos.IDCategoria

1.3.5 Funciones

Una función es una rutina que acepta parámetros, realiza una acción como un
cálculo complejo y devuelve el resultado de esa acción como un valor. Existen varios
tipos de funciones las cuales son:

Funciones Escalares

Una función escalar retorna un único valor. Como todas las funciones, se crean con
la instrucción "create function".
Sintaxis: Ejemplo
create function NOMBRE CREATE FUNCTION
(@PARAMETRO [dbo].[f_TotalProductos] ()
TIPO=VALORPORDEFECTO) RETURNS smallint
returns TIPO AS
as Begin
begin DECLARE @total smallint
INSTRUCCIONES Select @total=count(*) From
return VALOR productos Where
end; unidadesEnExistencia>0
RETURN @total
END

Funciones en línea

Una función con valores de tabla en línea retorna una tabla que es el resultado de
una única instrucción "select". Es similar a una vista, pero más flexible en el empleo
de parámetros.

Funciones de tipo tabla

Este tipo de funciones son aquellas en donde las funciones con varias instrucciones
que retornan una tabla. Las funciones que retornan una tabla pueden emplearse en
lugar de un "from" de una consulta.

1.3.6 Procedimientos Almacenados

Es un grupo de elementos procedimentales, con nombre, se pueden usar para


encapsular y representar las transacciones de negocio, se almacenan físicamente
en la base de datos, su uso es rápido debido a que se ejecuta en el motor de la
base de datos.
1.3.7 Disparadores

Es un tipo especial de procedimiento almacenado que se ejecuta cuando se inserta,


elimina o actualiza datos de una tabla específica. Los disparadores pueden ayudar
a mantener la integridad de referencia de los datos conservando la consistencia
entre los datos relacionados lógicamente de distintas tablas. Integridad de
referencia significa que los valores de las llaves primarias y los valores
correspondientes de las llaves foráneas deben coincidir de forma exacta. La
principal ventaja es que son automáticos.

1.4 SISTEMAS DE BASES DE DATOS EN DIFERENTES PLATAFORMAS


1.4.1 Banco de Datos

Estructura computarizada compartida e integrada que guarda un conjunto de datos


de usuario final, Cuando se habla de un banco de datos estamos señalando que
esta información está clasificada y ordenada de acuerdo a diferentes parámetros ya
que la misma puede ser solicitada muy a menudo con diversos fines. Uno de los
elementos más importantes con los que debe contar un banco de datos es con un
sistema claro y efectivo de organización y clasificación de los mismos.

Los bancos de datos pueden tener distintas características siendo algunos de ellos
estáticos y dinámicos.

• Estáticos: son aquellos que se realizan con la información que cambia muy
poco o directamente no cambia porque es algo que no se va modificar, se
conocen como banco de datos solo de lectura.
• Dinámico: es aquel que varía con el tiempo y que puede deberse su
alteración a la entrada o salida permanente de datos desde la fuente.
1.4.2 Exploración de datos, Minería de datos

Es el conjunto de técnicas y tecnologías que permiten explorar grandes bases de


datos de manera automática o semiautomática, con el objetivo de encontrar
patrones repetitivos, tendencias o reglas que expliquen el comportamiento de los
datos en un determinado contexto.

Proceso de la minería de datos:

• Determinación de los objetivos: trata de la delimitación de los objetivos que


el cliente desea bajo la orientación del especialista en data mining.

• Procesamiento de los datos: se refiere a la secuencia, la limpieza, el


enriquecimiento, la reducción y la transformación de la base de datos.

• Determinación de módulos: se comienza realizando uno o varios estadísticos


de los datos y después se lleva a cabo una visualización grafica de los
mismos para tener una primera aproximación. Según los objetivos
planteados y la tarea que debe llevarse a cabo, pueden utilizarse algoritmos
desarrollados en diferentes áreas.

• Análisis de resultados: verifica que los resultados obtenidos son coherentes


y los coteja con los obtenidos por los análisis estadísticos y de visualización
gráfica.

Características de la minería de datos.

• Las herramientas de la minería de datos se combinan fácilmente y pueden


analizarse y procesarse rápidamente.

• El entorno de la minería de datos suele tener una arquitectura


cliente/servidor.

• Hurgar y sacudir implica el descubrimiento de resultados valiosos.

• Debido a la gran cantidad de datos, algunas veces es necesario usar


procesamiento en paralelo.
• Busca los datos en los almacenes de datos.

Extensiones de la minería de datos.

• Minería de texto (text mining): se enfoca en el descubrimiento de patrones


interesantes y nuevos conocimientos en un conjunto de textos.

• Minería Web (web mining): es un proceso de extracción de información


útil a partir de los registros del servidor, la minería del uso de la web es el
proceso de descubrir lo que los usuarios buscan en el internet.

Aplicaciones de la minería

• En la empresa, detección de fraudes, formas de comprar etc.

1.4.3 Bases de datos distribuidas

Son las que almacenan datos lógicamente pertenecientes a un mismo sistema, pero
se encuentran físicamente en varios sitios de la red. Tal forma que, un usuario en
cualquier sitio puede acceder a los datos en cualquier parte de la red exactamente
como si estos fueran accedidos de forma local.

Un sistema de base de datos distribuida se compone de un conjunto de sitios,


conectados entre sí mediante algún tipo de red de comunicaciones en el cual:

• Cada sitio es un sistema de base de datos en sí mismo.

• Los sitios trabajan en conjunto si es necesario con el fin de que un usuario


de cualquier sitio pueda obtener acceso a los datos de cualquier punto en la
red.

Las bases de datos distribuidas pueden ser:

• Homogéneas: todos los sitios tienen el mismo SGBD, son consistentes de la


existencia de los demás sitios y cooperan en el procesamiento de las
solicitudes. Los sitios locales mantienen un mismo esquema y SGBD.
• Heterogénea: cada sitio puede tener un SGBD distinto, así como esquemas
diferentes.

Componentes de un sistema gestor distribuido

• Hardware: este se reduce a servidores y la red.

• Software:

Sistema manejador de base de datos distribuida (DDBMS): formado por las


transacciones y los administradores de la BD distribuida. Un DDBMS implica un
conjunto de programas que operan en diversas computadoras.

Administrador de transacciones distribuida (DTM): encargado de controlar y


coordinar las solicitudes de procesamiento de los programas de consulta o
transacciones y las traduce en acciones para los administradores BD.

Sistema manejador de base de datos (DBMS): programa que procesa cierta porción
de la BD distribuida. Se encarga de recuperar y actualizar datos del usuario,
generales de acuerdo con los comandos recibidos del DTM.

Nodo: es una computadora que ejecuta un DTM o DBM o ambos.

Objetivos de las bases de datos distribuidas:

• Autonomía local: significa que todas las operaciones en un sitio están


controladas por ese mismo sitio.

• No dependencia de un sitio central: no debe de haber ninguna dependencia


de un sitio central.

• Operación continua: confiabilidad y disponibilidad

• Independencia de ubicación: los usuarios no tienen que saber dónde están


almacenados físicamente los datos.

• Independencia de fragmentación: puede ser dividida en partes o fragmentos.


• Independencia de replicación: cuando un fragmento es replicado en varios
sitios distintos.

• Procesamiento de consultas distribuidas: se puede realizar una consulta en


cualquier sitio.

• Administración de transacciones distribuidas:

• Independencia de hardware: que el sistema funcione en diferentes


plataformas de hardware.

• Independencia de sistema operativo: que el sistema funcione en diferentes


plataformas de sistema operativo.

• Independencia de red: el sistema debe soportar variedad de redes de


comunicación:

• Independencia de DBMS: que el sistema no debe de usar estrictamente el


mismo DBMS.

Distribución de los datos

Una de las decisiones más importantes que el diseñador DB distribuida debe tomar
es el posicionamiento de la data en el sistema y el esquema bajo el cual lo desee
hacer.

• Centralizada: similar al modelo Cliente/Servidor, en el sentido que la BD


Distribuida está centralizada en un lugar y los usuarios están distribuidos.

• Replicadas: se realiza una copia de la BD y se coloca en cada sitio, la


desventaja que tiene es que es de un alto costo, pero todo vale la pena si
tenemos un sistema en el que se ha escribir pocas veces y leerse mucho y
en donde la disponibilidad y fiabilidad de los datos sea de máxima
importancia.

• Particionada o fragmentada: consiste en que solo hay una copia de cada


elemento, pero la información está distribuida a través de los nodos. La
fragmentación se puede realizar de 3 maneras:
Horizontal: los fragmentos son subconjuntos de la tabla.

Vertical: los fragmentos son subconjunto de los atributos con sus valores.

Mixto: se almacena fragmentos producto de restringir y proyectar una tabla.

• Hibrida: es la combinación de partición y replicación, se particiona la relación


y a la vez los fragmentos están selectivamente replicados a través del
sistema BDD.

Ventajas

• Confiabilidad: la probabilidad de que el sistema esté listo y funcionando en


cualquier momento dado. Ya que pueden continuar operando (a un nivel
reducido) cuando hay alguna falla en algún componente independiente, tal
como un sitio individual:

• Disponibilidad: la probabilidad de que el sistema esté listo y funcionando


continuamente a lo largo de un periodo especificado.

• Refleja una estructura organizada: los fragmentos de BD se ubican en los


departamentos a los que tienen relación.

• Autonomía local: un departamento puede controlar los datos que le


pertenecen.

• Rendimiento: los datos generalmente se ubican cerca del sitio con mayor
demanda, también los sistemas trabajan en paralelo, lo cual permite
balancear la carga en los servidores.

• Modularidad: se puede agregar, modificar o quitar sistema de la base de


datos sin afectar a los demás.

Desventajas

• Complejidad: se debe asegurar que BD sea transparente, se puede lidiar


con varios sistemas diferente que pueden tener complicaciones únicas.
• Economía: la complejidad y la infraestructura necesaria implica una mayor
mano de obra.

• Falta de experiencia: necesita mucho personal con experiencia o


conocimiento adecuado.

• Carencia de estándares: aun no existen metodologías o herramientas que


ayuden.

1.4.4 Sistemas Gestores de Bases de Datos en el mercado actual

Un DBMS/SGBD es un conjunto de programas que maneja la estructura de la base


de datos y controla el acceso a los datos guardados en ella. Además de servir como
intermediario entre el usuario y la base de datos.

Funciones.

• Manejo de diccionario de datos: definiciones y relaciones entre los datos


• Seguridad: fortalecer la seguridad y privacidad de la información
• Control de concurrencia: controla el acceso multiusuario.
• Integridad de datos: minimiza la redundancia y maximiza la consistencia de
datos.

1.5 SEGURIDAD DE DATOS


• Seguridad significa proteger los datos ante usuarios no autorizados.
• Integridad significa protegerlos de usuarios autorizados.
1.5.1 Codificación, compresión y detección de errores

CODIFICACIÓN

Es el proceso de asociar a cada símbolo otros símbolos. La codificación de bases


de datos está diseñada para impedir el acceso no autorizado a bases de datos
almacenadas localmente. La codificación de bases de datos ofrece un nivel de
seguridad adicional.

Cifrado simétrico: AES (estándar avanzado de codificación): se basa en varias


sustituciones, permutaciones y transformaciones lineales ejecutadas en bloques de
datos de 16 bytes. Estas operaciones se repiten varias veces, llamadas "rondas".
En cada ronda se calcula la clave de codificación, y es incorporado en los cálculos.
AES de cifrado es preferido por los gobiernos, los bancos y los sistemas de alta
seguridad de todo el mundo.

Cifrado asimétrico: RSA: trabaja con dos claves diferentes una clave pública y otra
privada. Ambas son complementarias entre sí, así que un mensaje cifrado con una
de ellas solo puede ser descifrado por su contraparte.

Cifrado de clave pública: en un esquema de clave pública tanto el algoritmo de


cifrado como la clave de cifrado están disponibles y, por lo tanto, cualquier persona
puede convertir el texto plano en texto cifrado. Pero la clave de descifrado
correspondiente se mantiene en secreto.

COMPRESIÓN

Consiste en representar la información en forma más compacta. La compresión es


un caso particular de la codificación, cuya característica principal es que el código
resultante tiene menor tamaño que el original. La compresión puede dividirse en dos
tipos:
• Compresión con pérdida: la información compactada generalmente no
puede reproducirse en forma exacta. Se logran altos índices de compresión
Eje. El audio, el video, fotografía.

• Compresión sin pérdida: los datos originales se recuperan exactamente del


modelo comprimido. Es usado para textos. Etc.

Algoritmos de codificación y compresión

• Shannon fanon: Construye un árbol, este algoritmo parte desde la raíz hacia
las hojas. En cada etapa, se intenta dividir el conjunto en dos conjuntos con
la probabilidad más parecida posible entre ambos. Se asigna un bit con valor
0 ó 1 a cada uno de estos dos nuevos conjuntos y se va repitiendo el proceso
de manera recursiva para cada nuevo conjunto creado hasta llegar a
conjuntos con un solo elemento que representarán un mensaje.

• Huffman: Construye un árbol, este algoritmo parte desde las hojas a la raíz.
Donde se construye un árbol binario. Donde se asigna 0 izquierdo y 1
derecho a las hojas para obtener la codificación binaria.

• Algoritmo RLE: trata de buscar repeticiones en serie de datos, si en un


fichero aparece una secuencia como "AAAAAA", ocupando 6 bytes se podría
almacenar simplemente "6A" que ocupa solo 2 bytes

DETECCIÓN DE ERRORES

Permiten detectar errores en la transmisión de datos.

• Paridad: Consiste en añadir un bit de más a la cadena que queremos


enviar, y que nos indicará si el número de unos (bits puestos a 1) es par o
es impar. Si es par incluiremos este bit con el valor = 0, y si no es así, lo
incluiremos con valor = 1.
El receptor ahora, repite la operación
de contar la cantidad de unos que hay
(menos el ultimo bit) y si coincide es
que no ha habido error.

• Suma de verificación: consiste en agrupar el mensaje a transmitir en


cadenas de una longitud determinada L no muy grande. Considerando a
cada cadena como un número entero numerado según el sistema de
numeración 2𝐿 − 1. A continuación, se suma el valor de todas las palabras
en las que se divide en mensaje y se añade el resultado al mensaje a
transmitir, pero cambia de signo.

Mensaje 101001110101

1. Acordar la longitud de cada cadena: 3

2. Acordar el sistema de numeración 23 − 1 = 7

3. Dividir el mensaje: 101 001 110 101

4. Asociar cada cadena con un entero: 5 1 6 5

5. Sumar todos los valores y añadir el numero cambiado de


signo: -17

6. Enviar 5 1 5 6 -17 codificado en binario

El receptor suma todos los valores; si la suma es 0, procesa el mensaje; si no se


ha producido un error

1.5.2 Respaldos

Una copia de seguridad o backups en tecnologías de la información e informática


es una copia de los datos originales que se realiza con el fin de disponer de un
medio para recuperación en caso de ser perdido. La importancia radica en que todos
los dispositivos de almacenamientos masivos de información tienen la posibilidad
de fallar por lo tanto es necesario que se cuente con una copia de seguridad de la
información.

Métodos para el respaldo de información:

• Manual: el usuario copia directamente los archivos a respaldar por medio de


comandos.

• Automático: por medio de una aplicación especializada, el usuario programa


los archivos a guardar y este respaldo se va actualizando en tiempo real
conforme se va registrando cambios en los registros.

Dispositivos y servicios para el respaldo de información

• Cintas Magnéticas: son dispositivos por excelencia, debido a su bajo costo


y gran capacidad de almacenamiento, desde el dispositivo de
almacenamiento principal. Se copian los archivos hacia la unidad que
escribe/lee las cintas.

• Servidores web: actualmente por medio del internet, es posible subir los
archivos a respaldar al servidor de algún proveedor, esto se hace por medio
de la red. La desventaja seria que la conexión tiene que ser muy veloz y
segura, para evitar que los datos sean interrumpidos mientras llegan al
servidor.

• Discos duros: actualmente estos son los que dominan el mercado, ya que
cuentan con muy alta capacidad para guardar datos, tanto en empresa como
en entornos domésticos ya que tienen una alta velocidad de lectura/escritura.

• Discos espejos de servidores: se trata de discos duros, que se van


autocopiando mientras se trabaja de manera normal, conforme el disco duro
principal de una computadora va modificando su información, una
computadora anexa va almacenando las acciones de este.
Tipos de copias de seguridad

• Completa: copia la totalidad en otro juego de soporte (HD, Cintas, DVD), la


ventaja es que se dispone de la totalidad de los datos, esto permite restaurar
los datos en un tiempo mínimo. La desventaja es que lleva tiempo realizarlo
y requiere más espacio de almacenamiento.

• Incremental: solo copia los datos que han variado desde la última copia total,
se puede ejecutar tantas veces como se desea pues solo guarda los cambios
más recientes. La ventaja es que copia una menor cantidad de datos, por ello
esas operaciones se realizan más rápido y exigen menos espacio para
almacenarlo.

• Diferencial: es similar al incremental la primera vez que se realiza, pues


copiara todos los datos que hayan cambiado desde el anterior, sin embargo,
cada vez que se vuelva a ejecutar, seguirá copiando todos los datos que
hayan cambiado desde el anterior completo.

• Copia diaria: Este tipo de copia guarda las modificaciones que se realizan
día con día.

1.5.3 Recuperación

En un sistema de base de datos significa principalmente la recuperación de la propia


base de datos, es decir, el restablecimiento de la misma a un estado correcto
después de que alguna falla haya ocasionado que el estado actual sea
inconsistente.

El escenario más común de "recuperación de datos" involucra una falla típicamente


de un solo disco, una sola partición, un solo sistema operativo, en este caso el
objetivo es simplemente copiar todos los archivos requeridos en otro disco. Para
recuperar a través de los tipos de Backups se pueden almacenar en diferentes
discos utilizando raid para recuperar en caso de fallas.
RAID:

Conjunto redundante de discos independientes. Hace referencia a un sistema que


usa múltiples unidades de almacenamiento de datos entre los que se distribuyen o
replican los datos. Dependiendo de su Nivel de RAID, los beneficios de un RAID
respecto a un único disco son varios de los siguientes: mayor integridad, mayor
tolerancia a fallos, mayor rendimiento y mayor capacidad.

Raid 0: Disco de Banda: Consiste en dividir la información entre los discos, ofrece
el mejor rendimiento, pero no tolerancia a los fallos. La capacidad total del RAID
será por tanto la suma de las capacidades de cada disco. Esta solución no
proporciona ningún tipo de redundancia, por lo que si un disco falla perderemos
todos los datos almacenados.

Raid 1: Disco en Espejo: Consiste en que crea otro disco en espejo donde sí se
guardan datos en el primero el segundo disco también tendrá esa información. Si el
disco primario falla el espejo continúa trabajando. Una vez sustituido el disco
averiado, los datos se reconstruyen al 100%. Tolerancia a fallos, no ofrece
rendimiento.

Raid 2: usa división a nivel de bits con un disco de paridad dedicado y usa un código
de Hamming para la corrección de errores. Este tipo usa el raid 1 bandeado en todos
los discos, con algunos de estos dedicados a almacenar información de verificación
y corrección de errores

Raid 3: utiliza X discos de datos y un disco adicional dedicado a la paridad. Toda la


información se escribe en los discos de forma paralela. De este modo, la velocidad
de transferencia del RAID equivale a la velocidad de transferencia de un disco
multiplicado por X. Sin embargo, solo se puede gestionar un E/S a la vez. Por esta
razón, el RAID-3 es mejor para sistemas de un solo usuario con aplicaciones que
contengan grandes registros.

Raid 4 IDA (acceso independiente con discos dedicados a la paridad): este tipo
usa grandes bandas, lo cual significa que podemos leer registros de cualquier disco
individual. Esto nos permite aprovechar la E/S traslapada para las operaciones de
lectura. Dado que todas las operaciones de escritura tienen que actualizar el disco
de paridad, no es posible la superposición E/S para ellas. El RAID-4 no ofrece
ninguna ventaja sobre el RAID-5

Raid 5: Paridad tolerancia a fallos, mejora en el rendimiento, mínimo 3 discos “2 de


datos, 1 guarda redundancia”, si se arruina uno de los dos primeros con la paridad
recuperamos el arruinado.

Raid 6: este tipo es similar al RAID-5, pero incluye un segundo esquema de paridad
distribuido por los distintos discos y por tanto ofrece tolerancia extremadamente alta
a los fallos y las caídas de disco.

Raid 7: este tipo incluye un sistema operativo incrustado de tiempo real como
controlador, haciendo las operaciones de caché a través de un bus de alta velocidad
y otras características de un ordenador sencillo. Todas las transferencias son
asíncronas. Y las E/S están centralizadas por la caché. Se necesita un disco de
paridad exclusivo.

Raid 1+0: mezcla de raid 1 y raid 0 (2 discos para guardar los datos en banda, 2
discos en reflejo) es una división de espejos.

Raid 0+1: es un raid usado para replicar y compartir datos entre varios discos. Es
un espejo de divisiones.

Los RAIDS más usados comúnmente son:

• RAID 0+1: Un espejo de divisiones


• RAID 1+0: Una división de espejos
• RAID 30: Una división de niveles RAID con paridad dedicada
• RAID 100: Una división de una división de espejos
• RAID 10+1: Un Espejo de espejos
Selección de un RAID

Una de las consideraciones principales es la velocidad de reconstrucción. En caso


de que falle un disco, el tiempo necesario para reconstruir sus datos puede ser
significativo y variara dependiendo de nivel de RAID.

• La reconstrucción es más sencilla en RAID nivel 1, ya que pueden copiarse


lo datos de otro disco.
• RAID nivel 0 se utiliza en las aplicaciones de altas prestaciones cuando el
problema de la perdida de datos no es crítico.
• RAID 0+1 y 1+0 se utilizan cuando son importantes tanto las prestaciones
como la fiabilidad.
• RAID nivel 5 suele preferirse para almacenar grandes volúmenes de datos.
• Los diseñadores de sistemas RAID y los administradores de dispositivos de
almacenamiento tienen que tomar decisiones. Por ejemplo, Cuantos discos
debe haber en un determinado conjunto de RAID, cuantos bits deben estar
protegidos por cada bit de paridad etc.

También podría gustarte