Sunteți pe pagina 1din 7

Chapter 1

Introduction

Welcome to Introduction to Structured Query Language. My name is Cecelia L. Allison, and I'll be your
instructor throughout the course. My personal experience while learning Structured Query Language
(SQL) led me to teach this course. While completing my master of science in computer information
systems (MSIS), I found that many books and sources of information on SQL focused more on the
software used to implement SQL rather than on the language itself.

In this course, I plan to focus extensively on SQL and to provide students with a solid working knowledge
of the database/programming language. By the end of this course, you'll understand the basic concepts of
relational databases; learn SQL syntax; use SQL to retrieve information from relational databases; use
techniques such as joins and subqueries; delete, insert, and update data in tables and views; create
tables; and implement some advanced techniques of SQL.

In this lesson, I'll provide a foundation for learning the fundamentals of SQL, by exploring the structure of
the relational database. I will cover the traditional database structure, the structure and history of the
relational database, and what SQL is and how it relates to the relational database.

Note: Before you begin this lesson, read the lesson one welcome posting. To view the welcome posting,
click on the discussion link located at the top and bottom of this page. Next, click on the number 1.

Chapter 2

The Database

SQL is used to manipulate and retrieve data from relational-database structures. Prior to learning SQL, it
is important for you to gain at least a basic understanding of database concepts. Familiarizing yourself
with the database structure and concepts will give you a better understanding of SQL and will allow you to
grasp the concepts of the language sooner.

At some point in your life, you have come in contact with databases. You use them every day. Whether
you use the Internet, an ATM machine, or simply a computer-based card-catalog system at a library,
you've at least had minimal exposure to a database.

It's important that you learn and understand the following terms:

client: A single-user computer that interfaces with the multiple-user server.

client/server database system: A system that divides processing between client computers and a
database server.

database: A collection of electronically stored organized files.

server: A multiple-user computer that provides shared database connection, interfacing, and processing
services.
Today the traditional database is referred to as a client/server database system because the processing
is divided between client computers and a database server. This division in processing makes it possible
for many users to share the information that is stored in the database. The database-system software and
interfaces are spread across a network of clients and servers that communicate and cooperate to carry
out system objectives.

A database management system (DBMS) is specialized computer software that is used to create, modify,
and update the database; retrieve data; and generate reports. The core of any database system lies in
the DBMS. Some examples include Microsoft Access, DB2, Sybase, and Microsoft SQL Server.

Database Design

Data Retrieval: One of SQL's main functions is to retrieve data from the database. Because data retrieval
is so vital, it is important to note that creation and population of the database contribute greatly to the
success of employing SQL. Consequently, the database must be designed with the user in mind.

Database Organization: To ensure that your database is effective, you must organize it properly. When
you need to retrieve information from the database, you want it to be easily available. If you don't
organize it efficiently, you won't be able to retrieve your data quickly. Remember that you want your
database to be useful; otherwise, it serves no purpose.

A database must also contain accurate and reliable information. Therefore, the data must have integrity.
To ensure that your data is accurate and reliable, it is necessary for the information to be updated
frequently.

Chapter 3

Relational Databases

The most widely used type of database is the relational database. Its structure consists of two or more
two-dimensional tables that are related to one another. The data within the tables is stored as a value in a
tabular form, and all values in the relational database are accessible through a combination of table
names, primary key values, and column names.

It's important that you learn and understand the following terms:

field: Column that runs vertically within a table.

foreign key: Link records of one type with those of another type.

keys: Uniquely identify a row or record in a table.

normalization: A three-step technique used to organize data attributes in a more efficient, reliable,
flexible, and maintainable structure.
primary key: A field whose value uniquely identifies every row in a table.

row: A record that represents a collection of information relating to an item in a table.

table: Structured file containing rows and columns.

The Structure of a Table

A table is a structured file that contains rows and columns. A column is a field that represents a category
of information within a table such as an address. A row is a record that represents a collection of
information relating to an item in a table such as a customer's name, address, phone number, and social
security number (see Fig. 1.1).

Table

Fig 1.1.

Individual records within the table are represented by the rows. The total number of rows in the table is
equal to the total number of records in the table. Every time you add a new row, you are adding a new
record to your database.

