{"id":15872,"date":"2023-03-07T15:28:21","date_gmt":"2023-03-07T14:28:21","guid":{"rendered":"https:\/\/raf.edu.rs\/en\/?p=15872"},"modified":"2023-03-07T15:28:23","modified_gmt":"2023-03-07T14:28:23","slug":"advanced-databases","status":"publish","type":"post","link":"https:\/\/raf.edu.rs\/en\/subjects\/advanced-databases\/","title":{"rendered":"Advanced Databases"},"content":{"rendered":"\n<p><strong>Objectives and outcomes<br><\/strong>Students are familiar with the principles and elements of modern database management systems. Upon completion of the course, students will understand the internal functionality of a database management system. They will be able to analyse basic algorithms for query evaluation and concurrency control. They will be able to implement or modify existing database management system modules and evaluate their performances.<\/p>\n\n\n\n<p><strong>Lectures<\/strong><br>Physical architecture of a database management system. Memory space management. File management. Physical organisation of databases. In-memory databases. Tree-based indexing. Indexed Sequential Access Method (ISAM). Searching, inserting, deleting and duplicates. Key compression. Bulk loading B+ trees. Hash-based indexing. Static, extendible and linear hashing. Query evaluation. System catalogs. Algorithms for relational operations. External sorting. External Merge Sort. Use of B+ sorting trees. Evaluation of relational operators. Selection operations (without index &#8211; unsorted and sorted data, with index &#8211; index with B+ tree, hash index). CNF and index matching. Selections with disjunction. Projection operations. A Join operation. Set operations. Aggregation operations. Query optimization. Translating SQL queries into algebra. Equivalences of relational algebra (selections, projections, intersections and unions). Multiple relation queries. Nested subqueries. Cost-based and rule-based optimisations. Transaction management. ACID properties. Concurrent transactions. Lock-based concurrency control. Transaction support in SQL. Atomicity and rollback implementation. Implementation of distributed databases. Evaluation of parallel queries. Data partitioning. Non-relational and NoSQL databases. Deductive, temporal and spatial databases.<\/p>\n\n\n\n<p><strong>Practical classes<br><\/strong>MySQL open-source database management system. Architecture analysis and experimental modification of the following modules: Connection Manager, Thread Manager, Connection Thread, User Authentication, Access Control, Parser, Command Dispatcher, Query Cache, Optimizer, Table Manager, Table Modification, Table Maintenance, Status Reporting, Abstracted Storage Engine Interface, Storage Engine Implementations (MyISAM, InnoDB, MEMORY, Berkeley DB), Logging, Replication Master, Replication Slave, Client\/Server Protocol API.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Objectives and outcomesStudents are familiar with the principles and elements of modern database management systems. Upon completion of the course, students will understand the internal functionality of a database management system. They will be able &#8230; <a title=\"Advanced Databases\" class=\"read-more\" href=\"https:\/\/raf.edu.rs\/en\/subjects\/advanced-databases\/\" aria-label=\"More on Advanced Databases\">Read more<\/a><\/p>\n <a href=\"https:\/\/raf.edu.rs\/en\/subjects\/advanced-databases\/\" class=\"more-link\" title=\"Read more\">Read more<\/a>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[199],"tags":[],"class_list":["post-15872","post","type-post","status-publish","format-standard","hentry","category-subjects"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Advanced Databases - School of Computing<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/raf.edu.rs\/en\/subjects\/advanced-databases\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Advanced Databases - School of Computing\" \/>\n<meta property=\"og:description\" content=\"Objectives and outcomesStudents are familiar with the principles and elements of modern database management systems. Upon completion of the course, students will understand the internal functionality of a database management system. They will be able ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/raf.edu.rs\/en\/subjects\/advanced-databases\/\" \/>\n<meta property=\"og:site_name\" content=\"School of Computing\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-07T14:28:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-07T14:28:23+00:00\" \/>\n<meta name=\"author\" content=\"RAF Admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"RAF Admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/subjects\\\/advanced-databases\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/subjects\\\/advanced-databases\\\/\"},\"author\":{\"name\":\"RAF Admin\",\"@id\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/#\\\/schema\\\/person\\\/4e2166c781f2802c67414a1578c66a43\"},\"headline\":\"Advanced Databases\",\"datePublished\":\"2023-03-07T14:28:21+00:00\",\"dateModified\":\"2023-03-07T14:28:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/subjects\\\/advanced-databases\\\/\"},\"wordCount\":287,\"publisher\":{\"@id\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/#organization\"},\"articleSection\":[\"Subjects\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/subjects\\\/advanced-databases\\\/\",\"url\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/subjects\\\/advanced-databases\\\/\",\"name\":\"Advanced Databases - School of Computing\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/#website\"},\"datePublished\":\"2023-03-07T14:28:21+00:00\",\"dateModified\":\"2023-03-07T14:28:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/subjects\\\/advanced-databases\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/raf.edu.rs\\\/en\\\/subjects\\\/advanced-databases\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/subjects\\\/advanced-databases\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Homepage\",\"item\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Subjects\",\"item\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/subjects\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Advanced Databases\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/\",\"name\":\"School of Computing\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/#organization\",\"name\":\"School of Computing\",\"url\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/cropped-raf-engleski.png\",\"contentUrl\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/cropped-raf-engleski.png\",\"width\":400,\"height\":66,\"caption\":\"School of Computing\"},\"image\":{\"@id\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/#\\\/schema\\\/person\\\/4e2166c781f2802c67414a1578c66a43\",\"name\":\"RAF Admin\",\"sameAs\":[\"https:\\\/\\\/raf.app\"],\"url\":\"https:\\\/\\\/raf.edu.rs\\\/en\\\/author\\\/rafadmin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Advanced Databases - School of Computing","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/raf.edu.rs\/en\/subjects\/advanced-databases\/","og_locale":"en_US","og_type":"article","og_title":"Advanced Databases - School of Computing","og_description":"Objectives and outcomesStudents are familiar with the principles and elements of modern database management systems. Upon completion of the course, students will understand the internal functionality of a database management system. They will be able ... Read more","og_url":"https:\/\/raf.edu.rs\/en\/subjects\/advanced-databases\/","og_site_name":"School of Computing","article_published_time":"2023-03-07T14:28:21+00:00","article_modified_time":"2023-03-07T14:28:23+00:00","author":"RAF Admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"RAF Admin","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/raf.edu.rs\/en\/subjects\/advanced-databases\/#article","isPartOf":{"@id":"https:\/\/raf.edu.rs\/en\/subjects\/advanced-databases\/"},"author":{"name":"RAF Admin","@id":"https:\/\/raf.edu.rs\/en\/#\/schema\/person\/4e2166c781f2802c67414a1578c66a43"},"headline":"Advanced Databases","datePublished":"2023-03-07T14:28:21+00:00","dateModified":"2023-03-07T14:28:23+00:00","mainEntityOfPage":{"@id":"https:\/\/raf.edu.rs\/en\/subjects\/advanced-databases\/"},"wordCount":287,"publisher":{"@id":"https:\/\/raf.edu.rs\/en\/#organization"},"articleSection":["Subjects"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/raf.edu.rs\/en\/subjects\/advanced-databases\/","url":"https:\/\/raf.edu.rs\/en\/subjects\/advanced-databases\/","name":"Advanced Databases - School of Computing","isPartOf":{"@id":"https:\/\/raf.edu.rs\/en\/#website"},"datePublished":"2023-03-07T14:28:21+00:00","dateModified":"2023-03-07T14:28:23+00:00","breadcrumb":{"@id":"https:\/\/raf.edu.rs\/en\/subjects\/advanced-databases\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/raf.edu.rs\/en\/subjects\/advanced-databases\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/raf.edu.rs\/en\/subjects\/advanced-databases\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Homepage","item":"https:\/\/raf.edu.rs\/en\/"},{"@type":"ListItem","position":2,"name":"Subjects","item":"https:\/\/raf.edu.rs\/en\/subjects\/"},{"@type":"ListItem","position":3,"name":"Advanced Databases"}]},{"@type":"WebSite","@id":"https:\/\/raf.edu.rs\/en\/#website","url":"https:\/\/raf.edu.rs\/en\/","name":"School of Computing","description":"","publisher":{"@id":"https:\/\/raf.edu.rs\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/raf.edu.rs\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/raf.edu.rs\/en\/#organization","name":"School of Computing","url":"https:\/\/raf.edu.rs\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/raf.edu.rs\/en\/#\/schema\/logo\/image\/","url":"https:\/\/raf.edu.rs\/en\/wp-content\/uploads\/2023\/02\/cropped-raf-engleski.png","contentUrl":"https:\/\/raf.edu.rs\/en\/wp-content\/uploads\/2023\/02\/cropped-raf-engleski.png","width":400,"height":66,"caption":"School of Computing"},"image":{"@id":"https:\/\/raf.edu.rs\/en\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/raf.edu.rs\/en\/#\/schema\/person\/4e2166c781f2802c67414a1578c66a43","name":"RAF Admin","sameAs":["https:\/\/raf.app"],"url":"https:\/\/raf.edu.rs\/en\/author\/rafadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/raf.edu.rs\/en\/wp-json\/wp\/v2\/posts\/15872","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/raf.edu.rs\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/raf.edu.rs\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/raf.edu.rs\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/raf.edu.rs\/en\/wp-json\/wp\/v2\/comments?post=15872"}],"version-history":[{"count":1,"href":"https:\/\/raf.edu.rs\/en\/wp-json\/wp\/v2\/posts\/15872\/revisions"}],"predecessor-version":[{"id":15873,"href":"https:\/\/raf.edu.rs\/en\/wp-json\/wp\/v2\/posts\/15872\/revisions\/15873"}],"wp:attachment":[{"href":"https:\/\/raf.edu.rs\/en\/wp-json\/wp\/v2\/media?parent=15872"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/raf.edu.rs\/en\/wp-json\/wp\/v2\/categories?post=15872"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/raf.edu.rs\/en\/wp-json\/wp\/v2\/tags?post=15872"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}