גאַנץ פאַנגקשאַנאַל דעפּענדענסי אין דאַטאַבאַסע נאָרמאַליזאַטיאָן

א פול פאַנגקשאַנאַל אָפענגיקייַט איז אַ שטאַט פון דייטאַבייס נאָרמאַליזיישאַן וואָס יקווייזשאַן צו די נאָרמאַליזאַטיאָן נאָרמאַל פון צווייטע נאָרמאַל פאָרעם (2 נף) . אין קורץ, דאָס מיטל אַז עס באדערט די באדערפענישן פון ערשטער נאָרמאַל פאָרם (1 נף), און אַלע ניט-שליסל אַטריביוץ זענען גאָר פאַנגקשאַנאַלי אָפענגיק אויף די ערשטיק שליסל.

דעם איז נישט ווי קאָמפּליצירט ווי עס קען געזונט. זאל ס קוק בייַ דעם אין מער דעטאַל.

קיצער פון ערשטער נאָרמאַל פאָרעם

איידער אַ דאַטאַבאַסע קענען זיין גאָר פאַנגקשאַנאַלי אָפענגיק, עס מוזן ערשטער נאָכקומען מיט ערשטער נאָרמאַל פאָרעם .

אַלע דעם מיטל אַז יעדער אַטריביוט מוזן האַלטן אַ איין, אַטאָמישע ווערט.

פֿאַר בייַשפּיל, די פאלגענדע טיש טוט נישט נאָכקומען מיט 1 נף, ווייַל דער אָנגעשטעלטער טינאַ איז פארבונדן צו צוויי לאָוקיישאַנז, ביידע זיי אין אַ איין צעל:

ערשטער נאָרמאַל פאָרם נאַן-קאָמפּליאַנסע
עמפּלויעע אָרט
יוחנן לאס אנדזשעלעס
טינאַ לאס אנדזשעלעס, טשיקאַגאָ

אַלאַוינג דעם פּלאַן קען נעגאַטיוולי פּראַל דאַטע דערהייַנטיקונגען אָדער ערטער. צו ענשור 1 נף העסקעם, די טיש אַזוי אַז אַלע אַטריביוץ (אָדער זייַל סעלז) האַלטן אַ איין ווערט:

ערשטער נאָרמאַל פאָרעם קאָמפּליאַנסע
עמפּלויעע אָרט
יוחנן לאס אנדזשעלעס
טינאַ לאס אנדזשעלעס
טינאַ Chicago

אָבער 1 נף איז נאָך נישט גענוג צו ויסמייַדן פראבלעמען מיט די דאַטן.

ווי 2 נף אַרבעט צו ענשור פול דעפּענדענסי

צו זיין גאָר אָפענגיק, אַלע ניט-קאַנדידאַט שליסל אַטראַביוץ מוזן אָפענגען אויף די ערשטיק שליסל. (געדענק, אַ קאַנדידאַט שליסל אַטריביוט איז קיין שליסל (פֿאַר בייַשפּיל, אַ ערשטיק אָדער פרעמד שליסל) געניצט צו יוניקלי ידענטיפיצירן אַ דאַטאַבאַסע רעקאָרד.

דאַטאַבאַסע דיזיינערז נוצן אַ נאָוטיישאַן צו באַשרייַבן די אָפענגיק באציונגען צווישן אַטראַביוץ:

אויב אַטריביוט אַ דיטערמאַנז די ווערט פון ב, מיר שרייַבן דעם א -> ב - טייַטש אַז ב איז פאַנגקשאַנאַלי אָפענגיק אויף יי אין דעם שייכות, א דיטערמאַנז די ווערט פון ב, בשעת B דעפּענדס אויף יי.

פֿאַר בייַשפּיל, אין די פאלגענדע עמפּלויעע דיפּאַרטמאַנץ טיש, עמפּלויעידע און דעפּטידע זענען ביידע קאַנדידאַט שליסלען: עמפּלויעידע איז די ערשטיק שליסל טיש בשעת דעפּטיד איז אַ פרעמד שליסל.

קיין אנדערע אַטריביוט - אין דעם פאַל, עמפּלויעענאַמע און דעפּטנאַמע - מוזן אָפענגען אויף די ערשטיק שליסל צו באַקומען זייַן ווערט.

אָנגעשטעלטער דעפּאַרטמענץ
עמפּלויעעיד EmployeeName DeptID DeptName
עמפּ 1 יוחנן Dept001 פינאַנסע
עמפּ 2 טינאַ Dept003 Sales
עמפּ 3 קאַרלאָס Dept001 פינאַנסע

אין דעם פאַל, די טיש איז ניט גאָר אָפענגיק ווייַל, בשעת די עמפּלויעענאַמע דעפּענדס אויף די ערשטיק שליסל עמפּלויעעיד, די דעפּטנאַמע דעפּענדס אָנשטאָט אויף די דעפּטיד. דעם איז גערופן פּאַרטיייש דעפּענדענסי .

צו מאַכן דעם טיש קאַנפאָרם צו 2 נף, מיר דאַרפֿן צו צעטיילן די דאַטן אין צוויי טישן:

עמפּלויעעס
עמפּלויעעיד EmployeeName DeptID
עמפּ 1 יוחנן Dept001
עמפּ 2 טינאַ Dept003
עמפּ 3 קאַרלאָס Dept001

מיר באַזייַטיקן די דעפּטנאַמע אַטריביוט פון די עמפּלויעעס טיש און שאַפֿן אַ נייַ טיש דעפּאַרטמענץ :

דיפּאַרטמאַנץ
DeptID DeptName
Dept001 פינאַנסע
Dept002 Human Resources
Dept003 Sales

איצט די באַציונגען צווישן די טישן זענען גאָר אָפענגיק, אָדער אין 2 נף.

פארוואס גאַנץ דעפּענדענסי איז וויכטיק

גאַנץ דעפּענדענסי צווישן דייטאַבייס אַטריביוץ העלפט ענשור דאַטן אָרנטלעכקייַט און ויסמייַדן דאַטע אַנאַמאַליז.

פֿאַר בייַשפּיל, באַטראַכטן די טיש אין די אָפּטיילונג אויבן וואָס אַדכירז בלויז צו 1 נף. דאָ עס איז, ווידער:

ערשטער נאָרמאַל פאָרעם קאָמפּליאַנסע
עמפּלויעע אָרט
יוחנן לאס אנדזשעלעס
טינאַ לאס אנדזשעלעס
טינאַ Chicago

טינאַ האט צוויי רעקאָרדס. אויב מיר דערהייַנטיקן איינער אָן רעאַליזינג אַז עס זענען צוויי, דער רעזולטאַט וואָלט זיין סתירה דאַטן.

אָדער, וואָס אויב מיר ווילן צו לייגן אַן אָנגעשטעלטער צו דעם טיש, אָבער מיר טאָן ניט נאָך וויסן די אָרט? מיר זאלן זיין דיסאַללאָוו צו אפילו לייגן אַ נייַ אָנגעשטעלטער אויב די אָרט אַטריביוט טוט נישט לאָזן נול וואַלועס.

גאַנץ דעפּענדענסי איז נישט די גאנצע בילד, כאָטש, ווען עס קומט צו נאָרמאַליזיישאַן. איר מוזן מאַכן זיכער אַז דיין דאַטאַבאַסע איז אין דריט נאָרמאַל פאָרעם (3 נף).