OVH Cloud OVH Cloud

Problème architectural...

2 réponses
Avatar
PePiCK
Description du problème.

Un client (Celui qui paye la facture)

Un client peut détenir plusieurs sites (lieux des travaux (immeubles))

Donc une table Clients

*[ID] uniqueidentifier
IDCustomer nvarchar(10)
[Name] nvarchar(40)

Une table Adresses
*[ID] uniqueidentifier
[Name] nvarchar(50)
Address1 nvarchar(30)
Address2 nvarchar(30)
Address3 nvarchar(30)
FKCity uniqueidentifier <-- Foreignkey sur une table Ville
Zipcode nvarchar(10)

Une table de liaison Clients_Adresses
*FKCustomer uniqueidentifier
*FKAddress uniqueidentifier

Je veux ajouter le # de téléphone
Bon, chaque site peut avoir un # ou plusieurs, donc j'ajouterais

Une table Téléphones
*[ID] uniqueidentifier
Phone nvarchar(15)

Une table de liaison Adresses_Téléphones
*FKAddress uniqueidentifier
*FKPhone uniqueidentifier

Je tiens la route avec cela ou non ?
P.S.: Les tables sont un peu épuré de leurs réel contenue, mais ca devrait
imager assez bien la situation.

Merci de vos commentires.
PePiCK

2 réponses

Avatar
SQLpro [MVP]
PePiCK a écrit :
Description du problème.

Un client (Celui qui paye la facture)

Un client peut détenir plusieurs sites (lieux des travaux (immeubles))

Donc une table Clients

*[ID] uniqueidentifier
IDCustomer nvarchar(10)
[Name] nvarchar(40)

Une table Adresses
*[ID] uniqueidentifier
[Name] nvarchar(50)
Address1 nvarchar(30)
Address2 nvarchar(30)
Address3 nvarchar(30)
FKCity uniqueidentifier <-- Foreignkey sur une table Ville
Zipcode nvarchar(10)

Une table de liaison Clients_Adresses
*FKCustomer uniqueidentifier
*FKAddress uniqueidentifier

Je veux ajouter le # de téléphone
Bon, chaque site peut avoir un # ou plusieurs, donc j'ajouterais

Une table Téléphones
*[ID] uniqueidentifier
Phone nvarchar(15)

Une table de liaison Adresses_Téléphones
*FKAddress uniqueidentifier
*FKPhone uniqueidentifier

Je tiens la route avec cela ou non ?
P.S.: Les tables sont un peu épuré de leurs réel contenue, mais ca devrait
imager assez bien la situation.

Merci de vos commentires.
PePiCK




Vous pouvez avoir des téléphones mobiles qui sont indépendant de toute
adresse/site.

Il faut donc une relation de cardinalité 0,1

Tout cela serait plus facile à modéliser si vous utilisiez un outil
Merise ou UML capable de concevoir un modèle conceptuel. Par exemple
Power AMC (ex AMC designor).

A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
Olivier PIERI [MS]
POurquoi mettre un uniqueidentifier comme clé de la tables clients (vous
avez deja une clé primaire apparement avec le champs IDCustomer).

Olivier PIERI

"PePiCK" wrote in message
news:eU5G%
Description du problème.

Un client (Celui qui paye la facture)

Un client peut détenir plusieurs sites (lieux des travaux (immeubles))

Donc une table Clients

*[ID] uniqueidentifier
IDCustomer nvarchar(10)
[Name] nvarchar(40)

Une table Adresses
*[ID] uniqueidentifier
[Name] nvarchar(50)
Address1 nvarchar(30)
Address2 nvarchar(30)
Address3 nvarchar(30)
FKCity uniqueidentifier <-- Foreignkey sur une table Ville
Zipcode nvarchar(10)

Une table de liaison Clients_Adresses
*FKCustomer uniqueidentifier
*FKAddress uniqueidentifier

Je veux ajouter le # de téléphone
Bon, chaque site peut avoir un # ou plusieurs, donc j'ajouterais

Une table Téléphones
*[ID] uniqueidentifier
Phone nvarchar(15)

Une table de liaison Adresses_Téléphones
*FKAddress uniqueidentifier
*FKPhone uniqueidentifier

Je tiens la route avec cela ou non ?
P.S.: Les tables sont un peu épuré de leurs réel contenue, mais ca devrait
imager assez bien la situation.

Merci de vos commentires.
PePiCK