0% found this document useful (0 votes)
14 views

0 - 1 Lab Exercises - Ms Access 2010

SUMMARY

Uploaded by

sandraakinyi307
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

0 - 1 Lab Exercises - Ms Access 2010

SUMMARY

Uploaded by

sandraakinyi307
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 19

BCT 1202:

Principles of Databases

Microsoft Access 2010

Lab Exercises

https://www.halvorsen.blog
Relational Databases
A relational database matches data using common characteristics found within the data set.
The resulting groups of data are organized and are much easier for people to understand.

For example, a data set containing all the real-estate transactions in a town can be grouped
by the year the transaction occurred; or it can be grouped by the sale price of the
transaction; or it can be grouped by the buyer's last name; and so on.

Such a grouping uses the relational model (a technical term for this is schema). Hence, such
a database is called a "relational database."

The software used to do this grouping is called a relational database management system.
The term "relational database" often refers to this type of software.

Relational databases are currently the predominant choice in storing financial records,
manufacturing and logistical information, personnel data and much more.

2.1 Tables
The basic units in a database are tables and the relationship between them. Strictly, a
relational database is a collection of relations (frequently called tables).

Below we see how a relationship between two tables are defined using Primary Keys and
Foreign Keys.

5
6 Relational Databases

2.2 Unique Keys and Primary Key


In relational database design, a unique key or primary key is a candidate key to uniquely
identify each row in a table. A unique key or primary key comprises a single column or set of
columns. No two distinct rows in a table can have the same value (or combination of values)
in those columns. Depending on its design, a table may have arbitrarily many unique keys
but at most one primary key.

A unique key must uniquely identify all possible rows that exist in a table and not only the
currently existing rows. Examples of unique keys are Social Security numbers or ISBNs.

A primary key is a special case of unique keys. The major difference is that for unique keys
the implicit NOT NULL constraint is not automatically enforced, while for primary keys it is
enforced. Thus, the values in unique key columns may or may not be NULL. Another
difference is that primary keys must be defined using another syntax.

Primary keys are defined with the following syntax:

CREATE TABLE table_name


(
id_col INT,
col2
CHARACTER
VARYING(20),
...
CONSTRAINT tab_pk
PRIMARY
KEY(id_col),
If the...primary key consists only of a single column, the column can be marked as such using
)
the following syntax:

CREATE TABLE table_name


(
id_col INT
PRIMARY KEY,
col2
CHARACTER
VARYING(20),
...
The )definition of unique keys is syntactically very similar to primary keys.

Likewise, unique keys can be defined as part of the CREATE TABLE SQL statement.

CREATE TABLE table_name


(
id_col INT,
col2
CHARACTER
VARYING(20),
key_col SMALLINT,
...
CONSTRAINT
key_unique
UNIQUE(key_col),
Or if...
the unique key consists only of a single column, the column can be marked as such
)
using the following syntax:
CREATE TABLE table_name
(

Tutorial: Introduction to Database


Systems
7 Relational Databases

id_col INT PRIMARY KEY,


col2 CHARACTER
VARYING(20),
...
key_col SMALLINT UNIQUE,
...
)

2.3 Foreign Key


In the context of relational databases, a foreign key is a referential constraint between two
tables. The foreign key identifies a column or a set of columns in one table that refers to a
column or set of columns in another table. The columns in the referencing table must be the
primary key or other candidate key in the referenced table. The values in one row of the
referencing columns must occur in a single row in the referenced table. Thus, a row in the
referencing table cannot contain values that don't exist in the referenced table. This way
references can be made to link information together and it is an essential part of database
normalization. Multiple rows in the referencing table may refer to the same row in the
referenced table. Most of the time, it reflects the one (master table, or referenced table) to
many (child table, or referencing table) relationship.

The referencing and referenced table may be the same table, i.e. the foreign key refers back
to the same table. Such a foreign key is known as self-referencing or recursive foreign key.

A table may have multiple foreign keys, and each foreign key can have a different referenced
table. Each foreign key is enforced independently by the database system. Therefore,
cascading relationships between tables can be established using foreign keys.

Improper foreign key/primary key relationships or not enforcing those relationships are
often the source of many database and data modeling problems.

