שאפן דאַטאַבאַסעס און טאַבלעס אין סקל

שאפן די דאַטאַבאַסע

זענט איר גרייט צו אָנהייבן שאפן דאַטאַבייסיז און טישן מיט די סטרוקטורעד קווערי שפּראַך ? אין דעם אַרטיקל, מיר ויספאָרשן דעם פּראָצעס פון שאפן טישן מאַניואַלי מיט די CREATE DATABASE און CREATE TABLE commands. אויב איר ניטאָ נייַ צו סקל, איר זאל וועלן צו איבערחזרן אונדזער סקל באַסיקס אַרטיקל ערשטער.

Business Requirements

איידער מיר זיצן אַראָפּ בייַ די קלאַוויאַטור, מיר דאַרפֿן צו ענשור אַז מיר האָבן אַ האַרט שכל פֿאַר די באדערפענישן פון די קונה. וואָס ס דער בעסטער וועג צו באַקומען דעם ינסייט? גערעדט צו דער קונה, פון לויף! נאָך זיצן מיט XYZ ס מענטש רעסורסן דירעקטאָר, מיר ווע געלערנט אַז זיי זענען אַ ווידזשיט פארקויפונג פירמע און זענען בפֿרט אינטערעסירט אין טראַקינג אינפֿאָרמאַציע אויף זייער פארקויפונג פּערסאַנעל.

XYZ Corporation דיסיידז זייער פארקויפונג קראַפט אין מזרח און מערב געגנטן, יעדער פון וואָס איז צעטיילט אין פילע טעריטאָריע באדעקט דורך יחיד פארקויפונג ריפּס. דער HR ​​אָפּטיילונג וואָלט ווי צו שפּור די טעריטאָריע באדעקט דורך יעדער אָנגעשטעלטער ווי געזונט ווי יעדער אָנגעשטעלטער 'ס געצאָלט אינפֿאָרמאַציע און סופּערווייזערי סטרוקטור. צו טרעפן די באדערפענישן, מיר האָבן דיזיינד אַ דאַטאַבאַסע קאַנסיסטינג פון דרייַ טישן, געוויזן אין דער ענטיטי-רעלאַטיאָנשיפּ דיאַגראַמע אויף דעם בלאַט.

טשאָאָסינג אַ דאַטאַבאַסע פּלאַטפאָרם

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

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

שאפן די דאַטאַבאַסע

אונדזער ערשטער שריט איז צו מאַכן די דאַטאַבאַסע זיך. פילע דייטאַבייס פאַרוואַלטונג סיסטעמען פאָרשלאָגן אַ סעריע פון ​​אָפּציעס צו קאַסטאַמייז דייטאַבייס פּאַראַמעטערס בייַ דעם שריט, אָבער אונדזער דייטאַבייס בלויז פּערמיץ די פּשוט שאַפונג פון אַ דאַטאַבאַסע. ווי מיט אַלע פון ​​אונדזער קאַמאַנדז, איר קען ווינטשן צו דאָקומענט די דאַקיומענטיישאַן פֿאַר דיין דבמס צו באַשטימען אויב קיין אַוואַנסירטע פּאַראַמעטערס געשטיצט דורך דיין ספּעציפיש סיסטעם טרעפן דיין באדערפענישן. זאל אונדז נוצן דעם CREATE DATABASE באַפֿעל צו שטעלן אונדזער דאַטאַבאַסע:

CREATE DATABASE פּערסאַנעל

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

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

לערנען מער

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

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

שאפן אונדזער ערשט טיש

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

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

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

USE personnel;

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

CREATE TABLE עמפּלוייז (employeeid INTEGER NOT NULL, lastname VARCHAR (25) NOT NULL, firstname VARCHAR (25) NOT NULL, reportsto INTEGER NULL);

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

CREATE TABLE table_name (attribute_name datatype options, ..., attribute_name datatype options);

אַטריביוץ און דאַטע טייפּס