Relational databases contain many tables. For example, an airline-reservation system could have a table
for customers, airlines, departure times, arrival times, and so on. In order for the database to be relational,
these tables must be linked together.

Keys

To relate two tables to one another (e.g., a table containing customer information, and a table containing
order information), you have to use keys. Keys are used to uniquely identify a row or record in a table.
They're similar to DNA. DNA uniquely identifies who we are, and no two people can have the same DNA.
Without a unique identifier, the database cannot identify individual rows.

A primary key is a field whose value uniquely identifies every row in a table. For example, a column
representing social security numbers would be unique because no two people could have the same social
security number. The primary key is used to refer to a specific row. The absence of a primary key makes
it difficult to update or delete specific rows.

Another type of key is the foreign key. Foreign keys are pointers to the records of a different file in a
database. They link records of one type with those of another type. The link requires that the foreign key
in one table be linked to a corresponding primary key in another table. For example, to link a customer
table to an order table, the customer table containing social security numbers as the primary key must
also be a column within the order table. Yet when you place the social security column within the order
table, it is considered a foreign key instead of a primary key.

Normalization
Normalization is a technique used to organize data attributes in a more efficient, reliable, flexible, and
maintainable structure. It is a three-step technique that places tables in first normal form, second normal
form, and third normal form. Well-normalized tables ensure that all of the tables are linked together.
Additionally, the database tends to be more efficient and powerful.

First normal form requires that there must be only one distinct group per table. This involves breaking
tables into smaller, more-logical components and adding primary keys. For example, a table containing
columns with more than one type of information—say, retired people, and people still working for the
company—could be broken down into two tables instead of one. You could have one table for the retired
people, and one for the current employees. To make it simpler, you would need to create as many tables
as needed to keep all data in separate groups.

Second normal form states that all columns in a table are dependent on the primary-key column. Simply
put, you'll continue to further break down your tables into more tables if possible. For example, suppose a
car dealership has a database that tracks which customers bought which cars. Suppose they have a table
called customer information with the following columns: social security number (primary key), first
name, last name, phone number, address, and car purchased. This table needs to be broken into two
tables because the car purchased isn't dependent on the primary key. The car purchased column should
be placed in another table, possibly called car make. The new car make table would have it's own
primary key column and a social security column as a foreign key.

Third normal form involves reexamining all the groups of information to make sure all data directly relates
to the primary key. At this point, if you still have data that doesn't relate to the primary key, that data
needs to be removed.

Chapter 4

Structured Query Language

History

Structured Query Language (SQL) has been around for over twenty-five years. IBM developed it in 1970
from the concept of the relational-database structure. It was originally called SEQUEL (Structured English
Query Language). The first commercial implementation of SQL was in 1979 by Relational Software, Inc.,
which today is known as the Oracle Corporation.

Current Implementations of SQL

SQL is now widely implemented and is accepted as the industry standard database language. Almost all
major database management systems (DBMSs) support SQL, and all programs written in SQL are
portable among most DBMSs.

Some DBMSs use slightly different rules for writing SQL. Basically, however, code written in one DBMS
can be moved into another, with a minimal amount of modification.

SQL Defined
SQL is a nonprocedural language that is used to manipulate and retrieve data from relational DBMSs
such as Microsoft Access, DB2, Sybase, and Microsoft SQL Server. It is considered nonprocedural
because of the way operations are carried out. Unlike procedural computer languages like Basic and C,
which are concerned with how to perform operations, SQL describes what needs to be processed. The
focus is on what to retrieve, delete, or insert.

It's a high-level set-oriented language that accesses data stored in tables. Set-oriented refers to the way
SQL processes data. To put it simply, SQL processes sets of data in groups rather than as individual
units. You'll be able to process sets of data with a single line of code.

Functions of SQL

There are a variety of functions that can be performed using SQL. You can modify a database's structure,
change system security settings, add user permissions to databases, query a database for information,
and update the contents of a database. As you can see, SQL is extremely powerful.

Statements and Commands

SQL is made up of a series of keywords or reserved words that allow you to communicate with the
database. Keywords are considered reserved because they are set aside only for the use of querying
(questioning) the database. They can't be used to name a database, table, column, or any other portion of
the database or program.

