Académique Documents
Professionnel Documents
Culture Documents
Ilham SLIMANI
slimani.ilham@gmail.com
2
A votre avis
Plan
Introduction: Objectifs SI
Système d’Information
o Définition
o Rôle dans l’entreprise
o Fonctions SI: Communication & Aide à la décision
o Qualités SI
Système Informatique: SI Automatisé
Terminologie des SI
Evolution des SI
4
Introduction
Bien gérer une entreprise, c’est gérer son avenir et gérer
son avenir, c’est gérer son information
Introduction
Le SI peut être défini comme étant :
l’ensemble des flux d’information circulant dans
l’organisation
associé aux moyens mis en œuvre pour les gérer
o Infrastructure matérielle et logicielle
o Réseau, Serveurs, Postes individuels, …
o Progiciels, SGBD, Applications de gestion, Applications
métier…
Moyens humains
o Procédures internes, ISO 9001, …
6
C’est quoi une organisation?
L’organisation est à la base de l’action collective:
Et le SI?...
7
10
Rôle SI au sein d’une entreprise
Chaque système apporte des services à l’autre
11
12
Rôle SI au sein d’une entreprise
Exemple de flux d’information
13
Le système de pilotage
Le système de pilotage (appelé également système de
décision)
Exploite les informations qui circulent
Organise le fonctionnement du système
Décide des actions à conduire sur le système opérant
Raisonne en fonction des objectifs et des politiques de
l’entreprise
14
Le système opérant
Le système opérant :
Reçoit les informations émises par le système de pilotage
Se charge de réaliser les tâches qui lui sont confiées
Génère à son tour des informations en direction du
système de pilotage (Qui peut ainsi contrôler les écarts
et agir en conséquence)
Il englobe toutes les fonctions liées à l’activité propre de
l’entreprise (Facturer les clients, régler les salaires, gérer
les stocks, … )
15
Le système d’information
Pour organiser son fonctionnement, le système a
besoin de mémoriser des informations
Pour comparer, prévoir, …
Ce rôle est joué par le Système d’Information
Ce système a aussi la charge de :
Diffuser l’information
Réaliser tous les traitements nécessaires au
fonctionnement du système
16
Définition d’un SI
Comment peut-on :
Collecter les informations?
Stocker les informations?
Traiter les informations?
Diffuser les informations?
Gérer l’information
17
Définition d’un SI
Système d’information = Système + Information
18
Fonctions d’un SI
Un ensemble organisé de ressources (personnel,
données, procédures, matériel, logiciel, …)
permettant d'acquérir, de stocker, de structurer
ou traiter et de communiquer des informations
sous forme de textes, images, sons, ou de données
codées dans des organisations.
19
Fonctions d’un SI
20
Fonctions d’un SI
Le SI représente l'ensemble des ressources (humaines,
matérielles, logicielles) organisées pour :
21
23
25
26
Le SI: Outil de communication
L’interaction entre le système et son environnement
est possible grâce à des flux d’informations
environnement externe: Fournisseurs, clients,
concurrence, autres SI…
Ces flux circulent aussi à l’intérieur du système, ce qui
lui permet d’analyser son propre fonctionnement
27
28
Le SI: Outil d’aide à la décision
A partir des données mémorisées :
Identifier des alertes de gestion
Tableau de bord comportant des alertes
Suivre l’évolution de l’activité
Investigation de sujets ou phénomènes particuliers
Préparer les statistiques dont les managers ont besoin
Tableaux préformatés contenant l’essentiel de la
statistique d’activité et d’environnement
Fonctionnalités de « Reporting »
29
31
Qualités d’un SI
Fiabilité des informations
Informations sûres et fiables
Le SI doit fournir des informations à jour
Ex : Pour commander un article il faut connaître l’état du
stock. Le stock doit donc être mis à jour automatiquement.
Pour ce faire
Humain : Promptitude des saisies (rapidité + vigilance)
Machine : Disponible quand on en a besoin
Les indispensables opérations de maintenance en dehors
des heures de travail
32
Qualités d’un SI
Intégrité des informations
Le système maintient les informations dans un état
cohérent
Le SI doit savoir réagir à des situations qui risquent de
rendre les informations incohérentes
o Ex : Si communication interrompue entre 2 ordinateurs qui
doivent synchroniser leurs données
Le système doit être capable de reconstituer une situation
correcte (et ce pour les 2 ordinateurs)
33
Qualités d’un SI
Pertinence de l’information
Filtrer l’information en fonction de l’utilisateur
Ex: Le directeur commercial n’a pas besoin de connaître
le détail de chaque commande, mais simplement le
montant des commandes en cours
Sécurité de l’information
Sauvegarde: Système critique => machine à tolérance de
panne élevée
Malveillance, attaques extérieures: Routeurs filtrants,
anti-virus, pare-feu, détecteurs d’intrusions
34
Qualités d’un SI
Confidentialité de l’information
Aspect crucial, espionnage industriel, …
Moyens matériels
Lecteurs de cartes, de badges
Lecteurs d’empreintes
Moyens logiciels
Identification
Permissions sur des fichiers ou des BDD
Cryptage des canaux de transmission
35
36
C’est quoi un système informatique?
37
Terminologie des SI
Externalisation (outsourcing)
Permet à l’entreprise de se recentrer sur son activité
métier (core business)
Confier une fonction du SI à un partenaire externe ou un
prestataire (SSII, …) de manière non ponctuelle
(infogérance)
o Externaliser le marketing ?
o Sauvegardes, réseau, BDD, poste de travail, …
Totale, Forte, Partielle
38
Terminologie des SI
Internalisation (insourcing)
Permet d’avoir un SI qui corresponde à la culture de
l’entreprise
Savoir faire et évolutivité de l’équipe interne
Ré-internalisation (backsourcing)
Rupture ou fin du contrat
Insatisfaction en termes financiers ou de qualité du
service
39
Terminologie des SI
Urbanisation
Discipline calquant une série de concepts issu de
l’urbanisation de l’habitat (réorganisation des villes, du
territoire) réutilisés en informatique pour formaliser et
modéliser les SI
Virtualisation
Faire fonctionner plusieurs OS (simultanément) sur un
seul ordinateur
Avantage: Réduire les coûts d’infrastructure, économie
d’energie,
Chaque OS fait comme s’il était seul
o VPS : Virtual Private Server
o VE : Virtual Environment 40
Terminologie des SI
Groupware : Logiciels de travail en groupe
IBM Lotus Notes, Microsoft SharePoint, Horde Project,
Oracle Beehive, O3Spaces, Box.net, obm.org, www.blue-
mind.net
Boîtes e-mail communes
Calendriers communs
Partage d’annuaires de contacts
Internet : réseau des réseaux
Interconnexion mondiale des réseaux informatiques
41
Terminologie des SI
Intranet : réseau informatique utilisé à l’intérieur
d’une entreprise utilisant les techniques de
communication d’Internet
Ne s’ouvre pas aux connexions publiques
VPN (Virtual Private Network)
Limité aux postes présents dans les locaux de l’entreprise
42
Terminologie des SI
Extranet
Accès via Internet (en mode sécurisé) à des services internes à
l’entreprise (intranet)
Extension du SI de l’entreprise à des partenaires situés en dehors de
l’entreprise
Commerciaux, Cadres, Clients, Fournisseurs…
43
Terminologie des SI
44
Terminologie des SI
45
Terminologie des SI
Front office ou « boutique » (Front line)
Relation directe avec le client
Partie frontale de l'entreprise, visible par la clientèle et
en contact direct avec elle
Équipes de marketing, support utilisateur, SAV, …
Back office ou « arrière-boutique »
Gestion propre de l’entreprise
Tous les processus internes à l'entreprise
Auxquelles le client n'a pas accès
Production, logistique, stocks, comptabilité, GRH, …
46
Terminologie des SI
Back-end (site web)
Pages réservées à l’administration du site
Accès réservé à l’administrateur
Configuration, gestion des pages, …
Front-end (site web)
Pages accessibles par les visiteurs, les utilisateurs, les
clients du site (identifiés ou non)
47
Evolution des SI
L’époque des mainframes
Systèmes centralisés (mainframe)
Applications indépendantes, données redondantes
Utilisateurs hors système d’information
Applications
progiciels de gestion : paie, comptabilité, facturation,
commandes
48
Evolution des SI
L’époque du client-serveur et des BD
Systèmes hétérogènes
Applications reliées, données dans SGBD
Utilisateurs sur des stations dédiées
saisie / consultation
Architecture
serveur de données, client-serveur, réseaux
Applications
bureautique, aide à la décision, etc.
49
Evolution des SI
Le passage à 3 niveaux
Découpage logique
plusieurs niveaux peuvent être sur la même machine
Conséquences
évolutivité/maintenabilité (couches indépendantes)
réutilisation de composants applicatifs
développement affranchi de la localisation physique des
composants
interfaçage aisé avec les SGBD existants
montée en charge facile
50
Evolution des SI
L’époque du tout-distribué
Architecture
multiples clients et serveurs
modules indépendants inter opérants
composants, objets communicants
Applications
soutien / structuration de tous les processus des organisations
51
Evolution des SI
Le Web comme plateforme d’intégration
Serveurs web
serveurs de pages web
serveurs de services (web services)
Navigateur
interface universelle
Avantages
développement, déploiement très rapides,
administration/maintenance faciles
ouverture facile du SI vers l’extérieur :
XML
XHTML
…
52
Evolution des SI
Mobilité
Applications
Smartphones, Tablets
Connectivité 4G, Wifi, Bluetooth
Un ordinateur dans la poche
Les moyens évoluent et les habitudes changent
Agenda synchronisé, vidéothèque, photos, …
Impacts sur le SI
Collecte/Diffusion, Sécurité, Confidentialité…
53
Evolution des SI
Cloud computing
« Informatique dématérialisée »
« Informatique dans le nuage »
o Depuis début années 2000
Terme en vogue, très « à la mode »
o Google Apps, Microsoft (Azure, Office Web Apps), IBM (Blue
Clouds, LotusLive), Amazon (AWS), JoliCloud…
o Multiplication des dispositifs personnels
IaaS : Infrastructrure as a Service
Paas : Platform as a Service
SaaS : Software as a service
54
Evolution des SI
Cloud Computing
55
Evolution des SI
56
Cloud computing: Avantages
Informatique dématérialisée
Informatique « à la demande »
Tarification à l’usage (paie que ce qu’on consomme)
Ajuster les coûts en fonction de l’activité
Pas d’installation nécessaire
Un navigateur web suffit
Accéder à ses données depuis n’importe quel ordi
Données préservées en cas de vol ou de virus
Applications accessibles en mobilité
Fonctionnalités collaboratives
57
58
Différence SI et SGBD
le système d'information: c’est les données, les
traitements, la sécurité, le réseau et tout le métier qui
va avec… Cela comprend le hardware + le software.
59
Pr. Ilham SLIMANI
Slimani.ilham@gmail.com
Plan
Qu’est-ce qu’une méthode?
Qu’est-ce que MERISE?
Présentation des principes de base de la méthode MERISE
l ’approche systémique
l ’approche par niveaux
l ’approche données/traitements
les modèles
Conclusion
les concepts de MERISE
les niveaux & les modèles
Les méthodes
La méthode
« l’intelligence rusée par laquelle se construit le chemin ».
« Chercher une méthode , c’est chercher un système
d’opérations extériorisables qui fait mieux que le travail
de l’esprit »
Une méthode :
aide à la mise en place d’un langage commun au sein de
l’organisation,
pour garantir une meilleure communication entre tous
les partenaires,
Types de méthodes
Les méthodes de conduite de projets
Les méthodes de spécification
Les méthodes de conception
Les méthodes de réalisation
Les méthodes de gestion de projets
Les méthodes d’assurance et de gestion de la qualité
Les méthodes de gestion et d’évaluation des coûts et
des risques
MERISE
MERISE
Méthode=Démarche+Formalisme
Démarche: succession d’étapes pour
Mieux maîtriser le déroulement d’un projet pour respecter les
délais et budgets
Meilleure visibilité pour les utilisateurs sur certains résultats
intermédiaires
et garantir que le résultat final sera celui attendu
Formalisme défini par:
Un langage formel
Un langage semi-formel généralement graphique
Un langage naturel
Pour représenter le monde réel tel qu’il est perçu par le concepteur
Est un outil de communication entre informaticiens et utilisateurs
Est constitué par un ensemble de modèles permettant d’assurer
une bonne compréhension des besoins des utilisateurs
Analyse et Conception des SI
Analyse: Etude du problème
Etudier le système existant
Comprendre les besoins: diagnostiquer
En déduire le niveau conceptuel: donner une vision
fonctionnelle du système
APPROCHE DONNEES-TRAITEMENTS
LES MODELES
Approche analytique =
Réduit le système étudié à des éléments constitutifs
simples pour les étudier isolément et analyser leur
interaction avec le système
Approprié à l’étude des systèmes homogènes
comportant des éléments semblables ayant entre eux des
interactions faibles
Approche Systémique
Approche systémique =
« L’approche systémique doit permettre de dégager, à
partir des invariants, des propriétés et du comportement
des systèmes complexes, quelques règles générales
destinées à mieux comprendre ces systèmes et à agir sur
eux »
Approche globalisante
Approche descendante qui met l’accent sur les
interconnections entre les sous-systèmes
Qui va du général au particulier
Approche Systémique
L’approche systémique comporte trois étapes:
l’analyse des systèmes
la modélisation
la simulation
Vue systémique de l’organisation et de son S.I.:
Décomposition du S.I. à concevoir en sous-systèmes
Structuration (Identification de sous-ensembles
invariants vis-à-vis des solutions possibles) tout en
conservant une vue d’ensemble indispensable à
l’homogénéité du S.I. à concevoir
OBJECTIFS:
Séparer les types de préoccupations
Procéder de manière progressive:
du plus stable .....vers le plus technique
Indépendamment
des aspects organisationnels
des aspects techniques de mise en œuvre
du point de vue:
des traitements: objectif, résultat, règle de gestion,
enchaînement
des données: signification, structure, liens
Exemples:
Faire de la pré-facturation ou de la post-facturation
Admettre qu’une commande client pourra être livrée en
plusieurs fois, chaque livraison donnant lieu à une facture.
Les invariants du point de vue des données: Contrats,
Clients, ...
Les invariants du point de vue des traitements: Signer un
contrat, Emettre une facture, ...
le niveau Organisationnel
Exemples:
La facturation sera décentralisée dans les agences.
Réaliser telle partie d’une application en conversationnel,
laisser toute autre partie manuelle.
Créer tel type de poste de travail.
Exemples d’ éléments organisationnels:
un document (rapport d’activité, tableau de bord,...)
la sécurité (site de « backup » pour le stockage des données)
la date (peut être un élément conceptuel dans certaines
organisations)
Approche par niveaux
Technique
Le fichier central inter assurances est accessible par
internet. Les agences sont connectées au siège de la
compagnie par liaison ADSL. Chaque agence dispose
de micro-ordinateurs Pentium 32 Mo et peut traiter ses
données en local grâce au SGBD Access
Approche Données-Traitements
Pour étudier et développer l’informatique d’une
organisation, il est nécessaire de connaître:
ses échanges internes et avec l’extérieur
comment elle réagit à une sollicitation externe
quelle est la structure des informations qu’elle utilise
MERISE décrit cette connaissance sous la forme de 3
découpages:
Communication
Traitement
Données
Approche Données-Traitements
TRAITEMENTS:
Etude des évènements
Indépendances entre les domaines
DONNEES
Etude du vocabulaire de l’organisation
Intégration des domaines: Vue globale
Stabilité
Les 2 aspects sont complémentaires, synchronisés,
validés entre eux
Modélisation
Un modèle:
est une représentation abstraite de la réalité qui exclut
certains détails du monde réel;
a pour objet de réduire la complexité d’un phénomène
en éliminant les détails qui n’influencent pas son
comportement significatif;
reflète ce que son créateur croit important pour la
compréhension et la prédiction du phénomène
modélisé, les limites du phénomène modélisé
dépendent des objectifs du modèle.
Modéliser = Représenter
Modélisation
Dans MERISE:
Modélisation
MODELE = SCHEMA + DESCRIPTIF
SCHEMA NORMALISE
Synthèse
Communication
DESCRIPTION TEXTUELLE
Définitions
Commentaires
Quantifications
Contraintes
Modélisation
Un modèle doit posséder au moins trois qualité:
La fidélité: la représentation doit être effectuée sans
déformation de la réalité
La cohérence: la représentation ne doit comporter de
contradiction explicite ou implicite
La complétude: la représentation doit décrire tous les
phénomènes pertinents par rapport aux objectifs du
modélisateur, ce qui n’est pas synonyme d’exhaustivité
systématique
Etude préalable
Approfondissement (spécification) des projets
domaine par domaine
Vérifie le schéma directeur et le modifie le cas échéant
Etude détaillée
Détailler les spécifications établies domaine par
domaine lors de l’étape 2:
Conception fonctionnelle (bilan de l’existant,
définition du système cible, scénario d’organisation,
rédaction du dossier de choix, cahier des charges
fonctionnel)
Conception technique: reprendre la conception
fonctionnelle pour produire le cahier des charges de
réalisation (algorithme, structures de données réelles,…)
La réalisation
But: obtenir un logiciel qui correspond aux
spécifications détaillées et consiste :
Mettre en place les équipes de programmation et les
encadrer
Coder (programmation)
Tester et mettre au point
Intégrer
La mise en œuvre
Créer et initialiser les BD nécessaires
Réceptionner éventuellement et installer les nouveaux
matériels informatiques
Rédiger les manuels utilisateurs
Former les utilisateurs
Lancer les nouvelles applications en parallèle avec les
anciennes
Lancer définitivement les nouvelles applications
La maintenance
Adapter le logiciel aux évolutions et corriger les
éventuelles erreurs : = Faire évoluer le système
informatique (correction de bug, mise en place de
nouvelles fonctionnalités, changement de matériel,…)
Quelques définitions
Système: est un ensemble d’éléments communiquent entre eux
selon certains principes et règles;(système digestif, système
nerveux, système économique).
Quelques définitions
Modèle: est une représentation abstraite d’un phénomène
en utilisant un formalisme spéciale.
Plan
Objectifs
C’est quoi un MCD?
Entité
Propriété
Association
Objectifs
Permet de décrire un ensemble de données relatives à
un domaine défini afin de les intégrer ensuite dans une
Base de Données
Etre capable d’appréhender la méthodologie de
passage d’un énoncé en langage naturel à un modèle
conceptuel
Exprime le QUOI sur les données
Entité
Représentée par un rectangle. Ce rectangle est séparé
en deux champs:
le champ du haut contient le libellé.
le champ du bas contient la liste des propriétés de
l’entité.
Entité
Identifiant:
Une ou plusieurs propriétés
Désigner une et une seule entité
Propriété
Identifiant: une propriété qui permettra d'identifier de
manière unique chaque occurrence.
Cela peut être une référence interne, un code, ou plus
généralement un nombre entier.
Entité
Occurrences de l’entité
Ensemble d’éléments de même nature
Elément particulier de l’entité
Représentée par l’ensemble des valeurs des propriétés
constituant cette entité
Entité
Généralement, une entité est crée dans le Système
d'Information si elle possède au moins 2 occurrences.
Chaque élément d'une entité est appelé
une occurrence de l'entité.
Propriété (attribut)
Caractéristique associée à une entité type
Ex : L’âge d’une personne, la puissance d’une voiture, le
numéro d’un produit...
Propriété
Une propriété se décrit par tout ou partie des éléments
suivants:
Définition: ce qu’elle représente et son intérêt dans le
contexte
Nature (Domaine de valeur): quantité, nombre, date,
heure,...
Longueur: nombre de caractères dans la format
Caractéristiques complémentaires:
obligatoire ou facultative
naturelle, calculée
simple, répétitive
élémentaire, décomposable
normée: en interne ou par des organismes officiels (N°INSEE,...)
Propriété
Chaque propriété doit avoir une seule valeur possible
pour chaque occurrence, sinon il s'agit d'une entité.
Elle doit de plus être élémentaire et non-
décomposable. Par exemple, l'adresse n'est pas une
propriété élémentaire : elle comporte une rue, un Code
Postal et une ville qui elles, sont 3 propriétés
élémentaires.
Propriété
Notion de dépendance fonctionnelle directe
Association
lien entre entités
Association
Classe de relation binaire relie deux classes d'entité
Association
une classe de relation ternaire relie trois classes
d'entité
Association (cardinalité)
caractérise le lien qui existe entre une entité et la
relation à
composé d'un couple comportant une borne maximale
et une borne minimale
Association (cardinalités)
Un cours est enseigné par au moins un enseignant (1,…) ou par plusieurs (…,n)
Plan
Dépendance fonctionnelle
Normalisation
1ère Forme Normale (1FN)
2ème Forme Normale (2FN)
3ème Forme Normale (3FN)
Propriété
Notion de dépendance fonctionnelle directe
Propriété
Une dépendance fonctionnelle x y est
directe s’il n’existe pas de propriété z telle que
: x z et z y.
Normalisation
Elle met en évidence les relations "indésirables »
Redondances
Valeurs NULL
Elle définit les critères des relations "désirables"
appelées formes normales
Plan
MLD
Objectifs
Définitions
MCD to MLD
Modèle Logique de Données
Une étape intermédiaire pour passer du modèle E/A, qui est un
modèle sémantique, vers une représentation physique des
données : fichiers, SGBD hiérarchique, SGBD réseau, SGBD
relationnel.
MLD
est toujours basé sur un MCD donné, contient donc
toutes les informations de ce MCD, mais les représente
à l'aide d'un formalisme différent qui est très adapté
aux structures d'une base de données.
MLD
MCD
Objectifs
Apprendre les définitions essentielles des objets
manipulés par le modèle relationnel : domaine,
relation, schéma d’une relation, attribut et tuple,
contrainte d’intégrités, clés primaire et étrangère,
schéma relationnel.
Etre capable d’appliquer la procédure de passage du
MCD au MLD
Clé étrangère:
représente un champ (ou des champs) qui pointe vers la
clé primaire d’une autre table
L’objectif de la clé étrangère est d’assurer l’intégrité
référentielle des données.
Définitions
L'intégrité référentielle ou contrainte de clé étrangère
(CONSTRAINT FOREIGN KEY) permet de contrôler la
validité, la cohérence et la consistance des données dans
une base. Ce mécanisme assure donc une meilleure qualité
des données.
Exemple :
Client (nocli, nomcli, adrcli)
Commande(nucom, datcom, adrliv, nocli)
nous avons deux tables, l’une appelée CLIENT qui inclut
toutes les données du client, et l’autre COMMANDE qui
comprend ses commandes. La contrainte ici est que toutes
les commandes doivent être associées à un client qui se
trouve déjà référencé dans la table CLIENT.
RÈGLES DE TRANSFORMATION DU MCD AU MLD
Transformation des entités:
Toute entité est transformée en table. Les
propriétés de l'entité deviennent les attributs de la
table. L'identifiant de l'entité devient la clé
primaire de la table.
OU
La relation habiter du type (x,n)-(x,1), est traduite par la migration de l'attribut Adresse
dans la table Personne. La relation posséder du type (x,n)-(x,n) est traduite par la création
d'une table supplémentaire du même nom. Cette table contient comme clé primaire
composée, les clés des deux tables reliées Personne et Maison. On a donc simplement
appliqué 2 fois de façon indépendante les règles de transfert MCD à MLD.
RÈGLES DE TRANSFORMATION DU MCD AU MLD
La relation habiter du type (x,n)-(x,1), est traduite par la migration de l'attribut Adresse
dans la table Personne. La relation posséder du type (x,n)-(x,n) est traduite par la création
d'une table supplémentaire du même nom. Cette table contient comme clé primaire
composée, les clés des deux tables reliées Personne et Maison. On a donc simplement
appliqué 2 fois de façon indépendante les règles de transfert MCD à MLD.
Plan
Définition de SQL
Objets manipulés par SQL
Types de données
Définition de SQL
Définition de SQL
C'est à la fois :
Identificateurs
Tables
Colonnes
Identificateur
SQL utilise des identificateurs pour désigner les objets qu'il
manipule : utilisateurs, tables, colonnes, index, fonctions, etc.
Pour Oracle:
Un identificateur est un mot formé d'au plus 30 caractères,
commençant obligatoirement par une lettre de l'alphabet. Les
caractères suivants peuvent être une lettre, un chiffre, ou l'un des
symboles # $ et _. SQL ne fait pas la différence entre les lettres
minuscules et majuscules. Les voyelles accentuées ne sont pas
acceptées.
Un identificateur ne doit pas figurer dans la liste des mot clés
réservés comme : ASSERT, ASSIGN, AUDIT, COMMENT, DATE,
DECIMAL, DEFINITION, FILE, FORMAT, INDEX, LIST, MODE,
OPTION, PARTITION, PRIVILEGES, PUBLIC, REF, REFERENCES,
SELECT, SEQUENCE, SESSION, SET, TABLE, TYPE.
Tables
Les relations ou les entités d’un schéma relationnel
sont stockées sous forme de tables composées de
lignes et de colonnes.
Colonnes
Les données contenues dans une colonne doivent être
toutes d'un même type de données. Ce type est indiqué au
moment de la création de la table qui contient la colonne
Index
Accélérer l’accès aux données d’une table. Le but principal
d’un index est d’éviter de parcourir une table
séquentiellement du premier enregistrement jusqu’à celui
visé
Le principe d’un index est l’association de l’adresse de chaque
enregistrement (ROWID) avec la valeur des colonnes
indexées.
Un index est associé à une table et peut être défini sur une ou
plusieurs colonnes (dites « indexées »).
Un index peut être déclaré unique si on sait que les valeurs
des colonnes indexées seront toujours uniques
Types de données
Types numériques
Types chaîne de caractères
Types temporels
Types binaires
Valeur NULL
Types numériques
Nombres entiers :
SMALLINT (sur 2 octets, de -32.768 à 32.767),
INTEGER (sur 4 octets, de -2.147.483.648 à
2.147.483.647).
Numériques non exacts à virgule flottante :
REAL a sept chiffres de précision
DOUBLE PRECISION correspond aux flottants en
double précision
ou FLOAT : correspond aux flottants en simple précision
Types numériques
Nombres décimaux avec un nombre fixe de décimales:
NUMERIC : représente une valeur décimale à précision
fixe qui conserve des valeurs de précision identique.
DECIMAL : représente une valeur décimale à précision
fixe qui conserve au minimum des valeurs de la
précision spécifiée. DECIMAL(p, d ) correspond à des
nombres décimaux qui ont p chiffres significatifs et d
chiffres après la virgule ; NUMERIC a la même syntaxe.
Types binaires
Syntaxe
Conventions
il est préférable d’utiliser les conventions suivantes :
tous les mots-clés de SQL sont notés en MAJUSCULES ;
les noms de tables sont notés en Minuscules (excepté la
première lettre) ;
les noms de colonnes et de contraintes en minuscules.
Commentaire
CREATE TABLE CREATE TABLE
MêmesévénementsàNoël -- nom de la table
(colonne CHAR); TEST(
-- description
CREATE TABLE Test COLONNE NUMBER(38,8)
(colonne NUMBER(38,8)); )
-- fin, ne pas oublier le point-
CREATE table test (Colonne virgule.
NUMBER(38,8)); ;
CREATE TABLE Test (
/* une plus grande description
des colonnes */
COLONNE NUMBER(38,8));
Exemple
Contraintes
Les contraintes ont pour but de programmer des règles
de gestion au niveau des colonnes des tables.
Elles peuvent alléger le développement
si on déclare qu’une note doit être comprise entre 0 et
20, les programmes de saisie n’ont plus à tester les
valeurs en entrée mais seulement le code retour après
connexion à la base ; on déporte les contraintes côté
serveur)
Contraintes
Les contraintes peuvent être déclarées de deux
manières :
En même temps que la colonne (valable pour les
contraintes monocolonnes), ces contraintes sont dites
« en ligne » (inline constraints). L’exemple précédent
en déclare deux.
Une fois la colonne déclarée, ces contraintes ne sont
pas limitées à une colonne et peuvent être
personnalisées par un nom (out-of-line constraints).
Contraintes
Quatre types de contraintes sont possibles :
CONSTRAINT nomContrainte
UNIQUE (colonne1 [,colonne2]…)
PRIMARY KEY (colonne1 [,colonne2]…)
FOREIGN KEY (colonne1 [,colonne2]…) REFERENCES
[schéma.]nomTablePere (colonne1 [,colonne2]…) [ON
DELETE { CASCADE | SET NULL }]
CHECK (condition)
UNIQUE
La contrainte UNIQUE impose une valeur distincte au
niveau de la table.
Exemple: Deux artistes ne peuvent avoir les mêmes nom et prénom.
CREATE TABLE Cinema CREATE TABLE Artiste CREATE TABLE Artiste
(nom VARCHAR (30) (id INTEGER, (id INTEGER,
NOT NULL, nom VARCHAR (30), nom VARCHAR (30),
adresse VARCHAR(50) prenom VARCHAR (30) prenom VARCHAR (30)
UNIQUE,
PRIMARY KEY (nom) NOT NULL, NOT NULL,
) anneeNaiss INTEGER, anneeNaiss INTEGER,
UNIQUE (nom, CONSTRAINT arti_un
prenom)) UNIQUE (nom,
prenom))
PRIMARY KEY
La contrainte PRIMARY KEY déclare la clé primaire de
la table. Sur la ou les colonnes concernées. Les
colonnes clés primaires ne peuvent être ni nulles ni
identiques
Exemple: (trois façons de création d’une contrainte)
CREATE TABLE clients CREATE TABLE clients CREATE TABLE clients
( Ncli char(15), ( Ncli char(15) PRIMARY ( Ncli char(15),
Nom char(30) NOT NULL, KEY, Nom char(30) NOT NULL,
Prenom char(30) NOT Nom char(30) NOT NULL, Prenom char(30) NOT
NULL, Prenom char(30) NOT NULL,
Age integer, NULL, Age integer,
PRIMARY KEY (Ncli) Age integer, CONSTRAINT cli_pk
) ) PRIMARY KEY(ncli)
)
FOREIGN KEY
La contrainte FOREIGN KEY déclare une clé étrangère
entre une table enfant (child) et une table père
(parent).
Exemple:
CREATE TABLE compte CREATE TABLE compte CREATE TABLE compte
( ncp char(15) , ( ncp char(15) NOT ( ncp char(15) NOT
ncli char(15) NOT NULL, NULL, NULL,
datc DATE, ncli char(15) ncli char(15) ,
PRIMARY KEY (ncp) REFERENCES datc DATE,
FOREIGN KEY (ncli) clients(ncli), PRIMARY KEY (ncp),
REFERENCES datc DATE, CONSTRAINT
clients(ncli) PRIMARY KEY (ncp) compte_fk FOREIGN
) ) KEY(ncli) REFERENCES
clients(ncli))
FOREIGN KEY
ON DELETE est suivi d'arguments entre accolades permettant de
spécifier l'action à réaliser en cas d'effacement d'une ligne de la
table faisant partie de la clé étrangère :
CASCADE indique la suppression en cascade des lignes de la table
étrangère dont les clés étrangères correspondent aux clés primaires
des lignes effacées
RESTRICT indique une erreur en cas d'effacement d'une valeur
correspondant à la clé
SET NULL place la valeur NULL dans la ligne de la table étrangère
en cas d'effacement d'une valeur correspondant à la clé
SET DEFAULT place la valeur par défaut (qui suit ce paramètre)
dans la ligne de la table étrangère en cas d'effacement d'une valeur
correspondant à la clé
FOREIGN KEY
ON UPDATE est suivi d'arguments entre accolades permettant
de spécifier l'action à réaliser en cas de modification d'une ligne
de la table faisant partie de la clé étrangère :
CASCADE indique la modification en cascade des lignes de la table
étrangère dont les clés primaires correspondent aux clés étrangères
des lignes modifiées
RESTRICT indique une erreur en cas de modification d'une valeur
correspondant à la clé
SET NULL place la valeur NULL dans la ligne de la table étrangère
en cas de modification d'une valeur correspondant à la clé
SET DEFAULT place la valeur par défaut (qui suit ce paramètre)
dans la ligne de la table étrangère en cas de modification d'une
valeur correspondant à la clé
FOREIGN KEY
Exemple:
CREATE TABLE compte
( ncp char(15) NOT NULL,
ncli char(15) ,
datc DATE,
PRIMARY KEY (ncp),
CONSTRAINT compte_fk FOREIGN KEY(ncli)
REFERENCES clients(ncli) ON UPDATE CASCADE
ON DELETE RESTRICT ) )
CHECK
La contrainte CHECK impose un domaine de valeurs
ou une condition simple ou complexe entre colonnes
(exemple : CHECK (note BETWEEN 0 AND 20),
CHECK (grade='Copilote' OR grade='Commandant')).
Exemple:
CREATE TABLE clients(
Nom char(30) NOT NULL,
Prenom char(30) NOT NULL,
Age integer,
check (age < 100),
Email char(50) NOT NULL,
check (Email LIKE "%@%") )
Évolution d’un schéma
Il est possible de modifier une base de données d’un
point de vue structurel (colonnes et index) mais aussi
comportemental (contraintes).
L’instruction principalement utilisée est ALTER
TABLE (commande du LDD) qui permet
d’ajouter, de renommer, de modifier et de supprimer des
colonnes d’une table.
Elle permet d’ajouter, de supprimer, d’activer, de
désactiver et de différer des contraintes.
Syntaxe :
RENAME ancienNom TO nouveauNom;
ALTER TABLE ancienNom RENAME TO nouveauNom;
Exemple:
RENAME Pilote TO Naviguant;
ALTER TABLE Pilote RENAME TO Naviguant;
Modifications structurelles
Ajout de colonnes
WHERE filtre les lignes à mettre à jour dans la table. Si aucune condition n’est précisée,
tous les enregistrements seront mis à jour. Si la condition ne filtre aucune ligne, aucune
mise à jour ne sera réalisée.
Modification de colonne
Modification d’une colonne
Modifions la compagnie de code 'AN1' en affectant la
valeur 50 à la colonne nrue.
UPDATE Compagnie SET nrue = 50 WHERE comp = 'AN1';
Suppressions d’enregistrements
Plan
Définition et Objectif
Opérateurs algébriques
Opérateurs principales
Sélection
Projection
Jointure
Opérateurs ensemblistes
Union
Intersection
Différence
Définition et objectif
L’algèbre relationnelle est un outil mathématique
permettant de réaliser des calculs (appelés requêtes) sur
des relations
Chaque opération d’algèbre relationnelle prend une ou
plusieurs tables et les transforme afin de produire une
nouvelle table
Langage procédural : indique comment construire une
nouvelle relation à partir d’une ou plusieurs relations
existantes
Langage abstrait, avec des opérations qui travaillent sur
une (ou plusieurs) relation(s) pour définir une nouvelle
relation sans changer la (ou les) relation(s) originale(s)
Opérateurs algébriques
Trois opérations principales
Sélection
Projection
Jointure
Définition
Degré : nombre d’attributs (de colonnes) d’une table
Cardinalité : nombre de lignes (enregistrements)
d’une table
Projection
S’effectue sur une seule table
Produit une nouvelle table qui est un sous-ensemble de la table originale
selon un ou des champs sélectionnés
Sert à déterminer quelles données seront présentées comme résultat de la
requête
Opérateur : 𝜋
Format 𝜋 {champs} (table source)
Projection simple
𝜋 {Nom} (ÉTUDIANT)
Note: les éléments identiques sont éliminés (Une table ne doit jamais contenir
deux tuples identiques)
Projection
Jointure
Jointure naturelle
Opération s’effectuant sur 2 tables ayant au moins un
champ commun (de même domaine)
Produit une nouvelle table qui est une combinaison
des 2 tables originales selon l’égalité des champs
Permet de créer de l’information qui ne se trouve pas
dans une seule table, mais par la combinaison de
Opérateur :
Format table 1 [champs1 champs2] table 2
Jointure
Exemple de jointure
ÉTUDIANT [Université Sigle] UNIVERSITÉ
Jointure
Combinaison de jointure
Les opérations ensemblistes
Ne peuvent s’effectuer que sur des tables ayant une
structure identique
Trois opérations
Union
Intersection
Différence
Tables exemples
Union
Intersection
Différence