Базы данных | Задания для практического занятия 3
Создание, изменение и удаление таблиц в SQL
Вариант 1: База данных онлайн-книжного магазина
Вариант 1: База данных онлайн-книжного магазина
Сценарий: Вам поручено создать базу данных для онлайн-книжного магазина. Эта база данных изначально будет управлять книгами и их авторами.
Схемы таблиц:
- Таблица
books:book_id: Уникальный идентификатор для каждой книги (автоинкрементное целое число, первичный ключ).title: Название книги (текст, не null, максимальная длина 100 символов).isbn: Международный стандартный книжный номер (текст, уникальный, максимальная длина 20 символов).publication_year: Год публикации (целое число).genre: Жанр книги (текст, максимальная длина 50 символов).
- Таблица
authors:author_id: Уникальный идентификатор для каждого автора (автоинкрементное целое число, первичный ключ).author_name: Имя автора (текст, не null, максимальная длина 100 символов).nationality: Национальность автора (текст, максимальная длина 50 символов).birth_date: Дата рождения автора (дата).
Задания:
- Создайте таблицы
booksиauthorsв вашей базе данных, используя операторCREATE TABLE. - Добавьте два новых столбца в таблицу
books:price(десятичное число) иstock_quantity(целое число, значение по умолчанию 0). - Измените столбец
genreв таблицеbooksтак, чтобы его максимальная длина составляла 75 символов, и измените тип данныхpublication_yearнаSMALLINT. - Переименуйте столбец
author_nameв таблицеauthorsнаnameи переименуйте столбецnationalityнаcountry. - Удалите столбец
birth_dateиз таблицыauthorsи столбецgenreиз таблицыbooks. - Удалите таблицу
authorsиз базы данных, используя операторDROP TABLE.
Вариант 2: База данных управления мероприятиями
Вариант 2: База данных управления мероприятиями
Сценарий: Вы создаете базу данных для управления мероприятиями и местами проведения для компании, занимающейся организацией мероприятий.
Схемы таблиц:
- Таблица
events:event_id: Уникальный идентификатор для каждого мероприятия (автоинкрементное целое число, первичный ключ).event_name: Название мероприятия (текст, не null, максимальная длина 100 символов).event_date: Дата мероприятия (дата, не null).start_time: Время начала мероприятия (время).category: Категория мероприятия (текст, максимальная длина 50 символов).
- Таблица
venues:venue_id: Уникальный идентификатор для каждого места проведения (автоинкрементное целое число, первичный ключ).venue_name: Название места проведения (текст, не null, максимальная длина 100 символов).address: Адрес места проведения (текст, максимальная длина 200 символов).capacity: Максимальная вместимость места проведения (целое число).venue_type: Тип места проведения (например, ‘зал’, ‘стадион’, ‘парк’) (текст, максимальная длина 50 символов).
Задания:
- Создайте таблицы
eventsиvenuesв вашей базе данных. - Добавьте два новых столбца в таблицу
events:description(текст) иis_cancelled(логический тип, значение по умолчанию false). - Сделайте столбец
categoryв таблицеeventsNOT NULLи измените тип данныхcapacityв таблицеvenuesнаBIGINT. - Переименуйте столбец
event_nameв таблицеeventsнаtitleи переименуйте столбецvenue_nameв таблицеvenuesнаname. - Удалите столбец
start_timeиз таблицыeventsи столбецvenue_typeиз таблицыvenues. - Удалите таблицу
venuesиз базы данных.
Вариант 3: База данных музыкальной библиотеки
Вариант 3: База данных музыкальной библиотеки
Сценарий: Вы создаете базу данных для управления личной музыкальной библиотекой, отслеживая песни и исполнителей.
Схемы таблиц:
- Таблица
songs:song_id: Уникальный идентификатор каждой песни (автоинкрементное целое число, первичный ключ).song_title: Название песни (текст, не null, максимальная длина 100 символов).duration_seconds: Продолжительность песни в секундах (целое число).release_year: Год выпуска песни (целое число).genre: Жанр песни (текст, максимальная длина 50 символов).
- Таблица
artists:artist_id: Уникальный идентификатор каждого исполнителя (автоинкрементное целое число, первичный ключ).artist_name: Имя исполнителя (текст, не null, максимальная длина 100 символов).origin_country: Страна происхождения исполнителя (текст, максимальная длина 50 символов).formation_year: Год образования исполнителя (целое число).
Задания:
- Создать таблицы
songsиartistsв вашей базе данных. - Добавить два новых столбца в таблицу
songs:album_name(текст, максимальная длина 100 символов) иplay_count(целое число, по умолчанию 0). - Изменить столбец
genreв таблицеsongs, установив максимальную длину 75 символов, и изменить тип данныхduration_secondsнаREAL. - Переименовать столбец
song_titleв таблицеsongsнаtitleи переименовать столбецartist_nameв таблицеartistsнаname. - Удалить столбец
release_yearиз таблицыsongsи столбецformation_yearиз таблицыartists. - Удалить таблицу
artistsиз базы данных.
Вариант 4: База данных простой блог-платформы
Вариант 4: База данных простой блог-платформы
Сценарий: Вы проектируете базу данных для простой блог-платформы, чтобы управлять записями блога и категориями.
Схемы таблиц:
- Таблица
posts:post_id: Уникальный идентификатор каждой записи (автоинкрементное целое число, первичный ключ).post_title: Заголовок записи блога (текст, не null, максимальная длина 200 символов).content: Содержимое записи блога (текст).publication_date: Дата публикации записи (дата, по умолчанию текущая дата).is_published: Статус публикации (логическое значение, по умолчанию false).
- Таблица
categories:category_id: Уникальный идентификатор каждой категории (автоинкрементное целое число, первичный ключ).category_name: Название категории (текст, не null, уникальное, максимальная длина 50 символов).description: Описание категории (текст, максимальная длина 200 символов).created_at: Временная метка создания категории (timestamp with time zone, по умолчанию текущая временная метка).
Задания:
- Создать таблицы
postsиcategoriesв вашей базе данных. - Добавить два новых столбца в таблицу
posts:author_name(текст, максимальная длина 100 символов) иview_count(целое число, по умолчанию 0). - Изменить столбец
post_titleв таблицеposts, установив максимальную длину 255 символов, и изменить тип данныхpublication_dateнаTIMESTAMP. - Переименовать столбец
post_titleв таблицеpostsнаtitleи переименовать столбецcategory_nameв таблицеcategoriesнаname. - Удалить столбец
is_publishedиз таблицыpostsи столбецdescriptionиз таблицыcategories. - Удалить таблицу
categoriesиз базы данных.
Вариант 5: База данных рецептов
Вариант 5: База данных рецептов
Сценарий: Вы создаете базу данных для хранения рецептов и их ингредиентов для приложения с рецептами.
Схемы таблиц:
- Таблица
recipes:recipe_id: Уникальный идентификатор каждого рецепта (автоинкрементируемое целое число, первичный ключ).recipe_name: Название рецепта (текст, не null, максимальная длина 100 символов).instructions: Инструкции по приготовлению (текст).cuisine_type: Тип кухни (например, ‘Итальянская’, ‘Мексиканская’, ‘Индийская’) (текст, максимальная длина 50 символов).preparation_time_minutes: Время приготовления в минутах (целое число).
- Таблица
ingredients:ingredient_id: Уникальный идентификатор каждого ингредиента (автоинкрементируемое целое число, первичный ключ).ingredient_name: Название ингредиента (текст, не null, уникальное, максимальная длина 100 символов).is_vegetarian: Указывает, является ли ингредиент вегетарианским (логический тип, по умолчанию true).is_vegan: Указывает, является ли ингредиент веганским (логический тип, по умолчанию false).
Задания:
- Создайте таблицы
recipesиingredientsв вашей базе данных. - Добавьте два новых столбца в таблицу
recipes:servings(целое число, по умолчанию 1) иrating(числовой, точность 2, масштаб 1, например, 4.5). - Измените столбец
cuisine_typeв таблицеrecipes, чтобы он имел максимальную длину 75 символов, и измените тип данныхpreparation_time_minutesнаSMALLINT. - Переименуйте столбец
recipe_nameв таблицеrecipesнаnameи переименуйте столбецingredient_nameв таблицеingredientsнаname. - Удалите столбец
instructionsиз таблицыrecipesи столбецis_veganиз таблицыingredients. - Удалите таблицу
ingredientsиз базы данных.
Вариант 6: Простая база данных управления задачами
Вариант 6: Простая база данных управления задачами
Сценарий: Вы создаете базу данных для простого приложения управления задачами, чтобы управлять задачами и проектами.
Схемы таблиц:
- Таблица
tasks:task_id: Уникальный идентификатор каждой задачи (автоинкрементируемое целое число, первичный ключ).task_name: Название задачи (текст, не null, максимальная длина 100 символов).description: Описание задачи (текст).due_date: Дата, к которой задача должна быть выполнена (дата).status: Статус задачи (например, ‘To Do’, ‘In Progress’, ‘Completed’) (текст, максимальная длина 50 символов, по умолчанию ‘To Do’).
- Таблица
projects:project_id: Уникальный идентификатор каждого проекта (автоинкрементируемое целое число, первичный ключ).project_name: Название проекта (текст, не null, максимальная длина 100 символов).start_date: Дата начала проекта (дата).end_date: Дата, когда проект, как ожидается, закончится (дата).priority: Приоритет проекта (например, ‘High’, ‘Medium’, ‘Low’) (текст, максимальная длина 50 символов, по умолчанию ‘Medium’).
Задания:
- Создайте таблицы
tasksиprojectsв вашей базе данных. - Добавьте два новых столбца в таблицу
tasks:created_at(метка времени с часовым поясом, по умолчанию текущая метка времени) иis_urgent(логический тип, по умолчанию false). - Измените столбец
statusв таблицеtasks, чтобы он имел максимальную длину 75 символов, и измените тип данныхdue_dateнаTIMESTAMP. - Переименуйте столбец
task_nameв таблицеtasksнаtitleи переименуйте столбецproject_nameв таблицеprojectsнаname. - Удалите столбец
descriptionиз таблицыtasksи столбецend_dateиз таблицыprojects. - Удалите таблицу
projectsиз базы данных.
Вариант 7: База данных библиотеки
Вариант 7: База данных библиотеки
Сценарий: Вы создаете базу данных для небольшой библиотеки для управления книгами и читателями.
Схемы таблиц:
- Таблица
books:book_id: Уникальный идентификатор для каждой книги (автоинкрементное целое число, первичный ключ).book_title: Название книги (текст, не null, максимальная длина 150 символов).author: Автор книги (текст, максимальная длина 100 символов).publication_year: Год публикации (целое число).total_copies: Общее количество доступных экземпляров (целое число, по умолчанию 1).
- Таблица
members:member_id: Уникальный идентификатор для каждого читателя библиотеки (автоинкрементное целое число, первичный ключ).member_name: Имя читателя (текст, не null, максимальная длина 100 символов).address: Адрес читателя (текст, максимальная длина 200 символов).phone_number: Номер телефона читателя (текст, максимальная длина 20 символов).registration_date: Дата регистрации читателя (дата, по умолчанию текущая дата).
Задания:
- Создайте таблицы
booksиmembersв вашей базе данных. - Добавьте два новых столбца в таблицу
books:isbn(текст, уникальный, максимальная длина 20 символов) иgenre(текст, максимальная длина 50 символов). - Измените столбец
authorв таблицеbooksнаNOT NULLи измените тип данныхpublication_yearв таблицеbooksнаTEXT. - Переименуйте столбец
book_titleв таблицеbooksнаtitleи переименуйте столбецmember_nameв таблицеmembersнаname. - Удалите столбец
publication_yearиз таблицыbooksи столбецaddressиз таблицыmembers. - Удалите таблицу
membersиз базы данных.
Вариант 8: База данных бронирования отеля
Вариант 8: База данных бронирования отеля
Сценарий: Вы создаете базу данных для отеля для управления номерами и гостями.
Схемы таблиц:
- Таблица
rooms:room_id: Уникальный идентификатор для каждого номера (автоинкрементное целое число, первичный ключ).room_number: Номер комнаты (текст, уникальный, не null, максимальная длина 10 символов).room_type: Тип номера (например, ‘Одноместный’, ‘Двухместный’, ‘Люкс’) (текст, максимальная длина 50 символов).capacity: Максимальная вместимость номера (целое число).price_per_night: Цена за ночь для номера (десятичное число).
- Таблица
guests:guest_id: Уникальный идентификатор для каждого гостя (автоинкрементное целое число, первичный ключ).guest_name: Имя гостя (текст, не null, максимальная длина 100 символов).email: Адрес электронной почты гостя (текст, уникальный, максимальная длина 100 символов).phone_number: Номер телефона гостя (текст, максимальная длина 20 символов).registration_date: Дата регистрации гостя в системе (временная метка, по умолчанию текущая временная метка).
Задания:
- Создайте таблицы
roomsиguestsв вашей базе данных. - Добавьте два новых столбца в таблицу
rooms:is_available(логическое значение, по умолчанию true) иview_type(текст, максимальная длина 50 символов, например, ‘Вид на город’, ‘Вид на море’). - Измените столбец
room_typeв таблицеrooms, чтобы максимальная длина была 75 символов, и измените тип данныхcapacityв таблицеroomsнаSMALLINT. - Переименуйте столбец
room_numberв таблицеroomsнаnumberи переименуйте столбецguest_nameв таблицеguestsнаname. - Удалите столбец
price_per_nightиз таблицыroomsи столбецphone_numberиз таблицыguests. - Удалите таблицу
guestsиз базы данных.
Вариант 9: База данных платформы онлайн-курсов
Вариант 9: База данных платформы онлайн-курсов
Сценарий: Вы проектируете базу данных для платформы онлайн-курсов, чтобы управлять курсами и преподавателями.
Схемы таблиц:
- Таблица
courses:course_id: Уникальный идентификатор каждого курса (автоинкрементное целое число, первичный ключ).course_name: Название курса (текст, не null, максимальная длина 100 символов).description: Описание курса (текст).credits: Количество кредитов за курс (целое число).level: Уровень курса (например, ‘Начальный’, ‘Средний’, ‘Продвинутый’) (текст, максимальная длина 50 символов).
- Таблица
instructors:instructor_id: Уникальный идентификатор каждого преподавателя (автоинкрементное целое число, первичный ключ).instructor_name: Имя преподавателя (текст, не null, максимальная длина 100 символов).email: Адрес электронной почты преподавателя (текст, уникальный, максимальная длина 100 символов).department: Отдел, к которому принадлежит преподаватель (текст, максимальная длина 100 символов).hire_date: Дата найма преподавателя (дата).
Задания:
- Создать таблицы
coursesиinstructorsв вашей базе данных. - Добавить два новых столбца в таблицу
courses:duration_hours(целое число) иis_active(логический тип, по умолчанию true). - Изменить столбец
levelв таблицеcourses, чтобы он имел максимальную длину 75 символов, и изменить тип данныхcreditsв таблицеcoursesнаREAL. - Переименовать столбец
course_nameв таблицеcoursesнаtitleи переименовать столбецinstructor_nameв таблицеinstructorsнаname. - Удалить столбец
descriptionиз таблицыcoursesи столбецdepartmentиз таблицыinstructors. - Удалить таблицу
instructorsиз базы данных.
Вариант 10: Простая CRM-база данных
Вариант 10: Простая CRM-база данных
Сценарий: Вы создаете базу данных для простой системы управления взаимоотношениями с клиентами (CRM) для управления клиентами и их взаимодействиями.
Схемы таблиц:
- Таблица
customers:customer_id: Уникальный идентификатор каждого клиента (автоинкрементное целое число, первичный ключ).customer_name: Имя клиента (текст, не null, максимальная длина 100 символов).email: Адрес электронной почты клиента (текст, уникальный, максимальная длина 100 символов).phone_number: Номер телефона клиента (текст, максимальная длина 20 символов).city: Город клиента (текст, максимальная длина 50 символов).
- Таблица
interactions:interaction_id: Уникальный идентификатор каждого взаимодействия (автоинкрементное целое число, первичный ключ).interaction_type: Тип взаимодействия (например, ‘Звонок’, ‘Электронная почта’, ‘Встреча’) (текст, максимальная длина 50 символов).interaction_date: Дата взаимодействия (метка времени, по умолчанию текущая метка времени).notes: Заметки о взаимодействии (текст).agent_name: Имя агента, который обработал взаимодействие (текст, максимальная длина 100 символов).
Задания:
- Создать таблицы
customersиinteractionsв вашей базе данных. - Добавить два новых столбца в таблицу
customers:registration_date(дата, по умолчанию текущая дата) иis_active(логический тип, по умолчанию true). - Изменить столбец
cityв таблицеcustomers, чтобы он имел максимальную длину 75 символов, и изменить тип данныхinteraction_dateв таблицеinteractionsнаDATE. - Переименовать столбец
customer_nameв таблицеcustomersнаnameи переименовать столбецinteraction_typeв таблицеinteractionsнаtype. - Удалить столбец
phone_numberиз таблицыcustomersи столбецagent_nameиз таблицыinteractions. - Удалить таблицу
interactionsиз базы данных.
Вариант 11: База данных управления сотрудниками
Вариант 11: База данных управления сотрудниками
Сценарий: Вы создаете упрощенную базу данных для управления сотрудниками, отслеживая сотрудников и отделы.
Схемы таблиц:
- Таблица
employees:employee_id: Уникальный идентификатор каждого сотрудника (автоинкрементное целое число, первичный ключ).employee_name: Имя сотрудника (текст, не null, максимальная длина 100 символов).job_title: Должность сотрудника (текст, максимальная длина 100 символов).salary: Годовая зарплата сотрудника (числовое значение).hire_date: Дата приема на работу сотрудника (дата).
- Таблица
departments:department_id: Уникальный идентификатор каждого отдела (автоинкрементное целое число, первичный ключ).department_name: Название отдела (текст, не null, уникальное, максимальная длина 100 символов).location: Местоположение отдела (текст, максимальная длина 100 символов).manager_name: Имя руководителя отдела (текст, максимальная длина 100 символов).employee_count: Количество сотрудников в отделе (целое число, по умолчанию 0).
Задания:
- Создать таблицы
employeesиdepartmentsв вашей базе данных. - Добавить два новых столбца в таблицу
employees:email(текст, уникальное, максимальная длина 100 символов) иis_active(логическое значение, по умолчанию true). - Изменить столбец
job_titleв таблицеemployees, установив максимальную длину 150 символов, и изменить тип данныхsalaryв таблицеemployeesнаINTEGER. - Переименовать столбец
employee_nameв таблицеemployeesнаnameи переименовать столбецdepartment_nameв таблицеdepartmentsнаname. - Удалить столбец
hire_dateиз таблицыemployeesи столбецmanager_nameиз таблицыdepartments. - Удалить таблицу
departmentsиз базы данных.
Вариант 12: База данных инвентаризации интернет-магазина
Вариант 12: База данных инвентаризации интернет-магазина
Сценарий: Вы создаете упрощенную базу данных для интернет-магазина, чтобы управлять товарами и категориями.
Схемы таблиц:
- Таблица
products:product_id: Уникальный идентификатор каждого товара (автоинкрементное целое число, первичный ключ).product_name: Название товара (текст, не null, максимальная длина 100 символов).description: Описание товара (текст).price: Цена товара (десятичное число).stock_quantity: Количество на складе (целое число, по умолчанию 0).
- Таблица
categories:category_id: Уникальный идентификатор каждой категории (автоинкрементное целое число, первичный ключ).category_name: Название категории (текст, не null, уникальное, максимальная длина 100 символов).parent_category: Название родительской категории (текст, максимальная длина 100 символов).description: Описание категории (текст).is_active: Указывает, активна ли категория в данный момент (логическое значение, по умолчанию true).
Задания:
- Создать таблицы
productsиcategoriesв вашей базе данных. - Добавить два новых столбца в таблицу
products:sku(текст, уникальное, максимальная длина 50 символов) иweight_kg(числовое значение). - Изменить столбец
product_nameв таблицеproducts, установив максимальную длину 150 символов, и изменить тип данныхpriceв таблицеproductsнаREAL. - Переименовать столбец
product_nameв таблицеproductsнаnameи переименовать столбецcategory_nameв таблицеcategoriesнаname. - Удалить столбец
descriptionиз таблицыproductsи столбецparent_categoryиз таблицыcategories. - Удалить таблицу
categoriesиз базы данных.
Вариант 13: База данных фитнес-трекера
Вариант 13: База данных фитнес-трекера
Сценарий: Вы создаете базу данных для приложения фитнес-трекера, чтобы хранить профили пользователей и данные о тренировках.
Схемы таблиц:
- Таблица
users:user_id: Уникальный идентификатор каждого пользователя (автоинкрементное целое число, первичный ключ).username: Имя пользователя (текст, уникальное, не null, максимальная длина 50 символов).email: Адрес электронной почты (текст, уникальное, максимальная длина 100 символов).gender: Пол пользователя (текст, максимальная длина 10 символов).date_of_birth: Дата рождения (дата).
- Таблица
workouts:workout_id: Уникальный идентификатор каждой тренировки (автоинкрементное целое число, первичный ключ).workout_type: Тип тренировки (например, ‘Бег’, ‘Силовая тренировка’, ‘Йога’) (текст, максимальная длина 50 символов).duration_minutes: Продолжительность тренировки в минутах (целое число).workout_date: Дата тренировки (дата, не null, по умолчанию текущая дата).calories_burned: Предполагаемое количество сожженных калорий (целое число).
Задания:
- Создать таблицы
usersиworkoutsв вашей базе данных. - Добавить два новых столбца в таблицу
users:height_cm(целое число) иweight_kg(числовое значение, точность 5, масштаб 2). - Изменить столбец
genderв таблицеusers, установив максимальную длину 20 символов, и изменить тип данныхduration_minutesв таблицеworkoutsнаREAL. - Переименовать столбец
usernameв таблицеusersнаnameи переименовать столбецworkout_typeв таблицеworkoutsнаtype. - Удалить столбец
date_of_birthиз таблицыusersи столбецcalories_burnedиз таблицыworkouts. - Удалить таблицу
workoutsиз базы данных.
Вариант 14: База данных кинотеатра
Вариант 14: База данных кинотеатра
Сценарий: Вы создаете упрощенную базу данных для кинотеатра, чтобы управлять фильмами и сеансами.
Схемы таблиц:
- Таблица
movies:movie_id: Уникальный идентификатор каждого фильма (автоинкрементное целое число, первичный ключ).movie_title: Название фильма (текст, не null, максимальная длина 150 символов).genre: Жанр фильма (текст, максимальная длина 50 символов).release_year: Год выпуска (целое число).duration_minutes: Продолжительность фильма в минутах (целое число).
- Таблица
screenings:screening_id: Уникальный идентификатор каждого сеанса (автоинкрементное целое число, первичный ключ).screen_number: Номер экрана (целое число).start_time: Время начала сеанса (отметка времени).end_time: Время окончания сеанса (отметка времени).is_3d: Указывает, идет ли сеанс в 3D (логическое значение, по умолчанию false).
Задания:
- Создать таблицы
moviesиscreeningsв вашей базе данных. - Добавить два новых столбца в таблицу
movies:director(текст, максимальная длина 100 символов) иrating(текст, максимальная длина 10 символов, например, ‘PG-13’, ‘R’). - Изменить столбец
genreв таблицеmovies, установив максимальную длину 75 символов, и изменить тип данныхscreen_numberв таблицеscreeningsнаTEXT. - Переименовать столбец
movie_titleв таблицеmoviesнаtitleи переименовать столбецstart_timeв таблицеscreeningsнаstart_datetime. - Удалить столбец
release_yearиз таблицыmoviesи столбецend_timeиз таблицыscreenings. - Удалить таблицу
screeningsиз базы данных.
Вариант 15: Социальные сети
Вариант 15: Социальные сети
Сценарий: Вы создаете очень упрощенную базу данных для платформы социальных сетей, чтобы управлять профилями пользователей и сообщениями.
Схемы таблиц:
- Таблица
users:user_id: Уникальный идентификатор для каждого пользователя (автоинкрементное целое число, первичный ключ).username: Имя пользователя (текст, уникальное, не null, максимальная длина 50 символов).profile_name: Отображаемое имя пользователя (текст, максимальная длина 100 символов).join_date: Дата регистрации пользователя (дата, по умолчанию текущая дата).bio: Биография пользователя (текст).
- Таблица
posts:post_id: Уникальный идентификатор для каждого сообщения (автоинкрементное целое число, первичный ключ).content: Содержание сообщения (текст, не null).post_timestamp: Отметка времени создания сообщения (timestamp, по умолчанию текущая отметка времени).like_count: Количество лайков (целое число, по умолчанию 0).share_count: Количество репостов (целое число, по умолчанию 0).
Задачи:
- Создайте таблицы
usersиpostsв вашей базе данных. - Добавьте два новых столбца в таблицу
users:email(текст, уникальный, максимальная длина 100 символов) иis_verified(логический тип, по умолчанию false). - Измените столбец
profile_nameв таблицеusers, чтобы он имел максимальную длину 150 символов, и измените тип данныхlike_countв таблицеpostsнаBIGINT. - Переименуйте столбец
usernameв таблицеusersвnameи переименуйте столбецpost_timestampв таблицеpostsвcreated_at. - Удалите столбец
bioиз таблицыusersи столбецshare_countиз таблицыposts. - Удалите таблицу
postsиз базы данных.
Вариант 16: Простая база данных для отслеживания проектов
Вариант 16: Простая база данных для отслеживания проектов
Сценарий: Вы создаете базу данных для отслеживания простых проектов и их задач.
Схемы таблиц:
- Таблица
projects:project_id: Уникальный идентификатор для каждого проекта (автоинкрементное целое число, первичный ключ).project_name: Название проекта (текст, не null, максимальная длина 100 символов).start_date: Дата начала проекта (дата).deadline: Крайний срок проекта (дата).status: Текущий статус проекта (например, ‘Планирование’, ‘В процессе’, ‘Завершен’) (текст, максимальная длина 50 символов, по умолчанию ‘Планирование’).
- Таблица
tasks:task_id: Уникальный идентификатор для каждой задачи (автоинкрементное целое число, первичный ключ).task_description: Описание задачи (текст, не null).due_date: Срок выполнения задачи (дата).is_completed: Указывает, завершена ли задача (логический тип, по умолчанию false).priority: Приоритет задачи (например, ‘Высокий’, ‘Средний’, ‘Низкий’) (текст, максимальная длина 50 символов, по умолчанию ‘Средний’).
Задачи:
- Создайте таблицы
projectsиtasksв вашей базе данных. - Добавьте два новых столбца в таблицу
projects:budget(десятичное число) иteam_lead(текст, максимальная длина 100 символов). - Измените столбец
statusв таблицеprojects, чтобы он имел максимальную длину 75 символов, и измените тип данныхdeadlineв таблицеprojectsнаTIMESTAMP. - Переименуйте столбец
project_nameв таблицеprojectsвnameи переименуйте столбецtask_descriptionв таблицеtasksвdescription. - Удалите столбец
start_dateиз таблицыprojectsи столбецpriorityиз таблицыtasks. - Удалите таблицу
tasksиз базы данных.
Вариант 17: Интернет-форум
Вариант 17: Интернет-форум
Сценарий: Вы создаете упрощенную базу данных для интернет-форума, чтобы управлять пользователями и темами обсуждений.
Схемы таблиц:
- Таблица
users:user_id: Уникальный идентификатор каждого пользователя (автоинкрементное целое число, первичный ключ).username: Имя пользователя (текст, уникальное, не null, максимальная длина 50 символов).registration_date: Дата регистрации (метка времени, по умолчанию текущая метка времени).reputation_score: Рейтинг репутации пользователя (целое число, по умолчанию 0).is_banned: Указывает, заблокирован ли пользователь (логическое значение, по умолчанию false).
- Таблица
threads:thread_id: Уникальный идентификатор каждой темы (автоинкрементное целое число, первичный ключ).thread_title: Заголовок темы (текст, не null, максимальная длина 200 символов).creation_date: Дата создания темы (метка времени, по умолчанию текущая метка времени).view_count: Количество просмотров темы (целое число, по умолчанию 0).last_activity_date: Дата последней активности в теме (метка времени, по умолчанию текущая метка времени).
Задания:
- Создайте таблицы
usersиthreadsв вашей базе данных. - Добавьте два новых столбца в таблицу
users:email(текст, уникальный, максимальная длина 100 символов) иlocation(текст, максимальная длина 100 символов). - Измените столбец
usernameв таблицеusers, установив максимальную длину 75 символов, и измените тип данных столбцаview_countв таблицеthreadsнаBIGINT. - Переименуйте столбец
usernameв таблицеusersнаnameи переименуйте столбецthread_titleв таблицеthreadsнаtitle. - Удалите столбец
reputation_scoreиз таблицыusersи столбецlast_activity_dateиз таблицыthreads. - Удалите таблицу
threadsиз базы данных.
Вариант 18: Простая база данных списка дел
Вариант 18: Простая база данных списка дел
Сценарий: Вы создаете базу данных для очень простого приложения списка дел.
Схемы таблиц:
- Таблица
todos:todo_id: Уникальный идентификатор каждого элемента списка дел (автоинкрементное целое число, первичный ключ).task_name: Название задачи (текст, не null, максимальная длина 100 символов).description: Описание задачи (текст).due_date: Срок выполнения задачи (дата).is_completed: Указывает, завершена ли задача (логическое значение, по умолчанию false).
- Таблица
categories:category_id: Уникальный идентификатор каждой категории (автоинкрементное целое число, первичный ключ).category_name: Название категории (текст, не null, уникальное, максимальная длина 100 символов).color_code: Цветовой код категории (текст, максимальная длина 10 символов, например, ‘#FF0000’).created_at: Метка времени создания категории (метка времени, по умолчанию текущая метка времени).is_default: Указывает, является ли категория категорией по умолчанию (логическое значение, по умолчанию false).
Задания:
- Создайте таблицы
todosиcategoriesв вашей базе данных. - Добавьте два новых столбца в таблицу
todos:priority(текст, максимальная длина 20 символов, например, ‘High’, ‘Medium’, ‘Low’) иcreated_at(метка времени, по умолчанию текущая метка времени). - Измените столбец
task_nameв таблицеtodos, установив максимальную длину 150 символов, и измените тип данных столбцаdue_dateв таблицеtodosнаTIMESTAMP. - Переименуйте столбец
task_nameв таблицеtodosнаtitleи переименуйте столбецcategory_nameв таблицеcategoriesнаname. - Удалите столбец
descriptionиз таблицыtodosи столбецcolor_codeиз таблицыcategories. - Удалите таблицу
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 Документу.