• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Базы данных

2021/2022
Учебный год
RUS
Обучение ведется на русском языке
5
Кредиты
Статус:
Курс обязательный
Когда читается:
2-й курс, 1, 2 модуль

Преподаватели


Лядова Людмила Николаевна

Программа дисциплины

Аннотация

Слушатели курса должны развить навыки и понимание методологии проектирования баз данных и проверки их структурной правильности, внедрения баз данных и прикладного программного обеспечения в реляционной модели, а также в парадигме MAPreduce. Должны уметь использовать языки запросов, в первую очередь SQL, и другого программного обеспечения, поддерживающего базы данных; применять теорию в основе различных моделей баз данных и языков запросов; реализовывать политики безопасности и целостности, относящиеся к базам данных; работать в групповых настройках для разработки и реализации проектов баз данных
Цель освоения дисциплины

Цель освоения дисциплины

  • Can design conceptual, logical and physical relational data models.
  • Can compose queries to relational databases using relational algebra, tuple relational calculus and SQL.
  • Apply methods of database design, including entity-relationship approach and normalization-based approach.
  • Knows and is able to apply database application design and development methods usable for object-oriented program systems, including object-relational mappers, its advantages and disadvantages.
  • May reason on database systems performance based on knowledge models and methods of internal organization of relational databases including file storage, indexing, query processing and transaction management issues.
Планируемые результаты обучения

Планируемые результаты обучения

  • Able to build conceptual data models
  • Able to compose SQL queries using set (and bag) operators.
  • Able to decompose tables into BCNF and/or 3NF compliant tables.
  • Able to express queries using relational algebra
  • Able to find keys given a set of functional dependencies
  • Able to identify tables that are not normalized
  • Able to translate query from English to SQL
  • Able to write Java programs that interacts with a DBMS server via the JDBC API.
  • Able to write single table SQL queries.
  • Able to write SQL aggregation queries involving GROUP BY and HAVING clauses.
  • Able to write SQL queries with correlated subqueries.
  • Able to write SQL statements to change (insert/update/delete) data in tables
  • Can analyze the performance of different storage and indexing strategies
  • Have an idea of Databases as discipline
  • Know 3-level X3/SPARC database architecture.
  • Know advantages and applicability of distributed database systems
  • Know applicability of early data models: hierarchical and network.
  • Know applicability of inverted index for data access
  • Know basic relational model concepts
  • Know distinct features and applicability of object-oriented data model
  • Know distinct features and applicability of object-relational data model
  • Know how to use UML class diagrams to represent conceptual data models
  • Know method of entity-relationship modeling
  • Know relational algebra operators under set semantics
  • Know software components and functions of distributed DBMS.
  • Know the history of data management approaches
  • Understand 1NF, 2NF, BCNF and 3NF
  • Understand client-server computing in the context of DBMSs
  • Understand difference between SQL and procedural SQL-based languages
  • Understand distributed query processing.
  • Understand functional dependencies and their relationship to keys
  • Understand how a host programming language environment interacts with the SQL environment
  • Understand how data is stored using storage media in a DBMS
  • Understand how different indexing techniques work
  • Understand how queries are processed, optimized and evaluated in a DBMS.
  • Understand how query execution plans are transformed/re-written.
  • Understand how the cost of a query execution plan is estimated.
  • Understand notion of data independence
  • Understand Recovery techniques used to recover from crashes
  • Understand relational algebra operators including extended operators under both set and bag semantics
  • Understand relational data model concepts and principles
  • Understand relational integrity constraints
  • Understand set semantics and bag semantics
  • Understand storage media and their basic properties
  • Understand the anomalies that occur without ACID
  • Understand the basic concepts of database systems.
  • Understand the difference between different types of query languages
  • Understand the locking protocols used to ensure Isolation
  • Understand the logging techniques used to ensure Atomicity and Durability
  • Understand transactions and their properties (ACID)
  • Understand triggers creation and usage in SQL
  • Understand views creation and usage in SQL
  • Understand what indexes are for and how to use them.
  • Understand what is a query execution plan
  • Understand why and how data needs to be indexed
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Introduction into data management
  • Data Modeling
  • Database Design: E/R and UML Approaches
  • Relational Model
  • Relational Database Design
  • Relational Query Languages
  • SQL: Structured Query Language
  • Application Design and Development
  • Storage and File Structure
  • Indexing and Hashing
  • Query processing
  • Transaction management
  • Distributed and parallel databases
Элементы контроля

Элементы контроля

  • неблокирующий midterm test
  • неблокирующий essay
  • неблокирующий quiz
  • неблокирующий group project
    Students will work in groups of up to 5 students towards designing and development of a relational database. Topics might be suggested by lecturer as well as proposed by students.
  • блокирует часть оценки/расчета written exam
  • неблокирующий Work on seminars
  • неблокирующий midterm test
  • неблокирующий essay
  • неблокирующий quiz
  • неблокирующий group project
    Students will work in groups of up to 5 students towards designing and development of a relational database. Topics might be suggested by lecturer as well as proposed by students.
  • блокирует часть оценки/расчета written exam
  • неблокирующий Work on seminars
Промежуточная аттестация

Промежуточная аттестация

  • 2021/2022 учебный год 1 модуль
  • 2021/2022 учебный год 2 модуль
    0.14 * essay + 0.28 * group project + 0.14 * midterm test + 0.14 * quiz + 0.3 * written exam
Список литературы

Список литературы

Рекомендуемая основная литература

  • Foster, E. C., & Godbole, S. (2016). Database Systems : A Pragmatic Approach (Vol. Second edition). [United States]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1174505
  • Petrov, A., & O’Reilly for Higher Education (Firm). (2019). Database Internals : A Deep Dive Into How Distributed Data Systems Work (Vol. First edition). Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2250514

Рекомендуемая дополнительная литература

  • Celko, J. (2014). Joe Celko’s SQL for Smarties : Advanced SQL Programming (Vol. Fifth edition). Amsterdam: Morgan Kaufmann. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=924899
  • Connolly, T. M., & Begg, C. (2015). Database Systems: A Practical Approach to Design, Implementation, and Management, Global Edition (Vol. Sixth edition, Global edition). Harlow: Pearson. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1419568
  • Databases reference sheets: Date with Java, SQL, XML, JAXB, JDBC, JPA, JPA Inheritance / Rodrigo García Carmona. (2016). Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.991AD36F
  • Date, C. J. (2015). SQL and Relational Theory : How to Write Accurate SQL Code (Vol. Third edition). Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1099367
  • Date, C. J. (2016). The New Relational Database Dictionary : Terms, Concepts, and Examples (Vol. New and expanded edition). Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1136522
  • Haq, Q. M. R. U. (2016). Data Mapping for Data Warehouse Design. Amsterdam: Morgan Kaufmann. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1115852
  • Jukic, N., Vrbsky, S., & Nestorov, S. (2017). Database Systems : Introduction to Databases and Data Warehouses. Burlington, Virginia: Prospect Press. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1562389
  • Mohanty, H., Bhuyan, P., & Chenthati, D. (2015). Big Data : A Primer. New Delhi: Springer. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1020194
  • Ottinger, J. B., Linwood, J., & Minter, D. (2016). Beginning Hibernate : For Hibernate 5 (Vol. Fourth edition). [United States]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1360349
  • Rad, R. (2016). Mastering Hibernate. Birmingham, UK: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1239416