Duomenų bazių ir lentelių kūrimas SQL

click fraud protection

Ar esate pasirengęs pradėti kurti duomenų bazes ir lenteles su Struktūruota užklausų kalba? Šiame straipsnyje mes nagrinėjame lentelių kūrimo procesą rankiniu būdu naudodami komandas CREATE DATABASE ir CREATE TABLE. Jei dar nesinaudojote SQL, galbūt norėsite juos peržiūrėti SQL pagrindai Pirmas.

Verslo reikalavimai

Prieš sėsdami prie klaviatūros turime įsitikinti, kad gerai suprantame kliento reikalavimus. Koks geriausias būdas gauti šią įžvalgą? Žinoma, kalbėti su klientu! Susėdę su „XYZ“ žmogiškųjų išteklių direktoriumi, sužinojome, kad jie yra valdiklių pardavimo įmonė ir pirmiausia suinteresuoti sekti informaciją apie savo pardavimų personalą.

„XYZ Corporation“ skirsto savo pardavimų pajėgas į rytinius ir vakarinius regionus, kurių kiekvienas yra padalintas į daugelį teritorijų, kurias apima individualūs pardavimo atstovai. Personalo skyrius norėtų sekti kiekvieno darbuotojo užimamą teritoriją, informaciją apie kiekvieno darbuotojo atlyginimus ir priežiūros struktūrą. Norėdami patenkinti šiuos reikalavimus, mes sukūrėme duomenų bazę, susidedančią iš trijų lentelių, parodytų

instagram viewer
Esybės-santykio diagrama šiame puslapyje.

Duomenų bazės platformos pasirinkimas

Mes nusprendėme naudoti a duomenų bazių valdymo sistema (arba DBVS), kuris yra sukurtas naudojant struktūrinę užklausų kalbą (SQL). Todėl visos mūsų duomenų bazės ir lentelės kūrimo komandos turėtų būti parašytos atsižvelgiant į standartinę ANSI SQL.

Papildoma nauda yra tai, kad naudodami ANSI suderinamą SQL užtikrinsite, kad šios komandos veiks bet kurioje DBVS, palaikančioje SQL standartą, įskaitant „Oracle“ ir „Microsoft SQL Server“. Jei dar nepasirinkote platformos savo duomenų bazei, duomenų bazės programinės įrangos parinktys padės jums atlikti pasirinkimo procesą.

Duomenų bazės kūrimas

Pirmasis mūsų žingsnis yra pačios duomenų bazės sukūrimas. Daugelis duomenų bazių valdymo sistemų šiame etape siūlo daugybę galimybių tinkinti duomenų bazės parametrus, tačiau mūsų duomenų bazė leidžia paprasčiausiai sukurti duomenų bazę. Kaip ir visose mūsų komandose, galbūt norėsite sužinoti savo DBVS dokumentaciją, kad nustatytumėte, ar jūsų sistemos palaiko bet kurie išplėstiniai parametrai. Norėdami sukurti savo duomenų bazę, naudokime komandą CREATE DATABASE:

KURTI DUOMENŲ BAZĖS personalą

Ypač atkreipkite dėmesį į didžiųjų raidžių rašymą, naudojamą aukščiau pateiktame pavyzdyje. Tarp SQL programuotojų įprasta naudoti visas didžiąsias raides SQL raktiniams žodžiams, pvz., „KŪRYTI“ ir „DUOMENŲ BAZĖ“, vartojant visas mažąsias raides vartotojo apibrėžtiems vardams, pvz., „personalo“ duomenų bazei vardas. Šios konvencijos suteikia lengvą įskaitomumą.

Sukūrę ir sukūrę savo duomenų bazę, esame pasirengę pradėti kurti tris lenteles, naudojamas „XYZ Corporation“ personalo duomenims saugoti.

Pirmosios lentelės kūrimas

Pirmąją lentelę sudaro kiekvieno mūsų įmonės darbuotojo asmens duomenys. Turime nurodyti kiekvieno darbuotojo vardą, pavardę, atlyginimą, asmens tapatybės dokumentą ir vadovą. Gera dizaino praktika atskirti pavardes ir vardus į atskirus laukus, kad ateityje būtų paprasčiau ieškoti duomenų ir rūšiuoti. Be to, stebėsime kiekvieno darbuotojo vadovą, kiekviename darbuotojo įraše įterpdami nuorodą į vadovo darbuotojo ID. Pirmiausia apžvelkime norimo darbuotojo lentelę.

Atributas „ReportsTo“ saugo kiekvieno darbuotojo vadybininko ID. Iš parodytų pavyzdžių įrašų galime nustatyti, kad Sue Scampi yra Tomo Kendallo ir Johno Smitho vadovas. Tačiau duomenų bazėje nėra informacijos apie Sue valdytoją, kaip rodo jos eilutėje įrašas NULL.

Dabar galime naudoti SQL, kad sukurtume lentelę savo personalo duomenų bazėje. Prieš tai atlikdami įsitikinkime, kad esame teisingoje duomenų bazėje, išleisdami komandą USE:

NAUDOTI personalą;

Arba „DUOMENŲ BAZĖS personalas“; komanda atliktų tą pačią funkciją. Dabar galime pažvelgti į SQL komandą, naudojamą kuriant mūsų darbuotojų lentelę:

SUKURTI STALO darbuotojus
(darbuotojas INTEGER NOT NULL,
pavardė VARCHAR (25) NOT NULL,
vardas VARCHAR (25) NOT NULL,
ataskaitos INTEGER NULL);

Kaip ir aukščiau pateiktame pavyzdyje, atkreipkite dėmesį, kad programavimo sutartis nurodo, kad SQL raktiniams žodžiams naudojame visas didžiąsias raides, o vartotojo vardų stulpeliuose ir lentelėse - mažąsias raides. Iš pradžių aukščiau pateikta komanda gali atrodyti paini, bet iš tikrųjų už jos yra paprasta struktūra. Pateikiame apibendrintą požiūrį, kuris gali šiek tiek išsiaiškinti:

Sukurti lentelę table_name
(atributo_pavadinimas duomenų tipo parinktys,
...,
atributo_pavadinimas duomenų tipo parinktys);

Atributai ir duomenų tipai

Ankstesniame pavyzdyje lentelės pavadinimas yra darbuotojai, o mes įtraukiame keturis atributus: darbuotojo vardas, pavardė, vardas ir ataskaitos. Duomenų tipas nurodo informacijos tipą, kurį norime išsaugoti kiekviename lauke. Darbuotojo ID yra paprastas sveikasis skaičius, todėl lauke „darbuotojo vardas“ ir „ataskaita“ naudosime duomenų tipą INTEGER. Darbuotojų vardai bus įvairaus ilgio simbolių eilutės ir mes nesitikime, kad nė vienas darbuotojas turės ilgesnį nei 25 simbolių vardą ar pavardę. Todėl šiuose laukuose naudosime tipą VARCHAR (25).

NULL vertybės

Mes taip pat galime nurodyti bet kurį NULL arba NE NULL CREATE sakinio parinkčių lauke. Tai tiesiog nurodo duomenų bazei, ar tam atributui leidžiamos NULL (ar tuščios) reikšmės, pridedant eilučių į duomenų bazę. Mūsų pavyzdyje personalo skyrius reikalauja, kad kiekvieno darbuotojo darbuotojui būtų išsaugotas darbuotojo ID ir visas vardas. Tačiau ne kiekvienas darbuotojas turi vadovą (generalinis direktorius atsiskaito niekam!), Todėl mes leidžiame NULL įrašus į tą lauką. Atminkite, kad NULL yra numatytoji reikšmė, o praleidus šią parinktį, implicitiškai bus leidžiamos NULL reikšmės atributui.

Likusių lentelių statyba

Dabar pažvelkime į teritorijų lentelę. Greitai pažvelgus į šiuos duomenis, atrodo, kad turime saugoti sveikąjį skaičių ir dvi kintamo ilgio eilutes. Kaip ir ankstesniame pavyzdyje, mes nesitikime, kad Regiono ID sunaudos daugiau nei 25 simbolius. Tačiau kai kuriose mūsų teritorijose pavadinimai yra ilgesni, todėl išplėsime leistiną šio atributo ilgį iki 40 simbolių.

Pažvelkime į atitinkamą SQL:

SUKURTI LENTELĖS teritorijas
(teritorija INTEGER NOT NULL,
teritorija Aprašymas VARCHAR (40) NOT NULL,
regioninis VARCHAR (25) NE NULL);

Galiausiai naudosime lentelę „EmployeeTerritories“, kad išsaugotume santykius tarp darbuotojų ir teritorijų. Išsami informacija apie kiekvieną darbuotoją ir teritoriją saugoma ankstesnėse dviejose lentelėse. Todėl šioje lentelėje turime saugoti tik du sveikųjų skaičių identifikavimo numerius. Jei mums reikia išplėsti šią informaciją, duomenų pasirinkimo komandose galime naudoti JOIN, kad gautume informaciją iš kelių lentelių.

Šis duomenų saugojimo būdas sumažina perteklių mūsų duomenų bazėje ir užtikrina optimalų vietos naudojimą mūsų atminties įrenginiuose. Komandą JOIN išsamiai aptarsime būsimoje pamokoje. Štai SQL kodas, skirtas įgyvendinti mūsų galutinę lentelę:

SUKURTI LENTEL employ darbo rinkmenos
(darbuotojas INTEGER NOT NULL,
teritorija INTEGER NOT NULL);

Mechanizmas SQL suteikia galimybę pakeisti duomenų bazės struktūrą sukūrus

Jei šiandien esate ypač nuovokus, galbūt pastebėjote, kad įgyvendindami savo duomenų bazės lenteles „netyčia“ praleidome vieną iš dizaino reikalavimų. „XYZ Corporation“ personalo direktorius paprašė duomenų bazės sekti informaciją apie darbuotojų atlyginimus, o mes to nepateikėme savo sukurtose duomenų bazės lentelėse.

Tačiau viskas nėra prarasta. Mes galime naudoti ALTER TABLE komandą, norėdami įtraukti šį atributą į esamą duomenų bazę. Mes norime išsaugoti atlyginimą kaip sveiko skaičiaus reikšmę. Sintaksė yra gana panaši į CREATE TABLE komandos, čia ji yra:

ALTER TABLE darbuotojai
PRIDĖTI algą NEKILNO;

Atkreipkite dėmesį, kad nurodėme, kad šiam atributui leidžiamos NULL vertės. Daugeliu atvejų nėra galimybės, pridedant stulpelį prie esamos lentelės. Taip yra dėl to, kad lentelėje jau yra eilučių be šio atributo įrašo. Todėl DBVS automatiškai įterpia NULL reikšmę, kad užpildytų tuštumą.

instagram story viewer