je me rends compte qu'il pourrait y avoir des questions similaires, mais je ne pouvais pas trouver un qui était assez proche pour obtenir des conseils.clé comme une clé Surrogate étrangère sur les clés composites
Compte tenu de cette spécification,
Site
---------------------------
SiteID int identity
Name varchar(50)
Series
---------------------
SiteID int
SeriesCode varchar(6)
...
--SeriesCode will be unique for every unique SiteID
Episode
----------------------
SiteID int
SeriesCode varchar(6)
EpisodeCode varchar(10)
...
ma conception/mise en œuvre proposée est
Site
----------------------------
SiteID int identity
Name varchar(50)
Series
-------------------------------------------
SeriesID int identity, surrogate key
SiteID int natural key
SeriesCode varchar(6) natural key
UNIQUE(SiteID, SeriesCode)
...
Episode
-------------------------------------------
EpisodeID int identity, surrogate key
SeriesID int foreign key
EpisodeCode varchar(6) natural key
...
ya un problème avec cela? Est-ce normal que le substitut SeriesID soit une clé étrangère? Je ne suis pas sûr si je suis absent des problèmes évidents qui peuvent survenir. Ou serait-il préférable d'utiliser des clés naturelles composites (SiteID + SeriesCode/SiteID + EpisodeCode)? En substance, cela découplerait la table des épisodes de la table des séries et cela ne me convient pas. Il convient d'ajouter que SeriesCode ressemble à 'ABCD-1' et EpisodeCode comme 'ABCD-1NMO9' dans les données d'entrée brutes qui vont peupler ces tables, donc c'est une autre chose qui pourrait être modifiée je suppose.
*: « virtuelle » clé étrangère, car il a été précédemment décidé par les plus-ups nous ne devrions pas utiliser réelles clés étrangères
Bons points. En effet, il y aura des tables supplémentaires liées aux épisodes. Ce ne sont que les tables de base de toute la base de données. –