59769145-INTEGRIDAD-DE-DATOS (1)

11
 

Transcript of 59769145-INTEGRIDAD-DE-DATOS (1)

5/17/2018 59769145-INTEGRIDAD-DE-DATOS (1) - slidepdf.com

http://slidepdf.com/reader/full/59769145-integridad-de-datos-1 1/11

 

INTEGRIDAD DE DATOS

Definición:

La Integridad de datos es un término usado mucho en la Ingeniería informáticasobre todo en desarrollo de base de datos y eso puede describirse como conjunto

de seguridades que son utilizadas para asegurar o aseverar que los datos se

mantengan constantes y correctos, ya sea durante cualquier operación (tal como

transferencia, almacenaje o recuperación) dentro de la base de datos, la

preservación de estos datos son para su uso posterior y su utilización en la calidad

de los datos. Tal integridad se asegura a menudo por medio de un número

designado a Código de la integridad del mensaje (MIC) o Código de la

autentificación del mensaje (MAC).

Los SGBD relacional deben encargarse de mantener la integridad de los datos

almacenados en una base de datos con respecto a las reglas predefinidas o

restricciones. La integridad también puede verificarse inmediatamente antes del

momento de introducir los datos a la base de datos (por ejemplo, en un formulario

empleando validación de datos).

Errores Claves de Integridad

1. Un claro ejemplo de error de integridad es el ingreso de un tipo de dato

incorrecto dentro de un campo. Por ejemplo, ingresar un texto cuando se

espera un número entero.

2. También una error en la integridad en una base de datos puede ser la

existencia de un valor numérico (id cliente) en la compra de un producto por 

parte de un cliente que no existe en su correspondiente tabla con ese

número. (integridad referencial).

3. También puede suceder que se elimine una fila padre con dos o más filas

hijos que quedarían "huérfanas".

5/17/2018 59769145-INTEGRIDAD-DE-DATOS (1) - slidepdf.com

http://slidepdf.com/reader/full/59769145-integridad-de-datos-1 2/11

 

4. Los errores se originan si el programa de entrada de datos no está

validado. Ej.: fallas de hardware, actualizaciones incompletas, defectos del

software, inserción de datos no validos, errores humanos.

La integridad se puede comprometer a través:

El alterarse malévolo, tal como un atacante que altera un número de cuenta en

una transacción del banco, o de un documento de la identidad

El alterarse accidental, tal como a transmisión error, o un duro desplome del disco

Integridad de datos en a base de datos emparentada se trata a exactitud, a la

corrección, y a la validez de los datos en una base de datos. Una variedad común

de integridad de datos es integridad de referencia, que implica la prevención de

errores adentro Llave extranjera a Llave primaria relaciones, tales como un

expediente huérfano del niño que está faltando su expediente del padre (a veces

llamado una llave extranjera que cuelga).

Una tècnica que usa el BDMS de una entrada de datos no vàlida es la validación.

Restricciones de integridad

y  Datos Requeridos: establece que una columna tenga un valor no NULL.

Se define efectuando la declaración de una columna es NOT NULL cuando

la tabla que contiene las columnas se crea por primera vez, como parte de

la sentencia CREATE TABLE.

y  Chequeo de Validez: cuando se crea una tabla cada columna tiene un tipo

de datos y el DBMS asegura que solamente los datos del tipo especificado

sean ingresados en la tabla.

y  Integridad de entidad: establece que la clave primaria de una tabla debe

tener un valor único para cada fila de la tabla; si no, la base de datos

perderá su integridad. Se especifica en la sentencia CREATE TABLE. El

DBMS comprueba automáticamente la unicidad del valor de la clave

primaria con cada sentencia INSERT Y UPDATE. Un intento de insertar o

actualizar una fila con un valor de la clave primaria ya existente fallará.

5/17/2018 59769145-INTEGRIDAD-DE-DATOS (1) - slidepdf.com

http://slidepdf.com/reader/full/59769145-integridad-de-datos-1 3/11

 

y  Integridad referencial: asegura la integridad entre las claves ajenas y

primarias (relaciones padre/hijo). Existen cuatro actualizaciones de la base

de datos que pueden corromper la integridad referencial:

y La inserción de una fila hijo se produce cuando no coincide la clave ajena

con la clave primaria del padre.

y La actualización en la clave ajena de la fila hijo, donde se produce una

actualización en la clave ajena de la fila hijo con una sentencia UPDATE y

la misma no coincide con ninguna clave primaria.

y La supresión de una fila padre, con la que, si una fila padre -que tiene uno o

más hijos- se suprime, las filas hijos quedarán huérfanas.

y La actualización de la clave primaria de una fila padre, donde si en una fila

padre, que tiene uno o más hijos se actualiza su clave primaria, las filas

hijos quedarán huérfanas.

CATEGORIAS DE INTEGRIDAD

