Tabeli loomine

Harjutus (tabeli loomine)

Tekitame tabeli Laps, milles kirjas lapse nimi, pikkus, sünniaasta ning sünnilinn.

Kes soovib võib teha tabeli kasutades graafilisi vahendeid kuid soovitan harjutada SQL keelt ning teha tabel kasutades SQL lauseid. SQL laused võimaldavad

  • paremini kontrollida serverile antavaid käske
  • laused on võimalik salvestada skriptidesse, mille käivitamisel saame kogu protsessi korrata

Management Studios SQL-lausete kirjutamiseks tuleb luua vastav tekstiaken. Selleks

File->New->Query with Current Connection

Igas tabelis peab olema primaarvõti e. lisaks eelpool loetletud väljadele võtame kasutusele ka välja LapsID, mis võiks olla taas automaatselt nummerdatav.

Lihtsuse mõttes salvestame tabelisse vaid eesnimed ning loodame, et nimi pole üle 40 tähe pikk (enamasti salvestatakse inimeste nimed kahel väljal ees- ja perekonnanimi, mis võimaldab andmeid paremini otsida ja sorteerida)

Pikkust hoiame sentimeetrites keskmise suurusega täisarvulisel väljal.

Kuna soovime hoida andmebaasis ainult sünniaastat, mitte sünnipäeva siis kasutame ka sünniaasta tarbeks täisarvulist numbrivälja, mitte kuupäeva välja. Arvutatavaid väärtusi (näiteks vanus) üldjuhul tabelis ei hoita vaid arvutatakse vajalikult hetkel. Kui arvutatavat välja on vaja väga tihti võib selleks alates SQL Server 2000st teha eraldi valemit sisaldava välja (computed column)!

Linna tarbeks kasutame juba varem loodud Linn_tbl tabelis olevaid linnakoode. Et kahe tabeli ühendamine oleks lihtsam, peavad mõlemal pool olema väljad ühte tüüpi ning ühesuurused.

Seega võiks laste tabeli teha järgneva SQL lausega:

[crayon-68106fb6b6094568577942/]

Väli vanus on arvutuslik. Funktsioon GETDATE() annab hetke aja e. kuupäev kellaaeg. Funktsioon YEAR eraldab antud kuupäevast aasta. Seega leitakse vanus arvutusega jooksev aasta miinus sünniaasta.

Lisame sellesse tabelisse ka mõned andmed:

Selleks moodustame iga sisestatava rea tarbeks eraldi SQL lause:

[crayon-68106fb6b609a137065121/]

Avades tabeli vaatamiseks või kirjutades SQL Lause kujul:

[crayon-68106fb6b609f231524436/]

Saame tulemuseks tabeli, milles 6 rida:

Nagu näeme on kõigile lastele tekitatud (sisestamise järjekorras) koodid ning vaatamiseks arvutatud vanused. Vanuseid reaalselt kusagile salvestatud ei ole ning need arvutatakse lahutades käesolevast aastast sünniaasta.