DEFINICIÓN DE BASE DE DATOS
Cualquier conjunto de datos organizados para su almacenamiento en la memoria de un ordenador o computadora, diseñado para facilitar su mantenimiento y acceso de una forma estándar. Los datos suelen aparecer en forma de texto, números o gráficos
BASE DE DATOS RELACIONALS
Tipo de base de datos o sistema de administración de bases de datos, que almacena información en tablas (filas y columnas de datos) y realiza búsquedas utilizando los datos de columnas especificadas de una tabla para encontrar datos adicionales en otra tabla
PROCESO DE DISEÑO DE UNA BASE DE DATOS
Incluye el diseño conceptual, diseño lógico y diseño físico de la BD
DEFINICIÓN DE DISEÑO CONCEPTUAL DE BASES DE DATOS
Conjunto de actividades que resultan en un esquema conceptual de alto nivel de una base de datos, independiente del software gestor (SGBD), partiendo de especificaciones de requerimientos.
Suele hacerse empleando un DER o mediante el modelo de dominio. Las personas encargadas de esta tarea suelen llamarse diseñadores de bases de datos.
Etapas del diseño conceptual
Identificar las entidades
Identificar las relaciones.
Identificar los atributos y asociarlos a entidades y relaciones.
Determinar los dominios de los atributos.
Determinar los identificadores.
Determinar las jerarquías de generalización (si las hay).
Dibujar el diagrama entidad-relación.
Revisar el esquema conceptual local con el usuario.
Ejemplo de diseño conceptual de bases de datos utilizando el MER
Ejemplo de Diseño con conceptual de BD utilizando el diagrama de clases de UML
DEFINICIÓN DE DISEÑO LÓGICO DE BASES DE DATOS
El diseño lógico de una base de datos parte del esquema conceptual de una base de datos, resultando en un esquema lógico de la base de datos.
Un esquema lógico de una base de datos es una 8 descripción de la estructura de la base de datos que puede procesar un SGBD.
El esquema lógico de base de datos depende de un tipo de SGBD (relacional, de redes, jerárquico...), pero no de un SGBD específico.
EJEMPLO DE DISEÑO LÓGICO DE LA BASE DE DATOS
DISEÑO FÍSICO DE BASE DE DATOS
El diseño físico parte del esquema lógico de bases de datos y da como resultado un esquema físico de bases de datos.
El esquema físico de una base de datos, depende del tipo de SGBD y de un SGBD específico.
El esquema físico de una base de datos es una descripción de la implementación de una base de datos en memoria secundaria, describiendo las estructuras de almacenamiento y los métodos de acceso a esos datos.
Diseño de base de datos Modelo conceptual de la base de datos mediante el Diagrama de clases de UML
Antes de entrar hablar en detalle del diseño de base datos haremos u breve repaso de lo que es clase y objeto
Clase
Es el descriptor de un conjunto de objetos con una estructura, comportamiento y relaciones similares.
Cada clase se representa en un rectángulo con tres compartimientos:
Objeto
Entidad discreta con identidad, estado y comportamiento invocable.
Se representa de la misma forma que una clase.
En el compartimento superior aparecen el nombre del objeto junto con el nombre de la clase subrayados, según la siguiente sintaxis
Relación de asociación
Una asociación es una abstracción de la relación existente en los enlaces entre los objetos.
Ejemplo de asociación, con nombre y dirección (indica el sentido en el que se lee la asociación)
Tipos de asociación
De acuerdo a la cantidad de clases que participan en la asociación, se divide en:
Multiplicidad
Expresa cuantos objetos de una clase se asociación objetos de otra clase
La multiplicidad puede expresarse de las siguientes formas:
Con un número fijo: 1
Con un intervalo de valores: 2..5
Con un rango en el cual uno de los extremos es un asterisco.
Significa que es un intervalo abierto. Por ejemplo, 2..* significa 2 o más.
Con una combinación de elementos como los anteriores separados por comas: 1, 3..5, 7, 15..*.
Con un asterisco: * . En este caso indica que 4. Multiplicidad puede tomar cualquier valor (cero o más).
Ejemplos de multiplicidad en asociaciones
Participación en la asociación
Participación TOTAL
1 Uno y sólo uno
1..* Uno o muchos (al menos uno)
Participación PARCIAL
0..1 Cero o uno
0..* Cero o muchos
ROLES
Para indicar el papel que juega una clase en una asociación se puede especificar un nombre de rol.
Se representa en el extremo de la asociación junto a la clase que desempeña dicho rol.
EJEMPLO
Estructura de Agregación y Composición
Agregación
Forma de asociación que especifica una relación todo-parte entre un agregado (todo) y las partes que lo componen.
El tiempo de vida del objeto incluido es independiente del que lo incluye (Parámetros por referencia).
Estructura de Composición
Es una forma más fuerte de asociación en la cual el compuesto es el responsable único de gestionar sus partes.
El tiempo de vida del objeto incluido esta condicionado por el tiempo de vida del que lo incluye (parámetros por valor).
DEPENDENCIA
A diferencia de la composición y agregación, un objeto Empleado no está compuesto o formado por Dependientes.
El tiempo de vida de un objeto incluido (dependiente) está condicionado por el tiempo de vida del que lo incluye (Empleado).
Si desaparece el Empleado no tiene sentido que existan sus dependientes
Generalización/Especialización
Es la relación taxonómica entre una descripción más general y una descripción más específica, que se construye sobre ella y la extiende.
Tipos de Herencia: Simple y Múltiple
Definición de Normalización
Es el análisis de dependencias funcionales entre atributos de una tabla o relacion.
Propósito:
Reducir complejas vistas de usuario a un conjunto de pequeñas y estables estructuras de datos.
Una Base de Datos normalizada es:
Mas flexible
Estable
Fácil de mantener.
Dependencias Funcionales
Dependencia funcional:
Es una conexión entre uno o más atributos.
Ejemplo: Si se conoce el valor de FechaDeNacimiento podemos conocer el valor de Edad.
Las dependencias funcionales del sistema se escriben utilizando una flecha, de la siguiente manera: FechaDeNacimiento -----> Edad
Se puede leer de dos formas:
1. FechaDeNacimiento determina a Edad.
2. Edad es funcionalmente dependiente de FechaDeNacimiento.
Dependencia Funcional parcial:
Cuando un atributo no dependen del campo llave.
Dependencia Funcional completa:
Cuando un atributo depende totalmente del campo llave.
Claves
Clave primaria (primary key)
Columna (o conjunto de columnas) que identifica únicamente a una fila.
Se acostumbra a poner la clave primaria como la primera columna de la tabla.
Muchas veces la clave primaria es numérica auto-incrementada, es decir, generada mediante una secuencia numérica incrementada automáticamente cada vez que se inserta una fila.
Claves candidatas.
Columnas que pueden ser clave primaria por sí misma.
Formas Normales
Primera Forma Normal-1FN
Una relación está en 1FN si:
Todos los atributos son atómicos (indivisible).
La tabla contiene una llave primaria única.
La llave primaria no contiene atributos nulos.
No debe existir variación en el número de columnas.
Los Campos no llave deben identificarse por la llave (Dependencia Funcional) No contiene grupos repetitivos.
Segunda Forma Normal-1FN
Una relación está en 2FN si:
Está en 1FN.
Los atributos que no forman parte de ninguna clave dependen de forma completa de la clave primaria.
Tercera Forma Normal-1FN
Una relación esta en 3FN si:
Esta en 2FN.
No contiene dependencias transitivas.
No hay comentarios:
Publicar un comentario