Creating design for databases

  • Hi,

    I would like to know if there is any free tool available that will help me create the designs for SQL Server databases like the Data modeller tool for Oracle?

    Thanks,

  • I'm not sure a tool makes the database design process any easier. A tool can help you actually create the tables, but precious little else. Just drawing lines between tables to create relationships doesn't necessarily mean you have a good database design. You need to have a firm understanding of how to design a database, tool or no tool.

  • Hi,

    Thanks for your reply.

    I do have a good understanding but I am just wondering if there is any Design tool for SQL Server like the Oracle data modellor tool. I read that you can use SSDT, but i am not sure.

  • I have never seen a modelling tool, but then, I can't come up with a reason to want to, either. Too many people don't realize that it's not the tool that does the job, it's the person. And then they hire "data modellers", and wonder why they don't get good designs...

  • Search google for Database CASE tools. There are some available as google apps. http://erwin.com/products/ is popular

  • If you want a tool to draw the pretty pictures for your data model, MS Visio gets the job done well enough.

    There are also tolls that do way more, such as generating a database schema (CREATE TABLE statements) from the model. Which is awesome if you are preparing a first release, but after that gets useless - once there is data in the database you don't want to drop and recreate objects, you want a delta script that implements the changes without losing any of the existing data. I have never seen that understands the model well enough to be able to create a good "delta" script.

    The end effect is that companies using such a tool end up with a perfectly documented V1.0 release and no mechanism to keep that documentation up to date as the data model evolves.


    Hugo Kornelis, SQL Server/Data Platform MVP (2006-2016)
    Visit my SQL Server blog: https://sqlserverfast.com/blog/
    SQL Server Execution Plan Reference: https://sqlserverfast.com/epr/

  • Hi,

    Thanks for your response. Can you please tell me the name of the tool that lets you create schemas?

    Thanks,

  • There are lots of those tools available. I do not recommend any of them, for the reasons specified in my previous post.

    But if you want to use them, google to find a few, download evaluation editions to find the ones that best fit your needs, then get budget to buy a license.


    Hugo Kornelis, SQL Server/Data Platform MVP (2006-2016)
    Visit my SQL Server blog: https://sqlserverfast.com/blog/
    SQL Server Execution Plan Reference: https://sqlserverfast.com/epr/

  • Hugo Kornelis (3/2/2016)


    If you want a tool to draw the pretty pictures for your data model, MS Visio gets the job done well enough.

    There are also tolls that do way more, such as generating a database schema (CREATE TABLE statements) from the model. Which is awesome if you are preparing a first release, but after that gets useless - once there is data in the database you don't want to drop and recreate objects, you want a delta script that implements the changes without losing any of the existing data. I have never seen that understands the model well enough to be able to create a good "delta" script.

    The end effect is that companies using such a tool end up with a perfectly documented V1.0 release and no mechanism to keep that documentation up to date as the data model evolves.

    Yep, one of the many reasons that such tools simply aren't worth paying for. If for some reason I had hundreds of tables to create, I could probably come up with dynamic SQL that could do it more easily, and the last thing I'd even consider using such tools for is creating a delta script.

  • Hi,

    Thanks for your response.

    In that case, will just stick to visio which will help design the tables.

  • Not quite: Visio will only help you draw pictures. Designing tables is a separate task...

  • Hi,

    How can I design tables?

    Thanks,

  • fareedhmohamed (3/4/2016)


    How can I design tables?

    Not sure what you mean with that question,

    If you want to know how to learn how to come up with a good design, then google per courses on data modeling and/or on relational database design. I think the database design course on Pluralsight is fantastic, but I might be a bit biased (full disclosure: it's mine, and I get to earn some pennies if you watch it).

    If you want to know how to actually create tables in a database based on a design that is drawn in Visio, I would personally just start typing CREATE TABLE statements with the diagram on a second monitor or printed in front of me. There may be tools that do this but as I already said - they are useful for a v1.0 release only, and I spend about 99% of my time maintaining existing databases, and for those remaining 1% that I actually build new stuff I do not mind a bit of typing. Gives me more control.

    Also, and this might be even more important, any tool that takes a logical data model and automatically maps it to a table structure fails at one of the most important elements in implementing a database, which is optimizing the physical design for the specific RDBMS. A logical data model should always be independent of implementation details (such as for instance adding a surrogate key to some tables based on usage and RDBMS used), a physcial model should always have them.


    Hugo Kornelis, SQL Server/Data Platform MVP (2006-2016)
    Visit my SQL Server blog: https://sqlserverfast.com/blog/
    SQL Server Execution Plan Reference: https://sqlserverfast.com/epr/

  • I would design the tables in SQL Server and then maybe use Visio to document the relationships... and draw the pictures, but I'm not sure MS left that in the code for Visio. Used to work fine but that was a long time ago, not sure anymore.

Viewing 14 posts - 1 through 13 (of 13 total)

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