Caso y paradigma de diseño de bases de datos de notas jdbc

Diseño de base de datos

Relación entre varias tablas

  1. Clasificación de relaciones

    1. Doce y cincuenta y nueve de la noche

      Como personas y tarjetas de identificación. Una persona tiene solo una identificación

    2. Uno a muchos

      Como estudiantes y departamentos. Un estudiante pertenece a un departamento y un departamento tiene muchos estudiantes

    3. Muchos a muchos

      Como estudiantes y cursos. Un estudiante puede elegir varios cursos, y varios estudiantes también pueden seleccionar un curso

  2. Relación de realización

    1. Uno a muchos

      En el lado más, cree un campo de clave externa para apuntar a la clave principal en un lado. Por ejemplo, cree un campo de clave externa dep_id en la tabla de estudiantes, apuntando al ID de clave principal en la tabla de departamentos

    2. Muchos a muchos

      Cree una tabla intermedia, la tabla intermedia contiene al menos dos campos, estos dos campos apuntan respectivamente a la clave principal de las dos tablas relacionadas. Estos dos campos juntos, como la clave principal conjunta de la tabla intermedia

    3. Doce y cincuenta y nueve de la noche

      Agregue un campo de clave externa en cualquier lado (el campo de clave externa debe tener una restricción única) y apunte a la clave principal del otro lado.

Tres paradigmas

concepto

Al diseñar tablas de bases de datos, se deben seguir algunas especificaciones.

Al diseñar bases de datos relacionales, siga diferentes especificaciones, diseñe bases de datos relacionales razonables, estas especificaciones se denominan paradigma, el paradigma en una variedad de tiempos de entrega norma , cuanto mayor es el paradigma, menor redundancia de la base de datos. La especificación secuencial se refiere a los siguientes requisitos del paradigma, incluidos los requisitos del paradigma anterior. Es decir, si desea seguir 2NF, primero debe seguir 1NF.

clasificación

Actualmente, existen 6 paradigmas para las bases de datos relacionales: Primera forma normal (1NF), Segunda forma normal (2NF), Tercera forma normal (3NF), Forma normal de cordón de baño (BCNF), Cuarta forma normal (4NF), Quinta forma normal Paradigma (5NF, también conocido como paradigma perfecto)

Primera forma normal (1NF)

Cada columna es un elemento de datos atómicos indivisible

Segunda forma normal (2NF)

Sobre la base de 1NF, los atributos que no son de código deben ser completamente dependientes de los códigos candidatos (sobre la base de 1NF, se elimina la dependencia funcional parcial de los atributos no primarios en el código principal)

Algunas explicaciones conceptuales:

  1. Dependencia funcional

    A-->B, Si el valor del atributo B se puede determinar unívocamente a través del atributo A (grupo de atributos), entonces B depende de A.

    Por ejemplo 学号-->姓名,(学号,课程名称) --> 分数

  2. Dependencia completamente funcional

    A-->BSi A es un grupo de atributos, la determinación del atributo B debe depender de todos los atributos del grupo de atributos A. Por ejemplo, (学号,课程名称)ser 分数completamente dependiente de

  3. Dependencia funcional parcial

    A-->BSi A es un grupo de atributos, la determinación del atributo B solo necesita basarse en algunos atributos del grupo de atributos A. (学号,课程名称) --> 姓名. Solo se requiere 学号un atributo para la confirmación del nombre

  4. Dependencia de la función de transferencia

    A-->B, B-->CSi se utiliza el valor del atributo A (grupo de atributos), el valor del atributo B se puede determinar de forma unívoca, y luego el valor del atributo C se puede determinar de forma única mediante el valor del atributo B.

    学号 --> 院系, 院系 --> 教授名Entonces la 教授名transferencia depende de学号

  5. código

    Si en una tabla, un atributo o grupo de atributos depende de todos los demás atributos, este atributo o grupo de atributos se llama el código de esta tabla.

    • Atributo principal: todos los atributos del grupo de atributos de código
    • Atributos no primarios: otros atributos
