FrenchTech SAAS
33.5K views | +0 today
FrenchTech SAAS
Les news de l'univers SAAS et FrenchTech
Curated by Mickael Ruau
Your new post is loading...
Your new post is loading...

Popular Tags

Scooped by Mickael Ruau
September 29, 2021 3:47 AM
Scoop.it!

Nouveau forum consacré au logiciel de modélisation Looping créé par le professeur Patrick Bergougnoux, par l'équipe de la Rédaction

Nouveau forum consacré au logiciel de modélisation Looping créé par le professeur Patrick Bergougnoux, par l'équipe de la Rédaction | FrenchTech SAAS | Scoop.it

Chers membres du Club, Le professeur Patrick Bergougnoux, alias Paprick vient de sortir la version 3.0 de son logiciel de modélisation Looping.Comme Looping est de plus en plus utilisé et abordé dans le forum Schéma et dans les discussions parlant de modélisation des données, la rédaction de DVP a décidé de créer un sous-forum pour Looping dans la rubrique "ALM / Outils".Vous pourrez ainsi communiquer en direct avec son concepteur et avec les membres aguerris

No comment yet.
Scooped by Mickael Ruau
September 29, 2021 3:20 AM
Scoop.it!

PIVOT et UNPIVOT

PIVOT et UNPIVOT | FrenchTech SAAS | Scoop.it

La clause PIVOT permet d’afficher les lignes d’une requête sous forme de colonnes à la manière des tableaux croisés dynamique d’Excel.

Mickael Ruau's insight:

En 10g, on peut s’en sortir avec les fonctions DECODE ou CASE ! En 11g, la clause PIVOT rend la requête facile à écrire :

WITH qry AS (select deptno, job, sum(sal) sal
from emp
group by deptno, job)
select * from qry
pivot (sum(sal) for deptno in
(10 as dept10, 20 as dept20, 30 as dept30));
No comment yet.
Scooped by Mickael Ruau
September 28, 2021 10:25 AM
Scoop.it!

Détection de l’utilisation des Dblinks sur ORACLE

Détection de l’utilisation des Dblinks sur ORACLE | FrenchTech SAAS | Scoop.it
Une demande récurrente de nos clients est de savoir si leurs Dblinks sont utilisés ou non. En effet, sur une base vivante depuis de nombreuses années, l’historique de la création des Dblinks n’est pas toujours suivi et la suppression d’un Dblink est rarement envisagée par crainte d’effets de bord.   Utilisation des Dblinks à l’instant … Détection de l’utilisation des Dblinks sur ORACLE Lire la suite »
No comment yet.
Scooped by Mickael Ruau
September 28, 2021 10:17 AM
Scoop.it!

PostgreSQL: Documentation: 10: dblink

PostgreSQL: Documentation: 10: dblink | FrenchTech SAAS | Scoop.it
dblink dblink — executes a query in a remote database Synopsis dblink(text connname, text sql [, bool fail_on_error]) returns setof …
No comment yet.
Scooped by Mickael Ruau
September 28, 2021 8:12 AM
Scoop.it!

A Guide to DataOps - DZone Big Data

A Guide to DataOps - DZone Big Data | FrenchTech SAAS | Scoop.it
DataOps isn’t just a development methodology. It radically transforms how organizations use data by democratizing access to it thus unlocking massive potential.
Mickael Ruau's insight:

Challenges and Problems that DataOps Resolves

The most important promise of big data – quick and reliable data-driven actionable business insights – remains unfilled because of numerous challenges that can be broadly classified into organizational, technical, and human (people using the data) challenges.

DataOps helps overcome these challenges by combining learnings and practices from Agile, DevOps, and Lean Manufacturing methodologies. Here are the most important challenges DataOps tackles head-on:

  • Speed

Modern organizations rely on (at least, must rely on) data coming from many different sources and in many different forms. Cleaning, improving, and then using the data can be such a complex and drawn-out process that when the insights that are finally generated from it, they are no more relevant to the rapidly evolving business landscape.

