Le operazioni CRUD sono concepite per essere utilizzate con le raccolte?

1

Le operazioni CRUD, per definizione sono ...

interfaces that permit users to create, remove, modify or retrieve data

Le implementazioni delle interfacce CRUD possono avere varie forme e talvolta possono anche essere estese a SCRUD . Ciò che la maggior parte delle interfacce CRUD ha in comune è che si riferiscono a tutte le principali funzioni di ad es. un database relazionale . Un'implementazione di base potrebbe essere simile a questa:

class CrudInterface {
    void add(obj entity);
    void get(obj entityKey);
    void update(obj entity);
    void delete(obj entityKey);
}

Ora considera il seguente metodo aggiuntivo nell'interfaccia di esempio sopra:

void add(Collection<obj> entities);

Questa cosa appartiene a un'interfaccia CRUD? Wikipedia dice

the software (which offers the CRUD interface) must allow the user to create or add new entries

Quindi l'esempio sopra sembra valido per questa definizione . Tuttavia, la maggior parte delle tecnologie di database relazionali non supporta tale operazione. E se lo fanno, per lo più passano semplicemente attraverso la collezione e aggiungono gli oggetti individualmente, il che può avere grossi inconvenienti quando un'operazione è accoppiata con una condizione o un hook di evento.

Quindi, l'uso delle collezioni sulle interfacce CRUD è valido e / o legittimo?

    
posta xvdiff 19.09.2014 - 10:44
fonte

1 risposta

1

Non è vero che la maggior parte delle tecnologie di database relazionali supportano solo l'aggiunta di elementi uno alla volta. La maggior parte dei RDBMS principali ha un comando di inserimento o caricamento di massa che aggiunge molte righe contemporaneamente. Questo è molto più efficiente di chiamare insert più e più volte.

Pertanto, qualsiasi interfaccia CRUD che deve gestire il caricamento di grandi volumi di dati dovrebbe avere qualche meccanismo per aggiungere più righe contemporaneamente.

    
risposta data 19.09.2014 - 12:54
fonte