Tercera forma normal (3NF)

Sobre la base de 2NF, cualquier atributo no primario no depende de otros atributos no primarios (sobre la base de 2NF, se elimina la dependencia transitiva)

Caso
Identificación del Estudiante Nombre Facultad curso fracción
1000 Ari Departamento de rendimiento-Johnson Número alto 90
1001 Lux Departamento de radiodifusión-Robin Inglés 99
1002 Akali Departamento de Educación Física-Tom Número alto 89
1003 Robo Departamento de Educación Física-Tom Inglés 120
1000 Ari Departamento de rendimiento-Johnson computadora 20

La tabla de la base de datos anterior, la columna del departamento, contiene el nombre del departamento y el profesor del departamento, que obviamente es un elemento de datos separable y no satisface el primer formulario normal. Los cambios son los siguientes.

Identificación del Estudiante Nombre Facultad profesor curso fracción
1000 Ari Departamento de Performance Johnson Número alto 90
1001 Lux Departamento de Radiodifusión Robin Inglés 99
1002 Akali Departamento de educación física Tom Número alto 89
1003 Robo Departamento de educación física Tom Inglés 120
1000 Ari Departamento de Performance Johnson computadora 20

Pero aun hay problemas

  1. Los datos son redundantes (duplicación de datos), como la identificación del estudiante, el nombre, el departamento, el profesor, etc.

  2. Hay un problema al agregar datos. Si desea abrir un nuevo departamento, pero el departamento no ha comenzado a inscribir estudiantes, no puede agregar

  3. La eliminación de datos también es problemática: si un estudiante se gradúa y elimina sus datos, se eliminará la información del departamento.

Según la segunda forma normal, desmonte la mesa.

Mesa de estudiantes

Identificación del Estudiante Nombre Facultad profesor
1000 Ari Departamento de Performance Johnson
1001 Lux Departamento de Radiodifusión Robin
1002 Akali Departamento de educación física Tom
1003 Robo Departamento de educación física Tom

Horario de clases

Identificación del Estudiante Título del curso fracción
1000 Número alto 90
1001 Inglés 99
1002 Número alto 89
1003 Inglés 120
1000 computadora 20

Después de desmontar la tabla, el código de la tabla de estudiantes es el número de estudiante y otros atributos dependen completamente del número de estudiante; el código de la tabla de cursos es (número de estudiante, nombre de curso) y otros atributos dependen completamente de la código. (Se elimina la dependencia parcial de los atributos no primarios de los atributos primarios)

Se solucionó la redundancia de datos , pero aún existen problemas para agregar y eliminar datos. Por ejemplo, agregue un nuevo departamento o elimine el registro de un compañero de clase después de la graduación.

Mirando la tabla de estudiantes, el profesor depende del departamento, el departamento depende del número de estudiante y la relación entre el profesor y el número de estudiante es transitiva. Según el tercer paradigma, la tabla de estudiantes se divide para eliminar la dependencia transitiva. Divida la tabla de estudiantes en la tabla de estudiantes y la tabla de departamentos

Mesa de estudiantes

Identificación del Estudiante Nombre Facultad
1000 Ari Departamento de Performance
1001 Lux Departamento de Radiodifusión
1002 Akali Departamento de educación física
1003 Robo Departamento de educación física

Lista de profesores

Facultad profesor
Departamento de Performance Johnson
Departamento de Radiodifusión Robin
Departamento de educación física Tom

如此以来,就遵循了第三范式。可以新增新开设的院系和教授,学生毕业后,直接删除学生记录,不会清除掉院系的信息。数据冗余,添加数据,删除数据这三个问题都解决了。

Supongo que te gusta

Origin blog.csdn.net/vcj1009784814/article/details/106179813
Recomendado
Clasificación