Kertokaas tietokantojen parissa työskentelevät

Eli kun ohjelmistofirma edellyttää mysli-osaamista, niin jos jossain vaiheessa tietokantaa lähdetään rakentamaan ihan tyhjästä, kertokaa kokeneemmat, väännetäänkö siellä työpaikalla ihan tekstieditorilla sql-tiedostoa putkeen, vai hyödynnetäänkö joitain ehkä jopa graafisia työkaluja?

Itselläni oli IT-tradenomi-opinnoissa tietokantojen suunnittelukurssi, ja käytimme PostReSQL:ää ja MongoDB:tä, ja ajettavat .sql-komennot valmistettiin ajamalla RISE-Editorissa graafisen työkalun käytön jälkeen relaatiokanta kantapalvelimelle. Onko tämä tätä päivää ohjelmistoyrityksissä?

7

372

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • työtönkoodari

      Molempia tapoja olen käyttänyt eri yrityksissä.

    • Asefgh

      Ja jos ei työpaikka osta välinettä niin olen source versioita löytyy. Esim DBeaver ja Toad

      • viVIMnotepadGeditAtomEma

        Kyllä vi tai notepad ovat ihan ok SQL-skriptien vääntämiseen jos sattuu osaamaan. Tokihan kaikki graafiset hilavitkuttimet paikkaavat puutteellista osaamista mukavasti. Osaavalle nopein tapa lienee tekstieditori.


    • Pyyttonisti

      Yleensä kanta suunnitellaan etukäteen peruskuntoon, mutta "isommat" kannat ovat melko varmasti pitkäaikaisen kehittymisen tulosta. Eli ei ole heti kärkeen tehty 100 taulua ja niissä yhteensä 4000 kolumnia. Todennäköisesti ihan ekassa versiossa oli 5 - 10 taulua ja ehkä 50 - 100 kolumnia. Sitten vuosien myötä se on siitä kasvanut.

      Itse olen lähinnä nähnyt ORM-tyyliä, jossa siis kantarakenne tehdään koodilla, eikä SQL-lauseilla. Eli esim. Pythonissa SQLAlchemyllä näin:

      class User(db.BaseModel):
          __tablename__ = "user"
          id = db.Column(db.Int, primary_key=True)
          username = db.Column(db.String(100), nullable=False)
          email = db.Column(db.String(255))


      Se sitten generoidaan automaattisesti varsinaiseen kantaan tähän tyyliin, komentorivillä tai vaikkapa Ansible playbookissa:

      python manage.py db upgrade

      Sitten jos haluaa lukea arvoja kannasta:

      # Jos on tiedostossa apps/user/model.py
      from apps.user.model import User

      gmail_users = User.query.filter(User.email.like("%@gmail.com")).all()
      for user in gmail_users:
          print("Email-osoite on: {}".format(user.email))

      Tuo tulostaisi kaikki kannasta löytyneet tulokset tuolle haulle, joka vastaa tätä:
      SELECT * FROM user WHERE email LIKE "%@gmail.com"

      • Nisty

        Hupsista, eli siis "db.Model" tuon "db.BaseModel" sijaan, ja "db.Integer" tuon "db.Int" sijaan.


      • aantiipaateernnn

        http://www.yegor256.com/2014/12/01/orm-offensive-anti-pattern.html
        "ORM is a terrible anti-pattern that violates all principles of object-oriented programming, tearing objects apart and turning them into dumb and passive data bags. There is no excuse for ORM existence in any application, be it a small web app or an enterprise-size system with thousands of tables and CRUD manipulations on them. What is the alternative? SQL-speaking objects."


      • DeprecateJava

        Tuo näyttää koskevan Javaa, joka on monelle jo itsessään antipattern :) Tuolla sivulla oleva "oikein tehtynä näin" -esimerkki on muuten juuri samanlainen kuin esim. SQLAlchemyn toteutus.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Selvästi näyttää siltä, että SDP:n kannattajat hyväksyy kiusaamisen

      ja seksuaalisen ahdistelun, kun puolueen kannatus pysyy korkealla. Mitä tämä kertoo demari-äänestäjien moraalista?
      Maailman menoa
      72
      2739
    2. Kyllä nämä nyky autonakut ja autotki on heikloja

      Vuoden vanha akku, eikä inahdakaan.... Pistin vara-akun just lataukseen ja lähen sillä antamaan apuvirtaa Jos ei toimi,
      Ikävä
      25
      2478
    3. Päivi Räsäsen seksipaljastus loksauttaa Katja Ståhlin leuat! Elämäni biisi kohujakso tv:ssä!

      Elämäni biisi -suosikkisarjan uusinnat ovat startanneet ja nyt vuorossa on sarjan 2. jakso v. 2019. Sinisille sohville
      Suomalaiset julkkikset
      42
      2181
    4. Muistan vuosikymmenten takaa

      Toivottavasti voit hyvin ja jaksat työssäsi. Olet upea ja erinomainen ihminen, toivon kaikkea hyvää.
      Ikävä
      13
      2016
    5. Montako mitalia Suomi saa talviolympialaisista?

      Nyt heittäkää veikkaus Suomen mitalisaldosta ja mistä lajeista metallilätkät tulevat. Oma veikkaukseni on 6 mitalia. -
      Maailman menoa
      110
      1502
    6. Voiko kaivattu olla liian vanha?

      Tai muuten huonokuntoinen...
      Ikävä
      167
      1363
    7. Missä näit viimeksi kaivattusi?

      Menikö kohtaaminen hyvin vai ujousko esti lähestymästä?
      Ikävä
      52
      1032
    8. Kokemuksia Rehux Oy yrityksestä työpaikkana?

      Jonkin aikaa seurannut kyseistä firmaa sivusta, näyttäisi, että tälläkin hetkellä olisi peräti 3 eri roolia tai paikkaa
      Työpaikat
      28
      984
    9. IS: Riitta Väisänen kärsii ikävästä vaivasta - Vaipparalli ja 40 antibioottikuuria takana...

      71-vuotias Riitta Väisänen on kertonut tuoreista terveysongelmistaan. Väisänen on kertonut julkisuudessa jo aiemmin vaih
      Terveys
      16
      798
    10. Jos mies oikeasti haluaa sinut

      Hän ei ota riskiä että menettäisi sinut. Ei pienintäkään. Mies ei jätä vastaamatta viesteihin eikä pidä sinua epätietois
      Ikävä
      99
      791
    Aihe