Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Объясните пожалуйста доcтупно как применять primary key и foreign key в sql

Анастасия Мишина Ученик (83), на голосовании 1 год назад
везде,где бы ни смотрела не понимаю( и как создавать связи там многие ко многим или один к одному и пр? тоже через ключи? принцип свящей я понимаю,но как это применить
Голосование за лучший ответ
Artiwayn Гуру (2739) 1 год назад
Primary key и foreign key являются важными концепциями в SQL, позволяющими устанавливать связи между таблицами.

Primary key представляет собой уникальный идентификатор записи в таблице. Он может быть установлен для одного или нескольких столбцов в таблице и должен быть уникальным для каждой записи. Часто в качестве primary key выбирают автоинкрементный столбец, который увеличивается на 1 при каждой новой записи. Primary key может использоваться для быстрого поиска и обновления записей в таблице.

Пример создания primary key в таблице "users":

 CREATE TABLE users ( 
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
email VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
);
Foreign key, в свою очередь, используется для установления связей между таблицами. Он представляет собой ссылку на primary key в другой таблице. Таким образом, foreign key может быть использован для связывания данных из двух таблиц.

Пример создания таблицы "orders", в которой поле "user_id" является foreign key для таблицы "users":

 CREATE TABLE orders ( 
id INT NOT NULL AUTO_INCREMENT,
user_id INT NOT NULL,
product_name VARCHAR(50) NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (user_id) REFERENCES users(id)
);
В этом примере поле "user_id" таблицы "orders" ссылается на primary key "id" таблицы "users". Если в таблице "orders" будет добавлена запись с несуществующим "user_id", то это приведет к ошибке. С помощью foreign key можно также устанавливать ограничения на удаление или изменение записей в таблице, чтобы избежать нарушения связей.

Таким образом, использование primary key и foreign key позволяет устанавливать связи между таблицами и обеспечивать целостность данных в базе данных.
Анастасия МишинаУченик (83) 1 год назад
А КАК УСТАНОВИТЬ СВЯЗЬ 1 КО МНОГИМ?
Алексей Хвостовский Мудрец (18136) Анастасия Мишина, написано же ведь.. FOREIGN KEY (user_id) REFERENCES users(id)
Алексей ХвостовскийМудрец (18136) 1 год назад
Ни в одной БД в промышленной эксплуатации еще не видел связей..
Похожие вопросы