Kujenga database na meza katika SQL

Kujenga Database

Je! Uko tayari kuanza kuunda orodha na meza na Lugha ya Ushauri ? Katika makala hii, sisi kuchunguza mchakato wa kujenga meza kwa mkono na CREATE DATABASE na CREATE TABLE amri. Ikiwa wewe ni mpya kwa SQL, huenda ukapenda kuchunguza makala yetu ya msingi ya SQL .

Mahitaji ya Biashara

Kabla ya kukaa kwenye kibodi, tunahitaji kuhakikisha kuwa tuna ufahamu thabiti wa mahitaji ya wateja. Nini njia bora ya kupata ufahamu huu? Kuzungumza na mteja, bila shaka! Baada ya kukaa chini na Mkurugenzi wa Rasilimali za XYZ, tumejifunza kwamba wao ni kampuni ya mauzo ya widget na hasa wanapenda kufuatilia taarifa kwa wafanyakazi wao wa mauzo.

XYZ Corporation inagawanya nguvu zao za mauzo katika mikoa ya mashariki na magharibi, ambayo kila moja imegawanywa katika maeneo mengi yanayofunikwa na reps ya mauzo ya mtu binafsi. Idara ya HR inataka kufuatilia eneo lililofungwa na mfanyakazi kila mmoja pamoja na maelezo ya mshahara wa kila mfanyakazi na muundo wa usimamizi. Ili kukidhi mahitaji haya, tumeunda orodha yenye meza tatu, iliyoonyeshwa kwenye mchoro wa Uhusiano-Uhusiano kwenye ukurasa huu.

Kuchagua Sanduku la Database

Tumeamua kutumia mfumo wa usimamizi wa database (au DBMS) ambayo imejengwa juu ya Lugha ya Swali la Swala (SQL). Kwa hiyo, kila database yetu na amri za uumbaji wa meza zinapaswa kuandikwa na SSI ya ANSI ya kawaida katika akili.

Kama faida ya ziada, kwa kutumia SQL inayofaa ya ANSI itahakikisha kuwa amri hizi zitafanya kazi kwenye DBMS yoyote inayounga mkono kiwango cha SQL , ikiwa ni pamoja na Oracle na Microsoft SQL Server. Ikiwa hujachagua jukwaa la database yako bado, makala ya Programu ya Programu ya Database inakutembea kupitia mchakato wa uteuzi.

Kujenga Database

Hatua yetu ya kwanza ni kujenga database yenyewe. Mifumo mingi ya usimamizi wa database hutoa mfululizo wa chaguzi ili uboresha vigezo vya database katika hatua hii, lakini database yetu inaruhusu tu kuundwa kwa database. Kama ilivyo kwa amri zetu zote, unaweza kushauriana na nyaraka za DBMS yako ili uone kama vigezo vya juu vinavyotumika na mfumo wako maalum vinafikia mahitaji yako. Hebu tumia amri ya CREATE DATABASE kuanzisha database yetu:

Unda wafanyakazi wa DATABASE

Tambua maalum ya mtaji uliotumiwa katika mfano hapo juu. Ni kawaida kati ya wajumbe wa SQL kutumia barua zote za kijiji kwa maneno muhimu ya SQL kama "CREATE" na "DATABASE" wakati wa kutumia barua zote za chini kwa majina ya mtumiaji kama jina la "wafanyakazi". Makusanyiko haya hutoa usomaji rahisi.

Endelea kusoma mafunzo haya tunapofanya meza kwa database yetu.

Kujifunza Zaidi

Ikiwa ungependa kujifunza zaidi kuhusu Lugha ya Ushauri , soma Utangulizi wa SQL au usajili kwa kozi yetu ya bure ya SQL ya E-mail ya Kujifunza.

Sasa kwa kuwa tumeunda na kuunda database yetu, tuko tayari kuanza kuunda meza tatu zilizohifadhiwa data za wafanyakazi wa XYZ Corporation. Tutakuwa kutekeleza meza ambazo tumeundwa katika sehemu ya awali ya mafunzo haya.

