Exercices TP2 Création de Tables – Contraintes de données

TP2 Création de Tables – Contraintes de données .pdf

Télécharger PDF

Université de Provence Bases de données Licence d’Informatique TP No 2 Troisième année Création de Tables – Contraintes de données

1) Création de Tables

a) Les types de données usuelles

  • CHAR(n) : chaines de caractères de longueur fixe, n≤2000.
  • VARCHAR2(n) : chaines de caractères de longueur variable, n≤4000.
  • LONG : chaines de caractères de longueur variable, jusqu’à 2 giga octets.
  • NUMBER : nombres réels (40 chiffres maximum).
  • NUMBER(n,k) : nombres décimaux de n chiffres en total dont k chiffres après le point décimal, n≤38.
  • DATE : date dont le format par défaut est : ‘DD-MON-YY’ (exemple : ‘20-OCT-00’ = 20 Octobre 2000).

Fonctions de conversion entre format de DATE et CHAINE DE CARACTERES

  • TO_DATE(chaine,format) : convertit une chaine de caractères en donnée de type DATE.
  • TO_CHAR(date,format) : convertit une donnée de type DATE en chaine de caractères.

Valeur NULL

représente l’absence de valeur ou une valeur inconnue.

b) Contraintes de données

  • NOT NULL : pour imposer que toutes les valeurs d’une colonne soient connues.
  • PRIMARY KEY(A1,…,Ak) : pour définir que l’ensemble des colonnes A1,…,Ak forment la clé primaire d’une table.
  • FOREIGN KEY(A1,…,Ak) REFERENCES nom_table(B1,…,Bk) : pour imposer que les colonnes A1,…,Ak se référencent respectivement aux colonnes B1,…,Bk de la table ‘nom_table’.
  • CHECK (condition simple) : pour imposer que les valeurs d’une colonne doivent satisfaire une condition.

c) Commandes de création de tables

CREATE TABLE DEPT (Deptno NUMBER(3), Dnom VARCHAR2(15), Adr VARCHAR2(15), PRIMARY KEY(Deptno));
CREATE TABLE EMP (EmpNo NUMBER(5) PRIMARY KEY, Enom VARCHAR2(15) NOT NULL, Job VARCHAR2(10), DirNo NUMBER(5), Sal NUMBER(7,2), Prime NUMBER(5,2), DeptNo NUMBER(3), CONSTRAINT dept_cle_etr FOREIGN KEY(DeptNo) REFERENCES DEPT(DeptNo));
ALTER TABLE DEPT ADD CONSTRAINT dnom_cle UNIQUE(Dnom, Adr);
ALTER TABLE EMP ADD CONSTRAINT sal_prime_pos CHECK (Sal>0 AND Prime>=0);

2) Exercices

Schémas de relations d’une gestion de vente de pièces de voitures. La clé primaire de chaque schéma est soulignée. Les références entre les colonnes de tables, si cela est possible, se déterminent par l’usage des noms identiques de colonnes.

  • Fourn(Fournisseur, Adr, Tel)
  • Piece(IdPiece, NomdePiece, Codebarre, PrixUnit, Fournisseur)
  • Compatib(IdPiece, NomdePiece, MarqueVoiture, TypeVoiture)
  • Facture(NoFacture, Codebarre, Client, DateFacture, Qte, PrixFacture)

3) Requêtes

  • Liste des prix d’un embrayage.
  • Liste des téléphones des fournisseurs qui fournissent les embrayages.
  • Liste des prix des embrayages qui sont compatibles avec une voiture de marque Ford, type AAF.
  • Liste des fournisseurs qui fournissent au moins une de ces pièces.
  • Liste des clients dont au moins une facture a une de ces pièces.
  • Liste des fournisseurs de pièces qui apparaissent dans une facture de Paul Dupont, daté le 22-Jan-07.
  • Liste des pièces d’une Peugeot 306 qui peuvent être compatibles avec une Peugeot 205.

FAQ

1. Qu'est-ce qu'une clé primaire ?

Une clé primaire est une colonne ou un ensemble de colonnes qui identifie de manière unique chaque ligne d'une table.

2. Comment définir une contrainte NOT NULL ?

Pour définir une contrainte NOT NULL, vous utilisez la clause NOT NULL dans la définition de la colonne.

3. Qu'est-ce qu'une contrainte CHECK ?

Une contrainte CHECK impose que les valeurs d'une colonne doivent satisfaire une condition spécifique.

Cela peut vous intéresser :

Partagez vos remarques, questions , propositions d'amélioration ou d'autres cours à ajouter dans notre site

Enregistrer un commentaire (0)
Plus récente Plus ancienne