ORM koncept databaser

Denna begreppslista täcker grunderna i ORM (Object-Relational Mapping) inom databaser, inklusive viktiga termer och koncept som används i programmering och databashantering.

EliasL0·72 flashcards·72 frågor
universitetcomputer_sciencedatabases
0
Kan
1 / 72
0
Övar
Framsida

Vad står ORM för?

Tryck för att vända
Baksida

ORM står för Objekt-Relations-Mappning, en teknik för att koppla objektorienterad programmering med relationsdatabaser.

Tryck för att vända
Kan
Övar fortfarande

Quiz(72 frågor)

Fråga 1 av 72

1. Vad handlar prestanda i ORM främst om?

Begrepp i det här studiesetet(72)

Grundläggande ORM-koncept(16)

Vad står ORM för?

ORM står för Objekt-Relations-Mappning, en teknik för att koppla objektorienterad programmering med relationsdatabaser.

Objektorienterad modell vs. relationsmodell

Objektorienterad modell: hanterar objekt och deras relationer. Relationsmodell: hanterar data i tabeller och relationer mellan dem.

Vad är en entitet?

En entitet är en representant för ett objekt i den verkliga världen, till exempel en 'Användare' eller 'Produkt'.

Sant eller falskt: ORM förenklar databasåtkomst.

Sant. ORM gör det enklare att interagera med databaser genom att dölja SQL-komplexiteten.

Fyll i tomrummet: ORM skapar en _____ mellan objekt och databastabeller.

ORM skapar en koppling mellan objekt och databastabeller.

Vad är en databaskontext?

Databas-kontext är en instans av en databasklass som hanterar databasanslutningar och operationer.

Vad är en mappning?

Mappning är processen att koppla en objektattribut till en kolumn i en databas.

Jämför aktiv och passiv mappning.

Aktiv mappning: ORM hanterar automatiskt mappning. Passiv mappning: utvecklaren definierar mappning manuellt.

Vad gör en repository?

Repository måste lagra och hämta objekt. Det fungerar som ett lager mellan databasen och applikationen.

Vad är en relation?

En relation beskriver hur två entiteter är kopplade, till exempel en 'beställning' till en 'kund'.

Vad är lazy loading?

Lazy loading är en strategi där data laddas först vid behov, vilket kan förbättra prestanda.

Ge ett exempel på en entitetsklass.

Exempel: 'class Användare { int Id; string Namn; }' representerar en användarentitet.

Vad är en databastransaktion?

En databastransaktion är en sekvens av operationer som antingen slutförs helt eller inte alls.

Vad är primärnyckel?

Primärnyckel är en unik identifierare för varje rad i en databas tabell, till exempel 'Id'.

Vad är en databasmodell?

En databasmodell definierar hur data struktureras och organiseras i databasen.

Vad är en normalisering?

Normalisering är processen att organisera data för att minimera redundans och förbättra dataintegritet.

ORM-tekniker och verktyg(20)

Hibernate

Ett populärt ORM-verktyg för Java som förenklar databasinteraktion.

Entity Framework

ORM-verktyg för .NET som möjliggör databashantering med C#-objekt.

Vad är en datamappning?

Processen att koppla objekt i kod till databasposter.

True or False: ORM kan öka utvecklingshastigheten.

True. Det minskar den manuella kodningen av SQL-frågor.

Dapper

Ett lättviktigt ORM-verktyg för .NET som fokuserar på prestanda.

JPA

Java Persistence API; standard för ORM i Java-miljöer.

Vad gör en session i ORM?

Hanterar interaktionen mellan applikationen och databasen, inklusive transaktioner.

Fill in the blank: ORM står för _____.

Object-Relational Mapping.

Skillnaden mellan ORM och direkt SQL?

ORM använder objekt medan SQL arbetar direkt med databastabeller.

Active Record

En ORM-mönster där en databaspost representeras som ett objekt.

Vad är lazy loading?

En teknik där relaterade data laddas först när de behövs, vilket sparar resurser.

True or False: ORM är alltid mer effektivt än SQL.

