Создание, изменение и удаление таблиц в SQL


Вариант 1: База данных онлайн-книжного магазина

Вариант 1: База данных онлайн-книжного магазина

Сценарий: Вам поручено создать базу данных для онлайн-книжного магазина. Эта база данных изначально будет управлять книгами и их авторами.

Схемы таблиц:

  1. Таблица books:
    • book_id: Уникальный идентификатор для каждой книги (автоинкрементное целое число, первичный ключ).
    • title: Название книги (текст, не null, максимальная длина 100 символов).
    • isbn: Международный стандартный книжный номер (текст, уникальный, максимальная длина 20 символов).
    • publication_year: Год публикации (целое число).
    • genre: Жанр книги (текст, максимальная длина 50 символов).
  2. Таблица authors:
    • author_id: Уникальный идентификатор для каждого автора (автоинкрементное целое число, первичный ключ).
    • author_name: Имя автора (текст, не null, максимальная длина 100 символов).
    • nationality: Национальность автора (текст, максимальная длина 50 символов).
    • birth_date: Дата рождения автора (дата).

Задания:

  1. Создайте таблицы books и authors в вашей базе данных, используя оператор CREATE TABLE.
  2. Добавьте два новых столбца в таблицу books: price (десятичное число) и stock_quantity (целое число, значение по умолчанию 0).
  3. Измените столбец genre в таблице books так, чтобы его максимальная длина составляла 75 символов, и измените тип данных publication_year на SMALLINT.
  4. Переименуйте столбец author_name в таблице authors на name и переименуйте столбец nationality на country.
  5. Удалите столбец birth_date из таблицы authors и столбец genre из таблицы books.
  6. Удалите таблицу authors из базы данных, используя оператор DROP TABLE.
Вариант 2: База данных управления мероприятиями

Вариант 2: База данных управления мероприятиями

Сценарий: Вы создаете базу данных для управления мероприятиями и местами проведения для компании, занимающейся организацией мероприятий.

Схемы таблиц:

  1. Таблица events:
    • event_id: Уникальный идентификатор для каждого мероприятия (автоинкрементное целое число, первичный ключ).
    • event_name: Название мероприятия (текст, не null, максимальная длина 100 символов).
    • event_date: Дата мероприятия (дата, не null).
    • start_time: Время начала мероприятия (время).
    • category: Категория мероприятия (текст, максимальная длина 50 символов).
  2. Таблица venues:
    • venue_id: Уникальный идентификатор для каждого места проведения (автоинкрементное целое число, первичный ключ).
    • venue_name: Название места проведения (текст, не null, максимальная длина 100 символов).
    • address: Адрес места проведения (текст, максимальная длина 200 символов).
    • capacity: Максимальная вместимость места проведения (целое число).
    • venue_type: Тип места проведения (например, ‘зал’, ‘стадион’, ‘парк’) (текст, максимальная длина 50 символов).

Задания:

  1. Создайте таблицы events и venues в вашей базе данных.
  2. Добавьте два новых столбца в таблицу events: description (текст) и is_cancelled (логический тип, значение по умолчанию false).
  3. Сделайте столбец category в таблице events NOT NULL и измените тип данных capacity в таблице venues на BIGINT.
  4. Переименуйте столбец event_name в таблице events на title и переименуйте столбец venue_name в таблице venues на name.
  5. Удалите столбец start_time из таблицы events и столбец venue_type из таблицы venues.
  6. Удалите таблицу venues из базы данных.
Вариант 3: База данных музыкальной библиотеки

Вариант 3: База данных музыкальной библиотеки

Сценарий: Вы создаете базу данных для управления личной музыкальной библиотекой, отслеживая песни и исполнителей.

Схемы таблиц:

  1. Таблица songs:
    • song_id: Уникальный идентификатор каждой песни (автоинкрементное целое число, первичный ключ).
    • song_title: Название песни (текст, не null, максимальная длина 100 символов).
    • duration_seconds: Продолжительность песни в секундах (целое число).
    • release_year: Год выпуска песни (целое число).
    • genre: Жанр песни (текст, максимальная длина 50 символов).
  2. Таблица artists:
    • artist_id: Уникальный идентификатор каждого исполнителя (автоинкрементное целое число, первичный ключ).
    • artist_name: Имя исполнителя (текст, не null, максимальная длина 100 символов).
    • origin_country: Страна происхождения исполнителя (текст, максимальная длина 50 символов).
    • formation_year: Год образования исполнителя (целое число).

