• Aucun résultat trouvé

Donner un exemple : d attribut :... qui est composé de... de t-uplet :...

N/A
N/A
Protected

Academic year: 2022

Partager "Donner un exemple : d attribut :... qui est composé de... de t-uplet :..."

Copied!
5
0
0

Texte intégral

(1)

I. Introduction

Le termebase de donnéesest apparu au début des années 60. C’est l’apparition des disques durs à la fin des années 50 qui a permis d’utiliser les ordinateurs pour stocker et manipuler des données. Aujourd’hui, la plupart des sites internet utilisent au moins une base de données.

Le développement des traitements informatiques nécessite la manipulation de données de plus en plus nombreuses en particulier du au développement du Web. Leur organisation et leur stockage constituent un enjeu essentiel de perfor- mance. Le recours aux bases de données relationnelles est aujourd’hui une solution très répandue. Ces bases de données

permettent entre autre , , de et des données structurées

volumineuses utilisées simultanément par différents programmes ou différents utilisateurs.

Cela est impossible avec les représentations tabulaires étudiées en classe de première.

Des SGBD de très grande taille (de l’ordre du pétaoctet )

sont au centre de nombreux dispositifs de collecte, de stockage et de production d’informations.

L’accès aux données d’une base de données relationnelle s’effectue grâce à des requêtes d’interrogation et de mise à jour

qui peuvent par exemple être rédigées dans le langageSQL( ).

Les traitements peuvent conjuguer le recours au langage SQL et à un langage de programmation comme par exemple enPython. Il est également important d’avoir un usage critique et responsable des données.

II. Base de donnée relationnelle (unplugged)

Il existe différents types de bases de données mais les bases de données relationnelles sont les plus utilisées au monde et c’est celle-ci que nous allons étudier.

Les bases de données relationnelles ont été mises au point en1970parEdgar Franck Codd, informaticien britannique (1923-2003). Ces bases de données sont basées sur la théorie mathématique des ensembles.

La notion de relation est au coeur des bases de données relationnelles. Une relation peut être vue comme un tableau à 2 dimensions, composé d’un en-tête et d’un corps. Le corps est lui-même composé de t-uplets (lignes) et d’attributs (colonnes). L’en-tête contient les intitulés des attributs, le corps contient les données proprement dites. À noter que l’on emploie aussi le terme à la place de "relation".

Exemple :

id Marque Modèle Année Puissance Pays

1 Peugeot 205 GTI 1984 105 France

2 Peugeot 208 GTI 2018 208 France

3 Porsche 964 1990 250 Allemagne

4 Porsche 986 S 1999 250 Allemagne

FIGURE1 – Relation voiture Donner un exemple :

•d’attribut : ... qui est composé de ...

•de t-uplet : ...

Pour chaque attribut on doit définir un domaine Définition

Le domaine d’un attribut donné correspond à un ensemble fini ou infini de valeurs admissibles.

Par exemple, le domaine de l’attribut "id" correspond à l’ensemble des entiers (noté INT) : la colonne "id" devra obliga- toirement contenir des entiers.

A la création d’une relation, ilfaut renseigner le domaine de chaque attribut. Le SGBD s’assure qu’un élément ajouté à une relation respecte bien le domaine de l’attribut correspondant, par exemple si on essaye d’ajouter une année non entière cela ne sera pas permis par le SGBD.

Le SGBD n’autorise pas non plus d’avoir 2 t-uplets identiques.

Afin d’être sûr de respecter cette contrainte des t-uplets identiques, on définit la notion de " ".

(2)

Définition

Une clef primaire est un attribut dont la valeur permet d’identifier de manière unique un t-uplet de la relation. Au- trement dit, si un attribut est considéré comme clef primaire, onne doit pas trouverdans toute la relation2 fois la même valeurpour cet attribut.

Si l’on reprend l’exemple de la figure 1 :

•L’attribut "marque" peut-il jouer le rôle de clef primaire ?

•L’attribut "puissance" peut-il jouer le rôle de clef primaire ?

•L’attribut "modèle" peut-il jouer le rôle de clef primaire ?

Il nous reste donc l’attribut "id". En faite, l’attribut "id" ("id" comme "identifiant") a été placé là pour jouer le rôle declef primaire. En effet, à chaque fois qu’une voiture est ajoutée à la relation, sont "id" correspond à l’incrémentation de l’id (id du nouveau=id de l’ancien+1) de la voiture précédemment ajoutée. Il est donc impossible d’avoir deux voitures avec le même id.

Ajouter un attribut "id" afin qu’il puisse jouer le rôle de clef primaire est une pratique courante (mais non obligatoire) dans les bases de données relationnelles.

On remarque que pas mal d’informations sont redondantes (par exemple Peugeot, France). Cela n’est ni indispensable ni souhaitable ! Si on répète trop de données c’est que la structure n’est sûrement pas la bonne.

Une solution est de travailler avec .

Si l’on reprend l’exemple de la figure 1, nous allons créer une relation marque et modifier la relation voiture en introdui- sant un attribut id_marque.

Complétez les tables suivantes :

id 1 2

FIGURE2 – Relation marque

id id_marque

1 2 3 4

FIGURE3 – Relation voiture (modifiée)

L’attribut id_marque de la relation marque permet de créer un lien avec la relation voiture.

Pour établir un lien entre 2 relations RAet RB, on ajoute à RAun attribut x qui prendra les valeurs de la clé primaire de RB. Cet attribut x est appelé (l’attribut correspond à la clé primaire d’une autre table, d’où le nom).

