viernes, 17 de mayo de 2019

DISEÑO Y CREACIÓN DE UNA BASE DE DATOS

Una vez se toma la decisión de emplear una base de datos, el siguiente paso es el diseño y creación de esta. El diseño implica la definición de la estructura que va a tener la base de datos, que se deberá realizar teniendo en cuenta principalmente el tipo de datos que van a almacenarse y el modelo de base de datos elegido. El diseño debe adecuarse al uso previsto de la base de datos, de tal modo que acomode los datos de la mejor forma posible para cumplir los objetivos enunciados anteriormente en este mismo capítulo. Para ello debe conocerse la naturaleza de los datos que van a almacenarse (no necesariamente datos de los que se dispone en el momento de la creación, sino los que se espera pasen a formar parte de la base de datos a lo largo de su ciclo de vida), así como la de los algoritmos y procesos que van a emplearse sobre ellos.
Posteriormente al diseño, debe procederse a la implementación de la base de datos, esto es, a la creación propiamente dicha, incorporando los datos según los esquemas escogidos en la fase de diseño. Por último, y una vez creada la base de datos, debe procurarse un mantenimiento para que esté continuamente en condiciones de ser utilizada.
https://www.google.com/url?sa=i&source=images&cd=&ved=2ahUKEwjRmcP1uc7iAhW9GDQIHainD3oQjRx6BAgBEAU&url=http%3A%2F%2Fsystemsupa.blogspot.com%2F2016%2F04%2Ffases-para-creacion-de-una-base-de-datos.html&psig=AOvVaw1GpGFxi0vKLLRxI_1gpDjo&ust=1559690465698620


Diseñar diagramas de base de datos (Visual Database Tools)

El Diseñador de bases de datos es una herramienta visual que permite diseñar y ver una base de datos a la que está conectado. Cuando diseña una base de datos, puede utilizar el Diseñador de bases de datos para crear, editar o eliminar tablas, columnas, claves, índices, relaciones y restricciones. Para ver una base de datos, puede crear uno o varios diagramas que muestren algunas o todas las tablas, columnas, claves y relaciones de la base de datos.

Para cualquier base de datos, puede crear tantos diagramas de base de datos como desee; cada tabla de base de datos puede aparecer en un número cualquiera de diagramas. De este modo, puede crear diagramas distintos para ver partes diferentes de la base de datos o resaltar diversos aspectos del diseño. Por ejemplo, puede crear un diagrama grande que muestre todas las tablas con sus columnas y también puede crear un diagrama más pequeño que muestre todas las tablas sin mostrar las columnas.
Cada diagrama de base de datos que crea se almacena en la base de datos asociada

Tablas y columnas de un diagrama de base de datos

En un diagrama de base de datos, cada tabla puede aparecer con tres características distintas: una barra de título, un selector de fila y un conjunto de columnas de propiedades.
Barra de título La barra de título muestra el nombre de la tabla

Selector de fila Puede hacer clic en el selector de fila para seleccionar una columna de base de datos de la tabla. El selector de fila muestra un símbolo de clave si la columna se encuentra en la clave principal de la tabla

Columnas de propiedades El conjunto de columnas de propiedades solo es visible en determinadas vistas de la tabla. Dispone de cinco vistas diferentes para ver una tabla, que le ayudan a controlar el tamaño y el diseño del diagrama.

TIPOS DE DIAGRAMAS DE BASE DE DATOS

La variedad de tipos de diagramas que se utilizan en la creación de una base de datos son: 


  • ·         Diagrama de flujo
  • ·         Diagrama de red
  • ·         Diagrama de negocios
  • ·         Plano de planta
  • ·         Diagrama de ingeniería
  • ·         Organigrama
  • ·         Mapa mental
  • ·         Diagrama y gráfico
  • ·         Formulario comercial
  • ·         Diagrama de base de datos
  • ·         Diagrama de gestión del proyecto
  • ·         Ilustración de ciencia
  • ·         Mapas
  • ·         Diagrama de web
  • ·         Diagram de software
  • ·         Diseño de moda

Se puede crear un  diagrama de base de datos con la ayuda de plantillas y ejemplos gratuitos. El diseño de diagrama de base de datos nunca ha sido tan fácil.
1. Chen Diagrama de Entidad Relación
Diagrama de Entidad Relación

Contiene formas especiales y opciones para crear diagramas de relaciones con la notación Chen DER.

