Une dystopie est un récit de fiction dépeignant une société imaginaire organisée de telle façon qu'il soit impossible de lui échapper et dont les dirigeants peuvent exercer une autorité totale et sans contrainte de séparation des pouvoirs, sur des citoyens qui ne peuvent plus exercer leur libre arbitre. Une dystopie peut également être considérée, entre autres, comme une utopie qui vire au cauchemar et conduit donc à une contre-utopie ; l'auteur entend ainsi mettre en garde le lecteur en montrant les conséquences néfastes d’une idéologie (ou d’une pratique) contemporaine.
vignette|L'ouvrage Utopie de Thomas More a donné son nom au genre littéraire. La fiction utopique et dystopique est un genre de fiction spéculative qui explore les structures sociales et politiques. La fiction utopique dépeint un cadre qui s'accorde avec l'ethos de l'auteur, tout en ayant divers attributs d'une réalité alternative destinée à plaire au lectorat. La fiction dystopique propose le contraire : la représentation d'un décor en total désaccord avec la philosophie de l'auteur.
vignette|Mao Zedong et Joseph Staline, en 1949. thumb|Tag anti-totalitaire sur un mur à Bucarest (2013). Le totalitarisme est un régime et système politique dans lequel existe un parti unique, n'admettant aucune opposition organisée, et où l'État tend à exercer une mainmise sur la totalité des activités de la société. Un tel système restreint l'opposition individuelle à l'État. Il exerce ainsi un degré extrêmement élevé de contrôle sur la vie publique et privée. Il est considéré comme la forme d'autoritarisme la plus extrême et la plus complète.
Un langage de manipulation de données (LMD ; en anglais data manipulation language, DML) est un langage de programmation et un sous-ensemble de SQL pour manipuler les données d'une base de données. Ces commandes de manipulation de données doivent être validées à l'issue d'une transaction pour être prises en compte. On distingue typiquement quatre types de commandes SQL de manipulation de données : SELECT : sélection de données dans une table ; INSERT : insertion de données dans une table ; DELETE : suppression de données d'une table ; UPDATE : mise à jour de données d'une table.
Un langage de contrôle de données (LCD ; en anglais data control language, DCL) est un langage de programmation et un sous-ensemble de SQL pour contrôler l'accès aux données d'une base de données. On distingue typiquement six types de commandes SQL de contrôle de données : GRANT : autorisation d'un utilisateur à effectuer une action ; DENY : interdiction à un utilisateur d'effectuer une action ; REVOKE : annulation d'une commande de contrôle de données précédente ; COMMIT : validation d'une transaction en cours ; ROLLBACK : annulation d'une transaction en cours ; LOCK : verrouillage sur une structure de données.
Un langage de définition de données (LDD ; en anglais data definition language, DDL) est un langage de programmation et un sous-ensemble de SQL pour manipuler les structures de données d'une base de données, et non les données elles-mêmes. Il permet de définir le domaine des données, c'est-à-dire l'ensemble des valeurs que peut prendre une donnée : nombre, chaîne de caractères, date, booléen. Il permet aussi de regrouper les données ayant un lien conceptuel au sein d'une même entité.