(3)

III. Création d’une base - SQL (plugged)

Le SGBD choisi est MySQL, mais on y accédera à travers phpMyAdmin.

1) Principes de création

Lancer un navigateur, et saisir dans la barre d’adresse (ou cliquez sur le lien) :

http://paulconstans.ac-clermont.fr/phpmyadmin/

Vous devriez avoir l’écran ci-contre.

Sélectionner la langue de votre choix (je conseille le français !), puis saisir votre nom en minus- cule comme nom d’utilisateuretcomme mot de passe. Ça y est, vous êtes connecté à phpMyAd- min.

On navigue depuis la page d’accueil de phpMyAdmin en sélectionnant une base de données dans la partie gauche de l’écran, puis éventuellement une table, et une relation. Les entités sélectionnées s’organisent en une arborescence à trois niveaux : au niveau 0 on trouve l’adresse de phpMyAdmin, au niveau 1 on trouve la base sélectionnée, au niveau 2 on trouve la relation sélectionnée.

En haut de chaque page, il y a une ligne de liens correspondant au point de l’arborescence des entités sélectionnées. En cliquant sur les liens des niveaux précédents il est possible de revenir en arrière dans cette arborescence.

Pour pouvoir ajouter ou supprimer une table à l’intérieur d’une base, il faut se trouver au niveau de la base dans l’arbo- rescence des entités sélectionnées.

En tant qu’utilisateur vous ne possédez qu’une seule base, mais vous pouvez avoir accès aux bases d’autres personnes qui vous en donnerait l’autorisation.

On navigue depuis la page d’accueil de phpMyAdmin en sélectionnant une base de données dans la partie gauche de l’écran, puis éventuellement une table, et une relation. Les entités sélectionnées s’organisent en une arborescence à trois niveaux : au niveau 0 on trouve l’adresse de phpMyAdmin, au niveau 1 on trouve la base sélectionnée, au niveau 2 on trouve la relation sélectionnée.

En haut de chaque page, il y a une ligne de liens correspondant au point de l’arborescence des entités sélectionnées. En cliquant sur les liens des niveaux précédents il est possible de revenir en arrière dans cette arborescence.

Pour pouvoir ajouter ou supprimer une table à l’intérieur d’une base, il faut se trouver au niveau de la base dans l’arbo- rescence des entités sélectionnées.

Exemple :Nous allons voir comment créer la table (relation) suivante :

id nom catégorie PdV exp

0 Conan guerrier 36 3

1 Elboz elfe 24 4

2 Nitroz elfe 5 2

3 Raptout voleur 12 1

4 Tom le blanc magicien 15 6 5 Pierre le gris magicien 10 2

FIGURE4 – Relation personnage

On va donc créer une table personnage avec 5 colonnes voir ci-dessous puis cliquer sur exécuter :

(4)

Puis nous allons définir les attributs. Pour cela on va compléter le tableau suivant :

•Un attribut id de type INT (entier) : pour cet attribut il y a deux options à préciser :

- Dans la colonne Index prenez le choix PRIMARY (cliquer sur Exécuter dans la fenêtre qui s’ouvre) : la valeur de id est unique et sert de clé primaire dans la table personnage.

- Cochez la case A_I (Auto_Increment). Cette option signifie qu’à chaque fois qu’on définira une nouvelle entrée dans cette table, il ne sera pas nécessaire de définir la valeur de l’attribut id : la valeur sera définie automatiquement en incrémentant la valeur de la précédente entrée.

•Un attribut nom de type VARCHAR (40) (chaîne de caractères de longueur maximum 40 caractères) : choisissez le type VARCHAR et précisez 40 dans le champ Taille / Valeurs, ne rien mettre dans le champ INDEX (cet attribut n’a pas d’index).

•Un attribut categorie de type VARCHAR (40), sans index.

•Un attribut PdV de type INT.

•Un attribut exp de type INT.

En cliquant sur aperçu SQL en bas à droite la ligne de commande qui permet de créer la table est affichée, donner la commande ci-dessous :

...

...

...

Cliquer ensuite sursauvegarderen bas à droite.

2) Insertion d’entrées

Maintenant que la table est créée on va la remplir en allant dans la partie insérer :

(5)

On va donc obtenir la table suivante :

Quelle est la ligne de commande qui permet de montrer toute la table ?

...

3) Avec plusieurs tables Faire le TP quincaillerie.

Références

Documents relatifs

Trouver une base de ImA et une base de

Quel soulagement à la fois pour les jeunes, pour les parents, pour les ei!Seignants et pour cette chère Education Nationale qui ne prendrait plus chaque année le

Afficher le Prénom et Nom de tous les employés ayant une permanence selon l’ordre alphabétique des noms puis

 La clause LEFT JOIN permet de retourner toutes les entrées d’une première table avec, s’il y a correspondance, les entrées d’une deuxième, et NULL dans toutes les

Déterminer une base et la dimension de

LICENCE 2 SEG Pˆ ole Lamartine - ULCO MATH ´ EMATIQUES 2 Novembre 2010 - Contrˆ ole Continu, Semestre 1.. Dur´ ee de l’´ epreuve : 2h00

D´eterminer le noyau et l’image

Prouver qu'il existe au moins un ensemble fini E de n points dans l'espace qui ne sont pas tous situés dans le même plan de sorte que pour tout couple de points A et B appartenant