Index (base de données)En informatique, dans les bases de données, un index est une structure de données utilisée et entretenue par le système de gestion de base de données (SGBD) pour lui permettre de retrouver rapidement les données. L'utilisation d'un index simplifie et accélère les opérations de recherche, de tri, de jointure ou d'agrégation effectuées par le SGBD. L’index placé sur une table va permettre au SGBD d'accéder très rapidement aux enregistrements, selon la valeur d'un ou plusieurs champs.
Clé primaireDans une base de données relationnelle, une clé primaire est la donnée qui permet d'identifier de manière unique un enregistrement dans une table. Une clé primaire peut être composée d'une ou de plusieurs colonnes de la table. Deux lignes distinctes de la table ne peuvent pas avoir les mêmes valeurs dans les colonnes définies comme clé primaire. Il est possible de définir pour une même table plusieurs contraintes d'unicité, mais au plus une seule clé primaire. Une clé primaire est choisie parmi les clés candidates.
Modèle relationnelLe modèle relationnel est une manière de modéliser les relations existantes entre plusieurs informations, et de les ordonner entre elles. Cette modélisation qui repose sur des principes mathématiques mis en avant par E.F. Codd est souvent retranscrite physiquement (« implémentée ») dans une base de données. On appelle « relation » un ensemble d'attributs qui caractérisent une proposition ou une combinaison de propositions comme "un employé a un matricule, il a un nom, il a un employeur".
Base de données relationnellethumb|upright=1.2|Structure générale d'une base de données relationnelle. En informatique, une base de données relationnelle (en anglais: relational database management system (RDBMS)) est une base de données où l'information est organisée dans des tableaux à deux dimensions appelés des relations ou tables, selon le modèle introduit par Edgar F. Codd en 1960. Selon ce modèle relationnel, une base de données consiste en une ou plusieurs relations. Les lignes de ces relations sont appelées des nuplets ou enregistrements.
Base de donnéesUne base de données permet de stocker et de retrouver des données structurées, semi-structurées ou des données brutes ou de l'information, souvent en rapport avec un thème ou une activité ; celles-ci peuvent être de natures différentes et plus ou moins reliées entre elles. Leurs données peuvent être stockées sous une forme très structurée (base de données relationnelles par exemple), ou bien sous la forme de données brutes peu structurées (avec les bases de données NoSQL par exemple).
Clé étrangèreUne clé étrangère, dans une base de données relationnelle, est une contrainte qui garantit l'intégrité référentielle entre deux tables. Une clé étrangère identifie une colonne ou un ensemble de colonnes d'une table comme référençant une colonne ou un ensemble de colonnes d'une autre table (la table référencée). Les colonnes de la table référencée doivent faire partie d'une contrainte de clé primaire ou d'une contrainte d'unicité.
Clé (structure de données)En génie logiciel, la clé d'un objet est souvent un petit fragment de données, qui permet soit d'identifier un objet, soit de comparer entre eux des objets du même type. Les tableaux triés, les piles, les s, les tas, les ABO, etc., sont des structures qui rangent les données uniquement en fonction de leur clé. La clé est donc la plupart du temps une valeur numérique, ou bien une chaîne de caractères. Elle peut faire partie de l'objet (comme un champ dans une structure de données), ou bien simplement être calculable à partir de l'objet (comme une valeur de hachage).
Composite keyIn database design, a composite key is a candidate key that consists of two or more attributes (table columns) that together uniquely identify an entity occurrence (table row). A compound key is a composite key for which each attribute that makes up the key is a foreign key in its own right. Composite keys have advantages similar to that of a natural key as it is often composed of multiple natural key attributes.
Moteur de base de donnéesEn informatique, un moteur de base de données ou moteur de stockage (anglais database engine ou storage engine) est un composant logiciel qui contrôle, lit, enregistre et trie des informations dans une ou plusieurs bases de données. Le moteur de base de données est le composant central d'un système de gestion de base de données. C'est un composant essentiel des systèmes d'informations, ainsi que de nombreux logiciels qui manipulent des grandes quantités de données (voir Informatique de gestion).
Système de gestion de base de données relationnel-objetUn système de gestion de base de données est un ensemble de logiciels qui servent à manipuler des bases de données. Dans un système de gestion de base de données relationnel-objet (SGBDRO) l'information est représentée sous forme d'objets comme dans la programmation orientée objet. Un SGBDRO rend les objets de la base de données accessibles aux langages orientés-objets comme s'il s'agissait d'objets de ces langages.
In-memory databaseAn in-memory database (IMDB, or main memory database system (MMDB) or memory resident database) is a database management system that primarily relies on main memory for computer data storage. It is contrasted with database management systems that employ a disk storage mechanism. In-memory databases are faster than disk-optimized databases because disk access is slower than memory access and the internal optimization algorithms are simpler and execute fewer CPU instructions.
Embedded databaseAn embedded database system is a database management system (DBMS) which is tightly integrated with an application software; it is embedded in the application. It is a broad technology category that includes: database systems with differing application programming interfaces (SQL as well as proprietary, native APIs) database architectures (client-server and in-process) storage modes (on-disk, in-memory, and combined) database models (relational, object-oriented, entity–attribute–value model, network/CODASYL) target markets The term embedded database can be confusing because only a small subset of embedded database products are used in real-time embedded systems such as telecommunications switches and consumer electronics.
Database designDatabase design is the organization of data according to a database model. The designer determines what data must be stored and how the data elements interrelate. With this information, they can begin to fit the data to the database model. A database management system manages the data accordingly. Database design involves classifying data and identifying interrelationships. This theoretical representation of the data is called an ontology. The ontology is the theory behind the database's design.
Optimisation de requêteL'optimisation de requête est une opération dans laquelle plusieurs plans d'exécution d'une requête SQL sont examinés pour en sélectionner le meilleur. L'estimation de leurs coûts dépend du temps d'exécution et du nombre de ressources utilisées pour y parvenir, elle se mesure en entrées-sorties. Typiquement les ressources coûteuses sont l'utilisation du processeur, la taille et la durée des tampons sur le disque dur, et les connexions entre les unités du parallélisme.
Clé artificielleDans le domaine des bases de données, une clé artificielle (en opposition à une clé naturelle), aussi parfois appelée clé de remplacement (de l'anglais surrogate key) désigne un ensemble de données adjointes aux données d'une table pour les indexer. La génération de la clé artificielle est effectuée par le concepteur de la table. Toute clé indexant chaque ligne de manière unique est valable. Parmi les méthodes de génération courantes de clé artificielle nous pouvons citer les clés incrémentales (les lignes sont numérotées au fur et à mesure de leur introduction dans la table).
Mapping objet-relationnelUn mapping objet-relationnel (en anglais object-relational mapping ou ORM) est un type de programme informatique qui se place en interface entre un programme applicatif et une base de données relationnelle pour simuler une base de données orientée objet. Ce programme définit des correspondances entre les schémas de la base de données et les classes du programme applicatif. On pourrait le désigner par là « comme une couche d'abstraction entre le monde objet et monde relationnel ».
Administrateur de base de donnéesL'administrateur de base de données (DBA : DataBase Administrator en anglais) est une personne responsable du bon fonctionnement de serveurs de bases de données, essentiellement relationnelles (OLTP) ou décisionnelles (OLAP), tant au niveau de la conception des bases, des tests de validation, de la coordination des intervenants, de l'exploitation, de la protection et du contrôle d'utilisation. Les compétences requises pour cette fonction sont multipolaires : système, développement, sécurité et fonctionnement des serveurs de bases de données.
Relational calculusThe relational calculus consists of two calculi, the tuple relational calculus and the domain relational calculus, that is part of the relational model for databases and provide a declarative way to specify database queries. The raison d'être of relational calculus is the formalization of query optimization, which is finding more efficient manners to execute the same query in a database.
Object–relational impedance mismatchObject–relational impedance mismatch creates difficulties going from data in relational data stores (relational database management system [“RDBMS”]) to usage in domain-driven object models. Object-orientation (OO) is the default method for business-centric design in programming languages. The problem lies in neither relational nor OO, but in the conceptual difficulty mapping between the two logic models. Both are logical models implementable differently on database servers, programming languages, design patterns, or other technologies.
Plan d'exécutionEn informatique, et plus précisément dans le domaine des bases de données, un plan d'exécution est un schéma pas à pas des opérations d'accès aux données d'un système de gestion de base de données SQL. L'optimisation de requête consiste à étudier la meilleure manière d'exécuter une requête SQL. Comme les optimiseurs automatiques ne sont pas parfaits, les administrateurs de bases de données sont parfois amenés à examiner et préciser le plan d'exécution le plus rapide, par exemple en définissant l'algorithme de jointure à utiliser en tenant compte du volume des données manipulées.