MySQL

Betydningen av MySQL har vært gjenstand for debatt og refleksjon i årevis. MySQL har hatt en betydelig innvirkning på flere aspekter av samfunnet og dagliglivet. Siden fremveksten har MySQL vakt interesse og nysgjerrighet hos eksperter på forskjellige felt, så vel som befolkningen generelt. I denne artikkelen vil vi utforske bakgrunnen til MySQL, dens utvikling over tid og dens relevans i dag. På samme måte vil vi analysere mulige fremtidige implikasjoner av MySQL og dens påvirkning på forskjellige områder.

MySQL
Utvikler(e)MySQL AB, Sun Microsystems, Oracle
Utgitt 2001
Nyeste versjon8.3.0 (16. januar 2024)
Kodelagerhttps://github.com/mysql/mysql-server
PlattformX86_64, IA-32, A64, SPARC
OperativsystemMicrosoft Windows FreeBSD Solaris Unix-liknende Linux macOS
Skrevet iC++, C
TypeRelasjonsdatabase
LisensGPLv2, proprietær lisens
Nettstedwww.mysql.com (en)

MySQL (uttalt ˌmaɪˌɛsˌkjuːˈɛl) er et databaseadministrasjonssystem som er lisensiert som åpen kildekode (GPL-lisens) og som kjører på de fleste vanlige operativsystem. MySQL brukes et stort antall IT-system for å lagre, hente, sortere og filtrere data. Denne databasetjeneren er veldig mye brukt, og er en vesentlig del av LAMP-systemer, hvor M-en står for nettopp MySQL. Mange webpubliseringssystem som WordPress, Drupal, Joomla, phpBB, og MediaWiki lagrer innhold i MySQL-databaser. Nettsteder som blant annet Facebook, Flickr, MediaWiki, Twitter, og YouTube bruker MySQL for å lagre brukerkontoer.

Selskapet som utviklet MySQL ble i 2008 kjøpt opp av Sun Microsystems, som igjen ble kjøpt opp av Oracle i 2010. MySQL vedlikeholdes i dag av Oracle og utvikles av ca 150 personer verden over hvor 35 sitter i Trondheim . Ved overdragelsen til Oracle ble kodegrunnlaget til MySQL tatt med videre til MariaDB fordi det ble stilt spørsmål om lisensiering av programvaren.

Plattformer

MySQL kjører på mange operativsystemer – inkludert AIX, BSDi, FreeBSD, HP-UX, Linux, Mac OS X, NetBSD, Netware, OpenBSD, OS/2 Warp, QNX, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64 og mange versjoner av Windows.

Grensesnitt

De fleste programmeringsspråk kan koble til MySQL-databaser, bl.a. C, C++, Eiffel, Smalltalk, Java, Lisp, Perl, PHP, Python, Ruby, og Tcl; hver av dem bruker et spesifikt API. Et ODBC-grensesnitt (MyODBC) gjør det mulig for alle programmeringsspråk som støtter ODBC-grensesnittet å kommunisere med en MySQL-database. MySQL bruker ANSI C som sitt hovedspråk.

Man kan også kommunisere med en MySQL base via kommandolinje, eller MySQL Workbench som er en GUI applikasjon. Det fins også andre grafiske grensesnitt som LibreOffice / OpenOffice, eller phpMyAdmin som tilbyr administrasjon av databasen uten å måtte kunne programmere.

Bruksområder

MySQL er populært for webapplikasjoner som Wikipedia, PHP-Nuke, Wordpress m.fl. Populariteten skyldes først og fremst at MySQL er lett å bruke, gratis, og holder en høy ytelse i forhold til både pris og krav til maskinvare.

Kritikk av MySQL

Tidlige versjoner av MySQL manglet viktige funksjoner som de aller fleste RDBMS-systemene har hatt lenge, og selv den nyeste versjonen mangler fremdeles en del av disse. Dette har fått noen kjente databaseeksperter, som Chris Date og Fabian Pascal til å kritisere MySQL for å ikke være noen RDBMS.

Tidligere fikk også MySQL masse kritikk for mangel på transaksjoner og ACID-kompatibilitet, som er viktig for å sikre integriteten til dataene. I samme kategori får MySQL masse kritikk for hvordan den behandler NULL-verdier, standardverdier og verdier som ikke passer med kolonnetypen den settes inn i.

Eksempel

Lage tabell: CREATE TABLE tabel navn
(
Navn på kolone data_type,
Navn på kolone2 data_type,
Navn på kolone3 data_type,
....
);

Legge til Infomasjon:
INSERT INTO tabel_navn (kolone1, kolone2, kolone3,...)
VALUES (info1, info2, info3,...)

Hente infomasjon:
SELECT * FROM tabel_navn (WHERE kolone1(ORDER BY kolone2 DESC(LIMIT 0, 10)))

Oppdatere infomasjon:
UPDATE tabel_navn
SET kolone1=info, kolone2=info2,...
WHERE en_kolone=en_info

Slette kolone:
DELETE FROM table_navn
WHERE en_kolone = en_info 

Utfylling:

Lage tabel: CREATE TABLE brukere
(
id int(9) NOT NULL AUTO_INCREMENT,
brukernavn varchar(255) NOT NULL,
passord varchar(255) NOT NULL,
....
);

Legge til Infomasjon:
INSERT INTO brukere (brukernavn, passord, email,...)
VALUES (Testern, *********, [email protected],...)

Hente infomasjon:
SELECT * FROM brukere (WHERE id(ORDER BY id DESC(LIMIT 0, 10)))

Oppdatere infomasjon:
UPDATE brukere
SET brukernavn=Tewstern, passord=*****,...
WHERE id=2

Slette kolone:
DELETE FROM brukere
WHERE id = 2 (Resultatet vil bli at bruker id 2 vil bli slettet) 

Der det står Hente infomasjon og i koden stod det ...e (WHERE id(ORDER BY id DESC(LIMIT 0, 10))). Dette betyr at det som står inne parentes kan brukes.

Lisensiering

Både MySQL-serverprogramvare og klientbibliotek er distribuert under en dobbellisens. Brukere kan velge mellom GNU General Public License og en kommersiell lisens.

Andre SQL-baserte databasetjenere

Referanser

  1. ^ «Changes in MySQL 8.3.0 (2024-01-16, Innovation Release)». 16. januar 2024. Besøkt 16. januar 2024. 
  2. ^ a b c d «Supported Platforms: MySQL Database». 
  3. ^ «The mysql Open Source Project on Open Hub: Languages Page». Open Hub (engelsk). Besøkt 28. juli 2018. 
  4. ^ «The mysql Open Source Project on Open Hub: Languages Page». Open Hub. Besøkt 19. juli 2018. 
  5. ^ «COPYING». Besøkt 27. september 2017. 
  6. ^ https://www.mysql.com/about/legal/licensing/oem/; besøksdato: 27. september 2017.
  7. ^ «MySQL blir stadig mer norsk». Arkivert fra originalen 13. november 2015. Besøkt 12. november 2015. 

Eksterne lenker