Курс не требует каких-то базовых понятий для его прохождения, потому что дает подробные и актуальные знания по реляционным базам данных на примере одной из лучших в настоящее время СУБД PostgreSQL, и языку для работы с ними - SQL. Хотя стандарт SQL будет применим для любых других реляционных баз данных, поэтому не стоит переживать, что вы используете другую СУБД на своем проекте.
Сам курс разбит на 3 основные части:
базовый уровень
стандартный уровень
продвинутый уровень
Для начинающих можно закончить на первых двух уровнях и в последующем вернуться к последнему, но обязательно нужно понимать со временем все из перечисленных! Курс содержит много практических занятий и покрывает полностью все аспекты реляционных баз данных:
определения и создания баз данных, схем, таблиц и полей этих таблиц (DDL)
создание SQL запросов для получения данных (DML)
оконные функции
B-Tree индексы
планы выполнения запросов
работа через командную строку с СУБД
создание dump базы данных и, наоборот, накатывание схемы и данных СУБД из него
что такое DWH и ее лучшим представителем от компании Google - BigQuery
затронем тему NoSQL с теоремой CAP.
После окончания всех уровней этого курса, вы будете уверенно владеть реляционными базами данных, иметь представление о NoSQL хранилищах и почему они все больше набирают популярность (но никогда не заменять реляционные!) и спокойно себя чувствовать на любом реальном проекте.
Посмотреть больше
Это пробный урок. Оформите подписку, чтобы получить доступ ко всем материалам курса. Премиум
Ограничение времени просмотра
Вы можете просматривать пробный урок только 10 минут. Получите полный доступ, чтобы смотреть без ограничений.
Меня зовут Денис, мне 30, а программирование мой близкий друг. Уже на протяжении 10 лет оно со мной идет рука об руку и помогает реализовываться в жизни. Чуть не забыл, я именно backend разработчик. То есть я разрабатываю архитектуру и логику приложений, а не отвечаю за его внешний вид. В данный момент я работаю в однойиз самых крупных компаний - Google. А также обучаю Java программированию на своих курсах DMdev, так как именно Java является моим
Udemy - одна из самых больших площадок в мире по доставке обучающего контента от разных авторов всего мира. Присутсвуют курсы практически на любую тему.
у меня тоже Ошибка при скачивании архива и почемуто все курсы этого автора ЗАВИСАЮТ
Anonymous
не качает архивом(
Anonymous
@admin, please update the course
hazartilirot
Lesson 26, 37:31, опять неправильно! Во-первых, на мой взгляд, чересчур сложная конструкция, это лично моё мнение, у меня вариант проще для человеческого понимания. Во-вторых, в условиях задачи сказано МЕЖДУ Минском и Лондоном. Денис рассматривает только одно направление, почему? Я не вижу никаких ограничений, стало быть мы должны учитывать и обратный перелёт от Лондона до Минска.
select count(*) as "total flights",
min(f.arrival_date - f.departure_date)::time as "min flight's duration",
max(f.arrival_date - f.departure_date)::time as "max flight's duration"
from flight f
where
(
(f.departure_airport_code = 'MNK' and f.arrival_airport_code = 'LDN')
or
(f.departure_airport_code = 'LDN' and f.arrival_airport_code = 'MNK')
) and f.status = 'ARRIVED';
Всего таких перелётов: 4
Минимальный перелёт: 03:11:00,
Максимальный перелёт: 03:45:00
fatumepta
hazartilirot
Решил интуитивно так же. Единственное - WHERE у меня, кмк, по проще.
SELECT max(arrival_date - departure_date)::time max,
min(arrival_date - departure_date)::time min,
count(id) total
FROM flight
WHERE departure_airport_code IN ('MNK', 'LDN')
AND arrival_airport_code IN ('MNK', 'LDN')
AND status = 'ARRIVED';
redfan
hazartilirot
А чего не продолжил дальше?) И 7 пункт тоже не совсем верно) Он находит процент от общего числа tickets, а нужно от общего числа имен без повторений)
hazartilirot
lesson 26 33:22 - ха-ха-ха, а вот, и неправильно)
select f.id, f.arrival_date - f.departure_date as "flight's duration"
from flight f
where f.status = 'ARRIVED'
order by "flight's duration" desc
limit 2;
А всё потому, что рейс под ID 6 имеет статус - отменён - то есть, как можно рассматривать его продолжительность, если самолёт никуда не летал? Нужно было исключить в условии, и рассматривать только те, которые ПРИБЫЛИ.
hazartilirot
lesson 26, 19:30 - Простите, какой позавчера? Позавчера это было у Дениса, а я смотрю в 2023 году, дата существенно отличается.))))) Интервалы полезно знать, однако, условия весьма странные)
В общем, я использовал вот этот сайт, сразу же будет писать разницу
https://howlongagogo.com/date/2020/december/18
кастить тип нужно с обоих сторон, чтобы сравнивать дату с датой, иначе, на найдётся, т.к. с левой стороны ещё и время указано. Уверен, Денис об этом скажет) Просто, я не дошёл ещё до этого
and departure_date::date = (now() - interval '2 years 3 months 8 days')::date;
hazartilirot
Lesson 26 04:34, ничего не понимаю
aircraft (самолет)
id
model (модель самолета - unique)
если уникальный, значит должно быть вот так:
create table aircraft
(
id int primary key generated by default as identity,
model varchar(64) unique not null
)
видимо ошибся, Дёня.
hazartilirot
Lesson 16 - я не нашёл у него в репозитории данных запросов, поэтому пришлось самому набирать, оставляю здесь для манипуляций, всё остальное набираем и практикуем своими ручками)
create database book_repository;
jdbc:postgresql://localhost:5432/book_repository
create table author
(
id int primary key generated by default as identity,
first_name varchar(128) not null,
last_name varchar(128) not null
);
create table book
(
id bigint primary key generated by default as identity,
name varchar(128) not null,
year smallint not null,
pages smallint not null,
author_id int references author (id)
);
insert into book (name, year, pages, author_id)
values ('Java. Библиотеку профессионала. Том 1', 2010, 1102, (SELECT id FROM author WHERE last_name = 'Хорстманн')),
('Java. Библиотеку профессионала. Том 2', 2012, 954, (SELECT id FROM author WHERE last_name = 'Хорстманн')),
('Java SE 8. Вводный курс', 2015, 203, (SELECT id FROM author WHERE last_name = 'Хорстманн')),
('7 навыков высокоэффективных людей', 1989, 396, (SELECT id FROM author WHERE last_name = 'Кови')),
('Разбуди в себе исполина', 1991, 576, (SELECT id FROM author WHERE last_name = 'Роббинс')),
('Думай и богатей', 1937, 336, (SELECT id FROM author WHERE Last_name = 'Хилл')),
('Богатый папа, бедный папа', 1997, 352, (SELECT id FROM author WHERE last_name = 'Кийосаки')),
('Квадрант денежного потока', 1998, 368, (SELECT id FROM author WHERE last_name = 'Кийосаки')),
('Как перестать беспокоиться и начать жить', 1948, 368, (SELECT id FROM author WHERE last_name = 'Карнеги')),
('Как завоевывать друзей и оказывать влияние на людей', 1936, 352,
(SELECT id FROM author WHERE last_name = 'Карнеги'));
piraterover
Заставка как в новостях ЧП в 90-е))) Из всех курсов этот мне позволил понять материал лучше остальных!
ussick79
В курсе есть раскрытие понятий триггеры, процедуры, транзакции?
qooba
курс очень качественный!
Anonymous
Курс ужасный, не тратьте время на это
tsipotan.oleh
Anonymous
и в чем же проблема данного курса?
grishachapliy1
лучший курс по sql)
panasonic-5670
спасибо, отличный курс, досматриваю, осталось 10 уроков. как нибудь куплю оригинал автора, чтобы поддержать
panasonic-5670
спасибо, отличный курс, досматриваю, осталось 10 уроков. как нибудь куплю оригинал автора, чтобы поддержать
select count(*) as "total flights",
min(f.arrival_date - f.departure_date)::time as "min flight's duration",
max(f.arrival_date - f.departure_date)::time as "max flight's duration"
from flight f
where
(
(f.departure_airport_code = 'MNK' and f.arrival_airport_code = 'LDN')
or
(f.departure_airport_code = 'LDN' and f.arrival_airport_code = 'MNK')
) and f.status = 'ARRIVED';
Всего таких перелётов: 4
Минимальный перелёт: 03:11:00,
Максимальный перелёт: 03:45:00
SELECT max(arrival_date - departure_date)::time max,
min(arrival_date - departure_date)::time min,
count(id) total
FROM flight
WHERE departure_airport_code IN ('MNK', 'LDN')
AND arrival_airport_code IN ('MNK', 'LDN')
AND status = 'ARRIVED';
select f.id, f.arrival_date - f.departure_date as "flight's duration"
from flight f
where f.status = 'ARRIVED'
order by "flight's duration" desc
limit 2;
А всё потому, что рейс под ID 6 имеет статус - отменён - то есть, как можно рассматривать его продолжительность, если самолёт никуда не летал? Нужно было исключить в условии, и рассматривать только те, которые ПРИБЫЛИ.
В общем, я использовал вот этот сайт, сразу же будет писать разницу
https://howlongagogo.com/date/2020/december/18
кастить тип нужно с обоих сторон, чтобы сравнивать дату с датой, иначе, на найдётся, т.к. с левой стороны ещё и время указано. Уверен, Денис об этом скажет) Просто, я не дошёл ещё до этого
and departure_date::date = (now() - interval '2 years 3 months 8 days')::date;
aircraft (самолет)
id
model (модель самолета - unique)
если уникальный, значит должно быть вот так:
create table aircraft
(
id int primary key generated by default as identity,
model varchar(64) unique not null
)
видимо ошибся, Дёня.
create database book_repository;
jdbc:postgresql://localhost:5432/book_repository
create table author
(
id int primary key generated by default as identity,
first_name varchar(128) not null,
last_name varchar(128) not null
);
create table book
(
id bigint primary key generated by default as identity,
name varchar(128) not null,
year smallint not null,
pages smallint not null,
author_id int references author (id)
);
INSERT INTO author (first_name, last_name)
VALUES ('Кей', 'Хорстманн'),
('Стивен', 'Кови'),
('Тони', 'Роббинс'),
('Наполеон', 'Хилл'),
('Роберт', 'Кийосаки'),
('Дейл', 'Карнеги');
insert into book (name, year, pages, author_id)
values ('Java. Библиотеку профессионала. Том 1', 2010, 1102, (SELECT id FROM author WHERE last_name = 'Хорстманн')),
('Java. Библиотеку профессионала. Том 2', 2012, 954, (SELECT id FROM author WHERE last_name = 'Хорстманн')),
('Java SE 8. Вводный курс', 2015, 203, (SELECT id FROM author WHERE last_name = 'Хорстманн')),
('7 навыков высокоэффективных людей', 1989, 396, (SELECT id FROM author WHERE last_name = 'Кови')),
('Разбуди в себе исполина', 1991, 576, (SELECT id FROM author WHERE last_name = 'Роббинс')),
('Думай и богатей', 1937, 336, (SELECT id FROM author WHERE Last_name = 'Хилл')),
('Богатый папа, бедный папа', 1997, 352, (SELECT id FROM author WHERE last_name = 'Кийосаки')),
('Квадрант денежного потока', 1998, 368, (SELECT id FROM author WHERE last_name = 'Кийосаки')),
('Как перестать беспокоиться и начать жить', 1948, 368, (SELECT id FROM author WHERE last_name = 'Карнеги')),
('Как завоевывать друзей и оказывать влияние на людей', 1936, 352,
(SELECT id FROM author WHERE last_name = 'Карнеги'));