Durante la entrevista, algunos entrevistadores preguntarán sobre el paradigma de las bases de datos, yo he estudiado bases de datos en la universidad antes, pero no había oído hablar del paradigma, o el profesor lo mencionó y no he prestado atención.
Actualmente existen seis paradigmas en bases de datos relacionales: el primer paradigma (1NF), el segundo paradigma (2NF), el tercer paradigma (3NF), el paradigma Bass-Cod (BCNF), el cuarto paradigma (4NF) y el quinto paradigma (5NF, también conocido como paradigma perfecto).
Normalmente usamos el primer paradigma (1NF), el segundo paradigma (2NF) y el tercer paradigma (3NF), que son los "tres paradigmas" que se discutirán en este artículo.
Primer paradigma (1NF): Requiere que cada columna de la tabla de la base de datos sea un elemento de datos atómicos indivisible.
Ilustrar:
En la tabla anterior, ni las columnas "Información familiar" ni "Información escolar" cumplen los requisitos de atomicidad, por lo que no cumplen el primer paradigma y se ajustan de la siguiente manera:
Se puede ver que cada columna ajustada es indivisible, por lo que satisface el primer paradigma (1NF);
Paradigma 2 (2NF): Sobre la base de 1NF, los atributos no codificados deben depender completamente de los códigos candidatos (eliminar la dependencia parcial de funciones de los atributos no primarios en el código maestro en base a 1NF)
El segundo paradigma debe asegurar que cada columna de la tabla de la base de datos esté relacionada con la clave primaria, no solo una parte de la clave primaria (principalmente para claves primarias federadas).
Ilustrar:
En el caso mostrado en el diagrama anterior, el mismo pedido puede contener productos diferentes, por lo que la clave primaria debe ser una combinación de "número de pedido" y "número de producto".
Sin embargo, se puede encontrar que la cantidad del producto, el descuento y el precio están todos relacionados con el "número de pedido" y el "número de producto", pero la cantidad y el tiempo del pedido solo están relacionados con el "número de pedido" y no tienen nada que ver con el "número de producto".
Esto no cumple con los requisitos del segundo paradigma y se ajusta de la siguiente manera, que debe dividirse en dos tablas:
Tercer paradigma (3NF): Sobre la base de 2NF, cualquier atributo no principal no depende de otros atributos no principales (eliminando dependencias de transmisión sobre la base de 2NF)
El tercer paradigma debe asegurar que cada columna de datos en la tabla de datos esté directamente relacionada con la clave primaria, no indirectamente.
Ilustrar:
En la tabla anterior, todos los atributos dependen completamente del número de alumnos, por lo que se cumple el segundo paradigma, pero el "género del profesor de clase" y la "edad del profesor de clase" dependen directamente del "nombre del profesor de la clase".
En lugar de la clave principal "número de estudiante", es necesario hacer los siguientes ajustes:
De este modo, se cumplen los requisitos del tercer paradigma.
ps:如果把上表中的班主任姓名改成班主任教工号可能更确切,更符合实际情况,不过只要能理解就行。
BCNF (Paradigma de Forma Normal de Bovce Codd)
El tercer paradigma de corrección es evitar que una columna de la clave primaria dependa de otras columnas de la clave primaria. Cuando 3NF elimina algunas dependencias de funciones y transferencias de funciones sobre el código principal de asignaturas, se denomina BCNF.
Característica:
1. Todos los atributos principales son dependencias completamente funcionales de cada código
2. Todos los atributos principales dependen completamente de la función de cada código que no los contiene
3. No existen atributos que sean completamente funcionales y dependan de ningún conjunto de propiedades no codificadas
Por ejemplo, la tabla de inventario (nombre del almacén, nombre del administrador, nombre del producto, cantidad), la clave primaria es (nombre del almacén, nombre del administrador, nombre del producto), que satisface los tres paradigmas anteriores, pero existe una dependencia entre el nombre del almacén y el nombre del administrador, por lo que eliminar un almacén hará que el administrador sea eliminado, por lo que el BCNF no queda satisfecho.
4NF Cuarto Paradigma
Los atributos no primarios no deben tener varios valores. Si existe un valor múltiple, viola el cuarto paradigma. 4NF es un patrón relacional de restricción que no permite dependencias multivaloradas entre propiedades no triviales y no dependientes de la función.
Por ejemplo, la tabla de información de contacto del usuario (ID de usuario, teléfono fijo, teléfono móvil), donde el ID de usuario es la clave primaria, lo que cumple con el BCNF, pero un usuario puede tener varios teléfonos fijos o móviles, entonces este diseño es irrazonable y debería cambiarse a (ID de usuario, tipo de contacto, número de teléfono).
Nota: Si solo se consideran las dependencias de funciones, el paradigma con mayor grado de normalización de patrones relacionales es BCNF. Si consideras dependencias de múltiples valores, es 4NF.
5NF Quinto Paradigma
El quinto paradigma es el paradigma final, eliminando la dependencia de la conexión en 4NF, y el quinto paradigma debe cumplir los siguientes requisitos:
1. El cuarto paradigma debe cumplirse
2. Las tablas deben ser descomponibles en tablas más pequeñas, a menos que esas tablas tengan lógicamente la misma clave primaria que la tabla original.
En aplicaciones prácticas generales, no es necesario considerar el quinto paradigma.
Transferido desde:El inicio de sesión del hipervínculo es visible. Referencia:El inicio de sesión del hipervínculo es visible.
|