Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 06-03-2020
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
Yo soy del lado de "ignorar lo que puede hacer un RDBMS dizque porque eso nos amarra" no tiene sentido, pero a la vez, tampoco es bueno "cambiemos las cosas, no sé porque, pero hagale!".

Si miramos un app con rdbms al estilo "OO" en capas (UI, controladores, vistas, modelos, logica, manejo datos, ..) veríamos que OO es *deficiente* en "manejo de datos" y parcialmente en "logica y modelos". Para ello hay que tener CLARO cual es el fuerte de un rdbms bajo el modelo RELACIONAL:
  • Definir estructuras de datos (tablas)
  • Definir un conjunto de operaciones sobre esas estructuras (operaciones relacionales)
  • Establecer las reglas de operar sobre esos datos ("validaciones").

Si cae en eso, tiene sentido ponerlo en la BD. A diferencia de la mentalidad anterior que creía que "es mas importante abstraer la BD, porque imaginate si no sabemos cuándo nos da por cambiarnos?" ahora es claro que los RDBMS sobreviven MAS a los lenguajes que los acceden. Yo tengo un app, que lo tocan/tocaron como 5 diferentes lenguajes (que han ido cambiando en el tiempo), mientras la BD es basicamente la misma con mejoras, y de hecho, cada vez se optimiza para que sea MAS independiente de los "front end".

PERO

Hay que tener cuidado de meter logica de "app" dentro de la BD. Una buena BD es "agnostica".

Osea: Al contrario de decir: Hago mi codigo en Delphi agnostico a la BD, que no tiene sentido el 90% de la veces (excepto si hago un administrador de BD o un driver de BD), debo pensar: Hago mi BD agnostica, y luego implemento lo especifico en Delphi ( o lo que sea). Si mis tablas, vistas, procedimientos, etc estan bien hechos, se adaptaran de forma natural a lo que tire encima.

ASI ES COMO SE PENSO EL MODELO RELACIONAL.

Este fue unos de los grandes aciertos cuando se creo. Porque ANTES de los rdbms, TODO ACCESO A DATOS ERA HECHO DENTRO DE LOS LENGUAJES y no se compartia ni logica de datos (malo) ni menos, datos (remalo).

Asi que:

Diseña tu BD de forma tal que puedas decir: "Como le invente una consulta a esto, funciona" y programas los triggers, procedimientos, etc que validen DATOS (que sea unico, que no este vacio, que sume , que reste), y deja lo concreto (formularios, reportes, etc) en Delphi.
__________________
El malabarista.
Responder Con Cita
 



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
Como puedo pasar este codigo a delphi el codigo de la imagen es codigo python Javier13 Varios 9 16-11-2017 15:41:33
Pasar codigo de VB a Delphi jafera Varios 6 04-07-2013 18:09:15
pasar codigo de delphi a c++ Builder rxaxx9 C++ Builder 2 13-05-2012 06:27:17
Ayuda a Pasar Codigo Delphi a C++ yelian C++ Builder 9 26-11-2009 20:32:26
Pasar codigo C a delphi Mr.Vaka Varios 1 24-12-2005 11:38:02


La franja horaria es GMT +2. Ahora son las 01:39:07.


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