Pagmugna og mga Databases ug mga Tables Sa SQL

Pagmugna sa Database

Andam ka ba nga magsugod sa pagmugna og mga database ug mga lamesa uban sa Structured Query Language ? Niining artikuloha, atong gitan-aw ang proseso sa pagmugna og mga lamesa pinaagi sa CREATE DATABASE ug CREATE TABLE commands. Kon bag-o ka sa SQL, mahimo nimo nga usisahon pag-una ang among mga artikulo sa Basahon sa SQL .

Mga Kinahanglanon sa Negosyo

Sa dili pa kita molingkod sa keyboard, kinahanglan nga masiguro nato nga adunay lig-on nga pagsabot sa mga kinahanglanon sa kustomer. Unsa ang labing maayong paagi sa pagkuha niini nga pagsabut? Sa pagsulti sa customer, siyempre! Human sa paglingkod uban sa Human Resources Director sa XYZ, among nahibal-an nga sila usa ka kompanya sa sales sales ug interesado sa pagsubay sa impormasyon sa ilang mga kawani sa pagbaligya.

Ang XYZ Corporation nagbahin sa ilang pwersa sa pagbaligya ngadto sa sidlakan ug kasadpan nga mga rehiyon, nga ang matag usa gibahin ngadto sa daghang mga teritoryo nga sakop sa tagsa-tagsa nga mga sales rep. Ang departamento sa HR gusto nga mosubay sa teritoryo nga sakop sa matag empleyado ingon man ang impormasyon sa sweldo sa matag empleyado ug istraktura sa pagdumala. Aron matubag kining mga kinahanglanon, nagdisenyo kami og database nga naglangkob sa tulo ka mga lamesa, nga gipakita sa Entity-Relationship diagram sa niini nga panid.

Pagpili sa Database Platform

Nakahukom kami sa paggamit sa usa ka database management system (o DBMS) nga natukod sa Structured Query Language (SQL). Busa, ang tanan sa atong database ug mga order sa pagmugna sa lamesa kinahanglan isulat uban sa standard ANSI SQL sa hunahuna.

Ingon sa usa ka dugang nga kaayohan, ang paggamit sa ANSI-compliant SQL magsiguro nga kini nga mga sugo magamit sa bisan unsa nga DBMS nga nagsuporta sa SQL standard , lakip ang Oracle ug Microsoft SQL Server. Kon wala ka nagpili sa usa ka plataporma alang sa imong database pa, ang artikulo nga Database Software Options magdala kanimo pinaagi sa proseso sa pagpili.

Pagmugna sa Database

Ang una namong lakang mao ang paghimo sa database mismo. Daghang mga sistema sa pagdumala sa database ang naghatag sa usa ka sunod-sunod nga mga kapilian aron ipahaum ang mga parameter sa database niini nga lakang, apan ang atong database lamang nagtugot sa yano nga pagmugna sa usa ka database. Sama sa tanan namong mga sugo, mahimong mokonsulta ka sa dokumentasyon alang sa imong DBMS aron mahibal-an kung ang bisan unsang advanced parameters nga gisuportahan sa imong piho nga sistema makatagbo sa imong mga panginahanglan. Atong gamiton ang CREATE DATABASE nga sugo sa pagtukod sa atong database:

PAGSUGOD sa mga personahe sa DATABASE

Tagda ang capitalization nga gigamit sa panig-ingnan sa ibabaw. Kini kasagaran nga praktis sa mga SQL programmers nga mogamit sa tanan nga capital capital alang sa mga SQL nga mga pulong sama sa "CREATE" ug "DATABASE" samtang gamit ang tanang mga letra nga letra alang sa mga ngalan nga gitakda sa user nga sama sa "personnel" database name. Kini nga mga kombensiyon naghatag dali nga mabasa.

Padayon sa pagbasa niini nga pagtulun-an samtang maghimo kita og mga lamesa alang sa atong database.

Pagkat-on og Dugang

Kon gusto ka nga makat-on og dugang mahitungod sa Structured Query Language , basaha ang Pasiuna sa SQL o pag-sign up alang sa among libreng Pagtuon sa SQL e-mail nga kurso.

Karon nga among gidisenyo ug gimugna ang among database, kami andam nga magsugod sa paghimo sa tulo ka mga lamesa nga gigamit sa pagtipig sa mga personahe sa XYZ Corporation. Atong ipatuman ang mga lamesa nga atong gidisenyo sa miaging bahin niini nga panudlo.

Paghimo sa Atong Unang Talaan

Ang una namong lamesa naglangkob sa personal nga datos alang sa matag empleyado sa among kompaniya. Kinahanglan naton nga ilakip ang ngalan, suweldo, ID, ug manedyer sa matag empleyado. Maayo nga praktis sa pagplano aron pagbuwag sa katapusang ug unang mga ngalan ngadto sa managlahi nga mga luna aron mapayano ang mga datos sa pagpangita ug pag-sort sa umaabot. Usab, atong subayon ang tagdumala sa matag empleyado pinaagi sa paghisgot sa usa ka reference sa empleyado nga ID sa empleyado sa matag rekord sa empleyado. Atong una tan-awon ang gusto nga empleyado sa lamesa.

Ang Mga Ulat sa Attribute nagtipig sa manedyer ID alang sa matag empleyado. Gikan sa sampol nga mga rekord nga gipakita, atong mahibal-an nga si Sue Scampi mao ang manedyer ni Tom Kendall ug John Smith. Hinoon, wala'y kasayuran sa database sa manedyer ni Sue, ingon nga gipaila sa NULL entry sa iyang laray.

Karon mahimo namong gamiton ang SQL aron paghimo sa lamesa sa database sa atong personnel. Sa dili pa nato kini buhaton, sigurohon nga anaa kita sa husto nga database pinaagi sa pag-isyu sa usa ka sugo sa USE:

Mga kawani sa USE;

Sa laing bahin, ang "DATABASE personnel;" ang komand sa paghimo sa sama nga function. Karon mahimo nimong tan-awon ang SQL nga sugo nga gigamit sa paghimo sa among mga empleyado nga lamesa:

PAG-ILA sa mga empleyado (empleyado INTEGER NOT NULL, lastname VARCHAR (25) NOT NULL, firstname VARCHAR (25) NOT NULL, reportsto INTEGER NULL);

Sama sa mga pananglitan sa ibabaw, timan-i nga ang programming convention nagdiktar nga atong gigamit ang tanang dagkong letra alang sa SQL nga mga keyword ug mga letra nga letra alang sa mga kolum ug mga lamesa nga ginganlan sa user. Ang sugo sa ibabaw tingali daw makalibog sa sinugdanan, apan adunay usa ka yano nga gambalay sa luyo niini. Ania ang usa ka kinatibuk-ang panglantaw nga tingali ang paghawan sa mga butang sa usa ka gamay:

PAG-ILA SA TALAAN table_name (attribute_name datatype options, ..., attribute_name datatype options);

Mga Kinaiya ug Mga Uri sa Data

Sa kaniadto nga pananglitan, ang pangalan sa lamesa mao ang mga empleyado ug gilakip nato ang upat ka mga kinaiya: empleyado, apelyido, firstname, ug reportsto. Ang datatype nagpakita sa matang sa kasayuran nga gusto natong ibutang sa matag natad. Ang empleyado ID usa ka simple nga numero sa integer, mao nga gamiton namon ang INTEGER datatype alang sa field nga empleyado ug sa field report. Ang mga empleyado nga mga ngalan mao ang kinaiya nga mga hilo sa variable nga gitas-on ug wala kami magdahum nga adunay empleyado nga adunay una o katapusan nga ngalan nga mas taas pa kay sa 25 ka mga karakter. Busa, atong gamiton ang VARCHAR (25) nga tipo alang niini nga mga natad.

NULL nga mga Prinsipyo

Mahimo usab natong isulti ang NULL o NOT NULL sa mga alternatibong natad sa CREATE statement. Gisulti lamang kini sa database kung ang NULL (o walay sulod) nga mga bili ang gitugot alang niana nga kinaiya sa pagdugang sa mga linya sa database. Sa among panig-ingnan, ang departamento sa HR nagkinahanglan nga ang usa ka empleyado nga ID ug kompleto nga ngalan nga gitipigan alang sa matag empleyado. Apan, dili tanan nga empleyado adunay manedyer - ang CEO nagtaho nga walay usa! - mao nga gitugutan nato ang NULL nga mosulod niana nga natad. Hinumdumi nga ang NULL mao ang default nga bili ug wala kini nga opsyon nga hingpit nga tugotan ang NULL nga mga bili alang sa usa ka kinaiya.

