Asignador de consulta SQL

  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • Avatar de Usuario
  • Registrado: May 22, 2004
  • Mensajes: 3415
  • Loc: Richland, WA
  • Status: Offline

Nota Julio 12th, 2011, 9:08 am

Im buscando una herramienta que me ayudarán a asigna una aplicación bastante grande. La base de datos es tipo de horrible como no tiene claves externas ni las claves principales. También las columnas no siguen ninguna denominación particular.

Básicamente lo que quiero hacer es tomar una consulta que el siguiente aspecto:

SQL Código: [ Select ]
SELECT BookTitle, Copyright, ab.AuthID
FROM Books AS b JOIN AuthorBook AS ab
    ON b.BookID=ab.BookID
ORDER BY BookTitle;
  1. SELECT BookTitle, Copyright, ab.AuthID
  2. FROM Books AS b JOIN AuthorBook AS ab
  3.     ON b.BookID=ab.BookID
  4. ORDER BY BookTitle;


Y crear un hash como el siguiente:

Código: [ Select ]
# Books.BookID => [AuthorBook.BookID]
# AuthorBook.BookID => [Books.BookID]
  1. # Books.BookID => [AuthorBook.BookID]
  2. # AuthorBook.BookID => [Books.BookID]


Tenga en cuenta que tiene dos sentidos. La clave del algoritmo hash es el aspecto de la columna y el valor es una matriz de table.columns que hace referencia.

Otro ejemplo:

SQL Código: [ Select ]
SELECT BookTitle, Copyright, a.AuthFN, a.AuthMN, a.AuthLN
FROM Books AS b JOIN AuthorBook AS ab
    ON b.BookID=ab.BookID
JOIN Authors AS a
    ON ab.AuthID=a.AuthID
ORDER BY BookTitle;
  1. SELECT BookTitle, Copyright, a.AuthFN, a.AuthMN, a.AuthLN
  2. FROM Books AS b JOIN AuthorBook AS ab
  3.     ON b.BookID=ab.BookID
  4. JOIN Authors AS a
  5.     ON ab.AuthID=a.AuthID
  6. ORDER BY BookTitle;


Código: [ Select ]
# Books.BookID => [AuthorBook.BookID]
# AuthorBook.BookID => [Books.BookID]
# Authors.AuthID => [AuthorBook.AuthID]
# AuthorBook.AuthID => [Authors.AuthID]
  1. # Books.BookID => [AuthorBook.BookID]
  2. # AuthorBook.BookID => [Books.BookID]
  3. # Authors.AuthID => [AuthorBook.AuthID]
  4. # AuthorBook.AuthID => [Authors.AuthID]


Ejemplos de base de datos de:http://www.java2s.com/Tutorial/MySQL/00 ... ptable.htm

No tiene un ejemplo justo fuera de mi cabeza para ilustrar la parte de la matriz, pero la idea es tener una sola clave para una columna en una tabla y, a continuación, mostrar todas las otras tablas o columnas asigna a través de las consultas SQL en la app.
#define NULL (::rand() % 2)
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Julio 12th, 2011, 9:08 am

  • this213
  • Guru
  • Guru
  • Avatar de Usuario
  • Registrado: Mar 01, 2004
  • Mensajes: 1242
  • Loc: ./
  • Status: Offline

Nota Julio 17th, 2011, 10:09 am

No puedo pensar en nada de lo que lo hace. Si la base de datos es frustrante lo suficiente, podría ser vale la pena el tiempo para construir algo de sí mismo, pero theres nada diciendo los nombres de columna debe ser el mismo en cada tabla - es decir: Books.Author puede ser una clave externa para Authors.AuthorID. Tendrías que realmente analizar cada consulta en la secuencia de comandos para obtener relaciones. Ciertamente no es imposible, pero también, desde luego, no un pequeño script o bien.

Si se encuentra con cualquier cosa que hacer esto, quiero saber. Puedo pensar en muchas instancias donde esto podría ser útil.
http://www.disabo.com

Publicar Información

  • Total de mensajes en este tema: 2 mensajes
  • Usuarios navegando por este Foro: Kurthead+1 y 196 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC