Содержание
- 2. * Software Engineering Java DataBase Connectivity Это – интерфейс для организации доступа Java-приложений к реляционным базам
- 3. JDBC Connection Прежде чем использовать базы данных в Java-программах, полезно понять, что такое JDBC, и почему
- 4. Архитектура JDBC * Software Engineering Архитектура JDBC состоит их двух уровней: JDBC API: соединяет приложение с
- 5. * Software Engineering Прикладные программисты работают только с JDBC API При этом разработчики DB могут удобно
- 6. Типы JDBC драйверов JDBC-драйверы реализуют интерфейсы JDBC API при работе с соответствующим DB-сервером. Пакет java.sql из
- 7. Type 1: JDBC-ODBC Bridge Driver * Software Engineering JDDC Bridge используется для доступа к ODBC-драйверам, установленным
- 8. Type 2: JDBC-Native API JDBC-вызовы преобразуются в native C/C++ вызовы, которые уникальны для данной СУБД. Такие
- 9. Type 3: JDBC-Net pure Java Используется 3-х уровневый подход организации доступа к базам данных; JDBC-клиенты взаимодействуют
- 10. Type 4: 100% Pure Java Чисто Java-implemented драйвер взаимодействует по сети с СУБД, предоставляя наибольшую производительность;
- 11. * Software Engineering Типичные применения JDBC Традиционная модель «клиент-сервер» с богатым интерфейсом на клиенте (rich client
- 12. * Software Engineering Теперь чаще используют трех- (или N-) уровневую модель (N > 2), где клиент
- 13. * Software Engineering Трехуровневое приложение
- 14. Компоненты JDBC API JDBC API предоставляет следующие основные интерфейсы и классы: DriverManager: управляет списком DB-драйверов, сопоставляя
- 15. * Software Engineering The Structured Query Language (SQL) JDBC позволяет общаться с DB посредством SQL –
- 16. * Software Engineering Реляционные базы данных База данных – совокупность средств хранения/извлечения информации (не путать с
- 17. * Software Engineering Правила целостности (Integrity Rules) Реляционные базы соблюдают правила, обеспечивающие сохранность и доступность данных
- 18. * Software Engineering Пример – Employees Table Какой столбец (столбцы?) можно использовать как primary key? Почему
- 19. * Software Engineering Оператор SELECT SQL – язык, созданный для работы с реляционными базами даных; есть
- 20. * Software Engineering Следующий код выдаст result set, состоящий из всей таблицы: SELECT * FROM Employees
- 21. * Software Engineering Join Отличительной чертой RDBMS является возможность извлечения данных из нескольких таблиц с помощью
- 22. * Software Engineering Пример Join’а SELECT DISTINCT Employees.First_Name, Employees.Last_Name, Cars.License_Plate, Cars.Mileage, Cars.IssueDate FROM Employees, Cars WHERE
- 23. * Software Engineering Команды SQL Команда SQL делятся на две основные категории: Data Manipulation Language (DML);
- 24. * Software Engineering Result Sets и Cursors Строки, удовлетворяющие условию запроса, называются результирующим множеством – result
- 25. * Software Engineering Транзакции Разные пользователи могут общаться с базой одновременно; Требуется синхронизация для сохранения целостности
- 26. * Software Engineering Stored Procedures (Хранимые процедуры) Это – группа SQL-операторов, которую можно выполнить, вызвав по
- 27. * Software Engineering Метаданные Базы данных хранят пользовательские данные + информацию о самих себе; DBMS имеют
- 28. * Software Engineering Конфигурация JDBC Было и есть много DBMS – хороших и разных: IBM DB2,
- 29. Apache Derby Apache Derby ранее поставлялась вместе с JDK (до его последних сборок JDK8), но теперь
- 30. * Software Engineering Для начала работы с Derby: Заготовьте директорию, где будут ваши базы данных: например,
- 31. * Software Engineering Для таких дел удобно использовать plugin в Idea для запуска командных файлов (в
- 32. * Software Engineering Регистрация класса драйвера Derby автоматически должен это делать если в derby.jar есть запись
- 33. * Software Engineering Выполнение операторов SQL См. Хорстмана т.2, глава 5 про JDBC и примеры к
- 34. * Software Engineering Источники Учебник: Хорстманн т.2 глава 5 (11 издание) + Примеры кода Материалы семинара
- 35. Appendix: Как проверить существование таблицы Рассмотрим, как можно проверить существование таблицы в базе данных с помощью
- 36. while (resultSet.next()) { String name = resultSet.getString("TABLE_NAME"); String schema = resultSet.getString("TABLE_SCHEM"); System.out.println(name + " on schema
- 37. Проверка существования таблицы Если мы хотим проверить существование таблицы с помощью объекта DatabaseMetaData, нам не надо
- 38. Замечание. Хотя SQL не является case-sensitive, реализация метода getTables() – является case-sensitive. Даже если мы определим
- 39. Проверка существования таблицы с помощью SQL Хотя использовать DatabaseMetaData удобно, мы можем захотеть использовать в тех
- 40. Appendix: разные Java embedded СУБД Встроенная база данных – это база данных, которая является составной частью
- 41. Встроенная конфигурация * Software Engineering
- 43. Скачать презентацию