La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Initiation aux bases de données et à la programmation événementielle Cours N°5 : Schéma dune Base de Données Support de cours de Souheib BAARIR. Page web.

Présentations similaires


Présentation au sujet: "Initiation aux bases de données et à la programmation événementielle Cours N°5 : Schéma dune Base de Données Support de cours de Souheib BAARIR. Page web."— Transcription de la présentation:

1 Initiation aux bases de données et à la programmation événementielle Cours N°5 : Schéma dune Base de Données Support de cours de Souheib BAARIR. Page web : pagesperso-systeme.lip6.fr/Souheib.Baarir/bdvba/support.htm Université Paris Ouest Nanterre la Défense

2 2 Il ne suffit pas de de savoir écrire une requête en SQL pour faire une BD. Il faut dabord savoir : répartir les informations à mémoriser entre le différentes tables et, définir les liens logiques qui relient ces tables. Introduction Autrement dit, savoir concevoir une Base de Données : définir un schéma de BD.

3 3 De linformation à la BD Une information est complexe : on peut la décomposer en éléments (informations élémentaires), un élément est une donnée. Une donnée est décrite par un champ dune table. Les données sont réparties en ensembles, chaque ensemble décrit un sens commun, il décrit donc un même concept. Finalement, une table est la réalisation dun concept. Les concepts ne sont pas indépendants, ensemble, ils permettent de restituer linformation complexe, ils sont donc reliés par des liens sémantiques. choix de Réalisé au travers des liens logiques, qui dépendent du choix de gestion gestion à mettre en place : (1-N) ou (N-N).

4 4 On veut enregistrer des informations sur des écrivains et leurs œuvres. Que faut-il définir ? un seul concept (lœuvre et son auteur), ou bien, deux concepts séparés. Un premier exemple

5 5 Décrire lauteur (nom, prénom, sexe, années de naissance et de décès) et lœuvre dans une table unique. AuteurŒuvre (N° AutŒv, nom, prénom, sexe, année N, année D, titre œuvre) Les descriptions risquent dêtre redondantes et/ou incohérentes : Un premier exemple : un seul concept N° AutŒv NomPrénomSexeAnnée NAnnée DTitre œuvre 1HugoVictorMr Les travailleurs de la mer 2HugoVictorMr Les misérables Règle fondamentale : une information (complexe ou non) ne doit pas être mémorisée plusieurs fois. Incohérence Redondance

6 6 La description dun auteur est une information complexe et cohérente. La description dune œuvre est une information complexe et cohérente. Donc deux concepts séparés (deux tables), mais associés… Si le choix de gestion est, à 1 occurrence dauteur correspondent N occurrences dœuvre, à 1 occurrence dœuvre ne correspond qu1 seule occurrence dauteur. Alors, cest une Association (1-N), appelée aussi, père/fils. Un lien père/fils (père du côté 1 et fils du côté N). Réalisé par le couple clef primaire (du père) / clef externe (du fils). Un premier exemple : deux concepts

7 7 Un premier exemple : représentation graphique du schéma dune table Plusieurs conventions possibles pour représenter le schéma dune table. On représente une table par un rectangle. Auteur CP : N° auteur Sexe Nom auteur Prénom auteur Année naissance Année décès Clef primaire Nom de la table Liste des champs (attributs)

8 8 Un premier exemple : représentation graphique du lien logique Le lien logique est représenté par une flèche allant de la clef externe de la table fils à la clef primaire de la table père. CP : N° auteur Sexe Nom auteur Prénom auteur Année naissance Année décès AuteurŒuvre CP : N° œuvre CE : Référence auteur Titre Clef externe Lien logique

9 9 BD pour la gestion des commandes dans une entreprise : un client passe une commande ; une commande nest passée que par un seul client ; la commande est constituée de plusieurs produits ; un produit peut être présent sur plusieurs commandes. Les concepts identifiés sans problème, 1.Client : nom, adresse, etc. 2.Produit : nom du produit, description, prix unitaire, etc. 3.Commande : numéro, date, liste des produits commandés avec la quantité commandée pour chacun deux. Un deuxième exemple (1/2)

10 10 Les concepts Client, Produit et Commande sont des tables. Une association (1-N) entre Client et Commande. un lien logique simple : clef primaire/clef externe. la table père : Client. la table fils : Commande. Une association (N-N) entre Commande et Produit. Un lien logique simple (Clé primaire/Clé externe) ne peut pas décrire cette association. Il faut donc « casser » cette association (N-N), par deux associations (1-N), par conséquent, ajouter une table intermédiaire… Un deuxième exemple (2/2)

11 11 Commande CP : N° Commande CE : Réf Client Date commande Lien_Cde_Pdt CP : ? CE : Réf Commande CE : Réf Produit Client CP : N° client Nom client Adresse Produit CP : Code produit Nom produit Description Prix Unitaire Quelle clef primaire pour cette table ? Un deuxième exemple : représentation graphique

12 12 Commande CP : N° Commande CE : Réf Client Date commande Lien_Cde_Pdt CP CE : Réf Commande CE : Réf Produit Client CP : N° client Nom client Adresse Produit CP : Code produit Nom produit Description Prix Unitaire Si une occurrence de Produit ne peut être associée quune seule fois à une occurrence de Commande, Alors, clef composée des deux clefs externes. Un deuxième exemple : clef composée pour Lien_Cde_Pdt

13 13 Commande CP : N° Commande CE : Réf Client Date commande Lien_Cde_Pdt CP : N° ligne cde CE : Réf Commande CE : Réf Produit Client CP : N° client Nom client Adresse Produit CP : Code produit Nom produit Description Prix Unitaire Si une occurrence de Produit peut être associée plusieurs fois à une occurrence de Commande, Alors, on utilise une clef autonome. Un deuxième exemple : clef autonome pour Lien_Cde_Pdt

14 14 O n veut ajouter la quantité commandée de chaque produit à notre BD. Où placer le champ correspondant à la donnée Quantité commandée ? La valeur de la quantité commandée dépend à la fois de la commande et du produit concerné. Il faut placer le champ dans la table qui décrit lassociation entre Commande et Produits. Un deuxième exemple : allons un peu plus loin…(1/2) Règle : pour placer un champ dans une table, il faut quil dépende entièrement de sa clef primaire.

15 15 Commande CP : N° Commande CE : Réf Client Date commande Lien_Cde_Pdt CP CE : Réf Commande CE : Réf Produit Quantité commandée Client CP : N° client Nom client Adresse Produit CP : Code produit Nom produit Description Prix Unitaire Un deuxième exemple : allons un peu plus loin…(2/2)


Télécharger ppt "Initiation aux bases de données et à la programmation événementielle Cours N°5 : Schéma dune Base de Données Support de cours de Souheib BAARIR. Page web."

Présentations similaires


Annonces Google