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

Développement SQL Server Discussion :

Comment créer un type liste


Sujet :

Développement SQL Server

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Comment créer un type liste
    bonjour à tous
    voila je commence à travailler dans sql server 2000 et je n'arrive pas à créer un type de donnée liste.
    par exemple l'entité étudiant: qui a un attribut sexe pouvant être masculin ou féminin.
    donc je voudrai créer le type sexe avec deux valeurs : M, F



    merci de me repondre
    cordialement.

  2. #2
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonsoir,

    Créez une table contenant ces attributs !

    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  3. #3
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    En bases de données relationnelles SQL, il n'y a pas de listes (ni de tableau, ni de champ, ni enregistrement)

    Pour faire ce que vous souhaitez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TABLE dbo.sexe
    (
    	sexe_id bit NOT NULL CONSTRAINT PK_sexe PRIMARY KEY
    	, sexe_nom char(5) NOT NULL CONSTRAINT CHK_sexe__sexe_nom CHECK(sexe_nom IN('HOMME', 'FEMME'))
    )
    GO
     
    INSERT INTO dbo.sexe (sexe_nom) VALUES ('HOMME')
    INSERT INTO dbo.sexe (sexe_nom) VALUES ('FEMME')
    Ensuite, dans la table étudiant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE Etudiant
    (
    	etudiant_id int NOT NULL IDENTITY CONSTRAINT PK_Etudiant PRIMARY KEY
    	, ...
    	, sexe_id bit NOT NULL CONSTRAINT FK_Etudiant__sexe_id FOREIGN KEY (sexe_id) REFERENCES dbo.sexe
    )
    La contrainte vous permet de vérifier que seules les valeurs de clé de la table sexe peuvent être utilisées pour spécifier le sexe d'un étudiant.

    Oubliez SQL Server 2000, qui est obsolète !
    Passez à SQL Server 2008 ! Sa version gratuite (édition express) vous permet de créer une BD de 10Go
    Suivez scrupuleusement les étapes décrites au paragraphe Instructions.

    Si vous y passez, installez par la suite SQL Server Management Studio, qui est l'interface graphique qui vous permettra d'écrire les requêtes et de gérer la base de données

    Voici la documentation en ligne de cette version, que vous pouvez aussi télécharger ici

    @++

  4. #4
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Re,

    @elsuket

    il n'y a pas de listes (ni de tableau, ni de champ, ni enregistrement)
    C'est vrai que ma réponse était un peu succincte


    Mais par ailleurs, je pensais plus au modèle, effectivement ! Merci de ces précisions


    Vais arrêter le café la journée ^^

    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  5. #5
    Futur Membre du Club
    Inscrit en
    Mai 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    bjr esulket
    merci pr ta réponse mais à vrai dire je pensais que je pourrais créer cette table en mode graphique et insérer les valeurs ('HOMME','FEMME'). est ce possible ?



    cordialement

  6. #6
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    merci pr ta réponse mais à vrai dire je pensais que je pourrais créer cette table en mode graphique et insérer les valeurs ('HOMME','FEMME'). est ce possible ?
    Oui mais pour quoi faire ?
    Si un jour vous avez besoin de ré-exécuter ce script, il sera là.

    Je n'utilise jamais la GUI pour la création des tables. Donc je ne peux pas vous aider mais je ne pense pas que cela soit très compliqué ...

    @++

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 774
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 774
    Points : 52 744
    Points
    52 744
    Billets dans le blog
    5
    Par défaut
    Hélas si c'est très compliqué avec le mode graphique !!!!

    Plus simple aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    CREATE TABLE Etudiant
    (
    	etudiant_id int NOT NULL IDENTITY CONSTRAINT PK_Etudiant PRIMARY KEY
    	, ...
    	, sexe CHAR(5) CHECK (sexe IN ('HOMME', 'FEMME')),
    ...
    )
    Cela s'appelle une contrainte de validité. Lisez ce que j'ai écrit à ce sujet :
    http://sqlpro.developpez.com/cours/s...partie2#L7.1.6
    http://sqlpro.developpez.com/contrai...aintes_SQL.pdf

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  8. #8
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Si par exemple nous avions une application qui ait besoin de stocker toutes les personnes d'une université, il serait plus avantageux de créer une table personne, et d'en faire des spécialisations.
    En ce sens le sexe ne doit donc être stocké que dans une colonne, comme l'a proposé SQLPro.
    Je ne trouve pas de cas où l'on doive stocker le sexe dans une table.

    @++

Discussions similaires

  1. Comment créer facilement une liste de radiobutton ?
    Par WebPac dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 01/12/2010, 16h25
  2. Comment créer ce type d'application avec widget
    Par karas.uchiwa dans le forum Flex
    Réponses: 1
    Dernier message: 04/01/2010, 11h31
  3. Réponses: 2
    Dernier message: 08/09/2008, 09h28
  4. [.xls] Comment créer ce type de fichier sans avoir Excel ?
    Par fredppp dans le forum Framework .NET
    Réponses: 1
    Dernier message: 05/09/2008, 12h29

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