Scéimre «Kotomarket»
What you'll learn
- an tábla ceart a aimsiú i measc na gcúig cinn in «Kotomarket»:
users,products,orders,order_items,events - léarscáil ER a léamh: cairdinéalacht naisc a chinneadh (1:N, N:M, 1:1) ón áit a luíonn an eochair eachtrach
- nasc «iliomad le hiliomad» a oscailt trí thábla acomhail le dhá FK — ar nós
order_itemsleorder_id+product_id - a mhíniú cén fáth nach féidir inneachar ordaithe a stóráil mar shraith de ide díreach in
orders
Inniu tugann QUERY an t-innéacs iomlán aníos ar an bpríomhbhord in aon iarraidh amháin. Crochann cúig phlána lonracha san aer agus iad ag rothlú go mall — léarscáil an domhain a mhair. Lena dtaobh lasann loga caomhnaithe a ghabhann leis an seat, agus tá líne amháin ann faoi líne: «Tugaim cúig thábla agus lorg an séú cinn ar láimh. — K.» Comhairíonn tú na plánaí. Cúig cinn go cruinn. Cá bhfuil an lorg?
QUERY: Ná lig do na loirg do d’aird a bhaint. Foghlaim na cúig cinn seo ar dtús sách maith chun do bhealach a aimsiú agus do shúile dúnta — taispeánfaidh an chartlann an chuid eile í féin, nuair a mheasfaidh sí réidh thú.
Cúig thábla «Kotomarket»
As seo amach oibreoimid leis an mbunachar seo — seat de shiopa ar líne ó 2024. Coinnigh é mar léarscáil den siopa: cé a tháinig isteach, cad atá ar na seilfeanna, cad a cheannaigh siad, agus cad a rinne siad sular cheannaigh siad.
| Tábla | A bhfuil ann |
|---|---|
users | ceannaitheoirí: id, ainm, cathair agus dáta clárúcháin |
products | earraí an tseomra taispeána: id, ainm, catagóir, praghas agus stoc |
orders | orduithe: id, user_id, dáta, stádas agus iomlán |
order_items | inneachar na n-orduithe: cén táirge, cé mhéad píosa, agus ar cén praghas |
events | imeachtaí iompraíochta: amhairc, cur sa chiseán agus ceannacháin |
Léitear na naisc mar seo: user amháin → go leor orders; order amháin → go leor order_items; product amháin → go leor order_items. Má théann tú amú, oscail an scéimre ar dheis — tá sé cosúil le plean urláir an tseomra díolacháin.
Déanaimis spléachadh ar thábla na n-orduithe: tá user_id ag gach sraith — tagairt do cheannaitheoir. Sin mar a nascann tábla amháin le ceann eile, agus scoireann an léarscáil de bheith ina cúig oileán ar leith.

Kotomarket’s five tables
From here on we’ll be working with this database — a of an online shop from 2024. Hold it like a map of the store: who walked in, what’s on the shelves, what they bought, and what they did before buying.
| Table | What it holds |
|---|---|
users | buyers: id, name, city, and signup date |
products | storefront items: id, name, category, price, and stock |
orders | orders: id, user_id, date, status, and total |
order_items | order contents: which product, how many, and at what price |
events | behavioral events: views, add-to-carts, and purchases |
The links read like this: one user → many orders; one order → many order_items; one product → many order_items. If you get lost, open the schema on the right — it’s like the floor plan of the shop.
Let’s peek into the orders table: every row has a user_id — a reference to a buyer. That’s how one table links to another, and the map stops being five separate islands.
user_id:| id | user_id | status | total_amount |
|---|---|---|---|
| 1 | 18 | paid | 5980.00 |
| 2 | 10 | paid | 19750.00 |
| 3 | 26 | cancelled | 9560.00 |
| 4 | 26 | paid | 15530.00 |
| 5 | 8 | paid | 26710.00 |
| 6 | 37 | paid | 42110.00 |
Conas léarscáil ER a léamh
Tugtar léarscáil ER (entity–relationship) sa tionscal ar an léarscáil a d’oscail QUERY: is táblaí iad na dronuilleoga, is naisc eochrach eachtraí iad na línte eatarthu. Is é an rud is tábhachtaí ar líne an chairdinéalacht: cé mhéad sraith ar thaobh amháin a fhreagraíonn do cé mhéad ar an taobh eile.
- 1:N, ceann le hiliomad — an nasc is coitianta. Ceannaitheoir amháin — go leor orduithe. Luíonn an eochair eachtrach i gcónaí ar thaobh na «hiliomad»: stóráiltear
user_idinorders, ní a mhalairt. Sin é riail an léite: aimsigh an FK — aimsigh taobh N. - N:M, iliomad le hiliomad — tá go leor táirgí in ordú amháin, agus tagann táirge amháin i go leor orduithe. Ní féidir nasc den sórt sin a chur in iúl go díreach i mbunachar coibhneasta: níl áit ar bith leis an eochair eachtrach a chur. Osclaítear é trí thábla acomhail — is é sin
order_itemsdúinne. Iompraíonn gach sraith de phéire tagairtíorder_id+product_idagus iompaíonn sé nasc N:M amháin ina dhá nasc 1:N. Bónas: faigheann an nasc féin airíonna — líon na bpíosaí agus an praghas ag nóiméad an cheannaigh. - 1:1, ceann le ceann — castar níos annaimhe é: mar shampla, aistrítear réimsí troma nó príobháideacha go tábla ar leith leis an eochair chéanna.
-- An réiteach N:M i ngníomh: péirí «ordú — táirge» ó order_items
SELECT order_id, product_id, quantity
FROM order_items
LIMIT 6;
Tuisle: inneachar ordaithe a stóráil díreach in orders — mar shraith '7,12,3' nó eagar aitheantóirí. Ní féidir sonraí den sórt sin a chosaint le heochair eachtrach, iad a chomhaireamh go macánta nó iad a cheangal leis an seomra taispeána gan lúthchleasaíocht. Feiceann tú nasc «iliomad le hiliomad» — cruthaigh tábla acomhail le dhá eochair eachtrach, ar nós order_items.
Interview question
Ceist agallaimh: conas a chuirtear nasc «iliomad le hiliomad» i bhfeidhm i mbunachar coibhneasta?
Freagra láidir: trí thábla acomhail le dhá eochair eachtrach do na táblaí atá á nascadh — ar nós order_items le order_id agus product_id: iompaíonn sé N:M ina dhá nasc 1:N. Stórálann sé airíonna an naisc féin freisin — líon, praghas ag nóiméad an cheannaigh. Is é príomheochair tábla den sórt sin ceachtar comhdhéanta den dá FK nó id ionadach.