Dos pasos importantes en el diseño de las tablas son la identificación de valores

válidos para una columna y la determinación de cómo forzar la integridad de los

datos en la columna. La integridad de datos pertenece a una de las siguientescategorías:

Integridad de entidad

La integridad de entidad define una fila como entidad única para una tabla

determinada. La integridad de entidad exige la integridad de las columnas de los

identificadores o la clave principal de una tabla, mediante índices y restricciones

UNIQUE, o restricciones PRIMARY KEY.

Integridad de dominio

5/17/2018 59769145-INTEGRIDAD-DE-DATOS (1) - slidepdf.com

http://slidepdf.com/reader/full/59769145-integridad-de-datos-1 4/11

 

La integridad de dominio viene dada por la validez de las entradas para una

columna determinada. Puede exigir la integridad de dominio para restringir el tipo

mediante tipos de datos, el formato mediante reglas y restricciones CHECK, o el

intervalo de valores posibles mediante restricciones FOREIGN KEY, restricciones

CHECK, definiciones DEFAULT, definiciones NOT NULL y reglas.

Integridad referencial

La integridad referencial protege las relaciones definidas entre las tablas cuando

se crean o se eliminan filas. En SQL Server la integridad referencial se basa en las

relaciones entre claves externas y claves principales o entre claves externas y

claves exclusivas, mediante restricciones FOREIGN KEY y CHECK.La integridad

referencial garantiza que los valores de clave sean coherentes en las distintas

tablas. Para conseguir esa coherencia, es preciso que no haya referencias a

valores inexistentes y que, si cambia el valor de una clave, todas las referencias a

ella se cambien en consecuencia en toda la base de datos.

Cuando se exige la integridad referencial, SQL Server impide a los usuarios:

y Agregar o cambiar filas en una tabla relacionada si no hay ninguna fila

asociada en la tabla principal.y Cambiar valores en una tabla principal que crea filas huérfanas en una tabla

relacionada.

y Eliminar filas de una tabla principal cuando hay filas relacionadas

coincidentes.

y Por ejemplo, en las tablas Sales.SalesOrderDetail y Production.Product de

la base de datos AdventureWorks, la integridad referencial se basa en la

relación entre la clave externa (ProductID) de la tabla

Sales.SalesOrderDetail y la clave principal (ProductID) de la tabla

Production.Product. Esta relación garantiza que un pedido de ventas no

pueda nunca hacer referencia a un producto que no existe en la tabla

Production.Product.

5/17/2018 59769145-INTEGRIDAD-DE-DATOS (1) - slidepdf.com

http://slidepdf.com/reader/full/59769145-integridad-de-datos-1 5/11

 

Integridad definida por el usuario

La integridad definida por el usuario permite definir reglas de empresa específicas

que no pertenecen a ninguna otra categoría de integridad. Todas las categorías de

integridad admiten la integridad definida por el usuario. Esto incluye todas las

restricciones de nivel de columna y nivel de tabla en CREATE TABLE,

procedimientos almacenados y desencadenadores.

VALIDACIÓN DE INTEGRIDAD 

Validación: es proteger los datos, validar los datos en la entrada de datos.

Existen tipos de validaciones

y  Valor de Dato: si se define un valor entero se puede especificar un rango y

no se puede pasar de ese valor.

y  Valores Claves / No Nulos: asegura registros ùnicos y cuyos valores no

sean nulos.

INGENIERÍA REVERSA O INVERSA

(Reverse engineering). La ingeniería inversa es el proceso de descubrir los

principios tecnológicos de un dispositivo, objeto o sistema, a través de

razonamiento abductivo de su estructura, función y operación.

La ingeniería inversa se trata de tomar algo (un dispositivo mecánico o electrónico,

un software de computadora, etc.) para analizar su funcionamiento en detalle,

generalmente para intentar crear un dispositivo o programa que haga la misma o

similar tarea sin copiar la original.

Usos de la ingeniería inversa 

* La ingeniería inversa suele ser empleada por alguna entidad que se vea en la

necesidad de obtener la información, de lo que sus rivales en competencia

5/17/2018 59769145-INTEGRIDAD-DE-DATOS (1) - slidepdf.com

http://slidepdf.com/reader/full/59769145-integridad-de-datos-1 6/11

 

producen, en el caso de la informática nos referimos a los software que

desarrollan las grandes empresas y cada una de ellas usa esta ingeniería inversa.

* Muchas veces, la ingeniería inversa es utilizada en el área militar para investigar 

(y copiar) las tecnologías de otras naciones, sin obtener planos ni detalles de su

construcción o desarrollo.

* En el software y en el hardware, la ingeniería inversa, muchas veces es

empleada para desarrollar productos que sean compatibles con otros productos,

sin conocer detalles de desarrollo de éstos últimos. En otras palabras, quien