DataOps radically improves the speed at which insights are obtained from data. 

  • Data Type

Sometimes, the data collected by organizations can be in unstructured formats, which makes it extremely difficult to extract insights from them. It’s entirely possible and even likely that such data sources may offer clues to emerging business challenges. Therefore, it’s not enough that organizations can crunch easily crunchable data in structured formats.

DataOps makes it possible for organizations to identify, collect, and use data from every data source available at their disposal.

  • Data Siloes

DataOps breaks down data siloes within organizations and centralizes all data. At the same time, it builds resilient systems that enable self-service for every stakeholder who needs access to data. These systems evolve with the changes within the organization and outside it, and yet, give the “data users” predictable ways to find and use data that they need.

Business Benefits of DataOps

By overcoming the challenges, DataOps makes it possible for DataOps teams to deliver data to everyone who needs it – data engineers, data scientists, ML engineers, and even customers – and do it much faster than before. This achievement unlocks several benefits for data-driven businesses. Here are some of them:

  • Maximizing Data Utilization

DataOps unlocks data for all “users” of data, be it analysts, executives, or even customers. It automates data delivery and in doing so, allows every department to extract maximum value from the data. The result is improved competitiveness, responsiveness to changes, and higher ROI.

  • Right Insights at the Right Time

A common problem with big data so far has been right insights at the wrong time. Insights that arrive too late are useless. DataOps brings data to everyone who needs it quickly. Consequently, they can make more informed decisions faster than ever before, enabling the organization to evolve to market changes at a rapid pace.

  • Improved Data Productivity

DataOps employs automation tools to operationalize data delivery as self-service. Consequently, any inherent latency between data requests and data access is eliminated, thereby allowing all teams to make data-driven decisions promptly.

DataOps also rids the organization of manual data pipeline change management processes. Instead, all changes to data pipelines are streamlined and automated to deliver quick, targeted changes.

  • Data Pipelines Optimized for Results

DataOps incorporates a feedback loop into the data pipelines, which allows various data consumers to identify the specific data they need and obtain customized insights from it. Each team can then use these insights to reduce costs, discover new opportunities, increase revenue, and improve the organization’s profitability.

No comment yet.
Scooped by Mickael Ruau
September 28, 2021 5:05 AM
Scoop.it!

Les 12 règles de Codd, le père du modèle relationnel de données

Les 12 règles de Codd, le père du modèle relationnel de données | FrenchTech SAAS | Scoop.it

Je rappelle ce que sont les 12 règles de Codd (datées de 1985, cf. An Evaluation Scheme for Database Management Systems that are claimed to be Relational), énoncées par le père du modèle relationnel de données, extrêmement fâché quand Cullinet (IDMS/R) et ADR (Datacom/DB) prétendirent que leur SGBD pré-relationnel était relationnel, marketing oblige, alors que le vent était en train de tourner.

Ces règles datant de plus de 30 ans peuvent paraître aujourd’hui incomplètes, mais elles suffirent largement pour fustiger les coupables (vexé comme un dindon, John Cullinane, fondateur de Cullinet (1968-1989) déclara que l’article de Codd était « about the silliest » qu’il a pu lire), et elles furent la source des 333 fonctionnalités décrites cinq ans plus tard dans The Relational Model for Database Management, Version 2.

Je cite Codd :

« The table below indicates fidelity to the twelve rules by DB2, IDMS/R, and Datacom/DB, examples chosen for their wide differences :

  Rule DB2 IDMS/R Datacom/DB 1 information rule yes no no 2 guaranteed access rule par. no no 3 systematic treatment of nulls par. no no 4 active catalog based on RM yes no no 5 comprehensive data sublanguage yes no no 6 view updating rule no no no 7 high-level insert, update, delete yes no no 8 physical data independence yes par. par. 9 logical data independence par. no no 10 integrity independence no no no 11 distribution independence yes no no 12 non-subversion rule yes no no   Score (1 for yes, 0 otherwise) 7 0 0
 
These scores are counts of compliance with the twelve rules (one for "yes" and 0 for either "partial" or "no". Actually, the information rule is so fundamental to' the relational approach that a system's compliance with this rule should receive a much higher score than one (say 10 at least). However, I shall avoid assigning different points for different features, just as I avoided a fractional score for partial support of a feature - it is too easy to be subjective in these matters.

DB2 scores quite well here, when compared with its competitors. However, it is not an outstanding score considering that, well prior to release, the developers were advised on several occasions of the deficiencies. Very few other DBMS score higher on the twelve rules, although some others score equally well (for example, INGRES and ORACLE). »


Clairement, Codd reproche à Chamberlin de ne pas avoir été assez fidèle au modèle relationnel de données, et que le prototype System R (donc ses enfants légitimes, SQL/DS et eDB2) aurait pu mieux faire).

Mickael Ruau's insight:

Aujourd’hui, DB2 serait noté 10/12, en prenant un point quant aux règles 2, 3 10. Même chose pour les autres principaux SGBD SQL.

No comment yet.
Scooped by Mickael Ruau
September 27, 2021 1:37 AM
Scoop.it!

Bases de données relationnelles et normalisation : de la première à la sixième forme normale

Bases de données relationnelles et normalisation : de la première à la sixième forme normale | FrenchTech SAAS | Scoop.it
Bases de données relationnelles et normalisation : de la première à la sixième forme normale
Mickael Ruau's insight:
      Version PDF

 
