SQL somo la 20: Jinsi ya kuunganisha table kwneye database
Katika somo hili utakwend akujifunz akuunganisha table zaidi ya moja kwneye database.
Kujiunga kwa Jedwali (Joining Tables) katika Database
1. Maana ya Kujiunga kwa Jedwali (Join Tables)
Kujiunga kwa jedwali ni mchakato wa kuunganisha data kutoka kwenye jedwali (table) mbili au zaidi kwa kutumia uhusiano uliopo kati ya kolamu zao. Mara nyingi tunajiunga kwa jedwali ili kuchota taarifa ambazo zinahusiana lakini zimetunzwa kwenye jedwali tofauti.
2. Kwa Nini Tunajiunga kwa Jedwali?
-
Kuepuka data rudufu: Huwezi kuhifadhi data zote kwenye jedwali moja kwani itasababisha data kurudiwa mara nyingi.
-
Uhifadhi wa uhusiano: Data zinazohusiana, kama vile bidhaa na wateja walioweka oda, zitatunzwa kwa njia inayoweka uhusiano wazi.
-
Kuongeza ufanisi: Kupata taarifa sahihi kutoka kwenye chanzo kimoja kilicho na uhusiano ni rahisi zaidi na hupunguza makosa.
3. Faida za Kujiunga kwa Jedwali
-
Kuboresha muundo wa database kwa kutenganisha data kulingana na aina yake.
-
Kutoa mwonekano bora wa data zinazohusiana.
-
Kusaidia katika uchambuzi wa data na kutoa ripoti sahihi.
4. Aina za Kujiunga kwa Jedwali
-
INNER JOIN: Huchukua rekodi zinazolingana pekee kutoka kwenye jedwali zote.
-
LEFT JOIN (LEFT OUTER JOIN): Huchukua rekodi zote kutoka jedwali la kushoto hata kama hakuna mechi kwenye jedwali la kulia.
-
RIGHT JOIN (RIGHT OUTER JOIN): Huchukua rekodi zote kutoka jedwali la kulia hata kama hakuna mechi kwenye jedwali la kushoto.
-
FULL OUTER JOIN: Huchukua rekodi zote, hata kama hazina mechi kwenye jedwali lingine.
#NB: Katika sql tunatumia alama ya dot ( . ) ili ku refer table ama database husika. Mfano kama table ni duka na ina field kama id, na name , halafu tuna table nyingine bidhaa ina field kama id na name, sasa nikitaka kutumia name kutoka kwenye table duka nitasema duka.name na kama ni name kutoka kwneye table ya bidhaa nitasema bidhaa.name. Hivyo mtindo huu tutakwenda kuutumia zaidi kwneye mifano. Pia katika kuunganisha table tunatumia keyword JOIN ON
Mfano wa Jedwali la Bidhaa, Wateja, na Duka
Katika somo hili tutakwenda kuunganisha table 3 ili kuweza kufanyia mazoezi namna za kuunganisha table. Table ya duka hii itatunza taarifa za maduka yetu. Chukulia kuwa mtu anawez akuwa na maduka zaidi ya moja, na kila duka likawa na bidhaa ambazo huwenda zisipatikane katika duka lingine.
Table ya pili ni bidhaa, hii itatunza taarifa za bidhaa kama jina la bidhaa pamoja na kuonyesha duka ambalo lina bidhaa iyo. Tutafanya hivi kw akuweka id ya duka hilo.Table ya tatu itatunza taarifa za wateja. Hapa unaweza kuongeza kioengele cha bidhaa walizonunua. Fanya hivi kwa mazoezi zaidi.
5. Muundo wa Jedwali
-- Jedwali: duka
CREATE TABLE duka (
duka_id INT PRIMARY KEY,
jina_duka VARCHAR(50) NOT NULL,
eneo VARCHAR(50) NOT NULL
);
-- Jedwali: bidhaa
CREATE TABLE bidhaa (
bidhaa_id INT PRIMARY KEY,
jina_bidhaa VARCHAR(50) NOT NULL,
bei DECIMAL(10, 2) NOT NULL,
duka_id INT,
FOREIGN KEY (duka_id) REFERENCES duka(duka_id)
);
-- Jedwali: wateja
CREATE TABLE wateja (
mteja_id INT PRIMARY KEY,
jina_mteja VARCHAR(50) NOT NULL,
simu VARCHAR(15) NOT NULL
);
Sasa kopi code zifuatazo ili kuweka data kwneye table hizo tatu tulizozitengeneza.
INSERT INTO duka (duka_id, jina_duka, eneo) VALUES
(101, 'Duka la Simu', 'Dar es Salaam'),
(102, 'Duka la Kompyuta', 'Arusha'),
(103, 'Duka la Friji', 'Dodoma'),
(104, 'Duka la TV', 'Mwanza'),
(105, 'Duka la Saa', 'Mbeya');
INSERT INTO bidhaa (bidhaa_id, jina_bidhaa, bei, duka_id) VALUES
(1, 'Simu Samsung', 150000.00, 101),
(2, 'Kompyuta Dell', 250000.00, 102),
(3,...
Umeionaje Makala hii.. ?
Share On:
👉1 Bongolite - Game zone - Play free game 👉2 Simulizi za Hadithi Audio 👉3 Madrasa kiganjani 👉4 ai web app 👉5 Tafasiri ya Riyadh Swalihina 👉6 Sira ya Mtume Muhammad (s.a.w)
Post zinazofanana:
Database somo la 26: Baadhi ya function za SQL ambayo hutumika kubadili data
Function hizi ni muhimu katika kubadili data kabla ya kuzionyesha. Hii ni muhimu ili kupata structure maalum ya data.
Soma Zaidi...SQL -MySQL somo la 4; Jinsi ya kufuta database, kuitumia database na kubadili jina la database pamoja
Katika somo hili utajifunza kupata orodha ya database, kubadilibjina la database, kufuta database
Soma Zaidi...Database somo la 25: Utangulizi wa Database ya sqlite
Katika somo hili utakwend akujifunza kuhusu aina nyingine ya database inayoitwa sqlite. Hii haihitaji server, na ni faili moja tu.
Soma Zaidi...SQL - MySQL somo la 12: Jinsi ya kutafuta wastani, jumla na idadi kwenye database
Katika somo hili utakwenda kujifunza jinsi ya kufanya mahesabu mbalimbali kwenye database. Kwa mfano kutafuta jumla, idadi na wastani
Soma Zaidi...SQL somo la 19: Stored Procedure katika MySQL na Tofauti na Function
Somo hili ni muendelezo wa pale tulipoishia katika somo lililopita, hapa tutakwenda kusoma Stored Procedure katika MySQL na Tofauti na Function
Soma Zaidi...SQL - MySQL somo la 3: Jinsi ya kutengeneza database
Katika somo hili utakwenda kujifunza jinsi ya kutengeneza database kwenye mysql kwa kutumia interface ya mysql na kwa kutumia sql langauge
Soma Zaidi...