Krijimi i bazave të të dhënave dhe tabelave në SQL

Krijimi i bazës së të dhënave

A jeni gati për të filluar krijimin e bazave të të dhënave dhe tabelave me Language Query Structured ? Në këtë artikull, ne eksplorojmë procesin e krijimit të tabelave manualisht me komandat CREATE DATABASE dhe CREATE TABLE. Nëse jeni i ri në SQL, ju mund të dëshironi të rishikoni artikullin tonë të Bazës SQL fillimisht.

Kërkesat e Biznesit

Para se të ulemi në tastierë, ne duhet të sigurohemi që kemi një kuptim të plotë të kërkesave të klientit. Cila është mënyra më e mirë për të marrë këtë pasqyrë? Duke folur me klientin, sigurisht! Pasi u ulëm me Drejtorin e Burimeve Njerëzore të XYZ-it, ne kemi mësuar se ata janë një kompani e shitjeve të widget dhe kryesisht janë të interesuar në ndjekjen e informacionit mbi personelin e shitjeve të tyre.

XYZ Corporation ndan forcat e tyre të shitjes në rajonet lindore dhe perëndimore, secila prej të cilave është e ndarë në shumë territore të mbuluara nga përfaqësues individual të shitjeve. Departamenti i Burimeve Njerëzore do të donte të gjurmonte territorin e mbuluar nga secili punonjës, si dhe informacionin e pagave të çdo punonjësi dhe strukturën mbikëqyrëse. Për të përmbushur këto kërkesa, ne kemi hartuar një bazë të dhënash të përbërë nga tre tabela, të paraqitura në diagramin e Entitetit-Relationship në këtë faqe.

Zgjedhja e një platforme të bazës së të dhënave

Ne kemi vendosur të përdorim një sistem të menaxhimit të bazës së të dhënave (ose DBMS) që ndërtohet mbi strukturën e gjuhës së pyetjeve (SQL). Prandaj, të gjitha bazat e të dhënave tona dhe komandat e krijimit të tabelave duhet të shkruhen me ANSI SQL standarde në mendje.

Si një përfitim i shtuar, duke përdorur ANSI-compliant SQL do të sigurojë që këto komanda do të punojnë në çdo DBMS që mbështet standardin SQL , duke përfshirë Oracle dhe Microsoft SQL Server. Nëse nuk keni zgjedhur një platformë për bazën tuaj të të dhënave akoma, artikulli Opsionet e softuerit të bazës së të dhënave ju kalon përmes procesit të përzgjedhjes.

Krijimi i bazës së të dhënave

Hapi ynë i parë është krijimi i bazës së të dhënave. Shumë sisteme të menaxhimit të bazës së të dhënave ofrojnë një sërë opsionesh për të rregulloje parametrat e bazës së të dhënave në këtë hap, por baza jonë e të dhënave lejon vetëm krijimin e një baze të dhënash. Ashtu si me të gjitha komandat tona, ju mund të dëshironi të konsultoheni me dokumentacionin për DBMS tuaj për të përcaktuar nëse ndonjë parametër të avancuar të mbështetur nga sistemi juaj specifik i plotëson nevojat tuaja. Le të përdorim komandën CREATE DATABASE për të ngritur bazën tonë të të dhënave:

CREATE DATABASE personelit

Merrni shënim të veçantë të kapitalizimit të përdorur në shembullin e mësipërm. Është praktikë e zakonshme në mesin e programuesve SQL që të përdorin të gjitha shkronjat e mëdha për fjalë kyçe SQL të tilla si "CREATE" dhe "DATABASE" duke përdorur të gjitha shkronjat e vogla për emrat e përcaktuar nga përdoruesit si emri "database" i personelit. Këto konventa sigurojnë lexueshmëri të lehtë.

Vazhdo leximin e këtij dokumenti kur krijojmë tabela për bazën tonë të të dhënave.

Mësoni më shumë

Nëse dëshironi të mësoni më shumë rreth gjuhësstrukturuar të pyetjeve , lexoni Hyrje në SQL ose regjistrohuni për kursin tonë falas për mësimin e mësimit SQL.

