SQLHomeWork.md 2.1 KB

Домашнее задание по SQL.

Данный практикум предназнчен для усвоения ER, SQL, запросов в области Web.

Предметная область и связи.

Сущности

Рассмотрим обычный блог. В блоге есть:

  • Посты.
  • Комменты к постам.
  • Тэги постов.

Это основные сущности, каждой из которых будет соответствовать таблица в mysql.

Отношения и связи

  • К каждому посту может быть несколько комментов. А значит, это связь один-ко-многим (к одному посту - несколько комментов)
  • Комментарии могут быть в форме дерева, т. е. у каждого комментария может быть родитель (опять же связь один-ко-многи)
  • У каждого поста может быть несколько тэгов; у каждого тэга - несколько постов (связь многие-ко-многим через смежную таблицу).

Таким образом к трем таблицам сущностей добавляется четвертая - смежная таблица тэги-к-постам

SQL

Опишем структуру таблиц:

CREATE DATABASE blog;
use blog

Таблица post

CREATE table post (
    post_id SERIAL,
    post_title VARCHAR(255),
    post_text  TEXT,
    post_create_datetime DATETIME,
    post_update_datetime TIMESTAMP
);

Вставим тестовые данные в таблицу:

INSERT INTO post SET 
    post_title = 'subject', 
    post_text = "text body",
    post_create_datetime = NOW();

поля post_id и post_update_datetime заполнятся автоматически;

Задание

Добавьте несколько записей с осмысленными названиями и текстом.