False. ORM kan vara långsammare i vissa scenarier på grund av abstraktionen.

SQLAlchemy

Ett kraftfullt ORM-verktyg för Python som stödjer både deklarativ och imperativ stil.

Vad är en databastransaktion?

En sekvens av operationer som utförs som en enhet, antingen helt eller inte alls.

Fördelar med ORM:

- Minskar kodens komplexitet - Ökar produktiviteten - Främjar databaskonfiguration

Vad är Eager Loading?

Laddar alla relaterade data i en enda fråga för att minska databasfrågor.

Nhibernate

Ett ORM-verktyg för .NET som är en portering av Hibernate för Java.

Vad är en entitet?

En objektklass som representerar en tabell i databasen.

Vad är en databasmodell?

En strukturell representation av databasen, inklusive tabeller och relationer.

Vad är en migrationsverktyg?

Verktyg som hjälper till att hantera databasändringar och schemauppdateringar.

Prestanda och begränsningar(16)

Prestanda i ORM

Ämnet handlar om hur effektivt ORM kan hantera databasfrågor och transaktioner.

Nackdelar med ORM

Högre latens och minnesanvändning jämfört med direkt SQL. - Överhuvudtaget kan prestanda påverkas.

Caching i ORM

Caching kan förbättra prestanda genom att lagra ofta använda data i minnet.

Sant eller falskt: ORM alltid är snabbare än SQL.

Falskt. ORM kan vara långsammare p.g.a. abstrahering och overhead.

Lazy loading

Ett mönster där data laddas först när det verkligen behövs, vilket kan spara resurser.

Eager loading vs. Lazy loading

Eager loading laddar alla relaterade data direkt; lazy loading laddar vid behov.

N+1 problem

Ett prestandaproblem i ORM där flera queries görs istället för en optimal join-query.

Optimala frågor i ORM

Användning av specifika frågeoptimeringar kan förbättra prestanda avsevärt.

Överklotter av objekt

Kan leda till ineffektiv minnesanvändning om många objekt skapas utan kontroll.

Prestandamått i ORM

Mått kan inkludera svarstid, transaktionstakt, och resursanvändning.

Batch processing

Att skicka flera uppdateringar i en enda operation kan förbättra prestanda.

Databasindeksering

Rätt indexering kan avsevärt öka hastigheten på databasfrågor.

ORM och skalbarhet

Skalbarheten kan begränsas av ORM:s abstraktion, särskilt vid stora datamängder.

Prestandatester av ORM

Regelbundna tester är viktiga för att identifiera flaskhalsar och optimera prestanda.

Relationella begränsningar

ORM kan ha svårt att hantera komplexa relationer vilket kan leda till prestandaproblem.

Exempel på prestandaoptimering

Att använda rätt datatyper och minimera onödiga relationer kan förbättra prestanda.

Avancerade ORM-koncept(20)

Lazy Loading

En teknik där data laddas först när det behövs, vilket minskar initial laddningstid.

Eager Loading

Data laddas i förväg, vilket kan öka prestanda men också minskar flexibiliteten.

N:1-relation

En relation där flera objekt i en entitet kan kopplas till ett enda objekt i en annan entitet.

Caching

Att lagra tidigare hämtad data för att förbättra prestanda genom att undvika onödiga databasfrågor.

Entity Framework

Ett populärt ORM-verktyg i .NET som förenklar databasinteraktion genom objektorienterade metoder.

Data Annotations

Attribut som används för att konfigurera databasens schema direkt i affärsobjekten.

Fluent API

Ett alternativ till Data Annotations som ger mer kontroll och flexibilitet vid konfiguration av databasmodellen.

Code First

En strategi där databasens struktur definieras genom kod, snarare än att skapa databasen först.

Table Per Hierarchy (TPH)

En strategi där hela arvshierarkin lagras i en enda tabell, vilket kan förenkla strukturen.

Table Per Type (TPT)

Varje typ i arvshierarkin har sin egen tabell, vilket kan öka normalisering men påverka prestanda.

Identity Map

En designmönster som säkerställer att ett objekt endast instansieras en gång under en session.

Repository Pattern

En designmönster som abstraherar datalagring för att möjliggöra lättare enhetstestning och separation av ansvar.

Unit of Work

Mönster som hanterar flera operationer som en enda transaktion för att säkerställa databasens konsistens.

Orphan Removal

Automatisk borttagning av objekt som inte längre har någon referens, vilket förenklar hantering av relationer.

DTO (Data Transfer Object)

Ett objekt som används för att överföra data mellan system för att minska antalet anrop till databasen.

Optimistic Locking

En teknik för att hantera samtidiga databasanrop där konflikter undviks genom att kontrollera ändringar innan sparande.

Pessimistic Locking

Låser resurser för att förhindra andra transaktioner från att komma åt dem, vilket kan leda till deadlocks.

Batch Processing

En teknik för att bearbeta flera databasoperationer i en enda transaktion för att öka effektiviteten.

Migrations

Processen att uppdatera databasens schema på ett kontrollerat sätt genom versionshantering.

Query Optimization

Strategier för att förbättra prestanda av databasfrågor för att hämta data mer effektivt.

Frågor i det här studiesetet(72)

1. Vad handlar prestanda i ORM främst om?

A.Effektivitet i hantering av databasfrågor
B.Antal databaser
C.Typ av programmeringsspråk
D.Kostnad för databaslösningar

2. Vad står förkortningen ORM för?

A.Objekt-Relations-Mappning
B.Operativ Relations-Mappning
C.Organiserad Respons Mappning
D.Objekt Relativ Mappning

3. Vilket av följande är ett ORM-verktyg för Java?

A.Hibernate
B.Entity Framework
C.Dapper
D.SQLAlchemy

4. Vilket av följande beskriver Lazy Loading?

A.Data laddas först när det behövs.
B.Data laddas alltid på en gång.
C.Data kan inte laddas om det redan har laddats.
D.Data laddas alltid i bakgrunden.

5. Vilken av följande är en nackdel med att använda ORM?

A.Lägre latens
B.Högre minnesanvändning
C.Mindre komplexitet
D.Bättre säkerhet

6. Vilken av följande beskriver bäst en entitet?

A.Ett konkret objekt i databasen
B.En databasfråga
C.En samling av tabeller
D.En typ av relation

7. Vad står förkortningen ORM för?

A.Object-Relation Mapping
B.Object-Relational Mapping
C.Object-Reactive Mapping
D.Object-Retrieval Mapping

8. Vad är syftet med Eager Loading?

A.Att ladda data först när det behövs.
B.Att öka prestanda genom att ladda all relevant data på en gång.
C.Att minska databasens storlek.
D.Att fördröja datahämtningen.

9. Hur kan caching förbättra prestanda i ORM?

A.Genom att spara data på disk
B.Genom att lagra ofta använda data i minnet
C.Genom att öka latensen
D.Genom att minska minnesanvändning

10. Vilket av följande påståenden är sant angående ORM?

A.ORM döljer SQL-komplexiteten
B.ORM kräver alltid manuell SQL-skrivning
C.ORM fungerar endast med NoSQL databaser
D.ORM kan inte hantera flera databastabeller

11. Vilket av följande verktyg fokuserar på prestanda och är lättviktigt?

A.Dapper
B.Hibernate
C.Entity Framework
D.JPA

12. Vilken typ av relation beskriver N:1-relation?

A.Flera objekt i en entitet kopplas till ett enda objekt i en annan entitet.
B.Ett objekt i en entitet kan kopplas till flera objekt i en annan entitet.
C.Object kan inte kopplas till varandra.
D.Relationer mellan samma typ av objekt.

13. Sant eller falskt: ORM är alltid snabbare än SQL.

A.Sant
B.Falskt
C.Endast vid stora datamängder
D.Beroende på databas

14. Vilken av följande termer beskriver kopplingen mellan objekt och databastabeller?

A.Mappning
B.Databastransaktion
C.Repository
D.Relation

15. Vad gör Eager Loading i en ORM?

A.Laddar data vid behov
B.Laddar all relaterad data i en enda fråga
C.Minskar antalet frågor till databasen
D.Genererar SQL-frågor automatiskt