Tani që ne kemi hartuar dhe krijuar bazën tonë të të dhënave, jemi gati të fillojmë krijimin e tre tabelave që përdoren për të ruajtur të dhënat e personelit të XYZ Corporation. Ne do të zbatojmë tabelat që kemi hartuar në pjesën e mëparshme të këtij mësimi.

Krijimi i Tabelës sonë të Parë

Tabela jonë e parë përbëhet nga të dhënat personale për secilin punonjës të kompanisë sonë. Duhet të përfshihet emri i çdo punonjësi, paga, ID dhe menaxher. Është praktikë e mirë e dizajnit për të ndarë emrat e fundit dhe të parë në fusha të ndara për të thjeshtuar kërkimin dhe klasifikimin e të dhënave në të ardhmen. Gjithashtu, do të mbajmë gjurmët e menaxherit të secilit punonjës duke futur një referencë në ID punonjësin e menaxherit në çdo rekord punonjësish. Le të shqyrtojmë së pari tabelën e dëshiruar të punonjësve.

Atributi ReportsTo ruan ID-në e menaxherit për secilin punonjës. Nga të dhënat e paraqitura të mostrës, mund të përcaktojmë se Sue Scampi është menaxheri i dy Tom Kendall dhe John Smith. Megjithatë, nuk ka asnjë informacion në bazën e të dhënave për menaxherin e Sue, siç tregohet nga hyrja NULL në rreshtin e saj.

Tani mund të përdorim SQL për të krijuar tabelën në bazën tonë të të dhënave të personelit. Para se të bëjmë këtë, le të sigurohemi që jemi në bazën e të dhënave të saktë duke lëshuar një komandë USE:

Personeli i USE;

Përndryshe, "Personeli i DATABASE"; komanda do të kryente të njëjtin funksion. Tani mund të marrim një vështrim në komandën SQL që përdoret për të krijuar tabelën e punonjësve tanë:

CREATE TABELA punonjësit (employeeid INTEGER NOT NULL, mbiemri VARCHAR (25) NOT NULL, emri i parë VARCHAR (25) NOT NULL, reportsto INTEGER NULL);

Ashtu si me shembullin e mësipërm, vini re se konventa e programimit dikton që ne përdorim të gjitha shkronjat e mëdha për fjalë kyçe SQL dhe shkronja të vogla për kolona dhe tabela të përdorura me emrin. Komanda e mësipërme mund të duket konfuze në fillim, por ka një strukturë të thjeshtë prapa saj. Ja një pikëpamje e përgjithësuar që mund të qartësojë gjërat:

CREATE TABLE table_name (atribut_name opsionet e tipit të datave, ..., tiparet e tipit të tipit atribut_name);

Atributet dhe Tipet e të Dhënave

Në shembullin e mëparshëm, emri i tabelës është punonjës dhe ne përfshijmë katër atribute: employeeid, lastname, firstname, and reportsto. Tipi i të dhënave tregon llojin e informacionit që dëshirojmë të ruajmë në çdo fushë. ID-ja e punonjësit është një numër i plotë i numrit të plotë, prandaj ne do të përdorim tipin e të dhënave INTEGER si për fushën e punonjësve ashtu edhe për fushën e raportimit. Emrat e punonjësve do të jenë vargjet e karakterit me gjatësi të ndryshueshme dhe nuk presim që ndonjë punonjës të ketë një emër të parë ose të fundit mbi 25 shkronja. Prandaj, do të përdorim llojin VARCHAR (25) për këto fusha.

Vlerat NULL

Ne gjithashtu mund të specifikojmë ose NULL ose NOT NULL në fushën e opsioneve të deklaratës CREATE. Kjo thjesht tregon bazën e të dhënave nëse vlerat NULL (ose bosh) lejohen për atë atribut kur shtohen rreshta në bazën e të dhënave. Në shembullin tonë, departamenti i burimeve njerëzore kërkon që një punonjës ID dhe emri i plotë të ruhen për secilin punonjës. Megjithatë, jo çdo punonjës ka një menaxher - CEO i raporton askush! - kështu që ne lejojmë hyrjet NULL në atë fushë. Vini re se NULL është vlera e parazgjedhur dhe mosveprimi i këtij opsioni do të lejojë në mënyrë implicite vlerat NULL për një atribut.

