Условие
В реляционной базе данных хранится информация о студентах, курсах и оценках.
Что будет создаваться для каждого студента?
- Строка
- Таблица
- Коллекция
- Столбец
Решение
Правильный ответ — строка.
Реляционная модель устроена так:
- Таблица = сущность (например,
students— все студенты вообще). - Строка (запись, кортеж) = один экземпляр сущности (один конкретный студент).
- Столбец (атрибут) = свойство сущности (имя, email, дата рождения).
То есть:
| Сущность в задаче | Что в БД |
|---|---|
| Все студенты | таблица students |
| Конкретный студент Иван | строка в students |
| ФИО студента | столбец full_name |
| Все курсы | таблица courses |
| Все оценки | таблица grades |
«Коллекция» — термин из NoSQL/MongoDB (документная модель). К реляционной модели не применяется.
Пример DDL
CREATE TABLE students (
student_id INT PRIMARY KEY,
full_name TEXT NOT NULL,
email TEXT UNIQUE
);
INSERT INTO students VALUES (1, 'Иван Иванов', 'ivan@x.com'); -- одна строка = один студент
INSERT INTO students VALUES (2, 'Мария Петрова', 'maria@x.com');Подводные камни
- Путать «коллекцию» и «таблицу». В MongoDB collection ≈ table, но в SQL мы говорим именно «таблица».
- «Каждый столбец = студент». Нет, столбцы — это атрибуты (одинаковые у всех студентов). Студенты — строки.
- «Под каждого студента — своя таблица». Антипаттерн. У всех студентов одна общая структура, поэтому одна таблица с многими строками.
Эталонный ответ
Строка. Один студент = одна запись (кортеж) в таблице students.