Fundamentals of Databases

Introduction

A database is primarily a group of computer files that each has a name and a location. There are different ways to create a database. To visually create a new database in Microsoft SQL Server Management Studio, in the Object Explorer, you can right-click the Databases node and click New Database... This would open the New Database dialog box.

Practical LearningPractical Learning: Introducing Databases

  1. Start Microsoft SQL Server Management Studio and connect
  2. Start Windows Explorer
  3. In the left frame, click the C: drive. If you already have a folder named Microsoft SQL Server Database Development, fine. If not, right-click a blank area in the right frame -> New -> Folder. Type Microsoft SQL Server Database Development as the name of the new folder
  4. Start Microsoft SQL Server. In the Server Name combo box, make sure the name of the computer is selected. In the Authentication combo box, make sure Windows Authentication is selected. Make sure the account you are using is selected in the User Name combo box
  5. Click Connect

The Name of a Database

Probably the most important requirement of creating a database is to give it a name. Transact-SQL is very flexible when it comes to names. In fact, it is very less restrictive than most other computer languages. Still, there are rules you must follow when naming a database:

Because of the flexibility of Transact-SQL, it can be difficult to maintain names in a database. Based on this, there are conventions we will use for our objects. In fact, we will adopt the rules used in C/C++, C#, Pascal, Java, and Visual Basic, etc. In our databases:

After creating an object whose name includes space, whenever you use that object, include its name between [ and ]. Examples are [Countries Statistics], [Global Survey], or [Date of Birth]. Even if you had created an object with a name that doesn't include space, when using that name, you can still include it in square brackets. Examples are [UnitedStations], [FullName], [DriversLicenseNumber], and [Country].

Practical LearningPractical Learning: Starting the Management Studio

  1. In the Object Explorer, right-click Databases and click New Database...

    New Database

  2. In the Name text box, type MotorVehicleAdministration

    New Database

The Primary Size of a Database

When originally creating a database, you may or may not know how many lists, files, or objects the project would have. Still, you may know that the database must use a certain portion of memory, at least in the beginning to hold some values. The amount of space that a database is using is referred to as its size. If you use the New Database dialog box, after specifying the name of the database and clicking OK, the interpreter automatically specifies that the database would primarily use 2MB. This is enough for a starting database. Of course, you can either change this default later on or you can increase it when necessary.

If you want to specify a size different from the default, if you are using the New Database to create your database, in the Database Files section and under the Initial Size column, change the size as you wish.

Practical LearningPractical Learning: Setting the Database File Size

The Location of a Database

As you should be aware already from your experience on using computers, every computer file must have a path. The path is where the file is located in one of the drives of the computer.

By default, when you create a new database, Microsoft SQL Server assumes that it would be located at Drive:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\ folder. If you use the New Database dialog box of the SQL Server Management Studio, if you specify the name of the database and click OK, the interpreter automatically creates a new file, and appends the .MDF extension to the file: this is the (main) primary data file of your database.

If you don't want to use the default path, you can change it. If you are using the New Database dialog box, to change the path, under the Path header, select the current string. Replace it with an appropriate path of your choice.

Practical LearningPractical Learning: Checking the Location of the Data File

  1. Scroll to the right side and, under the Path header, notice the location of the file
  2. Under Path, click the browse button Browse
  3. Locate the Microsoft SQL Server Database Development folder and select it
  4. Do the same for the other path
  5. Click OK

Default Databases

Introduction

When you install Microsoft SQL Server, it also installs 4 databases named master, model, msdb, and tempdb. These databases will be for internal use. This means that you should avoid directly using them, unless you know exactly what you are doing.

The Master Database

One of the databases installed with Microsoft SQL Server is named master. This database holds all the information about the server on which your Microsoft SQL Server is installed. For example, you know that, to perform any operation on the server, you must log in. The master database identifies any user who accesses the database, when, and how.

Besides identifying who accesses the system, the master database also keeps track of everything you do on the server, including creating and managing databases.

You should not play with the master database at the risk of corrupting the system. For example, if the master database is not functioning right, the system would not work.

Database Creation With Code

Introduction

The primary command to create a database uses the following formula:

CREATE DATABASE DatabaseName

To assist you with writing code, you could use the Query Editor and/or the Template Explorer.

The CREATE DATABASE (remember that SQL is not case-sensitive) expression is required. The DatabaseName is the name that the new database will have. Although SQL is not case-sensitive, you should make it a habit to be aware of the cases you use to name your objects.