Avertissement
Quelques remarques préliminaires
A propos de Tutorial D
A qui s'adresse cet article ?
Concernant le vocabulaire
Préambule
1. De la normalisation
1.1. Contexte
1.2. Retour aux sources
1.3. Rappel de quelques définitions
1.4. Objet de la normalisation
1.5. Étapes de la normalisation
1.6. Normaliser, une obligation ?
1.7. Dénormalisation vs amélioration (optimisation)
Première partie - Première forme normale
2. Première forme normale
2.1. La situation en 1969
2.2. 1970 : Acte de naissance de la première forme normale
2.3. Années 1970-1980. Les théoriciens du Modèle Relationnel sont-ils en phase avec Codd ?
2.4. L'esprit et la lettre
2.5. L'atomicité : un critère absolu ?
2.6. Début des années quatre-vingt-dix. Les RVA (attributs dont les valeurs sont des relations)
2.7. Pour conclure avec la première forme normale
2.8. Le bêtisier. Les définitions non conformes de la 1NF
Deuxième partie - Forme normale de Boyce-Codd, deuxième et troisième formes normales
3. Forme normale de Boyce-Codd, deuxième et troisième formes normales
3.1. Les états d'âme provoqués par la première forme normale
3.1.1. Une tentative de normalisation en 1NF
3.1.2. Conséquences de la normalisation : des redondances à profusion
3.1.3. Les difficultés de mise à jour (Insert, Delete, Update)
3.1.4. Quelle alternative ?
3.1.5. Approche conceptuelle de la solution
3.2. L'approche analytique, ses outils
3.2.1. Remarque préliminaire
3.2.2. Dépendance fonctionnelle (DF)
3.2.3. Clé candidate
3.2.4. Surclé
3.2.5. Sous-clé
3.2.6. Clé primaire
3.3. Forme normale de Boyce-Codd (BCNF)
3.3.1. Énoncé de la BCNF
3.3.2. Théorème de Heath
3.3.3. Comment normaliser une relvar qui n'est pas en BCNF
3.3.4. Décomposition par projection - jointure préservant l'information
3.3.5. Normalisation et intégrité référentielle
3.3.6. Conséquences de la normalisation par projection - jointure
3.4. Deuxième et troisième formes normales
3.4.1. BCNF versus 2NF et 3NF
3.4.2. Deuxième forme normale (2NF)
3.5. Dépendance transitive, dépendance directe
3.6. Troisième forme normale (3NF)
3.7. Un problème embarrassant de BCNF
3.8. Retour sur la dénormalisation a priori
3.9. Une relvar respectant la BCNF peut-elle violer la 3NF ?
Troisième partie - Quatrième forme normale
4. Quatrième forme normale
4.1. Au-delà de la BCNF
4.2. Observations à propos de la jointure naturelle
4.3. Dépendance multivaluée (DMV)
4.4. Décomposition sans perte de données. Premier théorème de Fagin
4.5. Dépendance fonctionnelle et dépendance multivaluée (règle de réplication)
4.6. Dépendance multivaluée triviale
4.7. Quatrième forme normale (4NF)
4.8. Un (sympathique) théorème de Date et Fagin concernant la 4NF
4.9. 4NF et relvars « toutes clés », une légende à détruire
4.10. La 4NF et Merise
4.11. Merise et la chasse aux ternaires
4.12. Observations concernant la décomposition des relvars
4.13. Approche ascendante vs approche descendante
4.14. Implication de la BCNF par la 4NF
Quatrième partie - Cinquième forme normale
5. Cinquième forme normale
5.1. Introduction
5.2. Dépendance de jointure
5.3. Relvars formant un cycle
5.4. Dépendance de jointure triviale
5.5. Définition de la 5NF (PJ/NF)
5.6. Exemples de relvars respectant ou non la 5NF
5.7. Parallèle entre la BCNF, la 4NF et la 5NF
5.8. Un autre théorème de Date et Fagin
5.9. Pour conclure avec la normalisation en 5NF
5.10. Un petit exercice
Cinquième partie - Sixième forme normale
6. Sixième forme normale
6.1. Introduction
6.2. Définition de la sixième forme normale (6NF)
6.3. Relvars à caractère temporel, purement historiques
6.3.1. Un exemple
6.3.2. Typage des intervalles, opérateurs
6.3.3. Opérateurs PACK et UNPACK
6.3.4. Opérateurs U_PROJECT et U_JOIN
6.3.5. Opérateurs de comparaison relationnelle généralisés
6.3.6. Dépendance de jointure généralisée
6.3.7. Retour sur la 6NF, place à la concision
6.3.7.1. Remarque préalable
6.3.7.2. 2e impératif LDD
6.3.8. Déclaration des relvars
6.4. Données actives et données historisées
6.4.1. Premières tentatives de modélisation
6.4.2. Des impératifs LDD à respecter
6.4.2.1. 5e impératif LDD
6.4.2.2. 6e impératif LDD
6.4.2.3. 1er impératif LDD
6.4.2.4. 3e impératif LDD
6.4.2.5. 4e impératif LDD
6.4.2.6. Poursuite du processus d'historisation
6.5. Points particuliers
6.5.1. A propos de l'intégrité référentielle et des contraintes d'intégrité en général
6.5.2. Choix du mode d'historisation
6.5.3. Relvars « associatives »
6.5.4. Trois relvars ou une relvar unique ?
6.6. Pour conclure avec la normalisation en 6NF
Annexes
Notes. Compléments
A. Tuples, relations, relvars (définitions)
A.1. Tuple (n-uplet), attribut
A.2. Relation, relvar
A.3. Note à propos de Tutorial D
B. Notation des opérateurs relationnels (Tutorial D)
B.1. Restriction
B.2. Projection
B.3. Rename
B.4. Jointure (naturelle)
B.5. Union, Intersection, Différence
B.6. EXTEND
C. Notes concernant la 1NF et la logique du 2e ordre
C.1. Univers du discours
C.2. Termes généraux
C.3. Concept de classe
C.4. Vers la logique du deuxième ordre : termes généraux considérés comme des objets
C.5. L'exemple de la généalogie et ses applications
C.6. Au sujet des RVA de Date et Darwen
D. La normalisation et le bonhomme NULL
E. Fermeture des dépendances fonctionnelles, axiomes d'Armstrong, ensemble irréductible
E.1. Fermeture d'un ensemble de dépendances fonctionnelles
E.2. Axiomes d'Armstrong
E.3. Application des axiomes, calcul de la fermeture des DF
E.4. Fermeture d'un ensemble d'attributs, l'algorithme du seau à dépendants
E.5. Inventaire des clés et surclés. Quelques observations.
E.5.1. La technique du rouleau compresseur
E.5.2. Cas des attributs ne figurant pas dans les dépendants des DF
E.5.3. Surclés n'ayant pas d'attributs en commun et utilisation de l'algorithme du seau
E.5.4. Clés oubliées
E.6. Ensemble irréductible de dépendances fonctionnelles
E.6.1. Ensembles de DF et redondances
E.6.2. Propriétés d'un ensemble irréductible de DF
E.6.3. Pluralité des ensembles irréductibles pour une relvar
E.7. Décompositions sans perte
E.7.1. Préservation du contenu de la base de données
E.7.2. Préservation des dépendances fonctionnelles
E.8. Conclusion
F. Identification relative versus identification absolue
F.1. Consommation des ressources physiques
F.2. Performance des applications
F.3. Le clustering selon DB2 for z/OS
F.4. L'identification relative au service de l'intégrité des données
Références
Bibliographie
No comment yet.
Scooped by Mickael Ruau
September 27, 2021 1:21 AM
Scoop.it!

