How to study the layout of a database?

  • primitivefuture2006

    Old Hand

    Points: 315

    Hello friends,

    Suppose you download a sample database, whether it be AdventureWorks, Northwind, or whatever other database. What steps do you take to thoroughly understand the layout of the database?

    Do you use Excel or some software to note all the table names, columns, and keys? Do you use some tool to draw a Entity Relationship Diagram?

    I ask this because if I were to do joins or subqueries, I need to know all the relevant tables, columns, and keys to write the query. What would you do to learn the database layout fully to perform such queries?

    Thanks for all the advice!

  • ZZartin

    SSC-Dedicated

    Points: 30242

    The first step, you pray that whoever built it used somewhat intuitive names for tables columns and constraints.

  • Phil Parkin

    SSC Guru

    Points: 243277

    ZZartin - Tuesday, September 18, 2018 9:05 AM

    The first step, you pray that whoever built it used somewhat intuitive names for tables columns and constraints.

    Assuming there are some constraints. And that the tables are not all heaps.

    If the answer to your question can be found with a brief Google search, please perform the search yourself, rather than expecting one of the SSC members to do it for you.

  • primitivefuture2006

    Old Hand

    Points: 315

    Please. I am a noob but I really want to learn. Sorry if my question is funny, but I really would appreciate real advice. I am dreaming of landing a new career

  • Phil Parkin

    SSC Guru

    Points: 243277

    primitivefuture2006 - Tuesday, September 18, 2018 6:14 PM

    Please. I am a noob but I really want to learn. Sorry if my question is funny, but I really would appreciate real advice. I am dreaming of landing a new career

    Your question is not 'funny', don't worry! But it is difficult to answer, because the answer will vary from one database to the next.

    A database can have a huge number of moving parts, and not all of them need to be contained within the database itself (SSIS packages, external Windows and Web apps, external scripts and other things can all affect the state of a database). Trying to get to grips with the entire scope of a database and its connected applications is likely to be a big task. I've seen applications where all of the data manipulation code was held outside of the database, in a desktop app, perhaps. Trying to understand 'the layout of the database' in such situations is difficult, because the code is largely hidden (unless you are also an Windows application developer, in which case you may be able to dig into the source code and work things out).

    Having said that, if a database is serving a single application and has been built based on the principle of having as much code as possible within the database, the task gets easier. If the database objects also follow strict naming conventions and have been built by a diligent development team, you should be able to get somewhere.

    One thing you can do is to create one or more database diagrams (use the 'Database Diagrams' node in SSMS). These will provide a graphical display of relationships between tables (assuming that those relationships have been created in T-SQL).

    Beyond that, start looking at the design of some of the tables, views and stored procs to attempt to get a feel for what is going on and how things have been put together.

    Don't be daunted if you feel like you are not getting anywhere fast. This is a task which even very experienced developers find difficult.

    If the answer to your question can be found with a brief Google search, please perform the search yourself, rather than expecting one of the SSC members to do it for you.

  • jonathan.crawford

    SSCertifiable

    Points: 6254

    Start by understanding what business solution the database is providing. Are you looking at a way to track widgets being built? Healthcare? Financial transactions? Customer Service?

    That will help you have some sense of how the data flows through the system. If you can have someone show you a front end, sit down with them for that. While they're showing you, write up statements you can reference later looking for referential integrity (customers have orders, create contact records, each contact is tracked but can be passed to multiple departments, etc.)

    Then hope names make sense. Many times there are reference tables with the front end descriptions for things that are only referenced by key values in the tables. If you find one that you want to track, find every one of the columns named like that key, and/or find foreign key constraints.

    Look at index usage, query store, any other tools within the database that are built to show you where the data is being used.
    Views, stored procedures, reporting from the database are all good places to look to find out how it works.

    -------------------------------------------------------------------------------------------------------------------------------------
    Please follow Best Practices For Posting On Forums to receive quicker and higher quality responses

  • pietlinden

    SSC Guru

    Points: 62345

    ZZartin - Tuesday, September 18, 2018 9:05 AM

    The first step, you pray that whoever built it used somewhat intuitive names for tables columns and constraints.

    And didn't try to punk you by using godawful Hungarian notation and all lowercase like that person thinks he's e.e. cummings or something.

  • VoldemarG

    Hall of Fame

    Points: 3482

    I would say this question is kind of difficult not just because it varies from database to database and environment and environment but also from person to person and the particular goals that you set.
    For example, depending whether you want to see a big picture of how data is organized within normalized or de-normalized tables or study what a particular t-sql stored proc or function does, or how a complex-looking view pulls data from many tables and other views, - you may want to see and ER diagram (ER = Entity Relationships). Of course if database is huge and has 500 or 2000 tables in it your ER diagram will be the size of a building and useless for your review :).  I usually do ER-Diagramming of a particular subject area that I am interested in that involves a dozen or less of core tables and views containing the data that I need to learn and understand. You can do such diagramming using a variety of tools, including the one built-into SQL Server (not really good and flexible...) or something more sophisticated like ERwin or MS Visio.

    Database Documentation can be of paramount importance and use but it is usually a rare luxury in most IT shops.
           Using an example of AdventureWorks database that you mentioned,  here is what good documentation for it looks like (PDF file):  
          http://allstarsql.com/adventureworks2012.pdf

           It never hurts to ask your DBA for such documentation :). At least you can ask. One shop out of 100 will have such documentation, you may just get lucky... 😎

    I also do this for analyzing stored procedures or complex views: finding dependencies. I.e., objects that the stored proc depends on (uses in its code) and/or objects that use the object that I am analyzing. Since the built-in Sp_depends is not really dependable for such purposes, a third party tool may be recommended such as Redgate Dependency Tracker.  

    Some SQL Server undocumented stored procedures showing up and down level dependencies can be useful too:
         -- Value 1053183 shows objects that the specified object is dependent on
        EXEC sp_MSdependencies 'vw_MyComplexHeadacheView', null, 1053183

         -- Value 131527 shows objects that are dependent on the specified object
        EXEC sp_MSdependencies 'vw_MyComplexHeadacheView', null, 1315327


    Voldemar
    likes to play chess

  • jonas.gunnarsson 52434

    Ten Centuries

    Points: 1119

    No, it's a good question.

    You could look after:

    • If there are som diagrams under the 'Database Diagrams' node in SSMS
    • If tables and columns have Extended Properties.
    There are several  programs that extract the documentation in the database(if there are some).
    To get a simple list over the documentation of tables and columns:

    select object_schema_name(ep.major_id) [Schema],
            object_name(ep.major_id) TableName,
            c.column_id ColumnId,
            c.name ColumnName,
            ep.value [Description]
        from sys.extended_properties as ep
        inner join sys.sysobjects as so on so.id = ep.major_id
        left outer join sys.columns as c on c.object_id = ep.major_id and c.column_id = ep.minor_id
        where so."type" = 'U' and so.name <> 'sysdiagrams' and ep.class_desc = 'object_or_column' and ep.name = 'MS_Description'
        order by object_schema_name(ep.major_id), object_name(ep.major_id);
  • paulsbuxton

    SSC Rookie

    Points: 38

    Database Diagrams, but I find this quite clunky with a bigger DB. 

    Numerous bits of software out there to do the job for you.   I've found myself using the latest build of SchemaSpy actually because its quite easy to read what is generated..   but   If you want to give people access to the schema within an org, I've had great success with it - for multiple backends... You will need Java, and you will need the MS JDBC drivers....

    http://schemaspy.org/

  • Jeff Moden

    SSC Guru

    Points: 993645

    primitivefuture2006 - Tuesday, September 18, 2018 6:14 PM

    Please. I am a noob but I really want to learn. Sorry if my question is funny, but I really would appreciate real advice. I am dreaming of landing a new career

    IF there are views and stored procedures that come with the database, read those and map out how the tables are joined.

    Also, if someone did a decent job on the database, check the Foreign Keys (pure gold if they exist) for relationships among the tables.  Although a bit limited and does take a bit of getting used to, you expand a given database (in the Explorer window) and use "Database Diagrams" to help get pictures of tables and their relationships when FKs are present.  If you're really lucky, you might find some that have already been drawn out by the people that created the database.  It's not the best tool in the world but it's a start.
    data:image/png;base64,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

    --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.
    "If you think its expensive to hire a professional to do the job, wait until you hire an amateur."--Red Adair
    "Change is inevitable... change for the better is not."
    When you put the right degree of spin on it, the number 3|8 is also a glyph that describes the nature of a DBAs job. 😉

    Helpful Links:
    How to post code problems

  • primitivefuture2006

    Old Hand

    Points: 315

    Jeff Moden - Tuesday, November 13, 2018 7:24 PM

    primitivefuture2006 - Tuesday, September 18, 2018 6:14 PM

    Please. I am a noob but I really want to learn. Sorry if my question is funny, but I really would appreciate real advice. I am dreaming of landing a new career

    IF there are views and stored procedures that come with the database, read those and map out how the tables are joined.

    Also, if someone did a decent job on the database, check the Foreign Keys (pure gold if they exist) for relationships among the tables.  Although a bit limited and does take a bit of getting used to, you expand a given database (in the Explorer window) and use "Database Diagrams" to help get pictures of tables and their relationships when FKs are present.  If you're really lucky, you might find some that have already been drawn out by the people that created the database.  It's not the best tool in the world but it's a start.
    data:image/png;base64,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

    Thanks for the advice! I will explore Data Diagrams today. Are you working with massive databases professionally? I mean, are the databases you work with involve many tables (50+), some tables with hundreds of thousand to millions of rows? Thanks again

  • Jeff Moden

    SSC Guru

    Points: 993645

    primitivefuture2006 - Thursday, November 15, 2018 8:26 AM

    Jeff Moden - Tuesday, November 13, 2018 7:24 PM

    primitivefuture2006 - Tuesday, September 18, 2018 6:14 PM

    Please. I am a noob but I really want to learn. Sorry if my question is funny, but I really would appreciate real advice. I am dreaming of landing a new career

    IF there are views and stored procedures that come with the database, read those and map out how the tables are joined.

    Also, if someone did a decent job on the database, check the Foreign Keys (pure gold if they exist) for relationships among the tables.  Although a bit limited and does take a bit of getting used to, you expand a given database (in the Explorer window) and use "Database Diagrams" to help get pictures of tables and their relationships when FKs are present.  If you're really lucky, you might find some that have already been drawn out by the people that created the database.  It's not the best tool in the world but it's a start.
    data:image/png;base64,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

    Thanks for the advice! I will explore Data Diagrams today. Are you working with massive databases professionally? I mean, are the databases you work with involve many tables (50+), some tables with hundreds of thousand to millions of rows? Thanks again

    I don't work with databases as large as some folks do but I do work with what some might call "huge" databases (they're not but that's what some call them) of 2+TB.  I have Non Clustered Indexes that are larger than some folks entire database and tables that are larger than some folks entire enterprise server. 😀  There are a whole lot of folks that fit that same category and some that work with databases in the Petabyte range.  This is a good place for someone to learn a whole lot because of the solutions and advice to problems that people post.

    Looking at your other post about "fundamentals" (and I'll get back to that one, hopefully after work), I have to say that you have precisely the correct attitude and level of humility to do very well in the world of SQL Server and T-SQL.  The fact that you've already correctly identified that you "Don't know what you don't know" (even the really good heavy hitters in SQL Server embrace that understanding) and that you practice every day after work (which many of us still do even after working with it all for decades) will help you excel in your studies and in your career.

    There's a caution I forgot to add about the use of data diagrams in SQL Server.  If you make a change there (other than moving tables around on the diagrams to make understanding a bit easier) and save them, you WILL change the underlying objects in the database.  Be careful.

    Like I said, I'll try to get back to your other post on "fundamentals" tonight and add a bit more over the next several days. 

    As for where you're at right now, it's how many of us started.  Most of us don't have the time to become a full time private mentor but this site has some incredible talent to learn from.  It's not just a group of individuals... it's a true community.

    --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.
    "If you think its expensive to hire a professional to do the job, wait until you hire an amateur."--Red Adair
    "Change is inevitable... change for the better is not."
    When you put the right degree of spin on it, the number 3|8 is also a glyph that describes the nature of a DBAs job. 😉

    Helpful Links:
    How to post code problems

  • ThomasRushton

    SSC-Insane

    Points: 22591

    Assuming that the relationships have been properly baked into the SQL database schema, then there are tools out there to help you visualise the connections / relationships.  For example, Redgate's Dependency Tracker - https://www.red-gate.com/products/sql-development/sql-dependency-tracker/ - has a 14 day free trial.

    Thomas Rushton
    blog: https://thelonedba.wordpress.com

  • jcelko212 32090

    SSCrazy Eights

    Points: 8758

    I think it’s an excellent question 🙂, and I wish more people would ask it. The first obvious question is “what the heck is this thing supposed to do?” If you know that, then you can make some guesses things that should be there. For example, if this schema deals with vehicles, then you’d expect to see a VIN. If it deals with addresses, then you’d expect to see CASS standards applied to the addresses. If you deal with money and currencies, you know that anybody who storing currency data is floating-point is committing a crime under EU and GAAP regulations.

    I also have a suggestion that while you’re inspecting the schema, you do what should have been done at the start and build at least a data dictionary. The thing that will drive you nuts is when the same data element has multiple names. Sometimes this guy is a “customer_id”, sometimes “cust_id”, sometimes “ry1234” or worse. I truly wish people would learn the basic ISO 11179 naming rules; it won’t prevent bad names, but it will at least minimize them. You

    The other thing that will drive you nuts is that the same data element under the various pseudonyms and aliases will be cast in different datatypes. Sometimes he’s CHAR(10), or maybe VARCHAR (50) or maybe he’s numeric. This gets be real cute problem when you try to use views and at various levels of nesting, the data element name changed.
    After that, I’d like to see at least a high-level ER diagram. There are various tools for this.

    Please post DDL and follow ANSI/ISO standards when asking for help. 

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

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