Les notes des cours, des lectures, ...
 
AccueilAccueil  S'enregistrerS'enregistrer  ConnexionConnexion  

Partagez | 
 

 Cours 4 - 28/10/11

Aller en bas 
AuteurMessage
Sophie
Bon lecteur


Messages : 61
Points : 131
Réputation : 2
Date d'inscription : 16/10/2011

MessageSujet: Cours 4 - 28/10/11   Ven 4 Nov - 3:42

[encore une fois, je n'ai pas encore pris la peine de corriger l'orthographe, pardon pour les fautes]


RAPPEL :

Cours 1
Informatique
--> Informatique appliquée : hard et soft
Hard : matériel : composition d'un poste de travail, ce qu'il faut prendre en compte
Soft : logiciel : ce qu'est un logiciel, comment on stoque l'information (hard et soft)

Cours 2
Ce que sont les technologies de l'information et de la communication
Evolution technique des bibliothèques
Configuration des réseaux
Méthodologie

Cours 3
Topologie et typologie des réseaux
Logique : comment ces communication transitent entre elles (soft)
Quels sont les différents types de fichiers (soft) : fichiers texte, fichiers binaires et fichiers compressés : à venir.

Cours 4 :
Les langages de programmation
Les SGBD
Les bases de données bibliothécaires

Contrôle :
Pas ce qu'est un réseau, mais liste de questions à travailler.


5.6. Fichiers compressés

Les fichiers de nos jours sont importants, souvent de l'ordre du Go. Certains fichiers sont « gourmands », très importants. Il faut donc réfléchir à la manière de les transférer d'un poste à un autre.

Il existe plusieurs logiciels de compression et de décompression. Logiciel plus ou moins gratuit : WINZIP. En général, on peut compresser jusqu'à deux-tiers. Quand on compresse, on ne perd rien de la valeur.

Exemple : fichier qui fait 3 Go et clé USB qui fait 2Go. Que fait-on ? On compresse le fichier de 3Go. Il restera 1Go qui ira dans la clé USB. Mais comment faire pour travailler avec ce fichier chez moi ? Il faut le décompresser alors.

NB : Compresser/décompresser : même logique que sauvegarder/restaurer.


6. Les différents types de langages informatiques


6.1. Langage machine

langage binaire et langage assembleur
- Langage binaire : 0 et 1
- Langage assembleur : autre que binaire

Il y a ce qu'on appelle des langages « machine », càd le langage binaire et le langage assembleur. Le langage binaire et le langage assembleur sont des langages de bas niveau.
a) Langage binaire

Quand on prend le système d'exploitation de l'ordinateur, il fonctionne avec un langage binaire, il y a des 0 et des 1 (mais pas que).

b) Langage assembleur

Le langage assembleur est proche du langage machine parce qu'il est interprété par le microprocesseur. Le langage machine, binaire, ne comporte que des 0 et des 1. Le langage assembleur comporte quelques trucs en plus que le langage binaire.

Exemple : Commande : mov%al,$0x61 = langage assembleur

Le langage assembleur fonctionne avec des commandes et est très difficile à interpréter par l'être humain.


6.2. Langages évolués

Exemple : Pascal, C, C++, Java

Langage assembleur : on écrit beaucoup de codes pour avoir peu de résultats.
Langages évoluées : on écrit peut pour avoir beaucoup de résultats.

Petit à petit, on change le langage machine en langage évolué, mais on ne peut supprimer les premiers, car ils servent à écrire les logiciels, ils sont en relation avec le microprocesseur.


6.3. Langages de scripts

Exemple : PHP, Javascript...

Quand on voit des pages internet qui défilent, elles ont été écrites en général grâce au PHP. C'est un langage qui sert d’intermédiaire (fait interférence?) entre la machine et le serveur.
Ces programmes sont fait de petites commandes qu'on appelle le script.


6.4. Langages de balises

Exemple : HTML, XHTML, CSS...

Plus on avance dans le temps, plus on voit de langages qui apparaissent.
Ces langages sont un peu inférieurs aux langages scripts.

Exemple : pages figées faites par langage à balise, les gens peuvent contacter via les pages statiques sans avoir de dialogue avec nous (des pages qui donnent de simples informations et qui ne demandent pas un retour). Les pages PHP sont des pages dynamiques, permettant une interaction, une réponse (comme sur forum).



6.5. Langage de requêtes

Exemple : SQL, MYSQL (base de données que PHP utilise)

Langage de requête, en général le SQL. Pour utiliser ce langage, il faut une base de données.

Exemple SQL :
Code qui permet la requête :
SELECT
NOM, PRENOM(je sélectionne tous les noms, tous les prénoms)
FROM UTILISATEUR
WHERE VILLE=TOURNAI
AND AGE<18
--> pour les statistiques, on veut qu'on nous affiche tous les noms et prénoms des utilisateurs qui habitent à Tournai et qui sont mineurs.
En gras : attributs ou champs
En italique : les tables (table noms, table auteurs, table éditeurs, table livres...)


7. Les systèmes de gestion de bases de données (SGBD)


7.1. Fonctionnement d'un SGBD

Pour utiliser un langage de requête, il faut donc une base de données, pour que le programme balaie toutes les informations pour répondre à la requête.

Dans les bases de données, on a plusieurs tables (utilisateurs, auteurs, éditeurs, livres), qui elles comportent des champs (ID-Utilisat, nom, prénom, adresse, mail, téléphone). Pour travailler ces tables, on utilise un langage de requêtes. Aujourd'hui, on a des logiciels pour faciliter la tâche, comme Access.

Pour avoir une table UTILISATEURS, il faut une clé, une clé unique.

Exemple : un identifiant : ID-UTILISAT. C'est une clé principale. Nous devons réfléchir à la manière de nommer cette clé, qui doit être unique pour chaque utilisateur. Par exemple : le numéro national.

UTILISATEUR : ID-UTILISAT, Nom, Prénom, Adresse, Mail, Téléphone, Ville

Table : UTILISATEUR
Champs : ID-UTILISAT, Nom, Prénom, adresse, mail téléphone
Clé primaire :  : ID-UTILISAT

EDITEUR : (champs:) Clé primaire = ID-EDIT : (champs:) Nom-éditeur, adresse...

AUTEUR : (champs:) Clé primaire = ID-AUT : (champs:) Nom, Prénom, Date-nais, Date-décès

LIVRE : (champs:) Clé primaire = ID-LIVRE : (champs:) Titre, Genre...

Si je recherche la ville des utilisateurs : on n'a besoin que d'une seule table.
Si je veux tous les utilisateurs qui habitent Tournai et qui ont loué Germinal : j'ai besoin de deux tables : « livres » et « utilisateurs ».
Si je veux la même chose mais avec l'éditeur « Folio » en plus : trois tables.
On peut travailler avec plusieurs tables. Mais pour cela, il faut une clé principale. Exemple : notre numéro national est notre identifiant, on utilise cet identifiant comme clé principale dans la table UTILISATEURS.

Donc : la table UTILISATEURS est composée de champs. Et ID-UTILISATEUR est la clé principale (c'est un champ = attribut, mais c'est aussi la clé principale). En d'autres mots: il y a des champs ou attributs dans toute la table, et ID-UTILISATEUR est un champ particulier, qui est une clé primaire

Exemple de requête :
SELECT ID-UTILISATEUR
NOM, PRENOM
WHERE ID- ?

Lien entre les tables :

Pour faire une jointure entre les tables, il faut une clé secondaire ou étrangère.

Exemple : lien entre UTILISATEURS et LIVRES : il faut trouver une clé étrangère entre les deux tables (qui permet de les relier). Si je veux savoir quels sont les livres lus par Mr Durand, je dois trouver le lien entre les deux.

SELECT
TITRE
FROM UTILISATEUR, LIVRE
WHERE : DURAND

Il faut ajouter un champ, ou un attribut, qu'on appelle, par exemple, Ref_Livre. Ce champ va nous lier à la clé primaire ID-LIVRE. Il faut donc qu'il existe un lien entre « Ref_livre » et « ID-LIVRE.
La clé secondaire de l'utilisateur (Ref-Livre) doit être liée à la clé primaire du livre (ID-LIVRE).
Pourquoi ? Parce qu'un utilisateur peut lire un ou plusieurs livres. Donc on va du lecteur vers les livres.

