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 Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-10-2012
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Cita:
Empezado por mRoman Ver Mensaje
Hola amigos que tal. Buenas noches.

Necesito orientación.

Se trata del acceso a la información exclusiva para ciertos usuarios PERTENECIENTES a una institucion en particular. Me explico:

Tengo una aplicación a la cual pretendo que se conecten varias instituciones (Unidades Operativas), las cuales pueden ser: Hospitales, Casas de asistencia, Asilos de ancianos, Orfanatos, Guarderías infantiles y para adultos mayores, etc...etc....

Cada una de estas instituciones, registrara en mi aplicación, un padrón de personas que recibirían el producto que mi empresa les vende, registrando obviamente la institución que realiza el pedido mas los nombres de cada persona, entre otros datos de cada uno de ellos como la direccion y la fecha de nacimiento......

PROBLEMA: ¿Como mostrarle a cada institución en mi aplicación SOLO la información que está haya registrado y que no pueda ver la información de las demás instituciones?

LO QUE ESTOY PENSANDO (Y no he hecho): Definir una tabla de usuarios a los cuales les registraré a que institución pertenecen, de tal manera que la PK de la tabla sería (por decir algo), USUARIO+CLAVE_ INSTITUCIÓN....y que cuando se conecten validar su clave de USUARIO y verificar si este usuario pertenece a la institución que él haya seleccionado en la pantalla de conexión......

...Ahora, que opinan de esta idea?....Existe alguna mejor? y para los que tengan algo parecido....como lo tienen....es decir, como lo lograron (código por fa)

Uso DELPHI 2010 y Firebird 1.5

No saben lo agradecido que estoy por su apoyo y orientación que le dediquen a mi consulta. Saludos muchachos.....
Pues yo no entiendo... ¿Y que tiene que ver el motor de base de datos, en este caso Firebird, con tu duda?
Asi como estás exponiendo tu caso das a entender que tu problema se trata más de diseño del sistema que algo propio a un problema duda en concreto con Firebird.
Concretamente, tu duda es como encarar el problema desde el lado de la interfaz, o en como diseñar la estructura de la base de datos (que dará lo mismo sea el motor que sea)? ¿O ambas cosas?

De lo que estoy seguro es que el que hayas elegido a Firebird como motor, es de sobra. En términos abstractos, y prácticos, en todo caso el diseño se lleva con un buen análisis y apoyándose en el uso de DER... que es algo independiente del motor. Que luego tu vuelques ese diseño y arquitectura en el motor en cuestión es por como has encarado el problema irrelevante.

Explícate bien.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #2  
Antiguo 07-10-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.677
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por Delphius Ver Mensaje
Concretamente, tu duda es como encarar el problema desde el lado de la interfaz, o en como diseñar la estructura de la base de datos (que dará lo mismo sea el motor que sea)? ¿O ambas cosas?
Pues eso, una tabla de instituciones, otra de usuarios de las instituciones y ya está solucionado el problema.
Aunque no sabemos si va a estar todo centralizado o ¿cómo?
Responder Con Cita
  #3  
Antiguo 07-10-2012
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
mRoman Va por buen camino
Gracias casimiro

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Pues eso, una tabla de instituciones, otra de usuarios de las instituciones y ya está solucionado el problema.
Aunque no sabemos si va a estar todo centralizado o ¿cómo?
Gracias casimiro por tu respuesta. Efectivamente la base de datos estará centralizada y todos los usuarios de cada una de las instituciones (2 0 3 usuarios y no mas) se conectaran a la base de datos, ejecutando de manera local el EXE de la aplicación.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #4  
Antiguo 07-10-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.677
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Pues entonces te vale lo dicho antes, en la BD debes de tener una tabla de instituciones y otra de usuarios de las instituciones, básicamente algo así:

Código SQL [-]
tabla tbInstituciones (
  id integer not null,
  nombre varchar(64),
  ...
  primary key (id)
)

tabla tbUsuarios (
  id integer not null,
  id_institucion integer not null,  /* esta es la institución al que pertenece el usuario */
  nombre varchar(64),
  password varchar(64),
  ...
  primary key (id),
  foreign key (id_institucion) references tbInstituciones (id)  /* clave foránea a la tabla tbInstituciones */
)
Responder Con Cita
  #5  
Antiguo 07-10-2012
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
mRoman Va por buen camino
Coincido con tu propuesta

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Pues entonces te vale lo dicho antes, en la BD debes de tener una tabla de instituciones y otra de usuarios de las instituciones, básicamente algo así:

Código SQL [-]
tabla tbInstituciones (
  id integer not null,
  nombre varchar(64),
  ...
  primary key (id)
)

tabla tbUsuarios (
  id integer not null,
  id_institucion integer not null,  /* esta es la institución al que pertenece el usuario */
  nombre varchar(64),
  password varchar(64),
  ...
  primary key (id),
  foreign key (id_institucion) references tbInstituciones (id)  /* clave foránea a la tabla tbInstituciones */
)
Te agradezco casimiro por tu tiempo y respuesta.

Efectivamente coincido con lo que comentas, de hecho empezaré a realizar algunas pruebas con lo que comentas y les platico.....

Se siguen recibiendo ideas !