Задания:

  1. Создать таблицы songs и artists в вашей базе данных.
  2. Добавить два новых столбца в таблицу songs: album_name (текст, максимальная длина 100 символов) и play_count (целое число, по умолчанию 0).
  3. Изменить столбец genre в таблице songs, установив максимальную длину 75 символов, и изменить тип данных duration_seconds на REAL.
  4. Переименовать столбец song_title в таблице songs на title и переименовать столбец artist_name в таблице artists на name.
  5. Удалить столбец release_year из таблицы songs и столбец formation_year из таблицы artists.
  6. Удалить таблицу artists из базы данных.
Вариант 4: База данных простой блог-платформы

Вариант 4: База данных простой блог-платформы

Сценарий: Вы проектируете базу данных для простой блог-платформы, чтобы управлять записями блога и категориями.

Схемы таблиц:

  1. Таблица posts:
    • post_id: Уникальный идентификатор каждой записи (автоинкрементное целое число, первичный ключ).
    • post_title: Заголовок записи блога (текст, не null, максимальная длина 200 символов).
    • content: Содержимое записи блога (текст).
    • publication_date: Дата публикации записи (дата, по умолчанию текущая дата).
    • is_published: Статус публикации (логическое значение, по умолчанию false).
  2. Таблица categories:
    • category_id: Уникальный идентификатор каждой категории (автоинкрементное целое число, первичный ключ).
    • category_name: Название категории (текст, не null, уникальное, максимальная длина 50 символов).
    • description: Описание категории (текст, максимальная длина 200 символов).
    • created_at: Временная метка создания категории (timestamp with time zone, по умолчанию текущая временная метка).

Задания:

  1. Создать таблицы posts и categories в вашей базе данных.
  2. Добавить два новых столбца в таблицу posts: author_name (текст, максимальная длина 100 символов) и view_count (целое число, по умолчанию 0).
  3. Изменить столбец post_title в таблице posts, установив максимальную длину 255 символов, и изменить тип данных publication_date на TIMESTAMP.
  4. Переименовать столбец post_title в таблице posts на title и переименовать столбец category_name в таблице categories на name.
  5. Удалить столбец is_published из таблицы posts и столбец description из таблицы categories.
  6. Удалить таблицу categories из базы данных.
Вариант 5: База данных рецептов

Вариант 5: База данных рецептов

Сценарий: Вы создаете базу данных для хранения рецептов и их ингредиентов для приложения с рецептами.

Схемы таблиц:

  1. Таблица recipes:
    • recipe_id: Уникальный идентификатор каждого рецепта (автоинкрементируемое целое число, первичный ключ).
    • recipe_name: Название рецепта (текст, не null, максимальная длина 100 символов).
    • instructions: Инструкции по приготовлению (текст).
    • cuisine_type: Тип кухни (например, ‘Итальянская’, ‘Мексиканская’, ‘Индийская’) (текст, максимальная длина 50 символов).
    • preparation_time_minutes: Время приготовления в минутах (целое число).
  2. Таблица ingredients:
    • ingredient_id: Уникальный идентификатор каждого ингредиента (автоинкрементируемое целое число, первичный ключ).
    • ingredient_name: Название ингредиента (текст, не null, уникальное, максимальная длина 100 символов).
    • is_vegetarian: Указывает, является ли ингредиент вегетарианским (логический тип, по умолчанию true).
    • is_vegan: Указывает, является ли ингредиент веганским (логический тип, по умолчанию false).

Задания:

  1. Создайте таблицы recipes и ingredients в вашей базе данных.
  2. Добавьте два новых столбца в таблицу recipes: servings (целое число, по умолчанию 1) и rating (числовой, точность 2, масштаб 1, например, 4.5).
  3. Измените столбец cuisine_type в таблице recipes, чтобы он имел максимальную длину 75 символов, и измените тип данных preparation_time_minutes на SMALLINT.
  4. Переименуйте столбец recipe_name в таблице recipes на name и переименуйте столбец ingredient_name в таблице ingredients на name.
  5. Удалите столбец instructions из таблицы recipes и столбец is_vegan из таблицы ingredients.
  6. Удалите таблицу ingredients из базы данных.