2. Diagrama Modelo de Base de Datos
Diagrama modelo de base de datos

Contiene formas especiales y opciones para crear diagrama modelo de base de datos. Soporta la notación IDEF1X y notación relacional.

3. Express-G 
Express-G Diagram

Contiene formas especiales y opciones para crear diagramas de relaciones utlizando la notación Express-G.

4. Martin DER
Martin DER

Contiene formas especiales y opciones para crear diagramas de entidad-relación utlizando la notación Martin DER.

5. Diagrama ORM
ORM Diagram

Contiene formas especiales (objetos, limitaciones, conectores, predicados y relaciones) y opciones para crear diagramas de relaciones y diagramas estáticos en diseño y análisis orientado a  
                        objetos.  

ESTRUCTURA DE LA BASE DE DATOS

La estructura de las tablas viene dado por la forma de un archivo plano, los cuales en un inicio se componían de un modo similar.

La estructura de una base de datos hace referencia a los tipos de datos, los vínculos o relaciones y las restricciones que deben cumplir esos datos (integridad de datos y redundancia de datos).


La estructura de una base de datos es diseñada o descrita empleando algún tipo de modelo de datos.



También se puede emplear un lenguaje coloquial para describir la estructura de la base de datos, para luego pasarlo a un modelo de datos formal.
 En las bases de datos, Tabla se refiere al tipo de modelado de datos donde se guardan los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de hoja de cálculo.
Las tablas se componen de dos estructuras:
  • Campo: Corresponde al nombre de la columna. Debe ser único y además de tener un tipo de dato asociado.
  • Registro: Corresponde a cada fila que compone la tabla. Allí se componen los datos y los registros. Eventualmente pueden ser nulos en su almacenamiento.
En la definición de cada campo, debe existir un nombre único, con su tipo de dato correspondiente. Esto es útil a la hora de manejar varios campos en la tabla, ya que cada nombre de campo debe ser distinto entre sí.
A los campos se les puede asignar, además, propiedades especiales que afectan a los registros insertados. El campo puede ser definido como índice o autoincrementable, lo cual permite que los datos de ese campo cambien solos o sean el principal indicar a la hora de ordenar los datos contenidos.
Cada tabla creada debe tener un nombre único en la cada base de datos, haciéndola accesible mediante su nombre o su seudónimo (alias) (dependiendo del tipo de base de datos elegida).

Tipos de Diagramas UML (Diagramas de Estructuras).

Los Diagramas de Estructura enfatizan en los elementos que deben existir en el sistema modelado

NOMBRE DIAGRAMA
DESCRIPCIÓN







DIAGRAMA DE CLASES
Un diagrama de clases es un tipo de diagrama estático que describe la estructura de un sistema mostrando sus clases, atributos y las relaciones entre ellos. Los diagramas de clases son utilizados durante el proceso de análisis y diseño de los sistemas, donde se crea el diseño conceptual de la información que se manejará en el sistema, y los componentes que se encargaran del funcionamiento y la relación entre uno y otro.
Representación de: - Requerimientos en entidades y actuaciones. - La arquitectura conceptual de un dominio - Soluciones de diseño en una arquitectura - Componentes de software orientados a objetos



DIAGRAMA DE COMPONENTES

Un diagrama de componentes representa cómo un sistema de software es dividido en componentes y muestra las dependencias entre estos componentes. Los componentes físicos incluyen archivos, cabeceras, bibliotecas compartidas,módulosejecutables, o paquetes. Los diagramas de Componentes prevalecen en el campo de la arquitectura de software pero pueden ser usados para modelar y documentar cualquier arquitectura de sistema.

 

 

DIAGRAMA DE OBJETOS


Se puede considerar un caso especial de un diagrama de clases en el que se muestran instancias específicas de clases (objetos) en un momento particular del sistema. Los diagramas de objetos utilizan un subconjunto de los elementos de un diagrama de clase. Los diagramas de objetos no muestran la multiplicidad ni los roles, aunque su notación es similar a los diagramas de clase.

 

 

 

DIAGRAMA DE ESTRUCTURA COMPUESTA


Un diagrama de estructura compuesta es un tipo de diagrama de estructura estática en el Lenguaje de Modelado Unificado (UML), que muestra la estructura interna de una clase y las colaboraciones que esta estructura hace posibles. Esto puede incluir partes internas, puertas mediante las cuales, las partes interactúan con cada una de las otras o mediante las cuales, instancias de la clase interactúan con las partes y con el mundo exterior, y conectores entre partes o puertas. Una estructura compuesta es un conjunto de elementos interconectados que colaboran en tiempo de ejecución para lograr algún propósito. Cada elemento tiene algún rol definido en la colaboración.

 

 

 

