Nazwa przedmiotu:
Data Bases
Koordynator przedmiotu:
Prof dr hab. Henryk Rybinski
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Computer Science
Grupa przedmiotów:
Technical Courses
Kod przedmiotu:
EDABA
Semestr nominalny:
7 / rok ak. 2015/2016
Liczba punktów ECTS:
6
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- lectures attendance: 15 x 2 h = 30 h; - preparation to lectures (reviewing slides, notes and a textbook): 30 h; - preparation to tests: 20 h - laboratoryand tutorial classes attendance: 13 x 2.33 h = 30 h ; - preparation to laboratories (learning exemplary lab tasks, reviewing slides, notes and a textbook): 40 h; Total: 30 h + 30 h+ 20 h + 30 h+ 40 h = 150 h 1 ECTS =25 hrs ECTS# = 6
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
2 ECTS
Język prowadzenia zajęć:
angielski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
1,2 ECTS
Formy zajęć i ich wymiar w semestrze:
  • Wykład30h
  • Ćwiczenia15h
  • Laboratorium15h
  • Projekt0h
  • Lekcje komputerowe0h
Wymagania wstępne:
Limit liczby studentów:
30
Cel przedmiotu:
Students should get familiar with the basic concepts of database systems. They should become familiar with the theoretical background of relational databases and their transactional work. In addition a physical level of relational databases will be presented. Students should learn designing simple database applications, and should practice in depth the database languages, in particular SQL.
Treści kształcenia:
The lecture introduces students into the area of databases. Basic concepts and notions of database management systems (DBMS) and their architecture will be presented. Fundamentals of relational databases will be presented. Principles of designing databases will be presented and discussed. Basic tools for designing database applications, such as E-R diagrams, will be presented and discussed. Relational query languages, such as QBE, and SQL, will be presented. Paradigms of transactionality of databases will be presented. Introduction (4h): Basic notions, architecture of database systems, main actors, database schema, DDL and DML languages, DBMS's functions; data structures, data levels (conceptual, logical and physical); independence between the levels. Introduction to designing databases (2h): ER model. Principles of describing database structures by means of entities, classes and relationships among them. Basic design decisions on conceptual level (mapping relationship classes to entity classes, multivalued and optional attributes, weak and strong relationships, etc.). Specification of database structure in DDL. Relational model (4 h): Relation as a mathematical concept, relational schema. Integrity constraints - formal approach. Relational algebra (with extensions by Date), tuple-oriented calculus, domain-oriented calculus. SQL as a database language (6 h): DML constructs in SQL: SELECT phrase as a specification of a sequence of operations on tables. Syntax and semantics of basic SELECT phrases, conceptual processing order of sections (clauses). Acceptable expressions in particular clauses. Nested constructs: correlated and uncorrelated sub-queries. Principles of formulating queries in the form of SELECT expressions: equivalent forms. Declarative and procedural semantics of the SELECT expressions. Three-valued logic in SQL: a problem of NULL values, anomalies resulting from NULL values. Designing relational databases - revisited (6 h) Notion of a key of relation, functional dependencies, Armstrong axioms, schemata decomposition, normal forms 1NF, 2NF, and 3NF, normalization of relational schema. Multivalued dependencies, 4NF. Mapping of ER to relational model. Defining domain and semantic integrity constraints. Description of database structure by means of data dictionary. Physical level of data (4 h): Record storage formats, storage of fixed length and variable length data, indexing structures, primary and secondary indexes, hash coding, ISAM, B-tree family data structures, operations on the indexes. Transaction processing (4): the concept of transaction, state diagram for transaction execution (commit, rollback, etc.), execution schedule, serializability of the schedule, testing serializability, concurrency control, locking mechanisms, protocols (2PL), time stamping. Tutorials (classes) Tutorials consist of 5 main topics: 1. modeling ER diagrams: creating ER diagram based on a given description and discussion on design decisions; 2. SQL queries: based on a given sample database schema students practice various SQL constructions, 3. normalization: analysis of functional dependencies existing in given database schemas and transformation of the schemas to higher normal forms, transformation of an ER diagram to the relational model 4. physical level of data: B-tree family of indexes (adding and removing elements from these data structures), using different types of indexes, 5. transactions: database consistency, anomalies of concurrent data access, transaction isolation levels, locking mechanisms, deadlocks, protocols. Labs Within the laboratory a small project is performed in the course of the consecutive meetings. Its purpose is to design a database structure for a simple database system and to define its relational implementation with a CASE tool. Implemented database is then filled with sample data and enriched with typical database mechanisms. The course comprises of the following laboratory tasks: 1. Introduction to relational databases, operations on tables, SQL query language • sample database structure overview , • simple queries. 2. Design and implementation of a simple relational database • design of a database structure in the form of an ER diagram, • analysis and modifications of a generated DDL-code, • integrity constraints, • preparation of SQL queries realizing operations according to functional assumptions. 3. Stored procedures • stored procedures and functions returning scalar values and tables, • triggers. 4. Indexes • selection of indexes for the sample database, • analysis of query execution plans.
Metody oceny:
(A). The tutorials end with a written test, where the students solve simple tasks and can earn up to 40 points. The minimum to pass is 20 points. Partial notes for Tutorial are set as follows: 20 p – 23p = 3 24 p – 27 p = 3.5 28 - 30 p = 4.0 31p - 35p = 4.5 36p – 40p = 5 (B). Additionally, the possible score for the Laboratory is the note between 2 (min) and 5 (max). For every task the student has to obtain a note between 3 and 5 to pass. As a final note for the Lab an average from the 4 lab tasks is taken (provided that all tasks are passed). The obtained average is the second partial note (between 3 and 5). If the student receives 4 or more from (A) and (B), the average from (A) and (B) is translated to the final note for the subject, according to the following scheme: 5 = A 4,5 = B+ 4 = B 3,5 = C+ 3 = C 2 = D Otherwise the student has to take the written exam (to access the examination the student has to pass successfully (B). The exam consists of 5 tasks where the student can earn maximum 50 points, which are translated into grades in the following manner: 46-50 points = A 41-45 points = B+ 36-40 points = B 31-35 points =C+ 26-30 points = C 0-25 points = D
Egzamin:
tak
Literatura:
1. R. Elmasri, S. Navathe "Fundamentals of Database Systems", 2009 2. C.J. Date, "An Introduction to Database Systems" 2003 Complementary positions 3. D.J. Flynn: Information Systems Requirements: Determination and Analysis 4 V. Zwass: Management Information Systems 5. Ullman J. Priciples of Database and Knowledge Base Systems
Witryna www przedmiotu:
http://eres.elka.pw.edu.pl/eres_en/wwersje_en$.startup?Z_ID_PRZEDMIOTU=EDABA
Uwagi:

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Efekt EDABA_W01
Having completed the subject, the students will be familiar with the database management systems and the theoretical backgrounds of relational database model, as well as transactionality of the database systems. Inadditioan they will know they techniques for organizing data at the physical level. They will be familiar with the paradigms of relational database languages.
Weryfikacja: Homework, laboratory experiments, classwork, tests, exams
Powiązane efekty kierunkowe: K_W18
Powiązane efekty obszarowe: T1A_W04, T1A_W05, T1A_W06, T1A_W07

Profil ogólnoakademicki - umiejętności

Efekt EDABA_U01
Students will be able to design a simple database application. They will be fluent in designing schema of relational database by defining it with ER diagrams and providing an SQL schema. <BR>They can prepare in English a proposal for the application design, justify the prepared ER diagrams and prepare the corresponding SQL expressions. They will be able to work in a team on a DBMS applicaiton, prepare a technical documentation
Weryfikacja: Exams, tests during labs
Powiązane efekty kierunkowe: K_U03, K_U10, K_U13, K_U15
Powiązane efekty obszarowe: T1A_U03, T1A_U14, T1A_U14, T1A_U15, T1A_U16, T1A_U14