Notions de base :
- programme
- programmation
- langages de programmation
Une petite introduction au langage C++ :
- Historique
- Place de C++ par rapport aux autres langages de programmation
Mettre en place les différents outils nécessaires pour pouvoir programmer en C++ :
- éditeur de texte
- compilateur
- débugger
les programmes « 3 in 1 » ou IDE - Environnement de Développement Intégré
Création et discussion de notre premier programme C++
Nous allons aborder dans ce chapitre un autre aspect du langage indispensable à la programmation, à savoir : les structures de contrôle. Ces structures permettent, comme leur nom l’indique, de contrôler l’exécution du programme en fonction de critères particulier.
Le C++ dispose de toutes structures de contrôle classiques des langages de programmation comme les tests, les boucles, les sauts, etc. Dans ce chapitre, je vais vous expliquer comment, dans un programme C++, on pourra :
- ne pas exécuter une partie des instructions, c’est à dire faire un saut dans le programme,
- revenir en arrière, pour exécuter plusieurs fois de suite la même partie d’un programme.
C'est le chapitre 1 sur le langage Python qui est une introduction à ce langage.
Si vous avez des remarques ou des suggestions pour l’améliorer n’hésitez pas à m’écrire via ce courriel:
pr.azizdarouichi@gmail.com
Bonne lecture.
Notions de base :
- programme
- programmation
- langages de programmation
Une petite introduction au langage C++ :
- Historique
- Place de C++ par rapport aux autres langages de programmation
Mettre en place les différents outils nécessaires pour pouvoir programmer en C++ :
- éditeur de texte
- compilateur
- débugger
les programmes « 3 in 1 » ou IDE - Environnement de Développement Intégré
Création et discussion de notre premier programme C++
Nous allons aborder dans ce chapitre un autre aspect du langage indispensable à la programmation, à savoir : les structures de contrôle. Ces structures permettent, comme leur nom l’indique, de contrôler l’exécution du programme en fonction de critères particulier.
Le C++ dispose de toutes structures de contrôle classiques des langages de programmation comme les tests, les boucles, les sauts, etc. Dans ce chapitre, je vais vous expliquer comment, dans un programme C++, on pourra :
- ne pas exécuter une partie des instructions, c’est à dire faire un saut dans le programme,
- revenir en arrière, pour exécuter plusieurs fois de suite la même partie d’un programme.
C'est le chapitre 1 sur le langage Python qui est une introduction à ce langage.
Si vous avez des remarques ou des suggestions pour l’améliorer n’hésitez pas à m’écrire via ce courriel:
pr.azizdarouichi@gmail.com
Bonne lecture.
Cours en C++ de la programmation procédurale à la POO.
Partie 1: La Programmation Procédurale.
Partie 2: La Programmation Orientée Objet.
Partie 3: Les Exceptions, Entrées/Sorties, Structures, Unions, Énumérations…
Partie 4: Les interfaces Graphiques avec Qt.
Si vous avez des remarques ou des suggestions afin d'améliorer ce support du cours merci de me contacter via pr.azizdarouichi@gmail.com
Objectif général : Acquérir les connaissances nécessaires à la programmation avec le langage Python
Objectifs opérationnels :
- Mémoriser des données primitives
- Traiter des données
- Communiquer avec l’extérieur
- Contrôler le flux d’exécution des instructions
- Mémoriser des données composites
- Découper et réutiliser du code
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 concerne les arbres, structure de données organisant les données de manière hiérarchique dans de nœuds reliés entre eux par une relation parent-enfant. Le cours présente les arbres généraux et ensuite les arbres binaires, où chaque nœud possède 0 ou 2 enfants. Enfin, le cours termine en présentant des algorithmes de recherche et en particulier l'arbre binaire de recherche.
QCM Système d'information, Base de données, design pattern MERISE et UML MOA MOE gestion de projet QCM CMMI GED ITIL Intranet Extranet Internet pattern GRASP maintenance ERP système informatique SSO norme ISO CMMI
1. Autres Annales et QCM sur : http://quizmyself.blogspot.com/
2. Autres Annales et QCM sur : http://quizmyself.blogspot.com/
3. Autres Annales et QCM sur : http://quizmyself.blogspot.com/
4. Autres Annales et QCM sur : http://quizmyself.blogspot.com/
Ce deuxième cours concerne les tuples, séquences non modifiables d'éléments. On peut les étendre en tuples nommés en ajoutant un nom à chacune des entrées du tuple, appelées alors champs. Enfin, on peut aller plus loin et définir des objets en associant des fonctions à des données. Cette seconde partie introduit à la programmation orientée objet.
Apprendre les concepts de base de l'algorithmique et de la programmation.Etre capable de mettre en oeuvre ces concepts pour analyser des problèmes simples et écrire les programmes correspondants
Cours en C++ de la programmation procédurale à la POO.
Partie 1: La Programmation Procédurale.
Partie 2: La Programmation Orientée Objet.
Partie 3: Les Exceptions, Entrées/Sorties, Structures, Unions, Énumérations…
Partie 4: Les interfaces Graphiques avec Qt.
Si vous avez des remarques ou des suggestions afin d'améliorer ce support du cours merci de me contacter via pr.azizdarouichi@gmail.com
Objectif général : Acquérir les connaissances nécessaires à la programmation avec le langage Python
Objectifs opérationnels :
- Mémoriser des données primitives
- Traiter des données
- Communiquer avec l’extérieur
- Contrôler le flux d’exécution des instructions
- Mémoriser des données composites
- Découper et réutiliser du code
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 concerne les arbres, structure de données organisant les données de manière hiérarchique dans de nœuds reliés entre eux par une relation parent-enfant. Le cours présente les arbres généraux et ensuite les arbres binaires, où chaque nœud possède 0 ou 2 enfants. Enfin, le cours termine en présentant des algorithmes de recherche et en particulier l'arbre binaire de recherche.
QCM Système d'information, Base de données, design pattern MERISE et UML MOA MOE gestion de projet QCM CMMI GED ITIL Intranet Extranet Internet pattern GRASP maintenance ERP système informatique SSO norme ISO CMMI
1. Autres Annales et QCM sur : http://quizmyself.blogspot.com/
2. Autres Annales et QCM sur : http://quizmyself.blogspot.com/
3. Autres Annales et QCM sur : http://quizmyself.blogspot.com/
4. Autres Annales et QCM sur : http://quizmyself.blogspot.com/
Ce deuxième cours concerne les tuples, séquences non modifiables d'éléments. On peut les étendre en tuples nommés en ajoutant un nom à chacune des entrées du tuple, appelées alors champs. Enfin, on peut aller plus loin et définir des objets en associant des fonctions à des données. Cette seconde partie introduit à la programmation orientée objet.
Apprendre les concepts de base de l'algorithmique et de la programmation.Etre capable de mettre en oeuvre ces concepts pour analyser des problèmes simples et écrire les programmes correspondants
This document defines and describes several types of databases. It discusses document-oriented databases, which store semi-structured data like documents; embedded databases, which consist of individual end-user data; graph databases, which use graph structures to represent information; hypertext databases, which organize large amounts of disparate information; operational databases, which store detailed organizational operations data; distributed databases, which store data across multiple interconnected computers; and flat-file databases, which are suited for small amounts of manually editable data.
This document provides an introduction and overview of databases and the basic operations used to manage data in a database using Microsoft Access 2007. It defines what a database is, how data is organized in tables with rows and columns, and when it is appropriate to use a database. It also outlines and provides examples of the basic CRUD (create, read, update, delete) operations used in structured query language (SQL) to manipulate data, including inserting, selecting, updating, and deleting records from database tables.
Adriana nació en Cuernavaca, México en 2000. Tuvo una infancia feliz jugando con sus amigos y primos. Estudió la primaria y secundaria en Playa del Carmen, donde actualmente cursa la preparatoria. Considera a su familia muy importante y cómo la han apoyado en todo. Uno de sus sueños es convertirse en azafata para poder viajar y conocer muchos lugares.
El documento describe las violaciones a los derechos humanos cometidas durante la violencia política en Perú en los últimos años, incluyendo la masacre de Lucanamarca en 1983 donde Sendero Luminoso mató a 69 personas, y la masacre de La Cantuta en 1992 donde fuerzas militares secuestraron y mataron a 9 estudiantes y un profesor. También analiza los problemas de Sendero Luminoso en su relación con las comunidades campesinas y la instrumentalización política del caso de Lucanamarca por el Estado peruano para falsear la historia del conflicto interno.
Este documento proporciona instrucciones sobre diferentes tipos de búsquedas en línea, incluyendo búsquedas de frases exactas, búsquedas con restricciones de palabras o frases, búsquedas por rangos, búsquedas de definiciones, búsquedas de diferentes tipos de archivos para el mismo tema, búsquedas en sitios específicos como sitios oficiales o gubernamentales, y explorar otros tipos de búsquedas.
Cette session présente un tour d’horizon des nouveautés apportées par System Center Configuration Manager vNext. Les principales nouveautés sont présentées au travers de démonstrations. Nous précisons comment cette version fait un pas en avant dans l'administration des périphériques mobiles en proposant une interface unique et complète pour gérer tous vos périphériques. Nous détaillerons, également, les leviers apportés par le support de Windows 10.
El documento describe el rol del Community Manager y su importancia para las empresas. Un Community Manager es un profesional que se encarga de establecer comunicación entre una empresa y su público a través de plataformas sociales. Sus funciones incluyen escuchar al público, promover la marca, y transmitir información de la empresa a los clientes. El Community Manager juega un papel importante en las relaciones públicas de una empresa y en entender las necesidades de los consumidores.
La exportación y bibliografía son temas importantes. La exportación es el envío de bienes de un país a otro para la venta o el intercambio. La bibliografía es una lista de las fuentes que se utilizaron en un trabajo de investigación o proyecto.
El documento habla sobre los valores y pasiones de Francy Amu Molina. Menciona que su familia y su fe en Dios son motores importantes en su vida. También disfruta viajar y mejorar su vivienda. Vive agradecida por poder dedicarse a lo que la apasiona.
Este documento proporciona instrucciones para varias funciones de formato en Microsoft Word, incluyendo insertar encabezados y pies de página, agregar notas al pie y finales, crear referencias cruzadas, marcadores, tablas de contenido, índices, bibliografías y citas. Explica los pasos para cada una de estas funciones con el fin de enseñar a los estudiantes cómo organizar y estructurar documentos en Word.
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Laurent Speyser
(Conférence dessinée)
Vous êtes certainement à l’origine, ou impliqué, dans un changement au sein de votre organisation. Et peut être que cela ne se passe pas aussi bien qu’attendu…
Depuis plusieurs années, je fais régulièrement le constat de l’échec de l’adoption de l’Agilité, et plus globalement de grands changements, dans les organisations. Je vais tenter de vous expliquer pourquoi ils suscitent peu d'adhésion, peu d’engagement, et ils ne tiennent pas dans le temps.
Heureusement, il existe un autre chemin. Pour l'emprunter il s'agira de cultiver l'invitation, l'intelligence collective , la mécanique des jeux, les rites de passages, .... afin que l'agilité prenne racine.
Vous repartirez de cette conférence en ayant pris du recul sur le changement tel qu‘il est généralement opéré aujourd’hui, et en ayant découvert (ou redécouvert) le seul guide valable à suivre, à mon sens, pour un changement authentique, durable, et respectueux des individus! Et en bonus, 2 ou 3 trucs pratiques!
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO Technology
En cette année 2024 qui s’annonce sous le signe de la complexité, avec :
- L’explosion de la Gen AI
-Un contexte socio-économique sous tensions
- De forts enjeux sur le Sustainable et la régulation IT
- Une archipélisation des lieux de travail post-Covid
Découvrez les Tech trends incontournables pour délivrer vos produits stratégiques.
L'IA connaît une croissance rapide et son intégration dans le domaine éducatif soulève de nombreuses questions. Aujourd'hui, nous explorerons comment les étudiants utilisent l'IA, les perceptions des enseignants à ce sujet, et les mesures possibles pour encadrer ces usages.
Constat Actuel
L'IA est de plus en plus présente dans notre quotidien, y compris dans l'éducation. Certaines universités, comme Science Po en janvier 2023, ont interdit l'utilisation de l'IA, tandis que d'autres, comme l'Université de Prague, la considèrent comme du plagiat. Cette diversité de positions souligne la nécessité urgente d'une réponse institutionnelle pour encadrer ces usages et prévenir les risques de triche et de plagiat.
Enquête Nationale
Pour mieux comprendre ces dynamiques, une enquête nationale intitulée "L'IA dans l'enseignement" a été réalisée. Les auteurs de cette enquête sont Le Sphynx (sondage) et Compilatio (fraude académique). Elle a été diffusée dans les universités de Lyon et d'Aix-Marseille entre le 21 juin et le 15 août 2023, touchant 1242 enseignants et 4443 étudiants. Les questionnaires, conçus pour étudier les usages de l'IA et les représentations de ces usages, abordaient des thèmes comme les craintes, les opportunités et l'acceptabilité.
Résultats de l'Enquête
Les résultats montrent que 55 % des étudiants utilisent l'IA de manière occasionnelle ou fréquente, contre 34 % des enseignants. Cependant, 88 % des enseignants pensent que leurs étudiants utilisent l'IA, ce qui pourrait indiquer une surestimation des usages. Les usages identifiés incluent la recherche d'informations et la rédaction de textes, bien que ces réponses ne puissent pas être cumulées dans les choix proposés.
Analyse Critique
Une analyse plus approfondie révèle que les enseignants peinent à percevoir les bénéfices de l'IA pour l'apprentissage, contrairement aux étudiants. La question de savoir si l'IA améliore les notes sans développer les compétences reste débattue. Est-ce un dopage académique ou une opportunité pour un apprentissage plus efficace ?
Acceptabilité et Éthique
L'enquête révèle que beaucoup d'étudiants jugent acceptable d'utiliser l'IA pour rédiger leurs devoirs, et même un quart des enseignants partagent cet avis. Cela pose des questions éthiques cruciales : copier-coller est-il tricher ? Utiliser l'IA sous supervision ou pour des traductions est-il acceptable ? La réponse n'est pas simple et nécessite un débat ouvert.
Propositions et Solutions
Pour encadrer ces usages, plusieurs solutions sont proposées. Plutôt que d'interdire l'IA, il est suggéré de fixer des règles pour une utilisation responsable. Des innovations pédagogiques peuvent également être explorées, comme la création de situations de concurrence professionnelle ou l'utilisation de détecteurs d'IA.
Conclusion
En conclusion, bien que l'étude présente des limites, elle souligne un besoin urgent de régulation. Une charte institutionnelle pourrait fournir un cadre pour une utilisation éthique.
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...OCTO Technology
Par Nicolas Bordier (Consultant numérique responsable @OCTO Technology) et Alaric Rougnon-Glasson (Sustainable Tech Consultant @OCTO Technology)
Sur un exemple très concret d’audit d’éco-conception de l’outil de bilan carbone C’Bilan développé par ICDC (Caisse des dépôts et consignations) nous allons expliquer en quoi l’ACV (analyse de cycle de vie) a été déterminante pour identifier les pistes d’actions pour réduire jusqu'à 82% de l’empreinte environnementale du service.
Vidéo Youtube : https://www.youtube.com/watch?v=7R8oL2P_DkU
Compte-rendu :
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...OCTO Technology
par Claude Camus (Coach agile d'organisation @OCTO Technology) et Gilles Masy (Organizational Coach @OCTO Technology)
Les équipes infrastructure, sécurité, production, ou cloud, doivent consacrer du temps à la modernisation de leurs outils (automatisation, cloud, etc) et de leurs pratiques (DevOps, SRE, etc). Dans le même temps, elles doivent répondre à une avalanche croissante de demandes, tout en maintenant un niveau de qualité de service optimal.
Habitué des environnements développeurs, les transformations agiles négligent les particularités des équipes OPS. Lors de ce comptoir, nous vous partagerons notre proposition de valeur de l'agilité@OPS, qui embarquera vos équipes OPS en Classe Business (Agility), et leur fera dire : "nous ne reviendrons pas en arrière".
2. 2
1. Introduction
• Les entreprises gèrent des volumes de données très grands
– Giga, Terra, Péta –octets
– Numériques, Textuelles, Multi-média (images, films,...)
• Il faut pouvoir facilement
– Archiver les données sur mémoires secondaires permanente
– Retrouver les données pertinentes à un traitement
– Mettre à jour les données variant dans le temps
• Les données sont structurées et identifiées
– Données élémentaires ex: Votre salaire, Votre note en BD
– Données composées ex: Votre CV, vos résultats de l'année
– Identifiant humain ex: NSS ou machine: P26215
• Qu'est-ce qu'une BD ?
– Collection de données structurées reliées par des relations
– Interrogeable et modifiable par des langages de haut niveau
3. 3
La hiérarchie des mémoires
Capacité Mémoire
vs terciaire
Coût & • Un accès disque est environ
Vitesse 100,000 fois plus lent qu’un
accès mémoire!
5-10 ms Mémoire
• ⇒
secondaire
– Eviter les accès disques
• grande mémoire principale
80-200 ns Mémoire principale – Amortir les accès disques
(RAM) • placement des données
– Minimiser le nombre d’accès disques
3-10 ns Cache (SRAM) • méthodes d’accès
2-5 ns Registres
4. 4
Un peu d'histoire
• Années 60:
– Récipients logique de données fichiers sur dique
– Accès séquentiel puis sur clé
• Lire (Nomf, Article), Ecrire (Nomf, Article)
• Lire (Nomf, Article, Clé), Ecrire (Nomf, article, Clé)
• Années 70:
– Avènement des Bases de Données Réseaux (BD)
– Ensemble de fichiers reliés par des pointeurs
– Langage d'interrogation par navigation
• Années 80:
– Avènement des Bases de Données Relationnelles (BDR)
– Relations entre ensemble de données
– Langage d'interrogation par assertion logique
6. Format des fichiers Caractéristiques
6
Plusieurs applications
plusieurs formats
Dupont Dupond
Symptomes : y
Turlututu : sqj
Turlututusqjsk
Symptom: yyyy
Analyses xxxx
plusieurs langages
Symptomes : y
Turlututu : sdd Turlututudhjsd
Analyses : xxx Analyses :xx
Problèmes
Difficultés de gestion
Duhpon Duipont
Turlututu : sq
Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx
Symptomes : yy Turlututudhjsd
7. Redondance (données) Caractéristiques 7
Plusieurs applications
plusieurs formats
Dupont Dupond
Symptomes : y
Turlututu : sqj
Turlututusqjsk
Symptom: yyyy
Analyses xxxx
plusieurs langages
Symptomes : y
Turlututu : sdd Turlututudhjsd
Analyses : xxx Analyses :xx
Redondance de données
Problèmes
Difficultés de gestion
Incohérence des données
Duhpon Duipont
Turlututu : sq
Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx
Symptomes : yy Turlututudhjsd
8. Interrogations Caractéristiques
8
Plusieurs applications
ComptaSoft plusieurs formats
Dupont Dupond
ChiruSoft
Symptomes : y
Turlututu : sqj
Turlututusqjsk
Symptom: yyyy
Analyses xxxx
plusieurs langages
Symptomes : y
Turlututu : sdd Turlututudhjsd
Analyses : xxx Analyses :xx
Redondance de données
Pas de facilité d’interrogation
Question ⇒développement
Problèmes
Difficultés de gestion
Incohérence des données
Coûts élevés
Maintenance difficile
PsychiaSoft
ConsultSoft
Duhpon Duipont
Turlututu : sq
Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx
Symptomes : yy Turlututudhjsd
9. Pannes ??? Caractéristiques
9
Plusieurs applications
ComptaSoft plusieurs formats
Dupont Dupond
ChiruSoft
Symptomes : y
Turlututu : sqj
Turlututusqjsk
Symptom: yyyy
Analyses xxxx
plusieurs langages
Symptomes : y
Turlututu : sdd Turlututudhjsd
Analyses : xxx Analyses :xx
Redondance de données
Pas de facilité d’interrogation
Question ⇒développement
Redondance de code
Problèmes
Difficultés de gestion
Incohérence des données
Coûts élevés
Maintenance difficile
PsychiaSoft
ConsultSoft
Duhpon Duipont
Turlututu : sq
Gestion de pannes ???
Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx
Symptomes : yy Turlututudhjsd
10. Partage de données Caractéristiques
10
Plusieurs applications
ComptaSoft plusieurs formats
Dupont Dupond
ChiruSoft
Symptomes : y
Turlututu : sqj
Turlututusqjsk
Symptom: yyyy
Analyses xxxx
plusieurs langages
Symptomes : y
Turlututu : sdd Turlututudhjsd
Analyses : xxx Analyses :xx
Redondance de données
Pas de facilité d’interrogation
Question ⇒développement
Redondance de code
Problèmes
Difficultés de gestion
Incohérence des données
Coûts élevés
Maintenance difficile
PsychiaSoft
ConsultSoft
Duhpon Duipont
Turlututu : sq
Gestion de pannes ???
Symptomes : yy
Analyses : xxxx
Symptomyyyy
Analysesxxxx Partage des données ???
Symptomes : yy Turlututudhjsd
11. Confidentialité Caractéristiques
11
Plusieurs applications
ComptaSoft plusieurs formats
Dupont Dupond
ChiruSoft
Symptomes : y
Turlututu : sqj
Turlututusqjsk
Symptom: yyyy
Analyses xxxx
plusieurs langages
Symptomes : y
Turlututu : sdd Turlututudhjsd
Analyses : xxx Analyses :xx
Redondance de données
Pas de facilité d’interrogation
Question ⇒développement
Redondance de code
Problèmes
Difficultés de gestion
Incohérence des données
Coûts élevés
Maintenance difficile
PsychiaSoft
ConsultSoft
Duhpon Duipont
Turlututu : sq
Gestion de pannes ???
Symptomes : yy
Analyses : xxxx
Symptomyyyy
Analysesxxxx Partage des données ???
Symptomes : yy Turlututudhjsd
Confidentialité ???
12. 12
L’approche ‘‘Bases de données’’
• Modélisation des données
Eliminer la redondance de données
Centraliser et organiser correctement les données
Plusieurs niveaux de modélisation
Outils de conception
• Logiciel «Système de Gestion de Bases de Données»
Factorisation des modules de contrôle des applications
- Interrogation, cohérence, partage, gestion de pannes, etc…
Administration facilitées des données
13. 13
Modélisation du réel
Réel
• Indépendant du
Modèle modèle de données
conceptuel • Indépendant du
SGBD Médecin effectue Visite
• Dépendant du
Modèle modèle de données
Codasyl Relationnel Objet XML
logique • Indépendant du
SGBD
Modèle • Dépendant du
modèle de données
• Organisation physique des données
• Structures de stockage des données
Physique • Dépendant du SGBD • Structures accélératrices (index)
14. 14
Modélisation Relationnelle (1)
Champs, attributs,
Relation ou table colonnes
Id-D Nom Prénom
1 Dupont Pierre
2 Durand Paul
3 Masse Jean
…. …….. ……
Tuples, lignes ou
n-uplets
15. 15
Modélisation Relationnelle (2)
Docteurs Prescriptions
Id-D Nom Prénom Id-V Ligne Id-M Posologie
1 Dupont Pierre
Visites 1 1 12 1 par jour
2 Durand Paul 1 2 5 10 gouttes
Id-D Id-P Id-V Date Prix
3 Masse Jean 2 1 8 2 par jour
1 2 1 15 juin 250
…. …….. …… 2 2 12 1 par jour
1 1 2 12 août 180
2 2 3 13 juillet 350 2 3 3 2 gouttes
2 3 4 1 mars 250 …. …. …. …………
Patients
Id-P Nom Prénom Ville Médicaments
1 Lebeau Jacques Paris Id-M Nom Description
2 Troger Zoe Evry 1 Aspegic 1000 ……………………………..
3 Doe John Paris 2 Fluisédal ……………………………..
4 Perry Paule Valenton 3 Mucomyst ……………………………..
…. ……. ……. ……. …. …….. ……………………………..
16. 2. Objectifs des SGBD 16
I- Indépendance
Physique
X - Standards II- Indépendance
Logique
IX - Gestion de la III – Langage de
confidentialité manipulation
VIII - Concurrence BD IV - Gestion des
d’accès vues
VII - Gestion des V - Optimisation des
pannes questions
VI - Gestion de la
cohérence
17. 17
I - Indépendance Physique
• Indépendance des programmes
d'applications vis à vis du modèle physique :
– Possibilité de modifier les structures de stockage
(fichiers, index, chemins d'accès, …) sans modifier
les programmes;
– Ecriture des applications par des non-spécialistes
des fichiers et des structures de stockage;
– Meilleure portabilité des applications et
indépendance vis à vis du matériel.
18. 18
II - Indépendance Logique
Les applications peuvent définir des vues logiques de la BD
Gestion des médicaments Cabinet du Dr. Masse
Nombre_Médicaments Prescription
Id - V Ligne Id - M Posologie
Id-M Nom Description Nombre Visites
1 1 12 1 par jour
Id - D Id - P Id - V Date Prix
1 2 5 10 gouttes
1 Aspegic 1000 …………………………….. 30 1 2 1 15 juin 250
…. …. …. …………
2 3 4 1 mars 250
2 Fluisédal …………………………….. 20
Patients
3 Mucomyst …………………………….. 230 Id - P Nom Prénom Médicament
1 Lebeau Jacques Id - M Nom Description
…. …….. …………………………….. ….. 2 Troger Zoe 1 Aspegic 1000 ……………………………..
…. ……. ……. 2 Fluisédal ……………………………..
3 Mucomyst ……………………………..
…. …….. ……………………………..
19. 19
Avantages de l’indépendance logique
• Possibilité pour chaque application d'ignorer les besoins des
autres (bien que partageant la même BD).
• Possibilité d'évolution de la base de données sans réécriture
des applications :
– ajout de champs, ajout de relation, renommage de champs.
• Possibilité d'intégrer des applications existantes sans
modifier les autres.
• Possibilité de limiter les conséquences du partage : Données
confidentielles.
20. 20
III - Manipulation aisée
• La manipulation se fait via un langage déclaratif
– La question déclare l’objectif sans décrire la méthode
– Le langage suit une norme commune à tous les SGBD
– SQL : Structured Query Langage
• Sémantique
– Logique du 1er ordre ++
• Syntaxe (aperçu !)
– SELECT <structure des résultats>
– FROM <relations>
– WHERE <conditions>
21. 21
IV – Des vues multiples des données
• Les vues permettent d’implémenter l’indépendance logique
en permettant de créer des relations virtuelles
• Vue = Question stockée
• Le SGBD stocke la définition et non le résultat
• Exemple :
– la vue des patients parisiens
– la vue des docteurs avec leurs patients
– La vue des services statistiques
– ...
22. 22
V –Exécution et Optimisation
• Traduction automatique des questions déclaratives en
programmes procéduraux :
Utilisation de l’algèbre relationnelle
• Optimisation automatique des questions
Utilisation de l’aspect déclaratif de SQL
Gestion centralisée des chemins d'accès (index, hachages, …)
Techniques d’optimisation poussées
• Economie de l'astuce des programmeurs
– milliers d'heures d'écriture et de maintenance de logiciels.
23. 23
VI - Intégrité Logique
• Objectif : Détecter les mises à jour erronées
• Contrôle sur les données élémentaires
– Contrôle de types: ex: Nom alphabétique
– Contrôle de valeurs: ex: Salaire mensuel entre 5 et 50kf
• Contrôle sur les relations entre les données
– Relations entre données élémentaires:
• Prix de vente > Prix d'achat
– Relations entre objets:
• Un électeur doit être inscrit sur une seule liste électorale
24. 24
Contraintes d’intégrité
• Avantages :
– simplification du code des applications
– sécurité renforcée par l'automatisation
– mise en commun des contraintes
• Nécessite :
– un langage de définition de contraintes d'intégrité
– la vérification automatique de ces contraintes
25. 25
VII - Intégrité Physique
• Motivations : Tolérance aux fautes
– Transaction Failure : Contraintes d'intégrité, Annulation
– System Failure : Panne de courant, Crash serveur ...
– Media Failure : Perte du disque
– Communication Failure : Défaillance du réseau
• Objectifs :
– Assurer l'atomicité des transactions
– Garantir la durabilité des effets des transactions commises
• Moyens :
– Journalisation : Mémorisation des états successifs des données
– Mécanismes de reprise
27. 27
Atomicité et Durabilité
ATOMICITE DURABILITE
Panne
Begin Begin
CEpargne = CEpargne - 3000 CEpargne = CEpargne - 3000
CCourant = CCourant + 3000 CCourant = CCourant + 3000
Commit T1 Commit T1
Crash disque
Annuler le débit !! S’assurer que le
virement a été fait !
28. 28
VIII - Partage des données
BD
• Accès concurrent aux mêmes données
Conflits d’accès !!
29. 29
Isolation et Cohérence
BD
• Le SGBD gère les accès concurrents
Chacun à l’impression d’être seul (Isolation)
Cohérence conservée (Pas de maj conflictuelles)
30. 30
IX – Confidentialité
• Objectif : Protéger les données de la BD contre des accès
non autorisés
• Deux niveaux :
– Connexion restreinte aux usagers répertoriés (mot de passe)
– Privilèges d'accès aux objets de la base
• Usagers : Usager ou groupe d’usagers
• Objets : Relation, Vue, autres objets (procédures, etc.)
31. 31
X - Standardisation
• L’approche bases de données est basée sur plusieurs
standards
– Langage SQL (SQL1, SQL2, SQL3)
– Communication SQL CLI (ODBC / JDBC)
– Transactions (X/Open DTP, OSI-TP)
• Force des standards
– Portabilité
– Interopérabilté
– Applications multisources…
32. 3. Architecture des
SGBD sont très liées au mode de
Les architectures physiques de SGBD
répartition.
— BD centralisée
— BD client/serveur
— BD client/multi-serveurs
— BD répartie
— BD hétérogène
— BD mobile
Le challenge se déplace des Péta-bases aux Pico-bases.
— Péta-bases => parallélisme et grandes mémoires
— Pico-bases => faible empreinte et forte sécurité
37. Architecture
mobile
Clients intelligents
mobiles
Données répliquées
et/ou personnelles Réseau sans fil
serveur
SGBD
code données
38. 38
4. Applications traditionnelles
des SGBD
• OLTP (On Line Transaction Processing)
– Cible des SGBD depuis leur existence
– Banques, réservation en ligne ...
– Très grand nombre de transactions en parallèle
– Transactions simples
• OLAP (On Line Analytical Processing)
– Entrepôts de données, DataCube, Data Mining …
– Faible nombre de transactions
– Transactions très complexes
39. 39
Evolution des BD
BD BD BD ‘light’ PicoDBMS
d’entreprise personnelles (PDA / Tél.) carte à puce
Capacité
Prix
Nombre