160 likes | 322 Views
SFDV3002. Introduction to Databases Spring, 2012. Major theme of SFDV3002. Database management systems (DBMS): What are they and what do they do? Defining, accessing, controlling Efficient multi-user access Database programming. Motivation. Databases are everywhere : Hospitals
E N D
SFDV3002 Introduction to Databases Spring, 2012
Major theme of SFDV3002 Database management systems (DBMS): • What are they and what do they do? • Defining, accessing, controlling • Efficient multi-user access • Database programming SFDV3002
Motivation • Databases are everywhere: • Hospitals • Local government • Human Genome • Virtual sports • Student records • Must design, implement, access and manage large, efficient, multi-user, corporate databases. large amounts of data often accessed simultaneously by large numbers of people SFDV3002
How many databases are you listed in? **Insert montage of local and international business and organisation logos (e.g., banks, government, police, retailers, financial, utilities, online services, etc., etc.). Examples above to get things started. Could animate appearance into logical groupings as listed in the notes. Suggest starting with your University logo.** SFDV3002
Abstract vs. concrete Abstract: • Systems (database) analysis and design • Conceptual modelling • “Traditional” (ERD) vs. object (UML) modelling Concrete (SFDV3002): • The Relational Model of Data • Database implementation and access • Management of large databases with multiple concurrent users SFDV3002
Conceptual level (e.g., ERD) Logical level (e.g., relational, SQL) Physical level (blocks, files, pointers) The “three-schema” (ANSI/SPARC) architecture SFDV3002
**modify as appropriate** Putting SFDV3002 in context • SFDV2002 • Information systems modelling and design • SFDV2004 • Application software development • SFDV3002 • SQL • Multi-user DBMS • Database applications • SFDV3003 • Systems analysis • Conceptual & logical modelling (relational, object) • SFDV3007 • Database admin • Distributed data management • Object DBMS • Decision support SFDV3002
Assumed knowledge & skills • Basic conceptual modelling (ERDs) (see Kifer ch. 4) • Basic relational model (relations, attributes, keys) SFDV3002
Overview of SFDV3002 Chapter 1: Relational database management systems • Motivation and functions • The Relational Model of Data • Relational Algebra Chapter 2 : • Conceptual Model Translation • Normalization SFDV3002
Overview of SFDV3002 Chapter 3: SQL • Database definition (tables, constraints, etc.) • Data manipulation (inserting, querying, etc.) Chapter 4: Multi-user database issues • Security • Transactions • Concurrent access and locking • Advanced integrity checking with triggers SFDV3002
Overview of SFDV3002 Chapter 5: Database programming with SQL • Server-side SQL programming • Oracle10g PL/SQL • Cursors • Procedures • Functions • Triggers • Packages SFDV3002
Why no objects? • Concepts applicable to both relational and object DBMSs. • RDBMSs predominant. • Lack of effective standards (ODMG). • Briefly revisit in SFDV3007. SFDV3002
Recall: the E-R approach(Kifer ch. 4) “many” “one” • PowerDesigner (Finkelstein) notation. • Conceptual model for data analysis. • Entities, relationships, attributes. • Cardinality, participation. Order_head Customer relationship “optional” “mandatory” SFDV3002
Recall: the E-R approach(Kifer ch. 4) “many” “one” • Oracle Designer (Barker) notation. • Conceptual model for data analysis. • Entities, relationships, attributes. • Cardinality, participation. Order_head Customer relationship “mandatory” “optional” SFDV3002
Recall: the Relational Model of Data(Kifer ch. 3) • Logical or implementation data model for most commercial DBMSs. • Relations/tables, attributes/columns, tuples/rows. • Candidate, primary & alternate keys. • Foreign keys. • Functional dependencies & normalisation. SFDV3002
What’s next? Relational database management systems • What are they? • Why are they useful? • What do/should they do? • The Relational Model of Data in more depth • Structural aspects • Operations • Integrity SFDV3002