Foreign keys can be defined as part of the CREATE TABLE SQL statement.

CREATE TABLE table_name


(
id INTEGER
PRIMARY KEY,
col2 CHARACTER VARYING(20),
col3 INTEGER,
...
CONSTRAINT col3_fk FOREIGN
KEY(col3)
REFERENCES
other_table(key_col),
...
If the
) foreign key is a single column only, the column can be marked as such using the
following syntax:
CREATE TABLE table_name
(
id INTEGER PRIMARY
KEY, col2 CHARACTER
VARYING(20),
col3 INTEGER REFERENCES
other_table(column_name),
Tutorial: Introduction to Database
Systems
8 Relational Databases

...
)

4. Views
In database theory, a view consists of a stored query accessible as a virtual table composed
of the result set of a query. Unlike ordinary tables in a relational database, a view does not
form part of the physical schema: it is a dynamic, virtual table computed or collated from
data in the database. Changing the data in a table alters the data shown in subsequent
invocations of the view.

Views can provide advantages over tables:

 Views can represent a subset of the data contained in a table


 Views can join and simplify multiple tables into a single virtual table
 Views can act as aggregated tables, where the database engine aggregates data
(sum, average etc) and presents the calculated results as part of the data
 Views can hide the complexity of data; for example a view could appear as Sales2000
or Sales2001, transparently partitioning the actual underlying table
 Views take very little space to store; the database contains only the definition of a
view, not a copy of all the data it presents
 Views can limit the degree of exposure of a table or tables to the outer world

Syntax:

CREATE VIEW <ViewName>


AS

2.5 Functions
In SQL databases, a user-defined function provides a mechanism for extending the
functionality of the database server by adding a function that can be evaluated in SQL
statements. The SQL standard distinguishes between scalar and table functions. A scalar
function returns only a single value (or NULL), whereas a table function returns a (relational)
table comprising zero or more rows, each row with one or more columns.

User-defined functions in SQL are declared using the CREATE FUNCTION statement.

Syntax:

CREATE FUNCTION <FunctionName>


(@Parameter1 <datatype>,
@ Parameter2 <datatype>,
…)

Tutorial: Introduction to Database


Systems
9 Relational Databases

RETURNS <datatype>
AS

2.6 Stored Procedures


A stored procedure is executable code that is associated with, and generally stored in, the
database. Stored procedures usually collect and customize common operations, like
inserting a tuple into a relation, gathering statistical information about usage patterns, or
encapsulating complex business logic and calculations. Frequently they are used as an
application programming interface (API) for security or simplicity.

Stored procedures are not part of the relational database model, but all commercial
implementations include them.

Stored procedures are called or used with the following syntax:

CALL procedure(…)

or
EXECUTE procedure(…)

Stored procedures can return result sets, i.e. the results of a SELECT statement. Such result
sets can be processed using cursors by other stored procedures by associating a result set
locator, or by applications. Stored procedures may also contain declared variables for
processing data and cursors that allow it to loop through multiple rows in a table. The
standard Structured Query Language provides IF, WHILE, LOOP, REPEAT, CASE statements,
and more. Stored procedures can receive variables, return results or modify variables and
return them, depending on how and where the variable is declared.

2.7 Triggers
A database trigger is procedural code that is automatically executed in response to certain
events on a particular table or view in a database. The trigger is mostly used for keeping the
integrity of the information on the database. For example, when a new record (representing
a new worker) added to the employees table, new records should be created also in the
tables of the taxes, vacations, and salaries.

The syntax is as follows:

CREATE TRIGGER <TriggerName> ON <TableName>


FOR INSERT, UPDATE, DELETE
AS

Tutorial: Introduction to Database


Systems
Database Modelling
4.1 ER Diagram
In software engineering, an Entity-Relationship Model (ERM) is an abstract and conceptual
representation of data. Entity-relationship modeling is a database modeling method, used to
produce a type of conceptual schema or semantic data model of a system, often a relational
database, and its requirements in a top-down fashion.

Diagrams created using this process are called entity-relationship diagrams, or ER diagrams
or ERDs for short.

There are many ER diagramming tools. Some of the proprietary ER diagramming tools are
ERwin, Enterprise Architect and Microsoft Visio.

