|
Página 1 de 1
|
Asignación Automática De ID En Las Tablas De La BD
Autor |
Mensaje |
LIberto
Usuario
Registrado: Febrero 2014
Mensajes: 15
Edad: 34
|
Asignación Automática De ID En Las Tablas De La BD
Hola amigos.
A partir del programa de ejemplo de Consulta Médica, estoy intentando hacer algo similar pero adaptado a un depósito municipal de vehículos.
La diferencia que existe entre ellos es que una consulta médica se le puede poner un ID único a cada registro, esto es, en el caso de un paciente su DNI o tarjeta sanitaria.
En el caso de un vehículo la situación puede tornarse más compleja, ya que un vehículo que ingresa a un depósito municipal puede tener varias ID's o ninguna:
-Puede ser su matrícula.
-Su número de motor
-Su número de chasis
O puede no tener ningún identificador, ya que puede ser un coche abandonado o quemado, quedando inidentificable.
En esta tesitura, estoy buscando alguna forma de que la tabla pueda asignar un ID automático, y que dicho ID pueda ser relacionado con las tablas asociadas.
¿Veis una posible solución?
Un saludo
=================== Abogado - Autor de http://elblogdeltoguero.blogspot.com
En compensación por la ayuda que me presta este foro, consultadme lo que necesitéis en materia legal.
|
#1 Miercoles, 19 Febrero 2014, 15:08 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Asignación Automática De ID En Las Tablas De La BD
LIberto:
Citar:
"A partir del programa de ejemplo de Consulta Médica, estoy intentando hacer algo similar pero adaptado a un depósito municipal de vehículos"
No puedes adaptarlo. Me explico, tienes que estudiar como se organizan los datos de tu base de datos para el depósito municipal de vehículos. A partir de tener claro que tablas intervienen, que campos contienen las tablas, y relaciones que tengan las tablas, podrás empezar a desarrollar el programa.
Citar: La diferencia que existe entre ellos es que una consulta médica se le puede poner un ID único a cada registro, esto es, en el caso de un paciente su DNI o tarjeta sanitaria.
Siempre es conveniente que los registros tengan un único ID, ya que facilita el borrado y editado de los registros. Lo que puedes hacer es que el programa genere un ID único (aunque el usuario no lo vea en la tabla), pero que internamente si este en los registros. Luego tendrás un campo que verá el usuario que será la matricula, número de de motor, o lo que sea.
Citar: O puede no tener ningún identificador, ya que puede ser un coche abandonado o quemado, quedando inidentificable.
Debe de tener algo que identifique el coche, aunque sea la fecha y hora (o donde se encontro) de cuando entro en el depósito. Pregunta a un deposito "real", como gestionan este tipo de casos.
Evidentemente si no tienes ninguna forma de identificarlo, no habrá manera de encontrar el coche (o lo que quede de el)
Citar:
tabla pueda asignar un ID automático,
Hay un tipo de campo en las bases de datos que lo puedes decir que se autoenumeren.
|
#2 Miercoles, 19 Febrero 2014, 17:20 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Asignación Automática De ID En Las Tablas De La BD
Si no recuerdo mal el ejemplo de Julio de las citas estaba hecho en sqlite. Si estás pensando en hacerlo en un servidor web, te aconsejo mysql o postgresql. Ese planteamiento es anterior a la estructura de las tablas, por cuanto las versiones de sql de cada una de las bases difieren y la conversión de uno a otro (salvo que uses los objetos de gambas) puede ser problemática.
Citar: ya que un vehículo que ingresa a un depósito municipal puede tener varias ID's o ninguna:
Imposible. no confundas los criterios de búsqueda con las claves primarias. No son la misma cosa.
La clave primaria ,el identificador de una línea como única dentro de una tabla, no tiene por qué tener sentido en sí mismo, salvo el de identificar la línea. Es decir, usa campos numericos definidos como clave primaria y autonumérica. No te arrepentirás.
última edición por shordi el Miercoles, 19 Febrero 2014, 18:06; editado 1 vez
|
#3 Miercoles, 19 Febrero 2014, 18:06 |
|
|
LIberto
Usuario
Registrado: Febrero 2014
Mensajes: 15
Edad: 34
|
Re: Asignación Automática De ID En Las Tablas De La BD
Quizá me he explicado mal.
Cuando digo lo de la "adaptación" realmente estoy hablando de que la experiencia adquirida con el programa de Consulta Médica la estoy aplicando a un nuevo programa, con la temática referida. Pero obviamente estoy empezando todo de nuevo, con tablas diferentes.
Efectivamente la necesidad es que cada vehículo tenga un ID a la que asignarle el número de matrícula, de motor, de chasis, etc.
No sabía que había un tipo de campo para el autonumerado: ¿cuál es?
=================== Abogado - Autor de http://elblogdeltoguero.blogspot.com
En compensación por la ayuda que me presta este foro, consultadme lo que necesitéis en materia legal.
|
#4 Miercoles, 19 Febrero 2014, 18:26 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Asignación Automática De ID En Las Tablas De La BD
En SQLite se define como `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
En MySql como `id`int(10) unsigned NOT NULL AUTO_INCREMENT
Teniendo claro que no tiene ni que tener 10 de longitud, ni que llamarse 'Id', nombre que te puede dar problemas. Yo uso siempre rowid.
Suerte.
última edición por shordi el Miercoles, 19 Febrero 2014, 18:34; editado 1 vez
|
#5 Miercoles, 19 Febrero 2014, 18:33 |
|
|
LIberto
Usuario
Registrado: Febrero 2014
Mensajes: 15
Edad: 34
|
Re: Asignación Automática De ID En Las Tablas De La BD
Para entendernos, lo que necesito es un identificador único generado automáticamente.
Respecto a MySQL o SQlite, voy a intentar primero hacer la aplicación de escritorio; después web.
=================== Abogado - Autor de http://elblogdeltoguero.blogspot.com
En compensación por la ayuda que me presta este foro, consultadme lo que necesitéis en materia legal.
|
#6 Miercoles, 19 Febrero 2014, 18:43 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Asignación Automática De ID En Las Tablas De La BD
LIberto:
Citar: Para entendernos, lo que necesito es un identificador único generado automáticamente.
Es lo que te ha contestado Shordi:
Citar: En SQLite se define como `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
En MySql como `id`int(10) unsigned NOT NULL AUTO_INCREMENT
"Respecto a MySQL o SQlite, voy a intentar primero hacer la aplicación de escritorio; después web."
Te estas confundiendo, el motor de la base de datos (MySql o sqlite, o el que sea), no tiene que ver con que sea la aplicacion web o de escritorio o incluso movil.
Saludos
|
#7 Miercoles, 19 Febrero 2014, 19:53 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Asignación Automática De ID En Las Tablas De La BD
Citar: el motor de la base de datos (MySql o sqlite, o el que sea), no tiene que ver con que sea la aplicacion web o de escritorio o incluso movil.
Efectivamente, te aconsejo MySQL si vas a subir la aplicación a un servidor web símplemente porque los servidores web suelen ofrecer ese servicio de base de datos gratis. No conozco ninguno que ofrezca SQLite, por lo que si decides usar SQLite, perfecto, pero te puedes encontrar problemas a la hora de subirla a un servidor.
Por otra parte SQLite es mucho más fácil de instalar, mantener y utilizar en un ordenador local. Sólo almacena un archivo, más o menos como hace Access de Microsoft y, por tanto, las copias de seguridad, etc. se gestionan con muchísima facilidad.
Ten en cuenta que un servidor de base de datos, sea el que sea, MySQL, SQLite, PostgreSQL, etc. etc. es una capa distinta a la aplicación que uses. Puedes hacer una aplicación de escritorio que gestione la base de datos, otra aplicación web que permita consultas y páginas sobre la misma base de datos y otra de teléfono móvil que ofrezca lo mismo simplificado, etc. etc. Todas contra la misma base de datos.
Es por eso que la elección de la base de datos es lo primero que tienes que decidir.
Si te acostumbras a "hablarte" con la base de datos a través de las clases de gambas -lo que te aconsejo-, con hacer el programa una vez te servirá para cualquiera de las mencionadas prácticamente sin cambiar una letra de código. Si usas el lenguaje SQL embebido en gambas -como hace casi todo el mundo- tendrás que reescribir todo el tema de accesos y consultas cada vez que cambies de base de datos.
Lo bueno de aprender es que uno decide qué hábitos coger.
Suerte
|
#8 Miercoles, 19 Febrero 2014, 20:19 |
|
|
LIberto
Usuario
Registrado: Febrero 2014
Mensajes: 15
Edad: 34
|
Re: Asignación Automática De ID En Las Tablas De La BD
Muchas gracias por las respuestas.
A lo que me refería es que primero voy a desarrollar la aplicación de escritorio, luego lo haré con SQLite.
Después haré lo mismo, pero como aplicación web, y lo haré co MySQL.
Me habéis aportado mucho.
Un saludo
=================== Abogado - Autor de http://elblogdeltoguero.blogspot.com
En compensación por la ayuda que me presta este foro, consultadme lo que necesitéis en materia legal.
|
#9 Jueves, 20 Febrero 2014, 13:15 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|