Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
 
kelabod
83 / 10 / 7
Регистрация: 10.02.2012
Сообщений: 220
Записей в блоге: 3
1

Составной первичный ключ

30.12.2014, 13:57. Просмотров 417. Ответов 6
Метки нет (Все метки)

Всем привет! С наступающим Новым годом! Никогда не сталкивался с составными первичными ключами, кто может помогите плиз. Вопрос такого плана например у меня есть таблица1
C++
1
2
3
4
name        fio              date                sex
Сергей     Иванов    01.01.2000            м
Вася        Петров    16.08.1981             м
Петя        Сидоров   22.04.1990            м
Например составной первичный ключ будет по полям fio и date. Так вот например, чтобы связать таблицу 1 с
таблицей 2 мы должны в таблицу 2 добавить эти поля fio и date? Или во второй таблице буде 1 поле, которое состоит из конкатенации этих полей.
Таблица 2
C++
1
2
3
id         predmet                    fio               date
1          математика            Иванов           01.01.2000
2          физика                   Петров           16.08.1981
Таблица 2 так должна выглядеть?

И как например сделать выборку из двух таблиц?
SQL
1
SELECT   таблица2.predmet,таблица1.fio FROM таблица2,таблица1 WHERE таблица2.fio=таблица1.fio AND таблица2.date=таблица1.date
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2014, 13:57
Ответы с готовыми решениями:

Составной фильтр для adotable
Здравствуйте! Что-то не получается сделать составной фильтр для adotable,...

Ошибка Недопустимый составной файл
Написал программу на с++ builder. Использовал компоненты ADO для запросов SQL....

Электронный USB-ключ
Даров всем! Проблема следующего характера. Помогите с написанием проги или...

Подскажите как сгенерировать ключ...
Привет всем... Вот я пишу программу и не хочу чтоб ими ползовалис все......

Узнать ключ запуска программы
Вечер добрый :) Имеется приложение которое запускается с помощью ключа...

6
Grossmeister
Модератор
3424 / 2474 / 423
Регистрация: 21.01.2011
Сообщений: 10,839
30.12.2014, 15:16 2
Цитата Сообщение от kelabod Посмотреть сообщение
мы должны в таблицу 2 добавить эти поля fio и date
Если будет составной PK, то да. Но в данном случае я бы просто добавил id в качестве PK в таблицу 1
0
kelabod
83 / 10 / 7
Регистрация: 10.02.2012
Сообщений: 220
Записей в блоге: 3
30.12.2014, 15:22  [ТС] 3
Насчет добавления id я согласен, просто хочется разобраться как работать с составным ключом. Но насчет выборки я не совсем понял, правильно я ее делаю или нет? В поле where что нужно указывать?
0
Grossmeister
Модератор
3424 / 2474 / 423
Регистрация: 21.01.2011
Сообщений: 10,839
30.12.2014, 15:55 4
Цитата Сообщение от kelabod Посмотреть сообщение
правильно я ее делаю или нет
Делаешь правильно. Другое дело, что в SELECT-е таблицы далеко не всегда связываются по PK - FK
0
kelabod
83 / 10 / 7
Регистрация: 10.02.2012
Сообщений: 220
Записей в блоге: 3
30.12.2014, 16:07  [ТС] 5
Я просто не совсем силен в БД, нужно читать и читать, если честно просто других связей не знаю как есть pk, fk
0
Grossmeister
Модератор
3424 / 2474 / 423
Регистрация: 21.01.2011
Сообщений: 10,839
30.12.2014, 16:30 6
Цитата Сообщение от kelabod Посмотреть сообщение
просто других связей не знаю как есть pk, fk
PK и FK нужны для сохранения целостности данных в базе. Их может в принципе и не быть (если целостность сохраняется на уровне приложения или, скажем, триггеров).
А связывание таблиц в запросах для получения нужных данных - это перпендикулярно ограничениям целостности.
Там ты просто указываешь СУБД, какие данные тебе нужны.
0
kelabod
83 / 10 / 7
Регистрация: 10.02.2012
Сообщений: 220
Записей в блоге: 3
30.12.2014, 16:45  [ТС] 7
спс! Примерно понял суть, буду повышать уровень чтением книжек. Просто начал разбираться с Firebird, хочу проектик один для работы сделать.
С наступающим Новым Годом!!!!
Спасибо за инфу
0
30.12.2014, 16:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.12.2014, 16:45

Уникальный ключ для каждого компа.
Доброе время суток! Уважаемые, есть ли готовые примеры для получения уникальных...

Программа запускается, но ключ в реестре не создаёт (Builder C++ 6)
Здравствуйте, уважаемые программисты. Делаю программу твикер для Winodws XP,...

Помогите найти ключ и серийный номера от Borland Builder 5.0
Купил диск от Digital Data c BB 5.0, а ключа и серийного номера там нет. Кто...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru