Таблица потоков
Анализируем таблицу потоков
Ключ потока | Номер потока | Ключ курса | Дата начала обучения |
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); |