Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Elegir Motor de Base de datos

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Elegir Motor de Base de datos Responder citando

Hola colegas, mi pregunta era la siguiente: Para una aplicacion monopuesto, monousuario, ¿Cual es el mejor motor??. ¿ Paradox , Access, ADO ?. Gracias por vuestro tiempo.
Volver arriba
Mensaje    Asunto: Responder citando

Para mi Interbase/Firebird, ya que tener un motor que sea activo te ayuda mucho, soporta triggers, procedimientos almacenados, restricciones de integridad referencial, esto ultimo muy importante porque además de ayudar a la consistencia de la BD permite simplificar la programación de las aplicaciones, al descargar sobre la BD ciertas tareas.

Ciao y suerte.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

En mi caso uso MYSQL a traves de ODBC de windows, me gusto por que uso los controles normales (pienso que podria emigrara a otros tiposde bases de datos mfacilmente), el mysql es rapido y corre en cualquier plataforma.

No he usado interbase pero he escuchado cosas buenas

Te dire que Ian Marteen (el autor del libro la cara oculta de c++ builder) me conteto en un email que el mysql es el servidor de base de datros para los que no les gustan las bases de datos (tengo el mensaje en el foro busca "Marteens")
Saludos
_________________
Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc

http://www.touchsoftwares.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Yo el unico problema que le achaco a MySQL es el tema de las Restricciones de Integridad referencial (depende la versión que utilizes están soportadas o no). Esto te simplifica mucho la aplicación.

Imaginate que tienes una tabla Catalogo.
Código:

/* No es la forma correcta de definir las restricciones, pues es mejor darles nombres, pero es para hacer el ejemplo más entendible y pequeño*/
CREATE TABLE ARTICULOS (
      codigo integer not null,
      descripcion varchar(20),
      precio integer,
      primary key(codigo)
)

// y otra tabla llamada Ventas.

CREATE TABLE VENTAS (
      codigo_venta integer not null,
      codigo_articulo integer,
      precio_venta integer,
      primary key(codigo_venta),
      foreign key(codigo_articulo) references ARTICULOS(codigo)
             ON DELETE CASCADE
             ON UPDATE CASCADE
)


Esto me ha simplificado el codigo de la siguiente manera.

En interbase por ejemplo que si estan soportadas estas restricciones tendriamos el siguiente funcionamiento.

- Si yo modifico el campo CODIGO de Articulo, automaticamente el SGBD modifica los campos de la tabla VENTAS donde aparezca ese articulo. Eso evita la inconsistencia. (ON UPDATE CASCADE).

- Si yo borro un articulo de la tabla ARTICULOS automaticamente se me borran todos los articulos de la tabla VENTAS donde aparezcan ese ARTICULO. (ON DELETE CASCADE).

- Si hubieramos omitido el ON DELETE CASCADE en la creación de la TABLA, al intentar borrar un articulo, si de este articulo se ha hecho alguna venta, es decir hay tuplas en la Tabla VENTAS donde figura ese articulo, Interbase nos hubiera disparado un error y no nos dejaría eliminar el articulo de la TABLA ARTICULOS (garantizandonos así la consistencia, es el llamado ON DELETE RESTRICT).

