Está en la página 1de 8

FACULTAD: FACULTAD DE INGENIERÍA Y TECNOLOGÍA

CARRERAS: LIC. EN SISTEMAS DE INFORMACIÓN


LIC. EN TECNOLOGÍAS DE LA INFORMACIÓN
CÁTEDRA: BASES DE DATOS I
PROFESOR: LIC. CRISTIAN FERNANDO CERQUAND

Contenido
Modelamiento de Datos....................................................................................................................1
Definición de Transacción..................................................................................................................2
Calidad de una Base de datos.............................................................................................................4
Criterios de calidad.........................................................................................................................4
Escalabilidad.......................................................................................................................................6
Eficiencia............................................................................................................................................6

UNIDAD Nº 5: Modelado y calidad de datos

Modelamiento de Datos
Un modelo de datos es un lenguaje orientado a hablar de una Base de Datos. Típicamente un
modelo de datos permite describir:

Las estructuras de datos de la base: El tipo de los datos que hay en la base y la forma en que se
relacionan.

Las restricciones de integridad: Un conjunto de condiciones que deben cumplir los datos para
reflejar correctamente la realidad deseada.

Operaciones de manipulación de los datos: típicamente, operaciones de agregado, borrado,


modificación y recuperación de los datos de la base.

Otro enfoque es pensar que un modelo de datos permite describir los elementos de la realidad
que intervienen en un problema dado y la forma en que se relacionan esos elementos entre sí.

No hay que perder de vista que una Base de Datos siempre está orientada a resolver un problema
determinado, por lo que los dos enfoques propuestos son necesarios en cualquier desarrollo de
software.

Sublenguajes de un modelo de datos

Un modelo de datos es un lenguaje que, típicamente, tiene dos sublenguajes:

Un Lenguaje de Definición de Datos o DDL (Data Definition Language), orientado a describir de


una forma abstracta las estructuras de datos y las restricciones de integridad.

1
FACULTAD: FACULTAD DE INGENIERÍA Y TECNOLOGÍA
CARRERAS: LIC. EN SISTEMAS DE INFORMACIÓN
LIC. EN TECNOLOGÍAS DE LA INFORMACIÓN
CÁTEDRA: BASES DE DATOS I
PROFESOR: LIC. CRISTIAN FERNANDO CERQUAND

Un Lenguaje de Manipulación de Datos o DML (Data Manipulation Language), orientado a


describir las operaciones de manipulación de los datos.

A la parte del DML orientada a la recuperación de datos, usualmente se le llama Lenguaje de


Consulta o QL (Query Language).

Una clasificación de los modelos de datos

Una opción bastante usada a la hora de clasificar los modelos de datos es hacerlo de acuerdo al
nivel de abstracción que presentan:

Modelos de Datos Conceptuales

Son los orientados a la descripción de estructuras de datos y restricciones de integridad. Se usan


fundamentalmente durante la etapa de Análisis de un problema dado y están orientados a
representar los elementos que intervienen en ese problema y sus relaciones. El ejemplo más típico
es el Modelo Entidad-Relación.

Modelos de Datos Lógicos

Son orientados a las operaciones más que a la descripción de una realidad. Usualmente están
implementados en algún Manejador de Base de Datos. El ejemplo más típico es el Modelo
Relacional, que cuenta con la particularidad de contar también con buenas características
conceptuales (Normalización de bases de datos).

Modelos de Datos Físicos

Son estructuras de datos a bajo nivel implementadas dentro del propio manejador. Ejemplos
típicos de estas estructuras son los Árboles B+, las estructuras de Hash, etc.

Definición de Transacción
Una transacción es una interacción con una estructura de datos compleja, compuesta por varios
procesos que se han de aplicar uno después del otro. La transacción debe realizarse de una sola
vez y sin que la estructura a medio manipular pueda ser alcanzada por el resto del sistema hasta
que se hayan finalizado todos sus procesos.

Ejemplo

La transferencia de fondos entre dos cuentas corrientes de un banco. Si queremos transferir,


supongamos $5000 de la cuenta corriente de A y B y las cuentas tienen, respectivamente, $20000
y $0 de saldo los pasos lógicos serían:

1. Comprobar si en la cuenta A hay dinero suficiente.

2
FACULTAD: FACULTAD DE INGENIERÍA Y TECNOLOGÍA
CARRERAS: LIC. EN SISTEMAS DE INFORMACIÓN
LIC. EN TECNOLOGÍAS DE LA INFORMACIÓN
CÁTEDRA: BASES DE DATOS I
PROFESOR: LIC. CRISTIAN FERNANDO CERQUAND

2. Restar 5000€ de la cuenta de A, con lo que su saldo pasa a ser de $15000.


3. Sumar $5000 a la cuenta de B, con lo que los saldos quedan A= $15000 y B= $5000

Ahora bien, si entre el paso 2 y el 3 el sistema sufre una parada o error inesperado las cuentas
quedarían como A= 15000 y B= 0 con lo cual se han volatilizado $5000 y presumiblemente ni A ni B
estarán contentos, y hubiesen preferido que la transacción nunca hubiese sido iniciada.

Este ejemplo ilustra por qué las transacciones tienen un comportamiento deseado de Todo o
nada, o se realiza completamente o no debe tener ningún efecto.

Propiedades

Las transacciones deben cumplir cuatro propiedades ACID:

1. Atomicidad (Atomicity): es la propiedad que asegura que la operación se ha realizado o no,


y por lo tanto ante un fallo del sistema no puede quedar a medias.
2. Consistencia (Consistency): es la propiedad que asegura que sólo se empieza aquello que
se puede acabar. Por lo tanto, se ejecutan aquellas operaciones que no van a romper la
reglas y directrices de integridad de la base de datos.
3. Aislamiento (Isolation): es la propiedad que asegura que una operación no puede afectar a
otras. Esto asegura que la realización de dos transacciones sobre la misma información
nunca generará ningún tipo de error.
4. Permanencia (Durability): es la propiedad que asegura que una vez realizada la operación,
ésta persistirá y no se podrá deshacer aunque falle el sistema.

La atomicidad frente a fallos se suele implementar con mecanismos de journaling, y la protección


frente a accesos concurrentes mediante bloqueos en las estructuras afectadas. La serialibilidad
viene garantizada por la atomicidad. La permanencia se suele implementar forzando a los
periféricos encargados de almacenar los cambios a confirmar la completa y definitiva transmisión
de los datos al medio (generalmente, el disco).

La forma algorítmica que suelen tener las transacciones es la siguiente:

iniciar transacción (lista de recursos a bloquear)

ejecución de las operaciones individuales.

