|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
Étudiant Inscription : avril 2011 Messages : 21 ![]() |
bonsoir, pas facile de choisir un titre en fonction de mon problème :p
bon voila j'ai créé un sur-type "TypeClient" et deux sous type de client (particulier et professionnel) Code :
Code :
Code :
SELECT c.monTypeClient.nom FROM Client c; // fonctionne parfaitement (nom étant dans le surtype) SELECT c.monTypeClient.prenom FROM Client c; // fonctionne pas prenom étant dans le soustype particulier auriez vous une suggestion s'il vous plait? |
||||||
|
|
00
|
|
|
#2 |
![]() ![]() |
Plutôt que d'utiliser des types et sous-types, je modéliserais un héritage de données.
MCD : client_particulier -(1,1)----etre-------0,1- client client_professionnel -(1,1)----etre----0,1---| Tables : client (clt_id, cld_numero, clt_nom, [colonnes communes à tous les clients]) client_particulier (cpa_id_client, cpa_prenom, [colonnes spécifiques aux clients particuliers]) client_professionnel (cpr_id_client, cpr_siret, [colonnes spécifiques aux clients professionnels]) Pour insérer un client particulier ou professionnel, tu crées un trigger instead OF qui va d'abord créer le client dans la table client puis récupérer son id pour insérer ce qu'il faut dans la table fille client_particulier ou client_professionnel. Pour interroger les clients particuliers ou professionnels et obtenir tous leurs attributs, tu crées des vues.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Spécialiste en bases de données Inscription : septembre 2006 Messages : 2 884 ![]() |
Bonsoir,
Voir aussi la discussion "Modéliser un fournisseur pouvant être un client". Notamment ici en ce qui concerne les vues et les triggers de mise à jour (SQL Server).
__________________
_ Faites simple, mais pas plus simple ! (A. Einstein) E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire ») => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale ») __________________ Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !) |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
Copyright © 2000-2012 - www.developpez.com