Kujenga Jedwali Letu la Kwanza

Jedwali letu la kwanza lina data ya kibinafsi kwa kila mfanyakazi wa kampuni yetu. Tunahitaji kuingiza jina la kila mfanyakazi, mshahara, ID, na meneja. Ni mazoezi mazuri ya kutenganisha majina ya mwisho na ya kwanza katika nyanja tofauti ili kurahisisha data kutafuta na kuchagua katika siku zijazo. Pia, tutaweka wimbo wa meneja wa kila mfanyakazi kwa kuingiza rejea kwa Kitambulisho cha mfanyakazi wa meneja katika kila rekodi ya mfanyakazi. Hebu kwanza tuangalie meza ya mfanyakazi taka.

RipotiKwa sifa huhifadhi ID ya meneja kwa kila mfanyakazi. Kutoka kwenye rekodi za sampuli zilizoonyeshwa, tunaweza kuamua kwamba Sue Scampi ndiye meneja wa Tom Kendall na John Smith. Hata hivyo, hakuna taarifa katika orodha ya meneja wa Sue, kama ilivyoonyeshwa na kuingia kwa NULL mfululizo wake.

Sasa tunaweza kutumia SQL kuunda meza katika database yetu ya wafanyakazi. Kabla ya kufanya hivyo, hebu tuhakikishe kuwa tuko katika daraka sahihi kwa kutoa amri ya UTUMA:

Tumia wafanyakazi;

Vinginevyo, wafanyakazi "wa DATABASE;" amri itafanya kazi sawa. Sasa tunaweza kuangalia amri ya SQL iliyotumiwa kuunda meza ya wafanyakazi wetu:

Unda wafanyakazi wa TABLE (mfanyakazi MWENYEZI NOT NULL, jina la mwisho VARCHAR (25) NOT NULL, firstname VARCHAR (25) NOT NULL, Taarifa ya INTEGER NULL);

Kama ilivyo kwa mfano hapo juu, kumbuka kwamba mpango wa programu unaelezea kwamba tunatumia barua zote za kijiji kwa maneno muhimu ya SQL na barua za chini kwa safu na nguzo za mtumiaji. Amri ya hapo juu inaweza kuonekana kuwa ya kutatanisha kwanza, lakini kuna kweli muundo rahisi nyuma yake. Hapa ni mtazamo wa jumla ambao unaweza kufuta mambo kidogo:

Unda TABLE meza_name (chaguo-msingi cha jina la datatype, ..., chaguzi za jina la jina la datatype);

Tabia na Aina za Data

Katika mfano uliopita, jina la meza ni wafanyakazi na tunajumuisha sifa nne: mfanyakazi, jina la mwisho, jina la kwanza, na ripoti. Datatype inaonyesha aina ya habari tunayotaka kuhifadhi katika kila shamba. Kitambulisho cha mfanyakazi ni namba rahisi kabisa, kwa hiyo tutatumia data ya INTEGER kwa shamba la mfanyakazi na uwanja wa taarifa. Majina ya waajiri watakuwa masharti ya tabia ya urefu wa kutofautiana na hatutarajii mfanyakazi yeyote awe na jina la kwanza au la mwisho zaidi ya wahusika 25. Kwa hiyo, tutatumia aina ya VARCHAR (25) kwa maeneo haya.

Vipimo vya NULL

Tunaweza pia kutaja ama NULL au NOT NULL katika uwanja wa chaguzi wa taarifa ya CREATE. Hii inaeleza tu database ikiwa thamani ya NULL (au tupu) inaruhusiwa kwa sifa hiyo wakati wa kuongeza safu kwenye databana. Katika mfano wetu, idara ya HR inahitaji kwamba ID ya wafanyakazi na jina kamili lihifadhiwe kwa kila mfanyakazi. Hata hivyo, sio kila mfanyakazi ana meneja - Mkurugenzi Mtendaji Mkuu hajui mtu yeyote! - basi tunaruhusu kuingia kwa NULL kwenye uwanja huo. Kumbuka kwamba NULL ni thamani ya kutosha na kuacha chaguo hili itawahusu kabisa maadili ya NULL kwa sifa.

