Node 2
Node 2
It is expected that students studying CP1500 should know the following at the end of the subject: Information 1. Concept of information and its value 2. Information and its relationship with data and knowledge 3. Information and its various forms. 4. Information and its characteristics. 5. Information as commodity 6. Information technology and its uses Introduction to Databases 1. A brief history of evolution of the database software. 2. Meaning of the terms database and database management software (DBMS). 3. The main features of a database and a DBMS. 4. Advantages and disadvantages of using a DBMS. 5. Conceptual structure of a database system (including external, conceptual and internal view of data). 6. An example of the system architecture of a DBMS. 7. The role of a database administrator. The Relational Model 1. The relational data model and its components. 2. The properties of a relation. 3. The meaning of the terms relation, tuple, degree, cardinality, attribute, domain, candidate key and primary key. 4. The properties of a primary key. 5. The operations that relational algebra provides and what they do. These should include restriction, projection, cartesian product, equi-join, natural join, outer join, union, intersection, difference, and division. 6. The relational algebra notation. 7. Use of algebra to formulate simple queries. 8. Relational calculus notation and well-formed formulas. 9. Notation used in expressing queries in relational calculus. 10. Meaning of existential quantifier and universal quantifier. 11. Use of calculus to formulate simple familiar queries. 12. Relative merits of algebra and calculus and their relative power to express queries. 13. Structure of SQL queries and its relationship to calculus. 14. Commands available in SQL e.g., SELECT, FROM, WHERE, EXISTS, GROUP BY, HAVING, CREATE, UPDATE, DELETE, etc. 15. Formulation of simple familiar queries in SQL. 16. Use of SQL in data definition, updates, data insertion, deletion, and authorisation. 17. The concept of view and the motivations for using it. 18. Use of views for security control. 19. Updating of views. 20. Advantages and disadvantages of SQL. 21. Use of SQL as a host language. 22. The role of data integrity in the relational model. 23. The basic data integrity requirements: existential integrity (primary keys), referential integrity (foreign keys), domains and nulls. 24. Maintaining the above integrity constraints. ER Model 1. The importance of data modelling. 2. The concepts of an entity and a relationship. 3. The concepts of entity type, relationship type, attribute, primary key and domain. 4. The different types of relationships (1-1, 1-n and n-m).
5. The method of representing an ER Model by an ER Diagram. 6. Representation of attributes, relationship types and roles in an ER Diagram. 7. The concept of a weak entity and its characteristics. 8. Representation of a weak entity in the ER Diagram. 9. The database design processes using ER Modeling. 10. Limitations of the ER Modeling technique. Introduction to Databases 1. Understand the motivation behind the development of database technology. 2. Think of some interesting new examples of database applications. 3. Be able to think of advantages and disadvantages (of using DBMS) other than those listed in the lectures and the notes. 4. Understand what a database software system needs to be able to do and relate it to the system architecture in the notes. 5. Think of some problems other than those listed in the notes that might arise in maintaining a database system that the DBA may need to deal with. The Relational Model 1. Understand the reasons why a relation needs to have the properties listed in the notes. 2. Use all relational operators including the division operation in formulating relational algebra queries including all queries given in the tutorials as well as those that are of similar complexity but use a new database that you may have not seen before. 3. Deduce the meaning of complex queries. 4. Understand the properties of the relational operations and how some may be expressed in terms of others and be able to identify a set of primitive operations. 5. Be able to formulate queries in relational calculus including all those given in the tutorials as well as those that are of similar complexity but use a new database that you may not have seen before. 6. Be able to understand the relationship between the algebra and the calculus. 7. Be able to formulate queries in SQL including all those given in the tutorials as well as those that are of similar complexity but use a new database that you may not have seen before. 8. Be able to formulate a query in SQL in several different ways whenever that is possible. 9. Understand how queries requiring universal quantifier are formulated in SQL using a double negative use of the existential quantifier. 10. Understand various limitations on use of GROUP BY and HAVING commands. The ER Model 1. Given a description of a database, be able to identify entities and relationships between them. 2. Be able to build an ER Model and display it as an ER Diagram given the description of a database. 3. Given an ER Diagram, be able to describe the database and the constraints that apply to it. 4. Given an ER Diagram, be able to make changes to the Diagram to incorporate changes to the user requirements. 5. Given an ER Diagram, be able to translate it into a set of relations for implementation using a relational database system. 6. Be able to modify a given ER-Diagram to incorporate changes in the user requirements. 7. Be able to translate a given ER-Diagram into a set of relations that may be implemented using a relational database system.