SQL can be used directly by simply typing a series of statements or commands. The most commonly
used statement is called the SELECT statement. The SELECT statement commands the database to
retrieve data from the database and return the data to the user.

When using SQL, you command the database to perform a particular action. You command the database
to create or delete tables, modify rows and fields, return results from table searches, and modify security
information. This is called querying the database.

A query is a question or command we pose concerning data from the database. Queries are designed to
allow users to extract meaningful data from the database. Each time we use a query, important rules must
be followed in order for the request to be processed. The rules are called syntax—rules that govern how a
programming language should be written.

Not following the syntax rules will result in a system error. Therefore, it's a good idea to pay close
attention to such things as spacing and spelling.

Chapter 5

Conclusion

The topics I covered in this lesson included basic database concepts, relational database structure, and
SQL. You learned about the traditional database structure, the structure and history of the relational
database, and what structured query language (SQL) is and how it relates to the relational-database
structure.
In chapter 2, I focused on the basic database concepts. Database was defined as "a collection of
electronically stored organized files." I mentioned the traditional database structure and how it is now
referred to as a client/server database system. I also defined DBMS and explained why it's important.

In chapter 3, I focused on the relational-database structure. Relational-database structure was defined as


"two or more two-dimensional tables that are related to one another using keys." I further broke down the
relational-database structure by discussing the main attributes that make up the relational-database
system. The chapter concluded with a discussion about the three forms of normalization.

In chapter 4, I focused on structured query language (SQL). SQL was defined as "a nonprocedural
language used to manipulate and retrieve data from relational-database management systems." I covered
the concepts and history of SQL and concluded with an explanation of some of the key terms used with
SQL.

This lesson familiarized you with the important concepts pertaining to relational databases, while
providing a foundation for in-depth understanding of SQL.

In lesson 2, you'll learn more about SQL syntax and how SQL is used to sort and retrieve data.

Supplementary Material

Designing a Database -- Understanding Relational Design


http://www.schools.ash.org.au/olshc/infotech/ureldes.htm
This site discusses the design of the relational-database structure.
It also provides you with a basic overview of how to construct a
database.

Normalization
http://www.troubleshooters.com/littstip/ltnorm.html
This site discuses the rules of normalization.

Creating an Oracle Database Table


http://www.pgrocer.net/Cis50/oraclecr.html
This site explains how to create and populate database tables in
Oracle.

Introduction to Databases and Microsoft Access


http://www.cs.rochester.edu/~pawlicki/ECOMM/tem/rb/IIIA.htm
This site explains how to export Microsoft Access data into
Microsoft SQL Server.

FAQs

Q: Do I need a database management system (DBMS) to practice SQL (e.g., Microsoft Access, DB2,
Sybase, or Microsoft Server 7)?

A: No. It is not necessary to purchase a DBMS for this course. Each lesson is accompanied by a quiz and
an assignment which will enable you to practice what you learned. However, if you have a DBMS handy, I
encourage hands-on practice.
Q: What database management system (DBMS) is used in the examples throughout the course?

A: This course provides examples using Microsoft Access 2000 and Microsoft SQL Server 7.0. Lessons 1
through 9 use Microsoft Access 2000 and Lessons 10 through 12 use Microsoft SQL Server 7.0.

Q: Can I use Microsoft Query for this course?

A: Yes. Microsoft Query uses open database connectivity (ODBC), which means that you can use the
same code to access and query data stored in a variety of database management system's (DBMS) with
minimum to no modification. It comes packaged with Microsoft Office and many other Microsoft products.
Microsoft Query can be used to connect to tables and queries stored in Microsoft SQL Server or Microsoft
Access databases.

Assignment

Draw or plan the design of a table. Create a table name, column names, and assign a primary key.

Here is an example of a table named Vehicle within a car dealership database system.

Vehicle table

The serial number column is the primary key in the Vehicle table.
Note: You do not need to complete this assignment within a Database Management System (DBMS).
This assignment is intended to enable you to practice creating a name for a table, columns names, and a
primary key. Feel free to use pencil and paper for this assignment.