Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
Computer Laboratory – Course pages 2015–16: Databases Skip to content | Access key help Search Advanced search A–Z Contact us Computer Laboratory Computer Laboratory Teaching Courses 2015–16 Databases Computer Design Computer Graphics and Image Processing Computer Networking Concurrent and Distributed Systems ECAD and Architecture Practical Classes Further Java Mathematical Methods for Computer Science Programming in C and C++ Prolog Semantics of Programming Languages Software Engineering Unix Tools Compiler Construction Computation Theory Databases Logic and Proof Artificial Intelligence I Complexity Theory Concepts in Programming Languages Economics, Law and Ethics Security I Course pages 2015–16 Databases Syllabus Course materials Information for supervisors Principal lecturer: Dr Timothy Griffin Taken by: Part IB Past exam questions No. of lectures: 12 Suggested hours of supervisions: 3 Prerequisite courses: None Aims The aim of the course is to cover the fundamentals of databases as seen from the perspective of application writers. The course covers schema design techniques, SQL, data warehouses, On-line Analytical Processing (OLAP), federated databases, and some aspects of the NoSQL movement. Lectures Introduction. What is a database system? Different roles : database implementor, database administrator, database applications developer, database user. This course will focus on database systems from the perspective of application developers. [1 lecture] Data models and query languages We explore and contrast two distinct data models: relational and semi-structured models. Relational database systems are the most widespread and typically provide SQL-based data querying and modification. We illustrate the basic constructs of SQL and On-Line Transaction Processing (OLAP). Some NoSQL databases (such as MongoDB) are based on semi-structured models, and have a more procedural means of inspecting data. [4 lecture] Modeling (some bit of) the real world in a database Entity-Relationship (ER) modeling for the relational model. Object-oriented modeling for semi-structured data. What is a good representation? What are the design tradeoffs involved? A persistent problem: data redundancy leads to update anomalies. Relational solution: normalization! Semi-structured solution: good luck pal! [3 lecture] Relational normal forms Functional dependencies (FDs) as a formal means of investigating redundancy. Relational decomposition. Schema normalization. Third normal form and Boyce-Codd normal form. [1 lecture] Schema evolution The real world is constantly changing and your database design has to change with it. Semi-structured solution: look mom, no schema! Relational solution: good luck pal! [1 lecture] Embracing redundancy If rarely updating but almost always reading, then normalization is too costly. On-line Analytical Processing (OLAP). OLTP versus OLAP. A somewhat related topic: federated databases. Data exchange languages such as XML and JSON. A close look at some federated databases from EBI (http://www.ebi.ac.uk/services). [2 lecture] Objectives At the end of the course students should be able to design entity-relationship diagrams to represent simple database application scenarios know how to convert entity-relationship diagrams to relational database schemas be able to program simple database applications understand the basic theory of the relational model and both its strengths and weaknesses be familiar with various recent trends in the database area. Recommended reading * Silberschatz, A., Korth, H.F. & Sudarshan, S. (2002). Database system concepts. McGraw-Hill (4th ed.). Ullman, J. & Widom, J. (1997). A first course in database systems. Prentice Hall. Date, C.J. (2004). An introduction to database systems. Addison-Wesley (8th ed.). © 2016 Computer Laboratory, University of Cambridge Information provided by Dr Timothy Griffin