Equivalentes consultas sql de access en velneo


([N1] sistemasitp) #1

Definitivamente cuando no se conoce muy bien la herramienta uno hecha de menos muchas cosas que hacia tan facil con otros sistemas de bases de datos por ejemplo:
1. Cual es el equivalente en velneo de una consulta de creación de tabla "esta es una consulta que crea una tabla con los registros que cumplen ciertas condiciones.
2. El de una consulta de datos anexos, agrega en una tabla los registros de otra que cumplen ciertas condiciones
3. El de una consulta de eliminacion de datos, elimina de una tabal los registros que cumplen ciertas condiciones.
4. El de una consulta de tabla cruzada que son equivalentes a las tablas dinámicas de excel.


([N1] cristianvg2003) #2

trato de responderte:

1. no con velneo a la fecha no hay forma de crear tablas en tiempo de ejecución, pero tal vez no lo necesites, con tablas en memoria y las cestas puedes hacer mucho.

2. para la segunda bien puedes pegar un tubo de lista de la salida de un objeto busqueda.

3. despúes de cualquier instrucción que devuelva una lista (cargar_lista, cargar_plurales, busqueda, etc), bien puedes ejecutar un "recorrer lista eliminado fichas"

4. esa si es mas complicada en velneo tendrías que liarte con el calculo y la representación de los datos, pero depende mucho del caso.

Saludos,


([N1] sistemasitp) #3

De todas formas veo que Velneo adolece de cosas tan basicas de otros manejadores, no digo que no se pueda hacer lo que digo es que eso procedimientos deberian implmentarsen porque son basicos en otros manejadores de bases de datos, otra cosa es por ejemplo el examinar datos de tablas como lo hace phpmyadmin o fox, access, incluso sql. Repito no es que no se pueda hacer lo que pasa es que demanda de más tiempo y desde luego de conocer la herramienta, lo que no sucede con las istrucciones sql nativas de otros manejadores y de los asistentes que ofrecen access, sql, mysql con sus complementos.


([N1] cristianvg2003) #4

Hola,

Pues con velneo tienes unas por otras, obtienes la potencia de su modelo relacional y la navegabilidad de sus datos a cambio de reestructurar tu forma de abordar los problemas y las estructuras de datos, esto es lo que en la comunidad de Velneo le llaman el "cambio de chip".

En cuanto a ver los datos, existe el dataclient (muy util por cierto) ... una verdadera lastima que no este disponible pare quienes recien se acercan a la herrramienta.

Saludos,


([N1] Roberto Blasco) #5

Hola cristian

Pues con velneo tienes unas por otras, obtienes la potencia de su modelo relacional y la navegabilidad de sus datos a cambio de reestructurar tu forma de abordar los problemas y las estructuras de datos,

Lamento no estar de acuerdo ..... ¿qué ventajas tienen el "modelo relacional" de Velneo con respecto a cualquier base de datos estándar SQL?

Un saludo. Roberto Blasco.


([N4] mperez) #6

@Sistemasitp : Con tu permiso he utilizado tu pregunta para unos artículos que estoy escribiendo en mi Blog. Espero te aclarén algunas dudas. De todas formas tu pregunta es normal, muchos de los que están en el foro la hicieron en su día

http://mpoliver.wordpress.com/2011/12/27/fundamentos-de-velneo-2o-de-10/


([N1] sistemasitp) #7

Por eso digo que cuando no se conoce muy bien la herramienta, porque en definitiva siempre que empiezo a programar con un nuevo lenguaje me encuetnro con las mismas dificultades y siempre encuentro la solución con los manuales que encuentra uno en la internet. Para las personas que migramos de otros lenguajes debería haber un especie de manual paso a paso en donde se mostrará el equivalente de como se harían ciertas cosas en velneo para que el aprendizaje fuera perpendicular. Por ejemplo me he matado la cabeza tratando de buscar el equivalente a las consultas cruzadas muy parecidas a las tablas dinámicas de excel, y aún no encontrado las funciones de bases de datos como hallar el mejor promedio, el maximo, el minimo, la suma.... de un grupo de registros que cumplan ciertas condiciones, etc.