if (todo_ok){

aplicar_cambios

else{

3
FACULTAD: FACULTAD DE INGENIERÍA Y TECNOLOGÍA
CARRERAS: LIC. EN SISTEMAS DE INFORMACIÓN
LIC. EN TECNOLOGÍAS DE LA INFORMACIÓN
CÁTEDRA: BASES DE DATOS I
PROFESOR: LIC. CRISTIAN FERNANDO CERQUAND

cancelar_cambios

En cualquier momento, el programa podría decidir que es necesario hacer fallar la transacción, con
lo que el sistema deberá revertir todos los cambios hechos por las operaciones ya hechas. En el
lenguaje SQL se denomina COMMIT a aplicar_cambios y ROLLBACK a cancelar_cambios.

Las transacciones suelen verse implementadas en sistemas de bases de datos y, más


recientemente, se han visto incorporadas a como gestiona un sistema operativo la interacción con
un sistema de archivos (como varias características de las bases de datos, debido a que son muy
similares arquitectónicamente).

Calidad de una Base de datos.


Criterios de calidad
 Legibilidad: El diseño de una base de datos ha de estar redactado con la suficiente claridad
para que pueda ser entendido rápidamente. El lenguaje utilizado debe ser lo
suficientemente claro, conciso y detallado para que explique con total claridad el diseño
del modelo, sus objetivos, sus restricciones, en general todo aquello que afecte al sistema
de forma directa o indirecta. En este punto conviene aplicar el principio que una imagen
vale más que mil palabras, pero en ocasiones son necesarias esas mil palabras y obviar la
imagen.
 Fiabilidad : Se trata de realizar un sistema de bases de datos lo suficientemente robusto
para que sea capaz de recuperarse frente a errores o usos inadecuados. Se deben utilizar
gestores con las herramientas necesarias para la reparación de los posibles errores que las
bases de datos pueden sufrir, por ejemplo tras un corte inesperado de luz.
 Portabilidad: El diseño deber permitir la implementación del modelo físico en diferentes
gestores de bases de datos.
 Modificabilidad: Ningún sistema informático es estático, las necesidades de los usuarios
varían con el tiempo y por lo tanto las bases de datos se deben adaptar a las nuevas
necesidades, por lo que se precisa que un buen diseño facilite el mantenimiento, esto es,
las modificaciones y actualizaciones necesarias para adaptarlo a una nueva situación.
 Eficiencia: Se deben aprovechar al máximo los recursos de la computadora, minimizando
la memoria utilizada y el tiempo de proceso o ejecución, siempre que no sea a costa de los
requisitos anteriores. En este punto se debe tener en cuenta los gestores cliente / servidor
de bases de datos. En muchas ocasiones es más rentable cargar de trabajo al servidor y
liberar recursos de los clientes, pero no todos los gestores permiten este tipo de trabajo,
por lo tanto se ha de tener en cuenta estas dos circunstancias en el diseño de la base de
datos.

4
FACULTAD: FACULTAD DE INGENIERÍA Y TECNOLOGÍA
CARRERAS: LIC. EN SISTEMAS DE INFORMACIÓN
LIC. EN TECNOLOGÍAS DE LA INFORMACIÓN
CÁTEDRA: BASES DE DATOS I
PROFESOR: LIC. CRISTIAN FERNANDO CERQUAND

 Auto descripción: En la documentación generada debe estar todo el detalle del diseño,
evitando referencias a otros documentos que no estén incluidos dentro de la
documentación de la base de datos.
 Trivialidad: Tanto el diseño como la implantación se deben realizar utilizando los
estándares fijados a priori, estos estándares deberán quedar reflejados al inicio del
documento.
 Claridad: Todos los documentos deben estar redactados de forma clara y fácil de
entender, los nombre utilizados para las tablas, los campos, índices, etc. deben ser
autodescriptivos y estar perfectamente documentados.
 Coherencia: Las anotaciones y terminología utilizada deben ser uniformes, para ello se
debe seguir algún tipo de metodología estándar, indicado cual se ha empleado, en los
casos en que se utilice alguna metodología no estándar se debe adjuntar a la
documentación.
 Completo: Todos los elementos constitutivos de la base de datos existen, no se han
dejado partes incompletas, sin documentar o sin implementar.
 Concisión: No existen elementos inútiles ni repetitivos. En este apartado hay que hacer un
especial hincapié en la repetición de datos en diferentes tablas, hay que evitar a toda
costa que el mismo dato se repita en varias tablas para conseguir así una optimización del
tamaño de la base de datos.
 Facilidad de Aprendizaje: La documentación de la base de datos se puede utilizar sin
necesidad de otros conocimientos informáticos fuera del alcance del diseño e
implementación de la base de datos.
 Facilidad de Uso: Los datos deben ser fáciles de elaborar y los resultados fáciles de
entender.
 Generalidad: La base de datos debe ser capaz de adaptarse a cualquier tipo de empresa y
a cualquier casuística.
 Independencia de Usuario: La base de datos no debe estar ligada a la utilización en una
única instalación, hay que tener en cuenta que, aunque se trate de un desarrollo a
medida, en un futuro se podría realizar la instalación en un cliente diferente al inicial.
 Independencia de Sistema: Las prestaciones y diseño de la base de datos no están
vinculadas al entorno.
 Independencia de Instalación: La base de datos se puede transportar fácilmente de una
instalación a otra.
 Modularidad: La base de datos puede ser descompuesta en elementos independientes. Si
se trata de un diseño grande, en donde hay un gran número de tablas, conviene realizar
agrupaciones entre ella, creando módulos funcionales que permitan la mejor compresión
del diseño y de la implantación.
 Observable: La base de datos debe permitir observar los accesos a los datos. Siempre que
se pueda hay que dejar un rastro de la utilización de los datos por parte de los usuarios,

5
FACULTAD: FACULTAD DE INGENIERÍA Y TECNOLOGÍA
CARRERAS: LIC. EN SISTEMAS DE INFORMACIÓN
LIC. EN TECNOLOGÍAS DE LA INFORMACIÓN
CÁTEDRA: BASES DE DATOS I
PROFESOR: LIC. CRISTIAN FERNANDO CERQUAND

esta información ayuda al redimensionado de la base de datos y a conocer el número de


accesos a los datos.
 Precisión: Los cálculos efectuados se deben realizar con la precisión requerida.
 Protección: La base de datos debe permitir la protección de los datos frente a usos no
debidos, para ello hay que elaborar un sistema de accesos definiendo diferentes usuarios
con diferentes claves y especificar que autorizaciones tendrá cada usuario sobre los
diferentes datos.
 Trazabilidad: Tomando como punto de partida la versión actual se puede remontar su
diseño hasta las especificaciones iniciales

Escalabilidad.
Es la propiedad deseable de un sistema, una red, una base de datos o un proceso, que indica su
habilidad para:
 Extender el margen de operaciones sin perder calidad.
 Manejar el crecimiento continuo de trabajo de manera fluida.
 Estar preparado para hacerse más grande sin Perder calidad en los servicios ofrecidos.
 Cambiar su tamaño o configuración para adaptarse A las circunstancias cambiantes.
 Un sistema cuyo rendimiento es mejorado después de haberle añadido más capacidad
hardware,
Proporcionalmente a la capacidad añadida, se dice que pasa a ser un “sistema escalable”.
La escalabilidad puede ser clasificada en:
Escalabilidad en carga: esta cae dentro de los sistemas distribuidos, ya Que hacen ampliar o
disminuir los recursos Para acomodar las cargas más pesadas o Ligeras según lo que se requiera.
Escalabilidad geográfica: es cuando un sistema no se ve afectado por las Distancias geográficas
que puedan haber entre Los usuarios.
Escalabilidad administrativa: esta debe de manejarse con facilidad sin Importar las organizaciones
que necesiten Compartir un solo sistema distribuido.
Ejemplo: un sistema de procesamiento y transacción en línea O un sistema administrador de base
de datos Escalable se puede actualizar para procesar más Servicios sumándole dispositivos y
Almacenamiento, que pueden implementarse con Facilidad por medio de los procesadores
nuevos.
Escalabilidad vertical y horizontal:
 Vertical: agregar más recursos a un mismo nodo.
 Horizontal: distribuir el volumen de datos y carga de Trabajo entre múltiples servidores
que Administran el balanceo de carga.
Existe la posibilidad de agregar o quitar Servidores para aumentar o disminuir la Capacidad de
procesamiento.
Mediante la distribución de la carga de Trabajo los recursos de procesamiento se Reparten entre
múltiples servidores.
Escalabilidad en un Base de Datos relacional: significa que se puede incrementar el número de
Atributos, entidades y relaciones entre las Entidades para actualizar los requerimientos.

6
FACULTAD: FACULTAD DE INGENIERÍA Y TECNOLOGÍA
CARRERAS: LIC. EN SISTEMAS DE INFORMACIÓN
LIC. EN TECNOLOGÍAS DE LA INFORMACIÓN
CÁTEDRA: BASES DE DATOS I
PROFESOR: LIC. CRISTIAN FERNANDO CERQUAND

Eficiencia.
Etimología: del latín efficientia.
Eficiencia es el estado o cualidad de ser eficiente, de Tener la capacidad de producir cierto
resultado o Efecto.
Eficiencia es la capacidad de hacer un trabajo Minimizando el consumo de recursos.
Eficacia: hacer las cosas bien, con los mejores Métodos posibles para lograr el objetivo.
EMC y ORACLE apoyan a las organizaciones de Tecnologías de la información (ti) para que
Implementen una infraestructura de la información Óptima a fin de equilibrar tres objetivos:
 La reducción de costos.
 La moderación de riesgos.
 La generación de valor.
Los principales desafíos para lograr la eficiencia (según EMC y ORACLE):
Control del costo del crecimiento: según estudios estadísticos, una vez Implementadas, las Base
de Datos crecen a un ritmo Superior al 30% anual. El aprovisionamiento y la planificación
Adecuados de la capacidad resultan Fundamentales para garantizar un rendimiento Consistente a
escala.
Se debe proyectar el camino de crecimiento actual o futuro de la implementación de la Base de
Datos y evaluar si está aprovechando la consolidación y la virtualización en pos de la eficiencia.
Maximización del rendimiento: después de la implementación las Base de Datos Generalmente
requieren un ajuste continuo. Se debe comprender los tiempos de respuesta Deseados y los
niveles de servicio requeridos Para cada implementación. Se debe implementar las mejores
herramientas Para garantizar la colaboración entre los Administradores de almacenamiento y los
Administradores de Base de Datos a medida que monitorean, ajustan y optimizan la
infraestructura de la Información del Sistena de Gestión de Base de Datos .
Garantía de la continuidad completa del Negocio: mantener en funcionamiento las aplicaciones De
negocios implica más que simplemente Replicar los archivos de las bd. Debe comprender los
objetivos de tiempo de Recuperación y de punto de recuperación de Cada aplicación
implementada en la Infraestructura del Sistena de Gestión de Base de Datos. Cuando se planee
usar la replicación, se debe Comprender los casos de uso y el impacto de Garantizar la consistencia
de transacciones Durante la replicación de la Base de Datos. Al implementar la recuperación de
desastres en Sitios remotos se debe asegurar que las Soluciones puedan proteger los archivos de
bd, Las aplicaciones y el middleware, a fin de Garantizar un reinicio del negocio rápido y Eficiente.
Protección interna y externa de la Infraestructura de ti: las Base de Datos y las aplicaciones que
soportan suelen Alojar información corporativa confidencial. Se debe determinar si se está en
posición de manejar la autenticación de usuarios internos y externos, y de encriptar datos “en
reposo”. Se debe determinar si puede establecer de manera Eficiente políticas de acceso seguro
en la Organización para las distintas aplicaciones de Base de Datos.
Optimización de data warehousing frente a oltp (proceso de transacciones en línea):
La implementación de unSistena de Gestión de Base de Datos en ambientes de Data warehouse
frente a OLTP tradicional Requiere diversos enfoques respecto de la Infraestructura de la
información. Es necesario optimizar redes, servidores y almacenamiento de manera exclusiva para
cada Enfoque.
Esto se aplica especialmente si el data Warehouse será una extensión de un ambiente de
producción existente o si se implementará Como una configuración de dispositivo Independiente.

7
FACULTAD: FACULTAD DE INGENIERÍA Y TECNOLOGÍA
CARRERAS: LIC. EN SISTEMAS DE INFORMACIÓN
LIC. EN TECNOLOGÍAS DE LA INFORMACIÓN
CÁTEDRA: BASES DE DATOS I
PROFESOR: LIC. CRISTIAN FERNANDO CERQUAND

Efectividad es la capacidad o habilidad que puede demostrar una persona, un animal, una
máquina, un dispositivo o cualquier elemento para obtener determinado resultado a partir de una
acción. Es equivalente a eficacia (del latín efficacia).
La eficiencia es la capacidad de lograr el efecto en cuestión con el mínimo de recursos posibles
viables.

También podría gustarte