Вариант 6: Простая база данных управления задачами

Вариант 6: Простая база данных управления задачами

Сценарий: Вы создаете базу данных для простого приложения управления задачами, чтобы управлять задачами и проектами.

Схемы таблиц:

  1. Таблица tasks:
    • task_id: Уникальный идентификатор каждой задачи (автоинкрементируемое целое число, первичный ключ).
    • task_name: Название задачи (текст, не null, максимальная длина 100 символов).
    • description: Описание задачи (текст).
    • due_date: Дата, к которой задача должна быть выполнена (дата).
    • status: Статус задачи (например, ‘To Do’, ‘In Progress’, ‘Completed’) (текст, максимальная длина 50 символов, по умолчанию ‘To Do’).
  2. Таблица projects:
    • project_id: Уникальный идентификатор каждого проекта (автоинкрементируемое целое число, первичный ключ).
    • project_name: Название проекта (текст, не null, максимальная длина 100 символов).
    • start_date: Дата начала проекта (дата).
    • end_date: Дата, когда проект, как ожидается, закончится (дата).
    • priority: Приоритет проекта (например, ‘High’, ‘Medium’, ‘Low’) (текст, максимальная длина 50 символов, по умолчанию ‘Medium’).

Задания:

  1. Создайте таблицы tasks и projects в вашей базе данных.
  2. Добавьте два новых столбца в таблицу tasks: created_at (метка времени с часовым поясом, по умолчанию текущая метка времени) и is_urgent (логический тип, по умолчанию false).
  3. Измените столбец status в таблице tasks, чтобы он имел максимальную длину 75 символов, и измените тип данных due_date на TIMESTAMP.
  4. Переименуйте столбец task_name в таблице tasks на title и переименуйте столбец project_name в таблице projects на name.
  5. Удалите столбец description из таблицы tasks и столбец end_date из таблицы projects.
  6. Удалите таблицу projects из базы данных.
Вариант 7: База данных библиотеки

Вариант 7: База данных библиотеки

Сценарий: Вы создаете базу данных для небольшой библиотеки для управления книгами и читателями.

Схемы таблиц:

  1. Таблица books:
    • book_id: Уникальный идентификатор для каждой книги (автоинкрементное целое число, первичный ключ).
    • book_title: Название книги (текст, не null, максимальная длина 150 символов).
    • author: Автор книги (текст, максимальная длина 100 символов).
    • publication_year: Год публикации (целое число).
    • total_copies: Общее количество доступных экземпляров (целое число, по умолчанию 1).
  2. Таблица members:
    • member_id: Уникальный идентификатор для каждого читателя библиотеки (автоинкрементное целое число, первичный ключ).
    • member_name: Имя читателя (текст, не null, максимальная длина 100 символов).
    • address: Адрес читателя (текст, максимальная длина 200 символов).
    • phone_number: Номер телефона читателя (текст, максимальная длина 20 символов).
    • registration_date: Дата регистрации читателя (дата, по умолчанию текущая дата).

Задания:

  1. Создайте таблицы books и members в вашей базе данных.
  2. Добавьте два новых столбца в таблицу books: isbn (текст, уникальный, максимальная длина 20 символов) и genre (текст, максимальная длина 50 символов).
  3. Измените столбец author в таблице books на NOT NULL и измените тип данных publication_year в таблице books на TEXT.
  4. Переименуйте столбец book_title в таблице books на title и переименуйте столбец member_name в таблице members на name.
  5. Удалите столбец publication_year из таблицы books и столбец address из таблицы members.
  6. Удалите таблицу members из базы данных.
Вариант 8: База данных бронирования отеля

Вариант 8: База данных бронирования отеля

Сценарий: Вы создаете базу данных для отеля для управления номерами и гостями.

Схемы таблиц:

  1. Таблица rooms:
    • room_id: Уникальный идентификатор для каждого номера (автоинкрементное целое число, первичный ключ).
    • room_number: Номер комнаты (текст, уникальный, не null, максимальная длина 10 символов).
    • room_type: Тип номера (например, ‘Одноместный’, ‘Двухместный’, ‘Люкс’) (текст, максимальная длина 50 символов).
    • capacity: Максимальная вместимость номера (целое число).
    • price_per_night: Цена за ночь для номера (десятичное число).
  2. Таблица guests:
    • guest_id: Уникальный идентификатор для каждого гостя (автоинкрементное целое число, первичный ключ).
    • guest_name: Имя гостя (текст, не null, максимальная длина 100 символов).
    • email: Адрес электронной почты гостя (текст, уникальный, максимальная длина 100 символов).
    • phone_number: Номер телефона гостя (текст, максимальная длина 20 символов).
    • registration_date: Дата регистрации гостя в системе (временная метка, по умолчанию текущая временная метка).

Задания:

  1. Создайте таблицы rooms и guests в вашей базе данных.
  2. Добавьте два новых столбца в таблицу rooms: is_available (логическое значение, по умолчанию true) и view_type (текст, максимальная длина 50 символов, например, ‘Вид на город’, ‘Вид на море’).
  3. Измените столбец room_type в таблице rooms, чтобы максимальная длина была 75 символов, и измените тип данных capacity в таблице rooms на SMALLINT.
  4. Переименуйте столбец room_number в таблице rooms на number и переименуйте столбец guest_name в таблице guests на name.
  5. Удалите столбец price_per_night из таблицы rooms и столбец phone_number из таблицы guests.
  6. Удалите таблицу guests из базы данных.
Вариант 9: База данных платформы онлайн-курсов

Вариант 9: База данных платформы онлайн-курсов

Сценарий: Вы проектируете базу данных для платформы онлайн-курсов, чтобы управлять курсами и преподавателями.

Схемы таблиц:

  1. Таблица courses:
    • course_id: Уникальный идентификатор каждого курса (автоинкрементное целое число, первичный ключ).
    • course_name: Название курса (текст, не null, максимальная длина 100 символов).
    • description: Описание курса (текст).
    • credits: Количество кредитов за курс (целое число).
    • level: Уровень курса (например, ‘Начальный’, ‘Средний’, ‘Продвинутый’) (текст, максимальная длина 50 символов).
  2. Таблица instructors:
    • instructor_id: Уникальный идентификатор каждого преподавателя (автоинкрементное целое число, первичный ключ).
    • instructor_name: Имя преподавателя (текст, не null, максимальная длина 100 символов).
    • email: Адрес электронной почты преподавателя (текст, уникальный, максимальная длина 100 символов).
    • department: Отдел, к которому принадлежит преподаватель (текст, максимальная длина 100 символов).
    • hire_date: Дата найма преподавателя (дата).

Задания:

  1. Создать таблицы courses и instructors в вашей базе данных.
  2. Добавить два новых столбца в таблицу courses: duration_hours (целое число) и is_active (логический тип, по умолчанию true).
  3. Изменить столбец level в таблице courses, чтобы он имел максимальную длину 75 символов, и изменить тип данных credits в таблице courses на REAL.
  4. Переименовать столбец course_name в таблице courses на title и переименовать столбец instructor_name в таблице instructors на name.
  5. Удалить столбец description из таблицы courses и столбец department из таблицы instructors.
  6. Удалить таблицу instructors из базы данных.
Вариант 10: Простая CRM-база данных

Вариант 10: Простая CRM-база данных

Сценарий: Вы создаете базу данных для простой системы управления взаимоотношениями с клиентами (CRM) для управления клиентами и их взаимодействиями.

Схемы таблиц:

  1. Таблица customers:
    • customer_id: Уникальный идентификатор каждого клиента (автоинкрементное целое число, первичный ключ).
    • customer_name: Имя клиента (текст, не null, максимальная длина 100 символов).
    • email: Адрес электронной почты клиента (текст, уникальный, максимальная длина 100 символов).
    • phone_number: Номер телефона клиента (текст, максимальная длина 20 символов).
    • city: Город клиента (текст, максимальная длина 50 символов).
  2. Таблица interactions:
    • interaction_id: Уникальный идентификатор каждого взаимодействия (автоинкрементное целое число, первичный ключ).
    • interaction_type: Тип взаимодействия (например, ‘Звонок’, ‘Электронная почта’, ‘Встреча’) (текст, максимальная длина 50 символов).
    • interaction_date: Дата взаимодействия (метка времени, по умолчанию текущая метка времени).
    • notes: Заметки о взаимодействии (текст).
    • agent_name: Имя агента, который обработал взаимодействие (текст, максимальная длина 100 символов).

