Урок 1. Архитектура, средства и языки разработки
Требуемые условия завершения
Просмотреть
Цель данного урока:
- Познакомить слушателей с архитектурой фреймворка и принципами разработки в нем.
- Познакомить слушателей с базой данных Postgresql.
- Дать понять какие знания и навыки по работе с языком sql потребуются для дальнейшей работы.
- Ознакомить со структурой документации Postgresql.
- Дать понять какие знания и навыки по работе c языками scala и jexl потребуются для дальнейшей работы.
- Ознакомить со структурой документации scala и jexl.
Данный урок предоставляет:
- Обзор архитектуры.
- Основные понятия фреймворка.
- Основные понятия по работе с базой данных.
- Упражнения по языку sql.
- Упражнения по scala.
- Упражнения по jexl.
- Литературу для самостоятельного изучения.
9. Учебная схема для работы с sql
Схема для практики и упражнений состоит из набора данных для недавно созданного загородного клуба с перечнем участников. Данные содержат:
- Участников клуба
- Теннисные корты (объекты)
- Историю бронирования этих объектов
- Внимание:
-
- Не воспринимайте набор как пример хорошего дизайна. Этот набор данных разработан исключительно для поддержки упражнений. Схема базы данных имеет ряд недостатков.
Схема:
-- Участники CREATE TABLE cd.members ( --Идентификатор --memid = 0 служебная запись, для всех гостей memid integer NOT NULL, --Фамилия surname character varying(200) NOT NULL, --Имя firstname character varying(200) NOT NULL, --Адрес address character varying(300) NOT NULL, --Почтовый код zipcode integer NOT NULL, --Телефон telephone character varying(20) NOT NULL, --memid участника который рекомендовал текущего участника recommendedby integer, --Дата вступления joindate timestamp NOT NULL, CONSTRAINT members_pk PRIMARY KEY (memid), CONSTRAINT fk_members_recommendedby FOREIGN KEY (recommendedby) REFERENCES cd.members(memid) ON DELETE SET NULL ); -- Объекты CREATE TABLE cd.facilities ( --Идентификатор facid integer NOT NULL, --Наименование name character varying(100) NOT NULL, --Стоимость слота(bookings.slots) для участника membercost numeric NOT NULL, --Стоимость слота(bookings.slots) для гостя( memid = 0 ) guestcost numeric NOT NULL, --Первоначальные затраты initialoutlay numeric NOT NULL, --Затраты на ежемесячное обслуживание monthlymaintenance numeric NOT NULL, CONSTRAINT facilities_pk PRIMARY KEY (facid) ); -- История заказов CREATE TABLE cd.bookings ( --Идентификатор bookid integer NOT NULL, --Ссылка на объекты facid integer NOT NULL, --Ссылка на участников memid integer NOT NULL, --Время начала использования объекта starttime timestamp NOT NULL, --Интервал использования объекта, выражается слотами, 1 слот - полчаса slots integer NOT NULL, CONSTRAINT bookings_pk PRIMARY KEY (bookid), CONSTRAINT fk_bookings_facid FOREIGN KEY (facid) REFERENCES cd.facilities(facid), CONSTRAINT fk_bookings_memid FOREIGN KEY (memid) REFERENCES cd.members(memid) );