access primer africamuseum 5 june 2013. ms access relational database management system...

61
Access Primer Africamuseum 5 June 2013

Upload: horace-long

Post on 12-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Access Primer

Africamuseum5 June 2013

Page 2: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

MS Access

Relational Database Management System Data/information resides in series of

related tables Principle of normalisation

Often ‘client-server’ End-user interface independent from

‘engine’

Page 3: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 4: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 5: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Access elements

Tables: to store data Queries: to ask questions from

database Forms: to create a user interface Macros: to automate repetitive tasks Modules: create non-standard

functionality, using Visual Basic

Page 6: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 7: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Tables

Must be defined before they can be used Vaguely resemble Excel sheets but:

Unit of information is a ‘record’ (line) Saved automatically as soon as one moves to

another record Consists of ‘fields’

Type must be chosen All fields of a record remain together

No restriction on the number of lines Excel: 64,000 lines

Order of records is not fixed!

Page 8: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 9: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Types of fields

Text (length; max = 255) Memo Integer (normal or long)

Autonumber Real (single or double) Date Boolean (yes/no)

Page 10: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Indices

Facilitate sorting and selective extraction of records

Special index: primary key unique identifier for a record often ‘autonumber’

Other indices: Unique or not Slow data entry down

Page 11: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 12: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Hands-on

Create table to store names and addresses of students

Experiment with field types ‘Populate’ table – create records

and provide input Play with facilities to display table

Filter, sort

Page 13: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Import text (or other) files

Download data from for example data.gbif.org Don’t select too many data!

Check data through text editor Then we’ll import the data in our

database

Page 14: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 15: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 16: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 17: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 18: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 19: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Hands-on

Download data from for example data.gbif.org Don’t select too many data!

Check data through text editor Play with filter, sort…

Page 20: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 21: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Normalisation

All data should be in the database once and only once Repeated data go to separate table Relationships between the tables are part

of the ‘model’ of the databaseLink between tables defined on pair of fields,

one in each table, that are of same typeRecords of the two tables are ‘related’ if value

in the link fields is the same

Later more!!

Page 22: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Non-normalised Table

Species # legs # eyes place Country dateAsterias rubens 5 0 Oostende Belgium 12/3/2004Asterias rubens 5 0 Zeebrugge Belgium 13/3/2005Asterias rubens 5 0 Zeebrugge Belgium 14/3/2005Cancer pagurus 10 2 De Panne Belgium 12/3/2004Cancer pagurus 10 2 Oostende Belgium 12/3/2004Cancer pagurus 10 2 Zeebrugge Belgium 14/3/2004Asterias rubens 5 0 Wimereux France 13/3/2005Asterias rubens 5 0 Wimereux France 14/3/2005Cancer pagurus 10 2 Wimereux France 12/3/2004

Page 23: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Normalisation

Table with morphological characters fields: species, number of legs, number of eyes

Table with distribution records fields: species, place, date

The field ‘Species’ is common to the two tables, and makes it possible to link records between two tables

Page 24: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Creating relations

‘one to many’ relations Defined on fields of the same type

In case of text fields: same length

On the many side: primary key Helps in maintaining the integrity of the

data Enforce presence of a ‘related record’ in the

‘related table’ Avoid spelling variations (Oostende, Ostend, Ostende…)

Page 25: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 26: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 27: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 28: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Relations

Best on fields that do not carry any real-world information Autonumber

In the example: add field autonumber in the species table, and use this as a code in the distributions table; make autonumber field the primary key

Also best to add Autonumber as primary key in distributions table

Page 29: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 30: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

And more Relations…

Also the locality of the species distribution record should be in a separate table With fields for position, country…

Page 31: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 32: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Hands-on

Refine the data model by creating an extra table for the countries Create extra table with id and countryname Make id the primary key in countries table Change places table, change country to

country_id, and update field type Create relationship between places and

countries

Page 33: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Queries

Select and sort records of a table Pull together information from related tables Simple statistics

In principle: SQL But access interface hides SQL from the user

For now: query grid Define which tables will be used, fields that have

to be shown, criteria for selection and sorting…

Page 34: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 35: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 36: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

SQL statement

SELECT species.speciesname, distrecords.observationdate, places.placename, places.country

FROM species INNER JOIN (places INNER JOIN distrecords ON places.id = distrecords.place_id) ON species.id = distrecords.species_id

WHERE (((places.country)="Belgium"))ORDER by speciesname, observationdate;

Page 37: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 38: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Statistics query

Count the number of records in the database given criteria in a ‘Group By’ clause

Page 39: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 40: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 41: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Cross-tab query

Not standard SQL, specific for Access

Create table, with one column header and one or more row headers, and a value for the cells

Page 42: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 43: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 44: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Hands-on

How many different species do you have in your download from GBIF?

How many with latitude & longitude?

Check the ‘country’ field Why do we need normalisation &

standard vocabularies?

Page 45: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Access Wizard

Page 46: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Forms

Create an interface for the users Hide codes/autonumbers (combobox) Elements of the form are linked to

fields in the tables Can show single records at a time, or

‘repeated forms’ Entries/changes to the form are written

automatically to the table

Page 47: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 48: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 49: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 50: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

ComboBox

Limit possible entries into a field Hide codes/autonumbers from users Two different representations of the

same information are combined Code, to be entered into the table Full text equivalent, for the benefit of

the user

Page 51: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 52: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 53: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 54: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Subforms

To display the content of a many-to-many relationship We don’t know how many related records

there will be, so impossible to solve with static, predefined structure

A form can be repeated, showing multiple lines Number of lines is not limited

First create the subform

Page 55: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 56: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 57: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Subforms

And then the main form

Page 58: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 59: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle
Page 60: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

And now…

How to decide on the structure of a database? Which information do we want to store? Which tables do we need? Relationships

between them? Which indices (primary and others) do we

need?

Start from an analysis of user needs In principle also, decide on a platform

Page 61: Access Primer Africamuseum 5 June 2013. MS Access  Relational Database Management System Data/information resides in series of related tables Principle

Task

Create ‘model’ for biodiversity/biogeography database Which standard vocabularies to use? What are important elements of

information?SourcesBiology

Classification, synonymyGeography