héritage (MCD -> MLD -> BDD)

Eléphant du PHP | 417 Messages

22 nov. 2012, 00:36

bonjour à tous,

quand on a un héritage dans mcd et qd on passe au MLD puis au script de bdd, est ce que c'est normale d'avoir les attribus de la table mère dans les tables héritant ?

ex :

users(id,name, surname,brithDay,tel,mail...)

et deux table prof et étudiant qui héritant de la table user est ce que au niveau de la bdd on doit avoir les attributs de users (name,surname..) répété a chaque fois dans table prof et étudiants ? ou juste l'id + les attributs spécial de chaque table ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

23 nov. 2012, 22:52

salut,

Par principe je te dis non car cela va l'encontre de la première forme normal, sauf s'il s'agit d'une clef primaire ;)

ensuite je pense que si c'est un soft qui fait ça tu dois avoir mal fait un truc XD

un exemple http://sqlpro.developpez.com/cours/mode ... /heritage/


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 417 Messages

24 nov. 2012, 11:25

merci pour votre réponse Moogli,

oui effectivement c'est win design qui me gére le script sql, ça peut venir de quoi a votre avis ?
y a un truc aussi bisard dans le script c'est que les index ils sont pas auto incrémenté, et les nom des attributs sont en majuscule sachent que quand je les crées j'utilise cette forme idUsers par exemple et dans le script j'ai IDUSERS :s

merci pour le lien

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

24 nov. 2012, 17:25

pour ce qui est modélisation : http://sqlpro.developpez.com/cours/modelisation/merise/

après suivant le sgbd il peux y avoir des différences ce casse, par exemple oracle stock tout en majuscule alors mysql c'est plutot miniscule, mais de toute façon le nom de champs son généralement non sensible à la casse donc camel case ou pas "osef" :).

ensuite le mécanisme d'autre incrementation indiqué sur la colonne c'est spécifique mysql.
Les autres SGBD (oracle postgresql etc) utilise une séquence (c'est un chiffre qui s'incrémente à chaque demande) et un trigger before insert pour appeler la séquence et ainsi placer l'auto increment (il est possible que mysql utilise ce type de mécanisme en interne j'ai pas regardé).

après je ne sais pas ce que win design vaut coté SQL, il est préférable de la faire toi même ou d'utiliser d'autre soft de modélisation pour comparer. par exemple power AMC (qui moi reste le meilleur), ou jMerise (gratuit et limité à mysql mais fait pas trop mal son boulot), open modèle sphère etc etc

A toi de tester et de voir celui qui te convient le mieux et fait le moins de truc "foireux" :)


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 417 Messages

24 nov. 2012, 17:36

c'est sure qu'il est préferable de tester les autres soft, sauf que ça me fait chier psk j'ai payé ma licence lol

mais en tt cas merci encore pour tes réponses :)

RabDev
Invité n'ayant pas de compte PHPfrance

03 mars 2013, 15:01

la version 0.3.8 de JMerise peut générer aussi des script : MySQL, PostgreSQL, Derby, SQLite et Firebird.
JMerise peut faire la rétro conception aussi