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:
SELECT BookTitle, Copyright, ab.AuthID
FROM Books AS b JOIN AuthorBook AS ab
ON b.BookID=ab.BookID
ORDER BY BookTitle;
- SELECT BookTitle, Copyright, ab.AuthID
- FROM Books AS b JOIN AuthorBook AS ab
- ON b.BookID=ab.BookID
- ORDER BY BookTitle;
Y crear un hash como el siguiente:
# Books.BookID => [AuthorBook.BookID]
# AuthorBook.BookID => [Books.BookID]
- # Books.BookID => [AuthorBook.BookID]
- # 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:
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;
- 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;
# Books.BookID => [AuthorBook.BookID]
# AuthorBook.BookID => [Books.BookID]
# Authors.AuthID => [AuthorBook.AuthID]
# AuthorBook.AuthID => [Authors.AuthID]
- # Books.BookID => [AuthorBook.BookID]
- # AuthorBook.BookID => [Books.BookID]
- # Authors.AuthID => [AuthorBook.AuthID]
- # AuthorBook.AuthID => [Authors.AuthID]
Ejemplos de base de datos de:
http://www.java2s.com/Tutorial/MySQL/00 ... ptable.htmNo 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)