Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-01-2007
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 13
Deiv Va por buen camino
Cool Preparar BD sin dependencias

Hola,
Me preguntaba ¿Cuál sería la mejor manera de preparar y administrar una Base de Datos de una Tabla Periódica Química sin dependencias externas?
Es una BD que contiene 120 Elementos, cada Elemento tiene como 15 Datos: Nombre, Símbolo, Número Atómico, Masa Atómica, Densidad, Radio Atómico, Punto de Fusión, Punto de Ebullición, Números de Oxidación, etc, etc, etc.
A lo que me refiero es que no quisiera llenar mi BD en ACCESS por ejemplo y luego estar susceptible que si en otro equipo no dispone de este programa, pues no trabaje. Prefiero evitarme dependencias, ya que los Datos de una Tabla Periódica son fijos y no cambian.
No sé, quizá preparalos en:
- ARRAYs unidimensional?
- Array Bidimensional?
- Archivo TXT? (Datos posicionados Verticalmente para luego trabajar con ReadLn y WriteLn)
- Archivo TXT o CVS (Delimitado)
- Otro?.....

Luego administrarlo quizá con:
- TStringList? (for i:=1 to 120)
- ADO?
- SQL?
- Otro?....

En un hilo que abrí aquí, Neftali orientaba trabajar con ADO, ahora este es otro Proyecto que preparo es más concreto ya que me gustaría PROTEGER esa BD, por ejemplo no vaya a ser que al Dato del Hidrógeno que tiene un electrón lo renombren y le hagan aparecer con 20 electrones (Utópico!!). De la forma que sugieran esta BD no debe ser tocada (debe estar protegida) solo debe ser administrada.
Entonces, que sugieren?:

¿Cual sería la mejor manera de preparar esta BD? ¿Y con que administrarlo?
¿Cúal mejor aquel del otro, y por qué? ¿Cuál la ventaja o desventaja de aquel, y por qué?

Ps.- Cuando me refiero a administarlo, me refiero que en algún momento voy a requerir mostrar solo Metales, o solo No Metales, o mostrar grupos: Alcalinos ó Halógenos ó Anfígenos, etc.
Responder Con Cita
  #2  
Antiguo 20-01-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 22
Lepe Va por buen camino
Definitivamente una Base de datos. Firebird embebido (firebird embedded) puede servir, lo único que tienes que distribuir es una dll en la misma carpeta de tu programa y listo.

Otros compañeros ya te comentaran otras alternativas.

En google seguro que encuentras paso a paso como debes hacerlo.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 21-01-2007
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 13
Deiv Va por buen camino
Gracias por tu orientación Lepe.
Firebird embebido??
Será esta la única forma. No habrá otra forma sencilla. ¿Que opinan?
Responder Con Cita
  #4  
Antiguo 21-01-2007
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 14
AzidRain Va por buen camino
Tablas planas...para que te complicas. Solo tendrias que distribuir el BDE.
Si optas por MySQL o Firebird ambos se pueden distribuir embebidos pero se me hace demasiado para una tabla de 120 registros fijos. Yo elegiría tablas planas.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #5  
Antiguo 21-01-2007
Avatar de rcarrillom
[rcarrillom] rcarrillom is offline
Miembro Premium
 
Registrado: dic 2004
Ubicación: UK / North Sea / Norway / Golfo de México / Frente a mi Laptop
Posts: 219
Poder: 13
rcarrillom Va por buen camino
Son pocos registros, puedes utilizar un componente que se llama TDbf y te gestiona bases de datos dBase III+, dBase IV, dBase visual VII y FoxPro, muy sencillo de usar.
__________________
eLcHiCoTeMiDo - Rompecorazones profesional
Yo no soy presumido; ¿Pero de qué sirve mi humilde opinión contra la de los espejos?
Salva a un nylon, usa prendas de piel de foca
Responder Con Cita
  #6  
Antiguo 21-01-2007
kalisto kalisto is offline
Miembro
 
Registrado: jul 2004
Posts: 62
Poder: 14
kalisto Va por buen camino
Pues yo, para tampocos registros utilizaria mybase, con un clientDataset, eso si, tienes que distribuir midas.dll, o incluirlo en el ejecutable.
Responder Con Cita
  #7  
Antiguo 22-01-2007
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 13
Deiv Va por buen camino
Question

Cita:
Empezado por Lepe
Firebird embebido
investigué algo, para mi es un lenguaje nuevo, en sí trabajar con Base de Datos es todo nuevo, me preguntaba ¿Cuantas instrucciones (sentencias) siempre y/o funciones de ese lenguaje tendría que utilizar para FILTRAR y ordenar mi Base de Datos?? podrías enviarme adjunto un ejemplo pequeño?
Cita:
Empezado por AzidRain
Tablas Planas
bien, pero mis datos NO los voy a mostrar así de plano, mas bien en un TListBox o un TMemo, entonces? oculto el TDBGrid?
Cita:
Empezado por rcarrillom
puedes utilizar un componente que se llama TDbf y te gestiona bases de datos dBase III+, dBase IV, dBase visual VII y FoxPro
¿Necesariamente entonces debo primero aprender dBase X, y FoxPro para enlazar con TDbf?
Cita:
Empezado por kalisto
eso si, tienes que distribuir midas.dll
Esta nueva palabra si que es nueva en mi lenguaje de comprensión en programación: MIDAS.
Pero en lo que si estamos todos de acuerdo que la Base de Datos es muy pequeña con POCOS Registros y FIJOS, y estoy tomando en cuenta cada sugerencia para investigar la opción más conveniente. Solo que si se dieron cuenta para no complicarme Yo partí de un Array y un ARCHIVO TXT, y quizá protegerlo con alguna Encriptación, esa es otra duda para cada sugerencia: la Protección, o diseñarla solo de lectura.
Mi programa no esta siendo diseñado para trabajar en Red, mas bien tiene propósitos de uso personal, individual en una PC, pues toda la BD de la Tabla Periódica lo administraré internamente, y cuando se requiera la mostraré en otros Objetos.

Lástima que para mi sea todo nuevo los términos y el manejo de Base de Datos. Paciencia les pido.

Espero mas sugerencias por favor.
Deiv
Responder Con Cita
  #8  
Antiguo 22-01-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 22
Lepe Va por buen camino
Cuando hemos hablado de "tablas planas" nos referimos a Paradox, dbase, foxpro, etc. La curva de aprendizaje es mínima, un programa para crear la base de datos y después con DBedits en tu ventana se hace todo.

Cuando hablamos de Firebird, MySql y un largo etcetera, estamos hablando de verdaderos Sistemas Gestores de Bases de Datos. En estos sistemas existen muchas más funcionalidades y posibilidades de administrar la información de la base de datos. Aqui la curva de aprendizaje es mayor, incluso meses y quizás tengas que leer en inglés los manuales.

La ventaja de usar Bases de datos, vendría por ser más cómodo para tí, como programador, pedir un listado de la tabla periodica ordenados por peso atómico (por ejemplo) o por grupo.

Sería tan simple como situar un objeto Tquery con la instrucción:
Código SQL [-]
   select nombre, peso, masa from tablaPeriodica where
   grupo = 3
   order by  peso, masa, nombre
Sería así para solicitar un listado ordenado por peso, si hay 2 elementos con el mismo peso, después se ordena por masa, y si existiera 2 elementos iguales, se ordena por nombre.

Hacer esto mismo con StringList puede ser bastante engorroso para tí y dedicarle mucho tiempo escribiendo código para ordenar un listado.

Quizás deberías explicar qué hace tu programa, porque me suena muy raro tener la tabla periodica en la base de datos y después no grabar nada más. ¿solo pide listados de elementos e imprime? ¿ni siquiera imprime? ¿no tienes que guardar información de otro tipo?.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #9  
Antiguo 23-01-2007
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 13
Deiv Va por buen camino
Wink

