Home
Releases
Discussions
Issue Tracker
Source Code
Stats
People
License
RSS RSS Feed
Search Wiki:
Project Description
A community supported sample database for use in demos that talk to databases.

The Northwind Database needs a facelift. You know, this is the Products, Categories, Suppliers, yada yada yada sample database that you've been seeing in Microsoft demos since the beginning of time. (FYI, the beginning of time was about 1997. Maybe earlier. ;) )

Why do we use it? Because it's there. Because it's easy, it exists, and it takes two seconds to install. It's full of good sample data that has international characters. It has a few views and a few sprocs and it's easy to grok.

Now, some folks don't like Microsoft's (often) focus on "Database Driven Development," and I'm basically Switzerland at this point. Consider me neutral because I've done it both ways, both Domain Driven and Database Driven. With an ORM and without. I'm not 100% convinced either way and I like to have choice. Plus, when I'm showing some technology that is talking to a Database or to POCO (Plain Ol' CLR Objects) I still need good sample data to pull from. Thus, the Northwind Database lives on.

We aim to extend Northwind and create a more interesting sample database then whoever wants to can build good examples of things like NHibernate, LINQ to SQL or Whatever,

Requirements
  • Complex enough to be called Real World but simple enough that someone could "get it" in 5-10 minutes
  • In a familiar Domain Space that makes sense to folks all over the world
  • Has a decent amount of sample data with strings that are more than just a-zA-Z
Deliverable(s)
  • Have a single .SQL file that one can run and immediately get a working database
  • Sample Code for any of a number of Database access patterns, ORMs, whatever. This might require a few subtle versions.
We need:
  • A Project Manager (probably best if it's not me)
  • Modelers, Sample Code Writers
  • Sample Data Creators
  • Documentation Person
  • Release Manager
Who's with me?
Last edited Jul 2 at 8:37 PM  by shanselman, version 5
Comments
caseychester wrote  May 30 at 3:21 AM  
I think this is a great idea! I would definitely be interested in participating on this project. I would take it one step further and create schemas and sample data for several common problem domains (people and organizations, products, orders, shipments, work effort, invoicing, accounting, budgeting, HR, etc.) in such a way that developers could pick and choose which they wanted to work with and mix and match with little or no customization. Let's get this ball rolling - this is something that has been needed for a long time!

mikepope wrote  May 30 at 4:14 AM  
I'd be interested in at least contributing to the docs.

OverAchiever wrote  May 30 at 4:55 AM  
Feel free to add me as a developer. I'd be happy to help generate sample data.

darren wrote  May 30 at 5:16 AM  
I'd be glad to help if needed. Posted info on your blog post as well.

Shivam wrote  May 30 at 5:16 AM  
I am interested in the project too. I think Northwind has been one of the first things I used when I started in IT and that was 10 years ago, it is time for something new. My skype id is gshivam and my timezone is GMT+4.

adean wrote  May 30 at 7:20 AM  
Fantastic idea! Count me in for schema elaboration and data creation.

koonuf wrote  May 30 at 7:38 AM  
I'd like to add comment regarding the fact that MS databases have just very small amount of tables! I think any real ORM database has more than 100 tables and using such databases with MS technologies is just VERY different from using small databases with 15 tables! I understand that creating such big, but generic database is not easy, but can we try?

flipdoubt wrote  May 30 at 11:49 AM  
I'm interested in contributing to the documentation, sample code, etc. No skype id, I'm afraid.

KenPalmer wrote  May 30 at 12:31 PM  
Northwind is the Clippit of data modeling. Useful, persistent, and annoying! I'm with you Scott. My time is limited, but I would like to help with data modeling, coding, and brainstorming. I'm in the Central time zone, and don't have a Skype ID yet.

romnyduarte wrote  May 30 at 12:37 PM  
interesting project. I would like to participate

michaelrp wrote  May 30 at 2:25 PM  
I'd like to participate as well and have some time I could contribute. Timezone is GMT-4, no skype. That gets me thinking that a domain with a significant date/time component could be interesting.

ejneuman wrote  May 30 at 4:23 PM  
Just wanted to jump on this thread and offer a couple comments and thoughts, after one of our devs pointed it out to me. I work as a Development Program Manager for a technical consulting company in Seattle that has worked with Microsoft on a large number of technical marketing demonstrations over the past five years, including the demos for the recent Windows Server / SQL Server 2008 Joint Launch, and many of the SQL Server 2008 demos distributed to their partners. Like all of you, I've been working with the Northwind and AdventureWorks databases for years and years, and have seen a huge need for something new. I figured I'd offer my thoughts on the needs I've seen talking with various internal Microsoft team members and partners over the years, in order to maximize the usefulness of this project for everyone who might want to take advantage of it:

- Should be an easy-to-understand scenario that can demo well. E-commerce always works well for this, since it's easy to talk about products, sales data, customers, etc. and not lose your audience. You never want to spend more time trying to explain the data than the technology. There could be other data sets that would work equally well, but some thought should definately be put into this.

- Should be at least moderately complex (25+ tables), to show a real-world scenario.

- Using Microsoft-approved ficticious names wouldn't be a bad idea, if you're able to. Might make it easier for actual Microsoft folks to use the data in the future. You might even want to consider using one of their ficticious company names (Northwind, AdventureWorks, Fabrikam) but just create a completely new database / scenario. Call it OpenNorthwind or something. :)

- As far as the data itself, one of the huge, huge needs that keeps coming up is having better (or any) business intelligence trends in the data. It's not just about working with the database anymore, but the entire ecosystem of other products that rely on the database, such as SharePoint, Excel, PerformancePoint Monitoring, SQL Server Analysis Services, ProClarity, etc. To do this, the data needs to be designed to actually show trends in the data, and even have some pain points built in to show problem areas where the company could improve (e.g. declining profit margins for products, manufacturing capacity problems, etc.). This is something that would need to be really carefully thought out, but would be of huge usefulness to anyone using the data if documented properly.

- The above point would suggest a natural add-on to this project, which would be building some sample data warehouse cubes, scorecards, and Excel worksheets based on the database. This would help people get familiar with how all these products work together, and could be really advantageous.

- Another huge win for a project like this would be to integrate new SQL Server 2008 data types. I'm thinking especially of finding ways to use the new Date / Time data types (showing time zone offsets in a realistic manner would be awesome), geospatial data, and HierarchyID. Possibly even consider filestream to store some type of external data, but that might be too complex,

This project could be of huge usefulness to everyone working with Microsoft technologies, and I'm looking forward to seeing what can be accomplished. Kudos to shanselman for putting this out there - it's something that's been long overdue!

MattyinAK wrote  May 30 at 5:05 PM  
Count me in as well. I particularly like the focus on presenting something more "real world" than Northwind. It would also be nice to something not based around the retail model. I agree whole heartedly with ejneuman's comments -especially regarding the BI component. Too often the data that is put forward for BI examples is either not appropriate or is way too simplified. I am happy to help out on whatever (code examples, data modeling, even documentation <GRIN>). Don't currently have Skype - but am not opposed to getting it for working as part of the project. Currently located in Anchorage, AK - so I think my GMT is -9.

GregWhite wrote  May 31 at 12:23 PM  
would like to help in any way i can, GMT London.

sebagomez wrote  May 31 at 7:08 PM  
Sure, why not... AdventureWorks doesn't turn me on either :)
Count me in as a Sample Code Writer or Sample Data Creator
GMT-3
There's an MSN gadget in my blog (http://sgomez.blogspot.com)

lennox wrote  Jun 1 at 3:30 PM  
I am interested in getting started wiht open source, this seems as good as any to get started. I will help out as and when needed. Edinburgh, UK.

Mornz wrote  Jun 2 at 10:20 AM  
Great idea! Count me in too. I can chip in with c# sample code, data modeling, db scripts. No skype Id at the moment. London, UK. Current timezone offset is GMT+1

marzdog wrote  Jun 2 at 12:21 PM  
Very good idea. I'd like to help out. Coding, sample data generator, schema ideas...whatever. My sykpe Id is mike.rbertz , timezone offset is GMT-4. Eastern US.

kashyapa wrote  Jun 2 at 7:00 PM  
Scott, My name is Lohith. I am currently working in Torrance, CA for one our client. My role is of a Technical Lead. I have been on Web world for last 6 years or so. Have been working on the WPF from last 6 months or so. One of the blogs that i keep looking upto is yours. Most read blogs from me is yours and scottgu. It will be a great honor for me to be part of this project. I can be part of the dev team.
My coolplex id : kashyapa.

regards
Lohith

Hetal wrote  Jun 3 at 2:30 PM  
Hey Scott,

This sounds so much fun. I would love to contribute to this and hopefully it will have more wind from all directions than just northwind :-) I would love to focus on the role of a modeller/sample code creator but I am open to contributing on any aspect of this project, as needed. My skype id is hetal29 and my timezone offset is GMT-8:00 (Pacific time U.S. )

Thanks,
Hetal.

BarraCoder wrote  Jun 3 at 4:06 PM  
I'd be happy to chip in where needed and can contribute in the areas you mentioned. I work on a trading floor in London so Skype is blocked. GMT+1, currently. C#, VB.Net, SQL, NHibernate, general patterns and best practices would be some of the areas I feel I could add the most value.

jbondy wrote  Jun 3 at 11:31 PM  
Id like to help if required,

gripusa wrote  Jun 4 at 8:58 AM  
Scott I am looking forward for the discussion of deciding the domain for the database now. As i think we need to move for some solid progress now. I am also thinking to design a requirement draft which would help us to designate the boundary and scale of the database as well as the entities and attributes in it.

nwaterstreet wrote  Jun 4 at 2:25 PM  
I'd like to help with data modeling, documentation, sample code, scripts or anything else. We've needed this for a while.

amiridis wrote  Jun 6 at 7:26 AM  
I would be interested in helping with modeling and any other area I could be of help. I have a quite long experience with Developer Express XPO (OPF), and I could help write examples for that.

yaneshtyagi wrote  Jun 9 at 4:43 AM  
Hi Scott,

Any update, when we r going to start working on it?

shanselman wrote  Jun 11 at 8:27 AM  
There are SO many people interested in this, I'm trying to figure out how to move forward without alienating people who want to help. I was thinking to try a Skype Conference at 9am "Seattle Time" on Thursday.
Check the time zone link for times:
http://www.timeanddate.com/worldclock/meetingtime.html?month=6&day=12&year=2008&p1=234&p2=2&p3=136&p4=269

