Introduction aux bases de données

a marqué ce sujet comme résolu.
Auteur du sujet

Bonjour à tous,

J'ai commencé la rédaction d'un tutoriel dont l'intitulé est Introduction aux bases de données. Pour le moment, il n'y a qu'un seul chapitre de rédigé, qui porte vraiment sur quelques concepts de base. Je compte rédiger quelque chose de moyennement complet, qui aborde les concepts d'un point de vue relativement théorique (comme pour mes autres tutoriels). Je n'ai pas vraiment de plan précis pour la suite du tutoriel, et je ne sais pas trop quoi ajouter pour les chapitres suivants, ceux qui ne sont pas présents dans le plan actuel.

Il est prévu que j'aborde le SQL, mais je ne sais pas à quel endroit je le ferais dans le tutoriel. J'ajouterais aussi certainement des exercices et exemples sur les différents sujets, mais cela me prendra du temps.

Vos commentaires sont les bienvenus, à condition que ceux-ci portent sur le fond du cours : je n'attends pas de corrections orthographiques ou grammaticales pour le moment. Ceux qui veulent aider à la rédaction comme co-auteurs sont les bienvenus. Merci d'avance pour votre aide.

Édité par anonyme

+2 -0

Merci pour le contenu.

Est-il question de bases relationnelles uniquement ?

Pour le contenu à inclure, tu pourrais peut-être t'inspirer du programme d'informatique (tronc commun) de MPSI.

+0 -0
Auteur du sujet

On peut éventuellement parler des bases non-relationnelles (hiérarchiques, en graphe ?), de préférence en annexes ou dans d'autres parties du cours. Mais vu que je n'y connais rien, ce ne sera pas moi qui l'écrirais.

+0 -0

Cette réponse a aidé l’auteur du sujet

Salut,

J'aime bien l'idée du cours qui parle d'abord d'algèbre relationnelle avant d’entamer le sql :D

Pour la partie SQL, ça peut être cool de tester les requêtes directement sur le site sans installer quoi que ce soit côté utilisateur. Là je pense à deux possibilités:

  • SQLite sur navigateur (exemple sur JSFiddle): Ce qui bien c'est qu'il est possible de l'inclure directement dans la page du tutoriel et les requêtes sont exécutées en local.
  • SQLFiddle: ce qui est bien c'est qu'il supporte plusieurs vendors (MySQL, Oracle, MS SQL, …) et propose même de voir les plans d’exécution. Mais toutes les requêtes sont exécutées sur le serveur et SQLFiddler ne peut pas être inclus (pour l'instant) dans les tutos ZdS.
+0 -0
Auteur du sujet

J'ai complété le cours et modifié le plan. A vous de voir ce que cela va donner. J'ai pris la liberté d'ajouter des chapitres sur le SQL, mais je ne sais pas si c'est une bonne chose : cela pourrait faire doublon avec le cours déjà présent sur ZdS. A vous de voir si cela apporte quelque chose d'intéressant au cours.

Édité par anonyme

+0 -0
Auteur du sujet

Bien, je pense que la rédaction devrait être terminée, pour le moment. J'ai terminé de rédiger le tutoriel, même si je pense que je complèterais par la suite si le besoin s'en fait sentir (pour ajouter des trucs sur les triggers, ou des choses dans le genre). Mais ce ne sera pas pour tout de suite. Je souhaite donc avoir de préférence des relectures sur la pédagogie et le fond, mais j'accepte aussi les relectures sur la forme (orthographe, grammaire, style, et ainsi de suite. Le cours a été envoyé en validation, pour avoir un avis de validateur.

Édité par anonyme

+0 -0
Auteur du sujet

Ajouter la division dans les opérations, je m'y mets dès que possible. Dépendance fonctionnelle : j'en parle d'une manière assez évasive, et cela mériterait certainement d'être développé un peu plus, à voir si ce que j'ai écrit suffit ou pas pour une introduction (je préfère développer dans une prochaine version du cours). Formes normales et dénormalisation, de préférence pour une prochaine version (c'est un gros morceau).

+0 -0

C'est un gros morceau mais c'est necessaire pour apprendre a faire de bonnes bases de donnees, alors que ton tutoriel m'a laisse l'impression de simplement apprendre ce qu'est une base de donnees et ce que sont les concepts autours. Peut-etre est-ce ton objectif par ailleurs.