Gracias a todos.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #6  
Antiguo 07-10-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.677
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por mRoman Ver Mensaje
Efectivamente coincido con lo que comentas, de hecho empezaré a realizar algunas pruebas con lo que comentas y les platico.
No, no... ¡¡¡error!!!, así no se diseña un sistema, supongo que lo habrás estudiado.
  1. Primero tienes que saber exactamente qué se quiere hacer y controlar. Cosa que veo que no tienes claro.
  2. Luego tienes que pensar en cómo hacerlo. Cosa que veo que lo tienes menos claro que lo anterior.
  3. Después tienes que escribir (papel y lápiz) cómo será todo lo anterior (pasarlo de la cabeza al papel). Imposible hacerlo si no has pasado por los pasos anteriores.
  4. Finalmente, con lo anterior ya hecho, y todo totalmente claro, es cuando hay que implementarlo en código.
Saltarse uno de los pasos no es viable.

Tu forma de hacerlo, tal y como has dicho antes es: ¡¡¡empezar a poner ladrillos sin saber ni dónde, ni por qué, ni cómo!!!, primero necesitas los planos hechos por el arquitecto, y en este caso tú eres el arquitecto, salvo que tengas un analista en tu empresa, después son los albañiles/programadores (con el seguimiento del arquitecto) los que ponen los ladrillos y echan el cemento, ¡¡¡pero siguiendo los planos que hizo el arquitecto/analista!!!
Responder Con Cita
  #7  
Antiguo 07-10-2012
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
mRoman Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
No, no... ¡¡¡error!!!, así no se diseña un sistema, supongo que lo habrás estudiado.
  1. Primero tienes que saber exactamente qué se quiere hacer y controlar. Cosa que veo que no tienes claro.
  2. Luego tienes que pensar en cómo hacerlo. Cosa que veo que lo tienes menos claro que lo anterior.
  3. Después tienes que escribir (papel y lápiz) cómo será todo lo anterior (pasarlo de la cabeza al papel). Imposible hacerlo si no has pasado por los pasos anteriores.
  4. Finalmente, con lo anterior ya hecho, y todo totalmente claro, es cuando hay que implementarlo en código.
Saltarse uno de los pasos no es viable.

Tu forma de hacerlo, tal y como has dicho antes es: ¡¡¡empezar a poner ladrillos sin saber ni dónde, ni por qué, ni cómo!!!, primero necesitas los planos hechos por el arquitecto, y en este caso tú eres el arquitecto, salvo que tengas un analista en tu empresa, después son los albañiles/programadores (con el seguimiento del arquitecto) los que ponen los ladrillos y echan el cemento, ¡¡¡pero siguiendo los planos que hizo el arquitecto/analista!!!
Agradezco tu comentario Casimiro. Cuando comento que pondré en práctica lo que me dices....me estaba refiriendo a "pensar" para luego pasar al "papel" y de ahi todo los demas....asi como dices en tu pasos enumarados.

En estos momentos estoy en la etapa del análisis....."imaginandome" como debo hacerle para que los usuarios solo vean su información....todavia no estoy con las tablas....de hecho tengo poco con el inicio de este aplicación si acaso 15 o 20 dias....
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #8  
Antiguo 07-10-2012
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
mRoman Va por buen camino
Cita:
Empezado por Delphius Ver Mensaje
Pues yo no entiendo... ¿Y que tiene que ver el motor de base de datos, en este caso Firebird, con tu duda?
Asi como estás exponiendo tu caso das a entender que tu problema se trata más de diseño del sistema que algo propio a un problema duda en concreto con Firebird.
Concretamente, tu duda es como encarar el problema desde el lado de la interfaz, o en como diseñar la estructura de la base de datos (que dará lo mismo sea el motor que sea)? ¿O ambas cosas?

De lo que estoy seguro es que el que hayas elegido a Firebird como motor, es de sobra. En términos abstractos, y prácticos, en todo caso el diseño se lleva con un buen análisis y apoyándose en el uso de DER... que es algo independiente del motor. Que luego tu vuelques ese diseño y arquitectura en el motor en cuestión es por como has encarado el problema irrelevante.

Explícate bien.

Saludos,
Antes que nada gracias Delphius por contestar.

No se trata del diseño de la interfaz, si no, de como controlar el acceso a la información de la base de datos por cada uno de los usuarios. Es decir....que la información q registren los usuarios de un hospital no la pueda ver los usuarios de un Asilo de ancianos o los usuarios de un Orfanato. Esto lo tengo bien claro que lo debo de controlar a nivel base de datos (Firebird), mi duda es....como hacerlo?....que ideas proponen?

La que yo planteo al inicio del hilo, pudiera ser viable?...

No sé sí ahora haya quedado mas claro para ti Delphius
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
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
Controlar acceso a Usuarios luxus Varios 4 13-06-2008 07:55:09
Acceso por miles de usuarios simultaneo HomeCinema Firebird e Interbase 0 06-02-2007 10:38:23
acceso simultaneo varios usuarios Tabla interbase hibero Conexión con bases de datos 15 03-12-2006 23:21:16
Protección de acceso a usuarios jasensio Seguridad 1 02-10-2006 13:45:59
permiso de acceso a usuarios jzginez Firebird e Interbase 6 06-10-2003 14:28:18


La franja horaria es GMT +2. Ahora son las 21:18:08.


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