

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Differenze nell’accesso a un database relazionale (SQL) e a DynamoDB
<a name="SQLtoNoSQL.Accessing"></a>

Per consentire all'applicazione di accedere a un database, deve essere *autenticata* per assicurarsi che possa utilizzare il database. Deve essere *autorizzata* in modo da poter eseguire solo le operazioni per le quali dispone di autorizzazioni.

Il diagramma seguente mostra l'interazione del client con un database relazionale e con Amazon DynamoDB.

![\[Interazione con database relazionali e NoSQL\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/images/SQLtoNoSQL.png)


La seguente tabella contiene ulteriori dettagli sulle attività di interazione del client:


****  

| Caratteristica | Sistema di gestione di database relazionali (RDBMS) | Amazon DynamoDB | 
| --- | --- | --- | 
| Strumento per l'accesso al database |  La maggior parte dei database relazionali fornisce un'interfaccia a riga di comando (CLI) per permetterti di immettere istruzioni SQL ad hoc e vedere immediatamente i risultati.  | Nella maggior parte dei casi, scrivi il codice dell'applicazione. Puoi anche utilizzare Console di gestione AWS, the AWS Command Line Interface (AWS CLI) o NoSQL Workbench per inviare richieste ad hoc a DynamoDB e visualizzare i risultati. [PartiQL](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.html), un linguaggio di query compatibile con SQL, consente di selezionare, inserire, aggiornare ed eliminare i dati in DynamoDB. | 
| Connessione al database | Un programma applicativo stabilisce e mantiene una connessione di rete con il database. Al termine dell'applicazione, termina anche la connessione. | DynamoDB è un servizio Web che offre interazioni stateless. Le applicazioni non hanno bisogno di mantenere connessioni di rete persistenti. L'interazione con DynamoDB invece si verifica utilizzando richieste e risposte HTTP(S). | 
| Autenticazione | Un'applicazione non può connettersi al database finché non viene autenticata. RDBMS può eseguire l'autenticazione autonomamente oppure eseguire l'offload di questa attività sul sistema operativo host o su un servizio di directory. | Ogni richiesta a DynamoDB deve essere accompagnata da una firma crittografica che autentica la specifica richiesta. AWS SDKsForniscono tutta la logica necessaria per creare firme e richieste di firma. Per ulteriori informazioni, consulta [Firmare le richieste AWS API](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) in. Riferimenti generali di AWS | 
| Autorizzazione | Le applicazioni possono eseguire solo operazioni per le quali sono state autorizzate. Gli amministratori di database o i proprietari di applicazioni possono utilizzare le istruzioni SQL GRANT e REVOKE per controllare l'accesso agli oggetti del database (come le tabelle), ai dati (come le righe all'interno di una tabella) o la possibilità di emettere alcune istruzioni SQL. | In DynamoDB, l'autorizzazione è gestita AWS Identity and Access Management da (IAM). È possibile scrivere una policy IAM per concedere le autorizzazioni su una risorsa DynamoDB (ad esempio una tabella), quindi consentire agli utenti e ai ruoli di utilizzare tale policy. IAM offre anche un controllo di accesso a granulometria fine per singoli elementi di dati nelle tabelle DynamoDB. Per ulteriori informazioni, consulta [Identity and Access Management per Amazon DynamoDB](security-iam.md). | 
| Invio di una richiesta | L'applicazione emette un'istruzione SQL per ogni operazione di database che desidera eseguire. Alla ricezione dell'istruzione SQL, RDBMS verifica la sintassi, crea un piano per l'esecuzione dell'operazione ed esegue il piano. | L'applicazione invia le richieste HTTP(S) a DynamoDB. Le richieste contengono il nome dell'operazione da eseguire insieme ai parametri. DynamoDB esegue immediatamente la richiesta. | 
| Ricezione di una risposta | RDBMS restituisce i risultati dell'istruzione SQL. Se si verifica un errore, RDBMS restituisce uno stato e un messaggio di errore. | DynamoDB restituisce una risposta HTTP(S) contenente i risultati dell'operazione. Se si verifica un errore, DynamoDB restituisce uno stato e messaggi di errore HTTP. | 