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