Searching...
lunes, 26 de septiembre de 2016

Restricciones en los Modelos de Datos

El tercer componente de un modelo de datos son las restricciones. Una restricción de datos es una expresión lógica, lo que significa que se puede calcular y comprobar si la expresión es cierta o falsa. Las restricciones forman parte del modelo de datos, ya que pueden especificar algo sobre la semántica, es decir, sobre el significado de los datos. Por ejemplo, la restricción de que una semana tiene siete y solo siete días es algo de lo que no sería consciente un sistema de información de no ser porque se le transfiere este conocimiento bajo la forma de una restricción.

Reforzamos la semántica de datos estableciendo restricciones

Otra restricción puede consistir en indicar al sistema que el número de títulos de una película se limita a uno. Tal y como veremos en el siguiente módulo, diferentes modelos de datos tienen diferentes tipos de restricciones.

Una restricción de valor es una expresión lógica sobre los valores de los datos. Antes hemos dicho que la edad, es decir, el valor de los elementos de datos que representan la edad de una entidad, no puede ser negativo.

También hemos visto un ejemplo de restricción de unicidad cuando hemos indicado que todas las películas solo pueden tener un título. En lenguaje lógico, no debe existir ningún objeto de datos que sea una película y que tenga más de un título. Es fácil darse cuenta de que aplicar estas restricciones nos obliga a contar el número de títulos y luego verificar que es igual a uno.

Esto puede generalizarse para contar el número de valores asociados a cada objeto y comprobar si se encuentra dentro de un rango. Esto es lo que se conoce normalmente como una restricción de cardinalidad de la propiedad de los datos, En este ejemplo del campo de la medicina, la restricción tiene un limite inferior de 0 y un límite superior de 3.

Se puede aplicar un tipo diferente de restricción de valor restringiendo el tipo de datos permitidos en un campo. Si no tuviéramos esa restricción, podríamos meter cualquier tipo de datos en el campo. Por ejemplo, podemos tener el valor -99 del apellido de una persona. Obviamente eso sería un error. Para garantizar que esto no suceda se puede imponer que el tipo del apellido sea una cadena alfabética no numérica. El siguiente ejemplo muestra una expresión lógica para esta restricción.



Una restricción de tipo es una clase especial de restricción de dominio. El dominio de una propiedad o atributo de datos es el conjunto de valores posibles permitidos para dicho atributo. Por ejemplo, los valores posibles para la parte del día del campo de fecha pueden estar entre 1 y 31, mientras que un mes puede tener un valor comprendido entre 1 y 12 o, alternativamente, un valor del conjunto {enero, febrero, ..., diciembre}. Se puede concebir una restricción más compleja en la que el valor de la fecha para abril, junio, y para septiembre y noviembre, esté restringido entre 1 y 30.



Si lo piensas con detenimiento verás que las tres restricciones que hemos descrito anteriormente son restricciones de valor, por lo que solo indican cómo restringir los valores de una propiedad de datos. Las propiedades estructurales difieren notablemente puesto que restringen la estructura de datos. He elegido un ejemplo más complejo para ilustrar esto. Imagina que tienes una matriz cómo la del ejemplo con la restricción de ser una matriz cuadrada, de modo que el número de columnas sea exactamente igual al número de filas. No hemos puesto ninguna restricción en el número de filas o de columnas, sólo decimos que tienen que ser las mismas. Esto limita la estructura de la matriz e implica que el número de entradas de la estructura sea una potencia de 2. Si convertimos esta matriz a una tabla con tres columnas cómo la que se muestra en el ejemplo, e imponemos la misma restricción de ortogonalidad, esto se traduce en una condición más compleja en la que el número de filas de datos es igual al cuadrado del número de valores únicos de la primera columna de la tabla. Veremos más restricciones estructurales en el siguiente módulo.

Restricciones estructurales

0 comentarios:

Publicar un comentario

Gracias por participar en esta página.

 
Back to top!