Задания:

  1. Создать таблицы customers и interactions в вашей базе данных.
  2. Добавить два новых столбца в таблицу customers: registration_date (дата, по умолчанию текущая дата) и is_active (логический тип, по умолчанию true).
  3. Изменить столбец city в таблице customers, чтобы он имел максимальную длину 75 символов, и изменить тип данных interaction_date в таблице interactions на DATE.
  4. Переименовать столбец customer_name в таблице customers на name и переименовать столбец interaction_type в таблице interactions на type.
  5. Удалить столбец phone_number из таблицы customers и столбец agent_name из таблицы interactions.
  6. Удалить таблицу interactions из базы данных.
Вариант 11: База данных управления сотрудниками

Вариант 11: База данных управления сотрудниками

Сценарий: Вы создаете упрощенную базу данных для управления сотрудниками, отслеживая сотрудников и отделы.

Схемы таблиц:

  1. Таблица employees:
    • employee_id: Уникальный идентификатор каждого сотрудника (автоинкрементное целое число, первичный ключ).
    • employee_name: Имя сотрудника (текст, не null, максимальная длина 100 символов).
    • job_title: Должность сотрудника (текст, максимальная длина 100 символов).
    • salary: Годовая зарплата сотрудника (числовое значение).
    • hire_date: Дата приема на работу сотрудника (дата).
  2. Таблица departments:
    • department_id: Уникальный идентификатор каждого отдела (автоинкрементное целое число, первичный ключ).
    • department_name: Название отдела (текст, не null, уникальное, максимальная длина 100 символов).
    • location: Местоположение отдела (текст, максимальная длина 100 символов).
    • manager_name: Имя руководителя отдела (текст, максимальная длина 100 символов).
    • employee_count: Количество сотрудников в отделе (целое число, по умолчанию 0).

Задания:

  1. Создать таблицы employees и departments в вашей базе данных.
  2. Добавить два новых столбца в таблицу employees: email (текст, уникальное, максимальная длина 100 символов) и is_active (логическое значение, по умолчанию true).
  3. Изменить столбец job_title в таблице employees, установив максимальную длину 150 символов, и изменить тип данных salary в таблице employees на INTEGER.
  4. Переименовать столбец employee_name в таблице employees на name и переименовать столбец department_name в таблице departments на name.
  5. Удалить столбец hire_date из таблицы employees и столбец manager_name из таблицы departments.
  6. Удалить таблицу departments из базы данных.
Вариант 12: База данных инвентаризации интернет-магазина

Вариант 12: База данных инвентаризации интернет-магазина

Сценарий: Вы создаете упрощенную базу данных для интернет-магазина, чтобы управлять товарами и категориями.

Схемы таблиц:

  1. Таблица products:
    • product_id: Уникальный идентификатор каждого товара (автоинкрементное целое число, первичный ключ).
    • product_name: Название товара (текст, не null, максимальная длина 100 символов).
    • description: Описание товара (текст).
    • price: Цена товара (десятичное число).
    • stock_quantity: Количество на складе (целое число, по умолчанию 0).
  2. Таблица categories:
    • category_id: Уникальный идентификатор каждой категории (автоинкрементное целое число, первичный ключ).
    • category_name: Название категории (текст, не null, уникальное, максимальная длина 100 символов).
    • parent_category: Название родительской категории (текст, максимальная длина 100 символов).
    • description: Описание категории (текст).
    • is_active: Указывает, активна ли категория в данный момент (логическое значение, по умолчанию true).

Задания:

  1. Создать таблицы products и categories в вашей базе данных.
  2. Добавить два новых столбца в таблицу products: sku (текст, уникальное, максимальная длина 50 символов) и weight_kg (числовое значение).
  3. Изменить столбец product_name в таблице products, установив максимальную длину 150 символов, и изменить тип данных price в таблице products на REAL.
  4. Переименовать столбец product_name в таблице products на name и переименовать столбец category_name в таблице categories на name.
  5. Удалить столбец description из таблицы products и столбец parent_category из таблицы categories.
  6. Удалить таблицу categories из базы данных.
Вариант 13: База данных фитнес-трекера

Вариант 13: База данных фитнес-трекера

Сценарий: Вы создаете базу данных для приложения фитнес-трекера, чтобы хранить профили пользователей и данные о тренировках.

Схемы таблиц:

  1. Таблица users:
    • user_id: Уникальный идентификатор каждого пользователя (автоинкрементное целое число, первичный ключ).
    • username: Имя пользователя (текст, уникальное, не null, максимальная длина 50 символов).
    • email: Адрес электронной почты (текст, уникальное, максимальная длина 100 символов).
    • gender: Пол пользователя (текст, максимальная длина 10 символов).
    • date_of_birth: Дата рождения (дата).
  2. Таблица workouts:
    • workout_id: Уникальный идентификатор каждой тренировки (автоинкрементное целое число, первичный ключ).
    • workout_type: Тип тренировки (например, ‘Бег’, ‘Силовая тренировка’, ‘Йога’) (текст, максимальная длина 50 символов).
    • duration_minutes: Продолжительность тренировки в минутах (целое число).
    • workout_date: Дата тренировки (дата, не null, по умолчанию текущая дата).
    • calories_burned: Предполагаемое количество сожженных калорий (целое число).

Задания:

  1. Создать таблицы users и workouts в вашей базе данных.
  2. Добавить два новых столбца в таблицу users: height_cm (целое число) и weight_kg (числовое значение, точность 5, масштаб 2).
  3. Изменить столбец gender в таблице users, установив максимальную длину 20 символов, и изменить тип данных duration_minutes в таблице workouts на REAL.
  4. Переименовать столбец username в таблице users на name и переименовать столбец workout_type в таблице workouts на type.
  5. Удалить столбец date_of_birth из таблицы users и столбец calories_burned из таблицы workouts.
  6. Удалить таблицу workouts из базы данных.
Вариант 14: База данных кинотеатра

Вариант 14: База данных кинотеатра

Сценарий: Вы создаете упрощенную базу данных для кинотеатра, чтобы управлять фильмами и сеансами.

Схемы таблиц:

  1. Таблица movies:
    • movie_id: Уникальный идентификатор каждого фильма (автоинкрементное целое число, первичный ключ).
    • movie_title: Название фильма (текст, не null, максимальная длина 150 символов).
    • genre: Жанр фильма (текст, максимальная длина 50 символов).
    • release_year: Год выпуска (целое число).
    • duration_minutes: Продолжительность фильма в минутах (целое число).
  2. Таблица screenings:
    • screening_id: Уникальный идентификатор каждого сеанса (автоинкрементное целое число, первичный ключ).
    • screen_number: Номер экрана (целое число).
    • start_time: Время начала сеанса (отметка времени).
    • end_time: Время окончания сеанса (отметка времени).
    • is_3d: Указывает, идет ли сеанс в 3D (логическое значение, по умолчанию false).

Задания:

  1. Создать таблицы movies и screenings в вашей базе данных.
  2. Добавить два новых столбца в таблицу movies: director (текст, максимальная длина 100 символов) и rating (текст, максимальная длина 10 символов, например, ‘PG-13’, ‘R’).
  3. Изменить столбец genre в таблице movies, установив максимальную длину 75 символов, и изменить тип данных screen_number в таблице screenings на TEXT.
  4. Переименовать столбец movie_title в таблице movies на title и переименовать столбец start_time в таблице screenings на start_datetime.
  5. Удалить столбец release_year из таблицы movies и столбец end_time из таблицы screenings.
  6. Удалить таблицу screenings из базы данных.
Вариант 15: Социальные сети

Вариант 15: Социальные сети

Сценарий: Вы создаете очень упрощенную базу данных для платформы социальных сетей, чтобы управлять профилями пользователей и сообщениями.