Get to Know the Power of SQL Recursive Queries

Most commonly, the SQL queries we run on a database are quite simple. Well, that depends on your role, of course. Analysts in data warehouses retrieve completely different sorts of information using (very often) much more complicated queries than software engineers creating CRUD applications.

However, sometimes it's simpler or more elegant to run a query that is a little bit more sophisticated without needing further data processing in the code. One way to accomplish this is with a SQL feature called recursive queries.

Mickael Ruau's insight:

Let's take a real-life example. Let's assume we've got a database with a list of nodes and a list of links between them (you can think of them as cities and roads). Our task is to find the shortest path from node 1 to node 6.

 

EDIT MODEL IN YOUR BROWSER
 
 
 

nodeidnameintvarchar(32)PKlinknode_from_idnode_to_idlengthintintintPK FKPK FK

Well, in fact, it's nothing more than graph traversal. The very first idea an average software engineer may have would be to get all rows from both tables and implement a DFS (Depth-First Search) or BFS (Breadth-First Search) algorithm in his/her favorite programming language. It's not a bad idea (if you like coding  ) but you can do it with a single SQL query!

No comment yet.
Scooped by Mickael Ruau
September 21, 2021 11:29 AM
Scoop.it!

MySQL insert with left join

In this page, we have discussed how to insert values of one table into another table using MySQL INSERT INTO statement and MySQL LEFT JOIN.

Mickael Ruau's insight:

The MySQL LEFT JOIN will preserve the records of the "left" table. MySQL starts with the left table and scans to the right table and store the value in the left table which matches the condition. For unmatched rows, it returns null. Each item in the left table will show up in a MySQL result, even if there isn't a match with the other table that it is being joined to.

No comment yet.
Scooped by Mickael Ruau
September 21, 2021 10:38 AM
Scoop.it!

MySQL Shell 101 - System Log

MySQL Shell 101 - System Log | FrenchTech SAAS | Scoop.it
One of the new features introduced in MySQL 8.0.24 was the ability to log all SQL statements that are issued in the MySQL Shell to the system log.
No comment yet.
Scooped by Mickael Ruau
September 21, 2021 10:37 AM
Scoop.it!

Migrating Ownership of Your Stored Routines, Views, and Triggers in MySQL

