Bonjour à toutes et à tous
qu'est ce qui fait que SQL ( dans le monde relationnel) soit un langage incomplet ?!
Bonjour à toutes et à tous
qu'est ce qui fait que SQL ( dans le monde relationnel) soit un langage incomplet ?!
Rien !
Il est parfaitement complet au sens de Turing.
Celui qui vous a dit que le langage SQL est "incomplet" est soit un imbécile, soit un vieux con qui a besoin d'être recyclé....
A +
Retour de question : qu'est-ce qui te fait dire que c'est incomplet ? Quelle fonctionnalité absente ?
Je salue vos réactions .... je suis fun de SQL aussi.
Cependant,en lisant sur le modèle SGBD Objet et ses apports par rapport aux failles représentés par le SGBD relationnel manipulé par SQL, on reproche souvent à SQL d'être un langage incomplet et qu'on a besoin d'un langage de programmation pour combler ces failles ... j'essaie de comprendre ça !
Rebonjour,
Le but de SQL n'est pas de programmer, c'est de créer, maintenir et interroger une base de données pour fournir un set de données qui par la suite sera intégré dans un programme ou un automate. Donc oui il est incomplet, en ce sens que c'est une brique à part. C'est comme dire que dans le web le front-end est incomplet, ce qui est juste au passage, parce qu'il nécessite un back-end, et vice versa.
Hein ?
Désolé mais ça, c'est des grosses conneries.
On appelle "langage complet" un langage informatique permettant toute la calculabilité mathématique. On dit généralement complet au sens de Turing qui a le premier résolut le problème de décidabilité de Hilbert (Entscheidungsproblemet) consécutifs aux travaux de Gödel.
Quelque soit le langage, s'il est complet au sens de Turing, il permet donc de calculer toute solution pour lesquelles il existe un algorithme mathématique de solvabilité.
références sur le sujet :
https://fr.wikipedia.org/wiki/Calculabilit%C3%A9
https://interstices.info/jcms/c_5723...-l-indecidable
http://www.lifl.fr/~jdelahay/HECI/Calcul.pdf
https://fr.wikipedia.org/wiki/Turing-complet
Hello SQLPro,
Effectivement, j'en ai profité pour réviser la partie académique de la définition du "langage complet". Comme je dis assez souvent aux personnes que je rencontre, j'apprécie de faire du SQL car on arrive toujours à obtenir le set de données en résultat désiré d'une manière ou d'une autre - évidemment, pourvu qu'on a toutes les informations nécessaires ;-)
J'avais extrapolé le besoin de l'auteure, je ne sais pas pourquoi j'avais cru lire quelque chose lié à la cosmétique dans ses posts, mais je me suis gouré, donc on en revient bien à la définition de langage complet, au sens de Turing.
Merci pour les liens supplémentaires qui vont enrichir ma culture.
Au passage, j'en ai profité pour regarder les SGBDOO que je ne connaissais pas, je suis tombé sur des vieux posts au début des années 2000, apparemment c'était encore très académique à l'époque, et pour le peu de recherches que j'ai faits, je n'ai pas l'impression que l'idée de la SGBDOO a été beaucoup creusée et industrialisée.
Les SGBDOO ont bien existé et les français étaient en pointe dans le domaine avec O² (université d'Orsay). À cette époque tout le monde croyait que le concept objet allait tout remplacer à commencer par les langages procéduraux pour terminer par les bases de données relationnelles. mais il n'en fût rien et c'était logique.
Pour ma part j'ai même étudié et réalisé des requêtes en OQL...
Mais de même que les langages purement objet ont disparus, les SGBDOO ont eux aussi disparu. La seule entreprise encore vivante sur le sujet est Versant qui a racheté à peu près tous les SGBDOO pour les cannibaliser, ou plutôt pour reprendre la clientèle !
Cette disparition est purement darwinienne, car les SGBOO était pas du tout adapté, de même que les langages objet ne le sont pas non plus....
A +
Pourquoi tant d'invectives à destination de Mr Glutinus et des membres de ce forum ?
Pour moi un langage complet c'est un outil adapté répondant à une problèmatique;
j'ai besoin de découper des planches en bois je prends une scie circulaire.
Je dois faire des découpes précises et arrondies je prends une scie à ruban
Donc affirmer que SQL est un langage complet c'est dire si oui ou non avec SQL on peut résoudre tous les cas de figures pour gérer une base de données
Perso je l'ai pas pris mal. J'ai beaucoup appris des tutos et des conseils de SQL Pro.
Le truc, c'est de savoir si l'auteure parlait effectivement de "complet Turing" ou si "complet à la machine à café un dev Java, un dev assembleur et un dev SQL discutent". Je tendrais sur l'approche théorique ; j'ai lu ses posts précédents et j'ai l'impression qu'elle a une approche plus théorique que pragmatique ("entreprise", quoi)
D'où l'intérêt de bien définir le vocabulaire avant de se lancer tête baissée.
C'est l'un des écueils majeurs de la phase de conception... et pas seulement![]()
Rebonjour,
Merci a Mat.M .
Pour tirer les choses au clair … ma question est en liaison avec le monde objet et ses SGBDOO que certains ne connaissent pas et d’autres jugent que ça n’existe plus . J’ai travaillé avec Sql et avec des langages de programmation objet utilisant hibernate pour interagir avec la BDD relationnelle mais quand je cherche à savoir sur le nouveau monde objet, l’un des problème qu’on pense pouvoir redresser est cet aspet de l’SQL d’ être INCOMPLET DANS LE SENS DE LA CALCULABILITE.
Je cherche à comprendre ce point de vue à travers ceux qui partagent ce même avis.
LOL par contre, pas de merci à SQL Pro qui vous explique en quoi il n'est pas d'accord et que selon lui le SQL est un langage complet Turing.Envoyé par Zineb2014
En fait, votre question est davantage l'étude des SGBDOO, et commence donc par un "troll". Je ne suis pas chercheur, mais comme dit plus haut, quelques recherches sur mon moteur de recherche favori indique qu'il y a moins de "vie" par rapport aux SGBD SQL "classiques".Envoyé par Zineb2014
Alors ça semble un défi ! Selon vous on ne peut trouver des réponses dans la calculabilité alors que si j'ai bien compris SQL Pro estime l'inverse. Je pense qu'un minimum serait de fournir un exemple d'un problème non solvable par SQL parce que pour l'instant vous avez été très évasive sur les différents points de votre problématiqueEnvoyé par Zineb2014
![]()
J'adore cette dernière phrase ! Le "manque d'imagination", je la ressortirai, hé![]()
c’était implicite dans mon salut!
Pas moi (en tout cas pour le moment) mais selon les partisans des SGBDOO.
Mon intervention porte uniquement sur l'sql incomplet ou pas vs SGBDOO ?
Ceci dit, j'aimerais partager avec vous ce que j'ai trouvé sur une présentation sur les SGBDOO :
ça se comprend.Langage de programmation complet :
Le système dispose d'un langage de programmation qui ne nécessite pas d'opérateur externe pour écrire une application .
salut Zineb, ok mais pourquoi se poser la question du sens de la calculabilité ?
Le SQL n'est pas fait pour faire des calculs mathématiques c'est pas trop orienté vers cela.
Ensuite et là je risque de dériver du sujet principal, un système d'information donc utilisant un système de bases de données manipule des entités abstraites.
C'est-à-dire que par abstrait on manipule des choses qui ne sont pas la réalité.
Mais ça peut mener à une vaste discussion je suis bien d'accord
Pour ce qui est d'un système de base de données orienté object le problème qui va se poser c'est de construire une hiérarchie entre les données.
comme l'explique très bien Glutinus bien souvent dans les projets informatiques , un SGBDR sert grosso-modo comme un datawarehouse c'est-à-dire comme un entrepôt de données.
Maintenant si on veut conceptualiser des objets le langage de programmation qui va chercher les données dans le SGBDR s'occupe de ça
incomplet tout dépend du sens que l'on donne à incomplet.
Est-ce que c'est au niveau des données en elles-mêmes donc du volume et de la pertinence des données ?
Ou bien est-ce la manière et la logique de traiter les données bref ce qui permet de faire des règles de gestion , le Modèle Conceptuel de Traitement ( MCT )?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager