Database Flashcards
(203 cards)
Hvad står TSQL for?
Transact SQL
Hvad er TSQL?
Det er en procedural udvidelse til SQL hvor den giver mulighed for delvis normal programmering.
Hvad muliggør TSQL?
Den muliggøre funktionerne: Variable, IF, While, Iterator, Exceptions, (case) osv.
Er datatyperne forskellige i TSQL og SQL?
NEJ!
Hvad muliggøre TSQL ikke?
- GUI
- Collections
Hvad er et BATCH?
Det er når en eller flere queries kører i et hug
Hvilke fejl kan en BATCH have og hvor vil det betyde for udførlsen?
- Ved compile fejl
- Ingen af de queries som skulle
køres udføres da compileren
finder fejl i syntaxen.
- Ingen af de queries som skulle
- Ved runtime fejl
- Alle quries som kan gennemføres
lykkedes men de andre som ikke
kan kører giver en fejl.
- Alle quries som kan gennemføres
Hvad er en stored procedure?
Er en querie som gemmes og kan køres igen og igen.
Hvordan er erklæring af en stored procedure?
Hvad er globale variable?
Det er indbyggede variable som man kan bruge men som man ikke selv kan erklære og starter med @@
Hvad er almindelige variable?
Det er variable som starter med @ og er nogle som du selv kan erklære. Kan kun bruges indenfor det Batch hvor de er erklæret.
Hvordan gemte man data fra IT-systemer før indførelsen af databasesystemer (DBMS)? Hvad var det største problem med løsningen?
Programmer gemte data direkte på en fil på harddisken.
Problem: Der er en masse funktionalitet som de fleste IT-systemer har brug for. I ovenstående arkitektur er det nødvendigt at programmere denne funktionalitet ind I hvert eneste IT-system.
Hvad var målet med indførelse af DBMS?
For at gøre det muligt for alle IT-systemer at tilgå generel funktionalitet som: ○ Autentifikation
○ Samtidighedskontrol
○ Alt eller intet princippet
○ Back-up og restore
○ Specificere regler om dataintegritet
○ Effektiv fremsøgning af data der undgår at gennemløbe hele filer (indeksering).
Hvordan adskiller arkitekturen for den relationelle database sig med arkitekturen på billedet?
- Forespørgselssproget er SQL
- DBMS’en er en relationel DBMS
Er fremmednøgler i den relationelle database pointere til anden data i en anden tabel?
NEJ! Alle attributter indeholder data - der er dermed ingen pointere. Referencer håndteres med fremmednøgler der selv er attributter og IKKE pointers.
Hvilke forskellige database systemer er de mest populære for tiden?
Relationelle databaser som MySQL, Oracle og MSSQL er de suverænt mest populære. Næst efter kommer NoSQL databaserne som typisk er dokument (MongoDB) eller graf baserede.
Hvad er det som udgangspunkt der begrænser performance i DBMS’en?
Harddisken (HDD) er den begrænsende faktor for performance - er meget langsom sammenlignet med de øvrige komponenter.
Hvad er en page på harddisken? Hvor meget fylder en page? Hvad indeholder den?
En page er det der skrives til / hentes fra harddisken. En page har en størrelse på 8K og indeholder så mange database records som den kan.
Hvordan er den traditionelle harddisk opbygget?
Består af et antal skiver der roterer omkring deres centrum
Har en læsearm der kan flyttes mellem centrum og skivens rand. Læsearmen læser den data der er lige under armen. Læsearmen overfører pagens data til RAM.
I hvilke tilfælde anvender man en SSD fremfor en traditionel harddisk (HDD) i et databasesystem?
SSD diske anvendes som cache mellem den traditionelle harddisk og RAM I lidt større systemer.
Hvordan læser harddisken en page? Hvilke dele i processen er de mest tidskrævende?
- Diskarmen flyttes til den rigtige afstand fra centrum
- Man afventer diskens rotation, så læsehovedet på læsearmen står lige over pagen
- Pagens indhold læses og indhold overføres til RAM
De første to elementer er de mest tidskrævende I processen.
Hvad bruger man en buffer til i DBMS’en? Hvorfor bruger man en buffer?
Når man har læst en page, er der en rimelig sandsynlighed for at den pågældende page skal anvendes igen inden for kort tid
Denne observation udnyttes til at forbedre performance ved at indføre en buffer. Det betyder at når en page er hentet fra harddisken gemmes den I RAM I et stykke tid efterfølgende.
Kan DBMS bufferen påvirkes af programmøren?
Nej, den er indbygget i DBMS’en og er ikke umiddelbart til at påvirke.
Hvad bruger man pre-fetching til i DBMS’en? Hvorfor bruger man pre-fetching?
Når man har læst en page, er der en rimelig sandsynlighed for, at efterfølgende pages skal anvendes inden for kort tid
Denne observation udnyttes til at forbedre performance ved at indføre pre-fetching. Det betyder at når en page læses fra disken bliver de efterfølgende pages læst med op.