Ndërtimi i tabelave të mbetura

Tani le të hedhim një vështrim në tryezën e territoreve. Nga një vështrim i shpejtë në këto të dhëna, duket se ne kemi nevojë për të ruajtur një integer dhe dy vargjet e gjatësisë së ndryshueshme. Ashtu si me shembullin tonë të mëparshëm, nuk presim që ID-ja e rajonit të konsumojë më shumë se 25 karaktere. Megjithatë, disa nga territoret tona kanë emra më të gjatë, kështu që do të zgjerojmë gjatësinë e lejuar të atributit në 40 karaktere. Le të shikojmë SQL korresponduese:

CREATE TABLE territories (territori INTEGER NOT NULL, territori Përshkrimi VARCHAR (40) NOT NULL, regionid VARCHAR (25) NUK NULL);

Së fundi, ne do të përdorim tabelën e Punëtorëve për të ruajtur marrëdhëniet ndërmjet punonjësve dhe territoreve. Informacion i detajuar për çdo punonjës dhe territor ruhet në dy tavolinat e mëparshme. Prandaj, ne vetëm duhet të ruajmë dy numrat e plotë të identifikimit në këtë tabelë. Nëse ne duhet të zgjerojmë këtë informacion, ne mund të përdorim një bashkësi në komandat tona të përzgjedhjes së të dhënave për të marrë informacion nga tabela të shumëfishta. Kjo metodë e ruajtjes së të dhënave zvogëlon tepricën në bazën e të dhënave tona dhe siguron përdorimin optimal të hapësirës në disqet tona të ruajtjes. Ne do të mbulojmë komandën JOIN në thellësi në një tutorial të ardhshëm. Ja kodi SQL për të zbatuar tabelën tonë përfundimtare:

CREATE TABLE punësimi (punonjës INTEGER JO NULL, territori INTEGER JO NULL);

Mekanizmi SQL siguron ndryshimin e strukturës së një baze të dhënash pas krijimit

Nëse jeni veçanërisht i zgjuar sot, mund të keni vënë re se ne "rastësisht" harruam një nga kërkesat e projektimit kur zbaton tabelat tona të bazës së të dhënave. Drejtori i Burimeve Njerëzore të Korporatës XYZ kërkoi që databaza të gjurmonte të dhënat e pagës së punonjësve dhe ne nuk e lëmë pas dore këtë gjë në tabelat e bazës së të dhënave që ne krijuam.

Megjithatë, gjithçka nuk është e humbur. Ne mund të përdorim komandën ALTER TABLE për të shtuar këtë atribut në bazën tonë të të dhënave ekzistuese. Ne duam ta ruajmë pagën si një vlerë të plotë. Sintaksa është mjaft e ngjashme me atë të komandës CREATE TABLE, këtu është:

Punonjësit e ALTER TABLE punojnë me ADD pagë INTEGER NULL;

Vini re se kemi specifikuar se vlerat NULL janë të lejuara për këtë atribut. Në shumicën e rasteve, nuk ka mundësi kur të shtoni një kolonë në një tabelë ekzistuese. Kjo është për shkak të faktit se tabela tashmë përmban rreshta pa hyrje për këtë atribut. Prandaj, DBMS fut automatikisht një vlerë NULL për të mbushur zbrazëtien.

Dhe kjo përfundon pamjen tonë në bazën e të dhënave SQL dhe procesin e krijimit të tabelave. Kontrolloni përsëri shpesh për këste të reja në serinë SQL të tutorialit. Nëse dëshironi një kujtesë e-mail kur artikujt e rinj të shtohen në faqen e bazës së të dhënave, sigurohuni që të regjistroheni në gazetën tonë!