Databases
Lecturers: |
Sergey Chidemyan, Anna Malkhasyan |
Classes: |
1 lecture and 1 practical class per week
|
Short description
This course will cover basic knowledge necessary for constructing and using Database Systems. The course will start with intensive introduction of SQL language. Then, we will pass to the architectural elements of database systems, i.e. how to store database systems, how to execute and optimize requests. The second half of the course will focus on work with databases using ADO.NET technology
Requirements
Basic knowledge: Knowledge of higher mathematics at the level of first year engineering.
Homework:: Assignments will be given once a week or once in two weeks. The answers must be submitted within 1-2 weeks. Deadlines will be announced during classes. At the end of the 2nd term, the students must do a software project.
Assessment
50% of grading is based on homework, the other 50% is based on two on-going tests.
Textbooks
- Abraham Silberschatz, Henry Korth, S. Sudarshan: “Database System Concepts”
- Raghu Ramakrishnan, Johannes Gehrke : “Database management systems, 3-rd edition”
- Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom: “Database Systems: The Complete Book“
- ADO.NET
Content
First term
- ER model
- Relational database design
- Simple SQL queries
- Theory of normal forms
- Grouping data with SQL
- Relational Algebra
- Joins, Subqueries
- Physical Storage of database. Files, Indices
- Query Processing
- Logical and physical operators. Mapping of logical operators to physical operators
- Query optimization
Second term
- Connection object in ADO.NET
- Connection Pooling. .NET framework Data Providers
- Command object in ADO.NET, DataReaders. MARS feature in ADO.NET
- DataSet and DataAdapter objects
- Introduction to LINQ