Ho posto questa domanda un po 'indietro su SO ( link ) ma è un argomento ricorrente, quindi ho pensato di chiedere in un modo diverso qui.
Fondamentalmente, siamo bloccati con l'infame combinazione di php e MySQL (per vari motivi) e stiamo cercando di produrre applicazioni che seguano il più possibile le migliori pratiche. Ci accorgiamo ripetutamente che stiamo accoppiando strettamente l'applicazione al database e viceversa, nonostante proviamo ad aderire a SOLID principi.
Uno dei motivi principali è massimizzare le caratteristiche di un database relazionale (come tipi di dati rigorosi, strutture gerarchiche di dati, relazioni, rafforzamento di chiavi esterne, trigger di innesco, ecc.) Ciò significa che parte della logica dell'applicazione si insinua in SQL. Tuttavia, ci sono caratteristiche che offrono altri RDBMS che MySQL non possiede (come il vincolo CHECK in particolare) così, finiamo per usare php per aggirare quelli.
Questo significa che finiamo per usare php per alcune cose che MySQL non fa bene e usiamo MySQL per fare cose che non sono fattibili in PHP.
Quindi, anche se ogni libro di testo incoraggia i programmatori a mantenere le cose unite liberamente, qualcuno ha qualche esempio su come superare i limiti che hai incontrato, o esempi di altre applicazioni che mescolano i due in un modo simile?