WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Gestion d'informations. Mutation vers les bases de données relationnelles et le langage SQL.


par Jacques MUDUMBI
Université de Yaoundé 1 - Master 2017
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

IV.2. Le langage de définition des données (LDD) [31]

Le langage de définition de données (LDD, ou Data Definition Language, soit DDL en anglais) est un langage orienté au niveau de la structure de la base de données. Le LDD permet de créer, modifier, supprimer des objets. Il permet également de définir le domaine des données (nombre, chaîne de caractères, date, booléen, . . .) et d'ajouter des contraintes de

67

valeur sur les données. Ces choses étant dit, il permet enfin d'autoriser ou d'interdire l'accès aux données et d'activer ou de désactiver l'audit pour un utilisateur donné.

Les instructions du LDD sont : CREATE, ALTER, DROP, AUDIT, NOAUDIT, ANALYZE, RENAME, TRUNCATE.

IV.2.1. Notion aux contraintes d'intégrité

Soit le schéma relationnel minimaliste suivant : - Acteur (Num-Act, Nom, Prénom), - Jouer (Num-Act, Num-Film), - Film (Num-Film, Titre, Année),

1. Contrainte d'intégrité de domaine

On ne cesse de parler de cette contrainte d'intégrité de domaine sans expliquer la cause. Toute comparaison d'attributs n'est acceptée que si ces attributs sont définis sur le même domaine. Le SGBD doit donc constamment s'assurer de la validité des valeurs d'un attribut. C'est pourquoi la commande de création de table doit préciser, en plus du nom, le type de chaque colonne.

Par exemple, pour la table Film, on précisera que le Titre est une chaîne de caractères et l'Année une date. Lors de l'insertion de n-uplets dans cette table, le système s'assurera que les différents champs du n-uplet satisfont les contraintes d'intégrité de domaine des attributs précisées lors de la création de la base. Si les contraintes ne sont pas satisfaites, le n-uplet n'est, tout simplement, pas inséré dans la table.

2. Contrainte d'intégrité de relation (ou d'entité)

Ces choses étant dites, lors de l'insertion de n-uplets dans une table (i.e. une relation), il arrive qu'un attribut soit inconnu ou non défini. On introduit alors une valeur conventionnelle notée NULL et appelée valeur nulle.

Cependant, une clé primaire ne peut avoir une valeur nulle. De la même manière, une clé primaire doit toujours être unique dans une table. Cette contrainte forte qui porte sur la clé primaire est appelée contrainte d'intégrité de relation.

Il convient de noter que tout SGBD relationnel doit vérifier l'unicité et le caractère défini (NOT NULL) des valeurs de la clé primaire.

3. Contrainte d'intégrité de référence

Dans tout schéma relationnel, il existe deux types de relation :

? Les relations qui représentent des entités de l'univers modélisé ; elles sont qualifiées de statiques, ou d'indépendantes ; les relations Acteur et Film en sont des exemples ;

68

? Les relations dont l'existence des n-uplets dépendent des valeurs d'attributs situées dans d'autres relations ; il s'agit de relations dynamiques ou dépendantes ; la relation Jouer en est un exemple.

--Lors de l'insertion d'un n-uplet dans la relation Jouer, le SGBD doit vérifier que les valeurs Num-Act et Num-Film correspondent bien, respectivement, à une valeur de Num-Act existant dans la relation Acteur et une valeur Num-Film existant dans la relation Film.

--Lors de la suppression d'un n-uplet dans la relation Acteur, le SGBD doit vérifier qu'aucun n-uplet de la relation Jouer ne fait référence, par l'intermédiaire de l'attribut Num-Act, au n-uplet que l'on cherche à supprimer. Le cas échéant, c'est-à-dire si une, ou plusieurs, valeur correspondante de Num-Act existe dans Jouer, quatre possibilités sont envisageables :

? interdire la suppression ;

? supprimer également les n-uplets concernés dans Jouer ;

? avertir l'utilisateur d'une incohérence ;

? mettre les valeurs des attributs concernés à une valeur nulle dans la table Jouer,

si l'opération est possible (ce qui n'est pas le cas si ces valeurs interviennent dans une clé primaire) ;

Les types de données

Les types de données peuvent être :

INTEGER : Ce type permet de stocker des entiers signés codés sur 4 octets.

BIGINT : Ce type permet de stocker des entiers signés codés sur 8 octets.

REAL : Ce type permet de stocker des réels comportant 6 chiffres significatifs codés sur 4 octets.

DOUBLE PRECISION : Ce type permet de stocker des réels comportant 15 chiffres significatifs codés sur 8 octets.

NUMERIC[(précision, [longueur])] : Ce type de données permet de stocker des données numériques à la fois entières et réelles avec une précision de 1000 chiffres significatifs. longueur précise le nombre maximum de chiffres significatifs stockés et précision donne le nombre maximum de chiffres après la virgule.

CHAR(longueur) : Ce type de données permet de stocker des chaînes de caractères de longueur fixe. longueur doit être inférieur à 255, sa valeur par défaut est 1. VARCHAR(longueur) : Ce type de données permet de stocker des chaînes de caractères de longueur variable. longueur doit être inférieur à 2000, il n'y a pas de valeur par défaut. DATE : Ce type de données permet de stocker des données constituées d'une date.

69

TIMESTAMP : Ce type de données permet de stocker des données constituées d'une date et

d'une heure.

BOOLEAN : Ce type de données permet de stocker des valeurs Booléenne.

MONEY : Ce type de données permet de stocker des valeurs monétaires.

TEXT : Ce type de données permet des stocker des chaînes de caractères de longueur variable.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il ne faut pas de tout pour faire un monde. Il faut du bonheur et rien d'autre"   Paul Eluard