BSc:DataModelingDatabasesI
Data Modeling and Databases I
- Course name: Data Modeling and Databases I
- Course number: BS-
Course characteristics
Key concepts of the class
- Data Modeling
- Databases
What is the purpose of this course?
Software development has been paired since early days with management of storage and persistency tools. In this course, the classic approach to relational databases will be presented from the design phase via entity-relationship diagrams to the implementation via queries formulated in Structured Query Language (SQL). Students will learn how to model data and use relational databases.
Course Objectives Based on Bloom’s Taxonomy
- What should a student remember at the end of the course?
By the end of the course, the students should be able to recognize and define
- Define what software requirements are
- List different commercial and non-commercial DBMS
- Define Entity Relationship model
- List different kind of operators of Relational Algebra
- Define Normal Forms and Functional dependencies
- List basic clauses of SQL queries
- What should a student be able to understand at the end of the course?
By the end of the course, the students should be able to describe and explain (with examples)
- Describe the basic machinery behind DBMS
- Explain Strengths and weaknesses relational model
- Explain the objectives of the normalization process
- Abstract systems using ER model
- What should a student be able to apply at the end of the course?
By the end of the course, the students should be able to apply
- Formally modelling a database system
- Reasoning requirements collected from stakeholders and model them using ER diagrams
- Coding in programming languages and interfacing with SQL APIs
- Using transformation approaches to match ER diagrams and relational model
Course evaluation
Proposed points | ||
---|---|---|
Labs/seminar classes | 20 | 30 |
Interim performance assessment | 30 | 30 |
Exams | 50 | 40 |
If necessary, please indicate freely your course’s features in terms of students’ performance assessment: None
Grades range
Proposed range | ||
---|---|---|
A. Excellent | 90-100 | 80-100 |
B. Good | 75-89 | 65-79 |
C. Satisfactory | 60-74 | 50-64 |
D. Poor | 0-59 | 0-49 |
If necessary, please indicate freely your course’s grading features: The semester starts with the default range as proposed in the Table 1, but it may change slightly (usually reduced) depending on how the semester progresses.
Resources and reference material
Textbook
- Handouts supplied by the instructor
Course Sections
The main sections of the course and approximate hour distribution between them is as follows:
Section | Section Title | Teaching Hours |
---|---|---|
1 | Data Modeling | 48 |
2 | Databases | 42 |
Section 1
Section title:
Data Modeling
Topics covered in this section:
- Requirements Elicitation and Use Cases
- Entity-Relationship model and diagrams
- Relational Algebra and model
- Mapping ER model into relational model
What forms of evaluation were used to test students’ performance in this section?
|a|c| & Yes/No
Development of individual parts of software product code & 1
Homework and group projects & 1
Midterm evaluation & 1
Testing (written or computer based) & 1
Reports & 1
Essays & 0
Oral polls & 0
Discussions & 1
Typical questions for ongoing performance evaluation within this section
- Design the ER diagram considering specific requirements
- Given a ER diagram list all entities, and for each entity indicate whether it is a strong or weak entity
- Is the connection existing between a weak entity type and its owner called a identifying relationship?
- Given a query expressed in Relational Algebra explain its functioning and objectives
Typical questions for seminar classes (labs) within this section
- Design the ER diagram considering specific requirements
- Is it true that an entity has properties which uniquely distinguish that entity?
- Can an attribute have more than one value?
- Weak entity sets must have total participation in the identifying relationship set?
- Are Joins are compound operators involving union, selection, and (sometimes) projection?
Test questions for final assessment in this section
- Design the ER diagram considering specific requirements
- Given a ER diagram list all entities, and for each entity indicate whether it is a strong or weak entity
- Should a Software Requirements Document include both user and system requirements?
- Given a DB schema explaining what specific queries expressed in RA compute
Section 2
Section title:
Databases
Topics covered in this section:
- SQL
- Hints on NOSQL
- Database Application Development
- Normalization
- Physical Database Organization - hints
What forms of evaluation were used to test students’ performance in this section?
|a|c| & Yes/No
Development of individual parts of software product code & 1
Homework and group projects & 1
Midterm evaluation & 1
Testing (written or computer based) & 1
Reports & 1
Essays & 0
Oral polls & 0
Discussions & 1
Typical questions for ongoing performance evaluation within this section
- Given a query in RA express it in SQL
- Given a query in SQL express it in RA
- Given a schema assess if it is normalized according to some normal form, if not normalize it
- Provide the definition of the normal forms
Typical questions for seminar classes (labs) within this section
- Given a query in natural language code it in SQL
- Connecting a programming language to SQL API and execute specific query
- Given a query in SQL and some specific data determine the output of the query
- Given a query in RA code it in SQL
Test questions for final assessment in this section
- Given a schema assess if it is normalized according to some normal form, if not normalize it
- Design the ER diagram considering specific requirements
- Given a ER diagram transform it into a DB schema
- Given a query in RA code it in SQL
- Given a query in SQL and some specific data determine the output of the query