desarrolla los nuevos productos, no puede acceder a los detalles de fabricación de

los productos de los que intenta ser compatibles.

* La ingeniería inversa también es empleada para comprobar la seguridad de un

producto, generar keygens de aplicaciones, reparación de productos, etc.

PARA QUÉ SIRVE LA INGENIERIA INVERSA

y

Sirve para el desarrollo y creación de nuevos productos o modificación de los yaexistentes donde se requiere aprovechar y reutilizar todos los conocimientos ya

aplicados por algún otro desarrollador, además de ser rápida y efectiva para

resolver la necesidad que la empresa tenga, debido a que con la ingeniería

reversa podemos ahorrar costos en investigación y un considerable tiempo de

estudio.

yPara compararse con los mejores del mercado (benchmarking), evitando invertir 

recursos en una investigación y desarrollo que en el mejor de los casos va a llevar 

a obtener un producto similar al que ya está en el mercado.

yEn los casos de productos donde se ha perdido la información o nunca se ha

tenido en formato digital como el caso de piezas antiguas o rotas que se requieren

para efectos de seguimiento, mantenimiento y servicio postventa.

yModificación de prototipos y verificación de errores de manufactura.

5/17/2018 59769145-INTEGRIDAD-DE-DATOS (1) - slidepdf.com

http://slidepdf.com/reader/full/59769145-integridad-de-datos-1 7/11

 

yEn todos aquellos casos donde se requieran las definiciones numéricas de todos

los elementos que entran en juego en un planteamiento digital global para fines de

simulación de procesos.

La Ingeniería Inversa sobre las bases de datos, es comúnmente dividido en dos

fases claramente diferenciadas.

a) Extracción de las estructuras de datos, obteniendo como resultado el esquema

lógico. (Fase I)

b) Conceptualización de las estructuras de datos, obteniendo como resultado el

esquema conceptual. (Fase II)

Etapa 1: Extracción automática.

Inicialmente debemos extraer mediante herramientas automáticas todas las

estructuras de la base de datos cómo fueron diseñadas inicialmente por los

desarrolladores. Se trata por tanto de una etapa típica de traducción inmediata del

código para así extraer las estructuras de datos explícitas.

Etapa 2: Extracción acumulativa.

Se trata de una etapa en la que la participación de los usuarios del modelo de

datos con el que trabaja supondrá acumular más información de la obtenida en la

etapa anterior. Como hemos comentado anteriormente es posible que ciertas

reglas no puedan obtenerse directamente en la etapa 1, por lo que aprovechando

el conocimiento adquirido por los usuarios en el trabajo diario se podrá obtener 

información muy interesante.

Etapa 3: Unión del Esquema:

Se trata de una etapa ciertamente compleja, y de la que su éxito depende en gran

medida el proceso de reingeniería, pues consiste en unir y reconvertir las

estructuras y restricciones obtenidas en las dos fases anteriores. Así, con la

información obtenida en la etapa 2 se pretende complementar la información

5/17/2018 59769145-INTEGRIDAD-DE-DATOS (1) - slidepdf.com

http://slidepdf.com/reader/full/59769145-integridad-de-datos-1 8/11

 

obtenida en la etapa 1, ya sea para encontrar estructuras no explícitas o que

fueron perdidas cuando la base de datos fue diseñada. Para ello se localizarán:

a) Campos multivaluados.

b) Tipos registros e identificadores de campos multivaluados.

c) Campos opcionales.

d) Claves.

e) Redundancias.

f) Dominios.

g) Significado de los campos.

Etapa 4: Análisis de Programas.

En esta fase se realiza un estudio del código fuente existente, para comprobar que

las restricciones, forma de procesar los datos, significado, etc. se corresponde con

el estudio realizado en las fases anteriores. Es posible que esta etapa modifique el

resultado obtenido en las etapas anteriores, pero sería deseable que no existieran

cambios, pues de esa forma podríamos asegurarnos que lo hecho en las etapas

anteriores es correcto y vamos por un buen camino.

Fase II.

En esta fase se extrae el esquema conceptual a partir del esquema lógico. En

mucha bibliografía, a esta fase se le denomina Interpretación de las estructuras de

datos, pues se va a realizar una optimización del esquema lógico.

Etapa 1: Conceptualización básica.

 Así, un ejemplo de conceptualización básica podría ser si tenemos campos que

tienen la misma estructura y que se refieren a atributos de la entidad iguales, se

transformarán en un atributo multivaluado. Por ejemplo, en la entidad cliente

tenemos el campo Teléfono1, Teléfono2, etc. Otro ejemplo, podría ser cuando

campos con distinta estructura pero que se refieren a subcampos de un campo

5/17/2018 59769145-INTEGRIDAD-DE-DATOS (1) - slidepdf.com