([N1] cristianvg2003) #8

buenos días
@Roberto solo por comentar, que te parecen estas dos ventajas:

1. Concepto de Entrada y Salida para los objetos visuales y procesos.
2 .Los enlaces entre tablas realmente son utiles => actualizaciones, punteros, navegación por puntos (#mestro.maestro.singular_de_plural.campo_que_quieres).

valga decir que a v7 no se le puede juzgar o comparar con otra bases de datos SQL en el sentido puro, simplemente no tiene sentido, la potencia y razón de ser de v7 es la profunda interrelación entre el modelo de datos y los objetos visuales, es cierto que tal vez se sale perdiendo en una que otra área pero los beneficios superan estas perdidas por mucho.

@sistemastip, sin conocer tu problema con lo que pretendes con las consultas de cruzadas tal vez la solución sea una tabla solo para estadisticas que vayas alimentando con actualizaciones, como muchos lo hacemos.

Un saludo,


([N1] finanplan) #9

Buenas tardes,

Desde siempre me pregunto a que es debido que Velneo no incorpore el Standar SQL. ¿Cual es el problema?.
Dispondríamos de las bondades de Velneo y las de SQL en una sola herramienta.
En ocasiones para cargar un grupo de registros de una tabla y obtener su suma has de hacer maravillas. ... Si si ya se que puedo montar una actualización para ello, o tenerlo en un informe, ....pero es que a veces no quiero hacerlo así, ya que tal vez solo quiero cargar esa suma en una variable de manera puntual para hacer un cálculo.........
Saludos. Daniel.


([N1] sistemasitp) #10

Evidentemente he encontrado ventajas en Velneo de lo contrario no estaría probando la solución. Pero creo que el sentido de una comunidad de programadores es velar porque la herramienta se contruya en forma colaborativa llevandola al punto que supere a las que se ofrecen en el mercado, y creo que las bondades de otras aplicaciones se deberian implementar para facilitar la migración hacia Velneo, con esto ganariamos todos, los usuarios y Velneo como empresa.


([N1] Roberto Blasco) #11

Hola cristianvg2003.gmail

Vuelvo a repetir que no sé porqué la comunidad de Velneo le da la espalda a lo obvio .... y no quiero ser yo siempre el que quede como "hereje". Nada más lejos de la realidad. Sólo veo que se podría avanzar a pasos agigantados en esta plataforma y se deja pasar el tiempo ...

@Roberto solo por comentar, que te parecen estas dos ventajas:

1. Concepto de Entrada y Salida para los objetos visuales y procesos.
2 .Los enlaces entre tablas realmente son utiles => actualizaciones, punteros, navegación por puntos (#mestro.maestro.singular_de_plural.campo_que_quieres).

El conepto de Entrada y Salida para Objetos Visuales no es más que la definición de una función que está aplicado en cualquier lenguaje de programación especialmente a aquellos que está orientados a objetos .... yo te llamo y tú me contestas. No es nada nuevo que merezca ser resaltado. TODOS los lenguajes actuales funcionan así.

¿Los enlaces a tablas, punteros, actualizaciones?
¿conoces lo que es una Foreign Key?. Pues es lo mismo más que Velneo lo adoptado para sí con otro nombre (punteros), claro que limitado.
¿sabes lo que es un trigger en una base de datos? ¿un procedimiento almacenado? (aplicado a las actualizaciones)

¿Puedes en Velneo hacer una consulta a varias tablas?
¿Puedes presentar el resultado de una consulta a varias tablas en un solo recordset para luego hacer con él lo que quieras?
¿Puedes crear de forma dinámica objetos/tablas en tiempo de ejecución?
Roles, esquemas, permisos de usuarios por tablas ....
Vistas .....
Procedimientos almacenados ...
Replicación de la base de datos, balanceo, clustering, backup automáticos
Acceso a MIS DATOS sin necesidad de ninguna herramienta de pago
¿Puedo consultar desde Velneo esquemas de sus datos que no heredan de la instancia?
...
...
...
...

En fin, la respuesta es SQL y la consecuencia de no adoptarlo es quedarse atrás.

Hay que adaptarse a Velneo. Estoy de acuerdo, todo lenguaje de programación tiene sus particularidades. Pero lo que no hay que hacer es condenarse. Mientras estoy con Velneo trabajo con lo tengo, si pasados los años cambio de tecnología, estaré tan anticuado que tendré verdaderas dificultades para adaptarme sin un inmenso esfuerzo de aprendizaje. Este es el sacrificio de no trabajar con los estándares.

@Miguel. Compararme el acceso a base de datos con Velneo poniendo como referencia a Access no hace más que darme a mi la razón. Hoy en día bases de datos gratuítas como Postgres están a la altura de Oracle en cuanto a funcionalidad y resultados. Compárame Velneo con Postgres ( o si quieres MySQL) y podremos hablar de cosas más serias.

Mira lo complicado que es hacer una consulta en Java

ResultSet rs = s.executeQuery ("select * from persona");

rs es un objeto ...

En PHP

$dbname="nombreBaseDatos";
$tablename="nombreTabla";
$query="SELECT * FROM $tablename;";
$result=mysql_db_query ($dbname, $query, $link);

result es un objeto

En Servoy con SQL

var ds = databaseManager.getDatasetByQuery("mi servidor", "select * from personas")

ds es un objeto

Sinceramente espero que desde Velneo tomen ya en consideración todas estas opciones (estándares) que harán de esta magnífica herramienta mucho mejor y al nivel de las herramientas actuales de programación.

Un saludo. Roberto Blasco.


([N4] mittosoftware) #12

Si de estándares hablamos, un estándar defacto que cualquier desarrollador busca en cualquier herramienta de desarrollo, es el poder desarrollar sobre cualquier BD. Otro estándar infaltable es UML.
.
En ambos casos esto no se cumple en Velneo, es el mayor impedimento para que se convierta en una herramienta de grandes ligas. Sin embargo, las 2 ideas aparecen abandonadas, porque los N1 (clientes potenciales que vienen de otras herramientas (y quienes mas podrian valorar estas características), no pueden votar).
.
http://ideas.velneo.es/forums/61867-ideas/suggestions/1385231-desarrollar-directamente-sobre-bases-de-datos-exte

http://ideas.velneo.es/forums/61867-ideas/suggestions/1324327-esquemas-que-muestren-campos-y-llaves


([N2] bannu) #13

Roberto, no creo que tengan en mente realizar ese tipo de cambios en el motor de la base de datos, de lo contrario ya lo hubiesen hecho hace muchos años con v6, Velneo siempre ha destacado por alejarse de los estándares fijados, vamos que siempre va a contracorriente, y si lo quieres bien y si no también, si con Velneo se pudiesen hacer lo mismo que con las bases de datos Relacionales estándar aunque solo fuese a nivel de consulta o creación de tablas sería una herramienta muy a tener en cuenta.


([N1] cristianvg2003) #14

insisto me gusta esto:

@Roberto:

repito NO PUEDES comparar v7 tu a tu con otras herramientas que meramente son base de datos, si vas a comparar compara en conjunto con otras plataformas equivalentes y aun así el asunto termina siendo de necesidades, para que compró una ferrari para criticar que no tiene la robustes de una landrover, en el momento en el que la diseñaron les toco elegir entre velocidad y capacidad off road, hay ciertas cosas que son una disyuntiva.

Sin nunca haber hablado con nadie del departamento de desarrollo, asumo que alguna vez tuvieron que decidir si entregaban una posibilidades de programación visual realmente simples y abstractas pero basadas en su propia db para realizar una integración profunda o si entregar compatibilidad con muchas bases de datos pero obligando a los desarrolladores a "picar" mas código .... yo creo que esta claro que fue lo que eligieron.

me cito a mi mismo:

la potencia y razón de ser de v7 es la profunda interrelación entre el modelo de datos y los objetos visuales

Por esta razón es que terminas comprando v7 o apostando por el, vas a perder algunas cosas como las que cita @Roberto, claro que si, pero en terminos de romperme la cabeza prefiero hacerlo con una sola "consulta de datos cruzados" que con n mil "selects * from" solo para recorrer mis datos (sin mencionar que odio los Joins) no por nada existen fabulosos ORMs como ActiveRecord, DataMapper, MongoId, etc en mi caso para Ruby ellos lo hiceron a su forma, velneo a la suya y ellos te venden esa decisión.

El lema de Velneo es "Life is Soft", y lo que han traducido de ello es una plataforma muy pontente pero sencilla que te hace la vida mas simple precisamente quitandole tantos Selects, Deletes, Updates. Transforms, etc al desarrollo, algunos agradecemos esto a otros les hace falta, digamos el asunto es decidir con que nos queremos "romper" la cabeza.

Vuelvo a repetir que no sé porqué la comunidad de Velneo le da la espalda a lo obvio

No creo que la comunidad o Velneo no sepan que existen estándares, es simplemente que velneo no se trata de eso, ellos abordaron el mismo problema desde una optica diferente y quienes estamos aqui nos gustó esa optica y tratar de hacerlo diferente no exclusivo de Velneo no por nada se están desarrollando cada vez mas bases de datos NoSQL como CouchDb, MongodDb, Cassandra (Del propio Facebook) y hasta la misma Oracle recien introdujo su base de datos NoSQl saliendose de los "estandares".

asi que desde mi punto de vista:

- Si lo que te quita velneo afecta tu dia a dia en cuanto a la forma que tienes de programar, Velneo no es parati.

- Si Velneo te entrega muchas muchas cosas que te gustan, pero tal vez tengas que liarte una que otra consulta porque el modelo no lo soporta Velneo SI es para ti, simplemente ganas mucuho mas de lo que sacrificas.

- Si amas profundamente escribir Selects, Deletes, Updates, Froms, joins, left joins, transforms, etc. tal vez Velneo no es para tí

hay n mil formas de estructurar un problema de acceso a datos si te gusta velneo los suficiente y tienes practica se vuelve automatico en tu cabeza.

un Saludo,


([N1] Roberto Blasco) #15

@cristianvg2003.gmail

No voy a comparar Velneo con otras herramientas similares porque sería una falta de respeto para este foro y porque éste no es el lugar adecuado.

En todo lo demás estoy de acuerdo contigo. Si Velneo cumple con todas tus espectativas, no hay nada más que decir :-)

Sólo un apunte .... prefiero tener la oportunidad de hacerlo a que me sea imposible. ¿Sería tan complicado que estuvieran las dos formas de trabajar presentes? Algo tan sencillo como la posibilidad de asociar una rejilla a una consulta ....

Un saludo. Roberto Blasco.


([N1] Roberto Blasco) #16

Me gustaría hacer otro apunte en cuanto a los "estándares"

- Oracle es el PU... AMO de las bases de datos (de pago). Hace lo que quiere y se pasa los estándares por el forro.
- MongoDB puede ser atacada desde cualquier plataforma http://www.mongodb.org/display/DOCS/Drivers.

Pero a nadie se le ocurriría hacer una contabilidad con Oracle en NoSQL o MongoDB. Están diseñados para la gestión de contenidos. Cada cosa en su sitio ....

Sin embargo, si quisiera utilizar estas bbdd podría hacerlo porque en ambos datos se proveen de los conectores necesarios para incorporar los datos en una aplicación que sea capaz de recogerlos e integrarlos.

Un saludo. Roberto Blasco.


([N3] blanyi) #17

Buenas tardes.

@sistemasitp y @Roberto Blasco si ustedes no están dispuestos a cambiar sus paradigmas tal vez Velneo no es para ustedes entonces. Deben entender que Velneo es diferente a lo que hasta ahora conocíamos y ustedes pretenden encontrar en Velneo lo que tienen en otras herramientas y no es así. Si quieren seguir con lo que tienen en otras herramientas quédense con ellas, no tiene sentido cambiarse a Velneo y seguir añorando lo anterior.

@finanzas.finanplan @cjribera.yahoo, no entiendo porque están en Nivel 3 si creen que a Velneo le falta tanto.

Yo estaba en la misma posición que todos ustedes, pero me di la oportunidad de escuchar, estudiar y probar y mcuhas veces he lamentado que Velneo no haga o no tenga algo que encontraba en la antigua herramientas, pero he buscad ayuda, he entendido que esto es diferente y que tengo que olvidarme de las otras herramientas si quiero avanzar en esta.

YIMY MORA ACONCHA


([N1] cristianvg2003) #18

Solo por bromear:

@roberto, ya que viste hasta los drivers, por cosas de la vida miraste el lenguaje de Query en puro Json ? a que no falta el que diga que la db es genial pero que sería bueno utilizar unos selects ;) jejejee ;)

un Saludo,










([N1] Roberto Blasco) #19

@blanyi
Llevo ya muchos años programando en Velneo y sigo utilizándolo para determinados desarrollos por lo fácil que me resulta hacer aplicaciones sencillas, lo que no quiero decir que me gustaría que evolucionara un poco más.

@cristianvg2003.gmail
No es ninguna broma :-) Me parece una opción muy interesante. De hecho yo me he creado un pseudo plugin que es capaz de lanzar consultas SQL contra Velneo tomando en base un respaldo de XML para las tablas por las que quiero consultar. Ahora mi pregunta es .... ¿Una vez recuperado esa consulta la podría volcar en de forma nativa en una rejilla?

Un saludo. Roberto Blasco.


([N1] filipeagg) #20

Yo estoy de acuerdo con Roberto Blasco, pero no voy tanto al extremo.

Pienso que tanto a Roberto como a todos los que ya usámos Velneo de forma séria, nos encanta muchas de las cosas de Velneo, si así no fuera no estávamos "perdiendo el tiempo" contestando y viendo los foruns de Velneo.

Lo que le pasa a Roberto, a min, y a otros es que vemos que la herramienta tiene un potencial enorme, pero que para proyectos sérios se queda corta en funcionalidad de bajo nivel. Roberto ya ha desarrollado una infinidad de dlls para dar funcionalidad de cosas que en nuestra opinión la herramienta deberia permitir hacerlo.

No queremos que Velneo sea igual a todas las demás herramientas, solo deseamos que Velneo incorpore funcionalidades alternativas de bajo nivel para hacer frente a inumeros problemas que se plantean en proyectos sérios y de grandes dimensiones.

Por ejemplo:

- Posibilidad de crear en un proyecto distintos conectores (Velneo, Mysql, Sql, Postgre...). Al crear una tabla definir un conector para esa tabla. Esto nos permitiria de forma nativa manejar no solo la base de datos de velneo, como cualquier otra base de datos definida en el conector, o sea, desde un formulario realizar una alta en una tabla mysql, o definir un evento de tabla que replica ese registro nativamente en una sql.

Muchos me dirán que con velneo no se podria hacer, pero ayer estube probando el odbc de velneo, y funciona bastante bien, esa es la prueba que se Velneo así lo quisiera lo podría hacer sin mayores problemas.

@Roberto
No te desanimes, pienso que con qml se podrá hacer cosas como alimentar una rejilla con los datos que desees, basta definir el modelo en qml y lanzarlo, el unico es que el rendimento es un poco inferior, pues es un lenguaje interpretado.

http://blog.digitalsoftlab.com/