Anda di halaman 1dari 5

3.

Elaborar un documento de no más de 5 páginas haciendo una descripción de los


siguientes términos (cada participante aporta con 3 o 4 itmes), luego se hace la revisión
para consolidar el informe final

DESARROLLO:

✓ Entidades fuertes y débiles:


Cuando una entidad participa en una relación puede adquirir un papel fuerte o débil. Una
entidad débil es aquella que no puede existir sin participar en la relación; es decir, aquella
que no puede ser unívocamente identificada solamente por sus atributos.
Una entidad fuerte (también conocida como entidad regular) es aquella que sí puede ser
identificada unívocamente. En los casos en que se requiera, se puede dar que una entidad
fuerte "preste" algunos de sus atributos a una entidad débil para que esta última se pueda
identificar.

Las entidades débiles se representan- mediante un doble rectángulo; es decir, un rectángulo


con doble línea. Se puede hablar de la existencia de 2 tipos de dependencias en las
entidades débiles:
✓ Herencia:
La herencia es un intento de adaptación de estos diagramas al paradigma orientado a
objetos. La herencia es un tipo de relación entre una entidad "padre" y una entidad "hijo".
La entidad "hijo" hereda todos los atributos y relaciones de la entidad "padre". Por tanto, no
necesitan ser representadas dos veces en el diagrama. La relación de herencia se representa
mediante un triángulo interconectado por líneas a las entidades. La entidad conectada por el
vértice superior del triángulo es la entidad "padre". Solamente puede existir una entidad
"padre" (herencia simple). Las entidades "hijo" se conectan por la base del triángulo.
En programación orientada a objetos, la herencia es, después de la agregación o
composición, el mecanismo más utilizado para alcanzar algunos de los objetivos más
preciados en el desarrollo de software como lo son la reutilización y la extensibilidad. A
través de ella, los diseñadores pueden crear nuevas clases partiendo de una clase o de una
jerarquía de clases preexistente (ya comprobadas y verificadas) evitando con ello el
rediseño, la modificación y verificación de la parte ya implementada. La herencia facilita la
creación de objetos a partir de otros ya existentes e implica que una subclase obtiene todo el
comportamiento (métodos) y eventualmente los atributos (variables) de su superclase.
En los lenguajes que cuentan con un sistema de tipos fuerte y estrictamente restrictivo con
el tipo de datos de las variables, la herencia suele ser un requisito fundamental para poder
emplear el Polimorfismo, al igual que un mecanismo que permita decidir en tiempo de
ejecución qué método debe invocarse en respuesta a la recepción de un mensaje, conocido
como enlace tardío o enlace dinámico.

✓ Agregación:
La agregación es un tipo de asociación que indica que una clase es parte de
otra clase (composición débil). Los componentes pueden ser compartidos por
varios compuestos (de la misma asociación de agregación o de varias
asociaciones de agregación distintas). La destrucción del compuesto no
conlleva la destrucción de los componentes. Habitualmente se da con mayor
frecuencia que la composición.
La agregación se representa en UML mediante un diamante de color blanco
colocado en el extremo en el que está la clase que representa el “todo”.
Veamos un ejemplo de agregación:

• Tenemos una clase Empresa.


• Tenemos una clase Cliente.
• Una empresa agrupa a varios clientes.

La agregación es un concepto de abstracción para construir objetos


compuestos a partir de sus objetos componentes. Permite combinar entidades
entre las que existe una interrelación y formar una entidad de más alto nivel.
Es útil cuando la entidad de más alto nivel se tiene que interrelacionar con otra
entidad.

✓ Restricciones:

Una restricción consiste en la definición de una característica adicional que tiene una
columna o una combinación de columnas, suelen ser características como valores no nulos
(campo requerido), definición de índice sin duplicados, definición de clave principal y
definición de clave foránea (clave ajena o externa, campo que sirve para relacionar dos
tablas entre sí).
restricción1: una restricción de tipo 1 es una restricción que aparece dentro de la definición
de la columna después del tipo de dato y afecta a una columna, la que se está definiendo.
restricción2: una restricción de tipo 2 es una restricción que se define después de definir
todas las columnas de la tabla y afecta a una columna o a una combinación de columnas.

La cláusula NOT NULL indica que la columna no podrá contener un valor nulo, es decir
que se deberá rellenar obligatoriamente y con un valor válido (equivale a la propiedad
requerido Sí de las propiedades del campo).
La cláusula CONSTRAINT sirve para definir una restricción que se podrá eliminar cuando
queramos sin tener que borrar la columna. A cada restricción se le asigna un nombre que
se utiliza para identificarla y para poder eliminarla cuando se quiera.
Como restricciones tenemos la de clave primaria (clave principal), la de índice único (sin
duplicados), la de valor no nulo, y la de clave foránea.
La cláusula PRIMARY KEY se utiliza para definir la columna como clave principal de la
tabla. Esto supone que la columna no puede contener valores nulos ni pueden haber
valores duplicados en esa columna, es decir que dos filas no pueden tener el mismo valor
en esa columna.
En una tabla no pueden haber varias claves principales, por lo que no podemos incluir la
cláusula PRIMARY KEY más de una vez, en caso contrario la sentencia da un error. No
hay que confundir la definición de varias claves principales con la definición de una clave
principal compuesta por varias columnas, esto último sí está permitido y se define con una
restricción de tipo 2.
La cláusula UNIQUE sirve para definir un índice único sobre la columna. Un índice único
es un índice que no permite valores duplicados, es decir que si una columna tiene definida
un restricción de UNIQUE no podrán haber dos filas con el mismo valor en esa columna.
Se suele emplear para que el sistema compruebe el mismo que no se añaden valores que ya
existen, por ejemplo si en una tabla de clientes queremos asegurarnos que dos clientes no
puedan tener el mismo D.N.I. y la tabla tiene como clave principal un código de cliente,
definiremos la columna DNI con la restricción de UNIQUE.
La cláusula NOT NULL indica que la columna no puede contener valores nulos, cuando
queremos indicar que una columna no puede contener el valor nulo lo podemos hacer sin
poner la cláusula CONSTRAINT, o utilizando una cláusula CONSTRAINT.
La última restricción que podemos definir sobre una columna es la de clave foránea,
una clave foránea es una columna o conjunto de columnas que contiene un valor que hace
referencia a una fila de otra tabla, en una restricción de tipo 1 se puede definir con la
cláusula REFERENCES, después de la palabra reservada indicamos a qué tabla hace
referencia, opcionalmente podemos indicar entre paréntesis el nombre de la columna
donde tiene que buscar el valor de referencia, por defecto coge la clave principal de la
tabla2, si el valor que tiene que buscar se encuentra en otra columna de tabla2, entonces
debemos indicar el nombre de esta columna entre paréntesis, además sólo podemos utilizar
una columna que esté definida con una restricción de UNIQUE, si la columna2 que
indicamos no está definida sin duplicados, la sentencia CREATE nos dará un error.

Anda mungkin juga menyukai