אין דעם פריערדיקן בייַשפּיל, די טיש נאָמען איז עמפּלוייז און מיר אַרייַננעמען פיר אַטריביוץ: אָנגעשטעלטער, לעצטע, ערשטער, און reportsto. דער דאַטייטיפּע ינדיקייץ די טיפּ פון אינפֿאָרמאַציע מיר ווילן צו קראָם אין יעדער פעלד. די אָנגעשטעלטער איד איז אַ פּשוט ינטעגער נומער, אַזוי מיר וועלן נוצן די ינטעגער דאַטייטיפּע פֿאַר די אָנגעשטעלטער פעלד און די מעלדונגסטאָ פעלד. דער אָנגעשטעלטער נאָמען וועט זיין סימפּלע סטרינגס פון בייַטעוודיק לענג און מיר טאָן ניט דערוואַרטן קיין אָנגעשטעלטער צו האָבן אַ ערשטער אָדער לעצט נאָמען מער ווי 25 אותיות. דעריבער, מיר וועלן נוצן די VARCHAR (25) טיפּ פֿאַר די פעלדער.

NULL Values

מיר קענען אויך ספּעציפיצירן אָדער NULL אָדער NOT NULL אין די אָפּציעס פעלד פון די CREATE דערקלערונג. דעם פשוט דערציילט די דאַטאַבאַסע אויב נול (אָדער ליידיק) וואַלועס זענען ערלויבט פֿאַר וואָס אַטריביוט ווען אַדינג די ראָוז צו די דאַטאַבאַסע. אין אונדזער בייַשפּיל, די HR דעפּאַרטמענט ריקווייערז אַז אַן אָנגעשטעלטער איד און גאַנץ נאָמען ווערן סטאָרד פֿאַר יעדער אָנגעשטעלטער. אָבער, נישט יעדער אָנגעשטעלטער האט אַ פאַרוואַלטער - די סעאָ ריפּאָרץ צו קיינער! - אַזוי מיר לאָזן נול ערטער אין דעם פעלד. באַמערקונג אַז NULL איז די פעליקייַט ווערט און אָומיטינג דעם אָפּציע וועט ימפּליסאַטלי לאָזן נול וואַלועס פֿאַר אַן אַטריביוט.

בילדינג די רימיינינג טישן

איצט לאָזן אַ קוק בייַ די טעריטאָריע טיש. פון אַ שנעל קוק אין דעם דאַטן, עס איז דערווייל אַז מיר דאַרפֿן צו קראָם אַן ינטאַדזשער און צוויי בייַטעוודיק לענג שטריקל. ווי מיט אונדזער פרייַערדיק בייַשפּיל, מיר טאָן ניט דערוואַרטן די געגנט שייַן צו פאַרנוצן מער ווי 25 אותיות. אָבער, עטלעכע פון ​​אונדזער טעריטאָריע האָבן מער נעמען, אַזוי מיר וועט יקספּאַנד די אַלאַואַבאַל לענג פון דעם אַטריביוט צו 40 אותיות. זאל ס קוק בייַ די קאָראַספּאַנדינג סקל:

CREATE TABLE territories (territoryid INTEGER NOT NULL, territory באַשרייַבונג VARCHAR (40) NOT NULL, regionid VARCHAR (25) NOT NULL);

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

CREATE TABLE employeeterritories (employeeid INTEGER NOT NULL, טעריטאָריעיד ינטעגער נישט נאַל);

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

אויב איר 'רע ספּעציעל הייַנט בייַ נאַכט, איר קען האָבן באמערקט אַז מיר "אַקסאַדענאַלי" לאָזן איינער פון די פּלאַן באדערפענישן ווען ימפּלאַמענטינג אונדזער דייטאַבייס טישן. XYZ Corporation הר דירעקטאָר דאַרפן אַז די דאַטאַבאַסע שפּור אָנגעשטעלטער געצאָלט אינפֿאָרמאַציע און מיר אָפּגעלאָזן צו צושטעלן דעם אין די דאַטאַבאַסע טישן מיר באשאפן.

אָבער, אַלע איז נישט פאַרפאַלן. מיר קענען נוצן די ALTER TABLE באַפֿעל צו לייגן דעם אַטריביוט צו אונדזער יגזיסטינג דייטאַבייס. מיר ווילן צו קראָם די געצאָלט ווי אַ ינטאַדזשער ווערט. דער סינטאַקס איז גאַנץ ענלעך צו דעם פון די באַפֿעלן טיש באַפֿעלן, דאָ עס איז:

ALTER TABLE עמפּלוייז לייגן געצאָלט INTEGER NULL;

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

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