DIAGRAMA DE DESPLIEGUE


El Diagrama de Despliegue es un tipo de diagrama del Lenguaje Unificado de Modelado que se utiliza para modelar el hardware utilizado en las implementaciones de sistemas y las relaciones entre sus componentes.
Los elementos usados por este tipo de diagrama son nodos (representados como un prisma), componentes (representados como una caja rectangular con dos protuberancias del lado izquierdo) y asociaciones.

 

 

 

DIAGRAMA DE PAQUETES


En el Lenguaje Unificado de Modelado, un diagrama de paquetes muestra cómo un sistema está dividido en agrupaciones lógicas mostrando las dependencias entre esas agrupaciones. Dado que normalmente un paquete está pensado como un directorio, los diagramas de paquetes suministran una descomposición de la jerarquía lógica de un sistema Los Paquetes están normalmente organizados para maximizar la coherencia interna dentro de cada paquete y minimizar el acoplamiento externo entre los paquetes. Con estas líneas maestras sobre la mesa, los paquetes son buenos elementos de gestión. Cada paquete puede asignarse a un individuo o a un equipo, y las dependencias entre ellos pueden indicar el orden de desarrollo requerido.

LENGUAJE DE BASE DE DATOS 

Un lenguaje de base de datos o lenguaje de definición de datos (Data Definition Language, DDL por sus siglas en inglés) es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los programadores de la misma llevar a cabo las tareas de definición de las estructuras que almacenarán los datos así como de los procedimientos o funciones que permitan consultarlos.

Algunos de los lenguajes de la Base de Datos son:

-Base de datos tipo fichero:
Consisten en ficheros de texto divididos en filas y columnas. Pueden ser útiles para aplicaciones muy simples, pero no para aplicaciones medianas o complejas, debido a sus limitaciones.


-Base de datos tipo relacional: 

Las bases de datos relacionales son las más populares actualmente. la posibilidad de relacionar varias tablas de datos entre sí, compartiendo información y evitando la duplicidad y los problemas que ello conlleva Sin embargo, tienen un punto débil, la mayoría de ellas no admite la incorporación de objetos multimedia.


-Base de datos tipo orientada a objetos: 

La base de datos está constituida por objetos, que pueden ser de muy diversos tipos, y sobre los cuales se encuentran definidas unas operaciones. estas bases de datos pueden manejar información binaria, objetos multimedia de una forma eficiente. Su limitación suele residir en su especialización, ya que suelen estar diseñadas para un tipo particular de objetos.


-Base de datos tipo híbrido:
Las bases de datos híbridas combinan características de las bases de datos relacionales y las bases de datos orientadas a objetos. Manejan datos textuales y datos binarios como los de multimedia, a los cuales se extienden las posibilidades de consulta. Es una tecnología reciente y aún existen pocas en el mercado.


* FORMAS NORMALES

Son las técnicas para prevenir las anomalías en las tablas. Dependiendo de su estructura, una tabla puede estar en primera forma normal, segunda forma normal o en cualquier otra.
MANTENIMIENTO DE LA BASE DE DATOS
Pablo F. Dueñas te ofrece una una solución para el  mantenimiento de la msdb de SQL Server, información de gran utilidad para los administradores  de Bases de Datos.
PRIMERA APROXIMACIÓN | SERVICIOS PROFESIONALES DANYSOFT
La base de datos msdb es usada por SQL Server para guardar varios historiales. Hay que tener esto en cuenta para acotar su crecimiento y que no empiece a dar problemas su tamaño. Hay unos mantenimientos que son estándar, pero otro hay que añadirlo.

