182 votos

¿Patrones de diseño de base de datos relacional?

Patrones de diseño están normalmente relacionados con el diseño orientado a objetos.
Hay patrones de diseño para la creación y programación de bases de datos relacionales?
Muchos de los problemas que seguramente debe haber soluciones reutilizables.

Entre los ejemplos, se incluyen pautas para el diseño de las tablas, procedimientos almacenados, triggers, etc...

Existe un repositorio en línea de este tipo de patrones, similar a martinfowler.com?


Ejemplos de problemas que los patrones pueden resolver:

  • El almacenamiento de datos jerárquicos (por ej. sola tabla con el tipo vs varias tablas con 1:1 de la clave y diferencias...)
  • Almacenamiento de datos con la variable de la estructura (p. ej. genérico columnas vs xml vs delimitado columna...)
  • Denormalize de datos (cómo hacerlo con un mínimo de impacto, etc...)

105voto

Thomas Wagner Puntos 1633

Aquí hay un enlace a un caballero que ha desarrollado varios cientos de libre esquemas de base de datos.

http://www.databaseanswers.org/data_models/

Tal vez si usted tiene que construir un db rapidez con la que esto le dará un punto de partida en términos de las tablas y relaciones en un esquema dado. Tenga en cuenta que usted probablemente tendrá que modificar este punto de partida. Lo he encontrado muy útil.

En segundo lugar SQL Server Magazine ha ocasionalmente una columna llamada "El Data Modeler", que es muy educativo y, a menudo, contiene esquemas para un sistema dado.

82voto

Mike Brown Puntos 5874

Hay un libro de Martin Fowler, de la Firma de la Serie se llama Refactorización de Bases de datos. Que proporciona una lista de técnicas para la refactorización bases de datos. Yo no puedo decir que he escuchado una lista de la base de datos de patrones de mucho.

También recientemente aprendido acerca de un libro de David C. Heno llamado Modelo de Datos de Patrones No lo he leído todavía, pero he pedido y me lo voy a actualizar en si es lo que usted está buscando.

Resulta que hay dos libros por David Heno en el Modelo de Datos de Patrones. El primero es para la Empresa Modelo de Datos de Patrones. El segundo libro se basa en la primera y es mucho más ambicioso e intrigante. El Prefacio solo es esclarecedor.

También un gran lugar para buscar algún enlatado modelos de base de datos es Len Silverston del Modelo de Datos de Recursos de la Serie de libros, Volumen 1 contiene universalmente aplicable modelos de datos (empleados, cuentas, gastos de envío, compras, etc), Volumen 2 contiene industria de los modelos de datos específicos (contabilidad, cuidado de la salud, etc.), en el Volumen 3 se proporciona un modelo de datos de patrones.

Sólo he leído el Volumen 1 de mí mismo, pero estoy definitivamente va a recoger el próximo dos volúmenes.

30voto

S.Lott Puntos 207588

Los patrones de diseño no son trivialmente reutilizables soluciones.

Los patrones de diseño son reutilizables, por definición. Son los patrones que usted detectar en otras buenas soluciones.

Un patrón no es trivial reutilizables. Puede implementar su diseño siguiendo el patrón sin embargo.

Relacional diseño de patrones incluyen cosas como:

  1. Uno-a-Muchos (relaciones maestro-detalle, padre-hijo) relaciones mediante una clave externa.

  2. Muchos-a-Muchos relaciones con una tabla de puente.

  3. Opcional uno-a-uno, de las relaciones administrado con valores Nulos en el FK columna.

  4. Star Schema: de dimensiones y de Hechos, de diseño OLAP.

  5. Totalmente normalizado OLTP diseño.

  6. Varios de búsqueda indexada columnas en una dimensión.

  7. "Tabla de búsqueda", que contiene PK, descripción y valor de código(s) utilizado por una o más aplicaciones. ¿Por qué han de código? No sé, pero cuando tienen que ser utilizados, esto es una manera de manejar los códigos.

  8. Uni-tabla. [Algunos llaman a esto un anti-patrón; es un patrón, a veces es malo, a veces es bueno.] Esta es una tabla con un montón de pre-se unió a material que viole la segunda y tercera forma normal.

  9. Tabla matriz. Esta es una tabla que viola la primera forma normal por tener un conjunto o secuencia de valores en las columnas.

  10. Uso mixto de la base de datos. Esta es una base de datos normalizada para el procesamiento de transacciones, pero con un montón de extras de los índices de informes y análisis. Es un anti-patrón-no hagas esto. Las personas lo hacen de todos modos, así que sigue siendo un patrón.

La mayoría de la gente que diseño de bases de datos fácilmente puede recitar una media docena de "Es otro de esos"; estos son los patrones de diseño que se utiliza sobre una base regular.

Y esto no incluye administrativa y operativa de los patrones de uso y gestión.

18voto

Edo Puntos 861

Mira este blog - El programador de base de datos.

Describe algunos de los patrones de base de datos.

15voto

skaffman Puntos 197885

Libros de Joe Celko son excelentes para este tipo de cosas, en particular "SQL para Smarties". Tiene algunas soluciones innovadoras a problemas comunes, la mayoría de los cuales son patrones de diseño reutilizable.

http://www.celko.com/books.htm

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X