Discussione:Structured Query Language

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Structured Query Language
Argomento di scuola secondaria di II grado
Materiainformatica
Dettagli
Dimensione della voce34 100 byte
Progetto Wikipedia e scuola italiana

Vedo che viene citato il comando RENAME. Io credo che sia un'estensione non standard implementata da alcuni dbms. So che altri dbms hanno un ALTER TABLE nometabella RENAME TO nuovonome e credo che questa sia la versione standard. Ma potrei sbagliare e non so dove trovare la sintassi standard... spero che qualcuno mi dice che sbaglio o corregga l'articolo, se vedo che questo non succede proverò a fare delle ricerche. --Sante Caserio 18:11, Mar 22, 2005 (UTC)

Nell'articolo si utilizzano impropriamente termini come campi,tabelle,colonne. Propongo di uniformare il lessico in questo modo:TABELLE (sarebbe più corretto chiamarle RELAZIONI), COLONNE/CAMPI (-> attributi), righe (-> tuple). Eventualmente è possibile aggiungere un'introduzione al lessico dei DBMS. Cosa ne pensate? --mix 16:59, Apr 17, 2005 (CEST)

Sono d'accordo, però non amo il termine "relazioni" in italiano, perchè può tradurre sia "relation" (la tabella) sia "relationship" (la relazione tra due tabelle). Preferisco il termine ENTITA', anche se forse è meno usato. --Sante Caserio 18:26, 14 feb 2006 (CET)[rispondi]

Perchè non spostare tutto il contenuto del paragrafo DDL nella sezione DDL dato che è tutt'ora in stub? si avrebbe comunque un doppione replicando le informazioni in due articoli. Fatemi sapere che ne pensate - Djdomix

pronuncia "sql"[modifica wikitesto]

siamo sicuri che si legga lettera per lettera? l'articolo inglese [1] dice che l'acronimo SQL deriva da SEQUEL, che viene sicuramente letto "siquel". per tale motivo, oltre alle mie personali conoscenze, ritengo che sia quest'ultima la corretta pronuncia. che ne dite?

io l'ho sempre pronunciato siquel --Domenico Biancardi - dimmi tutto 16:42, Set 6, 2005 (CEST)
io eschiuel, all'inglese
Ciao, nell'articolo inglese leggo che "ANSI has declared that the official pronunciation for SQL is /Es_kju_El/ [...]", quindi eschiuel, proprio perchè sequel è un trademark registrato. Inoltre "Another widespread misconception is that "SQL" is an initialism that stands for "Structured Query Language" — this is not the case." non concorda con il primo paragrafo dell'articolo italiano. Chi ha ragione? reddstain 09:52, 8 nov 2005 (CET)[rispondi]
Personalmente, non ho mai sentito dire che quella sigla (che trovi in qualsiasi libro) non sia corretta. Inoltre l'articolo originale ora lo chiama appunto Structured Query Language, e quella frase è sparita. --Feder raz (msg) 03:06, 11 nov 2012 (CET)[rispondi]

Operatori condizionali?[modifica wikitesto]

Non sono d'accordo col dire che WHERE è un operatore condizionale. Non esistono operatori condizionali in SQL, se ci fossero sarebbe possibile dire, per esempio: "se questo record esiste, fai un INSERT bla bla bla". Ma non si può, perchè SQL non è un linguaggio strutturato. WHERE è una CLAUSOLA dei comandi SELECT, UPDATE e DELETE, i quali tecnicamente vengono eseguiti sempre e comunque (anche se possono coinvolgere 0 record per effetto della WHERE). Inoltre, se volessimo proprio dire che WHERE è un operatore condizionale, non dovremmo dire che è l'unico, ma dovremmo dire che esiste anche HAVING. Qualcuno è contrario alla correzione di quella parte? --Sante Caserio 18:26, 14 feb 2006 (CET)[rispondi]

La voce scritta è Structured Query Language, io credo che sia Standard Query Lenguage non modifico nulla perchè non posso affermarlo con certezza.

Appunto non modificare nulla perchè hai torto è Structured Query Language

SQL dichiarativo, non imperativo[modifica wikitesto]

Al paragrafo "Struttura" ho modificato la frase "Essendo un linguaggio imperativo" con "Essendo un linguaggio 'dichiarativo", in quanto a mio avviso errata: infatti se SQL fosse imperativo richiederebbe all'utente di specificare esplicitamente le operazioni sulle tuple, mediante indici o strutture dati ad hoc. Al contrario, la comodità (se posso chiamarla così...) è proprio quella di specificare cosa ottenere e non come ottenerlo...

Ignoravo questa differenza, ma faccio presente che in tutte le implementazioni esistono una serie di clausole per far sì che l'ottimizzatore scelga una strategia piuttosto che un'altra. --Feder raz (msg) 03:09, 11 nov 2012 (CET)[rispondi]

Anno invenzione SQL[modifica wikitesto]

Edgar Codd in "The Relational Model for Database Management" afferma che l'SQL fu inventato nel tardo 1972 e non nel 1974. Chi sta sbagliando?


--DarKomoGothic (msg) 16:08, 7 apr 2008 (CEST)[rispondi]

Paragrafo sul modello Entità-relazioni[modifica wikitesto]

A mio parere questo paragrafo andrebbe eliminato. Si tratta di un argomento certamente correlato, ma non facente parte di SQL. Il modello E-R è uno strumento utile a progettare basi di dati, ma è completamente indipendente da SQL, e i due temi possono essere studiati separatamente. Il riferimento al modello E-R andrebbe riportato tra i link. A riprova di ciò, posso dire che tutti i testi di basi di dati e sistemi informativi trattano i due temi, SQL e E-R, in capitoli separati. In assenza di discussioni provvederò entro qualche giorno a modificare la pagina in tale senso.

Concordo pienamente e provvedo (con un certo ritardo) alla rimozione, ma non credo sia necessario inserire un riferimento al modello E-R nei link. Basta vedere la wikipedia inglese. --Fabuio (msg)

Paragrafo: Critiche a SQL[modifica wikitesto]

  • La prima critica è probabilmente esposta male: così com'è, dice che non esiste un modo per suddividere un comando in comandi più brevi e successivamente richiamarli con un alias; in realtà si può farlo in mille modi assolutamente standard: viste, stored functions, trigger... Se la critica è esposta male andrebbe riformulata, se è un'opinione di qualcuno che non conosce l'SQL andrebbe cancellata, suppongo. Come ci si comporta in questi casi?
  • La terza critica riguarda l'uso che viene fatto dei NULL nella pratica. Ma questa critica non riguarda né lo standard SQL, nè una specifica implementazione, nè la sintassi di un qualsiasi linguaggio che supporti il tipo NULL: riguarda quello che fanno i singoli programmatori. Va da sé che gli utenti dei DBMS non hanno alcun potere sugli standard e viceversa. Se posso permettermi, sembrerebbe un invito a non usare una certa pratica di programmazione, ma qui è fuori luogo. Posso eliminarla?

--Feder raz (msg) 21:32, 18 ott 2012 (CEST)[rispondi]

Paragrafo: Operatori condizionali[modifica wikitesto]

Al momento questo paragrafo dice solo: "L'unico operatore condizionale di SQL è WHERE (dove) e serve a definire criteri di ricerca mirati.".

  • Non considero WHERE un operatore, e se lo si considera tale, bisogna specificare che è atipico da tutti i punti di vista (funzionale, sintattico...). L'esposizione sarebbe molto più semplice se lo si considerasse una clausola, come fanno le documentazioni di vari software, come MySQL.
  • Se si vuole dire che WHERE è un operatore condizionale, è oggettivamente sbagliato dire che è l'unico: esistono anche ON e HAVING. L'unica differenza fra queste tre clausole è in quale momento dell'elaborazione si applicano.

Vi chiedo il permesso di levarlo subito dagli operatori; in caso contrario, mi sembra comunque importante decidere come trattarlo e correggere subito l'errore. Come procediamo? --Feder raz (msg) 21:37, 22 ott 2012 (CEST)[rispondi]