¿Cuál es la diferencia entre especialización y generalización en DBMS?

El término generalización se trata de un enfoque ascendente en el que dos entidades de nivel inferior se combinan para formar una entidad de nivel superior. En general, la entidad de nivel superior también puede combinarse con otra entidad de nivel inferior para crear una entidad de nivel superior.

E: g si tenemos una cuenta bancaria, entonces tenemos una división adicional que cuenta como el tipo de cuenta, por lo que los tipos de cuenta pueden ser cuenta corriente o comercial, también esa cuenta corriente o guardar el enfoque ascendente de menor a mayor nivel de entidad.

Y sobre la especialización es lo opuesto a la generalización. Es un enfoque de arriba hacia abajo en el que una entidad de nivel superior se puede dividir en dos entidades de nivel inferior. En la inspección, algunas entidades de nivel superior pueden no tener conjuntos de entidades de nivel inferior en general.

{ x

Originalmente, los dos términos se derivan de la programación orientada a objetos. Pero se pueden usar de la misma manera incluso en bases de datos relacionales. Están relacionados con los conceptos de abstracción. La ‘generalización’ convierte algunos objetos pequeños (o relaciones) en un gran objeto general (relación). Y ‘Especialización’ puede profundizar en un objeto para encontrar objetos específicos. Eso es. Cuando simplemente lo buscas en Google, aparecerán muchas referencias con hermosos diagramas ER. Para aclarar los conceptos, le mostraré un esquema simple y dos consultas para describirlos.

Hay dos tipos de empleados: a tiempo parcial y a tiempo completo. Así que creé una tabla ‘EMP’ y dos tablas específicas que están relacionadas con la tabla ‘EMP’ grande.

CREAR TABLA EMP (
ID INTEGER,
NOMBRE VARCHAR (100),
SALARIO INTEGER,
CLAVE PRIMARIA (ID));

CREATE TABLE FULL_EMP (
EID INTEGER,
START_TIME DATETIME,
CLAVE EXTRANJERA (EID) REFERENCIA EMP (ID));

CREATE TABLE PART_EMP (
EID INTEGER,
START_TIME DATETIME,
DURACIÓN FLOTANTE,
CLAVE EXTRANJERA (EID) REFERENCIA EMP (ID));

Con las tablas creadas arriba, si desea verificar el salario de todos los empleados, mire la consulta a continuación. No contiene ningún concepto de tiempo parcial o tiempo completo. Está preguntando sobre los empleados en general en su conjunto. Entonces esta es una generalización.

– No importa si el empleado es a tiempo completo o parcial.
SELECCIONAR SALARIO
DE EMP E;

Si desea dividir el salario del trabajador a tiempo parcial en su duración, utilice la consulta a continuación. Hace referencia a la información general de los empleados, pero también contiene información de los trabajadores a tiempo parcial. En otras palabras, extrae el salario de los empleados generales, pero solo está relacionado con el medio tiempo.

– solo para medio tiempo
SELECCIONE AVG (E.SALARY / P.DURATION)
DESDE EMP E, PART_EMP P
DONDE E.ID = P.EID;

Espero que esto ayude.

La abstracción es el mecanismo de simplificación utilizado para ocultar detalles superfluos de un conjunto de objetos. Le permite a uno concentrarse en las propiedades que son de interés para la aplicación. Por ejemplo, el vehículo es una abstracción que incluye el tipo de automóvil, camión y autobús.

Hay dos mecanismos principales de abstracción utilizados para modelar información: GENERALIZACIÓN y AGREGACIÓN .

Generalización

Es el proceso de abstracción de ver conjuntos de objetos como una sola clase general al concentrarse en las características generales de los conjuntos constituyentes mientras se suprimen o ignoran sus diferencias. Es la unión de varios tipos de entidades de nivel inferior con el fin de producir un tipo de entidad de nivel superior.

Por ejemplo, ESTUDIANTE es una generalización de estudiantes GRADUADOS o UNDERGRADUATE, FULL-TIME o PART-TIME. Del mismo modo, EMPLEADO es una generalización de las clases de objetos COCINERO, CAMARERO, CAJERO, etc.

La generalización es una relación IS_A ; por lo tanto, el gerente IS_A n empleado , el cocinero IS_A n empleado , el camarero IS_A n empleado , y así sucesivamente.

Especialización

Es el proceso de abstracción de introducir nuevas características a una clase existente de objetos para crear una o más clases nuevas de objetos. Esto implica tomar una entidad de nivel superior y, utilizando características adicionales, generar entidades de nivel inferior. Las entidades de nivel inferior también heredan las características de la entidad de nivel superior. Al aplicar el tamaño característico al automóvil, podemos crear un automóvil de tamaño completo , mediano , compacto o subcompacto .

La especialización puede verse como el proceso inverso de la generalización: se introducen propiedades específicas adicionales en un nivel inferior en una jerarquía de objetos.

Generalización

El proceso de extraer características comunes de dos o más clases y combinarlas en una superclase generalizada se llama Generalización.

Especialización

La especialización es el proceso inverso de Generalización significa crear nuevas subclases a partir de una clase existente.

Desea saber más sobre generalización y especialización con el enlace de visita de ejemplo de cuenta bancaria.