Migrating Ownership of Your Stored Routines, Views, and Triggers in MySQL | FrenchTech SAAS | Scoop.it
Use mysqlpump with option--skip-definer instead of mysqldump. Here's why.
No comment yet.
Scooped by Mickael Ruau
September 21, 2021 10:36 AM
Scoop.it!

Impact of Network and Cursor on Query Performance of PostgreSQL

Impact of Network and Cursor on Query Performance of PostgreSQL | FrenchTech SAAS | Scoop.it
Knowing the impact of network-related overhead and cursors in PostgreSQL is important not only to alleviate confusion but also to get the best performance.
No comment yet.
Scooped by Mickael Ruau
September 21, 2021 10:36 AM
Scoop.it!

Pros and Cons: When You Should and Should Not Use MongoDB

Pros and Cons: When You Should and Should Not Use MongoDB | FrenchTech SAAS | Scoop.it
Scenarios that are worth considering before deploying MongoDB, leading you to the decision of when you should and should not use it.
No comment yet.
Scooped by Mickael Ruau
September 29, 2021 3:37 AM
Scoop.it!

Looping - Modélisation Conceptuelle de Données

Looping - Modélisation Conceptuelle de Données | FrenchTech SAAS | Scoop.it
Looping est un logiciel de modélisation conceptuelle de données entièrement gratuit et libre d'utilisation.
No comment yet.
Scooped by Mickael Ruau
September 29, 2021 3:11 AM
Scoop.it!

SQL Server : Pivoter les données avec ou sans l’opérateur PIVOT , SQL Server vu par Christian Robert

SQL Server a facilité beaucoup d'opérations complexes en termes de requête. Le pivot, c'est-à-dire la possibilité de pendre des valeurs de ligne et les passer en colonne (avec une synthèse en général, par exemple en somme en passant) fait partie des apports de cette version.

Le pivot est dit statique (valeurs du pivot à fournir), à l'opposé de se que l'on trouve par exemple dans Access qui est dynamique (table à fournir). Pourquoi ? Entre autres à cause de la limite du nombre de champs d'un jeu de données (4096 dans le SELECT) et peut être de la complexité à l'implémenter.

Mickael Ruau's insight:

 

Maintenant comment fait-on dans SQL Server 2000 ? Vous me direz que la aussi je dois ruser en générant des agrégats pour chaque année et assembler le tout dans une table. En fait non il existe une syntaxe tout ce qu'il y a de plus simple pour réaliser la même que sous SQL Server 2005. Toujours sous forme de pivot statique, mais avec un peu plus de code à taper.

L'astuce réside en l'utilisation du CASE WHEN. Syntaxe qui par ailleurs est conforma au standard de la norme SQL, que l'on pourrait donc appliquer à d'autres moteurs.

La requête donne :

SELECT ProductId, SUM([2001]) AS [2001], SUM([2002]) AS [2002], SUM([2003]) AS [2003], SUM([2004]) AS [2004]

FROM

(

SELECT ProductId,

CASE WHEN YEAR(OrderDate) = 2001 THEN SUM(OrderQty) END AS [2001],

CASE WHEN YEAR(OrderDate) = 2002 THEN SUM(OrderQty) END AS [2002],

CASE WHEN YEAR(OrderDate) = 2003 THEN SUM(OrderQty) END AS [2003],

CASE WHEN YEAR(OrderDate) = 2004 THEN SUM(OrderQty) END AS [2004]

FROM Sales.SalesOrderHeader AS OH

    JOIN Sales.SalesOrderDetail AS OD ON OH.SalesOrderID = OD.SalesOrderID

GROUP BY ProductId, YEAR(OrderDate)

) AS OrderSummary

GROUP BY ProductId

