A database is a list of items. The nature of
the items is not particularly important because any list of any type of items
constitutes a database. The idea of considering it a database is for better
organization and management. This means that, traditionally, the database word
suggests that the list must be formally created in human memory, on a piece of paper,
or on a computer file, etc. Any type of thing can be made into a list. This means that
one list can be made of people. Another list can be made of CDs. Another list
can be made of countries, and so on. Because of this, before creating a list, you should
first plan it by deciding what kinds of items would compose the list.

An item that is part of a list is called datum, with the
plural being data, but data is also used for singular. The group of items, or
data, that makes up a list is referred to as a set of data.

Data Set Creation

To support the creation and management of a set of data,
the .NET Framework provides the DataSet class, which is defined in the System.Data
namespace. Therefore, to create a list, you can start by declaring a variable of
type DataSet. To initialize a DataSet variable, the class is equipped with three
constructors, the first of which is the default, meaning it doesn't take any
argument. The DataSet default constructor allows you to declare a variable
without providing further information, just to let the compiler know that you
are going to create or need a list of items. Here is an example:

If you are planning to use a DataSet object from more than
one method or event, you can declare it globally, that is, in the class of a
form. Here is an example:

using System;
using System.Data;
public class VideoCollection
{
public DataSet dsVideoCollection;
public VideoCollection()
{
dsVideoCollection = new DataSet();
}
}

When creating a set of data, you can name it. This would allow you to refer to the list later on by its
formal name. To create such a set, you can use the second constructor whose
syntax is:

public DataSet(string dataSetName);

This constructor takes as argument the formal name of the
set. The name can be anything but it must respect the rules of names of the C++
language. Here is an example:

using System;
using System.Data;
public class VideoCollection
{
public DataSet dsVideoCollection;
public VideoCollection()
{
dsVideoCollection = new DataSet("Videos");
}
}

The third constructor is not used in your applications.

The name of the DataSet variable, in this case
dsVideoCollection, is a Windows name that will allow the operating system to
identify the DataSet. That name is required as is the case for every
variable you declare. The DataSetName name is optional but is useful in
many methods as we will see. If you don't specify it, the compiler would
generate a default name for the DataSet object.