32
HNDComputing – DeMontfort University Ó DeMontfort University 2011 Database Fundamentals wk2 D a t a b a s e D e s i g n C o n c e p t Database Design Concepts IMAT1408 Lecture 2 Database Fundamentals

HNDComputing – DeMontfort University DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

Embed Size (px)

Citation preview

Page 1: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

Database Design ConceptsIMAT1408

Lecture 2

Database Fundamentals

Page 2: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

Database Design Concepts IMAT1408

Lecture 2Database Fundamentals

Page 3: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

3

ObjectivesTo introduce:• The three layers of data abstraction (ways of viewing/handling data)• The terms physical and logical data independence• Table types and associated terms.

Page 4: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

4

Is this a database?

Is this Organised? Efficient? Easily accessible? Flexible? ……

Page 5: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

5

Paper based databases

• Have been around for a long time

• Data is organised and quickly accessibleSo is easier to maintain – fewer errors

• But is not all that flexible – things are filed in one place only (why would it not be a good idea to have duplicates?).

Page 6: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

6

Computer based databases

• Are managed by a

Moves data to and from physical data filesManages multiple usersManages transactions: ‘all or nothing’ units of workSupports a Query Language to retrieve data from the databaseManages back upsProvides security mechanisms.

Page 7: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

Logical Shema (Relational Tables)

MAPPING

Database

Server

MySQL

DATABASE

APACHE WEB-SERVER communicates with the web users

PHP or ASP.NET

ODBC/API communicates with DB

INTERNET

Firefox Browser

Internet Explorer Browser

Typical Example of a Database Internet Architecture

Page 8: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

8

Layers of data abstraction

• Databases are obviously very complicated pieces of software

• How do we understand how they work?• They are divided into 3 layers – known as the 3

layer architecture• We can look at each layer in turn……

Page 9: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

9

Externallayer

Logicallayer

Physicallayer

What the user sees

How the database organises the data for

viewing

How the computer’s operating system stores the

data

Page 10: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

The DBMS enables multi-user access to the same data at the same time

Userview 1

EXTERNAL layer

Userview 2

LOGICAL layerLogical Schema

MAPPING

INTERNAL layer

DATA INDEXES

MAPPING

Page 11: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

11

Database

File

Database

File

Database

File

Database

File

Database

File

Conceptual Schema

UserView 1

UserView 2

UserView ….

Externallayer

Logicallayer

Physicallayer

Physical Data independence

Logical Data independence

Page 12: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

12

The Physical Layer

• The files that actually contain the data

• Data could be stored over multiple disk drives – maximise performance by running in parallel

• Microsoft Access stores everything in one physical file. This limits the number of concurrent users and so it cannot be used for large enterprises

• The DBMS works with the computer’s Operating System (OS) to efficiently manage the file storage

• The user of the database does not need to know how the DBMS does this.

Page 13: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

13

Database

File

Database

File

Database

File

Database

File

Database

File

Conceptual Schema

UserView 1

UserView 2

UserView ….

Externallayer

Logicallayer

Physicallayer

Physical Data independence

Logical Data independence

Page 14: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

14

Logical Layer

• The logical layer provides a structure for the data which is known as the conceptual schema

• This structure needs to meet the requirements of the users. This is what we will work on when we design databases.

• It makes the data available to any application (or several at once) without the designer needing to know the exact location of the data – the data is therefore independent of the applications. For example a customer database record could be used in many different applications - for billing invoices, posting out publicity flyers about new products, sending on-line questionnaires etc.,etc..

Page 15: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

15

Database

File

Database

File

Database

File

Database

File

Database

File

Conceptual Schema

UserView 1

UserView 2

UserView ….

Externallayer

Logicallayer

Physicallayer

Physical Data independence

Logical Data independence

Page 16: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

16

External Layer

• This is the layer where users interact with the database and issue queries

• The DBMS selects items from the logical layer to form a user view

• Different user views can be set up to meet different people’s needs

• These user views can be stored for future use, or may be used only temporarily and then discarded – an ad hoc query.

Page 17: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

17

• We need to look at each user’s requirements• These give us the external views required• You will learn to create the conceptual schema so that

these external views can be produced from it. One method we will use is Entity Relationship Modelling

• We will leave the DBMS to take care of the physical layer.

The 3 layers and database design

Page 18: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

18

Database

File

Database

File

Database

File

Database

File

Database

File

Conceptual Schema

UserView 1

UserView 2

UserView ….

Externallayer

Logicallayer

Physicallayer

Physical Data independence

Logical Data independence

Page 19: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

19

Data Independence- the big advantage of databases

• Physical data independence means you can change the way the data is stored without having to change all the programs that use the data. This saves time and money.

Page 20: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

20

Database

File

Database

File

Database

File

Database

File

Database

File

Conceptual Schema

UserView 1

UserView 2

UserView ….

Externallayer

Logicallayer

Physicallayer

Physical Data independence

Logical Data independence

Page 21: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

21

Logical Data Independence• The ability to make changes to the logical layer without disrupting existing users and processes

• This means we can:– Add a new database object eg a table– Add data items to an existing object.

Page 22: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

22

Design components: Entity

• To create a useful database we must study the business’s activities and identify the data that needs to be stored

• We look for entities• Just about anything that can be named can be an entity

…but we only consider things of interest to the users of our database.

Page 23: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

23

• A very common entity that is found in many business oriented databases is the

This represents all the customers in the database ……… an individual customer is known as an occurrence of the entity.

CUSTOMERCUSTOMER

Page 24: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

24

Attributes• “An attribute is a unit fact that characterises or describes an entity in some way” (Oppel, 2004)• Attributes are the smallest units of information that are stored in a database• Examples could be the customer’s last name, post code, telephone number.

Page 25: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

25

Unique identifiers

• An entity will be described using the attributes. For example a student could have last name, first name and several address attributes

• The problem is we need to distinguish one student from another

• Most students can be identified by their name but sometimes two students have the same name

• How do I make sure I don’t award marks to the wrong student?

Page 26: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

26

• I do this by using an attribute known as the primary key

• This is a unique identifier so each student will have a different value for this attribute

• What is your unique identifier?• Remember these unique identifiers are often invented

so are not always known to the person concerned.

Page 27: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

27

Examples of unique identifiers^• National insurance number• Passport number• Membership number• Order number• Vehicle registration number• Bank account number.

Page 28: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

28

Tables• Main method of storage in the relational model is the table• A two dimensional structure composed of rows and columns• Each row represents one occurrence (instance) of the entity (or record)• Each column represents one attribute of that entity.

Page 29: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

29

Table Types

• We show a table’s structure by showing its table type• Eg

Student (studentno, name, address, courseno)

Each Student record will have the same structure but different values.

Table Name Primary Key Attributes Foreign Key

Page 30: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

30

Foreign Key

• The foreign key is the primary key of another table

• It creates a link between the two tables• courseno in our example will be the key field of

a course table• Course (courseno, title)• This allows us to look up the title of the course

each student is taking.

Page 31: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

31

Summary

You should be able to explain:– Database Management System– Physical, logical and external layers (and draw a

diagram of them)– Physical and logical data independence– Entity (more on this next week)– Attribute– Primary key/unique identifier– Table type– Foreign key.

Page 32: HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design

HNDComputing – DeMontfort University Ó DeMontfort University 2011

Database Fundamentals wk2Database Design Concepts

32

References• Databases Demystified by Andy Oppel

(Published by McGraw-Hill, ISBN 0-07-225364-9)

• Data Analysis for Database Design by David Howe (Published by Arnold. Second edition.)