J'ai indique en jaune la partie correspondante à ma requête de tout à l'heure. Tous les champs ne figurent pas aussi, j'aurais pu appliquer exactement la même requête mais cela aurait été plus long à taper. Les parties en vert représentent le PIVOT. Les CASE WHEN éclate les valeurs de lignes en champs, et passe un premier niveau d'agrégat. A la sortie de la requête intérieure j'ai bien les colonnes souhaitées, mais j'ai trop de lignes, en fait il y a une ligne par couple année / produit. C'est pour cette raison qu'un deuxième SUM avec GROUP BY est nécessaire à l'extérieur, pour « aplatir » le jeu de données fournis.

Moralité, même résultat que sous SQL Server 2005… Mais avouons le, c'est quand même beaucoup plus court sous SQL Server 2005 !

B
o
n

p
i
v
o
t
.
.
.

No comment yet.
Scooped by Mickael Ruau
September 28, 2021 10:19 AM
Scoop.it!

CREATE DATABASE LINK

 

Use the CREATE DATABASE LINK statement to create a database link. A database link is a schema object in one database that enables you to access objects on another database. The other database need not be an Oracle Database system. However, to access non-Oracle systems you must use Oracle Heterogeneous Services.

Mickael Ruau's insight:

After you have created a dblink, you can use it to refer to tables and views on the other database.

No comment yet.
Scooped by Mickael Ruau
September 28, 2021 10:17 AM
Scoop.it!

DBLink — Wikipédia

DBLink - Wikipédia

Dans un système de gestion de base de données (SGBD), tel qu' Oracle Database ou PostgreSQL, un DBLink, ou database link est un objet d'une base de données permettant d'exécuter des requêtes sur une autre base de données, qu'elle se trouve physiquement sur la même machine ou qu'elle soit distante.

No comment yet.
Scooped by Mickael Ruau
September 28, 2021 5:07 AM
Scoop.it!

Apprendre à programmer sa propre gestion d'erreurs dans les procédures SQL, un billet de CinePhil

Apprendre à programmer sa propre gestion d'erreurs dans les procédures SQL, un billet de CinePhil | FrenchTech SAAS | Scoop.it
Comme il y a des contraintes dans la base de données (clés étrangères, unicité...), l'exécution d'une procédure SQL peut entraîner la survenue d'erreurs (générées par le SGBD à cause de ces contraintes). Il est intéressant de capturer ces erreurs pour renvoyer au programme externe qui lance la procédure un code et un message d'erreur plus clairs.
On peut aussi programmer ses propres exceptions selon certaines conditions.Nous allons étudier ça dans une procédure de création d'un utilisateur.1
No comment yet.
Scooped by Mickael Ruau
September 27, 2021 1:54 AM
Scoop.it!

Que signifie le terme «tuple» dans les bases de données relationnelles? IP Girl

Dans les bases de données relationnelles , les tables sont des relations (au sens mathématique) . Les relations sont des ensembles de tuples. Ainsi, la ligne de table dans la firebase database relationnelle est tuple en relation.

Wiki sur les relations:

En mathématiques (plus spécifiquement, en théorie des ensembles et en logique), une relation est une propriété qui assigne des valeurs de vérité à des combinaisons (k-tuples) de k individus. En règle générale, la propriété décrit une connexion possible entre les composants d’un k-tuple. Pour un ensemble donné de k-tuples, une valeur de vérité est atsortingbuée à chaque k-tupl selon que la propriété contient ou non.

Quel que soit son usage en mathématiques, un tuple en SGBDR est généralement considéré comme une ligne dans une table ou un jeu de résultats. Dans un SGBDR, un tuple n’est pas ordonné. Un tuple dans un MDDBMS est l’instance de données dans une cellule avec ses instances de dimension associées (membres).

No comment yet.
Scooped by Mickael Ruau
September 27, 2021 1:30 AM
Scoop.it!

SGBD-R : Normalisation –

SGBD-R : Normalisation – | FrenchTech SAAS | Scoop.it

