20TD02U_ForAlle_Blooms_Side_66_Database_Opprette - itnett/FTD02H-N GitHub Wiki
Å opprette og bruke databaser på tvers av ulike operativsystemer (OS), skyløsninger, og databasetyper er en viktig ferdighet for utviklere og databaseadministratorer. Jeg skal vise deg hvordan du kan gjøre dette i både CLI (Command Line Interface) og programmatisk ved hjelp av ulike verktøy og språk. Vi vil dekke denne prosessen ved hjelp av Blooms taksonomi, som tar deg fra grunnleggende forståelse til avansert anvendelse.
Videregående Skole Nivå
1. Kunnskap (Remembering)
Emne: Opprette og Bruke en Enkel MySQL-Database i CLI
- Logisk tilnærming: Start med å lære de grunnleggende kommandoene for å opprette og bruke en MySQL-database ved hjelp av CLI på et Linux-basert operativsystem.
- Programmatisk tilnærming: Utfør opprettelse av en database og en tabell, og sett inn data via CLI.
- Praktisk tilnærming: Kjør følgende kommandoer på en Linux-server for å opprette en MySQL-database og tabell.
# Logg inn på MySQL-serveren
mysql -u root -p
# Opprett en database
CREATE DATABASE skole;
# Bruk databasen
USE skole;
# Opprett en tabell
CREATE TABLE elever (
elev_id INT PRIMARY KEY,
navn VARCHAR(100),
klasse VARCHAR(10)
);
# Sett inn data i tabellen
INSERT INTO elever (elev_id, navn, klasse) VALUES (1, 'Ola Nordmann', '10A');
# Sjekk innholdet i tabellen
SELECT * FROM elever;
2. Forståelse (Understanding)
Emne: Opprette og Bruke PostgreSQL-Database på Windows OS
- Logisk tilnærming: Forstå hvordan man oppretter og bruker en PostgreSQL-database på Windows via CLI.
- Programmatisk tilnærming: Utfør opprettelse av en database og tabell, samt sett inn data via PostgreSQL CLI (
psql
). - Praktisk tilnærming: Kjør følgende kommandoer på en Windows-maskin med PostgreSQL installert.
# Logg inn på PostgreSQL-serveren
psql -U postgres
# Opprett en database
CREATE DATABASE bedrift;
# Koble til databasen
\c bedrift;
# Opprett en tabell
CREATE TABLE ansatte (
ansatt_id SERIAL PRIMARY KEY,
navn VARCHAR(100),
stilling VARCHAR(50)
);
# Sett inn data i tabellen
INSERT INTO ansatte (navn, stilling) VALUES ('Kari Nordmann', 'Utvikler');
# Sjekk innholdet i tabellen
SELECT * FROM ansatte;
Høyskole Nivå
3. Anvendelse (Applying)
Emne: Bruke MariaDB i et MacOS-miljø
- Logisk tilnærming: Lær hvordan du oppretter og bruker en MariaDB-database på MacOS ved hjelp av CLI.
- Programmatisk tilnærming: Utfør opprettelse av en database og en tabell, og sett inn data via MariaDB CLI.
- Praktisk tilnærming: Kjør følgende kommandoer på en Mac-maskin med MariaDB installert.
# Logg inn på MariaDB-serveren
mysql -u root -p
# Opprett en database
CREATE DATABASE prosjekt;
# Bruk databasen
USE prosjekt;
# Opprett en tabell
CREATE TABLE prosjekter (
prosjekt_id INT PRIMARY KEY AUTO_INCREMENT,
tittel VARCHAR(100),
start_dato DATE
);
# Sett inn data i tabellen
INSERT INTO prosjekter (tittel, start_dato) VALUES ('Nytt Webprosjekt', '2024-01-01');
# Sjekk innholdet i tabellen
SELECT * FROM prosjekter;
4. Analyse (Analyzing)
Emne: Analysering av Databaseløsninger i Cloud-Miljøer
- Logisk tilnærming: Forstå hvordan man oppretter og bruker databaser i ulike skyplattformer som AWS, Azure, og Google Cloud Platform (GCP).
- Programmatisk tilnærming: Bruk CLI-verktøy for å opprette og administrere databaser i skyen.
- Praktisk tilnærming: Bruk AWS CLI til å opprette en RDS MySQL-database og kjøre enkle SQL-spørringer.
# Opprett en RDS MySQL-instans på AWS (forutsetter at AWS CLI er satt opp)
aws rds create-db-instance \
--db-instance-identifier mydatabase \
--db-instance-class db.t2.micro \
--engine mysql \
--allocated-storage 20 \
--master-username admin \
--master-user-password passord123 \
--backup-retention-period 7
# Logg inn på RDS-databasen når den er opprettet
mysql -h mydatabase.xxxxxxxxxxxx.us-west-2.rds.amazonaws.com -u admin -p
# Opprett en database
CREATE DATABASE skyprosjekt;
# Bruk databasen
USE skyprosjekt;
# Opprett en tabell
CREATE TABLE brukere (
bruker_id INT PRIMARY KEY AUTO_INCREMENT,
brukernavn VARCHAR(50),
epost VARCHAR(100)
);
# Sett inn data i tabellen
INSERT INTO brukere (brukernavn, epost) VALUES ('admin', '[email protected]');
# Sjekk innholdet i tabellen
SELECT * FROM brukere;
Universitets Nivå
5. Syntese (Synthesizing)
Emne: Oppretting av NoSQL-Databaser som MongoDB i et Linux-miljø
- Logisk tilnærming: Forstå forskjellen mellom SQL og NoSQL databaser, og lær hvordan du oppretter og bruker en MongoDB-database i et Linux-miljø.
- Programmatisk tilnærming: Bruk MongoDB CLI (
mongo
) til å opprette databaser og samlinger, og sett inn dokumenter. - Praktisk tilnærming: Kjør følgende kommandoer på en Linux-maskin med MongoDB installert.
# Logg inn på MongoDB-serveren
mongo
# Opprett en database
use bibliotek;
# Opprett en samling
db.createCollection("bøker");
# Sett inn data i samlingen
db.bøker.insert({tittel: "Moby Dick", forfatter: "Herman Melville", publisert: 1851});
# Sjekk innholdet i samlingen
db.bøker.find();
6. Evaluering (Evaluating)
Emne: Evaluering av Ulike Databasetyper og OS/Cloud-Miljøer
- Logisk tilnærming: Lær hvordan man evaluerer forskjellige databaseløsninger basert på ytelse, skalerbarhet, sikkerhet, og kompleksitet i forskjellige miljøer.
- Programmatisk tilnærming: Utfør benchmarking på databaser som kjører i forskjellige operativsystemer og skyplattformer.
- Praktisk tilnærming: Kjør ytelsestester ved hjelp av
sysbench
for MySQL-databaser i både on-premises og cloud-miljøer.
# Installer sysbench (for Ubuntu/Debian)
sudo apt-get install sysbench
# Forbered database for test
sysbench --db-driver=mysql --mysql-user=root --mysql-password=passord123 --mysql-db=benchmark_db oltp_read_write prepare
# Utfør en ytelsestest
sysbench --db-driver=mysql --mysql-user=root --mysql-password=passord123 --mysql-db=benchmark_db oltp_read_write run
# Rydd opp etter test
sysbench --db-driver=mysql --mysql-user=root --mysql-password=passord123 --mysql-db=benchmark_db oltp_read_write cleanup
7. Skapelse (Creating)
Emne: Design og Implementering av Distribuerte Databaser i Multicloud-Miljøer
- Logisk tilnærming: Kombiner kunnskap om SQL og NoSQL databaser, operativsystemer, og skyløsninger for å designe og implementere en distribuert database som kjører på flere skyer.
- Programmatisk tilnærming: Bruk verktøy som Terraform til å opprette infrastruktur som kode (IaC) for å administrere en distribuert database.
- Praktisk tilnærming: Implementer en distribuert database ved hjelp av MongoDB Atlas (multicloud) og konfigurer klustere på tvers av AWS, Azure, og GCP.
# Eksempel på Terraform-kode for å opprette en MongoDB Atlas-kluster på flere skyer
provider "mongodbatlas" {
public_key = "your_public_key"
private_key = "your_private_key"
}
resource "mongodbatlas_cluster" "example" {
project_id = "your_project_id"
name = "multicloud-cluster"
provider_backup_enabled = true
provider_instance_size_name = "M10"
provider_name = "AWS"
provider_region_name = "US_WEST_2
"
depends_on = [
mongodbatlas_project.this
]
}
# Bruk Terraform til å opprette og administrere
terraform init
terraform apply
Konklusjon
Denne fullstendige tilnærmingen til å opprette og bruke databaser på tvers av ulike operativsystemer, skyløsninger og databasetyper, dekker alle nivåer fra videregående skole til universitetsnivå, basert på Blooms taksonomi. Ved å bruke praktiske, logiske og programmatiske eksempler, vil du utvikle en dyp forståelse av hvordan databaser fungerer, hvordan du kan opprette og administrere dem i forskjellige miljøer, og hvordan du kan evaluere og optimalisere dem for spesifikke bruksområder.
Denne veiledningen er designet for studenter, utviklere, og databaseadministratorer som ønsker en grundig forståelse av hvordan de kan opprette og bruke databaser i forskjellige miljøer, og hvordan de kan anvende denne kunnskapen i praktiske scenarier.