Junior
Реляциялык маалыматтар базасында мамилени кантип жетишүүгө болот?
sobes.tech AI
AIден жооп
Реляциондук маалымат базаларында мамилелер сырткы ачкычтар (Foreign Keys) аркылуу ишке ашырылат:
Сырткы ачкыч — бул бир таблицада турган жана башка таблицанын негизги ачкычына (Primary Key) шилтеме кылган багана же баганалар жыйындысы. Ошентип, эки таблицадагы жазуулар ортосунда байланыш түзүлөт:
Мамилелердин түрлөрүнүн мисалдары:
- Бир-ка- көп (One-to-Many): Бир жазуу биринчи таблицада көп жазууларга байланыштуу. Мисалы, бир бөлүмдө көп кызматкерлер болушу мүмкүн.
Employeesтаблицасында сырткы ачкыч болот, алDepartmentsтаблицасындагы негизги ачкычка шилтеме кылат: - Көп-ка-көп (Many-to-Many): Бир нече жазуу биринчи таблицада жана экинчи таблицада байланышта. Мисалы, бир студент бир нече курсту окушу мүмкүн, жана бир курс бир нече студент тарабынан окулушу мүмкүн. Бул үчүн аралык таблица колдонулат, ал эки таблицанын негизги ачкычтарына шилтеме кылган сырткы ачкычтарды камтыйт:
- Бир-ка- бир (One-to-One): Бир жазуу биринчи таблицада гана бир жазууга байланыштуу. Бул сирек кездешүүчү мамиле түрү жана көбүнчө таблицаны вертикалдык бөлүү же опционалдуу маалыматтарды сактоо үчүн колдонулат. Бул сырткы ачкыч аркылуу ишке ашырылат, ал биринчи таблицанын негизги ачкычына шилтеме кылат, жана көбүнчө уникалдык чектөө коюлат:
SQLде сырткы ачкыч түзүү мисалы:
-- `Departments` таблицасын түзүү
CREATE TABLE Departments (
department_id INT PRIMARY KEY, -- Негизги ачкыч
department_name VARCHAR(100)
);
-- `Employees` таблицасын түзүү сырткы ачкыч менен
CREATE TABLE Employees (
employee_id INT PRIMARY KEY,
employee_name VARCHAR(100),
department_id INT, -- Сырткы ачкыч баганы
FOREIGN KEY (department_id) REFERENCES Departments(department_id) -- Сырткы ачкычты аныктоо
);
Сырткы ачкычтар маалыматтардын шилтеме бүтүндүгүн камсыздайт, "асоосуз" шилтемелердин түзүлүшүн алдын алат (эгер сырткы ачкыч шилтеме жасаган жазуу жок болсо).