Лучшие вопросы средней сложности по sql на собеседовании аналитика данных
Содержание:
- UPDATE несколько записей
- SQL syntax used
- Формат
- faculty : Realtime experience
- Как строится работа SQL-аналитика над проектом
- Где учиться на SQL-аналитика
- Какими навыками должен обладать SQL-аналитик
- Practical skills of SQL language
- Усложненная (но более жизненная) задача про лайки
- Learning Take-Away:
- «Курс SQL и PostgreSQL» от BeOnMax
- SQL syntax used
- SQL Справочник
- Conclusion
- SQL syntax used
- SQL Учебник
- Индексы
- Задание «Компьютерные курсы»
- Условия
UPDATE несколько записей
Именно предложение WHERE определяет, сколько записей будет обновлено.
Следующая инструкция SQL обновит имя контакта до «Juan» для всех записей, где страна — «Mexico»:
Пример
UPDATE Customers
SET ContactName=’Juan’
WHERE Country=’Mexico’;
Выбор из таблицы «Customers» теперь будет выглядеть следующим образом:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Alfred Schmidt | Obere Str. 57 | Frankfurt | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Juan | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Juan | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
SQL syntax used
User’s queries are executed by SQL server that brings some limitations to the
syntax of SQL statements. Now we use Microsoft SQL Server 2019 (15.0) on the rating stages,
and MariaDB-10.4 (compatible with MySQL 8), PostgreSQL 12.3, and Oracle Database 11g on the learn stage in addition. That is why You should follow
the syntax of these realizations when building queries. It should be noted that SQL syntax,
implemented in Microsoft SQL Server, is close to that of SQL-92 standard. But there are some
distinctions, among them is absence of NATURAL JOIN of tables. Supplied help on SQL Data Manipulation Language is held in accordance
with SQL-92 standard and contains information necessary for solving the exercises. In the same place it is possible to find features of used realization (SQL Server 2005).
Формат
12 занятий (9 часов теории) + много практических заданий для самостоятельной работы + постоянные консультации тренера в чате.
Обучение происходит следующим образом:
Раз в неделю по понедельникам до 12.00 по Московскому времени выкладываются теоретические лекции, ссылки на дополнительные материалы, домашняя работа.
Теоретическую информацию можно посмотреть в любое удобное время.
Помимо теоретической части, вас также ждут практические домашние задания, которые тщательно проверяются тренером. После проверки практических заданий Вы получаете оценку и подробный комментарий по своей работе и при необходимости советы по доработке. По результатам комментариев тренера Вы можете переделать домашнюю работу и улучшить свою оценку.
Общение участников курса и тренеров проходит и в телеграм-чате учебной группы, где можно задавать вопросы тренеру и при желании общаться с другими участниками учебной группы. Каждый день тренер будет доступен в телеграм-чате и каждый день будет отвечать на вопросы, Вы можете задавать вопросы по теоретическому материалу или домашней работе, как только они у вас возникают.
Все выпускники, успешно сдавшие домашние задания, получают сертификат.
faculty : Realtime experience
About online training expert trainers
Online trainings expert prides itself on ensuring that our online trainers are real time experts.only the online training company deliver online training programs to our valued candidates.
As part of online trainings expert continuous improvement in online trainings. Each trainer is regularly assessed to candidates given the best quality of training every time.
All our trainers are skilled trainers and addition have the real time experience with proven track record in online trainings. This experience qualifies them as a specialist in their online training delivery in their course.
Why sql Online Training Only with online trainings expert?practical skillswell designed Lab Manuals, Study Materials, and Practice ExercisesSQL online TrainingTechnical SupportInterview QuestionsSample Resumes
Как строится работа SQL-аналитика над проектом
Стоит отметить, что работа SQL-аналитика начинается задолго до начала непосредственного анализа и состоит из нескольких этапов:
1) Выявление потребностей заказчика и его «боли», формализация и согласование требований.
Во многих компаниях, в том числе и у нас, клиент заполняет специальную анкету. Там описывается то, что бы он хотел проанализировать (процессы или операции), какие цели и задачи ставит. Этот этап всегда длительный и сложный.
Во-первых, клиент не всегда сразу понимает, чего хочет на самом деле, а, во-вторых, его видение часто не совпадает с нашими возможностями. Мы, прежде всего, именно исследуем и анализируем, находим перспективы и возможности для совершенствования, предлагаем какие-то пути решения найденных проблем, но итоговое слово всегда за бизнес-заказчиком.
2) Изучение и исследование регламентов бизнес-процессов компаний, юридические согласования.
Внедрение нового ПО или даже пилотный проект — всегда долгая история в больших компаниях. Много юридических моментов, согласований со службами безопасности и т.д. После этого мы начинаем изучать качество данных: определяем, насколько они полные, достоверные, точные и согласованные
Это очень важно, поскольку именно оценка качества данных и мероприятия по их повышению — важнейший этап любого проекта по аналитике, поскольку некачественные данные приводят к заведомо некорректному результату.
Если мы понимаем, что для реконструкции процесса нам не хватает каких-либо данных, приходится обсуждать возможность добавления дополнительных источников.
3) Непосредственно аналитика.
Начинаем подробно и внимательно изучать все полученные массивы данных, чтобы правильно связать все данные из полученных источников (логи, агенты, регламенты, карты и т.д.). Нам нужно найти необходимые процессы или их кусочки, чтобы корректно построить процесс. Это делается обычно тремя способами:
- При помощи автоматических алгоритмов, когда выявляются повторяющиеся цепочки событий.
- Полуавтоматически, когда вручную задаются начало и конец операции/процесса, а закономерности и связи ищет алгоритм.
- Вручную — для сложных и длинных процессов/операций, когда нужно «увязать» деятельность сотрудников из разных подразделений. Это тот случай, когда может потребоваться большое количество разных источников.
4) Подготовка итоговых презентаций для клиентов.
Четко и лаконично, исключительно на основе фактов и в доступной форме нужно рассказать о том, к чему пришли в результате анализа.
К чему должен быть готов специалист — описывать сложные вещи просто. Не все понимают специфические термины а-ля process mining, OLAP-кубы и другие. Полезную информацию нужно предоставлять в доступной форме и обязательно визуальным способом.
Где учиться на SQL-аналитика
В университете у нас был небольшой курс, посвященный изучению SQL, однако, приступив к работе, я поняла, что это больше теория. Практика же требует намного больших знаний и умений, поэтому большим подспорьем были экспертные статьи, книги, курсы и даже Telegram-каналы. Что могу посоветовать:
Интерактивный тренажер по SQL
Один из самых известных и мейнстримных, но очень толковых курсов. Акцент сделан на том, чтобы научить созданию БД и правильно прописывать запросы, дать азы о связанных таблицах. Особенно полезным курс будет для тех, кто только начинает знакомство с SQL и пока мало понимает, что это и о чем это. Многие из наших ребят начинали свой путь в аналитике именно с этих курсов.
SQL Для Начинающих
Тоже для тех, кто делает первые шаги в анализе. Об SQL рассказывают просто и с самых азов — от установки до решения задач с различными операторами.
Учебник по языку SQL (DDL, DML) на примере диалекта MS SQL Server
Отличный и понятный, что немаловажно, учебник по SQL. Был очень полезен на начальных этапах работы, когда приходилось освежать знания
Кирилл Еременко «Работа с данными в любой сфере»
Для тех, кто очень хочет связать свою жизнь с аналитикой, но не знает, с чего начать. Автор делает акцент на именно на том, как работать с информацией и на чем лучше концентрироваться.
ClickHouse
Священная вещь. Большой русскоязычный (!) портал с документацией по ClickHouse, к которой постоянно обращаемся. Здесь можно найти ответ на любой интересующий вопрос. Все расписано емко, подробно и без воды. Кстати, в Telegram есть классный чат «ClickHouse не тормозит» с живым обсуждением самых разных тем.
Совет: перед тем, как выбрать курс, обязательно посмотрите, есть ли обратная связь и домашние задания. Теория теорией, но лучше практики ничего нет.
Быть SQL-аналитиком не значит сидеть с девяти до шести в офисе. Это интерес к своему делу в любое время дня. Не раз замечала, что для нас скинуть интересный кейс, экспертную статью в рабочий чат — естественное дело.
Профессия SQL-аналитика, с одной стороны, требует огромной точности и «аналитически заточенного разума», с другой же — предполагает креатив и возможность проявить творческую нотку. Не стоит этого бояться.
К чему надо быть готовым:
- постоянное повышение своих скиллов;
- поиск нестандартных путей решения задач;
- готовность перенимать чужой опыт и двигаться вперед;
- рутина, частая однообразная работа.
Какими навыками должен обладать SQL-аналитик
Не скажу, что порог входа в профессию очень высокий и сложный, однако он требует специфических навыков и умений, основные из которых:
- базовое знание SQL;
- азы работы с большими данными;
- общие знания о теории баз данных и методологиях проектирования;
- навыки работы с одной из промышленных СУБД (лучше всего — ClickHouse);
- аналитический склад мышления.
SQL-аналитику необходимо уметь посмотреть на ситуацию с разных ракурсов — как клиента, так и технического исполнителя. Это позволяет учитывать все аспекты работы при генерации вариантов решения поставленной задачи
Soft skills будут мало чем отличаться от других областей аналитики:
широкий кругозор
Насмотренность и начитанность, а также знание специфики различных видов деятельности (например, концентрация не только на банковской сфере, но и промышленности, телекоммуникациях, логистике и др.) помогает быстрее вникать в детали проекта и использовать уже готовые конструкции, а не начинать работу с нуля;
внимание к деталям
Мы имеем дело с огромными массивами данных, поэтому очень важно, чтобы полученные итоги были достоверными и обоснованными
Правило: «Семь раз примерь, один раз отрежь» — применимо к любой аналитической работе, где главный враг — суета, из-за которой можно не заметить важные мелочи;
коммуникабельность. Очень банальный, но актуальный скилл
Приходится общаться с большим количеством специалистов — от бизнес-заказчиков до проектных менеджеров, разработчиков и тестировщиков, доносить до них нужную информацию и делать релевантные запросы;
навыки презентации. Мало выполнить работу и в совершенстве знать результат, необходимо сжато и доходчиво донести информацию до заказчиков/руководства/коллег. Это универсальный навык, пожалуй, полезный не только в аналитике, но и во многих других профессиях;
работа в команде. Здесь все понятно. Без комментариев.
Practical skills of SQL language
This site will help everyone to gain or improve skills in building
SQL Data Manipulation Language statements. To train You will have to build yourself
the SQL statements for retrieval or modification of specific data required in the exercises.
When Your query is incorrect, You will be able to see rows returned by the correct
query along with that returned by Your query. Furthermore, you may execute arbitrary
DML statements on available databases by setting the «Without checking» option. There are
five levels of difficulty (from 1 to 5), You may see it in second column of
exercises list. We propose the exercises on retrieving data (SELECT statement) and
the exercises on modifying data (INSERT, UPDATE, DELETE, and MERGE statements). Your success in the solving the exercises are shown by a rating of participants.
As this takes place, there are three stages:
the first one (first 5 exercises) is performed without time control for an individual
exercise, the second one (begins with the exercise #6) controls time for completion of each
task. At the third stage which refers to optimizing and begins with exercise #139, it is required not only to solve an exercise correctly, but also time of execution of inquiry should be commensurable with time of execution of the author’s solution.
Exercises of the first stage are available without registration and may be solved
in any order You like. The solution of the rest of exercises requires registration.
REGISTRATION IS FREE as this for all other services of the site. In the third column of exercises list You
will be able to see («OK») notes with the numbers of done exercises, but that
is available only to the registered users. In fact, that is the main reason for registration.
If You would like to visit our web site again, You won’t have to recollect which
exercises You have done already and which You haven’t. If You don’t want to register,
You may enter as a guest, but in that case Your results won’t
be traced by the system. Registered users also may discuss the solutions to exercises in our forum.
NOTE: The query stated incorrectly may return the «correct» data on a current state of database.
For this reason You should not be surprised if the results of incorrect query are
coincide with the results of right one with Your query is estimated as incorrect by the Verifying system.
NOTE: Your browser should support Cookies and Javascript to provide correct usage of this site. If you use content filter, it should allow opening child windows to explore help pages.
Усложненная (но более жизненная) задача про лайки
В воображаемой социальной сети есть Пользователи (id, имя), Фото (id, название, автор) и Комментарии К Фото (id, текст, автор, к какому Фото относится). Необходимо добавить возможность для Пользователей ставить лайки другим Пользователям, Фото или Комментариям К Фото. Нужно реализовать такие возможности:
- пользователь не может поставить 2 лайка одной и той же сущности (например одному и тому же Фото)
- пользователь может отозвать лайк
- необходимо иметь возможность посчитать число полученных сущностью лайков и вывести список Пользователей, поставивших лайки
- в будущем могут появиться новые виды сущностей которые можно лайкать
Для начала, нужно решить задачу без оглядки на производительность. Очень желательно следовать принципам нормализации и помечать связи внешними ключами (а также на уровне Бд предотвратить возможность повторной отправки лайка). Далее, можно дополнить решение комментариями по поводу оптимизаций производительности.
Тут есть несколько вариантов решения.
Learning Take-Away:
Upon completion of this course, students will be able to:
1. Explain the difference between SQL, PL/SQL and SQL*PLUS.
2.Write basic SQL queries to retrieve desired data.
3. Use DML statements (insert, update, and delete).
4. Use DDL statements (create, alter, and drop).
5.Use transaction control statements to commit, rollback, and create savepoints.
6. Write advanced queries.
7. Write scripts to do queries and display SQL*PLUS reports.
8. Control access to your database objects.
9. Write a PL/SQL block using all elements of block structure.
10.Write PL/SQL statements using lexical units, declared variables, and
assignment statements.
11. Use control structures to loop, branch, and jump.
12. Use PL/SQL named exceptions and user-defined exceptions.
13. Use explicit cursors.
«Курс SQL и PostgreSQL» от BeOnMax
- Стоимость: бесплатны первые уроки, далее подписка от 90 рублей в месяц
- Длительность: 23 академических часа
- Сертификат: да
- Формат обучения: видеокурс
Описание курса
Курс рассматривает основы работы с SQL и наиболее востребованной системы управления базами данных PostgreSQL. При этом все полученные знания могут быть применены при работе с другими СУБД. Материал отлично подойдёт новичкам, а также практикующим разработчикам, желающим освоить язык запросов SQL.
Благодаря предоставленным материалам вы сможете работать с простыми выборками, соединениями и подзапросами, научитесь проектировать базы данных, редактировать их и составлять сложные запросы. Главное — все это впоследствии вы сможете применить на практике.
Преподавателем курса является Илья Фофанов — практикующий инженер программист, работающий по специальности более 10 лет. За его плечами сотрудничество с крупнейшими компаниями, занимавшимися организацией встреч специалистов платформы .NET.
Плюсы:
- Большое количество представленного материала;
- Наличие подробного плана курса;
- Возможность бесплатного ознакомления с первыми уроками;
- Предоставление сертификата.
Минусы:
SQL syntax used
User’s queries are executed by SQL server that brings some limitations to the
syntax of SQL statements. Now we use Microsoft SQL Server 2019 (15.0) on the rating stages,
and MariaDB-10.4 (compatible with MySQL 8), PostgreSQL 12.3, and Oracle Database 11g on the learn stage in addition. That is why You should follow
the syntax of these realizations when building queries. It should be noted that SQL syntax,
implemented in Microsoft SQL Server, is close to that of SQL-92 standard. But there are some
distinctions, among them is absence of NATURAL JOIN of tables. Supplied help on SQL Data Manipulation Language is held in accordance
with SQL-92 standard and contains information necessary for solving the exercises. In the same place it is possible to find features of used realization (SQL Server 2005).
SQL Справочник
SQL Ключевые слова
ADD
ADD CONSTRAINT
ALTER
ALTER COLUMN
ALTER TABLE
ALL
AND
ANY
AS
ASC
BACKUP DATABASE
BETWEEN
CASE
CHECK
COLUMN
CONSTRAINT
CREATE
CREATE DATABASE
CREATE INDEX
CREATE OR REPLACE VIEW
CREATE TABLE
CREATE PROCEDURE
CREATE UNIQUE INDEX
CREATE VIEW
DATABASE
DEFAULT
DELETE
DESC
DISTINCT
DROP
DROP COLUMN
DROP CONSTRAINT
DROP DATABASE
DROP DEFAULT
DROP INDEX
DROP TABLE
DROP VIEW
EXEC
EXISTS
FOREIGN KEY
FROM
FULL OUTER JOIN
GROUP BY
HAVING
IN
INDEX
INNER JOIN
INSERT INTO
INSERT INTO SELECT
IS NULL
IS NOT NULL
JOIN
LEFT JOIN
LIKE
LIMIT
NOT
NOT NULL
OR
ORDER BY
OUTER JOIN
PRIMARY KEY
PROCEDURE
RIGHT JOIN
ROWNUM
SELECT
SELECT DISTINCT
SELECT INTO
SELECT TOP
SET
TABLE
TOP
TRUNCATE TABLE
UNION
UNION ALL
UNIQUE
UPDATE
VALUES
VIEW
WHERE
MySQL Функции
Функции строк
ASCII
CHAR_LENGTH
CHARACTER_LENGTH
CONCAT
CONCAT_WS
FIELD
FIND_IN_SET
FORMAT
INSERT
INSTR
LCASE
LEFT
LENGTH
LOCATE
LOWER
LPAD
LTRIM
MID
POSITION
REPEAT
REPLACE
REVERSE
RIGHT
RPAD
RTRIM
SPACE
STRCMP
SUBSTR
SUBSTRING
SUBSTRING_INDEX
TRIM
UCASE
UPPER
Функции чисел
ABS
ACOS
ASIN
ATAN
ATAN2
AVG
CEIL
CEILING
COS
COT
COUNT
DEGREES
DIV
EXP
FLOOR
GREATEST
LEAST
LN
LOG
LOG10
LOG2
MAX
MIN
MOD
PI
POW
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SUM
TAN
TRUNCATE
Функции дат
ADDDATE
ADDTIME
CURDATE
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURTIME
DATE
DATEDIFF
DATE_ADD
DATE_FORMAT
DATE_SUB
DAY
DAYNAME
DAYOFMONTH
DAYOFWEEK
DAYOFYEAR
EXTRACT
FROM_DAYS
HOUR
LAST_DAY
LOCALTIME
LOCALTIMESTAMP
MAKEDATE
MAKETIME
MICROSECOND
MINUTE
MONTH
MONTHNAME
NOW
PERIOD_ADD
PERIOD_DIFF
QUARTER
SECOND
SEC_TO_TIME
STR_TO_DATE
SUBDATE
SUBTIME
SYSDATE
TIME
TIME_FORMAT
TIME_TO_SEC
TIMEDIFF
TIMESTAMP
TO_DAYS
WEEK
WEEKDAY
WEEKOFYEAR
YEAR
YEARWEEK
Функции расширений
BIN
BINARY
CASE
CAST
COALESCE
CONNECTION_ID
CONV
CONVERT
CURRENT_USER
DATABASE
IF
IFNULL
ISNULL
LAST_INSERT_ID
NULLIF
SESSION_USER
SYSTEM_USER
USER
VERSION
SQL Server функции
Функции строк
ASCII
CHAR
CHARINDEX
CONCAT
Concat with +
CONCAT_WS
DATALENGTH
DIFFERENCE
FORMAT
LEFT
LEN
LOWER
LTRIM
NCHAR
PATINDEX
QUOTENAME
REPLACE
REPLICATE
REVERSE
RIGHT
RTRIM
SOUNDEX
SPACE
STR
STUFF
SUBSTRING
TRANSLATE
TRIM
UNICODE
UPPER
Функции чисел
ABS
ACOS
ASIN
ATAN
ATN2
AVG
CEILING
COUNT
COS
COT
DEGREES
EXP
FLOOR
LOG
LOG10
MAX
MIN
PI
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SQUARE
SUM
TAN
Функции дат
CURRENT_TIMESTAMP
DATEADD
DATEDIFF
DATEFROMPARTS
DATENAME
DATEPART
DAY
GETDATE
GETUTCDATE
ISDATE
MONTH
SYSDATETIME
YEAR
Функции расширений
CAST
COALESCE
CONVERT
CURRENT_USER
IIF
ISNULL
ISNUMERIC
NULLIF
SESSION_USER
SESSIONPROPERTY
SYSTEM_USER
USER_NAME
MS Access функции
Функции строк
Asc
Chr
Concat with &
CurDir
Format
InStr
InstrRev
LCase
Left
Len
LTrim
Mid
Replace
Right
RTrim
Space
Split
Str
StrComp
StrConv
StrReverse
Trim
UCase
Функции чисел
Abs
Atn
Avg
Cos
Count
Exp
Fix
Format
Int
Max
Min
Randomize
Rnd
Round
Sgn
Sqr
Sum
Val
Функции дат
Date
DateAdd
DateDiff
DatePart
DateSerial
DateValue
Day
Format
Hour
Minute
Month
MonthName
Now
Second
Time
TimeSerial
TimeValue
Weekday
WeekdayName
Year
Другие функции
CurrentUser
Environ
IsDate
IsNull
IsNumeric
SQL ОператорыSQL Типы данныхSQL Краткий справочник
Conclusion
SQL is one of the most commonly used languages for administering, managing, and controlling data in a database. You need to understand what SQL is, only then can a person understand its future functioning.
In addition, if you are an SQL developer or programmer, you must clearly define the number of tools available on the market. Therefore, it is a difficult task to select or select a particular tool from the best available options.
Ultimately, you must find the ideal tool that best suits your work and needs. So, just be sure to evaluate and consider the factors of each tool. All this definitely ensures that developers will not waste time and will continue to work with the tool on time.
Free toolsSQL
SQL syntax used
User’s queries are executed by SQL server that brings some limitations to the
syntax of SQL statements. Now we use Microsoft SQL Server 2019 (15.0) on the rating stages,
and MariaDB-10.4 (compatible with MySQL 8), PostgreSQL 12.3, and Oracle Database 11g on the learn stage in addition. That is why You should follow
the syntax of these realizations when building queries. It should be noted that SQL syntax,
implemented in Microsoft SQL Server, is close to that of SQL-92 standard. But there are some
distinctions, among them is absence of NATURAL JOIN of tables. Supplied help on SQL Data Manipulation Language is held in accordance
with SQL-92 standard and contains information necessary for solving the exercises. In the same place it is possible to find features of used realization (SQL Server 2005).
SQL Учебник
SQL ГлавнаяSQL ВведениеSQL СинтаксисSQL SELECTSQL SELECT DISTINCTSQL WHERESQL AND, OR, NOTSQL ORDER BYSQL INSERT INTOSQL Значение NullSQL Инструкция UPDATESQL Инструкция DELETESQL SELECT TOPSQL MIN() и MAX()SQL COUNT(), AVG() и …SQL Оператор LIKESQL ПодстановочныйSQL Оператор INSQL Оператор BETWEENSQL ПсевдонимыSQL JOINSQL JOIN ВнутриSQL JOIN СлеваSQL JOIN СправаSQL JOIN ПолноеSQL JOIN СамSQL Оператор UNIONSQL GROUP BYSQL HAVINGSQL Оператор ExistsSQL Операторы Any, AllSQL SELECT INTOSQL INSERT INTO SELECTSQL Инструкция CASESQL Функции NULLSQL ХранимаяSQL Комментарии
Индексы
Индексы позволяют ускорить поиск по условиям вроде , , , , , а также сортировку (поля по которым идет сортировка должны идти в конце индекса). Разница на большой таблице может быть огромная — порядка 1 тысячной секунды против нескольких секунд. Ну например, если у нас есть таблица размером в миллион записей и мы делаем запрос
то без индекса MySQL вынуждена будет прочитать с диска в память миллион значений, отсортировать их только ради того, чтобы взять первые 10. Если же есть индекс по полю (который хранит отсортированные по возрастанию значения этого поля) то MySQL просто возьмет из него первые 10 записей. Разница в скорости работы будет огромная.
Вот статьи для начинающих про индексы:
Если ты все прочел внимательно, ответь на вопрос, может ли индекс (если да, то какой) ускорить такие запросы:
Задание «Компьютерные курсы»
Необходимо создать sql базу данных для работы компьютерных курсов.
База данных включает три основных таблицы:
главная таблица Группы: список номеров учебных групп;
таблица Список: список учащихся и сведения по ним;
таблица Личные данные: сведения по учащимся и отметки по предметам.
Поля-счетчики (Auto increment AI):
- таблица — поле ,
- таблица — не имеет счетчика, т.к. поле — внешний ключ.
Установка первичных ключей
В таблице внешним ключом является поле , которое связывает таблицу с одноименным полем таблицы .
В таблице внешним ключом является поле (оно же является и внутренним ключом), которое связывает таблицу с таблицей по полю .
Установка связей
Подразумевается, что данные для поля в таблице будут автоматически заполняться из таблицы (). Для этого необходимо установить связь между таблицами:
Для автоматического заполнения поля необходимо определить внутреннюю связь:
Использование дизайнера схемы данных:
Сначала заполняется таблица , чтобы значение поля впоследствии автоматически добавлялось в таблице при заполнении поля .
Затем заполняется таблица :
В последнюю очередь заполняется таблица . В поле должны быть уникальные значения для каждого студента:
Условия
Стоимость участия для физических лиц: 13 000 рублей за весь курс.
Стоимость участия для юридических лиц: 15 500 рублей за весь курс за одного участника. При регистрации от 3-х участников на один курс действует 15% скидка.
Информация для физических лиц
Организатор мероприятия: ИП Абдюшев Павел Рашитович, ИНН 503500793903, ОГРНИП 317505300051323
Услуги оказываются на основании публичного договора оферты. Ознакомиться с договором можно ЗДЕСЬ.
Все реквизиты для оплаты вы получите на почту после того, как нажмете кнопку справа Записаться и заполните все поля. Если Вы не получили письмо в течение рабочего дня, просто отправьте сообщение на trainings@software-testing.ru
Если у Вас есть какие-то вопросы, их можно задать по адресу указанному выше.
Информация для юридических лиц:
По вопросам оформления договора и выставления счета на оплату обращайтесь по адресу trainings@software-testing.ru
Обратите внимание, что при постоплате стоимость тренинга увеличивается на 25%