On s'dit tout

Forum pour débattre des questions high-tech, demander, partager une info, des astuces et des tutoriels. Rejoignez-nous !


    Un grand Projet SQL Server Entrez ...!!!

    Partagez
    avatar
    excalibur

    Nombre de messages : 56
    Date d'inscription : 26/09/2006

    Un grand Projet SQL Server Entrez ...!!!

    Message par excalibur le Dim 17 Déc - 20:48

    Dans ce Cas en va etudier " Une Gestion des Stocks "

    Objectif :

    =>Prendre en main les instructions Transact SQL relatives à la création et à la manipulation
    =>des objets d’une base de données.
    Outils de travail:

    =>Analyseur de requêtes
    =>Enterprise Manager

    On se propose de créer la base de G_Stock selon les informations ci-après :
    => Pour les Données
    Fichier logique Name:G_Stock_data
    Fichier Physique FileName: C:dataG_Stock.mdf
    Taille Initiale en MB Size: 8 MB
    Taille Max. en MB MaxSize: 20 MB
    Evolution en MB ou % FileGrowth: 2 MB

    =>Pour Journal
    Fichier logique Name:G_Stock_log
    Fichier Physique FileName: C:dataG_Stock.idf
    Taille Initiale en MB Size: 2 MB
    Taille Max. en MB MaxSize: 5 MB
    Evolution en MB ou % FileGrowth: 1 MB

    CREATE DATABASE G_Stock
    ON
    (NAME = 'G_Stock_data',
    FILENAME = 'c:dataG_Stock.mdf',
    SIZE = 8 MB, MAXSIZE = 20 MB, FILEGROWTH = 2 MB)
    LOG ON
    ( NAME = 'G_Stock_log',
    FILENAME = 'c:dataG_Stock.idf',
    SIZE = 2 MB, MAXSIZE = 5 MB, FILEGROWTH = 1 MB )
    GO

    Après avoir écrit et exécuté le script de création de la base de données G_Stock, chargez l’outil Enterprise Manager afin d’examiner les objets ainsi crées.
    Réactivez l’Analyseur de requêtes puis ré exécutez le script de création de la BD.
    Ecrivez un script qui test l’existence d’une BD avant de la créer, puis exécutez le tout ?


    Use Master
    IF EXISTS (
    SELECT name FROM master.dbo.sysdatabases WHERE name = N'G_Stock')
    DROP DATABASE G_Stock
    GO
    Chaque bloc doit se terminer par l’instruction GO


    Dans cet exercice vous allez créer des types (de données) utilisateur afin de les utiliser lors de la création des tables. Comme dans l’exercice précédent testez l’existence de chaque objet avant de le créer. Les types dont nous aurons besoin sont les suivants :


    Nom

    tu_Reference tu_Designation tu_Observation tu_Quantite tu_Prix tu_Date
    Type
    nvarchar(5) nvarchar(40) Char(100) Smallint money smalldatetime



    Use G_Stock
    EXEC sp_AddType 'ti_Reference', 'nvarchar(5)'
    EXEC sp_AddType 'tu_Designation', 'nvarchar(40)'
    EXEC sp_AddType 'tu_Observation', 'nvarchar(100)'
    EXEC sp_AddType 'tu_Quantite', 'smallint'
    EXEC sp_AddType 'tu_Prix', 'money'
    EXEC sp_AddType 'tu_Date', 'smalldatetime'
    GO


    Vérifiez que la création des types a bien abouti.Réactivez l’Analyseur de requêtes puis ré exécutez le script de création des types. Que se passe t-il ? Pourquoi ? Que faut t-il faire ?Ecrivez un script qui test l’existence des types avant de les créer, puis exécutez le tout.

    IF EXISTS(SELECT * FROM dbo.systypes WHERE name = 'tu_Reference')
    EXEC sp_DropType 'tu_Reference'
    IF EXISTS(SELECT * FROM dbo.systypes WHERE name = 'tu_Designation')
    EXEC sp_DropType 'tu_Designation'
    IF EXISTS(SELECT * FROM dbo.systypes WHERE name = 'tu_Observation')
    EXEC sp_DropType 'tu_Observation'
    IF EXISTS(SELECT * FROM dbo.systypes WHERE name = 'tu_Quantite')
    EXEC sp_DropType 'tu_Quantite'
    IF EXISTS(SELECT * FROM dbo.systypes WHERE name = 'tu_Prix')
    EXEC sp_DropType 'tu_Prix'
    IF EXISTS(SELECT * FROM dbo.systypes WHERE name = 'tu_Date')
    EXEC sp_DropType 'tu_Date'



    avatar
    excalibur

    Nombre de messages : 56
    Date d'inscription : 26/09/2006

    Re: Un grand Projet SQL Server Entrez ...!!!

    Message par excalibur le Lun 18 Déc - 10:40

    Vers la fin de cet exercice vous saurez créer un objet contrainte DEFAULT.
    Vérifiez l’existence des objets du_Un et du_date et supprimez les si le test s’avère positif.

    Use G_stock
    IF EXISTS(SELECT * FROM dbo.sysobjects WHERE name = 'du_Un' AND TYPE = 'D')
    DROP DEFAULT du_Un
    IF EXISTS(SELECT * FROM dbo.sysobjects WHERE name = 'du_Date' AND TYPE = 'D')
    DROP DEFAULT du_Date
    GO

    Créer l’objet DEFAULT du_Un correspondant à la valeur 1 et du_date correspondant à la date système (Utilisez la fonction GetDate()).


    Use G_Dtock
    CREATE DEFAULT du_Un AS 1
    GO
    CREATE DEFAULT du_Date AS GetDate()
    GO

    avatar
    excalibur

    Nombre de messages : 56
    Date d'inscription : 26/09/2006

    Re: Un grand Projet SQL Server Entrez ...!!!

    Message par excalibur le Lun 18 Déc - 10:48

    Cet exercice entend vous montrer comment créer un objet contrainte CHECK pour valider la saisie des données dans certaines colonnes des tables de la BD. Vérifiez l’existence de l’objet ru_0_1_2_3 et ru_Sup_a_zero et supprimez les si le test s’avère positif

    Use G_Stock
    IF EXISTS(SELECT * FROM dbo.sysobjects WHERE name = 'ru_Sup_a_zero' AND TYPE = 'R')
    DROP DEFAULT ru_Sup_a_zero
    IF EXISTS(SELECT * FROM dbo.sysobjects WHERE name = 'ru_0_1_2_3' AND TYPE = 'R')
    DROP DEFAULT ru_0_1_2_3

    Go
    Créer l’objet ru_Sup_a_zero imposant à un champ numérique de contenir des valeurs strictement positives. Créer ensuite l’objet ru_0_1_2_3 imposant à un champ numérique des valeurs comprises entre 0 et 3.

    Use G_Stock
    CREATE RULE ru_Sup_a_zero AS @ru_Sup_a_zero > 0
    GO
    CREATE RULE ru_0_1_2_3 AS @ru_0_1_2_3 >= 0 AND @ru_0_1_2_3 <= 3
    GO

    avatar
    excalibur

    Nombre de messages : 56
    Date d'inscription : 26/09/2006

    Re: Un grand Projet SQL Server Entrez ...!!!

    Message par excalibur le Lun 18 Déc - 10:51

    Dans cet exercice vous allez associer les objets DEFAULT et les objets RULE aux objets TYPES de données créés par l’utilisateur. Notez que vous pouvez associer ces objets directement aux colonnes des tables une fois qu’elles sont créées.
    Réaliser les association présentées dans le tableau ci-après :

    Default / Rule:
    ru_Sup_a_zero, ru_Sup_a_zero, du_Un , du_Date
    Type Utilisateur: tu_Prix , tu_Quantite ,tu_Quantite, tu_Date

    USE G_Stock
    EXEC sp_BindRule ru_Sup_a_Zero, 'tu_Prix'
    EXEC sp_BindRule ru_Sup_a_Zero, 'tu_Quantite'
    EXEC sp_BinDefault du_Un , 'tu_Quantite'
    EXEC sp_BinDefault du_Date , 'tu_Date'
    GO

    avatar
    excalibur

    Nombre de messages : 56
    Date d'inscription : 26/09/2006

    Re: Un grand Projet SQL Server Entrez ...!!!

    Message par excalibur le Lun 18 Déc - 10:56

    Dans cet exercice vous allez créer les tables de la BD G_Stock en vous servant des informations suivantes :

    Table : Bénéficiaire

    Champs : Nom :::: Type ::::::::::::::::: Null autorisé
    :::::::::: RefBen :: tu_reference ::::: Non
    :::::::::::DesBen ::tu_designation ::::Non
    :::::::::::PosBen :: nvarchar(5) ::::::Oui

    Table : Catégorie
    Champs : Nom ::::::: Type :::::::::::::: Null autorisé
    ::::::::::RefCat :::::tu_reference :::::Non
    ::::::::::DesCat :::::tu_designation :::Non

    Table : Fournisseur
    Champs : Nom :::::::::: Type :::::::::::::Null autorisé
    :::::::::::RefFou :::::: tu_reference :::Non
    :::::::::::DesFou :::::: tu_designation::Non
    :::::::::::VilFou ::::::::nvarchar(10) ::::Oui
    :::::::::::TelFou :::::::nvarchar(10) ::::Oui
    :::::::::::RapFou ::::::tinyint ::::::::::::Non

    Table : Produit
    Nom :::::::Type :::::::::::::Null autorisé
    RefPro ::::int :::::::::::::::::::Non
    DesPro ::::tu_designation::::: Non
    RefCat ::::tu_Reference::::::: Non
    PriUni ::::::money:::::::::::::: Non
    QteIni ::::::tu_Quantite:::::::: Non
    ObsPro::::: tu_Obseravation :::Non

    Table : Demande
    Nom ::::::::::Type:::::::::::::::::: Null autorisé
    RefDem::::::: nvarchar(10):::::::::Non
    RefBen ::::::::tu_Reference ::::::::Non
    DatDem :::::::tu_Date ::::::::::::::Non
    NomDem ::::::::tu_Designation :::::::Oui

    Table : DétailDemande
    Nom ::::::::::::Type ::::::::::::::::::Null autorisé
    RefDem ::::::::nvarchar(10) :::::::::::Non
    RefPro :::::::::int :::::::::::::::::::::::Non
    QteDem ::::::::tu_Quantite :::::::::::::Non

    Table : Entrée
    Nom ::::::::::::::::::::Type ::::::::::::::::::::Null autorisé
    RefEnt ::::::::::::::::int ::::::::::::::::::::::Non
    RefFou ::::::::::::::::tu_Reference :::::::::::::Non
    DatEnt ::::::::::::::::tu_Date ::::::::::::::::::::Non
    ObsEnt ::::::::::::::::tu_Observation ::::::::::::Oui

    Table : DétailEntrée
    Nom ::::::::::::::::::::Type ::::::::::::::::::Null autorisé
    RefEnt :::::::::::::::::int :::::::::::::::Non
    RefPro ::::::::::::::::::int ::::::::::::::::Non
    PriUni ::::::::::::::::::tu_Prix ::::::::::::::Non
    QteEnt ::::::::::::::::tu_Quantite ::::::::::Non

    Table : Sortie
    Nom ::::::::::::::Type ::::::::::::::::Null autorisé
    RefSor::::::::::::int ::::::::::::::::Non
    DatSor :::::::::::tu_Date :::::::::::Non
    RefDem :::::::::::varchar(10) ::::::::Non
    ObsSor ::::::::::::tu_Observation ::::Oui

    Table : DétailSortie
    Nom ::::::::::::::::::::Type ::::::::::::::::::Null autorisé
    RefSor :::::::::::::::::int :::::::::::::::::Non
    RefPro :::::::::::::::::int ::::::::::::::::::Non
    QteSor ::::::::::::::::tu_Quantite :::::::::Non

    Table : Ville
    Nom ::::::::::::::::::::::Type ::::::::::::::::::Null autorisé
    RefVil :::::::::::::::::::int ::::::::::::::::::Non
    DesVil ::::::::::::::::::nvarchar(25) ::::::::::Non
    ImaVil ::::::::::::::::::image :::::::::::::::::Non

    CREATE TABLE dbo.Bénéficiaire (
    RefBen tu_Reference NOT NULL ,
    DesBen tu_Designation NOT NULL ,
    PosBen nvarchar (4) NULL )
    GO

    CREATE TABLE dbo.Catégorie (
    RefCat int NOT NULL ,
    DesCat tu_Designation NOT NULL )
    GO

    CREATE TABLE dbo.Fournisseur (
    RefFou nvarchar (5) NOT NULL ,
    DesFou nvarchar (40) NOT NULL ,
    VilFou nvarchar (10) NULL ,
    TelFou nvarchar (10) NULL ,
    RapFou tinyint NOT NULL)
    GO

    CREATE TABLE dbo.Produit (

    RefPro int NOT NULL ,
    DesPro nvarchar (40) NOT NULL ,
    RefCat int NOT NULL ,
    PriUni tu_Prix NOT NULL ,
    QteIni tu_Quantite NOT NULL ,
    ObsPro tu_Observation NULL )
    GO

    CREATE TABLE dbo.Demande (
    RefDem nvarchar (10) NOT NULL ,
    RefBen tu_Reference NOT NULL ,
    DatDem tu_Date NOT NULL ,
    NomDem tu_Designation NULL )
    GO

    CREATE TABLE dbo.DétailDemande (
    RefDem nvarchar (10) NOT NULL ,
    RefPro int NOT NULL ,
    QteDem tu_Quantite NOT NULL )
    GO

    CREATE TABLE dbo.Entrée (
    RefEnt int NOT NULL ,
    RefFou tu_Reference NOT NULL ,
    DatEnt tu_Date NOT NULL ,
    ObsEnt tu_Observation NULL )
    GO

    CREATE TABLE dbo.DétailEntrée (
    RefEnt int NOT NULL ,
    RefPro int NOT NULL ,
    PriUni tu_Prix NOT NULL ,
    QteEnt tu_Quantite NOT NULL )
    GO

    CREATE TABLE dbo.Sortie (
    RefSor int NOT NULL ,
    DatSor tu_Date NOT NULL ,
    RefDem nvarchar (10) NOT NULL ,
    ObsSor nvarchar (100) NULL )
    GO

    CREATE TABLE dbo.DétailSortie (
    RefSor int NOT NULL ,
    RefPro int NOT NULL ,
    QteSor tu_Quantite NOT NULL )
    GO

    CREATE TABLE dbo.Ville (
    RefVil int NOT NULL ,
    DesVil nvarchar(25) NOT NULL ,
    ImaVil tu_Quantite NOT NULL )
    GO

    avatar
    excalibur

    Nombre de messages : 56
    Date d'inscription : 26/09/2006

    Re: Un grand Projet SQL Server Entrez ...!!!

    Message par excalibur le Lun 18 Déc - 11:21

    Vérifiez de deux façons que la création des tables a bien abouti
    Ecrivez un script qui test l’existence des tables avant de les créer, puis exécutez le tout


    IF EXISTS(SELECT * FROM dbo.sysobjects WHERE name = 'Bénéficiaire' AND type = 'U')
    DROP TABLE dbo.Bénéficiaire
    IF EXISTS(SELECT * FROM dbo.sysobjects WHERE name = 'Catégorie' AND type = 'U')
    DROP TABLE dbo.catégorie
    IF EXISTS(SELECT * FROM dbo.sysobjects WHERE name = 'Fournisseur' AND type = 'U')
    DROP TABLE dbo.Fournisseur
    IF EXISTS(SELECT * FROM dbo.sysobjects WHERE name = 'Produit' AND type = 'U')
    DROP TABLE dbo.Produit
    IF EXISTS(SELECT * FROM dbo.sysobjects WHERE name = 'Demande' AND type = 'U')
    DROP TABLE dbo.Demande
    IF EXISTS(SELECT * FROM dbo.sysobjects WHERE name = 'DétailDemande' AND type = 'U')
    DROP TABLE dbo.DétailDemande
    IF EXISTS(SELECT * FROM dbo.sysobjects WHERE name = 'Entrée' AND type = 'U')
    DROP TABLE dbo.Entrée
    IF EXISTS(SELECT * FROM dbo.sysobjects WHERE name = 'DétailEntrée' AND type = 'U')
    DROP TABLE dbo.DétailEntrée
    IF EXISTS(SELECT * FROM dbo.sysobjects WHERE name = 'Sortie' AND type = 'U')
    DROP TABLE dbo.Sortie
    IF EXISTS(SELECT * FROM dbo.sysobjects WHERE name = 'DétailSortie' AND type = 'U')
    DROP TABLE dbo.DétailSortie
    IF EXISTS(SELECT * FROM dbo.sysobjects WHERE name = 'Entrée' AND type = 'U')
    DROP TABLE dbo.Entrée
    IF EXISTS(SELECT * FROM dbo.sysobjects WHERE name = 'Ville' AND type = 'U')
    DROP TABLE dbo.Ville
    GO



    Dernière édition par le Lun 18 Déc - 11:33, édité 1 fois
    avatar
    excalibur

    Nombre de messages : 56
    Date d'inscription : 26/09/2006

    Re: Un grand Projet SQL Server Entrez ...!!!

    Message par excalibur le Lun 18 Déc - 11:31

    Supprimer la table Ville

    DROP TABALE dbo.Ville
    avatar
    excalibur

    Nombre de messages : 56
    Date d'inscription : 26/09/2006

    Re: Un grand Projet SQL Server Entrez ...!!!

    Message par excalibur le Lun 18 Déc - 11:32

    Apportez les modifications suivantes à la table Produit en vous faisant assister par le système d’aide Transact-SQL :

    Ajoutez la colonne QteDis de type tu_Quantite n’autorisant pas des valeurs Null
    Modifiez le type de la colonne PriUni de Money à tu_Prix
    Supprimez la colonne ObsPro


    IF EXISTS(SELECT * FROM dbo.sysobjects WHERE name = 'Ville' AND type = 'U')
    DROP TABLE dbo.Ville

    IF EXISTS(SELECT * FROM dbo.sysobjects WHERE name = 'Produit' AND type = 'U')
    ALTER TABLE dbo.Produit ADD
    QteDis tu_Quantite NOT NULL

    Une erreur se produit ! Expliquez pourquoi ?
    QteDis Ce n'est pas permis d'affecter
    Effectivement Ajouter une colonne à une table existante et exiger NOT NULL? risque de poser problème car la colonne à créer ne comporte aucune données, Par palier à ce problème. Il faut soit affecter une valeur par défaut à la nouvelle colonne, soit procéder à l'ajout puis alimenter les données pour ladite colonne et ensuite opérer une modification
    avatar
    excalibur

    Nombre de messages : 56
    Date d'inscription : 26/09/2006

    Re: Un grand Projet SQL Server Entrez ...!!!

    Message par excalibur le Lun 18 Déc - 11:42

    Dans cet exercice vous allez associer l’objet RULE ru_0_1_2_3 à la colonne RapFou de la table Fournisseur :

    USE G_Stock
    EXEC sp_BindRule ru_0_1_2_3 , 'Fournisseur.RapFou'
    GO

    avatar
    excalibur

    Nombre de messages : 56
    Date d'inscription : 26/09/2006

    Re: Un grand Projet SQL Server Entrez ...!!!

    Message par excalibur le Lun 18 Déc - 11:46

    L’objectif de cet exercice est la création des clés primaires des tables précédemment créées. Le tableau ci-dessous liste les clés à créer :



    Ecrivez un script qui crée les clés du tableau ci-dessus. Exécutez votre script.Assurez-vous que les clés sont toutes créées.
    Insérer un script au début de votre fichier pour tester l’existence des clés avant de les créer. Ensuite, exécutez votre code.

    USE G_Stock

    /*Test d'Existence

    IF EXISTS(SELECT name FROM dbo.sysobjects WHERE name = 'PK_Bénéficiaire' AND type = 'K')
    ALTER TABLE Bénéficiaire DROP CONSTRAINT PK_Bénéficiaire
    IF EXISTS(SELECT name FROM dbo.sysobjects WHERE name = 'PK_Catégorie' AND type = 'K')
    ALTER TABLE Catégorie DROP CONSTRAINT PK_Catégorie
    IF EXISTS(SELECT name FROM dbo.sysobjects WHERE name = 'PK_Fournisseur' AND type = 'K')
    ALTER TABLE Fournisseur DROP CONSTRAINT PK_Fournisseur
    IF EXISTS(SELECT name FROM dbo.sysobjects WHERE name = 'PK_Produit' AND type = 'K')
    ALTER TABLE Produit DROP CONSTRAINT PK_Produit
    IF EXISTS(SELECT name FROM dbo.sysobjects WHERE name = 'PK_Demande' AND type = 'K')
    ALTER TABLE Demande DROP CONSTRAINT PK_Demande
    IF EXISTS(SELECT name FROM dbo.sysobjects WHERE name = 'PK_DétailDemande' AND type = 'K')
    ALTER TABLE DétailDemande DROP CONSTRAINT PK_DétailDemande
    IF EXISTS(SELECT name FROM dbo.sysobjects WHERE name = 'PK_Entrée' AND type = 'K')
    ALTER TABLE Catégorie DROP CONSTRAINT PK_Entrée
    IF EXISTS(SELECT name FROM dbo.sysobjects WHERE name = 'PK_DétailEntrée' AND type = 'K')
    ALTER TABLE DétailEntrée DROP CONSTRAINT PK_DétailEntrée
    IF EXISTS(SELECT name FROM dbo.sysobjects WHERE name = 'PK_Sortie' AND type = 'K')
    ALTER TABLE Sortie DROP CONSTRAINT PK_Sortie
    IF EXISTS(SELECT name FROM dbo.sysobjects WHERE name = 'PK_DétailSortie' AND type = 'K')
    ALTER TABLE DétailSortie DROP CONSTRAINT DétailSortie
    GO

    /* Création de Clés Primaires
    ALTER TABLE Bénéficiaire ADD CONSTRAINT PK_Bénéficiaire
    PRIMARY KEY NONCLUSTERED(RefBen)
    ALTER TABLE Catégorie ADD CONSTRAINT PK_Catégorie
    PRIMARY KEY NONCLUSTERED(RefCat)
    ALTER TABLE Fournisseur ADD CONSTRAINT PK_Fournisseur
    PRIMARY KEY NONCLUSTERED(RefFou)
    ALTER TABLE Produit ADD CONSTRAINT PK_Produit
    PRIMARY KEY NONCLUSTERED(RefPro)
    ALTER TABLE Demande ADD CONSTRAINT PK_Demande
    PRIMARY KEY NONCLUSTERED(RefDem)
    ALTER TABLE DétailDemande ADD CONSTRAINT PK_DétailDemande
    PRIMARY KEY NONCLUSTERED(RefDem, RefPro)
    ALTER TABLE Entrée ADD CONSTRAINT PK_Entrée
    PRIMARY KEY NONCLUSTERED(RefEnt)
    ALTER TABLE DétailEntrée ADD CONSTRAINT PK_DétailEntrée
    PRIMARY KEY NONCLUSTERED(RefEnt, RefPro)
    ALTER TABLE Sortie ADD CONSTRAINT PK_Sortie
    PRIMARY KEY NONCLUSTERED(RefSor)
    ALTER TABLE DétailSortie ADD CONSTRAINT PK_DétailSortie
    PRIMARY KEY NONCLUSTERED(RefSor, RefPro)
    GO

    avatar
    excalibur

    Nombre de messages : 56
    Date d'inscription : 26/09/2006

    Re: Un grand Projet SQL Server Entrez ...!!!

    Message par excalibur le Lun 18 Déc - 11:53

    L’objectif de cet exercice est la création des clés étrangères des tables précédemment créées. Le tableau ci-dessous liste les clés à créer :


    ALTER TABLE Demande ADD CONSTRAINT FK_Demande_Bénéficiaire
    FOREIGN KEY (RefBen) REFERENCES Bénéficiaire (RefBen)
    ON UPDATE CASCADE

    ALTER TABLE Entrée ADD CONSTRAINT FK_Entrée_Fournisseur
    FOREIGN KEY (RefFou) REFERENCES Fournisseur (RefFou)
    ON UPDATE CASCADE

    ALTER TABLE Produit ADD CONSTRAINT FK_Produit_Catégorie
    FOREIGN KEY (RefCat) REFERENCES Catégorie (RefCat)
    ON UPDATE CASCADE

    ALTER TABLE DétailDemande ADD
    CONSTRAINT FK_DétailDemande_Demande
    FOREIGN KEY (RefDem) REFERENCES Demande (RefDem)
    ON DELETE CASCADE ON UPDATE CASCADE ,
    CONSTRAINT FK_DétailDemande_Produit
    FOREIGN KEY (RefPro) REFERENCES Produit (RefPro)
    ON UPDATE CASCADE

    ALTER TABLE DétailEntrée ADD
    CONSTRAINT FK_DétailEntrée_Entrée
    FOREIGN KEY (RefEnt) REFERENCES Entrée (RefEnt)
    ON DELETE CASCADE ON UPDATE CASCADE ,
    CONSTRAINT FK_DétailEntrée_Produit
    FOREIGN KEY (RefPro) REFERENCES Produit (RefPro)
    ON UPDATE CASCADE

    ALTER TABLE DétailSortie ADD
    CONSTRAINT FK_DétailSortie_Sortie
    FOREIGN KEY (RefSor) REFERENCES Sortie (RefSor)
    ON DELETE CASCADE ON UPDATE CASCADE ,
    CONSTRAINT FK_DétailSortie_Produit
    FOREIGN KEY (RefPro) REFERENCES Produit (RefPro)
    ON UPDATE CASCADE
    Go


    Ecrivez un script qui crée les clés étrangères du tableau ci-dessus. Commencez par la colonne gauche (section 1 Exemple de syntaxe ) puis la colonne droite (section 2 Exemple de syntaxe). Exécutez votre script.Assurez-vous que les clés sont toutes créées.
    Insérez un script au début de votre fichier pour tester l’existence des clés avant de les créer. Ensuite, exécutez votre code.

    IF EXISTS(SELECT name FROM dbo.sysobjects WHERE name = 'FK_Demande_Bénéficiaire' AND type = 'F')
    ALTER TABLE Demande DROP CONSTRAINT FK_Demande_Bénéficiaire

    IF EXISTS(SELECT name FROM dbo.sysobjects WHERE name = 'FK_Entrée_Fournisseur' AND type = 'F')
    ALTER TABLE Entrée DROP CONSTRAINT FK_Entrée_Fournisseur

    IF EXISTS(SELECT name FROM dbo.sysobjects WHERE name = 'FK_Produit_Catégorie' AND type = 'F')
    ALTER TABLE Produit DROP CONSTRAINT FK_Produit_Catégorie


    IF EXISTS(SELECT name FROM dbo.sysobjects WHERE name = 'FK_DétailDemande_Demande' AND Type = 'F')
    ALTER TABLE DétailDemande DROP CONSTRAINT FK_DétailDemande_Demande
    IF EXISTS(SELECT name FROM dbo.sysobjects WHERE name = 'FK_DétailDemande_Produit' AND Type = 'F')
    ALTER TABLE DétailDemande DROP CONSTRAINT FK_DétailDemande_Produit

    IF EXISTS(SELECT name FROM dbo.sysobjects WHERE name = 'FK_DétailEntrée_Entrée' AND type = 'F')
    ALTER TABLE DétailEntrée DROP CONSTRAINT FK_DétailEntrée_Entrée
    IF EXISTS(SELECT name FROM dbo.sysobjects WHERE name = 'FK_DétailEntrée_Produit' AND type = 'F')
    ALTER TABLE DétailEntrée DROP CONSTRAINT FK_DétailEntrée_Produit

    IF EXISTS(SELECT name FROM dbo.sysobjects WHERE name = 'FK_DétailSortie_Sortie' AND type = 'F')
    ALTER TABLE DétailSortie DROP CONSTRAINT FK_DétailSortie_Sortie
    IF EXISTS(SELECT name FROM dbo.sysobjects WHERE name = 'FK_DétailSortie_Produit' AND type = 'F')
    ALTER TABLE DétailSortie DROP CONSTRAINT FK_DétailSortie_Produit
    GO


    youare112

    Masculin Nombre de messages : 48
    Age : 32
    Localisation : lahdeb
    Date d'inscription : 11/10/2007

    Re: Un grand Projet SQL Server Entrez ...!!!

    Message par youare112 le Sam 17 Nov - 18:32

    merci mais si vous avez bcp de tp n'hesiter a les envoyer
    avatar
    abdellah147

    Masculin Nombre de messages : 105
    Age : 31
    Localisation : taounate
    Date d'inscription : 20/01/2007

    Re: Un grand Projet SQL Server Entrez ...!!!

    Message par abdellah147 le Dim 18 Nov - 16:24

    merci bcp mais pk pas tu ne le vais dans un fichier PDF et comme ca toule monde peux télécharger
    et merci autre fois!

    kimo_08

    Masculin Nombre de messages : 47
    Age : 32
    Localisation : guigou(ikhataren)
    Date d'inscription : 13/11/2007

    Re: Un grand Projet SQL Server Entrez ...!!!

    Message par kimo_08 le Mar 1 Jan - 18:27

    merci bcp mon ami

    kimo_08

    Masculin Nombre de messages : 47
    Age : 32
    Localisation : guigou(ikhataren)
    Date d'inscription : 13/11/2007

    Re: Un grand Projet SQL Server Entrez ...!!!

    Message par kimo_08 le Mar 1 Jan - 18:28

    merci bcp mon ami
    avatar
    tssri_bouznika

    Masculin Nombre de messages : 22
    Age : 31
    Localisation : bouznika
    Date d'inscription : 17/03/2007

    Re: Un grand Projet SQL Server Entrez ...!!!

    Message par tssri_bouznika le Dim 20 Jan - 0:44

    merci khoya

    lordmec

    Masculin Nombre de messages : 2
    Age : 31
    Localisation : fes
    Date d'inscription : 22/01/2008

    Re: Un grand Projet SQL Server Entrez ...!!!

    Message par lordmec le Mar 22 Jan - 14:29

    merci khoya sujet trés important
    avatar
    linux_mandriva

    Masculin Nombre de messages : 12
    Age : 31
    Localisation : maroc
    Date d'inscription : 17/10/2007

    Re: Un grand Projet SQL Server Entrez ...!!!

    Message par linux_mandriva le Jeu 28 Fév - 12:28

    merci bcp
    Very Happy

    bonbonera123456789

    Masculin Nombre de messages : 24
    Age : 38
    Date d'inscription : 12/12/2007

    Re: Un grand Projet SQL Server Entrez ...!!!

    Message par bonbonera123456789 le Jeu 28 Fév - 12:36

    l3azz a khay , wakha ma3reft mnin nbdah Laughing

    asmae123

    Féminin Nombre de messages : 42
    Age : 31
    Localisation : safi
    Date d'inscription : 23/02/2008

    Re: Un grand Projet SQL Server Entrez ...!!!

    Message par asmae123 le Dim 16 Mar - 0:18

    mercii
    j ai besoin de ton aide pour le projet de SQL car jai un projet cette année concernant le sql mais je sais pas de qoui je dois commencer.svp si vous avez des idées j'attende votre réponse.et merciiiii
    avatar
    wasssima

    Féminin Nombre de messages : 9
    Age : 31
    Localisation : casablanca
    Date d'inscription : 29/05/2008

    Re: Un grand Projet SQL Server Entrez ...!!!

    Message par wasssima le Jeu 29 Mai - 23:37

    merci bcp

    Contenu sponsorisé

    Re: Un grand Projet SQL Server Entrez ...!!!

    Message par Contenu sponsorisé


      La date/heure actuelle est Jeu 20 Sep - 8:56