Sobes.tech
Middle+

Hoe zou je een SQL-query voor de database ontwerpen zonder ORM te gebruiken?

sobes.tech AI

Antwoord van AI

Om gegevens uit de tabel users op te halen, waar het veld is_active gelijk is aan true en role gelijk is aan 'admin':

SELECT id, username, email
FROM users
WHERE is_active = TRUE AND role = 'admin';

Om een nieuwe record in de tabel products in te voegen:

INSERT INTO products (name, price, category_id)
VALUES ('New Product', 19.99, 10);

Om een record in de tabel orders bij te werken, waarbij de status wordt ingesteld op 'shipped' voor de bestelling met id = 100:

UPDATE orders
SET status = 'shipped'
WHERE id = 100;

Om een record uit de tabel comments te verwijderen op basis van id:

DELETE FROM comments
WHERE id = 500;

Voor een eenvoudige join tussen de tabellen users en orders op user_id:

SELECT u.username, o.order_date, o.total_amount
FROM users AS u
JOIN orders AS o ON u.id = o.user_id;

Bij het ontwerpen is het belangrijk om rekening te houden met:

  • Veiligheid: Gebruik parametriseerde queries om SQL-injecties te voorkomen.
  • Prestaties: Optimaliseer queries met behulp van indexen, vermijd SELECT * en controleer de uitvoeringsplannen.
  • Leesbaarheid: Format queries, gebruik aliassen voor tabellen en velden.
  • Testen: Test queries in verschillende scenario's en datavolumes.

Voorbeeld van een parametrized query (conceptueel, de implementatie hangt af van de taal en driver):

// Voorbeeld om een gebruiker op ID op te halen
SELECT id, username FROM users WHERE id = ?;