Su microsoft.public.it.sql Size ha segnalato un'articolo dal titolo autoesplicativo "SQL Server? No, Grazie?" che dimostrarebbe la superiorità palese di Oracle su SQL Server e la generale mediocrità di quest'ultimo.
Ecco il link:
http://www.feaci.it/letteratura/SQLserver.htmIn realtà l'articolo non centra nessuno degli obiettivi che si propone e arriva a conclusioni che non condivido, non apre alcuna fase di confronto e non dimostra, in sintesi, niente di niente.
Il tono dell'articolo è fastidiosamente presuntuoso ma l'articolo in se resta a mio avviso molto interessante.Vengono fatte per bene le pulci a SQL Server e vengono evidenziate problematiche note che effettivamente MS dovrebbe prima o poi affrontare. Alcuni dei punti in discussione sono in effetti superati con SQL Server 2005 ma altri no e restano motivo di frustrazione per chi SQL lo usa ogni giorno. Non condivido tutte le accuse di "SQL Server? No, Grazie?" ma alcune si e vorrei riepilogarle:
- Riferimenti circolari on cascade. Effetivamente SQL ha sempre mostrato un eccesso di prudenza in questo senso, perchè?
- Perchè è proibita la creazione di FKs on cascade in combinazione con triggers "instead of"?
- SQL server non implementa il KEY JOIN, che sarebbe comodissimo.
- Perchè non ci sono triggers "before"?
- Perchè nella clausola Order By è possibile usare gli alias di colonna e altrove no?
- Perchè non è possibile usare funzioni non deterministiche in funzioni?
Perchè in funzioni non è ammessa questa sintassi:
DECLARE @D Datetime
SET @D=GetDate()
ma è ammesso creare la vista "v_Date as Data=getdate()" e in funzione usare la sintassi
DECLARE @D Datetime
SELECT @D=Data FROM v_Data
- Perchè in funzione non è possibile modificare i dati?
- perchè select RAND(),* from Tabella ritorna sempre il medesimo valore?
- Perche mancano i tipi Date e Time?
- Perchè non è possibile passare espressioni come parametri di storeds?
- Perchè l'update in join segnalato nell'articolo si comporta tanto male?
e aggiungo:
- Perchè con uniqueidentifier e bit non sono ammessi max e min?
- Perchè con i tipi dato stringa non è ammessa la SUM?
marc.