Month: June 2017



Welcome to my blog about how hierarchies and graphs can be modelled, queried, operationalized and tuned with SQL Server. This blog is accompanied by a github repository and talks and workshops I deliver(ed) at several conferences and occassions.

The basic idea for this blog goes way back to 2010, when I was creating an abstract for a talk about modelling hierarchies with different tools of Microsoft’s BI stack. I took a more naive approach back in those times (eg. with an abstract consisting of only two sentences!) and submitted a talk with the name “Luke I’m your father – Hierarchies in SQL Server” to SQLbits 2011. To my surprise (it was my first time that I submitted to a conference outside of Austria or Germany) the talk was chosen – and left me with the task to actually come up with a nice sample database for eg. a family tree of Luke’s family. I first than discovered, that George Lucas’ “Star Wars” universe does not document much of the families and I had to stick (again) to AdventureWorks demo database for my live-demos. (I than pimped up my slides with references to Star Wars instead. :-))

When some years later the bug of George R. R. Martin’s “A Song of Ice and Fire” has bitten when I saw the first episode of HBO’s tv-show “Game of Thrones” I immediately reminded myself of my talk about hierarchies in SQL Server. And it took me less than the time to read all available books (since the progress with the tv-show was way too slow in my opinion) before I refurbished the talk I had done for SQLbits with my very own sample database for “A Game of Hiearchies”.

And here we are!

I hope you will enjoy reading about (un)traditional modeling approaches in relational databases, hierarchieid, recursive common table expressions (CTE) and loops and, of course, SQL Server 2017’s new feature “Graph Database”.

Sincerly yours,
Markus Ehrenmüller-Jensen