http://slidepdf.com/reader/full/59769145-integridad-de-datos-1 9/11

 

multivaluado. Por ejemplo, el campo habitación, puede venir determinado por 

Planta, Número, Orientación, Número de camas, etc.

Etapa 2: Normalización.

La reforma del esquema conceptual tiene como objeto hacer una comprensión de

dicho modelo. En esta etapa de pretende aportar un significado en la semántica de

las construcciones explícitas. El objetivo es representar la información con una

metodología estándar que sea altamente legible.

MIGRACIÓN DE DATOS DE ORACLE A SQL SERVER

Migración de datos.- Migración de datos nos referimos al traspaso de información

entre bases de datos. Si tenemos una aplicación sobre una base de datos como

por ejemplo Access y posteriormente "crecemos" de manera que nos hace falta un

sistema gestor de bases de datos potente, lo más seguro es que nos decantemos

por Oracle, DB2, Informix, SQLServer o similares.

En este caso, los datos, que estarán en formato "access" deberán pasar a formato

"sqlserver" o formato para "oracle". La migración de los datos consiste en convertir 

los datos desde un sistema de base de datos a otro. Esta migración conlleva la

creación de tablas o modificación de las existentes, cambios en algunos tipos de

datos que existen en una base de datos pero no en otras, ejemplo sencillo(

Sqlserver utiliza String y Mysql trabaja con Varchar)

 Actualmente la mayoría de SGBD incluye herramientas de ayuda a la migración

más o menos "fiables". Sin embargo se requiere de un alto nivel de seguridad, no

podemos trabajar en modo de producción directamente, es necesario crear una

copia (BACKUP) para poder recién a trabajar, ya que un daño en la base de datos

sería irreparable.

5/17/2018 59769145-INTEGRIDAD-DE-DATOS (1) - slidepdf.com

http://slidepdf.com/reader/full/59769145-integridad-de-datos-1 10/11

 

ORACLE a SQL-SERVER

Dado que SQL-SERVER es el DBM con más crecimiento en el mercado dado a su

bajo costo en el mercado en comparación con Oracle o con DB2 por ejemplo.

Los clientes optan por adquirir este producto pero la gran mayoría han viniendo

trabajando con Oracle, dado este problema Microsoft ha desarrollado Un

asistente de migración de SQL SERVER (SSMA). 

Este sistema varias fases para el proceso de migración

Fase de evaluación

Fase de conversión de esquemas

Fase de migración de datos

Fase de Evaluación

El primer paso en la migración es evaluar la dificultad, tiempo y costo de la

migración. Los factores que contribuyen directamente a esta son la "complejidad"

de las bases de datos y de las aplicaciones que los utilizan. Aunque no existe una

medida formal de la complejidad de base de datos, una base de datos será cada

vez más compleja y costosa para migrar los objetos de lógica del negocio(procedimientos almacenados, funciones, triggers, paquetes, etc). Además de la

complejidad de migración son las diferencias de función del sistema entre las dos

plataformas. Funciones que ofrece en una plataforma no pueden ofrecer por el

otro, o puede haber diferencias semánticas o sintácticas en la ejecución de

funciones comunes.

SSMA Migración Analyzer un análisis profundo para obtener estimaciones del

tiempo y el esfuerzo necesarios para migrar una base de datos. La herramienta

proporciona una estimación de la mano de obra necesaria para migrar la base de

datos manualmente, así como el porcentaje de la base de datos que se pueden

convertir de forma automática.

5/17/2018 59769145-INTEGRIDAD-DE-DATOS (1) - slidepdf.com

http://slidepdf.com/reader/full/59769145-integridad-de-datos-1 11/11

 

Fase de Conversión de Esquemas.- Es la base para definir la base de datos

destino. Hay ciertos casos en el que Oracle no respeta el SQL-STANDART y

emplea su propia función, para ello se debe convertir a dicha función a otra

aceptable en SQL-server 

Un ejemplo muy claro son los tipos de datos, pero también se puede decir de la

creación de funciones, triggers, procedimientos almacenados, etc.

 Aquí tenemos un esquema de mapeo de objetos de oracle y sqlserver 

v archar2 v archar char char number numeric date datetimelong text nv archar2 nv archar boolean smallint 

Fase de Migración de Datos.- Una vez realizada la fase anterior SSMA se

encarga de migrar los datos del esquema de oracle (tablas, índices,restricciones) a un esquema físico de sqlserver.

Lo siguiente es migrar los datos (Registros) de oracle a sqlserver.

SQL Server Migration Assistant permite a los clientes migrar sus aplicaciones apartir de otra base de datos a SQL Server fácilmente y de manera predecible.Microsoft SQL Server automatiza el Asistente de Migración casi todos los aspectosde la migración de bases de datos. Como resultado, el tiempo, costo y riesgosasociados con la migración a SQL Server se reducen considerablemente.