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 :

Split de données sur plusieurs tables: demande d'explications


Sujet :

Développement SQL Server

  1. #1
    Membre habitué

    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 93
    Points : 145
    Points
    145
    Billets dans le blog
    1
    Par défaut Split de données sur plusieurs tables: demande d'explications
    Bonjour, je développe une application de monitoring et statistique qui enregistre un grand flux de données (GPS) en base de données et qui doit permettre plusieurs choses:
    • Faire des statistiques de passage
      • Par Jour ou sur une plage de durée
      • Par identifiant
      • Par Zone
      • Par Rue

    • Pouvoir afficher en tableau comme l'ancienne version du logiciel


    ID Date et Heure Type Rue Ville Zone Latitude longitude

    • Avoir la possibilité de modifier facilement valeurs (aka un recalcule des rues si changement de nom ou mise à jour de la carte)



    L'ancienne version du logiciel n’étant pas adaptée pour un grand nombre de données, je travaille actuellement sur la création d'une toute nouvelle version utilisant un nouveau modèle de données que j'ai peaufiné en lisant différents tutoriels et posts de forum sur developpez.
    L'ancienne version enregistrait les informations dans une seule table et rendait les opérations lourdes.



    voici une présentation rapide de l'ancienne table

    Nom : oldBDD.png
Affichages : 528
Taille : 2,7 Ko
    voici une présentation de la version Splitée
    Nom : BDD.png
Affichages : 667
Taille : 22,0 Ko

    J'ai créé une Vue Historique qui remplace donc l'ancienne table historique, Ceci permet donc de garder mes anciennes requetes select.
    Par contre je voudrais de l'aide concernant les inserts et les updates car je voudrais que chaque information qui se retrouve dans les table filles (la table parente etant Histo_Data) n'aient pas de doublon (par exemple dans Histo_Rue je doit pas avoir deux fois la rue tartempion et dans histo_ville je dois pas avoir 1000 fois Paris)

    Donc ma grande question est Comment je doit gérer l'insert, la suppression et la mise à jour des données de Histo_data sachant que de base il est courant que l'information entrée contient des données inexistantes dans les tables filles (nouvelle rue, zone, ext)?

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Vous pouvez créer un trigger INSTEAD OF sur la vue.

    A l'intérieur de ce trigger, vous insérerez d'abord les lignes manquantes dans les table référencées (rue, zone,...)
    Puis vous insérez dans la table Histo_DATA.

  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,

    Vous pouvez gérer cela avec un procédure stockée aussi, à l'aide de l'instruction MERGE combinée à l'utilisation de sa clause OUTPUT au besoin.

    @++

Discussions similaires

  1. [2008] Extraction importante de données sur plusieurs tables
    Par jef531 dans le forum Développement
    Réponses: 9
    Dernier message: 30/07/2013, 08h40
  2. [Débutant] Affichage de données sur plusieurs tables.
    Par a.floranc dans le forum ASP.NET
    Réponses: 2
    Dernier message: 13/12/2011, 14h11
  3. Acces aux données sur plusieurs tables
    Par Scoha dans le forum Linq
    Réponses: 1
    Dernier message: 21/05/2010, 10h08
  4. Réponses: 1
    Dernier message: 01/05/2008, 08h26
  5. Affichage de données sur plusieurs tables
    Par urbalk dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/04/2007, 09h31

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