Objectif général : Concevoir une base de données
Objectifs opérationnels :
- Comprendre les différents concepts entourant les BD
- Comprendre les concepts associés aux BD relationnelles
- Établir un dictionnaire de données (DD)
- Structurer les données du DD
- Construire un Modèle Conceptuel des Données (MCD)
- Transformer un MCD en Modèle logique de données (MLD)
- Normaliser un MLD
Ce cours de base de données est présenté en mode diaporama, il est préparé et dédié aux étudiants en 1er cycle spécialité informatique et pour ceux qui s’intéressent à la gestion de la base de données.
Ce cours est réparti comme suit :
La première partie présente une introduction générale sur la base de données.
La deuxième partie est consacrée aux bases de données relationnelles, c'est-à-dire aux bases conçues suivant le modèle relationnel et manipulées en utilisant l'algèbre relationnelle. Il s'agit de la méthode la plus courante pour organiser et accéder à des ensembles de données.
La dernière partie constitue, enfin, une bonne introduction au langage SQL (Structured Query Language) qui peut être considéré comme le langage d'accès normalisé aux bases de données relationnelles.
Objectif général : Concevoir une base de données
Objectifs opérationnels :
- Comprendre les différents concepts entourant les BD
- Comprendre les concepts associés aux BD relationnelles
- Établir un dictionnaire de données (DD)
- Structurer les données du DD
- Construire un Modèle Conceptuel des Données (MCD)
- Transformer un MCD en Modèle logique de données (MLD)
- Normaliser un MLD
Ce cours de base de données est présenté en mode diaporama, il est préparé et dédié aux étudiants en 1er cycle spécialité informatique et pour ceux qui s’intéressent à la gestion de la base de données.
Ce cours est réparti comme suit :
La première partie présente une introduction générale sur la base de données.
La deuxième partie est consacrée aux bases de données relationnelles, c'est-à-dire aux bases conçues suivant le modèle relationnel et manipulées en utilisant l'algèbre relationnelle. Il s'agit de la méthode la plus courante pour organiser et accéder à des ensembles de données.
La dernière partie constitue, enfin, une bonne introduction au langage SQL (Structured Query Language) qui peut être considéré comme le langage d'accès normalisé aux bases de données relationnelles.
Comment integrer les applications de votre Systeme Information entre elles ?Stéphane Traumat
Cette présentation détaille les solutions et les méthodes existantes pour améliorer votre système d'information en intégrant l'ensemble des applications que vous utilisez.
Les trois grands type d'intégration seront abordés :
• Intégration par les données: données stockées et données mobiles: XML et applications aux services.
• Intégration par la présentation: portails et agrégation de contenus.
• Intégration par les processus: modèles de processus, architectures de services (SOA).
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
Dans cette session, vous apprendrez:
Les différences entre modéliser pour MongoDB versus une base de données relationnelle.
Une méthodologie pour modéliser pour MongoDB qui est adaptable aux projets simples, agiles ou plus complexes.
Quelques patrons de conception (design patterns) courants dans le développement d'applications avec MongoDB, dans le but de maximiser la performance.
Big Data : Hadoop
- Généralité
- Architecture HDFS
- Algorithme MapRduce
- Architecture YARN
- Hadoop v3.x vs Hadoopv2.x
Cours Big Data - Chap2 - GI3 - ENIS
Comment integrer les applications de votre Systeme Information entre elles ?Stéphane Traumat
Cette présentation détaille les solutions et les méthodes existantes pour améliorer votre système d'information en intégrant l'ensemble des applications que vous utilisez.
Les trois grands type d'intégration seront abordés :
• Intégration par les données: données stockées et données mobiles: XML et applications aux services.
• Intégration par la présentation: portails et agrégation de contenus.
• Intégration par les processus: modèles de processus, architectures de services (SOA).
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
Dans cette session, vous apprendrez:
Les différences entre modéliser pour MongoDB versus une base de données relationnelle.
Une méthodologie pour modéliser pour MongoDB qui est adaptable aux projets simples, agiles ou plus complexes.
Quelques patrons de conception (design patterns) courants dans le développement d'applications avec MongoDB, dans le but de maximiser la performance.
Big Data : Hadoop
- Généralité
- Architecture HDFS
- Algorithme MapRduce
- Architecture YARN
- Hadoop v3.x vs Hadoopv2.x
Cours Big Data - Chap2 - GI3 - ENIS
Architecture web aujourd'hui, besoin de scalabilité des bases de données relationnelles, découverte des bases de données NoSQL et des différents types de celles-ci. La vidéo de présentation peut être consultée à l'adresse suivante : http://youtu.be/oIpjcqHyx2M
A Brief History of Database Management (SQL, NoSQL, NewSQL)Abdelkader OUARED
What's the Difference Between SQL, NoSQL, and NewSQL
SQL is a relational database management system (RDBMS) based on ... NewSQL tries to bring some of the features and scalability of NoSQL to SQL.
Présentation effectuée à Open Source Expérience 2022 par Christophe Villeneuve et Sébastien de MariaDB sur "MariaDB : une base de données NewSQL".
Cette présentation a pour but de montrer que la base de données Mariadb propose des nouvelles fonctionnalités et avancés importantes pour devenir un coeur
Dans un contexte où la transmission et l'installation d'agriculteurs sont des enjeux cruciaux pour la profession agricole, de nouveaux agriculteurs s'installent chaque année et, parmi eux, certains Bac+5 ou plus. Les cursus des écoles d'ingénieurs n'ont pas vocation à former de futurs agriculteurs. Pourtant, certains apprenants ayant suivi ces cursus BAC + 5, qu'ils soient ou non issus du milieu agricole, tentent l'aventure de l'entrepreneuriat agricole. Qui sont-ils ? Quelles sont leurs motivations et visions ? Comment travaillent-ils ?
Si la baisse de la productivité est effective dans toutes les économies développées... elle est particulièrement marquée en France. Au niveau national, cet essoufflement touche tous les secteurs, et plus particulièrement celui de l’industrie, usuellement caractérisé par des gains de productivité élevés. Depuis la crise Covid, le secteur industriel contribue pour 35 % environ à cette perte, alors qu’il ne représente que 9,3 % de la valeur ajoutée nationale brute en 2023. Dans ce contexte, est-il possible de mener une politique de réindustrialisation du pays sans y associer un objectif de hausse des gains de productivité ?Non rappelle ce Cube. Au contraire, ces deux objectifs, jusqu’alors indépendants l’un de l’autre, sont désormais deux défis à relever conjointement. En analysant les différents explications à la baisse de celle-ci observée en France et dans les autres économies développées, ce Cube suggère que l’augmenter en parallèle d’une politique de réindustrialisation sous-entend une réallocation des facteurs de production vers les entreprises industrielles à fort potentiel. Elle suppose également une une meilleure affectation des ressources.
2. INTRODUCTION
L’enregistrement des données et leurs
manipulation est un élément primordiale de
l’informatique moderne.
Depuis des années le modèle relationnel s’est
imposé comme la référence grâce à son respect
des propriétés ACID (Atomicity, Consistency,
Isolation, Durability).
Gagner veut dire perdre, c’est exactement ce que
se passe, d’une façon plus simple respecter les
propriétés ACID conduit à des difficultés de
Scaling (Rapidité).
3. NOTIONS DE BASE
Base de données :
« Les années 60 ont été remarquées par l’apparition du
terme database (base de données), à cette époque une base
de données désigne la collection d'informations partagées
par différents utilisateurs d'un système d'informations
militaire » (http://fr.wikipedia.org/).
Par définition une base de données informatique est un
groupement de données qui ont été rangées sur un support
informatique, et organisées à but de faciliter la
consultation et la modification de leur contenu.
4. NOTIONS DE BASE
SGBD:
Un Système de Gestion de Base de Données (SGBD) « est
un logiciel (ou un ensemble de logiciels) permettant
de manipuler les données d'une base de données.
Manipuler, c'est-à-dire sélectionner et afficher des
informations tirées de cette base, modifier des données, en
ajouter ou en supprimer (ce groupe de quatre opérations
étant souvent appelé "CRUD", pour Create, Read, Update,
Delete) » (http://openclassrooms.com/).
On trouve plusieurs catégories de SGBD :
SGBDR (un Système de Gestion de Bases de Données
Relationnelles)
SGBD Distribuée
,,,,,,
5. SGBDR
Les données sont enregistrées dans des tableaux à deux
dimensions (lignes et colonnes).
La manipulation de ces données se fait selon la théorie
mathématique des relations : une théorie qui a été inventée par EDGAR
FRANK CODD dans sa thèse mathématique sur l'algèbre relationnelle en 1970.
Dans un SGBDR les données sont contenues dans ce qu'on
appelle des relations, qui sont représentées sous forme
de tables.
Une relation est composée de deux parties, l'en-tête et
le corps. L'en-tête est elle-même composée de plusieurs
attributs, Quant au corps, il s'agit d'un ensemble
de lignes (ou n-uplets) composées d'autant d'éléments qu'il
y a d'attributs dans le corps.
Numéro Prénom Nom Date de naissance
1 Zied KALLEL 28/11/1990
2 Kallel ZIED 11/02/1992
6. SGBDR
Pour interagir avec des bases de données relationnelles
nous utilisons le SQL (Structured Query Language),
SQL est le langage des bases de données le plus répandu, Il
a été créé dans les années 1970 et c'est devenu standard en
1986 (pour la norme ANSI - 1987 en ce qui concerne la
norme ISO). Il est encore régulièrement amélioré.
Exemple de SGBDR :
7. SGBD NOSQL
Le terme NoSQL ne signifie pas Not SQL (pas de SQL)
mais ça signifie Not Only SQL (pas seulement SQL).
NoSQL désigne un grand nombre de base de données qui
s’opposent au SGBDR.
Exemple de SGBD NoSQL:
8. PRINCIPE DE FONCTIONNEMENT D’UN
SGBD
En réalité un SGBD c’est un système qui permet
l’enregistrement et la suppression des données sur un
support physique (des fichiers de différent extension
exemple (.frm, .MYD, HDFS, …..).
On peut décomposer un SGBD en 3 sous-systèmes :
un système qui permet de stocker les données sur un
support physique
un système interne qui permet de gère l’ordonnancement
des informations
un système externe qui permet l’interaction avec
l’utilisateur
10. SGBDR ET NOSQL?
les 2 types de base de données partagent les mêmes
Objectifs de base : le stockage et la récupération des données ainsi
que la coordination des changements.
Les bases de données NoSQL troquent certaines des
capacités de relations des bases de données afin d'améliorer
l'évolutivité.
Les bases de données relationnelles respectent des
propriétés prédéfinies ACID (Atomicity, Consistency,
Isolation, Durability) pour pouvoir garantir la sécurité des
données.
Les propriétés ACID demandent des prérequis importants,
cela se traduit par une difficulté de scaling.
11. NOSQL : CONCEPT – ACID
Atomicité : les requêtes reçues par la base
doivent être complètes sous peine d'être non
traitées
Cohérence : les requêtes doivent respecter l'état
de validité de la base (respect des contraintes,
des mises à jour...)
Isolation : les requêtes sont indépendantes les
unes des autres lors d'un envoi simultané
Durabilité : les modifications de la base doivent
être effectuées en priorité avant toute autre
action pour permettre la sauvegarde de ces
changements
12. NOSQL : CONCEPT – CAP
CAP «Consistency, Availability, Partition tolerance », en
français « Cohérence, Disponibilité, Résistance au morcellement ».
Consistency / Cohérence : La totalité des nœuds
du système voient au même moment exactement
les même données.
Availability / Disponibilité : les données doivent
être toujours disponibles pour satisfaire les
requêtes.
Partition tolerance / Résistance au
morcellement : le système doit répondre d’une
manière correcte même si une partie du réseau
tombe en panne, sauf en cas de coupure totale du
réseau.
13. NOSQL : CONCEPT – CAP
CP : « Les données sont consistantes entre tous les
nodes et le système possède une tolérance aux
pannes, mais il peut aussi subir des problèmes de
latence ou plus généralement, de disponibilité ».
AP : « Le système répond de façon performante en
plus d’être tolérant aux pannes. Cependant rien ne
garantit la consistance des données entre les nodes ».
CA : « Les données sont consistantes entre tous les
nodes (tant que les nodes sont online). Toutes les
lectures/écritures des nodes concernent les mêmes
données. Mais si un problème de réseau apparait,
certains nodes seront désynchronisés au niveau des
données (et perdront donc la consistance) ».
16. CLÉ – VALEUR
Les bases de données clé-valeur nommée les
bases associatives
Les données sont représentées par un couple
clé/valeur.
Impossible de faire des requetés avec des filtres
(une requête de sélection avec une clause
WHERE en SQL).
Exemple :
Dynamo
Riak
Voldemort.
17. ORIENTÉES COLONNES
Le type orientées colonnes sont le résultat de
l’évolution des bases de données de type
associative.
Le modèle le plus proche d’une BD relationnelle
Dans une BD NoSQL le nombre de colonnes est
dynamique, contrairement aux bases de données
relationnelles les données sont enregistrées en
colonnes et non en lignes.
Exemple :
Cassandra
HBase
18. ORIENTÉES GRAPHE
Ce modèle représente les données en utilisant la
théorie de graphe.
Il s’appuie sur la notion de nœuds, de relations et
de propriétés.
principalement utilisé au traitement des données
des réseaux sociaux.
Exemple :
Neo4J
Titan
19. ORIENTÉES DOCUMENT
Ce modèle est une évolution du modèle orienté
colonne.
Le modèle orienté document est plus flexible au
niveau de l’accès aux données que le modèle
orienté colonne.
Le modèle orienté document est plus flexible au
niveau de l’accès aux données que le modèle
orienté colonne
Exemple :
MangoDB
CouchDB
RavenDB
20. APPLICATION
EDF :
SEI « systèmes électriques intelligents : c’est un système
électrique capable d’intégrer de manière intelligente les actions
des différents utilisateurs, consommateurs et/ou producteurs afin
de maintenir une fourniture d’électricité efficace, durable,
économique et sécurisée»:
Installation des compteurs communicants (35 millions en France) avec un
relevé tous les 10 minutes (1 relevé pas 10 mn / 35 millions de clients / an).
Volumes de données annuels.
1800 milliards de relevés ; 600 To de données non compressées.
Volumes de données journalier.
5 milliards de relevés ; ~2 To.
Néanmoins EDF entrevoit la mise en place de traitements
complexes :
De par la nature des données : des séries temporelles
De par leur caractère distribué et de la nécessité de traitements à différentes
échelles
De par les contraintes temps réel pour certains besoins
=> EDF utilise la base de données HBase (Base de données NoSQL
de type orientée colonne), pour le stockage et la manipulation de ces
données.
21. APPLICATION
Réseaux sociaux :
Enregistrent des données massives :
Historique de conversations,
Historique d’actions (partage, j’aime, commentaire, Message,…)
Stockage des vidéos
…..
Twitter utilise la base de données Apache Cassandra (il à été
remplacer par une base crée en interne similaire à Apache Cassandra)
ainsi que plusieurs autres outils pour l’enregistrement et la
manipulation de ces données.
Les Moteurs de recherche :
Pour pouvoir regrouper les informations de différent service
(Google Earth, Google Maps et Blogger), Google à développer l’SGBD
BigTable.
BigTable enregistre les données sous forme de tableau d’octets indexés
par colonne et ligne.