Pour etre franc, je n'ai eu qu'un cours de BDD dans ma vie (environ 10h de cours magistral), et si globalement le contenu est le meme (de souvenir, c'etait pas hier…), la grosse difference c'est qu'avec ton tutoriel je ne sais pas comment faire. Les etapes de modelisation, de construction, d'argumentation sur les choix, etc.

Peut-etre que ce qu'il manque ce sont des exemples ou un exemple long, sur l'ensemble du tutoriel (un truc bateau type la gestion d'un carnet de commandes, d'un bar, etc.).

Bon courage. Je n'ai pas trop compris ce que tu entendais par version du cours ? Tu prevois de publier comme tel puis d'ameliorer sur le long terme le cours en rajoutant des sections ou retravaillant les precedentes ?

Édité par KFC

« Kommunist Fried Chicken » | Macroeconomics: Three decades of intellectual regress

+0 -0
Auteur du sujet

C'est un gros morceau mais c'est nécessaire pour apprendre a faire de bonnes bases de données, alors que ton tutoriel m'a laisse l'impression de simplement apprendre ce qu'est une base de données et ce que sont les concepts autours. Peut-être est-ce ton objectif par ailleurs.

KFC

Comme tu l'as deviné, ce n'est pas mon objectif principal : je tiens surtout à fixer les concepts et connaissances théoriques essentielles. Le but du cours est en quelque sorte de faire de la "vulgarisation informatique" à un public de non-informaticiens, qui permette ensuite d'aller "plus loin" pour ceux qui le souhaitent. J'admets que c'est bizarre comme concept, mais j'avais envie de tenter.

Après, je ne suis pas contre ajouter un paquet de pratique relativement fourni, mais je la rajouterais dans la suite du cours et dans des versions ultérieures. Et cela me demandera de changer quelque peu le public visé et les buts du cours (sans que cela soit forcément un mal, d'ailleurs). La première ébauche se contentera du minimum vital en terme de connaissances pratiques (le SQL de base, pour un début).

Je n'ai pas trop compris ce que tu entendais par version du cours ? Tu prévois de publier comme tel puis d’améliorer sur le long terme le cours en rajoutant des sections ou retravaillant les précédentes ?

KFC

Exactement : je compte publier une version semblable à celle-ci en premier lieu, et de l'améliorer/la complèter par la suite.

Édité par anonyme

+0 -0

Salut,

Mes remarques sur le chapitre "Tables, enregistrements et attributs" :

Introduction

Que ce soit dans un fichier ou dans une base de données, les données à mémoriser sont ce qu'on appelle des enregistrements. Ces enregistrements mémorisent toutes les informations liées à un objet, une personne, une entité, une chose.

La notion d'enregistrement est assez floue. Les exemples l'illustrent très bien, mais ils ne correspondent pas au quotidien d'une personne lambda, dans le sens où tout le monde a besoin de stocker des données (dans ses documents, tout bêtement), mais que peu travaillent avec la notion d'enregistrement. En fait, tu introduis à cette notion, mais pas aux bases de données, auxquelles elle est pourtant intimement liée. J'ignore si ce que je dis est compréhensible.

Enregistrements et attributs

Mais il faudra aussi lui donner un nom d'attribut, pour pouvoir récupérer ses informations.

Des exemples ? :)

Tables relationnelles

Elles ont besoin de mémoriser des listes d'enregistrements.

On ne sait plus trop à qui se réfère le "elles".

En théorie, l'ajout ou la modification d'un enregistrement dans la table ne doit pas pouvoir permettre la présence de doublons

Pourquoi ?

Ce mécanisme consiste à choisir un ensemble de colonnes qui détermine un objet ou une personne unique dans la table : on sait que si ces ensembles d'attributs ont la même valeur dans deux lignes, alors les deux lignes correspondent à une même donnée. Cet ensemble de colonnes est ce qu'on appelle une clé.

Un exemple aiderait à comprendre je pense.

Il arrivera certainement que deux élèves aient le même prénom ou le même nom de famille : dans ce cas, l'ensemble des colonnes nom et prénom ne peuvent pas servir de clé primaire.

Tu n'as pas encore parlé de clé primaire.

et sont généralement des nombres entiers

Peut-être expliquer rapidement pourquoi ?

Nous allons prendre le cas d'une entreprise qui utilise une BDD

Tu pourrais renseigner l'abréviation BDD.

Il est possible de représenter graphiquement ces dépendances fonctionnelles avec ce qu'on appelle un graphe

Pour ceux qui ne connaitraient pas cette notion, un exemple aiderait.

Merci. :)

+0 -0
Ce sujet est verrouillé.