16. Vad innebär caching i databaser?

A.Att lagra data för att undvika onödiga databasfrågor.
B.Att alltid hämta ny data från databasen.
C.Att ta bort gammal data.
D.Att optimera databasens struktur.

17. Vad kännetecknar lazy loading?

A.Data laddas omedelbart
B.Data laddas endast när det behövs
C.Data laddas alltid i stora mängder
D.Data laddas aldrig

18. Vad innebär aktiv mappning?

A.Mappning görs automatiskt av ORM
B.Mappning görs alltid manuellt
C.Det finns ingen mappning alls
D.Mappning är irrelevant i ORM

19. Vad representerar en entitet i ORM?

A.En databaspost
B.En tabell i databasen
C.En objektklass
D.En SQL-fråga

20. Vad är Entity Framework?

A.Ett ORM-verktyg för .NET.
B.En typ av databashanteringssystem.
C.Ett programmeringsspråk.
D.En hårdvarukomponent.

21. Vilken teknik laddar alla relaterade data direkt?

A.Lazy loading
B.Eager loading
C.Caching
D.Batch processing

22. Vilket av följande beskriver en databastransaktion?

A.En sekvens av operationer som antingen slutförs helt eller inte alls
B.En enkel databasfråga
C.En databasmodell
D.En typ av relation

23. Vilken av följande är INTE en fördel med att använda ORM?

A.Minskar kodens komplexitet
B.Ökar produktiviteten
C.Främjar databaskonfiguration
D.Ökar manual SQL skrivning

24. Vad används Data Annotations för?

A.För att konfigurera databasens schema direkt i objekt.
B.För att utföra avancerade databasfrågor.
C.För att lagra data i minnet.
D.För att skapa databasens tabeller.

25. Vad är N+1-problemet i ORM?

A.En metod för att optimera frågor
B.Ett problem där för många queries görs
C.En typ av databasindex
D.En teknik för att hantera relationer

26. Vilken av följande är INTE en del av ORM-funktionalitet?

A.Direkt manipulation av databastabeller med SQL
B.Automatisk mappning av objekt
C.Hantering av databasanslutningar
D.Lagring av objekt i repository

27. Vad innebär lazy loading?

A.Ladda all data i förväg
B.Ladda relaterade data först när de behövs
C.Minska storleken på databasen
D.Optimera SQL-frågor

28. Vad gör Fluent API i jämförelse med Data Annotations?

A.Ger mer kontroll och flexibilitet vid konfiguration.
B.Är enklare att använda.
C.Kräver mer kod.
D.Är en gammal teknik.

29. Vilken av följande är en teknik för att förbättra prestanda i ORM?

A.Använda fler relationer
B.Använda specifika frågeoptimeringar
C.Minimera datatyper
D.Öka latensen

30. Vad är en primärnyckel?

A.En unik identifierare för varje rad i en tabell
B.En referens till andra tabeller
C.En typ av databasfråga
D.En databasmodell

31. Vilket av följande beskriver JPA?

A.Ett ORM-verktyg för C#
B.En standard för ORM i Java
C.Ett databasverktyg för SQL
D.En typ av databasmodell

32. Vad innebär Code First-strategin?

A.Databasens struktur definieras genom kod.
B.Databasen skapas först innan kod skrivs.
C.En metod för att optimera databasen.
D.Att använda en grafisk databasdesignare.

33. Vad innebär överklotter av objekt i ORM?

A.Minska minnesanvändning
B.Effektiv lagring av data
C.Ineffektiv minnesanvändning vid skapande av objekt
D.Snabbare databasfrågor

34. Vad är lazy loading?

A.En strategi för att ladda data vid behov
B.En metod för att öka databasens storlek
C.En teknik för att skapa databasmodeller
D.En typ av mappning

35. Vad är en databastransaktion?

A.En sekvens av SQL-frågor
B.En operation över en databas
C.En enhet av operationer som utförs helt eller inte alls
D.En typ av databasmodell

36. Vilken av följande strategier innebär att hela arvshierarkin lagras i en enda tabell?

