Cela dépend à quoi sert la base de données.
Dans de nombreuses applications (applications Web ou non), la base de données est intimement liée à cette application car elle lui sert de magasin permanent. Ensuite, la base de données fait théoriquement partie de l'application et est donc conçue ensemble (et vous supposez qu'aucun autre programme n'accèdera ou mettra à jour de manière significative cette base de données). BTW, la persistance pourrait être obtenue par d'autres moyens qu'une base de données, par exemple des fichiers de texte brut, des fichiers binaires (notamment des fichiers indexés à la GDBM ), des référentiels git (ou d'autres VCS), des répertoires ou des arborescences de fichiers, des partitions de disque brutes, du matériel dédié (par exemple flash), systèmes de fichiers distants, checkpointingtechniques. Pour les bases de données conçues pour et avec une seule application, vous devez vous soucier des modèles de récupération et de mise à jour courants et concevoir le schéma de la base de données (et l'indexation!) En pensant à eux.
Dans certaines situations, la base de données est en soi un atout majeur et indépendant, et est conçue a priori pour être utilisée par plusieurs applications différentes (et même futures). Ensuite, il doit être conçu indépendamment (et beaucoup plus soigneusement).
En particulier, certaines applications Web ne sont que des interfaces Web vers des bases de données existantes.
Dans de nombreux cas (pensez à un wiki comme exemple), les données sont plus importantes et plus précieuses que les applications qui les utilisent. Vous pouvez vous soucier de la façon de le rendre pérenne et de pouvoir l’évoluer facilement (par exemple, en utilisant ou en définissant des formats textuels et polyvalents - de préférence standardisés et documentés - pour le sauvegarder et le restaurer).
J'ai réalisé que la conception (APPROPRIÉE) d'une base de données n'est pas une mince affaire ...
Lisez également sur NoSQL , les bases de données orientées documents , les bases de données de valeurs-clés , la gestion des connaissances , la représentation et le raisonnement des connaissances , les ontologies , les systèmes experts , l'approche des règles métier , l' ERP , le CMS . Pensez peut-être à utiliser REDIS , MongoDB , etc.