database design concepts imat1408
DESCRIPTION
Database Design Concepts IMAT1408. Lecture 2 Database Fundamentals. Database Design Concepts IMAT1408. Lecture 2 Database Fundamentals. To introduce: The three layers of data abstraction (ways of viewing/handling data) The terms physical and logical data independence - PowerPoint PPT PresentationTRANSCRIPT
HNDComputing – DeMontfort University Ó DeMontfort University 2011
Database Fundamentals wk2Database Design Concepts
Database Design ConceptsIMAT1408
Lecture 2
Database Fundamentals
HNDComputing – DeMontfort University Ó DeMontfort University 2011
Database Fundamentals wk2Database Design Concepts
Database Design Concepts IMAT1408
Lecture 2Database Fundamentals
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.
HNDComputing – DeMontfort University Ó DeMontfort University 2011
Database Fundamentals wk2Database Design Concepts
4
Is this a database?
Is this Organised? Efficient? Easily accessible? Flexible? ……
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?).
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.
HNDComputing – DeMontfort University Ó DeMontfort University 2011
Database Fundamentals wk2Database Design Concepts
Logical Shema (Relational Tables)
MAPPING
DatabaseServer
MySQLDATABASE
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
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……
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
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
HNDComputing – DeMontfort University Ó DeMontfort University 2011
Database Fundamentals wk2Database Design Concepts
11
Database
File
Database
File
Database
File
Database
File
Database
FileConceptual
Schema
UserView 1
UserView 2
UserView ….
Externallayer
Logicallayer
Physicallayer
Physical Data independence
Logical Data independence
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.
HNDComputing – DeMontfort University Ó DeMontfort University 2011
Database Fundamentals wk2Database Design Concepts
13
Database
File
Database
File
Database
File
Database
File
Database
FileConceptual
Schema
UserView 1
UserView 2
UserView ….
Externallayer
Logicallayer
Physicallayer
Physical Data independence
Logical Data independence
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..
HNDComputing – DeMontfort University Ó DeMontfort University 2011
Database Fundamentals wk2Database Design Concepts
15
Database
File
Database
File
Database
File
Database
File
Database
FileConceptual
Schema
UserView 1
UserView 2
UserView ….
Externallayer
Logicallayer
Physicallayer
Physical Data independence
Logical Data independence
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.
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
HNDComputing – DeMontfort University Ó DeMontfort University 2011
Database Fundamentals wk2Database Design Concepts
18
Database
File
Database
File
Database
File
Database
File
Database
FileConceptual
Schema
UserView 1
UserView 2
UserView ….
Externallayer
Logicallayer
Physicallayer
Physical Data independence
Logical Data independence
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.
HNDComputing – DeMontfort University Ó DeMontfort University 2011
Database Fundamentals wk2Database Design Concepts
20
Database
File
Database
File
Database
File
Database
File
Database
FileConceptual
Schema
UserView 1
UserView 2
UserView ….
Externallayer
Logicallayer
Physicallayer
Physical Data independence
Logical Data independence
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.
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.
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.
CUSTOMER
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.
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?
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.
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.
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.
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
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.
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.
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.)