Exemple :
Clé 001A = Germinal.
Dans la table « utilisateur », il faut qu'il y ait une « Ref_livre » 001A, qui nous dit que l'utilisateur lit Germinal.
Les caractères du livre doivent être stockés dans la table de l'utilisateur qui les a lus.

Dans la table LIVRE, on fait une clé secondaire Ref_éditeur, pour retrouver les différents éditeurs d'un même livre. Donc de Ref_éditeur vers ID-EDIT.

NB : Ce sont des actions directes (de Ref_livre vers ID-LIVRE).

NB : La table utilisateur, ce n'est pas un seul utilisateur, mais tous les utilisateurs.

NB : On a un logiciel (exemple : Socrate) qui possède une base de données.

NB : Quand on a deux tables :
Table 1 : clé primaire id-1 ref-id-2
Table 2 : clé primaire id-2 ref-id-1
Lien entre ref-id2 et id-2
Un composant de ref-id-2 génère une infinité vers id-2.
Mais si on un une infinité de ref-id-2 qui va vers une infinité de id-2, il faut rajouter une table étrangère Table 3-4. Parce qu'on ne peut pas avoir une infinité de possibilité des deux côtés, dont la table intermédiaire doit limiter les choix d'un côté.
Exemple : table avec toutes les personnes de Belgique. Table avec toutes les adresses. Il faut rajouter une table entre les deux.

NB : string = chaîne de caractères


7.2. Qu'est-ce qu'une base de données ?

Une base de données gère un langage de requêtes.
On n'appelle plus « BD » (Base de Données) ou « DB » (DataBase) mais GBDR, càd Gestion de Bases de Données Relationnelles (càd de relations entre les tables).

Définition :
Une base de données relationnelle est une base de données structurées suivant les principes de l'algèbre relationnel. Relationnel, ici, ne fait pas uniquement/seulement référence aux relations entre les tables, mais aux tables elles-mêmes.
Relationnel parce qu'il y a une clé primaire. C'est grâce à cette clé qu'on « discute ».

Le concept de cette gestion permet de stocker et d'organiser une grande quantités d'informations.

Un des avantages des SGBDR, c'est d'éviter les redondances, les répétitions. (autrement, on pourrait avoir plusieurs Dupond, la clé primaire nous permet de n'en avoir qu'un seul)

Le modèle relationnel conduit à :
- une grande simplicité d'usage,
- une transparence pour l'utilisateur de toute réorganisation technique de la base,
- une facilité de combinaisons du contenu de plusieurs tables (opération jointure).

Parfois, dans une seule table, on peut avoir deux ou plusieurs clés primaires, càd des clés concaténées.
Exemple : prénom concaténé avec nom, mais pas judicieux, car on peut avoir plusieurs personnes avec même nom et prénom.


7.3. Les fonctionnalités/valeurs ajoutées des SGBD (Système de Gestion de Bases de Données)

1. Contrôler la redondance d'informations. Afin d'éviter le gaspillage d'espace mémoire et les erreurs.

2. Assurer le partage des données. Dans une bibliothèque, plusieurs personnes peuvent en même temps partager (demander/consulter) la même information = la PARTAGEABILITE des données.
Une base de données doit permettre à plusieurs utilisateurs d'accéder à la même information en même temps. Attention : utilisateurs ici = ceux qui travaillent.

Exemple :
Afficher (Date retour - Date prêt) >21
date 1 = 20/11/2011
date 2 = 10/11/2003
Le programme peut nous donner le nombre de jours entre les deux dates. Avant, on convertissait ces dates en jour. Les types « date » existent (comme ceux « string » : chaîne de caractère)

Exemple : quelqu'un est en train de consulter la base de données des personnes qui n'ont pas rendu leurs livres, et un autre est en train de réceptionner le livre rendu, ça rentre automatiquement dans le réseau et on verra que la personne a rendu le livre.

3. Vérifier l'intégrité des données : celles-ci doivent être cohérentes entre elles. Càd qu'il doit y avoir un mécanisme de contrôle.
Chaque table est spécifiée par un attribut ou un champs, chaque champs est spécifié par un type de données. Il faut donc que les données soient conformes, et le programme doit vérifier intégrité de ces données.
Exemple : les entiers naturels --> il ne faut pas entrer des nombres à virgules.
Exemple : Si je rentre l'âge, et que dans le champs « âge », j'écris « bonjour », ça ne doit pas être accepté.

