download

Information Systems
–
–
Information systems are a type of system that accept
data from their environment and manipulate the data to
produce information which is used to solve a problem or
address a business need
can be a manual system but, these days, “information
system” refers to a computerized, “software-intensive”
system
–
The vast majority of computerized information systems rely on
DBMS software to manage the storage and retrieval of the
data/information in the system
Database Design
–
1.
2.
Core component of most system analysis and design
–
Have to figure out how system data will be organized and stored
Determine tables, fields, & data types
– Because most databases contain data related to
more than one specific subject, they usually contain
multiple tables
“Normalize” data structures
– “A relational database consists of tables that are
appropriately structured. We refer to this
appropriateness as ‘normalization’”
–
–
–
–
UBC School of Library, Archival & Information Studies: ARST 593B – Information Technology & Archives (Winter 2004-05)
UBC School of Library, Archival & Information Studies: ARST 593B – Information Technology & Archives (Winter 2004-05)
Normalization Rules
Identify Database Tables
“Rule One: split up your data into the smallest
piece that makes sense
Rule Two: Don’t try to store two things in one
place
Rule Three: Make sure you can tell things apart.”
(i.e. assign a primary key field to every table)
–
Database Solutions: A Step-by-step approach to building
databases, p.20
Absolute Beginner’s Guide to Microsoft Office Access 2003, p.60
–
–
–
–
–
Break data sets (tables) into most discrete information
units
each table describes a separate set of persons, subjects,
events or objects
Make sure there is no redundant sets of data
Give tables plural names – that have meaning to the
organization/users
String multi-word names together using capitals or
underscores to demarcate the words
–
–
UBC School of Library, Archival & Information Studies: ARST 593B – Information Technology & Archives (Winter 2004-05)
eg. HistoryBooks or History_Books instead of History Books
Preferably tblHistoryBooks
UBC School of Library, Archival & Information Studies: ARST 593B – Information Technology & Archives (Winter 2004-05)
1
Microsoft Access Naming Conventions
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dnaraccess/html/msdn_20naming.asp
Object
Table
Query
Form
Report
Macro
Module
–
–
Tag
tbl
qry
frm
rpt
mcr
bas
Example
tblCustomer
qryOverAchiever
frmCustomer
rptInsuranceValue
mcrUpdateInventory
basBilling
–
–
–
–
Give fields singular names
do not use abbreviations or acronyms
String multi-word names together using capitals or
underscores to demarcate the words
–
eg. FirstName or First_Name instead of First Name
UBC School of Library, Archival & Information Studies: ARST 593B – Information Technology & Archives (Winter 2004-05)
UBC School of Library, Archival & Information Studies: ARST 593B – Information Technology & Archives (Winter 2004-05)
Split-up multi-part Fields
Assigning Primary Keys
it’s difficult to retrieve, sort and manipulate specific
information from a multi-part field
the value of a multi-part field represents two more
separate items or attributes
–
Identify Fields
eg., name: salutation, first name, middle initial, last name
eg., address: street address, city, province, postal code
–
–
–
–
–
UBC School of Library, Archival & Information Studies: ARST 593B – Information Technology & Archives (Winter 2004-05)
create a unique primary key field for each table
–
(identified with the suffix “ID”)
the field that holds the value which is used to uniquely
identify a single record from other records in the same
table
also used to establish relationships between records from
different tables
also used by the DBMS to define indices on tables
“entity integrity” rule: the primary key cannot be null
UBC School of Library, Archival & Information Studies: ARST 593B – Information Technology & Archives (Winter 2004-05)
2
Assigning Primary Keys
–
“You can rely on the stored information to uniquely
identify each record
–
–
–
One or more fields in the data might already be unique for each
record.
Developers refer to this type of primary key as a natural key
You can insert an Autonumber data type field
–
–
–
Assigning Primary Keys
–
–
“As you become more familiar with Access, you’ll find that
developers disagree on whether to use artificial or natural
primary keys.
We’ll use both, depending on which works better for a
particular table”
–
Absolute Beginner’s Guide to Microsoft Office Access 2003, p.62
When using this data type, Access automatically enters a
consecutive value when you insert a record.
For instance, the first record’s primary key value would be 2, the
third record’s value would be 3, and so on.
You might think of this as an artificial primary key, in contrast to a
natural key.”
–
Absolute Beginner’s Guide to Microsoft Office Access 2003, p.62
UBC School of Library, Archival & Information Studies: ARST 593B – Information Technology & Archives (Winter 2004-05)
UBC School of Library, Archival & Information Studies: ARST 593B – Information Technology & Archives (Winter 2004-05)
Assigning Primary Keys
–
–
–
–
“Keys with business meaning are an exceptionally bad
idea...
Unfortunately, assigning business meaning (such as a
social security number) to so-called natural keys is a
common practice.
The problem is that anything with business meaning is
liable to change (for example, the U.S. government is
running out of nine-digit social security numbers).
Because the change is out of your control, you run the
risk of your software being inordinately impacted.
Remember how fun the Year 2000 crisis was?”
–
Scott Ambler, Software Development (December 1999)
UBC School of Library, Archival & Information Studies: ARST 593B – Information Technology & Archives (Winter 2004-05)
3
Establish One-to-Many Relationships
–
resolve redundant or repeated data values by creating
‘subset’ or ‘validation tables’
–
–
–
e.g. publisher name, address
e.g. province name and abbreviation code
e.g. material type designation
UBC School of Library, Archival & Information Studies: ARST 593B – Information Technology & Archives (Winter 2004-05)
Establish Many-to-Many Relationships
–
Typically used to resolve multi-value fields
–
a multi-value field contains one or more occurrences of the same
type of value
–
–
eg. History Books’ SubjectCategories = England, Military, Political
it’s difficult and usually impossible to retrieve, sort and manipulate
data from multi-value fields when using relational tables
–
therefore, a linking table is established to support the many-to-many
relationship
UBC School of Library, Archival & Information Studies: ARST 593B – Information Technology & Archives (Winter 2004-05)
4
Produce Entity-Relationship Diagram
–
a data modeling technique that creates a graphical
representation of the entities, and the relationships
between entities, within an information system.
Three main components of an ERD
–
–
–
The entity is a person, object, place or event for which data is
collected. The entity is represented by a rectangle.
The relationship is the interaction between the entities. A relationship
may be represented by a diamond shape, or more simply, by the line
connecting the entities.
The cardinality defines the relationship between the entities in terms
of numbers.
–
–
UBC School of Library, Archival & Information Studies: ARST 593B – Information Technology & Archives (Winter 2004-05)
There are several different types of cardinality notation; crow's foot
notation is a common one. In crow's foot notation, a single bar indicates
one, a double bar indicates one and only one, a circle indicates zero,
and a crow's foot indicates many.
The three main cardinal relationships are: one-to-one, expressed as 1:1;
one-to-many, expressed as 1:M; and many-to-many, expressed as M:N.
UBC School of Library, Archival & Information Studies: ARST 593B – Information Technology & Archives (Winter 2004-05)
5
6