Skip to main content

Tietokantojen ja taulukoiden luominen SQL: ssä

Tietokannan luominen palvelimelle (Huhtikuu 2025)

Tietokannan luominen palvelimelle (Huhtikuu 2025)
Anonim

Oletko valmis aloittamaan tietokantojen ja taulukoiden luomisen Structured Query Language -ohjelmalla? Tässä artikkelissa tutustumme käsittelemään taulukoita käsin CREATE DATABASE- ja CREATE TABLE -komentojen avulla. Jos olet uusi SQL, voit ehkä tarkistaa joitain SQL-perustietoja ensin.

Liiketoimintaedellytykset

Ennen kuin istumme näppäimistöön, meidän on varmistettava, että meillä on vankka käsitys asiakkaan vaatimuksista. Mikä on paras tapa saada tämä näkemys? Puhutaan asiakkaalle tietenkin! Kun olemme istuneet XYZ: n henkilöstöjohtajan kanssa, olemme oppineet, että he ovat widget-myyntiyhtiöitä ja kiinnostuneita erityisesti seuraamaan tietojaan heidän myyntihenkilöstään.

XYZ Oyj jakaa myyntivoimaansa itäisiin ja läntisiin alueisiin, joista kukin jakautuu monille yksittäisten myyntiedustajien kattamille alueille. HR-osasto haluaa seurata kunkin työntekijän kattavuutta sekä kunkin työntekijän palkka-informaation ja valvontarakenteen. Näiden vaatimusten täyttämiseksi olemme suunnitelleet tietokannan, joka koostuu kolmesta taulukosta, jotka näkyvät tämän sivun Entity-Relationship-kaaviossa.

Tietokantaympäristön valinta

Olemme päättäneet käyttää tietokannanhallintajärjestelmää (tai DBMS), joka perustuu rakenteisiin kyselykieliin (SQL). Siksi kaikki tietokannan ja taulukon luomiskomennot tulee kirjoittaa standardin ANSI SQL -muistilla.

Lisäetuna ANSI-yhteensopivaa SQL-tekniikkaa käyttämällä varmistetaan, että nämä komennot toimivat millä tahansa DBMS-järjestelmällä, joka tukee SQL-standardia, kuten Oracle ja Microsoft SQL Server. Jos et ole vielä valinnut tietokannasta tietokantaa, Database Software Options kävelee läpi valintaprosessin.

Tietokannan luominen

Ensimmäinen askelemme on itse tietokannan luominen. Monet tietokannan hallintajärjestelmät tarjoavat joukon vaihtoehtoja mukauttaa tietokantaparametreja tässä vaiheessa, mutta tietokanta mahdollistaa tietokannan yksinkertaisen luomisen. Kuten kaikilla komennoillamme, voit halutessasi tutustua DBMS: n dokumentaatioon, jotta voit selvittää, ovatko tietyt järjestelmäsi tukemat kehittyneet parametrit tarpeitasi vastaavia. Käytä CREATE DATABASE -komentoa tietokannan perustamiseksi:

LUOTTAA TIETOKANNASTA henkilöstöä

Huomioi erityisesti yllä olevassa esimerkissä käytetty pääoma. SQL-ohjelmoijien keskuudessa on yleistä käytäntöä käyttää kaikkia isoja kirjaimia SQL-avainsanoille, kuten "CREATE" ja "DATABASE", kun käytetään kaikkia pieniä kirjaimia käyttäjän määrittelemille nimille, kuten "henkilöstön" tietokannan nimi. Nämä yleissopimukset mahdollistavat helpon luettavuuden.

Nyt kun olemme suunnitelleet ja luoneet tietokannamme, olemme valmiita luomaan kolme taulukkoa, joita käytetään XYZ Corporationin henkilötietojen tallentamiseen.

Ensimmäisen pöydän luominen

Ensimmäinen taulukko koostuu kunkin yrityksen työntekijän henkilötiedoista. Meidän on sisällytettävä jokaisen työntekijän nimi, palkka, henkilötunnus ja johtaja. On hyvä suunnitteluharjoittelu erottaa viimeiset ja etunimet erillisiksi aloiksi tietojen etsinnän ja lajittelun yksinkertaistamiseksi tulevaisuudessa. Lisäksi seuraamme jokaisen työntekijän päällikkö lisäämällä viittauksen johtajan työntekijän tunnukseen kullakin työntekijärekisteriin. Katsotaanpa ensin haluttu työntekijätaulukko.

ReportsTo attribuutissa tallennetaan kunkin työntekijän hallinta-ID. Näytetyistä näytteistä voidaan päätellä, että Sue Scampi on sekä Tom Kendallin että John Smithin johtaja. Suen johtajan tietokannasta ei kuitenkaan ole tietoa, kuten NULL-merkinnällä on sen rivillä.

Nyt voimme luoda SQL-taulukon luomalla taulukon henkilöstötietokantaamme. Ennen kuin teemme niin, varmistamme, että olemme oikeassa tietokannassa antamalla USE-komento:

USE-henkilöstö;

Vaihtoehtoisesti "DATABASE-henkilöstö;" komennolla olisi sama tehtävä. Nyt voimme tarkastella työntekijän taulukon luomiseen käytettyä SQL-komentoa:

CREATE TABLE työntekijät (employeeid INTEGER NOT NULL, etunimi VARCHAR (25) NOT NULL, etunimi VARCHAR (25) NOT NULL, reportsto INTEGER NULL);

