IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

création des types et des tables en sql3


Sujet :

Langage SQL

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 49
    Par défaut création des types et des tables en sql3
    Bonjour, j'ai un problème en sql3: quand on crée un type et quand on crée une table? et quelle est l'utilité d'utiliser les types ?
    Merci

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Si ces "types" sont des domaines, tu peux lire cet extrait de cours de SQLPro.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 49
    Par défaut
    Par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    create type bureau
    (NumB integer,
    etage integer,
    contient list(ref<posteTravail>)
    );
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    create table logiciels
    (codel integer primary key,
    noml varchar,
    ......)of new type logiciel;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    create table installation
    (
    datei Date,
    concerneposte ref<posteTravail>,
    concernelogiciel ref<logiciel>,
    ....
    );
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    create table bureaux of type bureau;
    Quelle est la différence entre ces 3 exemples et quand on utilise chacun d'entre eux?
    merci

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    As-tu lu le lien que je t'ai donné ?
    Ce n'est pas du tout à ça que ça doit servir !

    Ton type "bureau" est une donnée multi-valuée qui est contraire au principe élémentaire des bases de données : 1 donnée dans 1 colonne !

    Là il faut que tu crées une table "bureau" et la table "installation" contiendra en clés étrangères l'identifiant du bureau et l'identifiant du logiciel.

    Un type est fait pour "formater" spécifiquement un type plus générique.
    Prenons le cas des codes postaux français. Comme on ne fait pas de calcul avec, le type général est un CHAR(5) mais on ne peut pas y entrer 'abcde', uniquement des chiffres et le transtypage de cet ensemble de chiffres en nombre doit être compris entre une plage de valeur allant de 1000 (code 01000) à potentiellement 97999 (je ne crois pas qu'il y ait de code postal en dehors des départements donc jusqu'aux départements d'outremer qui commencent par 97) mais dans la réalité peut-être moins, il faudrait voir ça avec la Poste.

    On pourrait donc définir un type "code_postal" qui serait un CHAR(5) muni de contraintes. Ensuite, dans les tables, on pourrait utiliser ce type et le SGBD fait les vérifications tout seul.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. Création de Menu avec des éléments d'une table
    Par devalender dans le forum MkFramework
    Réponses: 9
    Dernier message: 18/10/2014, 15h39
  2. capacité de stockage des types : GEOMETRY, GEOGRAPHY,TABLE, CURSOR
    Par zinzineti dans le forum Administration
    Réponses: 4
    Dernier message: 30/11/2010, 12h19
  3. Réponses: 16
    Dernier message: 23/08/2010, 16h03
  4. Modification des types d'une table vers un autre
    Par BILLANT dans le forum Développement
    Réponses: 5
    Dernier message: 16/06/2010, 12h41
  5. Réponses: 1
    Dernier message: 19/05/2009, 09h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo