What is Database

Friday, April 16, 2010

One of the technology terms that most people have become accustomed to hearing either at work or while surfing the internet is the database. The database used to be an extremely technical term, however with the rise of computer systems and information technology throughout our culture, the database has become a household term.

The definition of a database is a structured collection of records or data that is stored in a computer system. In order for a database to be truly functional, it must not only store large amounts of records well, but be accessed easily. In addition, new information and changes should also be fairly easy to input. In order to have a highly efficient database system, you need to incorporate a program that manages the queries and information stored on the system. This is usually referred to as DBMS or a Database Management System. Besides these features, all databases that are created should be built with high data integrity and the ability to recover data if hardware fails.

Types of Databases

There are several common types of databases; each type of database has its own data model (how the data is structured). They include; Flat Model, Hierarchical Model, Relational Model and Network Model.

The Flat Model Database

In a flat model database, there is a two dimensional (flat structure) array of data. For instance, there is one column of information and within this column it is assumed that each data item will be related to the other. For instance, a flat model database includes only zip codes. Within the database, there will only be one column and each new row within that one column will be a new zip code.

The Hierarchical Model Database

The hierarchical model database resembles a tree like structure, such as how Microsoft Windows organizes folders and files. In a hierarchical model database, each upward link is nested in order to keep data organized in a particular order on a same level list. For instance, a hierarchal database of sales, may list each days sales as a separate file. Within this nested file are all of the sales (same types of data) for the day.

The Network Model

In a network model, the defining feature is that a record is stored with a link to other records - in effect networked. These networks (or sometimes referred to as pointers) can be a variety of different types of information such as node numbers or even a disk address.

The Relational Model

The relational model is the most popular type of database and an extremely powerful tool, not only to store information, but to access it as well. Relational databases are organized as tables. The beauty of a table is that the information can be accessed or added without reorganizing the tables. A table can have many records and each record can have many fields.

Tables are sometimes called a relation. For instance, a company can have a database called customer orders, within this database will be several different tables or relations all relating to customer orders. Tables can include customer information (name, address, contact, info, customer number, etc) and other tables (relations) such as orders that the customer previously bought (this can include item number, item description, payment amount, payment method, etc). It should be noted that every record (group of fields) in a relational database has its own primary key. A primary key is a unique field that makes it easy to identify a record.

Relational databases use a program interface called SQL or Standard Query Language. SQL is currently used on practically all relational databases. Relational databases are extremely easy to customize to fit almost any kind of data storage. You can easily create relations for items that you sell, employees that work for your company, etc.

Accessing Information Using a Database

While storing data is a great feature of databases, for many database users the most important feature is quick and simple retrieval of information. In a relational database, it is extremely easy to pull up information regarding an employee, but relational databases also add the power of running queries. Queries are requests to pull specific types of information and either show them in their natural state or create a report using the data. For instance, if you had a database of employees and it included tables such as salary and job description, you can easily run a query of which jobs pay over a certain amount. No matter what kind of information you store on your database, queries can be created using SQL to help answer important questions.

Storing a Database

Databases can be very small (less than 1 MB) or extremely large and complicated (terabytes as in many government databases), however all databases are usually stored and located on hard disk or other types of storage devices and are accessed via computer. Large databases may require separate servers and locations, however many small databases can fit easily as files located on your computer's hard drive.

Securing a Database

Obviously, many databases store confidential and important information that should not be easily accessed by just anyone. Many databases require passwords and other security features in order to access the information. While some databases can be accessed via the internet through a network, other databases are closed systems and can only be accessed on site.

UnderStanding Systems Management Server (SMS)

Systems Management Server (SMS) Overview

SMS 2.0 is a Microsoft BackOffice systems management tool that can both operate in and manage an assortment of network environments. Systems Management Server (SMS) enables network environments and network resources to be centrally controlled. The core control point or center of Systems Management Server is the SMS Administrator console. This is a snap-in to the Microsoft Management Console (MMC). The industry standard for Web-Based Enterprise Management (WBEM) is the core of SMS data collection and presentation.

The main functions of SMS are listed here:

  • Resource discovery

  • Hardware and software inventory

  • Software distribution

  • Software metering

  • Network Analysis

  • Remote support through the Remote Tools feature

The SMS Administrator console is used to access and initiate these SMS 2.0 functions. A process known as resource discovery must be performed first to find computers, network hardware, and groups and users.

The main SMS components are listed here:

  • SMS site: A SMS site specifies the computers, other networking hardware, users and groups, and all resources which will be managed through SMS. The SMS environment is made up of one or multiple SMS sites. You define a SMS site based on IP subnet address.

An SMS site consists of the following SMS components

  • SMS site server

  • SMS site systems

  • SMS clients and resources

