Foreign key, кратко FK. Обеспечивает однозначную логическую связь, между таблицами одной БД.
Например, есть две таблицы А и В. В таблице А (обувь), есть первичный ключ: размер, в таблице В (цвет) должна быть колонка с названием размер. В этой таблице «размер» это и будет внешний ключ для логической связи таблиц В и А.
Ключ первичный
набор определенных признаков, уникальных для каждой записи. Обозначается первичный ключ, как primary key.
PK не позволяет создавать одинаковых записей (строк) в таблице;PK обеспечивают логическую связь между таблицами одной базы данных (для реляционных БД).
#include <iostream> #include <math.h> using namespace std;
class NumHandler { int number;
public: NumHandler(int n): number(n) {}
int getDigitCount() { int ret = 1, tested = 1, div; while (true) { div = (int) number / tested; if (div == 0) { return ret - 1; } else { ret++; tested *= 10; } } }
int getDigitSum() { int ret = 0, tenMult = pow(10, getDigitCount() - 1), div; while (tenMult >= 1) { div = (int) number % (tenMult * 10) / tenMult; ret += div; tenMult /= 10; } return ret; }
Ключ внешний
Foreign key, кратко FK. Обеспечивает однозначную логическую связь, между таблицами одной БД.
Например, есть две таблицы А и В. В таблице А (обувь), есть первичный ключ: размер, в таблице В (цвет) должна быть колонка с названием размер. В этой таблице «размер» это и будет внешний ключ для логической связи таблиц В и А.Ключ первичный
набор определенных признаков, уникальных для каждой записи. Обозначается первичный ключ, как primary key.
PK не позволяет создавать одинаковых записей (строк) в таблице;PK обеспечивают логическую связь между таблицами одной базы данных (для реляционных БД).#include <math.h>
using namespace std;
class NumHandler
{
int number;
public:
NumHandler(int n): number(n) {}
int getDigitCount()
{
int ret = 1, tested = 1, div;
while (true) {
div = (int) number / tested;
if (div == 0) {
return ret - 1;
}
else {
ret++;
tested *= 10;
}
}
}
int getDigitSum()
{
int ret = 0,
tenMult = pow(10, getDigitCount() - 1),
div;
while (tenMult >= 1) {
div = (int) number % (tenMult * 10) / tenMult;
ret += div;
tenMult /= 10;
}
return ret;
}
int getLastDigit()
{
return number % 10;
}
};
int main()
{
int num;
cout << "n = ";
cin >> num;
NumHandler handler(num);
cout << endl;
cout << "Число цифр: " << handler.getDigitCount() << endl;
cout << "Сумма цифр: " << handler.getDigitSum() << endl;
cout << "Последняя цифра: " << handler.getLastDigit() << endl;
return 0;
}