Limpieza de mantenimiento
Lo primero que tenemos que aclarar es la diferencia que hay entre dos tareas que pueden originar confusión. Aunque no tiene que ver con el mantenimiento de la base de datos msdb, si se usan planes de mantenimiento, se tiene la opción de crear un registro mediante ficheros de texto plano. Si descuidamos dichos ficheros, se van acumulando y pueden llegar a ocupar bastante tamaño y poner en riesgo el espacio en el volumen correspondiente. Esto es debido a que los ficheros se suelen guardar en el mismo volumen de la instalación de SQL Server, al que no se le suele dejar mucho espacio libre.
Además, por defecto se guardan en el mismo directorio donde está la traza por defecto y los registros de errores. Si este directorio está lleno de ficheros, nos va a complicar la vida el analizar una traza o buscar un registro de error. Por ello es importante mantener un límite en el número de ficheros que se conservan.
Afortunadamente los planes de mantenimiento tienen esta tarea especial para realizar esta acción. Se llama Limpieza de mantenimiento y dentro de las opciones hay que elegir Informes de texto de planes de mantenimiento. Se elige la carpeta donde se están dejando dichos informes y el periodo de retención que se desea.

Limpieza de historial
Sí que hay una tarea específica para msdb llamada Limpieza de historial. Esta tarea nos quita bastante trabajo pues las opciones nos permiten mantener la mayor parte del historial que se guarda en msdb.
Cada vez que se hace una copia se seguridad de una base de datos, se guardan registros informando de los datos pertinentes a dicha copia. Nos interesan los últimos para, por ejemplo, verificar los tamaños y ver si hay algún problema con las que tienen modo de recuperación completo. Pero no necesitamos el historial de toda la vida del servidor.
Los trabajos del Agente SQL Server también tienen su propio historial, que también incluye varias tablas relacionadas. Este componente nos quita la complejidad de borrar coordinadamente los datos antiguos.
Por último, aunque los planes de mantenimiento puedan guardar los datos en ficheros de texto plano, también hay unas tablas donde se guarda su historial de ejecución. De nuevo este componente nos ayuda en mantener a raya la cantidad de información que guardamos.

Limpieza de correos
Si usamos correo electrónico de base de datos, se va guardando el historial completo de cada correo, que puede llegar a ser varios gigas dependiendo de la cantidad que se envíe. Como el correo es una herramienta muy útil para automatizar procesos y así saber cuándo se ha hecho algo, cuándo se ha producido un evento o cuándo ha fallado un trabajo del Agente SQL Serve, por poner algunos ejemplos, mantener solo la última información es importante para que la msdb no empiece a llenar el disco duro y para una mejor eficiencia en las consultas que se le hagan. Al fin y al cabo, no es necesario, de nuevo, mantener toda la información desde que se creó la instancia de Servidor de Base de datos.
Sin embargo, para esta información no hay un componente en los planes de mantenimiento que nos ayude directamente a acotarla. Necesitaremos crear un proceso que utilice ciertos procedimientos almacenados del sistema para limpiar el historial. Por lo tanto, usaremos en el plan de mantenimiento una tarea Ejecutar instrucción T-SQL donde pondremos el código.
Pero, para facilitar cambios a dicho código y estandarizarlo en todas las instancias, es preferible tener una base de datos especial de administración donde vayan los procesos generales de las instancias. En dicha base de datos vamos a crear un procedimiento almacenado que mantenga el registro del correo. Así, la tarea quedaría:

Procedimientos de correo de base de datos
El primer procedimiento es sysmail_delete_mailitems_sp que «elimina de forma permanente los mensajes de correo electrónico de las tablas internas del Correo electrónico de base de datos». Este procedimiento almacenado elimina no solo los mensajes, sino también los archivos adjuntos relacionados. De los dos parámetros que tiene, nos interesa el primero @sent_before al que pasaremos la fecha del primer correo que queremos conservar. En nuestro caso estamos dejando los tres últimos meses.
El segundo procedimiento limpia los eventos del registro. Es decir, los correos y sus adjuntos son independientes del registro que se lleva del correo. Según la política de empresa, podemos usar un periodo de retención de registros distinto del contenido de los correos. En este caso vamos a tener una política única.
El procedimiento sysmail_delete_log_sp «elimina todos los eventos del registro del correo electrónico de base de datos que cumplan un criterio». De nuevo el criterio es la fecha del correo cuyo tope pasamos en el parámetro @logged_before.
Por último, podemos añadir un registro de la actividad. Por un lado cogemos la actividad del primer procedimiento de la tabla sysmail_log, y de la del segundo solo podemos usar la función del sistema @@ROWCOUNT para ver el número de entradas que se eliminan.

Procedimiento almacenado
En base a estos dos procedimientos de Correo electrónico de base de datos, podemos construir un procedimiento almacenado que se ejecute junto con el resto de componentes en el plan de mantenimiento semanal o mensual. 




No hay comentarios.:

Publicar un comentario