Relasjoner – Verktøy

I innlegget «Relasjoner – Normalisering» gikk jeg gjennom en del av teorien bak design av en relasjonsdatabase. Vi skal nå kjapt kikke på noen systemer og applikasjoner man gjerne kommer borti i forbindelse med relasjonsdatabaser. Vi begynner med en applikasjon som kanskje mange allerede har på PCen gjennom Office-pakken. Microsoft Access er en applikasjon hvor det er mulig å lage relasjonsdatabaser. Microsoft Access har veldig mange muligheter og en del av de overlapper med Excel. Det er vanlig å bruke Access-databaser som datakilder til Excel, Power BI og for den del Word (f.eks. en adressedatabase for fletting av brev). Microsoft Access har noen begrensninger (maksgrense på 2GB og 32.768 objekter i databasen.), men for de fleste er dette ikke noe problem. De som er vant til Office-pakken og klassiske Microsoft arbeidsflater vil kjenne seg godt igjen. Applikasjonen har gode veivisere og designverktøy. Som sagt for de som allerede har denne applikasjonen så er dette et bra sted å begynne. Siden vi snakker om Micrsoft så må man nevne Microsoft SQL Server Express. Systemet som kjører som en egen tjeneste har en begrensning på databasen på 10GB, maksimalt minne på 1.4GB og kjører på 1 socket eller 4 kjerner. Det kan være at noen allerede har en Microsoft SQL Server Express installert da den gjerne installeres som databasesystem i andre applikasjoner. Det finnes en rekke andre versjoner av Microsoft SQL Server men de blir gjerne altfor kostbare for privat bruk. Det er komplett umulig å ikke nevne MySQL (uttalt ˌmaɪˌɛsˌkjuːˈɛl) når man snakker om databasesystemer. MySQL er lisensiert som åpen kildekode (GPL-lisens). Det skal sies at det har vært en del diskusjon rundt lisensieringen og Oracle som vedlikeholder MySQL i dag. Dette resulterte i 2009 at kodegrunnlaget til MySQL ble tatt videre til MariaDB i bekymring av at Oracle kjøpte Sun Microsystems som eide MySQL. MySQL er svært utbredt og brukes av veldig mange også store selskaper som Airbnb, Uber, Netflix og Dropbox. Rosabloggen kjører WordPress med nettopp MySQL i bunnen. Personlig så er dette det databasesystemet jeg har mest kunnskaper om utenom Microsoft SQL Server. Hvis man ikke har noen spesielle preferanser til MySQL så anbefaler jeg at man kikker på MariaDB som på mange måter er lik MySQL, men er gratis og garantert å forbli åpen kildekode. Selskap som Google, Wikipedia og WordPress.com bruker MariaDB. Jeg nevnte selskapet Oracle (egentlig heter det Oracle Corporation). Oracle er et gammelt selskap (grunnlagt i 1977) med titusenvis av ansatte. Selskapet er regnet som en kjempe i databasemiljøene med sitt system som har det ikke overraskende navnet Oracle Database eller bare Oracle. Det er lite trolig at man kommer borti Oracle systemer uten at man er del av et større driftsmiljø. Det er også en kjensgjerning at en del firma migrerer til andre systemer pga. kostnadene knyttet til det å ha en Oracle installasjon. Videre må jeg også nevne PostgreSQL. Utvikligen av dette systemet startet på 1980-tallet og er i dag et åpen kildekode-prosjekt, med en svært liberal lisens. Denne gjør at PostgreSQL kan brukes, modifiseres og distribueres av såvel private som kommersielle foretak uten noen som helst økonomisk kompensasjon til de originale utviklerne. Til slutt skal jeg si noen ord om SQLite. SQLite er kanskje verdens mest utbredte databasemotor. Den kjører på de fleste mobiler og datamaskiner. Den er del av utallige apper/applikasjoner som folk bruker hver dag. Vi snakker om hundrevis av milliarder av SQLite databaser i verden. Dette burde være en indikasjon på at kanskje SQLite er en god plass å begynne. Nå er ikke SQLite direkte sammenlignbart med klient/server systemer som MySQL, MarieDB, Oracle, PostgreSQL, Microsoft SQL Server osv. som egentlig skal løse litt andre problemstillinger, men for «hjemmebruk» er SQLite helt genialt. Når man laster ned SQLite fra nettsiden så bør man også laste ned pakken med kommandolinje-verktøy hvis man ikke velger et tredjepartsverktøy som SQLiteStudio. Jeg bruker selv SQLiteStudio og er veldig godt fornøyd med det. Jeg oppfordrer å donere noen kroner til utvikleren hvis man bestemmer seg for å bruke programmet. Noe av det fine med SQLite er at man kan flytte databasen mellom ulike datamaskinarkitekturer. Jeg har f.eks. tatt en SQLite database fra en Raspberry Pi og jobbet med den på en Microsoft Windows PC. Da er det bare å bestemme seg for hvilket teknisk nivå man vil legge seg på og laste ned et databasesystem.