С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 02.03.2017
Сообщений: 16
1

Создание таблицы и связи между таблицами

18.10.2017, 16:46. Показов 1974. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
не пойму как создать ссылку (внешний ключ) на составной первичный ключ другой таблицы



Такой запрос не проходит. Как создать требуемую схему, не изменяя состав ключей?
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
USE MyDB;
CREATE TABLE Pols
( login_ VARCHAR(50),
password_ VARCHAR(50),
role_ VARCHAR(50),
dis_ VARCHAR(50),
CONSTRAINT pk1 PRIMARY KEY(login_,  password_ )
);
 
CREATE TABLE Zakaz
( number_ VARCHAR(50),
date_ DATE,
round_ VARCHAR(50),
customer_ VARCHAR(50),
manager_ VARCHAR(50),
sum_ DECIMAL(15,2),
CONSTRAINT pk2 PRIMARY KEY(number_,date_),
CONSTRAINT fk1 FOREIGN KEY(customer_) REFERENCES Pols(login_, password_));
Миниатюры
Создание таблицы и связи между таблицами  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.10.2017, 16:46
Ответы с готовыми решениями:

Создание связи между таблицами
Доброго дня! Было создано несколько таблиц, пока что они всё еще пустые, данные не вводились. ...

Создание связи между таблицами
Здравствуйте, подскажите пожалуйста, как через sql запрос сделать связь между таблицами. Я знаю,...

Создание связи между таблицами в базе данных
Здравствуйте. Подскажите как создать связь между двумя таблицами,когда в первой таблице внешний...

Создание связи между таблицами с SQL запросом
Подскажите как создать связь между таблица , с помощью языка SQL. В гугле толком ничего не нашёл,...

4
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
18.10.2017, 17:22 2
Цитата Сообщение от Margoigo Посмотреть сообщение
как создать ссылку (внешний ключ) на составной первичный ключ
Если PK имеет несколько полей, то FK должен иметь столько же.
0
0 / 0 / 0
Регистрация: 02.03.2017
Сообщений: 16
18.10.2017, 17:28  [ТС] 3
ну не понимаю, т.е. для связи Заказчик-Пользователь мне надо еще поле создавать?
0
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
19.10.2017, 09:39 4
Цитата Сообщение от Margoigo Посмотреть сообщение
ну не понимаю
У тебя PK - сочетание login - password. Как можно ставить соответствие customer этим двум полям? Либо ты создаешь в таблице Pols поле customer_id и связываешь таблицы по полям customer, либо создаешь в таблице zakaz вместо customer 2 поля и связываешь по ним. Скорее всего ты не понимаешь, что такое FK.
0
52 / 46 / 22
Регистрация: 04.11.2013
Сообщений: 393
25.05.2020, 13:23 5
Margoigo, внешний ключ тоже бывает составным, в нем должно быть столько же полей, сколько в первичном ключе, на который он ссылается, и они должны быть таких же типов.
Но конкретно здесь явная ошибка проектирования базы, здесь первичный ключ должен быть простой - login_ , потому что пользователей с одним логином быть не может, даже если у них разные пароли. И внешний ключ соответственно тоже простой
SQL
1
FOREIGN KEY(customer_) REFERENCES Pols(login_)
0
25.05.2020, 13:23
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.05.2020, 13:23
Помогаю со студенческими работами здесь

Как создать запрос на создание связи 1:1 между таблицами?
Задание такое, нужно сделать так, чтобы между табл Сотрудник и МатОтветственный была связь 1:1 А...

Связи между таблицами
Объясните пжл на каком-нибудь жизненном примере что означают связи: 1:1, 1:M, M:M Вроде что-то...

Связи между таблицами
Подскажите плз как установить связь например между Родительской Регион / КодРегиона и дочерней...

Связи между таблицами, MS Management Studio
В MS Management Studio создал БД с таблицами: 1) Студент (id_std - поставил первичный ключ, имя,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов. . . .
С чего начать программировать микроконтроллер­­ы
raxper 06.01.2025
Введение в мир микроконтроллеров Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru