- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
"Why does a list of computers show servers?" Have you asked yourself a question like that? I've heard several variations of this from our customers, and when I've poked at it a bit, it generally turns out to be that the person asking the question has never run into the concept of tables that extend other tables (a table hierarchy, to use some technical jargon).
So here's an introduction to that notion...At right is a diagram I'll be referring to in this post. It shows part of the Configuration Item table hierarchy in our product, with the tables for the devices that Discovery can find and explore. Click on the thumbnail to make the diagram larger (and readable!).
The left-most table is Configuration Item (database table name cmdb_ci). This table has fields for stuff that's common to all configuration items: name, operational status, vendor, model, etc. Every configuration item in the CMDB includes this information.
In the column just to the right of Configuration Item are four tables that extend Configuration Item. Each of these tables may add some fields to those in Configuration Item. For example, the Computer table adds fields for RAM, CPU type, operating system, etc. It's also common for such extension tables to add no new fields at all — in such cases, the table is there simply to classify an item as a particular kind of Configuration Item. In fact, that's probably the best way to think of an extension table: it's a way to distinguish a kind of the table it extends (the table to the left in the diagram). Looking at the diagram, a computer is a kind of configuration item, a server is a kind of computer, and a Windows server is a kind of server.
In our product, when you look at a form for an item in a particular table, you can see not only the fields in the table the item is in, but also all the fields in the tables it extends. For example, if you're looking at a form for a Linux server, you can see fields in the Server table, the Computer table, and the Configuration Item table. The data is actually in four separate tables in the database, but some behind-the-scenes magic in our product makes it all look like a single table to you.
When you look at a list of items in some particular table (going back to the question that provoked this post), you see more than just the items that are actually in that table — you also see items that are kinds of that item. For example, if you look at a list of computers, you'll see computers — but you'll also see Solaris servers (because they are a kind of UNIX server, which is a kind of server, which is a kind of computer) and every other kind of server. Similarly, when you look at a table of network gear, you'll see switches and routers.
Why does a list of computers show servers? Because servers are a kind of computer, that's why!
- 563 Views
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.