A.Table Per Hierarchy (TPH)
B.Table Per Type (TPT)
C.Table Per Subclass (TPS)
D.Table Per Parent (TPP)

37. Vilka mått kan användas för att mäta prestanda i ORM?

A.Endast svarstid
B.Endast resursanvändning
C.Svarstid och transaktionstakt
D.Endast transaktionstakt

38. Vad är en databaskontext?

A.En instans som hanterar databasoperationer
B.En typ av databasfråga
C.En del av en entitetsklass
D.En databasmodell

39. Vad gör en session i ORM?

A.Hanterar databasens säkerhet
B.Hanterar interaktionen mellan applikationen och databasen
C.Skapar databasmodeller
D.Optimera databasfrågor

40. Vad kännetecknar Table Per Type (TPT)?

A.Varje typ i arvshierarkin har sin egen tabell.
B.All data lagras i en enda tabell.
C.Det krävs ingen databasstruktur.
D.Det är en enkel databaslösning.

41. Vad är batch processing i kontexten av ORM?

A.Att utföra operationer en i taget
B.Att skicka flera uppdateringar i en enda operation
C.Att undvika att använda SQL
D.Att använda mer minne

42. Vilken av följande är en korrekt definition av normalisering?

A.Processen att organisera data för att minimera redundans
B.En typ av databastransaktion
C.En metod för att öka dataämnen
D.En typ av objekt

43. Vilket ORM-verktyg är känt för att vara kraftfullt och används för Python?

A.Dapper
B.Hibernate
C.JPA
D.SQLAlchemy

44. Vad är Identity Map-mönstret?

A.Säkerställer att ett objekt endast instansieras en gång under en session.
B.Tillåter flera instanser av samma objekt.
C.Är en typ av databasfråga.
D.Används för att spara objekt till databasen.

45. Hur kan databasindeksering påverka prestanda i ORM?

A.Minskar databasens storlek
B.Ökar hastigheten på databasfrågor
C.Ökar komplexiteten
D.Inga effekter

46. Vilken av följande är ett exempel på en entitetsklass?

A.class Användare { int Id; string Namn; }
B.SELECT * FROM Användare
C.Användare: en databasfråga
D.Användare: en typ av relation

47. Vad är syftet med ett migrationsverktyg?

A.Att skapa SQL-frågor
B.Att hantera databasändringar och schemauppdateringar
C.Att optimera databasprestanda
D.Att koppla objekt till databaser

48. Vad är syftet med Repository Pattern?

A.Att abstrahera datalagring för att underlätta enhetstestning.
B.Att direkt manipulera databasens tabeller.
C.Att lagra cachedata.
D.Att optimera databaser.

49. Vilken av följande påståenden är sant om ORM och skalbarhet?

A.ORM alltid är skalbart
B.Skalbarheten kan begränsas av ORM:s abstraktion
C.ORM fungerar inte med stora datamängder
D.Skalbarhet är oberoende av ORM

50. Vad gör en repository i ORM?

A.Lagrar och hämtar objekt
B.Kopplar databastabeller
C.Definierar entitetsklasser
D.Hanterar SQL-frågor

51. Skillnaden mellan ORM och direkt SQL?

A.ORM använder tabeller
B.ORM arbetar med objekt, SQL med tabeller
C.ORM är snabbare än SQL
D.ORM är alltid mer komplext

52. Vad gör Unit of Work-mönstret?

A.Hantera flera operationer som en enda transaktion.
B.Tillåta flera samtidiga användare.
C.Optimera databasens svarstid.
D.Koppla samman olika databaser.

53. Varför är prestandatester viktiga i ORM?

A.De är inte nödvändiga
B.För att identifiera flaskhalsar och optimera prestanda
C.För att öka kostnaden
D.För att minska databasens storlek

54. Hur jämförs objektorienterad modell med relationsmodell?

A.Objektorienterad modell hanterar objekt, relationsmodell hanterar tabeller
B.Relationsmodellen är mer flexibel
C.Objektorienterad modell kräver mer SQL
D.De är samma sak