La normalisation de bases de données est une manière de la modéliser, concevoir et structurer. La normalisation est même une propriété pour une base de données (selon différents niveaux) car les systèmes de gestion de bases de données sont eux même conçus en partant du principe que les bases de données qu’ils auront à gérer seront normalisées. Ainsi normaliser une base va permettre:

  • réduction des erreurs et des temps de résolutions
  • l’écriture de requête plus simple
  • une meilleur intégrité des données (absence de redondance de l’information)
  • des tris plus rapides
  • des mises à jour plus rapide
  • des accès concurrents plus simple à gérer
Mickael Ruau's insight:

En définissant des clefs, nous ne sommes évidemment pas en FN2. Pour le devenir, il va falloir appliquer le théorème de Heath. Celui ci défini que pour une relation R telle que s’il existe A, B et C des ensembles d’attributs et A -> B alors il R vaut la jointure des relations associants A,B et A,C. A noter que si B et C sont reliés par une dépendance fonctionnelle, alors il sera préférable (c’est le théorème de Jorma Rissanen) de décomposer R en A,B et B,C afin de conserver toutes les dépendances.

 

(...)

La forme normale de Boyce-Codd

Cette forme normale est une forme équivalente aux FN2 et FN3 mais en éliminant quelques redondances supplémentaires et peut donc être utilisée en tant qu’alternative aux deux autres formes normales Sa seule limite est qu’il est possible d’être FN3 sans forcément être en FNBC ce qui potentiellement peut nous faire perdre des dépendances fonctionnelles… donc en cas limites, il faut revenir aux FN2 et FN3. Ainsi, une relation R est en forme normale de Boyce-Codd si et seulement si, pour toutes les dépendances X -> A tel que X un ensemble d’attributs inclus dans R et A un attribut de R, alors soit A appartient a X (dépendance triviale) ou X est une sur clef dans R (ou dit autrement, X clef candidate de R).

No comment yet.
Scooped by Mickael Ruau
September 27, 2021 1:15 AM
Scoop.it!

ronsavage/SQL: BNF Grammars for SQL-92, SQL-99 and SQL-2003

ronsavage/SQL: BNF Grammars for SQL-92, SQL-99 and SQL-2003 | FrenchTech SAAS | Scoop.it
BNF Grammars for SQL-92, SQL-99 and SQL-2003. Contribute to ronsavage/SQL development by creating an account on GitHub.
No comment yet.
Scooped by Mickael Ruau
September 21, 2021 10:38 AM
Scoop.it!

Using MySQL 8 Dual Passwords

Using MySQL 8 Dual Passwords | FrenchTech SAAS | Scoop.it
Support for MySQL 8 dual passwords can reduce overall DBA workload and streamline management processes, making it possible to perform user credential changes even with a large number of servers.
No comment yet.
Scooped by Mickael Ruau
September 21, 2021 10:37 AM
Scoop.it!

Inspecting MySQL Servers Part 5: Percona Monitoring and Management

Inspecting MySQL Servers Part 5: Percona Monitoring and Management | FrenchTech SAAS | Scoop.it
How we can obtain much of the same information we get from the Percona Toolkit tools (and sometimes more) from Percona Monitoring and Management.
No comment yet.
Scooped by Mickael Ruau
September 21, 2021 10:36 AM
Scoop.it!

Performing ETL Using Inheritance in PostgreSQL

Performing ETL Using Inheritance in PostgreSQL | FrenchTech SAAS | Scoop.it
Need to update a multi-terabyte table with near-zero downtime? Use an old capability of PostgreSQL; its object-relational capacity implementation of inheritance.
No comment yet.
Scooped by Mickael Ruau
September 21, 2021 10:36 AM
Scoop.it!

PostgreSQL PL/Java – A How-To, Part 2: How to Manipulate and Return Tuples

PostgreSQL PL/Java – A How-To, Part 2: How to Manipulate and Return Tuples | FrenchTech SAAS | Scoop.it
In part two of this PostgreSQL PL/Java series, it's time to expand and see how to manipulate and return multiple tuples.
No comment yet.