Every statement in SQL can be terminated with a semi-colon. Although this is a requirement in some implementations of SQL, in Transact-SQL, you can omit the semi-colon. Otherwise, the above formula would be:

CREATE DATABASE DatabaseName;

Here is an example:

CREATE DATABASE NationalCensus;

This formula is used if you don't want to provide any option. We saw previously that a database has one or more files and we saw where they are located by defauft. We also saw that you could specify the location of files if you want. To specify where the primary file of the database will be located, use the following formula:

CREATE DATABASE DatabaseName
ON PRIMARY
( NAME = LogicalName, FILENAME = Path )

The only three factors whose values need to be changed from this formula are the database name that we saw already, the logical name, and the path name. The logical name can be any one-word name but should be different from the database name. The path is the directory or location of the file. This path ends with a name for the file with the extension .mdf. The path should be complete and included in single-quotes. Here is an example:

CREATE DATABASE NationalCensus
ON PRIMARY
( NAME = DataRepository, FILENAME = 'C:\Exercises\NationalCensus.mdf')
GO

Besides the primary file, you may want to create and store a log file. To specify where the log file of the database would be located, you can use the following formula:

CREATE DATABASE DatabaseName
ON PRIMARY
( NAME = LogicalName, FILENAME = Path.mdf )
LOG ON
( NAME = LogicalName, FILENAME = Path.ldf )

Like the primary file, the log file must be named (with a logical name). The path ends with a file name whose extension is .ldf. Here is an example:

CREATE DATABASE NationalCensus
ON PRIMARY
( NAME = DataRepository, FILENAME = 'C:\Exercises\NationalCensus.mdf')
LOG ON
( NAME = DataLog, FILENAME = 'C:\Exercises\NationalCensus.ldf')
GO

Practical LearningPractical Learning: Creating a Database Using SQL

  1. To open the code editor, in the Object Explorer, right-click the name of the server and click New Query
  2. In the empty window, type:
    CREATE DATABASE RealEstate1
    ON PRIMARY
    ( NAME = DataRepository, FILENAME = 'C:\Microsoft SQL Server Database Development\RealEstate1.mdf')
    LOG ON
    ( NAME = DataLog, FILENAME = 'C:\Microsoft SQL Server Database Development\RealEstate1.ldf')
    GO
  3. To execute the statement, press F5

Using Code Template

To specify more options with code, Microsoft SQL Server ships with various sample codes you can use for different assignments. For example, you can use sample code to create a database.

The sample codes that Microsoft SQL Server are accessible from the Template Explorer. To access the Template Explorer, on the main menu, you can click View -> Template Explorer.

Before creating a database, open a new Query Editor. Then:

After any of these actions, Microsoft SQL Server would generate sample code for you. You would then edit the code and execute it to create the database. From the previous lessons and sections, we have reviewed some characters such as the comments -- and some words or expressions such as GO, CREATE DATABASE, and SELECT. We will study the other words or expressions in future lessons and sections.

Database Routines

Selecting a Database

While writing code in a Query Editor, you should always know what database you are working on, otherwise you may perform an action on the wrong database.

Before visually making a database the current, a Query Editor must be opened. To visually select a database and make it the current, in the SQL Designer toolbar, click the arrow of the Available Databases combo box and select the desired database:

Available Databases

To programmatically specify the current database, in a Query Editor or using the SQLCMD utility (including PowerShell) at the Command Prompt, type the USE keyword followed by the name of the database. The formula to use is:

USE DatabaseName;

Here is an example:

USE Exercise;

Refreshing the List of Databases

Some of the windows that display databases, like the SQL Server Management Studio, don't update their list immediately if an operation occurred outside their confinement. For example, if you create a database in a Query Editor, its name would not be updated in the Object Explorer. To view such external changes, you can refresh the window that holds the list.

In SQL Server Management Studio, to update a list, you can right-click its category in the Object Explorer and click Refresh. For example, to refresh the list of databases, in the Object Explorer, you can right-click the Databases node and click Refresh.

Database Maintenance

Introduction

If you have created a database but don't need it anymore, you can delete it. It is important to know, regardless of how you create a database, whether using SQL Server Management Studio, code in the Query Editor, or the Command Prompt, every database can be accessed by any of these tools and you can delete any of the databases using any of these tools.

As done with creating a database, every tool provides its own means.

SQL Server Management Studio