Kujenga Majedwali Yakaa

Sasa hebu tuangalie meza ya wilaya. Kwa kuangalia kwa haraka data hii, inaonekana kwamba tunahitaji kuhifadhi integer na masharti mawili ya urefu wa urefu. Kama ilivyo kwa mfano wetu uliopita, hatutarajii ID ya Kanda itatumie wahusika zaidi ya 25. Hata hivyo, baadhi ya wilaya zetu zina majina marefu, kwa hivyo tutaweza kupanua urefu wa halali wa sifa hizo kwa wahusika 40. Hebu angalia SQL sambamba:

Unda maeneo ya TABLE (territoryid INTEGER NOT NULL, wilaya Maelezo VARCHAR (40) NOT NULL, regionid VARCHAR (25) NOT NULL);

Hatimaye, tutatumia meza ya WafanyakaziTerritories ili kuhifadhi uhusiano kati ya wafanyakazi na wilaya. Maelezo ya kina juu ya kila mfanyakazi na wilaya huhifadhiwa katika meza zetu mbili zilizopita. Kwa hiyo, tunahitaji tu kuhifadhi idadi mbili za kitambulisho katika meza hii. Ikiwa tunahitaji kupanua habari hii tunaweza kutumia JOIN katika amri zetu za uteuzi wa data ili kupata taarifa kutoka kwa meza nyingi. Njia hii ya kuhifadhi data hupunguza redundancy katika database yetu na kuhakikisha matumizi bora ya nafasi kwenye vituo vya kuhifadhi. Tutafunika amri ya JOIN kwa kina katika mafunzo ya baadaye. Hapa ni kanuni ya SQL kutekeleza meza yetu ya mwisho:

Tengeneza maabara ya employersritories (mfanyakazi MTAZI NOT NULL, territoryid INTEGER NOT NULL);

Mfumo wa SQL hutoa Kurekebisha muundo wa Database Baada ya Uumbaji

Ikiwa wewe ni waangalifu leo, huenda umegundua kwamba sisi "kwa ajali" hatujui mahitaji ya kubuni wakati wa kutekeleza meza zetu za darasani. Mkurugenzi wa HRY Corporation wa HR aliomba kwamba taarifa ya mshahara wa wafanyakazi wa dhamana ya database na tumekataa kutoa hii katika meza za darasani tulizozipanga .

Hata hivyo, wote sio waliopotea. Tunaweza kutumia amri ya ALTER TABLE ili kuongeza sifa hii kwa database yetu iliyopo. Tunataka kuhifadhi mshahara kama thamani ya jumla. Sirika ni sawa kabisa na ile ya amri ya CREATE TABLE, hapa ni:

Wafanyakazi wa ALTER TABLE kuongeza mshahara INTEGER NULL;

Ona kwamba tumeamua kwamba maadili ya NULL yanaruhusiwa kwa sifa hii. Katika hali nyingi, hakuna chaguo wakati wa kuongeza safu kwenye meza iliyopo. Hii ni kutokana na ukweli kwamba meza tayari ina safu na hakuna kuingia kwa sifa hii. Kwa hiyo, DBMS huingiza moja kwa moja thamani ya NULL ili kujaza tupu.

Na hiyo inakuja kuangalia kwa SQL database na mchakato wa kuunda meza. Angalia mara nyingi kwa awamu mpya katika mfululizo wetu wa mafunzo ya SQL. Ikiwa ungependa mawaidha ya barua pepe wakati makala mpya zinaongezwa kwenye tovuti ya Databases, hakikisha kujiunga na jarida letu!