Pagtukod sa mga Tabig nga Nahibilin

Karon atong tan-awon ang mga teritoryo nga lamesa. Gikan sa usa ka dali nga pagtan-aw niini nga datos, mopatim-aw nga kinahanglan natong i-store ang usa ka integer ug duha ka hugpong nga hugpong sa gitas-on. Sama sa atong kanhi nga panig-ingnan, wala kita magdahum nga ang Rehiyon ID mag-ut-ot sobra sa 25 ka mga karakter. Bisan pa, ang pipila sa among mga teritoryo adunay mas taas nga ngalan, busa atong mapalapad ang gitugot nga gitas-on nianang kinaiya ngadto sa 40 ka mga karakter. Atong tan-awon ang katugbang nga SQL:

PAG-ILA sa mga teritoryo sa talan-awon (teritoryo INTEGER NOT NULL, territory Description VARCHAR (40) NOT NULL, regionid VARCHAR (25) NOT NULL);

Sa katapusan, atong gamiton ang lamesa sa EmployeeTerritories aron tipigan ang mga relasyon tali sa mga empleyado ug mga teritoryo. Ang detalyadong kasayuran sa matag empleyado ug teritoryo gitipigan sa atong duha ka mga lamesa. Busa, kinahanglan lamang natong tipigan ang duha ka mga numero sa pag-ila sa integer sa kini nga lamesa. Kon kinahanglan nato nga palapadon kini nga kasayuran nga atong magamit ang usa ka JOIN sa atong pagpili sa mga mando sa datos aron makakuha og kasayuran gikan sa daghang mga lamesa. Kini nga pamaagi sa pagtipig sa mga datos nagpamenos sa kalaw-ay sa atong database ug nagsiguro sa kamahinungdanon nga paggamit sa luna sa atong mga storage drive. Atubon nato ang kombinasyon sa JOIN sa madalom nga tutorial. Ania ang SQL code aron ipatuman ang atong katapusang lamesa:

PAGSULAT sa mga employeeteritoryo sa TALAAN (empleyado nga INTEGER NOT NULL, territoryID INTEGER NOT NULL);

Ang Mekanismo nga SQL Nagahatag sa Pagbag-o sa Istruktura sa Database Human sa Paglalang

Kon ikaw ilabi na nga matinud-anon karon, mahimo nimong namatikdan nga kami "wala tuyoa" wala gikuha ang usa sa mga kinahanglanon sa disenyo sa pagpatuman sa among mga talaan sa database. Ang HR Director sa XYZ Corporation mihangyo nga ang database track employee nga suweldo nga kasayuran ug kami nagpabaya sa pagsangkap alang niini sa database nga mga lamesa nga among gibuhat.

Apan, ang tanan wala mawala. Mahimo natong gamiton ang ALTER TABLE command aron idugang kini nga hiyas sa atong kasamtangan nga database. Buot namong ibutang ang suweldo isip bili sa integer. Ang syntax susama sa sa CREATE TABLE command, ania kini:

BAG-ONG TALAGSAONG mga empleyado DAGHAN ang sweldo INTEGER NULL;

Matikdi nga kita nagtino nga ang NULL nga mga hiyas gitugot alang niini nga hiyas. Sa kadaghanan nga mga kaso, walay kapilian sa pagdugang og kolum sa usa ka lamesa. Kini tungod sa kamatuoran nga ang lamesa adunay naglinya nga mga laray nga walay entry alang niini nga kinaiya. Busa, ang DBMS awtomatikong magsal-ot sa NULL nga bili aron mapuno ang kahaw-ang.

Ug kana naghugpong sa atong pagtan-aw sa SQL database ug paghimo sa lamesa nga proseso. Susiha kanunay alang sa bag-o nga mga pag-install sa atong serye sa tutorial sa SQL. Kung gusto nimo ang usa ka pahinumdom sa e-mail sa diha nga ang mga bag-ong mga artikulo idugang sa About Sites database, siguroha nga mag-subscribe sa among newsletter!