Microsoft SQL Server has also a built-in tool for creating Database Diagrams.

14
15 Database Modelling

4.2 Microsoft Visio


Microsoft Visio is a diagramming program for creating different kinds of diagrams. Visio have
a template for creating Database Model Diagrams.

Tutorial: Introduction to Database


Systems
16 Database Modelling

In the Database menu Visio offers lots of functionality regarding your database model.

“Reverse Engineering” is the opposite procedure, i.e., extraction of a database schema from
an existing database into a database model in Microsoft Visio.

Example: Database Diagram

Create the following tables in an ER Diagram using MS Visio.

 CUSTOMER
o CustomerId (PK)
o FirstName
o LastName
o Address
o Phone
o PostCode
o PostAddress
 PRODUCT
o ProductId (PK)
o ProductName
o ProductDescription
o Price
o ProductCode
 ORDER
o OrderId (PK)
o OrderNumber
o OrderDescription

Tutorial: Introduction to Database


Systems
17 Database Modelling

o CustomerId (FK)
 ORDER_DETAIL
o OrderDetailId (PK)
o OrderId (FK)
o ProductId (FK)

The Database Diagram becomes:

[End of Example]

4.3 ERwin
ERwin is a professional database modelling tool. A Community edition is also available for
free. The Community edition is limited to work with max 25 objects.

Below we see an example created in Erwin.

With Erwin and other professional database modelling tools you can directly import the
database model into the database system such as SQL Server, MySQL, etc.

Tutorial: Introduction to Database


Systems
18 Database Modelling

Tutorial: Introduction to Database


Systems
Microsoft Office Access
1. Introduction
Microsoft Office Access, previously known as Microsoft Access, is a relational database
management system from Microsoft that combines the relational Microsoft Jet Database
Engine with a graphical user interface and software development tools. It is a member of the
Microsoft Office suite of applications and is included in the Professional and higher versions
for Windows. Access stores data in its own format based on the Access Jet Database Engine.

Microsoft Access is used by programmers and non-programmers to create their own simple
database solutions.

Microsoft Access is a file server-based database. Unlike client-server relational database


management systems (RDBMS), e.g., Microsoft SQL Server, Microsoft Access does not
implement database triggers, stored procedures, or transaction logging. All database tables,
queries, forms, reports, macros, and modules are stored in the Access Jet database as a
single file. This makes Microsoft Access useful in small applications, teaching, etc. because it
is easy to move from one computer to another.

2. Example Database
I will present an example database in Microsoft Access 2007 which will be used in some of
the examples and exercises in this document.

The database consists of the following tables:

 CUSTOMER
o CustomerId (PK)
o FirstName
o LastName
o Address
o Phone
o PostCode
o PostAddress
 PRODUCT

24
25 Microsoft Office Access

o ProductId (PK)
o ProductName
o ProductDescription
o Price
o ProductCode
 ORDER
o OrderId (PK)
o OrderNumber
o OrderDescription
o CustomerId (FK)
 ORDER_DETAIL
o OrderDetailId (PK)
o OrderId (FK)
o ProductId (FK)

ODBC Connection:

Administrative Tools → Data Sources (ODBC)

Tutorial: Introduction to Database


Systems
26 Microsoft Office Access

Tutorial: Introduction to Database


Systems
Creating and Using Tables
The SQL syntax for creating a Table is as follows:
CREATE TABLE <TableName>
(
<ColumnName> <datatype>

)

The SQL syntax for inserting Data into a Table is as follows:


INSERT INTO <TableName> (<Column1>, <Column2>, …)
VALUES(<Data for Column1>, <Data for Column2>, …)

Example: Insert Data into Tables

We will insert some data into our tables:

The following SQL Query inserts some example data into these tables:
--CUSTOMER
INSERT INTO [CUSTOMER] ([FirstName],[LastName],[Address],[Phone],[PostCode],[PostAddress])
VALUES ('Per', 'Nilsen', 'Vipeveien 12', '12345678', '1234', 'Porsgrunn')
GO

27
28 Creating and Using Tables

INSERT INTO [CUSTOMER] ([FirstName],[LastName],[Address],[Phone],[PostCode],[PostAddress])