Thoughts?

theweegie wrote  Jun 11 at 2:08 PM  
Assuming that I leave work on time tomorrow, and don't make the customary stop at the pub on the way home, I should be able to make skype for 18h over here in Paris

amiridis wrote  Jun 11 at 3:21 PM  
How can we join the Skype conference?

scantwell2002 wrote  Jun 11 at 4:37 PM  
Can't make the conference on Thursday. Is it possible to do it on a weekend?

gripusa wrote  Jun 12 at 10:24 AM  
Awww, i will be in office (assuming the second last day of my job here) , it would be hard to catch up. But i hope we ll be getting details soon. By the way , why not we can do such conferences over the weekend?

shanselman wrote  Jun 23 at 9:32 PM  
OK, so the Skype thing didn't work out, probably because of the timezones. I'd like to formalize a small time of <10 people who can connect on chat/im/video/skype so we can bang this thing out and start using it. I'm free again this Thursday, perhaps NOON PST (-8GMT)?

shanselman wrote  Jun 26 at 7:09 PM  
I'm in this SkypeCast room for the next hour, as it's currently NOON on Thursday (-8GMT): https://skypecasts.skype.com/skypecasts/skypecast/detailed.html?id_talk=4841279&hash=4aea155df6f7313eb699

jayshepherd wrote  Jun 26 at 7:59 PM  
I'm interested in participating and request to be a part of the team.

shanselman wrote  Jul 2 at 7:18 PM  
Just a ping/FYI folks...I'm still here, but I'm working with Legal to find out what permission we need to mess with this database.

jayshepherd wrote  Jul 2 at 7:53 PM  
We still on for tomorrow to get together? Or do we wait to hear back?

shanselman wrote  Jul 3 at 6:48 PM  
I've got the Skypecast up here: http://tinyurl.com/5mvesu from now until about 12:30PST, so you've got 15 min warning. ;) Hopefully it'll email this out.

shanselman wrote  Sep 29 at 6:15 PM  
FYI, we got the original Northwind released under the MS-PL license, so now we can start messing around! First step will be to add Product ratings and Reviews to Northwind...

skimedic wrote  Sep 29 at 6:23 PM  
Scott,

I would be willnig to help out also, working out the NHibernate (2.0) samples (mappings, repositories, and code coverage via unit tests). Can we use MBUnit?

kalpanaravi wrote  Sep 29 at 7:09 PM  
I would like to help on this project. Please Add me in

Updating...