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.
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".
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.
Algèbre relationnelleL'algèbre relationnelle est un langage de requêtes dans des bases de données relationnelles. L'algèbre relationnelle a été inventée en 1970 par Edgar Frank Codd, le directeur de recherche du centre IBM de San José. Il s'agit de la théorie sous-jacente aux langages de requête des SGBD, comme SQL. Le théorème de Codd dit que l'algèbre relationnelle est équivalente au calcul relationnel (logique du premier ordre sans symbole de fonction). Elle est aussi équivalente à Datalog¬ (Datalog avec la négation) non récursif.
Jointure (informatique)En informatique et plus particulièrement dans les bases de données relationnelles, la jointure ou appariement est l'opération permettant d’associer plusieurs tables ou vues de la base par le biais d’un lien logique de données entre les différentes tables ou vues, le lien étant vérifié par le biais d'un prédicat. Le résultat de l'opération est une nouvelle table. En SQL, une jointure est définie dans la clause FROM, en indiquant le mot clef JOIN pour chaque nouvelle table à joindre à l'une des précédentes et en spécifiant comment, dans un prédicat de jointure introduit par le mot clef ON.
Sort-merge joinThe sort-merge join (also known as merge join) is a join algorithm and is used in the implementation of a relational database management system. The basic problem of a join algorithm is to find, for each distinct value of the join attribute, the set of tuples in each relation which display that value. The key idea of the sort-merge algorithm is to first sort the relations by the join attribute, so that interleaved linear scans will encounter these sets at the same time.
Hash joinThe hash join is an example of a join algorithm and is used in the implementation of a relational database management system. All variants of hash join algorithms involve building hash tables from the tuples of one or both of the joined relations, and subsequently probing those tables so that only tuples with the same hash code need to be compared for equality in equijoins. Hash joins are typically more efficient than nested loops joins, except when the probe side of the join is very small.
Projection (algèbre relationnelle)In relational algebra, a projection is a unary operation written as , where is a relation and are attribute names. Its result is defined as the set obtained when the components of the tuples in are restricted to the set – it discards (or excludes) the other attributes. In practical terms, if a relation is thought of as a table, then projection can be thought of as picking a subset of its columns. For example, if the attributes are (name, age), then projection of the relation {(Alice, 5), (Bob, 8)} onto attribute list (age) yields {5,8} – we have discarded the names, and only know what ages are present.
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.
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é.
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.
Modèle entité-associationvignette|Un artiste peut jouer une chanson.|258x258px Le modèle entité-association (MEA) (le terme « modèle-entité-relation » est une traduction erronée largement répandue), ou diagramme entité-association ou en anglais « entity-relationship diagram », abrégé en ERD, est un modèle de données ou diagramme pour des descriptions de haut niveau de modèles conceptuels de données. Il a été conçu par Peter Chen dans les années 1970 afin de fournir une notation unifiée pour représenter les informations gérées par les systèmes de gestion de bases de données de l'époque.
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).
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).
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.
Join and meetIn mathematics, specifically order theory, the join of a subset of a partially ordered set is the supremum (least upper bound) of denoted and similarly, the meet of is the infimum (greatest lower bound), denoted In general, the join and meet of a subset of a partially ordered set need not exist. Join and meet are dual to one another with respect to order inversion. A partially ordered set in which all pairs have a join is a join-semilattice. Dually, a partially ordered set in which all pairs have a meet is a meet-semilattice.
Directional selectionIn population genetics, directional selection, is a mode of negative natural selection in which an extreme phenotype is favored over other phenotypes, causing the allele frequency to shift over time in the direction of that phenotype. Under directional selection, the advantageous allele increases as a consequence of differences in survival and reproduction among different phenotypes. The increases are independent of the dominance of the allele, and even if the allele is recessive, it will eventually become fixed.
Sélection stabilisatriceEn génétique des populations, la sélection stabilisatrice ou stabilisante (à ne pas confondre avec la sélection négative ou purificatrice) est un mode de sélection naturelle dans laquelle la moyenne de la population se stabilise sur une valeur de trait non extrême particulière. On pense que c'est le mécanisme d'action le plus courant pour la sélection naturelle car la plupart des traits ne semblent pas changer radicalement au cours du temps.
Sélection naturellevignette|Selon les principes de la sélection naturelle de Darwin, les pinsons des Galápagos sont issus d'une espèce souche venue du continent. La sélection s'est traduite par une spécialisation de la taille de leur bec en liaison avec leur régime alimentaire (seconde édition de son la publiée en 1845). En biologie, la est l'un des mécanismes moteurs de l'évolution des espèces qui explique le succès reproductif différentiel entre des individus d'une même espèce et le succès différentiel des gènes présents dans une population.
Relation d'équivalenceEn mathématiques, une relation d'équivalence permet, dans un ensemble, de mettre en relation des éléments qui sont similaires par une certaine propriété. On pourra ainsi regrouper ces éléments par « paquets » d'éléments qui se ressemblent, définissant ainsi la notion de classe d'équivalence, pour enfin construire de nouveaux ensembles en « assimilant » les éléments similaires à un seul et même élément. On aboutit alors à la notion d'ensemble quotient. vignette|upright=1.5|Sur cet ensemble de huit exemplaires de livres, la relation « .