Ce concept de SGBD doit dès lors inclure un mécanisme de contrôle. Par exemple : pour éviter qu'on lise une information qui est en cours de mise à jour (technique de verrouillage).

4. Le SGBD doit assurer l'indépendance physique et l'indépendance logique. La création d'une nouvelle rubrique n'entraîne pas de modifications dans les programmes d'application qui ne sont pas concernés.
Exemple : si on est dans un menu et que demain, on en ajoute un autre, celui-ci ne doit pas générer de problèmes pour les menus existants
Exemple : si je retranche un sous-menu (comme le menu qui traite tout ce qui est inférieur à 18 ans), je ne dois pas non plus générer de problèmes sur les autres menus.

NB : Indépendance physique des données, pas le hard.

5. Gestion des autorisations d'accès pour assurer la sécurité des données. La confidentialité des données doit être gérée. Tous les utilisateurs n'ont pas le même droit et la base de données doit gérer ces droits. Code d'accès.
On sait que quand on parle de bases de données, on parle de plusieurs données, de plusieurs utilisateurs. Il faut donc que la base de données donne accès à certains utilisateurs mais pas à d'autres. Gestion d'accès. Le responsable de la bibliothèque n'a pas les mêmes accès que le stagiaire.

6. Offrir des interfaces d'accès multiples. Chaque interface est spécifique à ...
Exemple : Il y a des menus qui sont spécifiques pour les fournisseurs, pour le responsable, pour les emprunteurs, etc.

7. Assurer la sécurité et la reprise après la panne. Sauvegarde automatique régulière en cas de panne.

NB : Les logiciels sont de plus en plus chers parce qu'il y a de plus en plus de facilités.

Conclusion :
Le R pour Relationnel implique qu'il y ait la notion de « table » ou bien « classe » (même chose, sauf que « classe » est orienté « objet »). Les classes/tables sont divisées en deux dimensions : lignes et colonnes.

Les différents types de champs :
Champs texte = chaîne de caractères
Champs mémo = champs texte mais plus vaste (on sait mettre plus de caractères dedans)
Champs numérique = entiers, décimaux, etc. (poids : décimal, âge : entiers)
Champs date-heure = sait calculer les différences
Champs monétaire = €, $...
Champs booléen = oui ou non (il ne peut contenir que 0 ou 1, donc oui ou non)(exemple : homme ou femme, emprunt : oui ou non)
Champs liens hypertextes = on peut enregistrer des url (adresses internet)

UTILISATEUR
ID-UTILISATEUR
NOM
PRENOM
MAIL
AGE

Enregistrements : 001A
Dupond
Michel
dupont.michel@yahoo.fr
35

Quelques principaux SGBD, bases de données relationnelles :
- Ingres
- Oracle
- Access
- Sybase
- Microsoft SQM Serveur
- Borland Paradox
- MySQL (souvent avec PHP))
- PostgreSQL


8. QUESTIONS EXAMENS

- Nous serons amenés à travailler en réseau dans une bibliothèque. Qu'est-ce que cela signifie pour vous ?
- Comment prévoyez-vous, dans les trente années à venir, cette notion de réseau ? (typologie, etc.)
- Comment voyez-vous le monde des bibliothèques dans les 20 années à venir ?
(- Qu'est-ce qu'un SGBD ?)
- Pourquoi les réseaux informatiques contribuent-ils au développement de logiciels touchant de près ou de loin les bibliothèques ?
- Les SGBDR et le monde des bibliothèques. Quel lien peut-il y avoir ? Donner des exemples précis.
- Que serait pour vous une bibliothèque virtuelle ? (qui n'existe pas encore donc)

Examen : Quatre questions, deux dans ces six-ci. Attention : esprit critique ! Voir que ça évolue.
Revenir en haut Aller en bas
 
Cours 4 - 28/10/11
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» En cours: Hotchkiss H35 - RPM 1 / 72.
» cours technique femme et milonga art plus tango
» Cours de Broderie d'Art à Marly le Roi (78)
» Formation Professionnelle en cours du soir
» Petit cours pédagogique.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
IPEPSHO - Bibliothécaire breveté :: Sophie-
Sauter vers: