PostgreSQL Create Table - упражнения, практика, решение
PostgreSQL Create Table [19 упражнений с решением]
1. Напишите оператор SQL для создания простой таблицы стран, включая столбцы country_id, country_name и region_id.
Нажмите меня, чтобы увидеть решение
2. Напишите оператор SQL для создания простой таблицы стран, включая столбцы country_id, country_name и region_id, которые уже существуют.
Нажмите меня, чтобы увидеть решение
3. Напишите оператор SQL, чтобы создать структуру таблицы dup_countries, аналогичную странам.
Нажмите меня, чтобы увидеть решение
4. Напишите оператор SQL для создания дубликата таблицы стран, включая структуру и данные с именем dup_countries.
Нажмите меня, чтобы увидеть решение
5. Напишите оператор SQL для создания таблицы стран, установите ограничение NULL.
Нажмите меня, чтобы увидеть решение
6. Напишите оператор SQL для создания таблицы с именами jobs, включая столбцы job_id, job_title, min_salary, max_salary и проверьте, превышает ли значение max_salary верхний предел 25000.
Нажмите меня, чтобы увидеть решение
7. Напишите оператор SQL, чтобы создать таблицу с именами стран, включая столбцы country_id, country_name и region_id, и убедитесь, что в таблицу не будут включены никакие страны, кроме Италии, Индии и Китая.
Нажмите меня, чтобы увидеть решение
8. Напишите оператор SQL, чтобы создать таблицу с именами стран, включая столбцы country_id, country_name и region_id, и убедитесь, что во время вставки не допускаются повторяющиеся данные для столбца country_id.
Нажмите меня, чтобы увидеть решение
9. Напишите оператор SQL для создания таблицы с именами jobs, включая столбцы job_id, job_title, min_salary и max_salary, и убедитесь, что значение по умолчанию для job_title пустое, а min_salary равно 8000, а max_salary равно NULL и будет введено автоматически во время вставка, если для указанных столбцов не назначено значение.
Нажмите меня, чтобы увидеть решение
10. Напишите оператор SQL, чтобы создать таблицу с именами стран, включая столбцы country_id, country_name и region_id, и убедитесь, что столбец country_id будет ключевым полем, которое не будет содержать никаких дублирующих данных на момент вставки.
Нажмите меня, чтобы увидеть решение
11. Напишите оператор SQL, чтобы создать таблицу стран, включая столбцы country_id, country_name и region_id, и убедитесь, что столбец country_id будет уникальным, и в нем будет сохранено автоматически увеличенное значение.
Нажмите меня, чтобы увидеть решение
12. Напишите оператор SQL для создания таблицы стран, включая столбцы country_id, country_name и region_id, и убедитесь, что комбинация столбцов country_id и region_id будет уникальной.
Нажмите меня, чтобы увидеть решение
13. Напишите оператор SQL для создания таблицы job_history, включающей столбцы employee_id, start_date, end_date, job_id и Department_id, и убедитесь, что столбец employee_id не содержит повторяющихся значений во время вставки, а столбец внешнего ключа job_id содержит только те значения, которые существуют в таблице заданий.
Вот структура таблицы заданий;
Колонка | Тип | Модификаторы ------------ + ----------------------- + ------------- --------------------------- job_id | изменение характера (10) | не нулевое значение по умолчанию '' :: изменение символов job_title | изменение характера (35) | ненулевой min_salary | числовой (6,0) | по умолчанию NULL :: numeric max_salary | числовой (6,0) | по умолчанию NULL :: numeric Индексы: "jobs_pkey" ПЕРВИЧНЫЙ КЛЮЧ, btree (job_id)
Нажмите меня, чтобы увидеть решение
14. Напишите оператор SQL, чтобы создать таблицу сотрудников, включая столбцы employee_id, first_name, last_name, email, phone_number hire_date, job_id, зарплату, комиссию, manager_id и Department_id, и убедитесь, что столбец employee_id не содержит повторяющихся значений в то время столбцов вставки и внешнего ключа, объединенных столбцами отдела_ид и менеджера_идентификатора, содержат только те уникальные значения комбинации, которые существуют в таблице отделов.
Предположим структуру отделов таблицы ниже.
Колонка | Тип | Модификаторы ----------------- + ----------------------- + -------- ------------------------ отдел_ид | числовой (4,0) | ненулевой название отдела | изменение характера (30) | ненулевой manager_id | числовой (6,0) | не нулевое значение по умолчанию NULL :: numeric location_id | числовой (4,0) | по умолчанию NULL :: numeric Индексы: PRIMARY KEY, отдела_ ключа, btree (отдел_ид, менеджер_идентификатор)
Нажмите меня, чтобы увидеть решение
15. Напишите оператор SQL, чтобы создать таблицу сотрудников, включая столбцы employee_id, first_name, last_name, email, phone_number hire_date, job_id, зарплату, комиссию, manager_id и Department_id, и убедитесь, что столбец employee_id не содержит повторяющихся значений в то время вставки, а столбец внешнего ключа отдел_идентификатора, ссылающийся на столбец отдела_для таблицы отделов, может содержать только те значения, которые существуют в таблице отделов, а другой столбец внешнего ключа job_id, на который ссылается столбец job_id таблицы заданий, может содержать только те значения, которые существуют в таблице заданий.
Предположим, что в структуре двух таблиц отделов и рабочих мест.
Колонка | Тип | Модификаторы ----------------- + ----------------------- + -------- --------------- отдел_ид | числовой (4,0) | ненулевой название отдела | изменение характера (30) | ненулевой manager_id | числовой (6,0) | по умолчанию NULL :: numeric location_id | числовой (4,0) | по умолчанию NULL :: numeric Индексы: ПЕРВИЧНЫЙ КЛЮЧ "департаменты_ ключ", btree (отдел_идентификатор) Колонка | Тип | Модификаторы ------------ + ----------------------- + ------------- --------------------------- job_id | изменение характера (10) | не нулевое значение по умолчанию '' :: изменение символов job_title | изменение характера (35) | ненулевой min_salary | числовой (6,0) | по умолчанию NULL :: numeric max_salary | числовой (6,0) | по умолчанию NULL :: numeric Индексы: "jobs_pkey" ПЕРВИЧНЫЙ КЛЮЧ, btree (job_id)
Нажмите меня, чтобы увидеть решение
16. Напишите оператор SQL для создания таблицы сотрудников, включая столбцы employee_id, first_name, last_name, job_id, salary, и убедитесь, что столбец employee_id не содержит повторяющихся значений во время вставки, а также столбец внешнего ключа job_id, на который ссылаются по столбцу job_id таблицы заданий, может содержать только те значения, которые существуют в таблице заданий. Особенность этого утверждения заключается в том, что действие ON UPDATE CASCADE позволяет выполнять обновление между таблицами, а действие ON DELETE RESTRICT отклоняет удаление. Действие по умолчанию - УДАЛИТЬ ОГРАНИЧЕНИЕ.
Предположим, что ниже приведена структура таблицы заданий.
CREATE TABLE ЕСЛИ НЕ СУЩЕСТВУЕТ РАБОТ ( JOB_ID INTEGER NOT NULL УНИКАЛЬНЫЙ ПЕРВИЧНЫЙ КЛЮЧ, JOB_TITLE varchar (35) NOT NULL DEFAULT '', MIN_SALARY десятичное число (6,0) ПО УМОЛЧАНИЮ 8000, MAX_SALARY десятичное число (6,0) DEFAULT NULL ); Колонка | Тип | Модификаторы ------------ + ----------------------- + ------------- ---------------------------- job_id | целое число | ненулевой job_title | изменение характера (35) | не нулевое значение по умолчанию '' :: изменение символов min_salary | числовой (6,0) | по умолчанию 8000 max_salary | числовой (6,0) | по умолчанию NULL :: numeric Индексы: "jobs_pkey" ПЕРВИЧНЫЙ КЛЮЧ, btree (job_id)
Нажмите меня, чтобы увидеть решение
17. Напишите оператор SQL для создания таблицы сотрудников, включая столбцы employee_id, first_name, last_name, job_id, salary, и убедитесь, что столбец employee_id не содержит повторяющихся значений во время вставки, а также столбец внешнего ключа job_id, на который ссылаются по столбцу job_id таблицы заданий, может содержать только те значения, которые существуют в таблице заданий. Особенность этого утверждения заключается в том, что ON DELETE CASCADE позволяет разрешить удаление записей в таблице сотрудников (дочерних), которая ссылается на запись в таблице заданий (родительских), когда запись в родительской таблице удалена и ON UPDATE. Действия ОГРАНИЧЕНИЯ отклоняют любые обновления.
Предположим, что ниже приведена структура таблицы заданий.
CREATE TABLE ЕСЛИ НЕ СУЩЕСТВУЕТ РАБОТ ( JOB_ID INTEGER NOT NULL УНИКАЛЬНЫЙ ПЕРВИЧНЫЙ КЛЮЧ, JOB_TITLE varchar (35) NOT NULL DEFAULT '', MIN_SALARY десятичное число (6,0) ПО УМОЛЧАНИЮ 8000, MAX_SALARY десятичное число (6,0) DEFAULT NULL ); Колонка | Тип | Модификаторы ------------ + ----------------------- + ------------- ---------------------------- job_id | целое число | ненулевой job_title | изменение характера (35) | не нулевое значение по умолчанию '' :: изменение символов min_salary | числовой (6,0) | по умолчанию 8000 max_salary | числовой (6,0) | по умолчанию NULL :: numeric Индексы: "jobs_pkey" ПЕРВИЧНЫЙ КЛЮЧ, btree (job_id)
Нажмите меня, чтобы увидеть решение
18. Напишите оператор SQL для создания таблицы сотрудников, включая столбцы employee_id, first_name, last_name, job_id, salary, и убедитесь, что столбец employee_id не содержит повторяющихся значений во время вставки, а столбец внешнего ключа job_id, на который есть ссылки по столбцу job_id таблицы заданий, может содержать только те значения, которые существуют в таблице заданий. Особенность оператора заключается в том, что действие ON DELETE SET NULL установит значения столбца внешнего ключа в дочерней таблице (employee) в NULL, когда запись в родительской таблице (jobs) будет удалена, с условием, что столбец внешнего ключа в дочерней таблице должны принимать значения NULL, а действие ON UPDATE SET NULL сбрасывает значения в строках в дочерней таблице (employee) в значения NULL при обновлении строк в родительской таблице (jobs).
Предположим, что ниже приведена структура двух табличных заданий.
CREATE TABLE ЕСЛИ НЕ СУЩЕСТВУЕТ РАБОТ ( JOB_ID INTEGER NOT NULL УНИКАЛЬНЫЙ ПЕРВИЧНЫЙ КЛЮЧ, JOB_TITLE varchar (35) NOT NULL DEFAULT '', MIN_SALARY десятичное число (6,0) ПО УМОЛЧАНИЮ 8000, MAX_SALARY десятичное число (6,0) DEFAULT NULL ); Колонка | Тип | Модификаторы ------------ + ----------------------- + ------------- ---------------------------- job_id | целое число | ненулевой job_title | изменение характера (35) | не нулевое значение по умолчанию '' :: изменение символов min_salary | числовой (6,0) | по умолчанию 8000 max_salary | числовой (6,0) | по умолчанию NULL :: numeric Индексы: "jobs_pkey" ПЕРВИЧНЫЙ КЛЮЧ, btree (job_id)
Нажмите меня, чтобы увидеть решение
19. Напишите оператор SQL для создания таблицы сотрудников, включая столбцы employee_id, first_name, last_name, job_id, salary, и убедитесь, что столбец employee_id не содержит повторяющихся значений во время вставки, а столбец внешнего ключа job_id, на который есть ссылки по столбцу job_id таблицы заданий, может содержать только те значения, которые существуют в таблице заданий. Особенность этого утверждения заключается в том, что действия ON DELETE NO ACTION и ON UPDATE NO ACTION будут отклонять удаление и любые обновления.
Предположим, что ниже приведена структура двух табличных заданий.
CREATE TABLE ЕСЛИ НЕ СУЩЕСТВУЕТ РАБОТ ( JOB_ID INTEGER NOT NULL УНИКАЛЬНЫЙ ПЕРВИЧНЫЙ КЛЮЧ, JOB_TITLE varchar (35) NOT NULL DEFAULT '', MIN_SALARY десятичное число (6,0) ПО УМОЛЧАНИЮ 8000, MAX_SALARY десятичное число (6,0) DEFAULT NULL ); Колонка | Тип | Модификаторы ------------ + ----------------------- + ------------- ---------------------------- job_id | целое число | ненулевой job_title | изменение характера (35) | не нулевое значение по умолчанию '' :: изменение символов min_salary | числовой (6,0) | по умолчанию 8000 max_salary | числовой (6,0) | по умолчанию NULL :: numeric Индексы: "jobs_pkey" ПЕРВИЧНЫЙ КЛЮЧ, btree (job_id)
Новый контент: Composer: менеджер зависимостей для PHP , R программирования