El proceso de diseño de la base de datos.
Análisis de datos -> Modelado de datos -> Esquema de base de datos relacional -> Gestión de base de datos relacional
Requisitos del usuario->modelo conceptual ( Modelo E/R l)->modelo lógico (estructura de tres niveles)
Mundo real -> Mundo de la información -> Mundo de las máquinas
Diagrama ER de la herramienta de diseño conceptual
Los elementos constitutivos del diagrama ER: entidades, atributos, conexiones (en lugar de relaciones)
Modelos comúnmente utilizados en la etapa de diseño conceptual : modelo entidad relación (modelo ER-pertenece al modelo conceptual)
Representación de los componentes en el diagrama ER
contenido | gráficos | atributos de la palabra |
Atributos | marco ovalado | sustantivo |
entidad | Caja rectangular | sustantivo |
conectar | caja de diamantes | verbo |
Identificador de entidad (clave principal), los atributos están subrayados
Las claves foráneas se identifican como tildes
Clasificación de contactos
Conexión unidireccional, conexión bidireccional, conexión tridireccional
Pasos del diseño del modelo ER
1. Diseñe primero el modelo de ER local
2. Sintetizar cada modelo de ER local en un modelo de ER global
3. Optimizar el modelo ER global para obtener el modelo ER final ( modelo conceptual )
planificar los detalles
Atributo: no se puede dividir
La relación entre entidades y atributos solo puede ser 1:n
No debe haber una relación directa entre las propiedades de diferentes tipos de entidades.
Cada entidad debe tener al menos un identificador de entidad
Convierta el diagrama ER en un conjunto de esquemas relacionales
Paso 1 (conversión de entidad), convertir cada entidad en un esquema relacional ( el atributo corresponde al atributo del esquema relacional y el identificador de entidad es la clave del esquema relacional )
Paso 2 (Contacto de conversión)
Conexión 1: 1: agregue el código de otra entidad y los atributos de tipo de conexión a cualquier entidad ( agregue a voluntad )
Conexión 1:n: agregue la clave y los atributos de conexión de la entidad de 1 extremo al modo de relación de la entidad de n segmentos ( adición de múltiples partes )
Conexión n:m: convierte la conexión en un modo relacional, y su atributo es la clave de la entidad en ambos extremos + el tipo de conexión (la clave es una combinación de las claves de entidad en ambos extremos)
Ejemplo 1
Pasos para el diseño lógico utilizando el modelo ER
1. Exportar el conjunto inicial de esquemas relacionales
2. Procesamiento estandarizado
Examinar los esquemas relacionales uno por uno
Juzgar si cumplen con los requisitos de especificación
3. Evaluación del modelo
4. Modificación
5. Subpatrones de diseño
Herramienta de diseño lógico
Una herramienta de diseño lógico: teoría de la normalización
dependencia de datos
Formalización de esquemas relacionales
R(U,D,DOM,F)
R: nombre de relación U: colección de nombres de atributos D: todos los dominios del DOM: colección de imágenes
F: colección de dependencias
Uso habitual: R(U) R(U,F)
Dependencia de datos: define la interrelación entre los valores de los atributos (reflejada principalmente en la igualdad de valores)
La dependencia irrazonable causará: demasiada redundancia de datos, excepción de actualización, excepción de inserción, excepción de eliminación
Solución: elimine las dependencias de datos inapropiadas descomponiendo el esquema relacional
Representación de dependencias: Sno -> Sdept: Sno determina Sdept
(Sno,Cname) -> Grado: Sno y Cname deciden conjuntamente el Grado
F={Sno->Sdept,Sdept->Mname,(Sno,Cname)->Grado}
dependencias funcionales
X->Y: la función X determina Y , la función Y depende de X y X es el conjunto de atributos de decisión
Lo contrario no es necesariamente cierto
Dependencias funcionales triviales: X->Y, y Y pertenece a X (Sno,Cno)->Sno
Dependencias funcionales no triviales: X->Y, e Y no pertenece a X (Sno,Cno)->Grado
Dependencia funcional completa: X->Y, pero cualquier subconjunto de X no puede determinar la correspondencia uno a uno de Y
Dependencia funcional parcial: X->Y pero Y no depende completamente de X y se determinan conjuntamente varios conjuntos de atributos
Dependencia de la función de transferencia: X->Y, Y->Z e Y no pertenece a X, Y no puede determinar X
código
Clave candidata: hay un atributo K en R(U,F), si K determina completamente U, entonces K es una clave candidata de R
La clave candidata puede identificar de forma única una tupla
Código principal: si hay varios códigos candidatos, seleccione uno de ellos como código principal
Juntas, las claves primarias y externas proporcionan un medio para representar conexiones relacionales.
Paradigma
Una colección de esquemas relacionales que se ajustan a un cierto nivel.
Tipos de formas normales: 1NF, 2NF, 3NF, BCNF, 4NF , 5NF
1FN
Los atributos en el esquema relacional ya no son separables
1NF es el requisito más básico del modelo relacional
2NF
Cada atributo no principal depende completamente del código
3NF
No hay dependencia transitiva de atributos no primarios en el código.
descomposición de proyección
FNBC
BCNF se modifica 3NF
Si X->Y e Y no pertenece a X, entonces X debe contener códigos candidatos ( el lado izquierdo contiene códigos candidatos )
Características: 1. Los atributos no principales dependen completamente de los códigos candidatos
2. El atributo principal depende completamente de la clave candidata que no lo contiene
3. Ningún atributo depende completamente de ningún conjunto de atributos del código NAND
Si R pertenece a 3NF y R solo tiene un código candidato , entonces R debe pertenecer a BCNF
Si R pertenece a BCNF, entonces en la categoría de dependencias funcionales, se ha realizado la descomposición completa del esquema y se ha logrado la estandarización de la especificación más alta .
Descomposición de relaciones
Si la relación descompuesta puede recuperar la relación original a través de uniones naturales , entonces no tiene pérdida de datos.
Conectividad sin pérdida: los resultados descompuestos son iguales a los resultados originales a través de conexiones naturales; solo la descomposición con conectividad sin pérdida puede garantizar que no haya pérdida de información.
Es posible que la conectividad sin pérdidas no pueda resolver problemas como excepciones de inserción, excepciones de eliminación, excepciones de modificación, redundancia de datos, etc., porque perderá las dependencias funcionales en la relación original cuando se descompone.
Descomposición de esquemas que preserva las dependencias funcionales
Juzgando la descomposición de un esquema relacional: 1. Hay conectividad sin pérdida -> sin pérdida de información
2. Mantener dependencias funcionales -> mitigar/resolver excepciones