Ohjelmistokehityksen menetelmät
  • Ohjelmistokehityksen menetelmät ja käytänteet
  • Tavoitteet
  • Työkalut
  • Toimeksiannot
    • Projektityön rajaukset ja toimeksiannot
    • Palkanlaskenta
    • Kilometrikorvaus
    • Laskutus
    • Laskun perintä
  • Ketterä ohjelmistokehitys
    • Agile esimerkki, sykli
    • Agile, Tuotteen tehtävälista
    • Agile, Käyttäjätarina ja käyttötapaus
    • Agile muu materiaali ja lähteitä
    • Agile termit (scrum)
  • Versionhallinta
    • Sanasto Git
    • Opas Gitin perusteisiin
    • Git perusteet 101
    • Git perusteet 102
    • Git perusteet 103
    • Git perusteet 104
    • Git perusteet 105
    • Git perusteet 106
    • Git perusteet 107
    • Git perusteet 108
    • Git muu materiaali ja lähteet
  • Yksikkötestaus
    • Ohjelmistotestauksen periaateet
    • NUnit lisääminen VS2019
    • NUnit perusteet 101
    • NUnit perusteet 102
    • NUnit perusteet 103
    • NUnit perusteet 104
    • NUnit perusteet 105
    • NUnit perusteet 106
    • NUnit muu materiaali ja lähteitä
    • TDD perusteet 101
    • TDD perusteet 102
    • TDD perusteet 103
    • TDD muu materiaali ja lähteitä
  • UML mallinnuskieli
    • Johdanto
  • Relaatiotietokannat
    • Johdanto
    • Sanasto
    • Mysql perusteet -videosarja
    • Pää- ja viiteavaimet
    • ER kaaviot
    • Viite-eheys ja ACID
    • SQL JOIN -lauseke
    • Normalisointi
    • SQL View
    • Tehtävä 001 Tietokannan suunnittelu
    • Indeksointi
      • Hitaat hakukyselyt
  • SQL harjoitukset ja esimerkit
    • Esimerkkitietokannan käyttöönotto
    • Mysql perusteet 101
    • Mysql perusteet 102
      • mysql-perusteet-102-vastaukset
    • Mysql perusteet 103
      • mysql-perusteet-103-vastaukset
    • Mysql perusteet 104
      • mysql-perusteet-104-vastaukset
    • Mysql perusteet 105
      • mysql-perusteet-105-vastaukset
    • Mysql perusteet 106
      • mysql-perusteet-106-vastaukset
    • SQL hakukyselyjä (VANHAT)
    • SQL harjoitukset syksy 2021
      • Vastaukset SQL harjoitukset syksy 2021
  • Miten yrittäjänä voin hyötyä ohjelmistokehityksen ostamisesta?
    • TL;DR
  • Toimeksiannot (2019/01)
    • Toimeksianto 2019/01
    • Käytänteet ja menetelmät
    • Konsoliohjelman refaktorointia
  • SCRUM harjoitustyö (2020/01)
    • Harjoitustyön sisältö
    • Harjoitustyö: Matkalasku
  • Toimeksiannot (2019/02)
    • Toimeksianto 2019/02
  • Toimeksiannot (2018/01)
    • Projekti 2018/01
    • Projekti 2018/01 Perjantaille 14.9
    • Projekti 2018/01 Käyttötapauksesta työtehtäviin
    • Projekti 2018/01 Ohjelmoinnin aloittaminen
    • Projekti 2018/01 TDD esimerkki
  • Harjoitteet (keskeneräiset)
    • Käyttäjätarinat
    • Pariohjelmointi
    • Versionhallinta
    • Testivetoinen kehitys
    • Jatkuva integraatio
    • Inkrementaalinen dokumentointi
Powered by GitBook
On this page
  • Hyötyjä
  • 1. Monimutkaisten hakujen "tallentaminen"
  • 2. Logiikan yhtenäistäminen
  • 3. Tietoturvan lisääminen
  • 4. Yhteensopivuus vanhojen ohjelmien kanssa
  • Lähteet
  1. Relaatiotietokannat

SQL View

View on niin sanotusti virtuaalinen taulu, joka muodostetaan halutusta kyselystä.

PreviousNormalisointiNextTehtävä 001 Tietokannan suunnittelu

Last updated 5 years ago

Tutustu aiheeseen lisää osoitteessa

Hyötyjä

1. Monimutkaisten hakujen "tallentaminen"

Relaatiotietokannoissa taulujen tietoja yhdistetään JOIN komennoilla. Kun tauluja on useampia, voi kyselystä tulla monimutkainen. Tällainen kysely voidaan tallentaa omaksi "näkymäkseen", jolloin seuraavan kerran voidaan haku tehdä luotuun näkymään. Näkymä on siis virtuaalinen taulu, johon SELECT haku voidaan osoittaa.

2. Logiikan yhtenäistäminen

Voidaan ajatella tilanne, jossa luot esimerkiksi raportin tietokannan tiedoista. Raportti sisältäisi joitakin laskukaavoja mitkä on vaikea muistaa tai kirjoittaa hakuihin. Tähän tarpeeseen voidaan myös luoda näkymä, joka sisältää tällaiset laskukaavat, jotta jatkossa samojen tietojen hakeminen on yksinkertaisempaa.

Suppose you have to repeatedly write the same formula in every query. Or you have a query that has complex business logic. To make this logic consistent across queries, you can use a view to store the calculation and hide the complexity.

3. Tietoturvan lisääminen

Kaikkea tietoa ei aina tule näyttää tietokannan käyttäjille. Tällaista arkaluonteista tietoa voidaan suodattaa pois hakukyselyllä ja muodostaa näkymä, joka ei sisällä arkaluonteista tietoa. Tietokannoissa voidaan sitten antaa näkymään oikeudet vain tietyille käyttäjille eikä heitä päästetä tekemään hakuja kaikista tauluista.

4. Yhteensopivuus vanhojen ohjelmien kanssa

Tietokannat muuttuvat ohjelman päivitysten yhteydessä. Usein tulee uusia tauluja tai vanhoista halutaan päästä eroon. Näkymät toimivat myös tällaisessa tilanteessa, että voidaan luoda esimerkiksi väliaikainen näkymä, joka muistuttaa vanhan version taulua. Tässä tilanteessa ohjelma saattaisi toimia normaalisti erilaisten päivitystöiden jälkeen, koska ohjelmalle ei ole väliä minkälaisesta taulusta tieto on haettu.

Lähteet

http://www.mysqltutorial.org/mysql-views-tutorial.aspx
MySQL ViewsMySQL Tutorial
Logo