Tietokantojen ja taulukoiden luominen SQL: ssä

Tietokannan luominen

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 SQL Basics- artikkelin 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, artikkeli 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.

Jatka lukemista tämän opetusohjelman luomalla taulukoita tietokantaamme.

Oppiminen lisää

Jos haluat lisätietoja strukturoidusta kyselykielestä , lue Johdatus SQL-muotoon tai rekisteröidy ilmaiseksi oppimisen SQL-sähköpostikurssille.

Nyt kun olemme suunnitelleet ja luoneet tietokannamme, olemme valmiita luomaan kolme taulukkoa, joita käytetään XYZ Corporationin henkilötietojen tallentamiseen. Laitamme taulukoita, jotka on suunniteltu tämän opetusohjelman edellisessä osassa.

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 SQL-komentoa, jota käytetään työntekijöiden taulukon luomiseen:

CREATE TABLE työntekijät (employeeid INTEGER NOT NULL, sukunimi 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 datatyyppiasetukset, ..., attribuutin_nimi datatyyppivalinnat);

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 jokaisella työntekijällä 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:

CREATE TABLE -alueet (alueellinen INTEGER NOT NULL, alue Kuvaus VARCHAR (40) NOT NULL, regionid 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 taulukon palveluntarjoajia (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 lisäävät palkkaa 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.

Ja tämä sulkee katsauksen SQL-tietokantaan ja taulukon luomisprosessiin. Tarkista usein uudet erät SQL-tutorialisarjassamme. Jos haluat sähköpostin muistutuksen, kun uusia artikkeleita lisätään Tietoja Tietokannat-sivustosta, muista tilata uutiskirjeemme!