Database & Co.

Mr. Hibernate sui Database Relazionali: un post di rara bellezza

Direttamente da Gavin King (Mr. Hibernate, l'amico di Janky ) un post che la dice lunga, molto lunga: "In Defence of RDBMS" http://blog.hibernate.org/cgi-bin/blosxom.cgi/2007/05/23 Il post è piuttosto lungo, e quindi riporto solo due estratti di quanto scritto da Gavin. Li riporto perchè sono concetti che chi mi conosce sa che difendo da sempre....anche quando sembravano essere controcorrente, e venivano tacciati come "vecchi e superati", ma ora che è passata la moda si riscoprono e tornano alla luce del sole...Bene, meglio tardi che mai! Sulla centralità e sulla vita dei database: "[...] data and data models last longer than applications, longer even than programming languages. Data is...

SQL Conference 2007

L'anno scorso è piaciuta cosi tanto che cosi anche quest'anno si replica. Sto parlando della SQL Conference 2007, che si terrà a Milano presso la sede Microsoft dal 12 al 14 giugno. Quest'anno la conferenza viene proposta in 3 giorni, in forte collaborazione con Microsoft ed il team di sviluppo stesso di SQL Server, con la quale abbiamo stretto e rinnovato l'amicizia nell'appena trascorso MVP Summit. Per quanto mi riguarda mi occuperò di due sessioni: C314 - SQL Server 2005: analisi prestazioni e ottimizzazioneC316 - SMO: Server Management Objects la prima è un evergreen e non ha bisogno di presentazioni, la seconda invece...

Articoli MSDN in italiano

I vari articoli MSDN scritti in italiano dai vari MVP (e non) sono ora disponibili, oltre che nei rispettivi Developer Center, anche in questa comoda lista: http://www.microsoft.com/italy/msdn/risorsemsdn/community/mvp/articles.mspx

Generare dati di test

Un interessante sito dove è possibile generare dati di test, utile sia ai possesori di VS DB PRO (almeno fino a quando non ci sarà una più ampia scelta di Data Generators) sia, ovviamente, a chi non ne è in possesso. http://www.benjaminkeen.com/software/data_generator/

Database Unit Test Whitepaper

E' stato pubblicato un interessante documento sull'utilizzo degli Unit Test in un database: http://msdn2.microsoft.com/en-us/library/bb381703(VS.80).aspx

SQL Server 2005 Developer Guidelines - Parte 2

E' stato pubblicato il mio secondo articolo sulle Development Guidelines per lo sviluppo di un database. Questo articolo, in realtà, può essere letto da chiunque, anche da chi non usa SQL Server. Perchè può essere letto da chiunque? Perchè si parla di progettazione di un database, di normalizzazione, dell'utilizzo dei NULL di utilizzo delle stored procedure. Tutti concetti che migliorano lo sviluppo dei database e quindi anche delle soluzioni basate a SQL Server. Concetti che sono vitali per utilizzare al meglio un RDBMS della complessità e della potenza di SQL Server, e che invito pertanto tutti a leggere e rileggere...

[Quasi-OT] Radio 24, il programma "Al Vostro Posto" e i Database

Sto ascoltando in questo momento il programma "Al vostro posto" di Radio 24. Tralasciando il tema della puntata del programma, la cosa che mi preme sottolineare è come il responsabile dell'ATM intervistato dalla Radio abbia ancora la concezione di idee che i dati scambiati dall'ATM ed i suoi partner siano su "dischetti" (testuali parole). Rabbrividisco. Ma la cosa che mi fa ancora più rabbrividire è che ogni volta che qualche responsabile di qualche società viene intervistato riguardo a qualche disguido di comunicazione con il cliente finale (di qualsiasi tipo, dalla notifica del pagamento di un multa - come nel caso...

La Grande Novità - Solid Quality Learning Italia

Finalmente - e con grande, grandissima gioia - posso rendere pubblica la notizia che per me rappresenta un importantissimo passo avanti nel mio futuro professionale. Nei prossimi giorni nascerà la divisione italiana di Solid Quality Learning, uno dei marchi più prestigiosi e conosciuti a livello mondiale, legato alla consulenza ed alla formazione su prodotti Microsoft (In particolare SQL Server ma non solo). I nomi che si trovano sotto il cappello di Solid Quality Learning sono semplicemnte impressionanti: Fernando Guerrero, Kalen Delaney, Itzik Ben-Gan, Brian Moran, Peter DeBetta, Ken Spencer (per non parlare dei rappresentanti italiani)...e potrei continuare a lungo. La possibilità di essere...

Technical Workshop dedicato a Visual Studio 2005 Team Edition for Database Professionals

Come già anticipato da Lorenzo e da Simone il 21 Febbraio 2007 ci sarà un Technical Workshop dedicato a Visual Studio 2005 Team Edition for Database Professionals. Insieme a Lorenzo mostrerò come l'utilizzo di VS 2005 DBPro sia una reale manna dal cielo (non per fare pubblicità lo dico seriamente) per chi sviluppa / amministra un database. Non mancate!

Riguardo l'uso delle stored procedure

Sono contento che Mauro abbia chiarito nel dettaglio ciò che intendevano lui e Raf nei post che consigliavano di non utilizzare le stored procedure. Io rimango cmq della mia posizione. Non usare le stored procedure E' MALE. Onde evitare flame :-) mi spiego subito. Il caso descritto: "L'uso di uno statement specifico che si preocupa di aggiornare i soli dati realmente modificati permette inoltre di gestire meglio la concorrenza ottimistica nel caso in cui, ad esempio, il client X modifichi la Ragione Sociale mentre il client Y modifichi l'indirizzo della ns entity, in un caso come questo potrebbe non avere senso...

27 Ottobre 2006 - Workshop UGISS "Un Passo Avanti"

Disclaimer: Se stai leggendo queste righe e sei un sviluppatore .NET ed usi database tutti i giorni ma - in cuor tuo - sai che per te sono un pò un mistero e non sei sicuro se è meglio mettere una colonna in più o aggiungere una tabella di lookup, se pensi che l'indice cluster sia la primary key, se non sai cos'è davvero una primary key...formati e leggi: questo post è anche per te. Bello il disclaimer eh? :-) Spero di aver attirato la vostra attenzione: ho appena messo online l'agenda del prossimo evento UGISS che, come dice il nome, rappresenta...

TSQL Unit Testing

Come ho già detto diverse volte e come Scott Ambler (e non solo) sostiene da tempo, è possibile approciare allo sviluppo del DB con metodologie Agili. Per poterlo fare _veramente_ e _seriamente_ è necessario (oltre che ad un cambio di mentalità ) avere a disposizione sistemi per l'attuazione di Unit Testing: per Sql Server è possibile utilizzare TSQLUnit. Ancora non ho iniziato ad usarlo, ma lo userò a breve, presto posterò le prime impressioni d'uso. A livello più generico un tool per effettuare Unit Testing sui db è SQLUnit (basato su Java). Nel caso il primo non dovesse andare bene (è ancora...

Agile Database Tecniques Articles

Scott Ambler ha raccolto cinque articoli di importanti figure nel mondo della modellazione dei dati (tra cui anche David Hay) in una pubblicazione scaricabile gratuitamente da qui:http://www.cutter.com/offers/agiledata2.html Gli articoli sono: Evolutionary Database Development Techniques by Scott W. Ambler and Pramod J. Sadalage Agile Database Testing by Ken Collier Enabling Agile Database Development: A Case Study by Nick Ashley Agile Applications as Open-Vocabulary English Business Rules over SQL by Adrian Walker Data and Agile Methods by David Hay sono 44 pagine (un librettino in pratica) e non ho ancora avuto il tempo di leggerlo tutto, ma sembra (come tutti gli scritti di Scott) molto interessante....

Libro sul Data Modeling

Vedo che si comincia a creare un pò di interesse intorno al tema del data modelling. Un ottimo libro sull'argomento, molto aggiornato, che tiene conto anche delle domande normalmente poste da chi ha esperienza di sviluppo OO e delle ultime teorie sulla sviluppo Agili (senza per questo "violare" i normali concetti di data modelling) è questo Data Modeling Essentialshttp://www.amazon.com/exec/obidos/tg/detail/-/B0007KIQP4/ref=pd_sim_b_5/104-8044554-9575905?%5Fencoding=UTF8&v=glance  Potrete cosi avere riposte so come cercare di modellare un database in modo corretto. Scoprirete cosi come è possibile creare un solido modello dati anche se le informazioni che avete a disposizioni sono incomplete. Ne consiglio la letture a chinque abbia a che fare con i...

The Performance Model

Un post di oggi di Igor mi ha stimolato a scrivere un articolo che da qualche giorno ho nel cassetto. L'idea mi è venuta da quando ho assistito alla presetazioni di Paul Nielsen riguardo alla modellazione dei dati, dove, in una slide iniziale, mostrava in modo estramamente chiaro e semplice che impatto hanno sulle performance le ottimizzazioni che possiamo fare su un qualsiasi database (SQL Server 2000 e 2005 in particolare). Il concetto è riassunto da questa piramide: Che in modo incofutabile comunica che l'impatto maggiore sulle prestazioni è dato da questa sequenza: 1 - Modello del database Se il database è disegnato male (troppo o troppo poco...

UGISS

Rubo un pò di spazio per far sapere a tutti i lettori di UgiDotNet che hanno (con gioia o con dolore, decidete voi ) la necessità di dover lavorare con SQL Server che è stato riperto lo user group dedicato ad esso. Lo potete trovare a questo indirizzo: www.ugiss.org inutile dire che come ogni community poggia la sua forza sulle persone la che compongono, quindi se volete partecipare a farla diventare una _grande_ community (come questa del resto ) siete i benvenuti (e poi so per certo che molti di voi apprezzano il modo relazionale e non solo quello ad oggetti, quindi...

Un pensiero prima di andare a letto: MSDN, gli articoli ed i consigli errati.

Oggi l'ho detto anche alla conferenza parlando di XML e lo ha sottolineato anche il mio collega Alessandro parlando di SQLCLR. Questi sono strumenti MOLTO potenti....ma che non devono necessariamente essere utilizzati in ogni database ed in ogni query che faremo su SQL 2005. Anzi...molte volte è meglio evitare di usarli in quanto le soluzioni set-based che il "vecchio" T-SQL ci mette a disposizioni sono ancora (e rimarranno) molto ma molto ma molto più efficienti. Allora perchè, come fa notare JoelOnSoftware e come riprende Bill Graziano nel suo blog, alcuni articoli su MSDN mostrano come fare cose che noi continuiamo a dire...

Training tecnico SQL Server 2005

Per tutti gli ISV è in programma un traning tecnico su SQL Server 2005 di ben 5 (cinque!) giorni davvero intensi ed interessanti. L'incontro inizierà il 2 Maggio e durerà per tutta la settimana. Si parlerà di tutto ciò che di nuovo porta la versione 2005: dall'amministrazione allo sviluppo, dalla business intelligence alla reportistica. Se qualcuno di voi ci sarà, finalmente potremo conoscerci di persona; io infatti mi occuperò di tenere le sessioni riguardanti: Integration Services Reporting Services XML Service Broker Web Services http://www.microsoft.com/italy/partner/eventi/seminari/sql.mspx

Quando utilizzare XML in un database?

La risposta è un pò lunga, quindi ho preferito metterla in un articolo dedicato. Il link per leggere il tutto (e soprattutto, dire la vostra) è qui: http://blogs.ugidotnet.org/nettools/articles/14330.aspx

Data Transformation Services

Finalmente è terminato ed è disponibile al pubblico il primo corso italiano su una tecnologia potente ma ahimè ai più sconosciuta, ovvero i DTS di SQL Server 2000. Il corso in questione è completamente prodotto da me ed erogato grazie al supporto di Mondadori Education. I contenuti sono estremamente pratici e sono condensati in due giorni pieni dove vengono analizzate tutte le potenzialità, limiti e trucchi per fare "l'impossibile" con i DTS di SQL Server 2000, senza però perdere di vista l'evoluzione degli stessi, ossia i Sql Server Integration Services di 2005, che, vi assicuro, distribuiscono ottimo impressioni a piene mani! Il...

Documentazione Database e Reporting Services

Se dovete generare della documentazione per un database (lista delle tabelle con relative colonne e proprietà  e via dicendo), un modo gratuito e furbo per farlo è quello di utilizzare le viste INFORMATION_SCHEMA unitamente ai Reporting Services. Per estrarre tutte le colonne di una tabella, ad esempio: SELECT     C.TABLE_NAME,     C.COLUMN_NAME,     C.COLUMN_DEFAULT,     C.IS_NULLABLE,     C.DATA_TYPE,     C.CHARACTER_MAXIMUM_LENGTH,     C.NUMERIC_PRECISION,     C.NUMERIC_PRECISION_RADIX,     C.NUMERIC_SCALE,     C.DOMAIN_NAME FROM     INFORMATION_SCHEMA.COLUMNS C INNER JOIN     INFORMATION_SCHEMA.TABLES T         ON C.TABLE_CATALOG = T.TABLE_CATALOG AND             C.TABLE_SCHEMA = T.TABLE_SCHEMA AND             C.TABLE_NAME = T.TABLE_NAME WHERE     T.TABLE_TYPE = 'BASE TABLE' AND     T.TABLE_NAME LIKE @tableName ORDER BY     C.TABLE_NAME, C.ORDINAL_POSITION Il parametro @tableName viene valorizzato utilizzando una ComboBox i cui...

Data Access Layer vs Stored Procedure?

Il post sulle "superfici di contatto" ha avuto diversi feedback (speravo di più ad esser sincero...si parla parecchio di metodologie di sviluppo qui si UGIdotNET e quindi pensavo che l'argomento interessase ai più...boh), ed ha riportato in auge il dilemma "meglio un data access layer o delle procedure sul database tipo stored procedure?". Beh, io qui dico la mia, sperando ancora un volta in un ampio feedback in modo da metter sul tavolo un pò di argomenti di discussione interessanti. La mia idea è che non ci può essere un vincitore a questa domanda. Nessuna delle due opzioni è meglio dell'altra in...

Superficie di contatto

In questi giorni da un cliente mi sono trovato a dover spiegare perchè è cosa buona e giusta creare uno strato di accesso ai dati e perchè è necessario utilizzare abbondantemente stored procedure e affini (se presenti nell'rdbms utilizzato). Sul momento ho spiegato per esteso le varie problematiche che tale soluzione permette di evitare, correggere e prevenire, ma, ora, ripensandoci bene, credo che la cosa potrebbe essere resa molto più chiara e comprensibile (e soprattutto convincente) utilizzando un semplice concetto. Tale concetto è ben rappresentato dall'idea di pensare a delle "superfici di contatto ". Database e applicazioni, applicazioni ed altre applicazioni,...

www.agiledata.org

Bene, sono contento che il post precedente abbia suscitato interesse! Vi ricordo che sul sito www.agiledata.org potete dare un'occhiata ai contenuti del libro prima di acquistarlo (direi che c'è praticamente *tutto* il libro...però per me la carta stampata è ancora insostituibile!) powered by IMHO 1.2

Agile Database Techniques: fatevi un favore, comprate questo libro!

Non è da me fare una pubblicità così marcata a qualcosa, ma questo libro è davvero da leggere. Oggi ho finito di leggerlo (ma ho già in programma la rilettura di alcune sue parti) e ogni singola pagina è una miniera di consigli ed esperienza. Io normalmente mi trovo molto spesso a dover essere l'anello di congiunzione tra database architects e software architects e quindi argomenti quali la convivenza di due paradigmi differenti (come OOD ed il modello relazionale) sono pane di tutti i giorni, cosi come la convivenza con sistema legacy, che, come ben si sa, sono come i protagonisti di...

Class Normalization

Ieri sono andato avanti nella lettura del libro Agile Database Techniques, che si dimostra ad ogni pagina sempre più bello. Ho scoperto che esiste il concetto di Class Normalization, che è ovviamente è parallelo al concetto di Data Normalization così ben conosciuto a tutti coloro che lavorano con un rdbms. Le regole che esprime sono regole che - secondo me - probabilmente già tutti applichiamo e conosciamo, in quanto mi sembrano "semplicemente" delle regole legate al buon senso, ed, alla fine, si ritorna al concetto fondamentale che le operazioni che agiscono sui dati vanno dove ci sono i dati. Dato che però magari questo concetto...

Become a Generalizing Specialist

Ieri ho speso molto tempo sui mezzi di trasporto (troppo....quando potremo direi anche noi "Beam me up, Scotty" ? ), ma per fortuna sono riuscito a investirlo nella sana lettura del libro "Agile Database Techniques". Uno dei punti che più mi ha favorevolmente colpito - e stupito direi - è che Scott W. Ambler, l'autore, sostiene che per essere Agili è necessario diventare dei Generalized Specialist. E' una cosa in cui ho sempre creduto, e mi sono praticamente sempre trovato in controcorrente , ed ora che lo leggo scritto sul libro di uno degli autori più autorevoli del movimento agile, beh,...

Stored Procedure o no?

Anche oggi sul ng di SQL Server è stata postata la fatidica domanda: "...ma devo scrivere cosi tante stored procedure"? Si. Non bisogna avere paura di avere molte stored procedure all'interno di un database, non è sintomo di cattiva programmazione nè tanto meno di poca portabilità.Le stored procedure permettono di far sì che lo schema del nostro database sia indipendente dalla logica di business e viceversa. La logica di business (molto più correttamente la logica di accesso ai dati) deve "semplicemente" scegliere qual'è la stored procedure (o query se ipotizziamo di lavorare su un db che non supporta le SP) che deve...

Agile Database Techniques

Finalmente il libro è arrivato! In questi giorni comincierò a leggerlo (tanto più che devo viaggare spesso, quindi potrò impegare il tempo sui mezzi di trasporto in modo ottimale) e vediamo che ne esce. Devo ammettere di essere abbastanza esaltato a riguardo!

Data Model Patterns

Approcio Agile e Pattern ovunque, anche per chi deve modellare i database: http://www.bookpool.com/.x/hr9s5wows8/sm/0471202835 e http://www.amazon.com/exec/obidos/tg/detail/-/0932633293/104-4238991-1062343?v=glance sicuramente faranno inorridire i puristi del modello relazionale (e ne conosco almeno un paio ) ma a me questi approci piacciono un sacco!

AgileData: Bringing data professionals and application developers together.

Stavo cercando un tool che mi permettesse di creare dei dati di esempio (verosilimi) con la quale popolare un db di test (mi sa che il tool me lo devo fare....) e sono capitato su questa interessantissima pagina: http://www.agiledata.org/ che, come potete capire del nome, propone un approcio agile allo sviluppo dei database....magari può essere d'aiuto anche per rispondere al problema sollevato da AndreaB nel suo post: http://blogs.ugidotnet.org/penpal/archive/2004/12/29/7934.aspx  

SecureQueryString 2.0

In questo periodo nella quale i problemi di sicurezza sono balzati agli occhi di tutti credo che un componente come questo SecureQueryString 2.0 (Credo che il nome sia autoesplicativo no? ) possa essere molto utile: http://www.dotnetjunkies.com/HowTo/3ABCD244-CC7C-4CED-B64E-BCF05191CDAB.dcik   powered by IMHO

Ingres for free

Sempre Giuseppe mi ha fatto notare anche che Ingres, l'RDBMS di CA è stato rilasciato sotto licenza Open Source! http://opensource.ca.com/projects/ingres Niente male davvero! powered by IMHO

SQLite

Oggi stavo cercando un database free che potesse funzionare anche su PocketPC e mi sono imbattuto in SQLite, che ancora non conoscevo e mi ha subito ben impressionato: promette di essere molto veloce e stabile, è leggero e sono disponibili dei native provider per il framework. Ora non ho molto tempo di provarlo (la WPC è fin troppo vicina e devo ancora finire di preparare le mie sessioni), ma lo farò sicuramente appena passa questo periodo di "piena". Nel frattempo chi fosse interessato può trovare qui http://www.sqlite.org/index.html http://weblogs.asp.net/ashben/archive/2003/12/21/44949.aspx tutte le informazioni del caso. Basata su SQLite è disponibile anche una "suite" che mi sembra molto bella,...

Borland Together Community Edition

Come Stefano ha già ha segnalato in un suo post, Borland ha rilasciato una versione free di Together, il proprio tool di design UML ed ER. Credo che sia un tool che tutti quelli che non hanno Visio (ma anche quelli che lo hanno...a me proprio non piace...) devono prendere in seria considerazione. Grazie a Together è possibile creare diagrammi UML 1.4 e 2.0 (per il disegno di classi, comportamenti, sistemi, e via dicendo), e anche diagrammi ER per il disegno delle basi dati. Indispensabile (almeno fino all'arrivo di Visual Studio 2005...poi si vedrà ) L'unica pecca è che è java-based......è lllleeeeeeennnnnnnttttttttoooooooooo :-(  

QueryCommander

Tool tipo Query Analyzer

DBDesigner 4

Il disegno di un database è un'operazione che dovrebbe (uso il condizionale perchè siamo tutti uomini di mondo e sappiamo benissimo, che....a volte....la teoria è *leggermente* diversa dalla realtà) essere sempre fatta, e, che, se i database non sono fatti di 4 tabella, la cosa potrebbe non essere proprio agevole. Di tool per soddisfare un'esigenza di questo tipo ce ne sono parecchi (a pagamento), ma anche sul versante free, si può trovare un tool di tutto rispetto: fabForce DBDesigner 4. Il link per leggere tutte le features e per scaricare il programma è questo: http://fabforce.net/dbdesigner4/ Giusto per completezza riporto l'inziale descrizione del pacchetto che...

Connection Strings

Avete bisogno di collegarvi ad un database e non vi ricordate o non sapete come scrivere la stringa di connessione con i parametri corretti? No problem: http://www.connectionstrings.com/ è il sito da visitare.

Copyright © Davide Mauri

Design by Bartosz Brzezinski

Design by Phil Haack Based On A Design By Bartosz Brzezinski