Таблица потоков
Анализируем таблицу потоков
| Ключ потока | Номер потока | Ключ курса | Дата начала обучения |
| 18.08.2020 | |||
| 02.10.2020 | |||
| 12.11.2020 |
Таблица 6. Таблица потоков
Определим типы данных и ограничения для столбцов.
| Имя столбца | Тип данных | Ограничения |
| id | INTEGER | PRIMARY KEY AUTOINCREMENT |
| number | INTEGER | NOT NULL UNIQUE |
| course_id | INTEGER | NOT NULL FOREIGN KEY |
| start_date | TEXT | NOT NULL |
Таблица 7. Столбцы таблицы streams
Обратите внимание, что для столбца «Начало обучения» мы используем тип данных TEXT, так как в SQLite нет отдельного типа данных для даты.
В этой таблице также есть столбец внешнего ключа «Ключ курса», значения которого ссылаются на значения первичного ключа «Ключ курса» в таблице курсов.
Столбцы внешнего ключа принято именовать специальным образом — имя сущности, на которую ссылается внешний ключ, плюс суффикс _id. В нашем случае это course_id, и, увидев такое имя столбца, мы сразу понимаем, что значения этого столбца ссылаются на столбец id таблицы курсов courses.
Команда создания таблицы выглядит следующим образом:
| CREATE TABLE streams (id INTEGER PRIMARY KEY AUTOINCREMENT, number INTEGER NOT NULL UNIQUE, course_id INTEGER NOT NULL, start_date TEXT NOT NULL, FOREIGN KEY (course_id) REFERENCES courses(id)); |
Таблица учеников
Таблица учеников структурно выглядит несложно.
| Ключ ученика | Фамилия | Имя |
| Иванов | Игорь | |
| Павлова | Анастасия |
Таблица 8. Таблица учеников
| Имя столбца | Тип данных | Ограничения |
| id | INTEGER | PRIMARY KEY AUTOINCREMENT |
| surname | TEXT | NOT NULL |
| name | TEXT | NOT NULL |
Таблица 9. Столбцы таблицы students
Команда создания таблицы students:
| CREATE TABLE students (id INTEGER PRIMARY KEY AUTOINCREMENT, surname TEXT NOT NULL, name TEXT NOT NULL); |






