Подтемы
- Relational Model
- MySQL
- SQL
- JDBC
- Connection Pooling
- Connector/J
- RDBMS
- RDBMS critique
- NoSQL
- NoSQL critique
- Concurrency control
- Crash recovery
Что должны знать в итоге:
Java-RDBMC: ORM mismatch, Dao, General Dao, ?
JDBC: 4 составляющих JDBC, простое соединение с базой для select/insert/update/delete, Driver, DriverManager, DataSource, Connection, Statement, PreparedStatement, ResultSet, connection pooling (c3p0),
RDBMS: нормальные формы, уровни изолированности транзакций, отношения один-ко-многим, многие-ко-многим, функциональные зависимости, топология типа "звезда", топология типа ???, правила Кодда, первичный ключ, внешний ключ, ограничения целостности
SQL: JOIN, GROUP BY, HAVING, корелированные подзапросы
MySQL: InnoDB vs MyISAM
Постановка задачи:
Quiz
Quiz может быть разного типа - singlrechoise / multichoise (1).
Quiz имеет один и только один правильный ответ (1).
Quiz может иметь обоснование ответа (0..1).
Обоснование ответа может содержать ссылки на внешние ресурсы типа URL (0..*) и типа Книги.
Quiz groups
Определены QG - не пустые множества Q. QG не может содержать один и тот же Q дважды.
Один Q может принадлежать нескольким QG.
Между QG определено отношение включение. QG("overriding") с QG("OOP").
Один Q не может принадлежать двум QG если они состоят в отношении включения или его замыкания.
Quiz relations
2Q могут быть полными синонимами, т.е. быть переформулировками друг друга. Полная синонимия - рефлексивна, симметрична и транзитивна.
2Q могут быть групповыми синонимами, т.е. быть однотипными но не идентичными вопросами в рамках одной группы. В рамках другой группы вопросы могут быть не групповыми синонимами.
2Q могут состоять в отношении усложнения.
2Q могут состоять в отношении обобщения.
Quiz tags
Q может быть отмечен любым количеством T (0..*). Одним и тем же T может быть отмечено любое количество Q (0..*).
User
x
Test
Тест состоит из ненулевого количества QG.
QG не может входить дважды в один и тот же тест.
QG может входить более чем в один тест.
Атрибутом отношения QG-входит-в-тест является количество вопросов, которые надо взять из группы. Количество больше 0, но не больше колва-вопросов в QG. Или доля. Доля больше 0, и не больше 1. Округление вверх.
User/Test History
x
- Relational Model
- MySQL
- SQL
- JDBC
- Connection Pooling
- Connector/J
- RDBMS
- RDBMS critique
- NoSQL
- NoSQL critique
- Concurrency control
- Crash recovery
Что должны знать в итоге:
Java-RDBMC: ORM mismatch, Dao, General Dao, ?
JDBC: 4 составляющих JDBC, простое соединение с базой для select/insert/update/delete, Driver, DriverManager, DataSource, Connection, Statement, PreparedStatement, ResultSet, connection pooling (c3p0),
RDBMS: нормальные формы, уровни изолированности транзакций, отношения один-ко-многим, многие-ко-многим, функциональные зависимости, топология типа "звезда", топология типа ???, правила Кодда, первичный ключ, внешний ключ, ограничения целостности
SQL: JOIN, GROUP BY, HAVING, корелированные подзапросы
MySQL: InnoDB vs MyISAM
Постановка задачи:
Quiz
Quiz может быть разного типа - singlrechoise / multichoise (1).
Quiz имеет один и только один правильный ответ (1).
Quiz может иметь обоснование ответа (0..1).
Обоснование ответа может содержать ссылки на внешние ресурсы типа URL (0..*) и типа Книги.
Quiz groups
Определены QG - не пустые множества Q. QG не может содержать один и тот же Q дважды.
Один Q может принадлежать нескольким QG.
Между QG определено отношение включение. QG("overriding") с QG("OOP").
Один Q не может принадлежать двум QG если они состоят в отношении включения или его замыкания.
Quiz relations
2Q могут быть полными синонимами, т.е. быть переформулировками друг друга. Полная синонимия - рефлексивна, симметрична и транзитивна.
2Q могут быть групповыми синонимами, т.е. быть однотипными но не идентичными вопросами в рамках одной группы. В рамках другой группы вопросы могут быть не групповыми синонимами.
2Q могут состоять в отношении усложнения.
2Q могут состоять в отношении обобщения.
Quiz tags
Q может быть отмечен любым количеством T (0..*). Одним и тем же T может быть отмечено любое количество Q (0..*).
User
x
Test
Тест состоит из ненулевого количества QG.
QG не может входить дважды в один и тот же тест.
QG может входить более чем в один тест.
Атрибутом отношения QG-входит-в-тест является количество вопросов, которые надо взять из группы. Количество больше 0, но не больше колва-вопросов в QG. Или доля. Доля больше 0, и не больше 1. Округление вверх.
User/Test History
x