viernes, 27 de diciembre de 2013

Base de Datos

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:

Ejemplo

Sistemas de ventas Hipermaxi

Sistema de ventas de una Carpinteria

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

Ejemplo

Visibilidad de los atributos y servicios de una Clase

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