To delete a database in SQL Server Management Studio, in the Object Explorer, expand the Databases node, right-click the undesired database, and click Delete. A dialog box would prompt you to confirm your intention. If you still want to delete the database, you can click OK. If you change your mind, you can click Cancel.

The Version of Microsoft SQL Server

There are many versions of Microsoft SQL Server used by various people and different companies, including government agencies. As a result, come time to time, you want to know the version of Microsoft SQL Server you are using, whether on your local computer or where you work. To check your version of Microsoft SQL Server, on the main menu of Microsoft SQL Server Management Studio, click Help -> About:

About Microsoft SQL Server

Deleting a Database Using SQL

To delete a database in a Query Editor, use the DROP DATABASE expression followed by the name of the database. The formula used is:

DROP DATABASE DatabaseName;

Before deleting a database in SQL, you must make sure the database is not being used or accessed by someone else or by another object.

Schemas

Introduction to Namespaces

A namespace is a group of "things" where each thing has a unique name. This can be illustrated as follows:

Namespace

Notice that there are various types of objects within a namespace. For example, inside a company, each department has a unique name. Because two companies are independent, they can have departments that have the same name inside each company.

To organize its own items, a namespace can have other namespaces inside. That is, a namespace can have its own sub-namespaces, just like a company can have divisions.

Introduction to Schemas

As mentioned already, a namespace can have objects inside. To further control and manage the objects inside of a namespace, you can put them in sub-groups called schemas. Therefore, a schema (pronounced skima) is a group of objects within a namespace. This also means that, within a namespace, you can have as many schemas as you want. This can be illustrated as follows:

Notice that, just like a namespace can contain objects (schemas), a schema can contain objects also (the objects we will create throughout our lessons).

To manage the schemas in a namespace, you need a way to identify each schema. Based on this, each schema must have a name. In our illustration, one schema is named Schema1. Another schema is named Schema2. Yet another schema is named Schema_n.

Creating a Schema

A schema is an object that contains other objects. Before using it, you must create it or you can use an existing schema. There are two types of schemas you can use, those built-in and those you create. When Microsoft SQL Server is installed, it also creates a few schemas. One of the schemas is named sys. Another is called dbo.

The sys schema contains a list of some of the objects that exist in your database system. One of these objects is called databases (actually, it's a view). When you create a database, its name is entered in the databases list using the same name you gave it.

To access the schemas of a database, in the Object Explorer, expand the Databases node, expand the database that will hold or own the schema, and expand the Security node.

To visually create a schema, in the Object Explorer, expand the database:

Object Explorer - New Schema

Any of these actions would open the Schema - New dialog box:

Object Explorer - New Schema

In the Schema Name text box, enter a one-word name. Here is an example:

Schema

After providing a name, you can click OK.

The basic formula to create a schema is:

CREATE SCHEMA schema_name_clause [ <schema_element> [ ...n ] ]

Here is an example:

1> CREATE SCHEMA PrivateListing;
2> GO
1>

Accessing an Object From a Schema

Inside of a schema, two objects cannot have the same name, but an object in one schema can have the same name as an object in another schema. Based on this, if you are accessing an object within its schema, you can simply use its name, since that name would be unique. On the other hand, because of the implied possibility of dealing with objects with similar names in your server, when accessing an object outside of its schema, you must qualify it. To do this, you would type the name of the schema that contains the object you want to use, followed by the period operator, followed by the name of the object you want to use. From our illustration, to access the Something1 object that belongs to Schema1, you would type:

Schema1.Something1

When Microsoft SQL Server is installed, it creates a schema named dbo. This is probably the most common schema you will use. In fact, if you don't create a schema in a database, the dbo schema is the default and you can apply it to any object in your database.

Practical LearningPractical Learning: Ending the Lesson

  1. In the Object Explorer, right-click MotorVehicleAdministrationand click Delete
  2. In the Delete Object dialog box, click OK
  3. In the Object Explorer, right-click the name of computer and click Start PowerShell
  4. Type sqlcmd and press Enter
  5. Type USE Master; and press Enter
  6. Type GO and press Enter
  7. To delete a database, type the following code and press Enter after each line:
    DROP DATABASE RealEstate1;
    GO
  8. Type Quit and press Enter
  9. Type Exit and press Enter
  10. Close Microsoft SQL Server
  11. When asked whether you want to save, click No

Previous Copyright © 2008-2025, FunctionX Last Update: Thursday 03 April 2025, 10:48 Next