Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Funciones en registros de una tabla

Estas en el tema de Funciones en registros de una tabla en el foro de Bases de Datos General en Foros del Web. Hola, Estoy buscando alguna base relacional que tenga un DATATYPE "function" tal que pueda guardar un valor function en un atributo de una tabla. ¿Existe? ...
  #1 (permalink)  
Antiguo 23/10/2014, 04:48
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 18 años, 4 meses
Puntos: 32
Funciones en registros de una tabla

Hola,

Estoy buscando alguna base relacional que tenga un DATATYPE "function" tal que pueda guardar un valor function en un atributo de una tabla. ¿Existe? Por qué buscando, encuentro información sobre procedimientos y funciones almacenadas. Pero éstos por lo que entiendo son globales y se guardan en el contexto de la base de datos y no de un registro específico de una tabla.

Un saludo y gracias.
__________________
github.com/xgbuils | npm/xgbuils
  #2 (permalink)  
Antiguo 23/10/2014, 05:48
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Funciones en registros de una tabla

¿Tipo de dato "function"?
No en MySQL, Oracle, SQL Server ni PosgreSQL, que yo sepa.
Por definición, una función noes un tipo de dato, porque es una rutina almacenada que puede devolver tantos tipos de datos como existan en los DBMS.
La verdad es que es la primera vez que escucho algo así, y lo veo dificil. No creo que se pueda definir algo como eso.

¿De donde sacaste esa información?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 23/10/2014, 07:40
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 18 años, 4 meses
Puntos: 32
Respuesta: Funciones en registros de una tabla

Sí, le he dicho tipo de dato "function" para llamarlo de alguna manera.

Estoy intentado hacer un diseño que me permita almacenar cualquier tipo de acontecimiento/festividad que se repita a lo largo del tiempo intentando generalizarlo para cualquier tipo de calendario (no sólamente el gregoriano).

Pensé en situaciones como estás:

Cita:
San Fulano
Inicio: dia X del año
Fin: dia X del año,
Periodo: 1 año
tipo: gregoriano

Fiesta mayor de País de Nunca Jamás
Inicio: dia 6 de la semana 1 del mes 8
Fin: dia 7 de la semana 1 del mes 8
Periodo: 1 año
tipo: gregoriano

Ramadán:
Inicio: dia 1 del mes 9 del año
Fin: dia final del mes 9 del año
Periodo: 1 año
tipo: musulmán

acontecimiento trimensual inventado:
Inicio: dia 1 del mes
Fin: dia 1 del mes
Periodo: 3 meses
tipo: gregoriano
Y aquí un ejemplo que se saldría del patrón:
Cita:
Año Xacobeo:
Inicio: 1 dia mes 1
Fin: 31 dia de mes
Periodo: ???
tipo: gregoriano
En realidad es el año tal que el 25 de julio cae en domingo y no tiene un periodo regular.

Por tanto, se me ocurrió que una forma más generica de guardar los datos de un acontecimiento/festividad es mediante el uso de un predicado. Que no es más que una función que devuelve true o false.

¿Hay alternativas mejores?

Un saludo!
__________________
github.com/xgbuils | npm/xgbuils
  #4 (permalink)  
Antiguo 23/10/2014, 08:05
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Funciones en registros de una tabla

Desde el punto de vista de arquitectura de datos, el atributo "Periodo" en realidad son dos campos: valor y unidad de tiempo.
No puedes guardar un valor como "1 año" o "3 meses", porque sería un campo con dominio indefinido. Estarías violando la 1FN desde el vamos, lo que hace que no puedas aplicarlo en bases de datos relacionales.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 23/10/2014, 08:43
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 18 años, 4 meses
Puntos: 32
Respuesta: Funciones en registros de una tabla

Gracias, ya lo sé. Si ese fuese el problema normalizaría y ya está.

Sólo estaba intentando introducir el uso que le quería dar a los posibles datos de tipo función mediante el problema planteado. Espero que haya quedado claro el concepto de que un esquema (inicio, fin, periodo) no es suficiente genérico y que por eso estaba buscando otra cosa.

Un saludo!
__________________
github.com/xgbuils | npm/xgbuils
  #6 (permalink)  
Antiguo 23/10/2014, 08:45
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Funciones en registros de una tabla

Es que no puedes pensar la cosa con razonmietnos de programador (sin ofender). La arquitectura de datos tiene otra lógica de razonamiento.
No peudes crear columnas para almacenar datos de dominios no atómicos. Eso no cumple con el modelo ER.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 23/10/2014 a las 08:51
  #7 (permalink)  
Antiguo 23/10/2014, 09:00
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 18 años, 4 meses
Puntos: 32
Respuesta: Funciones en registros de una tabla

No me ofendes, pero tampoco te entiendo. ¿Qué razono como programador? ¿El intentar insertar funciones en registros como si fueran variables? Si es eso, ya lo he entendido. Sin embargo, a priori, diseñar una base de datos que me permita abarcar todo tipo de festividades repetitivas me parece bastante complejo y por eso buscaba alternativas.

Cita:
No peudes crear columnas para almacenar datos de dominios no atómicos. Eso no cumple con el modelo ER.
Eso ya te dicho que ya lo sé y que no estaba explicando nada de manera formal. Sólo estaba dando una introducción a la razón por la que he iniciado el post. Parece que está fallando la comunicación.
__________________
github.com/xgbuils | npm/xgbuils

Última edición por Pantaláimon; 23/10/2014 a las 09:09
  #8 (permalink)  
Antiguo 23/10/2014, 13:24
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Funciones en registros de una tabla

aqui lo que debes de hacer es encontrar el patron que tienen las fechas y en base a eso construir tus tablas....de que se puede se puede jejejejeje
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: funciones, registros, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:45.