Looking for a really good Database Modeling/Design course

  • Hi everyone,

    I am looking for a course that will talk about only the modeling part of the database, starting from gathering the requirements, listing the entities-attributes and then move to the design. No need for the actual hands-on SQL to create the DB, just a focus on the theory behind.

    I am looking up on the net and what I find has allways some SQL into it, I am just interested in the theory behind. We need to build our company data model in order to integrate all of our stand-alone MS Access DBs applications, which were designed in an isolated concept. A lot of people thaught in the past, here, that just knowing MS Access is all your need to build database dependent applications...Imagine the mess today as there now over 20 applications sitting disconnected from each other, isolated from our ERP, as well. Some integration was done but we need a full remodeling.

    So, if someone has already attended or know of a good course on this, something more like 3-5 days thing, it would be greatly appreciate if you could pass on the information.

    Yvan

    Let me know if I posted this in the right place 🙂

  • I can't help you with the course, but I can say you have a huge job on your hands. Here are a couple of suggestions.

    1) start by analyzing all your databases and create a data dictionary for what you have now.

    2) its easy to see table names, data types, etc. But what you REALLY need to know is (a) what does a 3 mean in this column? (b) If I have a (3) in this column then columns x,y,z need values.

    3) For each column in your databases find the "allowable values" and other rules for populating this column.

    After you figure all this out then you can start designing the table layouts. Its easy to port the databases to MS SQL and you can do this immediately. Take a look at Views and how you might be able to use them to bring databases together. Start slow and convert things piece by piece, don't try to do it all in one huge conversion.

    Good luck


    Doug

  • Thanks for the advice Doug.

    Will keep that in mind, in the "Understanding what the hell is that phase" of this project! 😛

  • when you are combining that many databases and looking for duplication of effort, without a data dictionary you're screwed. It will probably take the programmers months to gather this info. In the mean time you can find a course to help you model the database.

    First, I'd ask, what are the major problems? And you'll probably find a subset of tables to attack first. That way, you can start showing some incremental progress. You probably need to have them define some long term goals and a timeline of what most important to converted first. Try to keep showing incremental progress toward the goal and you will have the support of management on your side.

    Good luck


    Doug

  • Yvan Bouchard (10/19/2007)


    Hi everyone,

    I am looking for a course that will talk about only the modeling part of the database, starting from gathering the requirements, listing the entities-attributes and then move to the design. No need for the actual hands-on SQL to create the DB, just a focus on the theory behind.

    I am looking up on the net and what I find has allways some SQL into it, I am just interested in the theory behind. We need to build our company data model in order to integrate all of our stand-alone MS Access DBs applications, which were designed in an isolated concept. A lot of people thaught in the past, here, that just knowing MS Access is all your need to build database dependent applications...Imagine the mess today as there now over 20 applications sitting disconnected from each other, isolated from our ERP, as well. Some integration was done but we need a full remodeling.

    So, if someone has already attended or know of a good course on this, something more like 3-5 days thing, it would be greatly appreciate if you could pass on the information.

    Yvan

    Let me know if I posted this in the right place 🙂

    No class needed... you're not gonna learn everything you need to know in 3 to 5 days... either hire a reputable consultant or hire a DBA. Hiring a good DBA is the best bet... if you think you know SQL just because you've got lots of ACCESS experience, you are in for a big surprise. It'll save you lot's of money in the long run.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • Jeff Moden (10/20/2007)


    Yvan Bouchard (10/19/2007)


    if you think you know SQL just because you've got lots of ACCESS experience, you are in for a big surprise. It'll save you lot's of money in the long run.

    I am already well aware of that. I have worked in a couple of these stand alone applications in the past and supported them for a while. I now have been the DBA here for the past three years, got a on-the-job kind of learning. Then got certified last year. I could probably try design all the data model, but I rather get all the theory to fill in the gaps, which I know I have. We also need to make sure all this project is documentated and that the data model can be referred in the future, so I would like to have a sound theory behind it.

    Another option. I can also find myself a good book and go through it as well.

    Jeff, I do know that I will not learn everything I need to know in 3-5 days...just need something to fill in the gaps.

    Anybody that can refer a good course?

  • Ah... thanks and sorry... didn't know your background and I took the really conservative route. I'm also sorry that I don't have any recommendations. I've been through a couple of SQL Server courses and thought they were a total waste of time and money... I probably just got unlucky with what was available.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • Hey, no problem Jeff! 🙂

    I sympathize with you...too many people think that if they play with MS Access at home, they can start rolling-out databases...nightmare!:sick:

    Some of these course are a waste of time, I just been to one last week that was suppose to cover that, but they were bundling two courses into one but the title of the course still said "Relational Database Design".

    85% of the course was spent on basic SQL Commands...target audience: people who never seen SQL commands before...oh boy...it was painful. Could not retire from the course to get a refund after the second day. I do not recommend TrainingHOTT.com. They advertise multiple cities and courses but they reel your in once they have the money. They pay the hotel...actually, you pay it since the overcharge you...:angry:

  • I'm not a modeling expert, but basically your tring to eliminate duplicate information. I would not over-think this problem. If your users are working "fine" with Access up to now, then you don't need a "perfect" data model on day 1.

    The table and data organization that you are going to provide will probably be a big help in the short term, as you learn more and more about the perfect data model. Identify the BIG problems and mission critical applications and try to look for duplication of data. Look at the way the data is accessed and the data model will make itself clear as the BIG problems are probably obvious.

    With Moore's Law and SQL server you're initial performance problems will get sorted out rather quickly when compared to the MS access versions. Then you can start looking at individual query performane and query analyzer to fix more of the hot spots.

    Using views you can change the underlying table structures, merge databases, etc. and the programmers won't have to change thier code. In my experience I would not look for the perfect data model at this point, be pragmatic, fix the big problems first.

    Sorry I can help you with the modeling course but I've liked the Murach books I've used.

    Good luck


    Doug

  • For a good reference on database design that's focused on the modeling aspects, I recommend "Data Modeling essentials" by Graham Witt and Greame Simsion (ISBN-13: 9780126445510)

    I attended a 3-day workshop given by Simsion which was worthwhile, but perhaps somewhat more abstract than what you're after. Not sure if he's on the circuit at present, though:

    http://www.wilshireconferences.com/seminars/simsion-bio.htm

    Wilshire conferences, who organizes his seminars, has a series on data modeling, but I cannot speak to the quality as I have not attended these others:

    http://www.wilshireconferences.com/seminars/index.htm

    For a text that's more oriented toward the whole development lifecycle, and the other supporting artifacts in the effort, I recommend "Requerements Analysis From Buisiness Views to Architecture" by David Hay (ISBN-13: 9780130282286)

    There is some overlap in each book, but they each emphasize different areas - the former more on the mechanics of the db design, and the latter more on the whole process. Each book is over 400 pages, but include lots of diagrams.

    HTH,

    TroyK

  • Nice job Troy, how about an executive summary of your top 5 tips for good modeling and design?

    Doug


    Doug

  • Doug Stoltz (10/23/2007)


    Nice job Troy, how about an executive summary of your top 5 tips for good modeling and design?

    Doug

    Sure...

    1) Educate yourself on data fundamentals. Everything else follows from the fundamentals. I would direct the curious to just about any book or paper by C.J. Date, although his recent release "Database In Depth" is a great jumping-off point for the first-time reader. Fabian Pascal also has a book and some papers (along with papers by Date) available for purchase at http://www.dbdebunk.com.

    2) Learn and understand the tradeoffs that you will face during design. A good summary article by Simsion: http://www.tdan.com/view-articles/5100

    3) Gain an understanding of modeling outside the context of data modeling, e.g., UML for OO modeling, state and flow diagrams, XML, etc. Although I have my own bias on what provides the most business value, there's always something to be learned from other similar disciplines.

    4) Accept that you will make mistakes, and those mistakes will make it into production. Have a plan and the techniques to deal with this.

    5) Practice, practice, practice. This includes reviewing the work of others as well as trying new things out yourself.

    HTH,

    TroyK

  • Troy,

    Great info, looks like what I was looking for. Too bad, I missed the first seminar, currently under way.

    The second one looks very interesting. Let's see what the budget says...:)

    Thanks again but the valuable information. I am ordering the modeling ref book as well.

    Yvan

  • find more about design, architecture etc., on this site

    http://www.isnotnull.com/

  • A couple of other books I would highly recommend are The Data Modeling Handbook, by Reingruber and Gregory and Data Model Patterns by Hay. The first is an excellent way to learn the ins and outs of data modeling and has a very good section on QAing your models. The second book has a number of model templates and explanations that can be used as good starting points. Even though you are working with custom built systems, most systems will have a basic functionality that can be captured by the templates that Hay provides. These can then be extended to meet your specifc needs. He includes templates for such common things like inventory management, accounting, document management, and others. I own these two books and find them to be great references.

    I have taken a number of analysis and design courses and technical courses and I would suggest looking into courses that focus on conceptual systems analysis. You should pay attention to who is offering the course as well. One of the courses I took was called Data Modelling, offered by a company called Platinum, but it was mostly a course on using ERWin and less about teaching modeling. Platinum had purchased the company that made ERWin, and was then bought out by CA.

    Which brings up a good point as well, you should ensure that you invest in a good modeling tool. Using something like Visio just won't work that well. Years ago I would have recommended ERWin, but after CA gained control of it, I am not impressed. For the last several years I have been using Sybase's PowerDesigner DataArchitect and would recommend it with few reservations.

    Ian Dundas
    Senior IT Analyst - Database
    Manitoba Public Insurance Corp.

Viewing 15 posts - 1 through 15 (of 19 total)

You must be logged in to reply to this topic. Login to reply