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.
Quiz(72 frågor)
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?
2. Vad står förkortningen ORM för?
3. Vilket av följande är ett ORM-verktyg för Java?
4. Vilket av följande beskriver Lazy Loading?
5. Vilken av följande är en nackdel med att använda ORM?
6. Vilken av följande beskriver bäst en entitet?
7. Vad står förkortningen ORM för?
8. Vad är syftet med Eager Loading?
9. Hur kan caching förbättra prestanda i ORM?
10. Vilket av följande påståenden är sant angående ORM?
11. Vilket av följande verktyg fokuserar på prestanda och är lättviktigt?
12. Vilken typ av relation beskriver N:1-relation?
13. Sant eller falskt: ORM är alltid snabbare än SQL.
14. Vilken av följande termer beskriver kopplingen mellan objekt och databastabeller?
15. Vad gör Eager Loading i en ORM?
16. Vad innebär caching i databaser?
17. Vad kännetecknar lazy loading?
18. Vad innebär aktiv mappning?
19. Vad representerar en entitet i ORM?
20. Vad är Entity Framework?
21. Vilken teknik laddar alla relaterade data direkt?
22. Vilket av följande beskriver en databastransaktion?
23. Vilken av följande är INTE en fördel med att använda ORM?
24. Vad används Data Annotations för?
25. Vad är N+1-problemet i ORM?
26. Vilken av följande är INTE en del av ORM-funktionalitet?
27. Vad innebär lazy loading?
28. Vad gör Fluent API i jämförelse med Data Annotations?
29. Vilken av följande är en teknik för att förbättra prestanda i ORM?
30. Vad är en primärnyckel?
31. Vilket av följande beskriver JPA?
32. Vad innebär Code First-strategin?
33. Vad innebär överklotter av objekt i ORM?
34. Vad är lazy loading?
35. Vad är en databastransaktion?
36. Vilken av följande strategier innebär att hela arvshierarkin lagras i en enda tabell?
37. Vilka mått kan användas för att mäta prestanda i ORM?
38. Vad är en databaskontext?
39. Vad gör en session i ORM?
40. Vad kännetecknar Table Per Type (TPT)?
41. Vad är batch processing i kontexten av ORM?
42. Vilken av följande är en korrekt definition av normalisering?
43. Vilket ORM-verktyg är känt för att vara kraftfullt och används för Python?
44. Vad är Identity Map-mönstret?
45. Hur kan databasindeksering påverka prestanda i ORM?
46. Vilken av följande är ett exempel på en entitetsklass?
47. Vad är syftet med ett migrationsverktyg?
48. Vad är syftet med Repository Pattern?
49. Vilken av följande påståenden är sant om ORM och skalbarhet?
50. Vad gör en repository i ORM?
51. Skillnaden mellan ORM och direkt SQL?
52. Vad gör Unit of Work-mönstret?
53. Varför är prestandatester viktiga i ORM?
54. Hur jämförs objektorienterad modell med relationsmodell?
55. Vad kännetecknar Active Record-mönstret?
56. Vad innebär Orphan Removal?
57. Vilken typ av relationer kan ORM ha svårt att hantera?
58. Vad kallas processen av att koppla en objektattribut till en databas kolumn?
59. Vilken av följande metoder ökar utvecklingshastigheten?
60. Vad är DTO (Data Transfer Object)?
61. Vilken av följande är ett exempel på prestandaoptimering?
62. Vilken av följande beskriver bäst lazy loading?
63. Vad är en datamappning?
64. Vad innebär Optimistic Locking?
65. Vilket av följande är ett ORM-verktyg för .NET?
66. Vad kännetecknar Pessimistic Locking?
67. Vilken av följande påståenden om ORM är SANT?
68. Vad innebär Batch Processing?
69. Vilken av följande är ett exempel på ett ORM-verktyg som används för .NET-applikationer?
70. Vad är syftet med Migrations i databaser?
71. Vilket av följande påståenden beskriver bäst vad som sker under en datamappning i ORM?
72. Vad handlar Query Optimization om?
Relaterade studieset
Normalisierung Datenbanken Abiturvorbereitung
Transaktionen ACID Definitionen
SQL GROUP BY und HAVING
Relationale Algebra
Abitur: SQL JOIN Idee
SQL WHERE
Wiederholung: Tabelle Schlüssel
Entity-Relationship-Modell Kardinalitäten fürs Abi
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.