Схемы таблиц:

  1. Таблица users:
    • user_id: Уникальный идентификатор для каждого пользователя (автоинкрементное целое число, первичный ключ).
    • username: Имя пользователя (текст, уникальное, не null, максимальная длина 50 символов).
    • profile_name: Отображаемое имя пользователя (текст, максимальная длина 100 символов).
    • join_date: Дата регистрации пользователя (дата, по умолчанию текущая дата).
    • bio: Биография пользователя (текст).
  2. Таблица posts:
    • post_id: Уникальный идентификатор для каждого сообщения (автоинкрементное целое число, первичный ключ).
    • content: Содержание сообщения (текст, не null).
    • post_timestamp: Отметка времени создания сообщения (timestamp, по умолчанию текущая отметка времени).
    • like_count: Количество лайков (целое число, по умолчанию 0).
    • share_count: Количество репостов (целое число, по умолчанию 0).

Задачи:

  1. Создайте таблицы users и posts в вашей базе данных.
  2. Добавьте два новых столбца в таблицу users: email (текст, уникальный, максимальная длина 100 символов) и is_verified (логический тип, по умолчанию false).
  3. Измените столбец profile_name в таблице users, чтобы он имел максимальную длину 150 символов, и измените тип данных like_count в таблице posts на BIGINT.
  4. Переименуйте столбец username в таблице users в name и переименуйте столбец post_timestamp в таблице posts в created_at.
  5. Удалите столбец bio из таблицы users и столбец share_count из таблицы posts.
  6. Удалите таблицу posts из базы данных.
Вариант 16: Простая база данных для отслеживания проектов

Вариант 16: Простая база данных для отслеживания проектов

Сценарий: Вы создаете базу данных для отслеживания простых проектов и их задач.

Схемы таблиц:

  1. Таблица projects:
    • project_id: Уникальный идентификатор для каждого проекта (автоинкрементное целое число, первичный ключ).
    • project_name: Название проекта (текст, не null, максимальная длина 100 символов).
    • start_date: Дата начала проекта (дата).
    • deadline: Крайний срок проекта (дата).
    • status: Текущий статус проекта (например, ‘Планирование’, ‘В процессе’, ‘Завершен’) (текст, максимальная длина 50 символов, по умолчанию ‘Планирование’).
  2. Таблица tasks:
    • task_id: Уникальный идентификатор для каждой задачи (автоинкрементное целое число, первичный ключ).
    • task_description: Описание задачи (текст, не null).
    • due_date: Срок выполнения задачи (дата).
    • is_completed: Указывает, завершена ли задача (логический тип, по умолчанию false).
    • priority: Приоритет задачи (например, ‘Высокий’, ‘Средний’, ‘Низкий’) (текст, максимальная длина 50 символов, по умолчанию ‘Средний’).

Задачи:

  1. Создайте таблицы projects и tasks в вашей базе данных.
  2. Добавьте два новых столбца в таблицу projects: budget (десятичное число) и team_lead (текст, максимальная длина 100 символов).
  3. Измените столбец status в таблице projects, чтобы он имел максимальную длину 75 символов, и измените тип данных deadline в таблице projects на TIMESTAMP.
  4. Переименуйте столбец project_name в таблице projects в name и переименуйте столбец task_description в таблице tasks в description.
  5. Удалите столбец start_date из таблицы projects и столбец priority из таблицы tasks.
  6. Удалите таблицу tasks из базы данных.
Вариант 17: Интернет-форум

Вариант 17: Интернет-форум

Сценарий: Вы создаете упрощенную базу данных для интернет-форума, чтобы управлять пользователями и темами обсуждений.

Схемы таблиц:

  1. Таблица users:
    • user_id: Уникальный идентификатор каждого пользователя (автоинкрементное целое число, первичный ключ).
    • username: Имя пользователя (текст, уникальное, не null, максимальная длина 50 символов).
    • registration_date: Дата регистрации (метка времени, по умолчанию текущая метка времени).
    • reputation_score: Рейтинг репутации пользователя (целое число, по умолчанию 0).
    • is_banned: Указывает, заблокирован ли пользователь (логическое значение, по умолчанию false).
  2. Таблица threads:
    • thread_id: Уникальный идентификатор каждой темы (автоинкрементное целое число, первичный ключ).
    • thread_title: Заголовок темы (текст, не null, максимальная длина 200 символов).
    • creation_date: Дата создания темы (метка времени, по умолчанию текущая метка времени).
    • view_count: Количество просмотров темы (целое число, по умолчанию 0).
    • last_activity_date: Дата последней активности в теме (метка времени, по умолчанию текущая метка времени).

Задания:

  1. Создайте таблицы users и threads в вашей базе данных.
  2. Добавьте два новых столбца в таблицу users: email (текст, уникальный, максимальная длина 100 символов) и location (текст, максимальная длина 100 символов).
  3. Измените столбец username в таблице users, установив максимальную длину 75 символов, и измените тип данных столбца view_count в таблице threads на BIGINT.
  4. Переименуйте столбец username в таблице users на name и переименуйте столбец thread_title в таблице threads на title.
  5. Удалите столбец reputation_score из таблицы users и столбец last_activity_date из таблицы threads.
  6. Удалите таблицу threads из базы данных.
Вариант 18: Простая база данных списка дел

Вариант 18: Простая база данных списка дел

Сценарий: Вы создаете базу данных для очень простого приложения списка дел.

Схемы таблиц:

  1. Таблица todos:
    • todo_id: Уникальный идентификатор каждого элемента списка дел (автоинкрементное целое число, первичный ключ).
    • task_name: Название задачи (текст, не null, максимальная длина 100 символов).
    • description: Описание задачи (текст).
    • due_date: Срок выполнения задачи (дата).
    • is_completed: Указывает, завершена ли задача (логическое значение, по умолчанию false).
  2. Таблица categories:
    • category_id: Уникальный идентификатор каждой категории (автоинкрементное целое число, первичный ключ).
    • category_name: Название категории (текст, не null, уникальное, максимальная длина 100 символов).
    • color_code: Цветовой код категории (текст, максимальная длина 10 символов, например, ‘#FF0000’).
    • created_at: Метка времени создания категории (метка времени, по умолчанию текущая метка времени).
    • is_default: Указывает, является ли категория категорией по умолчанию (логическое значение, по умолчанию false).

Задания:

  1. Создайте таблицы todos и categories в вашей базе данных.
  2. Добавьте два новых столбца в таблицу todos: priority (текст, максимальная длина 20 символов, например, ‘High’, ‘Medium’, ‘Low’) и created_at (метка времени, по умолчанию текущая метка времени).
  3. Измените столбец task_name в таблице todos, установив максимальную длину 150 символов, и измените тип данных столбца due_date в таблице todos на TIMESTAMP.
  4. Переименуйте столбец task_name в таблице todos на title и переименуйте столбец category_name в таблице categories на name.
  5. Удалите столбец description из таблицы todos и столбец color_code из таблицы categories.
  6. Удалите таблицу categories из базы данных.

Инструкции по сдаче

1. Выполните задания:

  • Для выбранного вами варианта выполните все описанные задачи. Это включает в себя написание и выполнение SQL-команд в pgAdmin 4 с использованием PostgreSQL.

2. Задокументируйте свою работу в Google Документе:

  • Создайте новый Google Документ. образец
  • В верхней части документа четко напишите:
    • Ваше имя:
    • Номер варианта: (например, Вариант 1: База данных интернет-магазина книг)
  • Для каждой задачи в рамках варианта задокументируйте следующее:
    • Номер задачи: (например, Задача 1, Задача 2, Задача 3 и т.д.)
    • SQL-команда: Скопируйте и вставьте точную SQL-команду, которую вы выполнили в pgAdmin 4 для этой задачи.
    • Подтверждение/Скриншот: Включите скриншот из pgAdmin 4 (показывающий созданную таблицу в Object Browser), чтобы визуально подтвердить успешное выполнение вашей команды.

3. Отправьте ссылку на ваш Google Документ:

  • После того как вы закончите документировать все задачи для выбранного вами варианта в своем Google Документе, убедитесь, что документ открыт для доступа, чтобы ваш преподаватель мог получить к нему доступ. Важно: Установите разрешения на совместный доступ: “Всем, у кого есть ссылка, разрешено комментировать”.
  • Перейдите к Google Таблице, предоставленной вашим преподавателем для сдачи заданий. Google Таблица
  • Найдите столбец, соответствующий вашему имени.
  • В соответствующую ячейку для этого задания по базе данных вставьте ссылку для совместного доступа к вашему Google Документу.
Playful GIF