Download Teaching Scheme Business Information Technology/Software

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Microsoft SQL Server wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Serializability wikipedia , lookup

Encyclopedia of World Problems and Human Potential wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Ingres (database) wikipedia , lookup

Functional Database Model wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Database wikipedia , lookup

Versant Object Database wikipedia , lookup

Oracle Database wikipedia , lookup

Relational model wikipedia , lookup

Concurrency control wikipedia , lookup

ContactPoint wikipedia , lookup

Clusterpoint wikipedia , lookup

Database model wikipedia , lookup

Transcript
Teaching Scheme
Business Information Technology/Software Engineering Management
Advanced Databases
Level : 4
Year : 2003–2004
Jim Craven ([email protected])
Stephen Mc Kearney ([email protected])
Melanie Coles ([email protected])
Autumn Term
Week Lecture
Seminar
29/9
6/10
Induction Week
Project Week (No Lecture)(JC)
This lecture is cancelled for project week.
13/10
Database Performance Issues(JC)
This lecture introduces the theme of optimising the
performance of a relational database system. When do
performance issues arise in the database development
process? How should performance issues be approached?
What areas should be considered first when tuning a
database.? What are the constraints?
Reading: Ensor(Chapter 2), Corrigan
Service Time(SMcK)
Lecture review - Service time
This lecture discusses the techniques to read/write data on a This seminar will review some of the
disc. How is data read from or written to a disc? What are lecture examples and work through
the main parts of the read/write process? How much time
some exercises. We will also study
does it take to read information from a disc? What factors
some aspects of Oracle that are
affect the speed of a disc? How may disc performance be
affected by the service time and
improved? How can the speed of a disc be calculated?
methods of measuring database
Reading: Elmasri(Appendix B)
performance.
B+-Tree Indexing 1(SMcK)
Oracle — Controlling storage
This lecture discusses a popular type of index structure. Why parameters
is an index necessary? What is a multi-level index? What is This class will investigate Oracle’s
a B+-Tree index? How is an index searched? How is data storage structures and methods of
inserted into or deleted from a B+-Tree index? How big does adjusting the storage parameters in
a B+-Tree get? What are the important properties of a
Oracle. One of the purposes of this
B+-Tree?
class is to help you prepare for the
Reading: Elmasri(Section 5.3), Silberschatz(Section 8.3),
assignment.
Knuth(Pages 473–479), Connolly(Appendix C.5.5)
B+-Tree Indexing 2(SMcK)
Lecture Review - B+-tree Indexing
This is the second part of the lecture B+-Tree Indexing 1.
This class will review the B+-tree
structure introduced in B+-Tree
Indexing 1. We will investigate
methods of modelling and measuring
B+-tree performance.
Query Processing 1 (JC)
Loading data in Oracle — SQL
This lecture considers altenative strategies for joining
Loader
relational tables. The role and nature of the optimiser. What We will review techniques for
are inner and outer joins? What is the basic operation for
generating and loading data into
table joins? In a multi table join, can the order of the joins
databases. This class is intended to
speed up the processing? What other Features/ processing
help you prepare for the assignment.
can speed up the join operation? What constraints need to be
20/10
27/10
3/11
10/11
L/O
Oracle environment structure and 4
documentation
This class will look at the structure of
Oracle and how an Oracle database
stores data. We will also look at the
documentation provided with Oracle.
1,2,4
The Data Dictionary
We will look at the structure of a data
dictionary and investigate some of the
uses that may be made of the
information contained in the
dictionary.
2
1,2,4
1,4
1,2,4
17/11
24/11
1/12
8/12
considered? Why is selectivity an important consideration?
Reading: Elmasri(Chapter 15), Silberschatz(Chapter 12),
Corrigan(Chapter 6), Connolly(Chapter 20)
Query Processing 2(JC)
Lecture review — Query processing
This is the second lecture on join strategies and considers
This class will review examples based
particular strategies and their associated costs. What are the on the lecture on query processing.
processing differences between simple, block and indexed
nested loop joins? How do sort-merge and hash joins work?
What are their relative advantages?
Reading: Elmasri(Chapter 15), Silberschatz(Chapter 12),
Corrigan(Chapter 6), Connolly(Chapter 20)
Query Processing 3(JC)
Lecture review — Query processing
This completes the lectures on query processing. The effects This class will review examples based
of selectivity on the choice of strategy. How can a cost
on the lecture on query processing.
function be constructed? Introduction to the assignment.
Reading: Elmasri(Chapter 15), Jain(Chapters 1–3)
Clustering(SMcK)
Oracle — Timing Queries
This lecture describes clustering and how it is used to build
This class look at different techniques
databases. What is clustering? Why is clustering necessary? for measuring the performance of
What types of clustering are possible? What are the
database queries.
advantages and disadvantages of clustering? What
applications require clustering? How does Oracle cluster
data? How does clustering compare to B+-Trees?
Reading: Oracle Concepts(Pages 5-23 – 5-27)
Denormalisation(SMcK)
Lecture Review — Clustering and
This lecture describes a process called denormalisation that is Denormalisation
used to improve the performance of databases. What is
This class will review the lectures.
denormalisation? Why is denormalisation necessary? What
alternatives methods could be used? What is the difference
between normalised, unnormalised and denormalised? How
is a database denormalised?
Reading: Corrigan(Chapter 5, page 69)
1,4
1,2,4
1,2
1
Spring Term
Week Lecture
Seminar
5/1
2,3
Oracle — Investigating query
execution
This class shall investigate techniques
for analysing query execution and
performance. We will use the tools
available in Oracle to illustrate each
technique.
12/1
19/1
Distributed Databases 1(JC)
This lecture describes the concept and the features of
distributed database systems. What are the needs for a
distributed database environment? What are the features of a
DDBMS? What models and platforms support distributed
databases? What are the alternatives to a distributed
database? What are the advantages and disadvantages of
distributed databases? Schema architecture for a DDBMS.
Reading: Bell(Chapters 1, 2 and 3), Date(Chapter 20),
Ozsu(Chapter 1 and 4), Elmasri(Chapter 25),
Connolly(Chapter 22 and 23)
Distributed Databases 2(JC)
This lecture considers the design and implementation issues
for distributed databases. What determines where the data is
stored? When should replication and fragmentation be used?
What are the various data storage models, their relative
strengths and weaknesses? How can concurrency be
controlled? How can the integrity of the database be
assured? What other management issues should be
considered in a DDBMS environment?
Reading: Bell(Chapters 4, 6, 7 and 8), Silberschatz(Chapter
19), Ozsu(Chapter 5 and 11), Connolly(Chapter 22 and 23)
Distributed Databases 3(JC)
This lecture appraises alternative strategies for query
processing in a distributed database environment. Why is
L/O
Lecture Review — Distributed
Databases
This class will review the lecture.
3
Lecture Review — Distributed
Query Processing
This class will review the lecture.
3
26/1
2/2
9/2
16/2
23/2
1/3
8/3
15/3
22/3
query optimisation particularly important in a DDB
environment? What are the alternative ways of joining
distibuted tables? How does a semi-join work?
Reading: Bell(Chapter 5), Silberschatz(Chapter 19),
Ozsu(Chapter 7, 8 and 9), Connolly(Chapter 22 and 23)
Extendible Hashing 1(SMcK)
Lecture Review — Extendible
This lecture describes a new type of hashing. What is static Hashing
hashing? What are the problems with static hashing? How This class shall review the Extendible
can extendible hashing solve these problems? What are the Hashing index that was introduced in
main components of an extendible hashing index? How is an the lecture. We shall compare the
extendible hashing index searched? How is data inserted into performance of the Extendible
or deleted from an extendible hashing index? What are the Hashing index against the B+-tree.
advantages and disadvantages of an extendible hashing index?
Reading: Silberschatz(Sections 8.5–8.7), Elmasri(Section
4.8)
Extendible Hashing 2(SMcK)
Lecture Review — Extendible
This is the second part of the lecture Extendible Hashing 1.
Hashing
This class will review the lecture.
Comparison — B+-Trees, Hashing, Clustering,
Lecture Review
Denormalisation(SMcK)
This class will review the lecture.
This lecture presents a comparison of different methods of
improving the performance of a database. Scenarios are
presented that demonstrate which techniques are best suited to
which problems. What are the advantages and disadvantages
of each technique? How is a particular method selected?
DBMS Resources - External Storage and Buffer
Resource scheduling
Management(JC)
CPU time allocation, disk and buffer
This lecture compares and contrasts buffer management
management. Oracle internals.
policies and the various physical storage media available for
supporting database operations. What is the extended storage
hierarchy? What are the characteristics of the various media?
What features and constraints affect performance? Can
performance be improved ?
Reading: Silberschatz(Chapters 11), Elmasri(Chapter 13)
Project Week
DBMS Resources - Parallelism (JC)
Lecture Review
This lecture considers parallel processing arrangements.
This class will review the lecture.
What are the main parallel database architectures? What are
their relative advantages and disadvantages? The cost of
parallel processing. I/O parallelism. RAID storage. What
parallel features are supported by a typical dbms(eg Oracle).
When is their use appropriate?
Reading: Silberschatz(Chapters 18 and 20), Ozsu(Chapter
13)
Multi-Attribute Indexing 1(SMcK)
Lecture Review
This lecture studies multi-attribute index structures. What is This class will review the lecture.
a multi-attribute index? What is the difference between a
multi-attribute index and a single attribute index such as a
B+-Tree? What types of query can a multi-attribute index be
used to answer? What problems exist when creating a
multi-attribute index? What types of multi-attribute exist?
Reading: Silberschatz(Section 8.9)
Multi-Attribute Indexing 2(SMcK)
Lecture Review
This is the second part of the lecture Multi-Attribute Indexing This class will review the lecture.
1.
Reading: Silberschatz(Section 8.9)
Schema Integration 1(SMcK)
Lecture Review
This lecture will look at the process of merging two or more This class will review the lecture.
databases to great a single database. What is schema
integration? Why is schema integration necessary? What
problems exist when merging databases? What strategies
may be used to merge schemas? What is the process fro
1
1
1,2,4
1
1
1
1
1,4
29/3
merging schemas?
Reading: Batini(Chapter 5), Elmasri(Pages 456–460)
Revision Lecture(SMcK)
Revision
Summer Term
Week Lecture
Seminar
26/4
Revision Lecture(JC)
Revision
3/5
Revision Lecture(SMcK)
Revision
L/O
Reading
Core
•
•
Elmasri and Navathe, Fundamentals of Database Design, McGraw-Hill, 2003.
Silberschatz, Abraham; Korth, Henry F. and Sudarshan S., Database System Concepts, McGraw Hill, 2001.
Recommended
•
•
•
•
•
•
•
•
•
•
•
•
Ramakrishnan, R., Database Management Systems, McGraw-Hill, 2002.
Connolly, Thomas and Begg, Database Systems, A Practical Approach to Design, Implementation and
Management, Addison-Wesley, 2002.
Date, Chris J, Introduction to Database Systems, Longman Higher Education, 1999.
Gurry, Mark and Corrigan, Peter, Oracle Performance Tuning, O’Reilly UK, 1997.
Ensor, Dave and Stevenson, Ian, Oracle Design, O’Reilly UK, 1997.
Gray, Jim, The Benchmark Handbook, http: //www.benchmarkresources.com/handbook/introduction.asp.
Harrison, Guy, Oracle SQL High Performance Tuning, Prentice Hall, 2001.
Jain, Raj, The Art of Computer Systems Performance Analysis Techniques for Experimental Design,
Measurement, Simulation, and Modeling, John Wiley and Sons, 1991.
Bell, David and Grimson, Jane, Distributed Database Systems, Addison-Wesley, 1992.
Ozsu, M. Tamer and Valduriez, Patrick, Principles of Distributed Database Systems, Prentice Hall, 1999.
Rodgers, Ulka, Denormalisation - Why, What and How? , Database Programming and Design, December,
1989.
Batini, C.; Lenzerini, M. and Navathe, S. B., A Comparative Analysis of Methodologies for Database
Schema Integration, ACM Computing Surveys, Vol. 18, 4, December, 1986.
Learning Outcomes (L/O)
1. Select from a range of extensible and non-extensible databases for a business requirement, as might be
demonstrated by contrasting how different database management system features are implemented.
2. Execute and evaluate performance benchmarking as the basis of selection between commercial products, as
might be demonstrated by evaluating the performance of a database management system.
3. Act as a DBA for a distributed database, as might be demonstrated by proposing the configuration of a
distributed database system.
4. To select from a range of software client-server components that will integrate to form a balanced system as
might be demonstrated by proposing a system configuration for a typical database system.