Письмо
Уважаемые ученики 10 класса!
В связи с расширением, просим Вас разработать форум для нашего корпоративного сайта!
Наш форум будет служить местом для обмена идеями и опытом для единомышленников.
С уважением, директор QZ-COMPANY!
Тема урока: Разработка базы данных
Цели урока:
Критерии оценивания
Знание и понимание:
знать типы связей таблиц в БД;
знать как в запросе указать ключевое поле и внешний ключ;
- знать запросы для создания и работы с многотабличной БД;
Применение:
- писать запрос для связи таблиц в многотабличной БД;
- писать запросы на выборку данных из многотабличной БД
Анализ:
проектировать многотабличную БД;
определять ключевые поля в многотабличной БД.
Primary key (PK) очень важен для каждой таблицы. Поясню почему.
Primary key не позволяет создавать одинаковых записей (строк) в таблице;
PK обеспечивают логическую связь между таблицами одной базы данных (для реляционных БД).
Ключ внешний
CREATE TABLE users (
email varchar(30),
name varchar(30),
surname varchar(30),
age int,
PRIMARY KEY (email));
CREATE TABLE themes (
id int,
topic varchar(20),
author_email varchar(30),
PRIMARY KEY (id),
FOREIGN KEY (author_email) REFERENCES users (email));
Запрос на создание таблицы «users»
Запрос на создание таблицы «themes»
CREATE TABLE messages (
id int,
message text,
author_email varchar(30),
theme_id varchar(30),
PRIMARY KEY (id),
FOREIGN KEY (author_email) REFERENCES users (email),
FOREIGN KEY (theme_id) REFERENCES themes (id));
Запрос на создание таблицы «messages»
insert into users values ('damir@mail.kz', 'Дамир', 'Султанов', 18);
Внесите записи в таблицу «themes»
insert into messages VALUES
(1, 'Как правильно выключать компьютер?', 'luiza@mail.kz', 1),
(2, 'Как спарить борщ?', 'luiza@mail.kz', 4),
(3, 'Какое масло лучше заливать в автомобиль?', 'damir@mail.kz', 3),
(4, 'Как подшить брюки?', 'luiza@mail.kz', 2);
Синтаксис самого простого объединения данных из нескольких таблиц БД следующий:
SELECT имена_столбцов_таблицы_1, имена_столбцов_таблицы_2
FROM имя_таблицы_1, имя_таблицы_2;
SELECT users.name, themes.topic FROM users, themes WHERE users.email = themes.author_email;
Запрос на вывод информации об авторах тем на форуме:
Запрос на выборку имен и фамилий пользователей и их сообщений:
Запрос на выборку имен и фамилий пользователей и тем форума, которые они создали:
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.