Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-05-2017
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.941
Poder: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Parece que FB tiene soporte parcial, usando un campo integer y funciones de BIT:

https://stackoverflow.com/questions/...-to-bit-in-sql

Código SQL [-]
Integer field: 7 = 00000111

SELECT 
   bin_and(field, 1) as bit1, 
   bin_and(field, 2) as bit2, 
   bin_and(field, 4) as bit3,
   bin_and(field, 8) as bit4,
   ... 
FROM T
__________________
El malabarista.
Responder Con Cita
  #2  
Antiguo 05-05-2017
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
¿Y por qué no guardas los números tal cual, en campos integer?
Recuerdo haber guardado cosas en bits, pero de eso hace muchos años, cuando el espacio en disco era muy limitado, los primeros discos duros que usé eran de 4 Megas
Responder Con Cita
  #3  
Antiguo 06-05-2017
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.941
Poder: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por Casimiro Notevi Ver Mensaje
..cuando el espacio en disco era muy limitado, los primeros discos duros que usé eran de 4 Megas
Los bitarrays tienen usos muy interesantes (no solo es para ahorrar espacio!):

http://blog.getspool.com/2011/11/29/...redis-bitmaps/

Ahora que he leido un monton sobre arquitecturas de bases de datos, los bitmap index permiten de forma eficiente hacer un monton de cosas:

https://stackoverflow.com/questions/...ndexes-helpful

En especial, acelerar un monton de tareas relacionadas con analiticas, optimizar consultas del tipo AND, OR, NOT, COUNT, etc.

------

Cita:
No se porque lo harás así, pensaría que porque de esta manera quien observe los datos directamente en la base de datos no los comprenderá inmediatamente y al verlo que se parecen a un binario pensará que es eso y no podrá obtener el resultado del sorteo.
Pero si la razon de esto es hacer "seguridad mediante oscuridad" es la razon equivocada.

SQL es un lenguaje relacional, y tiene excelente soporte para tareas de conjuntos.

La razon de usar bitarrays es para obtener eficiencia a escala y formas creativas de hacer estadisticas.
__________________
El malabarista.

Última edición por mamcx fecha: 06-05-2017 a las 00:16:32.
Responder Con Cita
  #4  
Antiguo 06-05-2017
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por mamcx Ver Mensaje
Los bitarrays tienen usos muy interesantes (no solo es para ahorrar espacio!):
Ya, la primera vez que usé 'bitarrays' fue para guardar "estados" en un sistema de base de datos multiusuario que creé en 1994. Lo apliqué a una gestión comercial hecha en lenguaje C, al igual que la base de datos, del tipo c-isam. Quedó un sistema rapidísimo en red local, tanto con msdos, drdos y win31, que es lo que había por aquella época.

Edito: Esa fue la segunda vez, la primera vez fue antes, en 1987, ahí sí que lo usé para ahorrar espacio en disco.
Responder Con Cita
  #5  
Antiguo 06-05-2017
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.941
Poder: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Tambien los Set:

http://www.delphibasics.co.uk/RTL.asp?Name=Set

Son una implementacion de bitarray. Asi que es algo muy usado en Pascal
__________________
El malabarista.
Responder Con Cita
  #6  
Antiguo 06-05-2017
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por mamcx Ver Mensaje
Tambien los Set:

http://www.delphibasics.co.uk/RTL.asp?Name=Set

Son una implementacion de bitarray. Asi que es algo muy usado en Pascal
Responder Con Cita
  #7  
Antiguo 08-05-2017
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 585
Poder: 23
santiago14 Va por buen camino
Wink

Jajajajja. La razón no es "seguridad mediante la oscuridad", la razón es mas simple.

Cada sorteo tiene alrededor de 200.000 cartones, los cuales pueden tener 1 o varias combinaciones de 10 número cada uno. Todo esto con un universo de 90 números (1 al 90) para el sorteo.

Si mi tabla de registros de cartones tuviera 10 campos, cada uno INTEGER, para un único sorteo necesitaría 4 bytes * 200.000 registros = 800.000 bytes que son 781 KBytes aprox por sorteo. Si bien no es tanto, suena mas engorroso trabajar con esto que con un valor único que contenga a los valores en un solo campo (bueno, no se)

Si de repente, mi cliente decide hacer un sorteo con 12 números (o de 8), en lugar de 10, ya tendría que pensar en una estructura (tabla) propia para poner los números de la generación de cartones. Para esto tendría que poner otra tabla.

En realidad, estoy buscando la mejor manera de registrar en la BBDD los números correspondiente a los cartones que voy a generar. Son muchos por sorteo y estoy pensando a futuro, para no tener que penar con estructura monstruosas. De ahí que acepto todas las sugerencias que me puedan dar al respecto.

Gracias.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita
  #8  
Antiguo 09-05-2017
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por Casimiro Notevi Ver Mensaje
[...] los primeros discos duros que usé eran de 4 Megas
Así eran aquellos discos duros en los tiempos mozos de Casimiro:



Responder Con Cita
  #9  
Antiguo 09-05-2017
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por Al González Ver Mensaje
Así eran aquellos discos duros en los tiempos mozos de Casimiro:
Ese era ya el modelo nuevo, con bus de datos de 2 bits
Responder Con Cita
Respuesta



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
¿No funciona el componente "TWebBrowser" en Delphi 64 bits? dec Varios 5 15-09-2016 13:53:03
Error "Error while trying to open file" al conectar Server Centos 6.4 64 bits lavtaro Firebird e Interbase 25 26-01-2014 09:48:19
Sobre componentes del tipo "TChart" o similares, preguntas varias dec Gráficos 2 22-11-2007 13:50:47
Tipo de Variable."String" ó "Double" UTECYBER OOP 7 15-12-2003 20:25:39
Problemas con Query campo tipo Date "Oracle" Marrano Oracle 4 27-05-2003 12:09:56


La franja horaria es GMT +2. Ahora son las 20:56:56.


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