Sin embargo si estamos con MySQL (PERO QUE NO SOPORTE RESTRICCIONES, tendriamos el siguiente funcionamiento.

- Si yo modifico el codigo del articulo en la tabla ARTICULOS, no se habrían modificado los codigos de articulos en la tabla VENTA, con lo que el programador debe programar lineas de codigo para controlar la consistencia de la BD. (Engorro imaginate que tienes así muchas tablas).

- Si yo borro un articulo, habría ventas de las cuales pertenecerían a articulos que no existen, luego esto puede ser considerado como INCONSISTENCIA O NO, y habría que tomar decisiones de si requiere hacer más codigo para tratarlo como incosistencia o está permitido este funcionamiento.

Todo este tratamiento puede hacer que el SGBD sea más o menos complejo, pero los SGBD activos son más interesantes porque descargan al programador de algo de su trabajo. A lo mejor me estoy pasando y para una aplicación monopuesto es tontería irse a un SGBD más potente o complejo, pero sinceramente la ayuda que me proporciona el solo pensar en la integridad referencial no me hace dudar. Porque hay que pensar que (a las malas) el diseño de la BD podría sufrir modificaciones en cuanto a su estructura (logicamente esto se produciría de un mal diseño inicial), pero si se produjera, si estubieramos ante un SGBD que soportara integridad referencial los cambios no afectarian al programa, y varias lineas SQL cambiadas seguiriamos garantizando la consistencia de la BD. Sin embargo si nuestro SGBD no lo soportara, estariamos teniendo que volver a trabajar con el codigo que nos garantizaba esta consistencia y probablemente caeriamos en algunos fallos por despiestes u olvidos que no son nada convenientes.

En fin, como siempre cada cual lo que le guste y lo que le funcione bien.
Ciao y perdonad por el texto tan largo.

Me acabo de acordar de una cosa, si vas utilizar Querys para hacer algunas consultas más complejas, MySQL cero que no soporta Sub-consultas y esto si que hace aun más compleja la programación. Se que habrá gente que hará cosas similares con los JOIN, etc. Pero una SubConsulta te puede hacer la vida mucho mucho más facil, porque en varias lineas podrías tener los datos que te interesan y simplemente tendrías que sacarlos por pantalla, sin tener que estar consultando varias tablas para hacerlo en el caso de no soportar las subconsultas.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Efectivamente tienes toda la razon..., analizare otros manejadores de bases de datos , gracias
_________________
Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc

http://www.touchsoftwares.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Gracias amigo Touch, lo que había comentado es obvio de que son realmente mejoras frente a SGBD que no las llevan, muchas veces estas mejoras no son incluidas para garantizar un rendimiento optimo de velocidad. Aun así habría que hacer test claro para ver como rinden estos SGBD frente a consultas grandes y pequeñas. Mucha gente da como bueno el funcionamiento de MySQL en cuanto a velocidad, luego asumo que funcionará bien.

Como ya dije en otro post parecido, Oracle hasta la versión 6 o 7 no incluia las foreign key, así se aseguraban un rendimiento optimo en rapidez, al no tener que realizar ciertas comprobaciones. Aun así en la web de MySQL hay hechos varios test aunque yo no me fiaría mucho de los test por parte de la propia empresa, compara con BD ya un poco obsoletas, es decir, si la versión estable de MySQL es la 3.23 (más o menos) no está bien hacer una comparación de MySQL 4 con Interbase 5, (cuando por ejemplo Interbase va por la 7) y por ejemplo no hay comparativas con Firebird, o van y se ponen a comparar MySQL 4 con Access (ya te cagas!!).

En fin, imagino que MySQL va muy bien, por cuando toda la gente que hay utilizandola y más para Internet, luego eso es obvio, pero prefiero que me ofrezca ayudas y me simplifice mi aplicación y tener que despreocuparme un poco de la consistencia, en un proyecto medianamente grande, se te podría ir de las manos.

En fin, comentarios para todos los gustos. Imigino que mucha gente estará supercontenta con MySQL. Yo me quedo con Firebird.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Lo bueno de MySQL es que es de las bds mas rapidas que puedas encontrar, sobre todo a nivel de consultas, es facil de usar, portable, preparada para red y tiene control de acceso. Respecto la integridad referencial pues depende del numero de tablas que tengas sabras el trabajo extra que tendras que realizar. Ademas si quieres meter una parte web a tu sistema lo tienes a wevo con php. Ah, y admite valores de autoincremento.

Firebird e Interbase no las he usado, pero la voy a probar en breve. Mas que nada por usar IBX. Yo MySQL tengo wenas experiencias pero programando en Java/JSP/PHP.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

solo para hacerte la aclaración que IBX est;a deprecated, lo que Borland ha puesto en reemplazo es dbExpress que te será especialmente úitl para Interbase,

saludos
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

Es cierto que IBX está o estará en breve deprecated, pero la persona que se encarga de su desarrollo siempre está sacando actualizaciones. Que raro verdad? jajaaja.

Ojalá sucediera esto mismo con Builder.
_________________
OJO!! Ya tenemos subforo de Bases de Datos!!
Gracias a los admins.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

no se q opines, pero según leí, el punto flojo de IBX es el acceso concurrente a las tablas
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.