55. Vad kännetecknar Active Record-mönstret?

A.Det skapar databasposter automatiskt
B.Det representerar en databaspost som ett objekt
C.Det används endast i Java
D.Det är en typ av databasmodell

56. Vad innebär Orphan Removal?

A.Automatisk borttagning av objekt utan referenser.
B.Att hantera föräldraskapsrelationer.
C.Manuell borttagning av data.
D.Att hålla data synkroniserad.

57. Vilken typ av relationer kan ORM ha svårt att hantera?

A.Enkla relationer
B.Komplexa relationer
C.En-och-många relationer
D.Många-till-många relationer

58. Vad kallas processen av att koppla en objektattribut till en databas kolumn?

A.Mappning
B.Normalisering
C.Databastransaktion
D.Entitet

59. Vilken av följande metoder ökar utvecklingshastigheten?

A.Använda ORM-tekniker
B.Öka antalet SQL-frågor
C.Manuellt föra databasändringar
D.Förbise databasmodeller

60. Vad är DTO (Data Transfer Object)?

A.Ett objekt för att överföra data mellan system.
B.En databasfråga.
C.En typ av databastransaktion.
D.En metod för att lagra data.

61. Vilken av följande är ett exempel på prestandaoptimering?

A.Att använda fler relationer
B.Att använda rätt datatyper
C.Att öka latensen
D.Att ha mer komplexitet

62. Vilken av följande beskriver bäst lazy loading?

A.Data laddas först när det behövs.
B.Data laddas alltid vid applikationens start.
C.Data laddas omedelbart vid objektinstansiering.
D.Data lagras i minnet oavsett om det används.

63. Vad är en datamappning?

A.Att skapa relationer mellan tabeller
B.Processen att koppla objekt i kod till databasposter
C.Att säkerhetskopiera databaser
D.Att optimera databasfrågor

64. Vad innebär Optimistic Locking?

A.Hantera samtidiga anrop genom att kontrollera ändringar innan sparning.
B.Låsa resurser för att förhindra konflikter.
C.Ta bort objekt från databasen.
D.Optimera databasen.

65. Vilket av följande är ett ORM-verktyg för .NET?

A.Hibernate
B.Entity Framework
C.Dapper
D.JPA

66. Vad kännetecknar Pessimistic Locking?

A.Låser resurser för att förhindra samtidiga åtkomster.
B.Är en metod för att optimera frågor.
C.Tillåter flera användare att komma åt data.
D.Säkerställer att data alltid är uppdaterad.

67. Vilken av följande påståenden om ORM är SANT?

A.ORM är alltid mer effektivt än SQL
B.ORM kan öka utvecklingshastigheten
C.ORM fungerar endast med små databaser
D.ORM ersätter alltid SQL helt

68. Vad innebär Batch Processing?

A.Att bearbeta flera operationer i en enda transaktion.
B.Att utföra en operation i taget.
C.Att optimera databasens lagring.
D.Att analysera databasen.

69. Vilken av följande är ett exempel på ett ORM-verktyg som används för .NET-applikationer?

A.Entity Framework
B.Dapper
C.SQLAlchemy
D.Hibernate

70. Vad är syftet med Migrations i databaser?

A.Att uppdatera databasens schema kontrollerat.
B.Att radera gammal data.
C.Att optimera frågor.
D.Att skapa backup av databasen.

71. Vilket av följande påståenden beskriver bäst vad som sker under en datamappning i ORM?

A.Det handlar om att konvertera SQL-frågor till objekt
B.Det är processen att koppla objekt i kod till databasposter
C.Det involverar att optimera databasfrågor för hastighet
D.Det är en typ av databastransaktion

72. Vad handlar Query Optimization om?

A.Att förbättra prestandan av databasfrågor.
B.Att lagra data effektivt.
C.Att skapa komplexa frågor.
D.Att säkerställa databasens säkerhet.

Relaterade studieset

Skapa ditt eget studieset

Ladda upp en PDF, klistra in dina anteckningar eller beskriv ett ämne – AI genererar flashcards, quiz och mer på några sekunder.