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

MS SQL Server Discussion :

Besoin de vos avis éclairé sur ma base de données


Sujet :

MS SQL Server

  1. #1
    Membre actif Avatar de scaleo
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 327
    Points : 219
    Points
    219
    Par défaut Besoin de vos avis éclairé sur ma base de données
    Bonjour, j'ai besoin d'aide pour la conception d'une base de données. N'etant pas une lumière en sql je ne suis pas sur de ce que j'ai fait .

    Voici a quoi ressemble mon mcd



    Voici mes interrogations a propos de ce que j'ai fait lol la liste :

    Pour ce qui est de l'utilisation de la base , normalement si une donnée est enregistré dans main et a l'identifiant 1 il faudrait que dans web l'enregistrement est aussi l'id 1 grave a la clef secondaire id_site or ce n'est pas la cas il en est de meme pour les autres tables

    De meme normalement faudrait que quand je supprime un enregistrement de la table web ben que l'image associé si image associé soit supprimé dans la table picture ainsi que sa référence en clef secondaire.

    En plus de sa si je supprime un mot de main faut qu'il soit déréférencé de web et picture

    Ce ne sont pas réellement des problèmes mais des intérrogations j'ai vraiment du mal avec le Sql et j'ai personne pour m'aider la dessus donc je me tourne vers vous

    voici les table en language Sql (ont rigole pas )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
     
     
    /*==============================================================*/
    /* Table: document                                              */
    /*==============================================================*/
    create table document (
       id_doc               bigint               identity(1,1),
       content              ntext                not null,
       link                 ntext                not null,
       icon                 nvarchar(77)         not null,
       size                 nvarchar(55)         not null,
       date                 nvarchar(50)         not null,
       creation             nvarchar(50)         not null,
       modification         nvarchar(50)         not null,
       subject              ntext                not null,
       assos                ntext                not null,
       constraint PK_DOCUMENT primary key  (id_doc)
    )
    go
     
    /*==============================================================*/
    /* Table: picture                                               */
    /*==============================================================*/
    create table picture (
       id_pic               bigint               identity(1,1),
       id_site              bigint               null,
       height               numeric              not null,
       width                numeric              not null,
       link_pic             ntext                not null,
       content              image                not null,
       icon                 nvarchar(30)         not null,
       constraint PK_PICTURE primary key  (id_pic)
    )
    go
     
    /*==============================================================*/
    /* Table: main                                                */
    /*==============================================================*/
    create table main (
       id                   bigint               identity(1,1),
       id_site              bigint               null,
       id_pic               bigint               null,
       words                ntext                not null,
       meta_title           nvarchar(3)          not null,
       meta_description     nvarchar(3)          not null,
       meta_keywords        nvarchar(3)          not null,
       occurency            nvarchar(50)         not null,
       percentage           nvarchar(50)         not null,
       doc_type             nchar(3)             not null,
       meta                 nvarchar(3)          not null,
       constraint PK_main primary key  (id)
    )
    go
     
    /*==============================================================*/
    /* Table: maindoc                                             */
    /*==============================================================*/
    create table maindoc (
       id                   bigint               identity(1,1),
       id_doc               bigint               null,
       words                ntext                not null,
       meta_title           nvarchar(3)          not null,
       meta_description     character(3)         not null,
       meta_keywords        nvarchar(3)          not null,
       occurency            nvarchar(50)         not null,
       percentage           nvarchar(50)         not null,
       type                 nvarchar(3)          not null,
       meta                 nvarchar(3)          not null,
       constraint PK_mainDOC primary key  (id)
    )
    go
     
    /*==============================================================*/
    /* Table: web                                                   */
    /*==============================================================*/
    create table web (
       id_site              bigint               identity(1,1),
       link                 ntext                not null,
       content              ntext                not null,
       description          ntext                not null,
       title                ntext                not null,
       language             ntext                not null,
       country              ntext                not null,
       size                 nvarchar(30)         not null,
       date                 nvarchar(60)         not null,
       category             nvarchar(60)         not null,
       keywords             ntext                not null,
       constraint PK_WEB primary key  (id_site)
    )
    go
     
    alter table picture
       add constraint FK_PICTURE_REFERENCE_WEB foreign key (id_site)
          references web (id_site)
    go
     
    alter table main
       add constraint FK_main_REFERENCE_WEB foreign key (id_site)
          references web (id_site)
    go
     
    alter table main
       add constraint FK_main_REFERENCE_PICTURE foreign key (id_pic)
          references picture (id_pic)
    go
     
    alter table maindoc
       add constraint FK_mainDO_REFERENCE_DOCUMENT foreign key (id_doc)
          references document (id_doc)
    go
    Merci de vos suggestions , critiques , aide ....
    Vista powaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ::

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    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 768
    Points : 52 571
    Points
    52 571
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    votre modèle est une horreur :
    1) utilisation de colonne dont le nom est identique et la définition divergente.
    Exemples : size nvarchar(30), nvarchar(55)
    Se cas ne doit s'entendre que pour les identifiants : la règle est que la clef étrangère doit avoir le même nom que la clef primaire de référence
    2) vous utilisez du bigint pour vos clef parce que vous allez travailler sur plateforme 64 bits ??? Si c'est sur du 32 bits
    3) vous utilisez des mots réservés pour vos nom de colonnes. Si c'est des emmerdements que vous cherchez vous allez sans doute être gaté
    exemple date
    4) vous n'expliquez rien de ce que votre base est censé aire au niveau applicatif. Comment voulez vous que l'on vous conseille ?

    Commencez par lire ceci :
    http://sqlpro.developpez.com/cours/standards/

    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/ * * * * *

Discussions similaires

  1. Réponses: 12
    Dernier message: 29/03/2012, 23h01
  2. Réponses: 2
    Dernier message: 28/08/2008, 13h03
  3. Besoin de vos avis sur www.bymusic.fr
    Par jonbymusic dans le forum Mon site
    Réponses: 12
    Dernier message: 25/03/2007, 08h39
  4. Besoin de vos avis sur un algo
    Par vodevil dans le forum Langage
    Réponses: 2
    Dernier message: 17/02/2006, 16h40

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