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

359

    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. Päivän Sanna: Nvidia sijoittaa miljardi dollaria Nokian osakkeisiin

      Nvidia merkitsee osakkeet 6,01 Yhdysvaltain dollarin osakekohtaisella merkintähinnalla tavanomaisten toteutumisehtojen t
      Maailman menoa
      26
      5137
    2. Palkansaajilta kupattiin 27,5 mrd euroa työeläkkeisiin

      Jo pelkän himmelin toimintakulut olivat 400 miljoonaa euroa, jolla olisi mukavasti tuottanut myös sote-palveluja hyvinvo
      Maailman menoa
      64
      3055
    3. Suomessa Pohjoismaiden tyhmimmät demarit......aijaijai..

      Lasse Lehtinen sanoo suoraan, että Ruotsissa on fiksummat demarit kuin Suomessa. Ja Tampereella fiksummat demut kuin Hel
      Maailman menoa
      12
      2930
    4. HS: persujen v. 2015 turvapaikanhakijoista alle puolet töissä

      Aikuisina Suomeen tulleista ja myönteisen päätöksen saaneista vain 42 prosenttia oli vuonna 2023 töissä, vaikka he ovat
      Maailman menoa
      143
      2841
    5. Nepotismi jytkyttää porvaristossa

      Taas uutisoidaan, että useampi perussuomalainen kansanedustaja on palkannut oman perheenjäsenensä eduskunta-avustajaksi
      Maailman menoa
      19
      1612
    6. Persut muuten hyväksyvät 2 + 8 mrd. euron maatalous- ja yritystuet

      Vaikka molemmat tukimuodot tiedetään haitallisiksi, koska ovat käytännössä pelkkää säilyttävää tukea, eivätkä kannusta k
      Maailman menoa
      86
      1580
    7. Martina Aitolehti podcastissa: Ero

      Martina Aitolehti podcastissa: Ero Martina Aitolehti kertoi BFF-podcastin https://www.iltalehti.fi/viihdeuutiset/a/696
      Kotimaiset julkkisjuorut
      227
      1556
    8. Kaikki ovat syntisiä!!!

      Näin täällä koko ajan vakuutellaan uskovaisten toimesta. Myös Päivi Räsänen on toistanut tätä samaa matraa jatkuvasti. N
      Luterilaisuus
      413
      1243
    9. Haluaisitko sinä

      Että välimme selkeäisivät vai tämäkö riittää sinulle?
      Ikävä
      68
      1120
    10. Persut palkkaavat verorahoilla

      avustajikseen lapsiaan ja naisystäviään. Juuso on palkannut avustajakseen oman poikansa. Hänen koulutustaustastaan ei
      Maailman menoa
      222
      1046
    Aihe