VALUES ('Tor', 'Hansen', 'Vipeveien 15', '77775678', '4455', 'Bergen')
GO
INSERT INTO [CUSTOMER] ([FirstName],[LastName],[Address],[Phone],[PostCode],[PostAddress])
VALUES ('Arne', 'Nilsen', 'Vipeveien 17', '12345778', '4434', 'Porsgrunn')
GO

--PRODUCT
INSERT INTO [PRODUCT] ([ProductName],[ProductDescription],[Price],[ProductCode]) VALUES
('Product A', 'This is product A', 1000, 'A-1234')
GO
INSERT INTO [PRODUCT] ([ProductName],[ProductDescription],[Price],[ProductCode]) VALUES
('Product B', 'This is product B', 1000, 'B-1234')
GO
INSERT INTO [PRODUCT] ([ProductName],[ProductDescription],[Price],[ProductCode]) VALUES
('Product C', 'This is product C', 1000, 'C-1234')
GO

--ORDER
INSERT INTO [ORDER] ([OrderNumber],[OrderDescription],[CustomerId]) VALUES ('10001', 'This is
Order 10001', 1)
GO
INSERT INTO [ORDER] ([OrderNumber],[OrderDescription],[CustomerId]) VALUES ('10002', 'This is
Order 10002', 2)
GO
INSERT INTO [ORDER] ([OrderNumber],[OrderDescription],[CustomerId]) VALUES ('10003', 'This is
Order 10003', 3)
GO

--ORDER_DETAIL
INSERT INTO [ORDER_DETAIL] ([OrderId],[ProductId]) VALUES (1, 1)
GO
INSERT INTO [ORDER_DETAIL] ([OrderId],[ProductId]) VALUES (1, 2)
GO
INSERT INTO [ORDER_DETAIL] ([OrderId],[ProductId]) VALUES (1, 3)
GO
INSERT INTO [ORDER_DETAIL] ([OrderId],[ProductId]) VALUES (2, 1)
GO
INSERT INTO [ORDER_DETAIL] ([OrderId],[ProductId]) VALUES (2, 2)
GO
INSERT INTO [ORDER_DETAIL] ([OrderId],[ProductId]) VALUES (3, 3)
GO
INSERT INTO [ORDER_DETAIL] ([OrderId],[ProductId]) VALUES (3, 1)
GO
INSERT INTO [ORDER_DETAIL] ([OrderId],[ProductId]) VALUES (3, 2)
GO
INSERT INTO [ORDER_DETAIL] ([OrderId],[ProductId]) VALUES (3, 3)
GO

Executing the following Queries then gives:


select * from CUSTOMER

select * from PRODUCT

Tutorial: Introduction to Database


Systems
29 Creating and Using Tables

select * from [ORDER]

select * from ORDER_DETAIL

[End of Example]

Tutorial: Introduction to Database


Systems
Creating and Using Views
In database theory, a view consists of a stored query accessible as a virtual table composed
of the result set of a query. Unlike ordinary tables in a relational database, a view does not
form part of the physical schema: it is a dynamic, virtual table computed or collated from
data in the database. Changing the data in a table alters the data shown in subsequent
invocations of the view.

Views can provide advantages over tables:

 Views can represent a subset of the data contained in a table


 Views can join and simplify multiple tables into a single virtual table
 Views can act as aggregated tables, where the database engine aggregates data
(sum, average etc) and presents the calculated results as part of the data
 Views can hide the complexity of data; for example a view could appear as Sales2000
or Sales2001, transparently partitioning the actual underlying table
 Views take very little space to store; the database contains only the definition of a
view, not a copy of all the data it presents
 Depending on the SQL engine used, views can provide extra security
 Views can limit the degree of exposure of a table or tables to the outer world

Just as functions (in programming) can provide abstraction, so database users can create
abstraction by using views. In another parallel with functions, database users can manipulate
nested views, thus one view can aggregate data from other views.

Syntax:

CREATE VIEW <ViewName>


AS

30
Introduction to Database
Systems

Hans-Petter Halvorsen
Copyright © 2017

E-Mail: [email protected]

Web: https://www.halvorsen.blog

https://www.halvorsen.blog

You might also like