732G16 Databaser: design och programmering
Här finns instruktioner för hur man kommer igång med databassystemet inför labbkursen, installerar egen databas och arbetar på distans. Observera att SQL-labben behöver förberedas, det lönar sig att ha gjort detta innan labbtillfället.
- Komma igång med databasklienten
- Skapa databasen inför SQL-föreläsning och labb
- Förberedelse inför SQL-labb (används även på föreläsningen om SQL).
- Arbeta på distans och på egen dator.
Komma igång med databasklienten
Alla databashanterare tillhandahåller två grundläggande program, databas-server och databas-klient. Klient och server behöver inte ligga på samma dator för att fungera ihop.
Databasservern sköter själva lagringen av databaser och även loggning och backup. LiU tillhandahåller en databasserver som heter MariaDB och är en relationsdatabasserver. Det finns andra, t.ex. mysql-server, som är tillräckligt lik MariaDB för kursens syften.
Databasklienten låter en användare ansluta till en server och
ge kommandon till den. Det finns både grafiskt orienterade klienter och
textbaserade, där man ger kommandon med hjälp av frågespråket
SQL. Databasklienten mysql
finns installerad i både PC- och
SU-pul. Hur man startar dem beskrivs nedan. Alla labbpass i denna kurs är schemalagda i PC-pul men utöver
schemalagd tid går det bra att, i mån av plats, sitta i både PC- och SU-pul
(du ansluter till samma databas-server på LiU oavsett var du sitter)
och att köra via thinlinc(en bit ner på sidan).
En del av databashanterarens uppgifter är att skydda databaserna från otillåten åtkomst. En databashanterare arbetar därför med användarkonton som knyts till unika användare. Du får ett användarkonto på LiUs databas-server när du registrerat dig på kursen (om du använt LiUs MariaDB-server i tidigare kurs får du inget nytt konto utan använder samma nu). Detta konto är separat från ditt centrala LiU-konto men användarnamnet är likadant (ditt LiuID). Detta konto har ett eget lösenord, som antingen skickas ut med epost i samband med att databaskontot skapas (vid terminsstart), eller begärs ut manuellt på denna sida. (Om du inte kan komma åt sidan, försök från en datorsal (pul) eller via thinlinc).
Om du vill installera en databashanterare på din egen dator följer du instruktionerna för att arbeta på egen dator under Arbeta på distansnedan. Du behöver då själv skapa ett användarkonto och sätta ett lösenord för att inte öppna upp din dator för hacker-attacker.
Starta MySQL klienten
Hur du startar MySQL-klienten (dvs det program där man skriver SQL-frågor till en databas) beror på om du använder en dator i PC-pul eller SU-pul för att koppla upp dig mot LiUs databasserver. Om du installerat egen databas-server lokalt på din egen dator och kör lokalt på den, följ instruktionerna för "...egen PC" respektive "...egen Mac/Linux".
OBS: Se till att ersätta "DittLiuID" med ditt faktiska LiU-ID i nedanstående kommandon.
Om du installerat databassystem på egen PC | Om du använder databasystem på egen Mac/Linux | Om du sitter i PC-pul och använder LiUs databasserver | Om du sitter i SU-pul eller kör ThinLinc och använder LiUs databasserver |
---|---|---|---|
Tryck windowstangenten och S för att få upp sökrutan, sök
efter "MariaDB" så hittar du "Command Prompt MariaDB". Starta
den. Du ska få upp en svart ruta med en prompt. Starta
mysql-klienten med det databas-användarnamn du skapade vid
installationen. Skriv:
|
Starta ett terminalfönster/kommandorads-terminal. |
Starta en terminal genom att skriva
Det första kommandot ser till att man kommer till rätt mapp för det följande kommandot. Det andra kommandot startar klienten. För lösenordet till ditt databaskonto på LiUs server, se ovan.Tala sedan om vilken databas du vill arbeta med. Du har bara en och dess namn är ditt LiuID. Skriv: use DittLiuID |
Starta en Terminal genom Menyn i skärmens högre kant. Olika terminalprogram finns installerade. Då ska en svart ruta (terminalfönster) öppnas där man startar klienten med nedanstående kommando:
För lösenordet till ditt databaskonto på LiUs server, se ovan.
|
I klienten kan man sedan ge kommandon för att läsa in sqlkod från fil
(source
), lägga in data (insert
), titta på data
(select
) mm. Kommandotolken avslutas med kommandot
exit
eller, för vissa, ctrl-C
. Alla kommandon som hanterar databasen avslutas med
semikolon (;). Om man glömmer att göra det får man en ny prompt, en pil
( ->
), istället för mysql>
och kommandot
utförs inte. För att komma ur det läget skriver man semikolon, varpå
kommandot utförs.
Att skapa databasen för SQL-föreläsningen och laborationen
Ladda ner och spara kopior av filerna company_schema.sql och company_data.sql. Dessa filer innehåller SQL kod för att skapa tabeller i en databas samt fylla dessa tabeller med data. Förslagsvis sparar du filerna i en mapp som heter 732G16. Om du kör på egen server gör du den mappen på ett passande ställe, om du kör på universitetets datorer lägger du den på Z-disken (PC-pul) eller i din hemkatalog (SU-pul). Om du inte väljer detta namn ersätter du "732G16" i kommandona i nedanstående tabell med den katalog/mapp du valt istället.
Du skapar databasen och fyller den med data genom att starta MySQL klienten (se ovan) och exekvera nedanstående två kommandon, ett i taget (kom ihåg att om du lade filerna någon annan stans än enligt ovan behöver du byta ut sökvägen till filerna. Kom ihåg att när du kör på PC (både i PC-pul och på egen Windowsdator) är din arbetskatalog mysql-katalogen) :
egen PC | egen Mac/Linux | PC-pul | SU-pul/ThinLinc |
---|---|---|---|
(Obs: tilde-tecknet |
|
|
(Obs: tilde-tecknet |
Du får en massa utskrifter från dessa, skrolla upp och kontrollera att det står
Query OK
överallt, inte ERROR
. Om du får
ERROR kan det bero på att det blivit fel i filen vid nedladdningen.
Nu har du skapat en egen databas med ett antal tabeller och fyllt tabellerna med data. Dessa tabeller lagras i den databas-server du kör mot och finns kvar där mellan körningar (du behöver alltså bara göra detta en gång). Observera att på LiUs databas-server har användarna inte rättigheter att skapa nya databaser, vilket betyder att du blir tvungen att lagra flera logiska databaser i samma administrativa databas (den som heter som ditt liuID). På egen databas-server har du fulla rättigheter och kan skapa olika databaser för de olika momenten i kursen.
Förberedelse för SQL-laborationen: Undersök databasen
När du fyllt databasen med tabeller och data mha de två
source
-anropen ovan så ska du använda kommandona
SHOW TABLES;
SHOW CREATE TABLEtabellnamn;
för att inspektera hur databasen är uppbyggd. Om du tycker det är
bökigt kan du också titta i filen company_schema.sql (öppna i ett
textredigeringsprogram, t.ex. Atom - inte Word eller liknande ordbehandlare).
Rita upp databasens relationsschema, markera primärnycklar och främmande nycklar (använd samma sätt att rita som visas på föreläsning). Ta med dig resultatet till SQL-laborationen, som blir markant lättare när man kan se tydligt hur tabellerna hänger ihop. Notera att om du provar på att skapa tabeller under föreläsningen om SQL ligger de tabellerna (Works-in och Managers) kvar i din databas men du ska inte ta med dem i detta relationsschema, de anses inte tillhöra orginaldatabasen.
Labba på distans
Det är tillåtet att labba på distans eller på egen dator men handledning ges i labbsalarna på schemalagd tid och bara i begränsad omfattning via epost. Om man vill labba på distans kan man antingen ladda ner ett eget databassystem eller använda LiUs resurser på på distans.
Egen installation av databassystem:
En instruktionsvideo för installation och start av eget databassystem finns på Lisam (Installation av egen databas). Filmen beskriver installation på både Windows, Mac och Linux. Titta på hela filmen för att undvika att öppna upp din dator för hacker-attacker (använd inte root-kontot). När du kör på egen installation behöver du också R/Rstudio på samma dator.
- Windows: För att installera MariaDB på Windows, ladda ner installeraren här. Följ sedan instruktionerna här. Se också instruktionsvideon på Lisam.
- Mac: MacOS-X har mysql installerat vid leverans. Det är tillräckligt likt
MariaDB för kursens
syften: Gå till Systeminställningar
(System Preferences), längst ner finns mysql, välj den. Om mysql-servern
inte är igång, starta den med knappen (start). Öppna sedan ett
terminalfönster och skapa
databasanvändare enligt instruktionerna på videon på Lisam.
Vill man installera MariaDB på Mac, följ instruktionerna här. Var då noga med att stänga av den förinstallerade servern, annars kan det bli konflikt.
Skapa databasanvändare enligt instruktionsvideon på Lisam. - Linux: För Linux, se instruktionsfilmen på Lisam eller använd din distributions pakethanterare.
Använda LiUs databassystem via Thinlinc eller RDP
Thinlinc ger ett fjärrskrivbord som är identisk med det man får på datorerna i SU-pul. RDP låter dig logga in på en fysisk dator i en datorsal på Campus. Det finns datorsalar schemalagda för kursen för den som vill använda detta alternativ. Se LiUs information om fjärrinloggning. När du använder detta alternativ ska du följa instruktionerna för PC-pul respektive SU-pul nedan beroende på vilket pul du loggar in på.
Sidansvarig: Eva Ragnemalm
Senast uppdaterad: 2025-03-27