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 :

partage d'expérience sur les bases de données


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 163
    Points : 98
    Points
    98
    Par défaut partage d'expérience sur les bases de données
    Bonjour,

    Voilà je suis aujourd'hui DBA débutant pour une structure disons importante et dans ce cadre j'administre des bases de données oracle. J'ai été très surpris avec l'une de ces bases de données. Cette base comporte quelques 1200 tables et index. Pas une seule clé, pas de contraintes bref le néant. Cette base est le support d'un gros produit (de gestion) bien cher et développé par un éditeur bien connu (je n'en dirai pas plus je n'ai pas envie de perdre mon job).

    Est ce que vous avez déjà été confronté à ce genre de base de données ?
    Est ce que cette manière de construire une base est une pratique courante ?
    Je n'arrete pas de me dire que si elle est construite comme cela c'est qu'il y a une raison, je cherche mais je trouve pas...

    Merci de vos témoignages.

    Jérôme

  2. #2
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    j'ai toujours vu ça aussi dans des très grosses boites (Finance). ça fait drôle effectivement quand on sort de l'école

    pas de modèle cohérent, pas de MCD, formes normales connait pas (genre plusieurs infos dans le même champ), jamais de clé primaire.

    après quand ça rame "ben on va ptête créer des index" et nous voila avec 10 index selon différentes combinaisons de champs.


    la raison principale, c'est que la base n'est pas au centre du dev des applications comme on l'apprend à l'école, les équipes de dev font leurs cuisines dans leurs coins. Quand on a besoin de faire communiquer 2 applis, ils créent des tables / vues spécifiques entre leurs "modèles", des traitements sont refaits 2 ou 3 fois de manière différentes (typiquement des VWAP), ...

    Quand un problème global se présente (la MiFID actuellement), on refond certaines tables proprement, on ajoute des colonnes à droite à gauche pour que ça fonctionne sur les anciennes appli et on ne touche plus à rien quand ça marche



    Pour te dire à quel point c'est catastrophique, dans un grand établissement financier à Paris, j'ai dû faire du Matlab, pour extraire des flux de données marché super courantes (tick db si ça te parle) afin de pouvoir en faire qqch en SQL...


    J'espère que d'autres ont de meilleurs expériences que moi, j'ai toujours vu les BD sur le terrain comme un sac de nœud dont personne n'a un schéma précis.

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 789
    Points
    30 789
    Par défaut
    Bienvenue dans le monde réel

    Le discours des développeurs de ces produits est le suivant :
    La vérification des contraintes est effectuée dans l'application, il n'est donc pas nécessaire de la reproduire dans la base de données, cela ferait double emploi.
    Par ailleurs, les index sont coûteux en volume et en temps de mise à jour.

    Je continue donc à développer mes applications de gestion avec un SGBDR que j'utilise comme un conteneur de fichiers séquentiels, avec des procédures stockées et des boucles sur des curseurs....
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 763
    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 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    Je rajoute qu'actuellement étant en train de donner un cours de modélisation chez Orsys.... C'est exactement le discours que je tiens à mes stagiaires... C'est aussi ce qu'eux même ont déjà constaté avant de venir à cette formation !!!

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

  5. #5
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 163
    Points : 98
    Points
    98
    Par défaut
    Bon ok ben je vais m'amuser pour optimiser les perfs...

    C'est quand même dingue, je comprends un peu mieux mais je suis toujours autant surpris bref...

    Et effectivement il y a beaucoup beaucoup d'index (trop ?)...

  6. #6
    Membre averti
    Avatar de SoBaKa
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Points : 349
    Points
    349
    Par défaut
    je commence à me dire que ça doit être la même chose partout la

    j'ai commencé comme développeur .net/sql dans une boite de taille moyenne et quand j'ai vu le foutoir qu'a fait le département IT avec les bases de données c'est hallucinant...

    Je rajouterais aussi qu'il y a le problème du nom des champs d'une table pour l'id par exemple, pour certaines tables c'est juste 'id', pour d'autres 'table_id' ou encore 'tableId'... et heureusement que ce n'est pas case sensitive (Ah la joie de faire des jointures quand déjà tu t'y retrouves pas dans les noms des tables et qu'ensuite c'est les noms des champs qui te rende fou...)
    ****** Analyse/Développeur .Net

  7. #7
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 163
    Points : 98
    Points
    98
    Par défaut
    Ben moi j'avais jamais vu çà ni entendu parler de cette manière de procèder. j'ai fait du dév j'ai un éditeur de soft parisien et bien nous étions assez pointu côté oracle sur
    1 - l'archi de la base
    2 - l'optimisation des requêtes et leur écritures.
    bref très school spirit si je peux dire...

    J'ai été jusqu'à regarder les requêtes que l'appli lance sur la base et j'ai vu des choses que je n'avais vu avant. Je me dis qu'il y a surement une raison pour que les requêtes soit écrites comme çà ... mais çà fait drôle surtout de la part d'un editeur de cette envergure. Enfin c'est comme çà


    Citation Envoyé par SoBaKa Voir le message
    je commence à me dire que ça doit être la même chose partout la

    j'ai commencé comme développeur .net/sql dans une boite de taille moyenne et quand j'ai vu le foutoir qu'a fait le département IT avec les bases de données c'est hallucinant...

    Je rajouterais aussi qu'il y a le problème du nom des champs d'une table pour l'id par exemple, pour certaines tables c'est juste 'id', pour d'autres 'table_id' ou encore 'tableId'... et heureusement que ce n'est pas case sensitive (Ah la joie de faire des jointures quand déjà tu t'y retrouves pas dans les noms des tables et qu'ensuite c'est les noms des champs qui te rende fou...)

  8. #8
    Membre averti
    Avatar de SoBaKa
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Points : 349
    Points
    349
    Par défaut
    Citation Envoyé par grome Voir le message
    J'ai été jusqu'à regarder les requêtes que l'appli lance sur la base et j'ai vu des choses que je n'avais vu avant. Je me dis qu'il y a surement une raison pour que les requêtes soit écrites comme çà ...
    Oui, il y a une raison... pas forcément une bonne raison mais la seule raison c'est que ça fonctionne... c'est malheureux mais c'est comme ça...
    ****** Analyse/Développeur .Net

  9. #9
    Inscrit

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Points : 1 229
    Points
    1 229
    Par défaut
    Citation Envoyé par grome Voir le message
    Cette base est le support d'un gros produit (de gestion) bien cher et développé par un éditeur bien connu (je n'en dirai pas plus je n'ai pas envie de perdre mon job).
    oh tu n'as pas besoin de dire le nom de l'éditeur...Ceux qui l'ont déjà croisé l'auront reconnu tout de suite
    In my experience, any attempt to make any system idiot proof will only challenge God to make a better idiot.

  10. #10
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    182
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 182
    Points : 113
    Points
    113
    Par défaut
    Je vois que je ne suis pas le seul a constater la difference entre ceux qui est enseigné en theorie et ce que l'on voit sur le terrain.
    On se retrouve dans des situations ou l'on doit bidouiller a droite a gauche pour optimiser les perf faute de pouvoir toucher au modele qui tourne depuis deja plusieurs annees comme ca.
    Moi aussi je travaille sur de grosses bases de données dans la Finance et ce que l'on peut voir est asez hallucinant ( pas de relations entre les tables, des tables sans clé primaires etc....)
    Je n'est toujours pas trouvé la raison de cette facon de modeliser les tables, a mon avis c'est pour gagner du temps et ne pas avoir a gerer les problemes qui pourrait survenir sur la bd ( juste à gerer l'applicatif).

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 500
    Points : 639
    Points
    639
    Par défaut
    Chers amis, qui avaient appris à l'école ce qu'étaient une clé primaire, une clé étrangère, un index, une forme normale, et j'en passe... dites vous bien, si vous ne l'avez pas encore constaté, que nous sommes en minorité dans ce cas dans notre profession.
    Tant que les décideurs et les recruteurs, côté clients comme côté SSII, n'auront pas compris que l'informatique est un vrai métier et pas seulement une vitrine bureautique/multimédia très alléchante et accessible à tous, qui à ce titre nécessite une formation, tant qu'ils recruteront des pseudos-scientifiques (dans le meilleur des cas), mais aussi des économistes, des juristes, restés sur le carreau dans leur branche, pour faire notre métier, tant que ces décideurs et nos chefs de projets seront eux-mêmes issus de filières non-informatiques, nous passerons derrière des gens qui font de la merde à l'insu de leur plein gré...
    Des chercheurs qui cherchent, on en trouve, mais des chercheurs qui trouvent, on en cherche !

Discussions similaires

  1. Aide sur les bases de données
    Par weedox dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 24/10/2008, 14h36
  2. Réponses: 8
    Dernier message: 05/11/2007, 01h30
  3. Cherche bon cours sur les bases de données
    Par SOPSOU dans le forum Bases de données
    Réponses: 2
    Dernier message: 07/09/2007, 14h56
  4. [Lazarus] Renseignement sur les bases de données
    Par lohot dans le forum Lazarus
    Réponses: 1
    Dernier message: 17/01/2007, 22h04
  5. Livre gratuit sur les bases de données...
    Par benby dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 26/05/2005, 12h24

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