SQL duomenų bazių ir lentelių kūrimas

Duomenų bazės kūrimas

Ar esate pasirengęs pradėti kurti duomenų bazes ir lenteles su " Structured Query Language" ? Šiame straipsnyje nagrinėjame, kaip kurti lenteles rankiniu būdu, naudodami CREATE DATABASE ir CREATE TABLE komandas. Jei esate naujokas SQL, pirmiausia galite peržiūrėti mūsų pagrindinį SQL pagrindų straipsnį.

Verslo reikalavimai

Prieš sėdėdami prie klaviatūros, turime užtikrinti, kad turime tvirtą supratimą apie kliento reikalavimus. Koks geriausias būdas gauti šį supratimą? Žinoma, kalbėtis su klientu! Susitinkant su XYZ Žmogiškųjų išteklių direktoriumi, mes sužinojome, kad jie yra valdiklių pardavimo kompanija, ir pirmiausia nori sekti informaciją apie savo pardavimų personalą.

"XYZ Corporation" padalija savo pardavimų jėgas į rytų ir vakarų regionus, kurių kiekviena yra padalinta į daugelį teritorijų, kurioms taikoma individuali pardavimo pakopa. Žmogiškųjų išteklių departamentas norėtų stebėti kiekvieno darbuotojo teritoriją, taip pat kiekvieno darbuotojo atlyginimo informaciją ir priežiūros struktūrą. Kad atitiktume šiuos reikalavimus, sukūrėme duomenų bazę, susidedančią iš trijų lentelių, parodytų šio puslapio Entity-Relationship diagramoje .

Duomenų bazės platformos pasirinkimas

Mes nusprendėme naudoti duomenų bazių valdymo sistemą (arba DBVS), sukurtą struktūrizuotų užklausų kalba (SQL). Todėl visos mūsų duomenų bazės ir lentelės kūrimo komandos turi būti parašytos atsižvelgiant į standartinį ANSI SQL.

Papildoma nauda naudojant ANSI-suderinamą SQL užtikrins, kad šios komandos veiktų bet kuriame DBVS, palaikančiame SQL standartą , įskaitant "Oracle" ir "Microsoft SQL Server". Jei dar nepasirinkote platformos savo duomenų bazei, straipsnyje " Duomenų bazės programinės įrangos parinktys" rasite pasirinkimo procesą.

Duomenų bazės kūrimas

Pirmasis mūsų žingsnis - sukurti pačią duomenų bazę. Daugelis duomenų bazių valdymo sistemų siūlo keletą galimybių pritaikyti duomenų bazės parametrus šiuo etapu, tačiau mūsų duomenų bazė leidžia tik sukurti duomenų bazę. Kaip ir visoms mūsų komandoms, galbūt norėsite sužinoti savo DBV dokumentaciją, kad nustatytumėte, ar kokie papildomi jūsų konkrečios sistemos palaikomi parametrai atitinka jūsų poreikius. Naudokime CREATE DATABASE komandą, kad sukurtume savo duomenų bazę:

KŪRYKITE DUOMENŲ BAZĖS personalą

Atkreipkite ypatingą dėmesį į kapitalizaciją, naudojamą aukščiau pateiktame pavyzdyje. SQL programuotojams yra įprasta naudoti visus didžiųjų raidžių SQL raktažodžius, tokius kaip "CREATE" ir "DATABASE", tuo pačiu naudojant visus mažosios raidės vartotojui apibrėžtus pavadinimus, pavyzdžiui, "personalo" duomenų bazės pavadinimą. Šios konvencijos yra lengvai suprantamos.

Toliau skaitykite šį vadovėlį sukūrę mūsų duomenų bazės lenteles.

Sužinokite daugiau

Jei norėtumėte sužinoti daugiau apie " Structured Query Language" , perskaitykite " Įvadas į SQL" arba užsiprenumeruokite mūsų nemokamą "Learning SQL" e-mail kursą.

Dabar, kai sukūrėme ir sukūrėme savo duomenų bazę, mes esame pasirengę sukurti tris lenteles, naudojamas "XYZ Corporation" personalo duomenų saugojimui. Mes įgyvendinsime lenteles, kurias sukūrėme ankstesnėje šio vadovo dalyje.

Mūsų pirmojo stalo kūrimas

Mūsų pirmoji lentelė susideda iš kiekvieno mūsų įmonės darbuotojo asmens duomenų. Turime įtraukti kiekvieno darbuotojo vardą, atlyginimą, ID ir valdytoją. Geriausia dizaino praktika atskirti paskutinius ir pirmuosius pavadinimus į atskirus laukus, kad ateityje būtų lengviau ieškoti duomenų ir rūšiuoti. Be to, stebėsime kiekvieno darbuotojo valdytoją, įtraukdami nuorodą į vadybininko darbuotojo ID kiekvieno darbuotojo įraše. Pirmiausia pažvelkime į norimą darbuotojo lentelę.

Atributas ReportsTo saugo kiekvieno darbuotojo vadybininko ID. Iš pateiktų pavyzdžių įrašų galime nustatyti, kad Sue Scampi yra Tom Kendall ir John Smith vadovas. Tačiau Sue vadovo duomenų bazėje nėra informacijos, kurią rodo NULL įrašas eilutėje.

Dabar galime naudoti SQL, kad galėtume sukurti lentelę mūsų personalo duomenų bazėje. Prieš tai atliksime, įsitikinsime, kad esame teisingoje duomenų bazėje, išduodami USE komandą:

USE personalas;

Arba "duomenų bazės personalas"; komanda atliks tą pačią funkciją. Dabar galime pažvelgti į SQL komandą, naudojamą mūsų darbuotojų lentelės kūrimui:

CREATE TABLE employees (employeeid INTEGER NOT NULL, last name VARCHAR (25) NOT NULL, firstname VARCHAR (25) NOT NULL, reportsto INTEGER NULL);

Kaip ir pirmiau pateiktame pavyzdyje, atkreipkite dėmesį, kad programavimo sutartis diktuoja, kad mes naudojame visus didžiosiomis raidėmis SQL raktažodžius ir mažosios raidės vartotojo pavadinimuose stulpeliuose ir lentelėse. Pirmiau pateikta komanda gali atrodyti paini, tačiau už jos esama iš tikrųjų paprastos struktūros. Štai apibendrintas vaizdas, kuris gali šiek tiek išaiškinti:

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

Atributai ir duomenų tipai

Ankstesniame pavyzdyje lentelės pavadinimas yra darbuotojai, ir mes įtraukiame keturis atributus: employeeid, pavardė, vardas ir reportsto. Duomenų tipas nurodo, kokio tipo informaciją kiekviename lauke norite išsaugoti. Darbuotojo ID yra paprastas sveikasis skaičius, todėl naudosime INTEGER duomenų tipą tiek darbuotojo laukui, tiek pranešimams lauke. Darbuotojų vardai bus įvairaus ilgio simbolių eilutės, todėl mes nesitikime, kad bet kuris darbuotojas turėtų vardą arba pavardę ilgiau nei 25 simbolius. Todėl šiuos laukus naudosime VARCHAR (25) tipo.

NULL vertės

Mes taip pat galime nurodyti NULL arba NOT NULL CREATE ataskaitos parinkčių lauke. Tai paprasčiausiai nurodo duomenų bazę, ar pridedant eilučių prie duomenų bazės, ar NULL (arba tuščias) vertes yra leidžiamas dėl šio atributo. Mūsų pavyzdyje žmogiškųjų išteklių departamentas reikalauja, kad kiekvienam darbuotojui būtų saugomas darbuotojo ID ir vardas. Tačiau ne kiekvienas darbuotojas turi vadovo - generalinis direktorius niekam nepraneša! - todėl šioje srityje leidžiame NULL įrašus. Atkreipkite dėmesį, kad NULL yra numatytoji reikšmė ir praleidus šią parinktį netiesiogiai bus leidžiamos NULL vertės atributui.

Statyti likusias lenteles

Dabar pažvelkime į teritorijų lentelę. Greitai pažvelgus į šiuos duomenis atrodo, kad turime laikyti sveiką skaičių ir dvi kintamos ilgio eilutes. Kaip ir ankstesniame pavyzdyje, mes nesitikime, kad regiono ID sunaudoja daugiau nei 25 simbolių. Tačiau kai kuriose mūsų teritorijose yra ilgesnių pavadinimų, todėl pratęsime leistiną šio atributo ilgį iki 40 simbolių. Pažvelkime į atitinkamą SQL:

CREATE TABLE territories (territoryid INTEGER NOT NULL, territory Aprašymas VARCHAR (40) NOT NULL, regionid VARCHAR (25) NOT NULL);

Galiausiai, mes naudosime lentelę EmployeeTerritories, kad išsaugotume santykius tarp darbuotojų ir teritorijų. Išsami informacija apie kiekvieną darbuotoją ir teritoriją yra saugoma ankstesnėse mūsų lentelėse. Todėl mes turime tik laikyti du sveikieji skaičiaus identifikavimo numerius šioje lentelėje. Jei mums reikia išplėsti šią informaciją, mes galime naudoti JOIN mūsų duomenų atrankos komandose, kad gautume informaciją iš kelių lentelių. Šis duomenų saugojimo metodas mažina duomenų dubliavimą mūsų duomenų bazėje ir užtikrina optimalų vietos naudojimą mūsų saugojimo įrenginiuose. Būsimoje pamokoje mes išsamiai aptarsime JOIN komandą. Štai SQL kodas, skirtas įgyvendinti mūsų finalinę lentelę:

CREATE TABLE employeertritories (employeeid INTEGER NOT NULL, territoryid INTEGER NOT NULL);

Mechanizmas SQL leidžia keisti duomenų bazės struktūrą po kūrimo

Jei šiandien esate ypač įžvalgus, galbūt pastebėjote, kad "atsitiktinai" praleidome vieną iš dizaino reikalavimų įgyvendindami mūsų duomenų bazės lenteles. "XYZ Corporation" personalo direktorius paprašė, kad duomenų bazėje būtų stebima informacija apie darbuotojo atlyginimus, ir mes nenorėjome to pateikti duomenų bazėse, kurias sukūrėme.

Tačiau visa tai nėra prarasta. Mes galime naudoti komandą ALTER TABLE, kad pridėti šį atributą prie mūsų esamos duomenų bazės. Mes norime, kad atlyginimas būtų sveikas skaičius. Sintaksė yra gana panaši į CREATE TABLE komandą, čia ji yra:

ALTER TABLE darbuotojai PABAIGA atlyginimą INTEGER NULL;

Atkreipkite dėmesį, kad mes nurodėme, kad šio atributo leidžiamos NULL vertės. Daugeliu atvejų nėra galimybės pridėti 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 vertę, kad užpildytų tuštumą.

Ir tai apibūdina mūsų žvilgsnį į SQL duomenų bazę ir stalo kūrimo procesą. Patikrinkite dažniausiai naujus dalinius mūsų SQL vadovo serijose. Jei norite gauti priminimą apie el. Paštą, kai prie svetainių "Apie duomenų bazes" įtraukiami nauji straipsniai, būtinai užsiprenumeruokite mūsų naujienlaiškį!