Kuten yllä olevassa esimerkissä, huomaa, että ohjelmointisopimuksessa sanotaan, että käytämme kaikkia isoja kirjaimia SQL-avainsanoille ja pieniä kirjaimia käyttäjän nimissä oleville sarakkeille ja taulukoille. Yllä oleva komento voi tuntua hämmentävältä aluksi, mutta sen takana on yksinkertainen rakenne. Tässä on yleistetty näkymä, joka saattaa selvittää asioita hieman:

Luo taulukko taulukon_nimi (attribuutin_nimi datatyyppivalinnat, …, attribute_name datatyyppi -asetukset);

Ominaisuudet ja tietotyypit

Edellisessä esimerkissä taulukon nimi on työntekijä ja meillä on neljä attribuuttia: employeeid, lastname, firstname ja reportsto. Datatyyppi ilmaisee minkä tyyppiset tiedot haluamme tallentaa kussakin kentässä. Työntekijän tunnus on yksinkertainen kokonaisluku, joten käytämme INTEGER-tietotyyppiä sekä työntekijän kenttään että reportsto-kenttään. Työntekijöiden nimet ovat pituudeltaan vaihtelevia merkkijonoja, eikä työntekijää ole odotettavissa, että etunimi tai sukunimi olisi yli 25 merkkiä pitkä. Siksi käytämme näiden kenttien VARCHAR (25) -tyyppiä.

NULL-arvot

Voimme myös määrittää joko NULL tai NOT NULL CREATE-lausekkeen vaihtoehtoihin. Tämä yksinkertaisesti kertoo tietokannalle, sallitaanko NULL (tai tyhjät) arvot kyseiselle attribuutille, kun rivit lisätään tietokantaan. Esimerkkinä HR-osasto vaatii työntekijän tunnuksen ja täydellisen nimen tallentamisen jokaiselle työntekijälle. Kuitenkaan kaikilla työntekijöillä ei ole johtajaa (toimitusjohtaja raportoi kenellekään!), Joten sallimme NULL-merkinnät tällä alalla.Huomaa, että NULL on oletusarvo ja tämän vaihtoehdon jättäminen implisiittisesti antaa attribuutin NULL-arvot.

Jäljellä olevien taulukoiden rakentaminen

Katsotaan nyt alueita taulukosta. Näiden tietojen nopeasta katsomisesta näyttää siltä, ​​että meidän on säilytettävä kokonaisluku ja kaksi muuttuvan pituisen merkkijonon. Kuten edellisessä esimerkissämme, emme odota, että aluekoodi käyttää yli 25 merkkiä. Jotkut alueistamme ovat kuitenkin pitempiä, joten laajennamme sallitun pituuden 40 merkkiä.

Katsotaan vastaavaa SQL:

Luo taulukko alueille (alueellinen INTEGER NOT NULL, alue Kuvaus VARCHAR (40) NOT NULL, alueellinen VARCHAR (25) NOT NULL);

Lopuksi käytämme EmployeeTerritories-taulukkoa tallentaaksesi työntekijöiden ja alueiden väliset suhteet. Yksityiskohtaiset tiedot jokaisesta työntekijästä ja alueesta tallennetaan edellisissä kahdessa taulukossamme. Siksi meidän on säilytettävä vain kaksi kokonaislukun tunnistenumeroa tässä taulukossa. Jos meidän on laajennettava näitä tietoja, voimme käyttää tietojen valintakomentojen JOIN, jotta saamme tietoja useista taulukoista.

Tämä tietojen tallennusmenetelmä vähentää tietokannan redundanssia ja takaa optimaalisen tilan käytön tallennusasemillemme. Kattavat JOIN-komennon perusteellisesti tulevassa opetusohjelmassa. Tässä on SQL-koodi, jolla panemme täytäntöön finaalipöydämme:

LUOTTAA TABLE työvoimaa (employeeid INTEGER NOT NULL, alueellinen INTEGER NOT NULL);

Mechanism SQL tarjoaa muutoksia tietokannan rakenteeseen luomisen jälkeen

Jos olet erityisen älykäs tänään, saatat huomata, että olemme "vahingossa" jättäneet yhden suunnittelutavoitteista tietokantapöydän toteutuksessa. XYZ Oyj: n HR-johtaja pyysi, että tietokanta seuraa työntekijän palkkatietoja, ja laimintiin antaa tämä luottamamme tietokantapöytiin.

Kaikki eivät kuitenkaan menetä. Voimme käyttää ALTER TABLE -komennolla tämän attribuutin lisäämistä olemassa olevaan tietokantaamme. Haluamme tallentaa palkan kokonaislukuarvoiksi. Syntaksi on melko samanlainen kuin CREATE TABLE -komento, tässä se on:

ALTER TABLE työntekijät ADD palkka INTEGER NULL;

Huomaa, että olemme määritelleet, että NULL-arvot ovat sallittuja tähän attribuuttiin. Useimmissa tapauksissa ei ole vaihtoehtoa, kun lisäät sarakkeen olemassa olevaan taulukkoon. Tämä johtuu siitä, että taulukossa on jo rivejä, joilla ei ole merkintää tähän attribuuttiin. Siksi DBMS syöttää NULL-arvon automaattisesti täyttämään tyhjän tilan.