{"id":536,"date":"2023-05-14T14:49:34","date_gmt":"2023-05-14T14:49:34","guid":{"rendered":"https:\/\/tarkvara.thkit.ee\/veeb\/?page_id=536"},"modified":"2023-05-14T14:49:34","modified_gmt":"2023-05-14T14:49:34","slug":"tabeli-loomine-harjutus-lk-24","status":"publish","type":"page","link":"https:\/\/tarkvara.thkit.ee\/veeb\/eng\/tabeli-loomine-harjutus-lk-24\/","title":{"rendered":"Tabeli loomine"},"content":{"rendered":"\n<p><strong>Harjutus (tabeli loomine)<\/strong><\/p>\n\n\n\n<p>Tekitame tabeli Laps, milles kirjas lapse nimi, pikkus, s\u00fcnniaasta ning s\u00fcnnilinn.<\/p>\n\n\n\n<p>Kes soovib v\u00f5ib teha tabeli kasutades graafilisi vahendeid kuid soovitan harjutada SQL keelt ning teha tabel kasutades SQL lauseid. SQL laused v\u00f5imaldavad<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>paremini kontrollida serverile antavaid k\u00e4ske<\/li>\n\n\n\n<li>laused on v\u00f5imalik salvestada skriptidesse, mille k\u00e4ivitamisel saame kogu protsessi korrata<\/li>\n<\/ul>\n\n\n\n<p>Management Studios SQL-lausete kirjutamiseks tuleb luua vastav tekstiaken. Selleks<\/p>\n\n\n\n<p>File-&gt;New-&gt;Query with Current Connection<\/p>\n\n\n\n<p>Igas tabelis peab olema primaarv\u00f5ti e. lisaks eelpool loetletud v\u00e4ljadele v\u00f5tame kasutusele ka v\u00e4lja LapsID, mis v\u00f5iks olla taas automaatselt nummerdatav.<\/p>\n\n\n\n<p>Lihtsuse m\u00f5ttes salvestame tabelisse vaid eesnimed ning loodame, et nimi pole \u00fcle 40 t\u00e4he pikk (enamasti salvestatakse inimeste nimed kahel v\u00e4ljal ees- ja perekonnanimi, mis v\u00f5imaldab andmeid paremini otsida ja sorteerida)<\/p>\n\n\n\n<p>Pikkust hoiame sentimeetrites keskmise suurusega t\u00e4isarvulisel v\u00e4ljal.<\/p>\n\n\n\n<p>Kuna soovime hoida andmebaasis ainult s\u00fcnniaastat, mitte s\u00fcnnip\u00e4eva siis kasutame ka s\u00fcnniaasta tarbeks t\u00e4isarvulist numbriv\u00e4lja, mitte kuup\u00e4eva v\u00e4lja. Arvutatavaid v\u00e4\u00e4rtusi (n\u00e4iteks vanus) \u00fcldjuhul tabelis ei hoita vaid arvutatakse vajalikult hetkel. Kui arvutatavat v\u00e4lja on vaja v\u00e4ga tihti v\u00f5ib selleks alates SQL Server 2000st teha eraldi valemit sisaldava v\u00e4lja (computed column)!<\/p>\n\n\n\n<p>Linna tarbeks kasutame juba varem loodud Linn_tbl tabelis olevaid linnakoode. Et kahe tabeli \u00fchendamine oleks lihtsam, peavad m\u00f5lemal pool olema v\u00e4ljad \u00fchte t\u00fc\u00fcpi ning \u00fchesuurused.<\/p>\n\n\n\n<p>Seega v\u00f5iks laste tabeli teha j\u00e4rgneva SQL lausega:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nCREATE TABLE dbo.Laps_tbl \n(\n\tLapsID INT NOT NULL IDENTITY (1,1) PRIMARY KEY\n\t, Nimi VARCHAR(40) NOT NULL\n\t, Pikkus SMALLINT NULL\n\t, Synniaasta SMALLINT NULL\n\t, SynniLinn INT NULL\n\t, Vanus AS YEAR(GETDATE()) - Synniaasta\n)\n<\/pre><\/div>\n\n\n<p>V\u00e4li vanus on arvutuslik. Funktsioon GETDATE() annab hetke aja e. kuup\u00e4ev kellaaeg. Funktsioon YEAR eraldab antud kuup\u00e4evast aasta. Seega leitakse vanus arvutusega jooksev aasta miinus s\u00fcnniaasta.<\/p>\n\n\n\n<p>Lisame sellesse tabelisse ka m\u00f5ned andmed:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/tarkvara.thkit.ee\/veeb\/wp-content\/uploads\/2023\/05\/image.png\" alt=\"\" class=\"wp-image-538\" \/><\/figure>\n\n\n\n<p>Selleks moodustame iga sisestatava rea tarbeks eraldi SQL lause:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nINSERT INTO &#x5B;baas1].&#x5B;dbo].&#x5B;Laps_tbl] \n(&#x5B;Nimi], &#x5B;Pikkus], &#x5B;Synniaasta], &#x5B;SynniLinn])\nVALUES (&#039;Juku&#039;, 155, 1997, 1)\nINSERT INTO &#x5B;baas1].&#x5B;dbo].&#x5B;Laps_tbl] \n(&#x5B;Nimi], &#x5B;Pikkus], &#x5B;Synniaasta], &#x5B;SynniLinn])\nVALUES (&#039;Kati&#039;, 158, 1997, 2)\nINSERT INTO &#x5B;baas1].&#x5B;dbo].&#x5B;Laps_tbl] \n(&#x5B;Nimi], &#x5B;Pikkus], &#x5B;Synniaasta], &#x5B;SynniLinn])\nVALUES (&#039;Mati&#039;, 164, 1995, 2)\nINSERT INTO &#x5B;baas1].&#x5B;dbo].&#x5B;Laps_tbl] \n(&#x5B;Nimi], &#x5B;Pikkus], &#x5B;Synniaasta], &#x5B;SynniLinn])\nVALUES (&#039;Siiri&#039;, 153, 1996, 1)\nINSERT INTO &#x5B;baas1].&#x5B;dbo].&#x5B;Laps_tbl] \n(&#x5B;Nimi], &#x5B;Pikkus], &#x5B;Synniaasta], &#x5B;SynniLinn])\nVALUES (&#039;Madis&#039;, 174, 1995, 1)\nINSERT INTO &#x5B;baas1].&#x5B;dbo].&#x5B;Laps_tbl] \n(&#x5B;Nimi], &#x5B;Pikkus], &#x5B;Synniaasta], &#x5B;SynniLinn])\nVALUES (&#039;Siim&#039;, 163, 1997, 2)\n<\/pre><\/div>\n\n\n<p>Avades tabeli vaatamiseks v\u00f5i kirjutades SQL Lause kujul:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nSELECT *\nFROM dbo.Laps_tbl\n<\/pre><\/div>\n\n\n<p>Saame tulemuseks tabeli, milles 6 rida:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/tarkvara.thkit.ee\/veeb\/wp-content\/uploads\/2023\/05\/image-1.png\" alt=\"\" class=\"wp-image-542\" \/><\/figure>\n\n\n\n<p>Nagu n\u00e4eme on k\u00f5igile lastele tekitatud (sisestamise j\u00e4rjekorras) koodid ning vaatamiseks arvutatud vanused. Vanuseid reaalselt kusagile salvestatud ei ole ning need arvutatakse lahutades k\u00e4esolevast aastast s\u00fcnniaasta.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Harjutus (tabeli loomine) Tekitame tabeli Laps, milles kirjas lapse nimi, pikkus, s\u00fcnniaasta ning s\u00fcnnilinn. Kes soovib v\u00f5ib teha tabeli kasutades graafilisi vahendeid kuid soovitan harjutada SQL keelt ning teha tabel kasutades SQL lauseid. SQL laused v\u00f5imaldavad Management Studios SQL-lausete kirjutamiseks tuleb luua vastav tekstiaken. Selleks File-&gt;New-&gt;Query with Current Connection Igas tabelis peab olema primaarv\u00f5ti e. &hellip; <a href=\"https:\/\/tarkvara.thkit.ee\/veeb\/eng\/tabeli-loomine-harjutus-lk-24\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Tabeli loomine<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-536","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/tarkvara.thkit.ee\/veeb\/eng\/wp-json\/wp\/v2\/pages\/536","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tarkvara.thkit.ee\/veeb\/eng\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tarkvara.thkit.ee\/veeb\/eng\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tarkvara.thkit.ee\/veeb\/eng\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tarkvara.thkit.ee\/veeb\/eng\/wp-json\/wp\/v2\/comments?post=536"}],"version-history":[{"count":0,"href":"https:\/\/tarkvara.thkit.ee\/veeb\/eng\/wp-json\/wp\/v2\/pages\/536\/revisions"}],"wp:attachment":[{"href":"https:\/\/tarkvara.thkit.ee\/veeb\/eng\/wp-json\/wp\/v2\/media?parent=536"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}