Tienes razón Lepe,
Mejor explicaré que va a hacer mi programita, mas tarde enviaré unos archvios adjuntos de la BD, para que lo observen.
Saludos
Responder Con Cita
  #10  
Antiguo 23-01-2007
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 13
Deiv Va por buen camino
Cool

Cita:
Empezado por Lepe
Quizás deberías explicar qué hace tu programa, porque me suena muy raro tener la tabla periodica en la base de datos y después no grabar nada más. ¿solo pide listados de elementos e imprime? ¿ni siquiera imprime? ¿no tienes que guardar información de otro tipo?.
Aquí dejo algo más entendible (ver archivos adjuntos):

Debo CARGAR por Código los Items a los TDBComboBox y aquí ya se debe trabajar con un FILTRADO, como verás en la imagen en el primer TDBComboBox debe ir solo la Columna "Tipo" y en el segundo la columna "Grupo" (OjO que de repente Yo llené mal la BD podía haber sido 1A, 2A, 3A, etc, en vez de Nros Romanos) esa columna debe también cargarse por código FILTRADO.

- El Programa como verán es demasiado sencillo, lo que hace es comprobar el TRadioButton para que luego muestre en el TDBMemo los Elementos en una columna y a su lado la masa atómica en la otra columna. En este TDBMemo para el primer caso:
- Si el RadioButton "Grupo" está activado debe mostrar los Elementos químicos ORDENADOS por su "Número Atómico",
- en cambio cuando el RadioButton "Todos" esté seleccionado, deshabilito el segundo TDBComboBox (GRUPO) y muestro todos los elementos con sus Masas Atómicasa según el primer TDBComboBox esté seleccionado = "Anfótero ó Gas Noble ó Metal ó No Metal" en el TDBMemo pero ORDENADOS Alfabéticamente.
- Y solo esta parte del Memo al final debería imprimir.

Hay un Button "Procesar" que después de seleccionar procesa todo lo indicado, después de clickar en este recién muestra en el TDBMemo.
Deiv
Archivos Adjuntos
Tipo de Archivo: zip BDElementosQ.zip (13,6 KB, 14 visitas)
Tipo de Archivo: zip Metales.zip (11,8 KB, 12 visitas)

Última edición por Deiv fecha: 02-11-2008 a las 16:20:22.
Responder Con Cita
  #11  
Antiguo 24-01-2007
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 14
AzidRain Va por buen camino
Perdon que insista, pero :

MySQL, Firebird y demas estan diseñados para manejar sin problemas millones de registros, varios usuarios al mismo tiempo y millones de transacciones. Acceso remoto y demas.

dBASE y Paradox son formatos pensados para usarse en la PC o en redes pequeñas con pocos registros (hablar de miles ya es mucho para ellos)

En tu proyecto no vas a necesitar más de 120 registros de manera que para que quieres complicarte con MysQL y demas...paradox o dbase son formatos de archivo para guardar datos muy sencillo y para los cuales Delphi ya trae controles que lo hacen. Solo un TTable y ya.

Estaria bien que nos plantearas mas que lo que llevas ya hecho, precisamente cual es el problema que va a resolver tu sistema o cual es el objetivo para que te podamos apoyar con muchas soluciones diferentes que puedas escoger

S
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Eliminar tabla con dependencias elunicode Firebird e Interbase 1 07-12-2006 00:54:24
analizador de dependencias entre packages Walter Roccaro Varios 1 07-04-2006 15:20:12
Eliminar dependencias rruffino Conexión con bases de datos 0 08-11-2005 12:47:43
Preparar Impresora antes de Imprimir!!! ElCherchu Impresión 0 15-08-2004 20:09:31
Preparar pagina en PReport ElCherchu Impresión 5 23-06-2003 16:15:52


La franja horaria es GMT +2. Ahora son las 13:28:41.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi