La transformación de ERR a OO es como sigue:
Primer paso: Crear una clase OO para cada clase EER. El tipo de la clase Oo deberá incluir todos los atributos de la clase EER mediante un constructor de tupla en el nivel superior del tipo. Los atributos multivaluados se declaran a través de los constructores de bolsa, de conjunto o de lista. Si los valores del atributo multivaluado de un objeto deben estar ordenados, se eligirá el constructor de lista; si se permiten duplicados, deberá escogerse el constructor de bolsa. Los atributos compuestos se declaran con un constructor de tupla.
Segundo paso: Añadir atributos de referencia para cada vínculo binario a las clases OO que participen del vínculo. Los atributos pueden crearse en una dirección o en ambas; serán monovaluados para los vínculos binarios en la dirección 1:1 o N:1 y con valor de conjunto o con valor de lista para los vínculos en la dirección 1:N o M:N. Si un vínculo binario se representa con referencias en ambas direcciones, se debe declarar que cada referencia es el inverso de la otra, si existe el recurso para hacerlo. Si hay atributos de vínculo, puedo usarse un constructor de tupla para crear una estructura de la forma, la cual se incluye en lugar del atributo de referencia.
Tercer paso: Incluir métodos apropiados para cada clase. Éstos no están disponibles en el esquema ERR y se deberán agregar al diseño de la base de datos según se necesiten. Todo método constructor deberá incluir código que verifique cualesquier restricciones que se deben cumplir al crearse un nuevo objeto. Todo método destructor deberá verificar cualesquier restricciones que pudieran violarse al eliminarse el objeto.
Cuarto paso: Una clase OO que corresponda a una subclase en el esquema EER heredará el tipo y los métodos de su o sur superclases en el esquema OO.
Quinto paso: Los tipos de entidades débiles que no participan en ningún otro vínculo además de su vínculo de identificación se pueden transformar como si fueran atributos multivaluados compuestos del tipo de entidades propietario, empleando el constructor set(tuple())
Sexto paso: Los vínculos n-arios con n>2 pueden transformarse a un tipo de objetos aparte, con referencias apropiada a cada uno de los tipo de objetos participantes. Estas referencias se basan en hacer corresponder un vínculo 1:N de cada uno de los tipos de entidades participantes con el vínculo n-ario.
No hay comentarios:
Publicar un comentario