The structure that links multiple sites together is called a hierarchy. The hierarchy is created by linking sites together so that parent-child relationships can be formed:

  • Parent site: This is a SMS site that contains one or multiple additional site beneath it.

  • Child site: This is a SMS site that has a parent site residing over it in the hierarchy.

There are also two different types of sites that assist in organizing the administration of the SMS environment:

  • Primary site

  • Secondary site

SMS site server: This is the Windows server on which SMS 2.0 is installed and running. The SMS site server is the main access point between the SMS database and administrators. The SMS server manages the SMS site and component attributes. The SMS site server must be installed on a domain controller or on a member server. It cannot be installed on a stand-alone server.

SMS site system: This is a Windows server that carries out one of multiple SMS roles for the SMS site. When installing SMS, the default configuration is that all SMS roles are installed on an SMS site server.

The SMS roles are:

  • Logon points: This is a SMS site system that is the initial connection point between a SMS site and client computer. Functions performed by logon point includes:

    • Collection of discovery information on the client.

    • Determines the site assignment of the client.

    • Pass the client a list of client access points (CAPs).

  • Client access points (CAPs): This is a SMS site system that operates as the exchange point between SMS clients and the SMS site server. At the CAP; inventory, and status information and discovery information is gathered. Advertisement information can be retrieved from the CAP.

  • Distribution points: This is a SMS site system that installs the following components which deal with running a package at a SMS client computer:

    • Package files

    • Programs

    • Scripts

  • Software metering servers: This is a SMS site system which enables administrators to perform a number of management activities:

    • Grant/deny licenses for applications running on an SMS client.

    • Monitor and track application usage on SMS clients.

    • Restrict application usage on SMS clients.

  • SMS client: This is a computer running a Microsoft operating system listed below. A SMS client is installed through the SMS client component software, an is assigned to a SMS site.

    • Microsoft Windows Server 2003

    • Windows XP Professional

    • Microsoft Windows 2000

    • Microsoft Windows NT 4.0

    • Microsoft Windows NT 3.51, Service Pack 5 or above.

    • Microsoft Windows 98

    • Microsoft Windows 95

How To Flush DNS

Most DNS clients cache the results of name resolution requests. This means that the DNS clients will temporarily store the website names that you have been visiting lately. This process speeds up name resolution if multiple lookups are done to the same address, such as is common when browsing the web. Hence, if you visit Yahoo.com second time, the DNS client will already have the name mapped and hence will retrieve the mapping quickly.

Sometimes a bad DNS entry will be cached and you will need to either flush the DNS cache to get rid of it, or wait up to 24 hours for it to be dropped from the cache automatically. Given below is a comprehensive step-by-step process to flush the DNS.

How to Flush DNS in Microsoft Windows

In Microsoft Windows, you can use the command ipconfig /flushdns to flush the DNS resolver cache. Open the command prompt and type the following:

C:\>ipconfig /flushdns
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.

The above command will completely flush the DNS, deleting any incorrect entries too. You can also use the command ipconfig /displaydns to view the DNS resolver cache.

Turning Off DNS Caching under Microsoft Windows

If you experience frequent issues with DNS caching under Microsoft Windows, you can disable client-side DNS caching with either of these two commands:

net stop dnscache
sc servername stop dnscache

This will disable DNS caching until the next reboot. To make the change permanent, use the Service Controller tool or the Services tool to set the DNS Client service startup type to Disabled. You can permanently disable DNS Client by following the below steps:

  • Goto Start and click on Run.
  • Type Services.msc in the Run command box.
  • A window listing all the services will popup. Search for a service called DNS Client.
  • Double click on the listed DNS Client service and click Stop. Similarly, you can restart it by clicking Start.

Tuning DNS Caching under Microsoft Windows

You can modify the behavior of the Microsoft Windows DNS caching algorithm by setting two registry entries in the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters registry key.

The MaxCacheTtl represents the maximum time that the results of a DNS lookup will be cached. The default value is 86,400 seconds. If you set this value to 1, DNS entries will only be cashed for a single second.

MaxNegativeCacheTtl represents the maximim time that the results of a failed DNS lookup will be cached. The default value is 900 seconds. If you set this value to 0, failed DNS lookups will not be cached.

Flush DNS in Mac OSX

In Mac OSX Leopard, you can use the command dscacheutil -flushcache to flush the DNS resolver cache:

bash-2.05a$ dscacheutil -flushcache

In Mac OSX versions 10.5.1 and before, the command lookupd -flushcache performed the same task:

bash-2.05a$ lookupd -flushcache

Flush DNS in Linux

In Linux, the nscd daemon manages the DNS cache. To flush the DNS cache, restart the nscd daemon. To restart the nscd daemon, use the command `/etc/init.d/nscd restart`.