JavaRush /Блоги Java /Random-TG /Мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем. (Қисми...
Roman Beekeeper
Сатҳи

Мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем. (Қисми 3) - "Лоиҳаи Java аз А то Я"

Дар гурӯҳ нашр шудааст
Мақола аз як силсила дар бораи эҷоди лоиҳаи Java (пайвандҳо ба дигар маводҳо дар охир мебошанд). Ҳадафи он таҳлor технологияҳои калидӣ мебошад, ки натиҷааш навиштани боти телеграмма мебошад. "Лоиҳаи Java аз A то Я": мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем.  Қисми 3 - 1Салом, хонумҳо ва ҷанобон, биёед сӯҳбатро дар бораи базаи маълумотҳо, SQL ва чизҳои дигар идома диҳем. Маводи имрӯза қисмате аз назария ва қисман амалияро дар бар хоҳад гирифт. Хотиррасон мекунам, ки дафъаи гузашта мо дар бораи чи тавр ба кор андохтани хама чиз, чи тавр сохтани база, чадвал ва аз он маълумот гирифтан сухан ронда будем. Вакти он расидааст, ки бубинем, ки оё ягон чиз бо зондкунии дурдаст кор кардааст. Ба назари ман, нисфи онро тандо дар асоси моддаи пештара ичро кардан мумкин буд. Маълум шуд, ки барои дуруст васл кардани замима ва каму беш зебо кардани хама чиз дар бораи базахои маълумотхо сухан ронда, дар бораи онхо сухан рондан лозим меояд.

Санҷиши вазифаи хонагӣ

"Лоиҳаи Java аз A то Я": мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем.  Қисми 3 - 2Эҳтироми бузург ба ҳар касе, ки супоришҳоро бомуваффақият иҷро кардааст. Ин маънои онро дорад, ки шумо мефаҳмед, ки танҳо ба шумо ин лозим аст ва он танҳо ба шумо кӯмак мекунад. Барои онхое, ки вазифаи маро беэътиной кардаанд, ба шумо шартеро хотиррасон мекунам:
  1. Ба шумо лозим аст, ки калиди ибтидоӣ (КАЛИДАИ ПРОГРАММА) аз майдони ID ба схемаи ҷадвали кишвар илова кунед.
  2. Ба ҷадвали кишварҳо як кишвари дигар - Молдова дохил кунед.
  3. Тибқи нақшаи мақолаи қаблӣ, як шаҳри ҷадвал эҷод кунед, ки дар он ҳамаи майдонҳои тавсифшуда мавҷуданд. Номҳои майдонҳо чунин хоҳанд буд: id, ном, кишвар_id, аҳолӣ.
  4. Ба ҷадвали шаҳр калиди асосӣ илова кунед.
  5. Ба ҷадвали шаҳр калиди хориҷӣ илова кунед.
Барои оғоз кардан, биёед қисми якуми мақолаи қаблиро истифода барем ва ба терминали пойгоҳи додаҳо равем.

Илова кардани калиди ибтидоӣ

Шумо метавонед калиди ибтидоиро (PRIMARY KEY) бо ду роҳ илова кунед: дарҳол ҳангоми сохтани ҷадвал ё пас аз эҷод, бо истифода аз ALTER TABLE.

Калиди ибтидоӣ ҳангоми сохтани ҷадвал

Азбаски мо аллакай ҷадвалро офаридаем ва бе нест кардани он мо ин равишро дар дохor ин базаи маълумот нишон дода наметавонем, мо танҳо як пойгоҳи санҷишии муваққатиро эҷод мекунем, ки дар он ҳама чизро иҷро мекунем. Биёед фармонҳои зеринро ворид кунем:
  • базаи нав эҷод кунед:

    $CREATE DATABASE санҷиш;

  • Ҷадвали илова кардани калиди ибтидоиро эҷод кунед:

    $ Эҷоди Ҷадвали кишвар (id INT, номи VARCHAR(30), КАЛИДИ ИБТИДОЙ (id));

Умуман, ҳеҷ чиз мураккаб нест. Пас аз эълони тағирёбандаҳо қисми зерини PRIMARY KEY (id) илова карда мешавад , ки дар он номи майдоне, ки калиди ибтидоӣ хоҳад буд, дар қавс гузаронида мешавад. Ва биёед бубинем, ки схемаи ҷадвал чӣ гуна тағир ёфтааст: $ DESC country; "Лоиҳаи Java аз A то Я": мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем.  Қисми 3 - 3Тавре ки шумо мебинед, арзиши PRI дар майдони Калид барои вуруди ID пайдо шудааст .

Калиди ибтидоӣ пас аз сохтани ҷадвал

Тавре ки ман қаблан гуфтам, калиди аввалро пас аз сохтани ҷадвал метавон бо истифода аз ALTER TABLE таъин кард . Мо ин мисолро дар базаи шаҳрҳои худ иҷро хоҳем кард :
  • биёед ба пойгоҳи додаи худ аз санҷиш равем:

    $USE шаҳрҳо;

  • Биёед тафтиш кунем, ки мо бешубҳа дар базаи худ ҳастем (бояд дар он ҷо як соҳаи дигар вуҷуд дошта бошад - аҳолӣ). Барои ин мо менависем:

    $ DESC аҳолӣ;

  • ҳама чиз дуруст аст, мизи мост. Биёед инҳоро нависед:

    $ ТАҒГИР КАРДАНИ ҶАДВАЛ КИШВАР ИЛОВАИ КАЛИДИ АВВАЛИН (id);

  • ва онро фавран бо фармон санҷед:

    $DESC кишвар;

"Лоиҳаи Java аз A то Я": мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем.  Кисми 3-4Тавре ки шумо аз расм мебинед, ҳама чиз дуруст аст, арзиши PRI маҳз ҳамон ҷоест, ки бояд бошад. Дар омади гап, мо бо базаи санҷишӣ кор кардем. Акнун мо бояд онро нест кунем: чаро мо бояд serverро бетартиб кунем, дуруст? Барои ин, мо аз фармони хеле маъруф истифода мебарем: $ DROP DATABASE test;"Лоиҳаи Java аз A то Я": мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем.  Кисми 3 — 5

Илова кардани Молдова

Аввалан, мо бояд қарор кунем, ки чӣ сабт мекунем. Идентификатсияи навбатии мо 4 хоҳад буд. Ном Молдова хоҳад буд ва шумораи аҳолии он 3550900 аст. Аз ин рӯ, мо фармони INSERT INTO-ро иҷро мекунем, ки мо аллакай медонем: $ INSERT INTO INSERT INTO VALUES кишвар (4, 'Moldova', 3550900); Ва мо месанҷем, ки оё ин арзиш маҳз дар базаи маълумот мавҷуд аст: $ SELECT * FROM country WHERE id = 4; "Лоиҳаи Java аз A то Я": мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем.  Қисми 3 - 6Дар дархости маълумот, ман фавран муайян кардам, ки кадом майдон ҷустуҷӯ карда мешавад, аз ин рӯ мо танҳо як сабт гирифтем, ки он чизест, ки ба мо лозим аст.

Ҷадвали шаҳрҳоро эҷод кунед

Бо истифода аз диаграммаи мақолаи аввал дар бораи базаи маълумот, мо дар бораи ҷадвал маълумоти зарурӣ мегирем. Он дорои майдонҳои зерин хоҳад буд:
  • id - идентификатори ягона;
  • ном — номи шаҳр;
  • country_id — калиди хориҷии кишвар;
  • ахолй — ахолии шахр.
Ҳар дафъа навиштани ID-и беназир як каме стресс аст, ҳамин тавр не? Ман мехоҳам инро ба мақомоти MySQL вогузорам . Ва чунин роҳ вуҷуд дорад - AUTO INCREMENT . Мо бояд инро ба майдони рақамӣ илова кунем ва агар мо арзишҳоро ба таври возеҳ нагузаронем, худи MySQL ID-ро нисбат ба қаблӣ як маротиба зиёд мекунад. Аз ин рӯ, сохтани ҷадвал чунин хоҳад буд: $ CREATE TABLE city ( id INT AUTO_INCREMENT, номи VARCHAR(30), мамлакат_id INT, аҳолӣ INT, PRIMARY KEY (id)); Биёед диаграммаи ҷадвалро бубинем, то бубинем, ки оё ҳама чиз дуруст иҷро шудааст: $ DESC city; "Лоиҳаи Java аз A то Я": мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем.  Қисми 3 - 7Тавре ки шумо аз диаграммаи ҷадвал мебинед, мо барои майдони id тавсифи нав дорем - auto_increment. Пас, мо ҳама чизро дуруст кардем. Биёед маълумотро дар ҷадвали пурра танзимшуда тафтиш кунем. Барои ин мо қисми охирини вазифа - калиди хориҷиро иҷро мекунем.

Ба шаҳрҳо калиди хориҷӣ илова кунед

Барои калиди хориҷӣ ин фармон мавҷуд хоҳад буд: $ ALTER TABLE city ADD КАЛИДИ ХОРИҶӢ (country_id) REREIGN REREIGN country(id); Ва биёед фавран тафтиш кунем, ки дар схемаи ҷадвал чӣ хато аст: оё он дар тӯли як соат тағир ёфтааст? $DESC шаҳр; "Лоиҳаи Java аз A то Я": мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем.  Кисми 3-8

Қисми бонус. Санҷиш

Ман фаромӯш кардам, ки онро ба вазифа илова кунам - маълумотеро, ки дар скриншоти қисми аввал буд, пур кунед. Ман фаромӯш кардам, пас ҳоло худам ин корро мекунам. Ва барои онҳое, ки таваҷҷӯҳ доранд, шумо метавонед ин корро бе ман кунед ва мо тафтиш мекунем;) Харков, Киев, Минск, Одесса, Воронеж буданд ва Кишинёвро низ илова мекунем. Аммо ин дафъа мо ID-ҳоро интиқол намедиҳем, мо онҳоро мегузарем: $ INSERT INTO шаҳр (ном, кишвар_id, аҳолӣ) VALUES ('Харьков', 1, 1443000), ('Киев', 1, 3703100), ('Минск' , 3, 2545500), («Одесса», 1, 1017699), («Воронеж», 2, 1058261), («Кишинев», 4, 695400); Тавре ки шумо мебинед, шумо метавонед бо истифода аз як фармони INSERT INTO дар як вақт якчанд сабтҳо ворид кунед. Як чизи муфид, дар хотир доред) Ва дарҳол биёед бубинем, ки дар ҷадвал чӣ мавҷуд аст: $ SELECT * АЗ шаҳр; "Лоиҳаи Java аз A то Я": мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем.  Кисми 3-9AUTO_INCREMENT - маҳз ҳамон тавре ки мо мехостем, кор кард. Файлҳои ID ҳама пур карда мешаванд, гарчанде ки мо онҳоро пешниҳод накардаем. Калиди хориҷӣ як чизи вобаста аст. Барои санҷидани он, ки оё он дуруст кор мекунад, шумо метавонед калиди хориҷиро нависед, ки дар ҷадвали хориҷӣ мавҷуд нест. Фарз мекунем, ки мо тасмим гирифтем, ки id = 5 Қазоқистон аст. Аммо дар асл дар чадвали кишвархо нест. Ва барои санҷидани он, ки пойгоҳи додаҳо савганд мехӯрад, шаҳрро илова кунед - Остона: $ INSERT INTO шаҳр (ном, кишвар_id, аҳолӣ) VALUES ('Остона', 5, 1136156); Ва мо табиатан ба хатогӣ дучор мешавем: "Лоиҳаи Java аз A то Я": мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем.  Кисми 3 — 10Ҳоло калиди хориҷӣ боварӣ ҳосил мекунад, ки мо кӯшиш намекунем, ки кишвареро ба шаҳре таъин кунем, ки дар пойгоҳи додаи мо нест. Ин қисми вазифаи хонагӣ метавонад анҷомшуда ҳисобида шавад - пеш ба қисми нав :)

Изҳороти SELECT

Хуб, ҳама чиз дигар он қадар даҳшатнок ба назар намерасад, дуруст? Бори дигар мехоҳам қайд намоям, ки барои таҳиягарони Java дониши пойгоҳи додаҳо ҳатмист. Бе базаи маълумот шумо ба ҳеҷ куҷо рафта наметавонед. Бале, ман аллакай мехоҳам ба навиштани ариза шурӯъ кунам, ман розӣ. Аммо зарур аст. Пас, мо ин роҳро идома медиҳем. Бо истифода аз изҳороти SELECT, мо маълумотро аз пойгоҳи додаҳо мегирем. Яъне, ин як амалиёти маъмулии DML аст (оё шумо аллакай фаромӯш кардаед, ки ин чист?...))) ПЕШ АЗ мақолаҳо дубора хонед). Манфиатҳои пойгоҳи додаҳои релятсионӣ чист? Онҳо дорои функсияҳои бузург барои ҷамъоварӣ ва дарёфти маълумот мебошанд. Барои ин изҳороти SELECT истифода мешавад. Чунин ба назар мерасад, ки дар ин бора ҳеҷ чизи мураккаб вуҷуд надорад, дуруст? Аммо маълум мешавад, ки ҳанӯз барои фаҳмидани чизҳои зиёде вуҷуд дорад) Барои мо фаҳмидани асосҳое, ки мо метавонем дар асоси он бунёд кунем, муҳим аст. Соддатарин дархост бо изҳороти SELECT ин интихоби ҳама маълумот аз як ҷадвал аст. Тавсифи вики ба ман хеле писанд омад, ки операторҳо бояд дар дархости SELECT кадом тартибро иҷро кунанд, аз ин рӯ ман онро бешармона дар ин ҷо нусхабардорӣ мекунам:
SELECT
  [DISTINCT | DISTINCTROW | ALL]
  select_expression,...
FROM table_references
[WHERE where_definition]
[GROUP BY {unsigned_integer | col_name | formula}]
[HAVING where_definition]
[ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
Дар ин ҷо шумо мебинед, ки шумо аввал оператори GROUP BY ва баъд оператори WHERE-ро гузошта наметавонед. Инро дар хотир бояд дошт, то ки баъдтар барои хатогиҳое, ки аз куҷо пайдо шудани онҳо маълум нест, кина нашаванд. $SELECT * АЗ шаҳр; "Лоиҳаи Java аз A то Я": мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем.  Кисми 3 — 11Аммо аз байн бурдани ҳама маълумот барои мо шавқовар нест. Ин айнан ҳамин аст, агар мо мехостем бо микроскоп мехҳоро гурз кунем [1] , [2] . Азбаски пойгоҳи додаҳо амалиёти филтркунӣ, навъбандӣ ва ҷамъбастиро нисбат ба codeи Java хеле тезтар иҷро мекунад, беҳтар аст, ки ин масъаларо ба пойгоҳи додаҳо гузоред. Аз ин рӯ, бо мураккаб кардани вазифаҳо мо функсияҳои навро мекушоем.

Параметри КУҶО

Барои филтр кардани интихоб, калимаи КУҶО истифода мешавад . Инро ба таври зайл маънидод кардан лозим аст: SELECT * АЗ номи ҷадвал (ҳама майдонҳоро аз номи ҷадвал интихоб кунед) КУҶО talbe_row = 1 (дар он ҷо дар сабтҳо майдони ҷадвали_сатр ба 1 баробар аст). Қайд кардан муҳим аст, ки тартиби калимаҳои калидӣ дар дархост муҳим аст. Шумо наметавонед WHERE a =1 FROM table_name SELECT * нависед. Барои забони русӣ ин хуб аст ва барои баъзеҳо он қадар бад ба назар намерасад, аммо барои SQL ин қобor қабул нест. Мо дархости зеринро менависем: $ SELECT * АЗ шаҳре, ки кишвар_id = 1; "Лоиҳаи Java аз A то Я": мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем.  Кисми 3 — 12Ва мо шаҳрҳои Украинаро интихоб кардем. Бад не, дуруст? Чӣ мешавад, агар мо на танҳо украинӣ, балки белорусро ҳам бихоҳем? Бо ин мақсад, мо метавонем маҷмӯи арзишҳоеро номбар кунем, ки майдон метавонад онро гирад: $SELECT * FROM city, WHERE country_id IN(1, 3); "Лоиҳаи Java аз A то Я": мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем.  Кисми 3 — 13Ва мо аллакай дар ҷавоб шаҳрҳои ду кишвар дорем. Чӣ бояд кард, агар якчанд шароит барои филтр мавҷуд бошад? Фарз мекунем, ки мо шаҳрҳоеро мехоҳем, ки бештар аз ду миллион нафар аҳолӣ дошта бошанд? Барои ин калимаҳои Ё ва ВА -ро истифода баред : $ ИНТИХОБ * АЗ шаҳр, КИ мамлакат_id IN (1, 3) ВА аҳолӣ > 2000000; "Лоиҳаи Java аз A то Я": мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем.  Кисми 3 — 14Аҷоиб, аммо чӣ мешавад, агар ба мо лозим аст, ки як шарти дигарро илова кунем - ҷустуҷӯи номҳо тавассути ибораи муқаррарӣ (ман ин ҷо ибораҳои муқаррариро тавсиф намекунам: ин ҷо шахсе аст, ки ин корро дар 4 қисм "кӯтаҳ" кардааст )? Масалан, мо дар хотир дорем, ки чӣ гуна шаҳрро ҳарф мезанем, аммо на пурра... Барои ин, шумо метавонед калимаи LIKE -ро ба ифодаи филтр илова кунед : $ SELECT * FROM city CHERE country_id IN (1, 3) VA ахолй > 2000000 Ё ном МИСЛИ "%hark%"; "Лоиҳаи Java аз A то Я": мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем.  Кисми 3 — 15Ва бо хамин рох Харьковро хам гирифтем. Дар натича гуфтан мумкин аст, ки чустучуи мо хеле хуб баромад. Аммо ман мехостам на аз рӯи ID, балки аз рӯи аҳолӣ ҷудо кунам, аммо чӣ тавр? Ҳа, жуда оддий...

ТАРТИБ АЗ РУИ параметр

Бо истифода аз ORDER BY, мо метавонем сабтҳоеро, ки гирифтаем, аз рӯи майдони мушаххас ҷудо кунем. Он ҳам рақамҳо ва ҳам сатрҳоро ҷудо мекунад. Биёед дархости қаблиро васеъ кунем, аз рӯи шумораи аҳолӣ ҷудо кунем ва илова кунем ТАРТИБ АЗ РУИ аҳолӣ: $ ИНТИХОБ * АЗ шаҳре, ки кишвар_id ДАР (1, 3) ВА аҳолӣ > 2000000 ё ном МИСЛИ “%hark%” ТАРТИБ АЗ РУИ аҳолӣ; "Лоиҳаи Java аз A то Я": мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем.  Кисми 3 — 16Чунон ки мебинем, људокунї аз рўи тартиби табиї, яъне аз рўи тартиби афзоиш сурат гирифтааст. Чӣ мешавад, агар мо баръакси онро бихоҳем? Барои ин ба шумо лозим аст, ки калимаи DESC -ро илова кунед: $ SELECT * АЗ шаҳре, ки кишвар_id ДАР (1, 3) ВА аҳолӣ > 2000000 ё ном МИСЛИ “%hark%” ТАРТИБ АЗ РУИ аҳолии DESC; "Лоиҳаи Java аз A то Я": мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем.  Кисми 3 — 17Холо ба навъхо чудо кардан ба кам кардани саршумор асос ёфтааст. Ва базаи маълумот ин корро хеле зуд анҷом медиҳад: ҳеҷ Collections.sort дар онҷо муқоиса карда намешавад. Акнун биёед аз рӯи сатр, аз рӯи ном ба тартиби баръакс мураттаб кунем: $ ИНТИХОБ * АЗ шаҳре, ки кишвар_id ДАР (1, 3) ВА аҳолӣ > 2000000 ё ном МИСЛИ “%hark%” ТАРТИБ АЗ РУИ ном DESC;"Лоиҳаи Java аз A то Я": мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем.  Кисми 3 — 18

GROUP BY параметр

Барои гурӯҳбандии сабтҳо аз рӯи майдонҳои мушаххас истифода мешавад. Ин одатан барои истифодаи функсияҳои ҷамъӣ лозим аст... Функсияҳои ҷамъшуда чист?)) Аз рӯи баъзе майдонҳо гурӯҳбандӣ кардан маъно дорад, агар онҳо барои сабтҳои гуногун якхела бошанд. Биёед бубинем, ки ин бо истифода аз мисоли мо чӣ маъно дорад. Фарз мекунем, ки шаҳрҳо калидҳои хориҷӣ доранд - ID-и кишвар. Ҳамин тавр, ID барои шаҳрҳои як кишвар якхела аст. Аз ин рӯ, шумо метавонед сабтҳоро аз рӯи онҳо гиред ва гурӯҳбандӣ кунед: $ SELECT country_id, COUNT(*) АЗ шаҳр GROUP BY country_id; "Лоиҳаи Java аз A то Я": мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем.  Кисми 3 — 19Аммо бидуни функсияҳои ҷамъоварӣ он каме нотавон ба назар мерасад, шумо бояд эътироф кунед. Аз ин рӯ, биёед якчанд функсияҳои маъмултаринро дида бароем:
  • COUNT - шумораи сабтҳо, метавонанд бидуни гурӯҳбандӣ истифода шаванд, ҳамчун COUNT(*) истифода мешаванд . Дар ҳолати гурӯҳбандӣ аз рӯи ягон майдон - COUNT(grouped_field);
  • MAX - арзиши максималии майдони мушаххасро пайдо мекунад;
  • MIN - арзиши ҳадди ақали майдони мушаххасро пайдо мекунад;
  • SUM - маблағи майдони мушаххасро пайдо мекунад;
  • AVG - арзиши миёнаро пайдо мекунад.
Умуман, ин функсияҳоро бидуни гурӯҳбандӣ истифода бурдан мумкин аст, танҳо дар он сурат танҳо як майдон намоиш дода мешавад. Биёед онҳоро барои аҳолии шаҳри худ бисанҷем: $ SELECT COUNT(*) АЗ шаҳр; "Лоиҳаи Java аз A то Я": мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем.  Кисми 3 — 20Он чизе ки онҳо талаб карданд, он чизест, ки онҳо гирифтанд. Танҳо шумораи сабтҳо. Баъзан ин муфид аст. Масалан, агар ба мо лозим меояд, ки шумораи маколахои муаллифи муайянро фахмем. Онхоро аз база баровардан ва хисоб кардан лозим нест. Шумо метавонед танҳо COUNT() -ро истифода баред. $ ИНТИХОБ AVG(ањолї) АЗ шањр; "Лоиҳаи Java аз A то Я": мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем.  Кисми 3 — 21$ ИНТИХОБ КАРДАНИ MIN(аҳолӣ) АЗ шаҳр; Ва ин аст, ки гурӯҳбандӣ эътибор пайдо мекунад. Масалан, вазифа аз он иборат аст, ки хурдтарин шахри мамлакат ба даст оварда шавад. Шумо аллакай медонед, ки ин корро чӣ тавр анҷом диҳед? Инро худатон санҷед ва баъд тамошо кунед: $ SELECT country_id ҳамчун Кишвар, MIN(аҳолӣ) АЗ шаҳре, ки GROUP BY country_id; "Лоиҳаи Java аз A то Я": мо пойгоҳи додаҳо ва забони SQL-ро таҳлил мекунем.  Кисми 3 — 22То ҳол мо танҳо ID-и кишварро мебинем, аммо ин муҳим нест - дафъаи оянда мо ҳама чизро мекунем. Ҳамин тавр, аллакай натиҷа вуҷуд дорад ва мо он чизеро, ки мехостем, ба даст овардем - хурдтарин шаҳри кишвар бо ID = 1. Боқимондаи вазифаҳо якхела хоҳанд буд. Кайд кардан зарур аст, ки хангоми истифода бурдани гуруххо ва агрегацияхо ба воситаи * тар-тиб додани хамаи майдонхо натичае намебахшад! Дар бораи он фикр кунед;)

Вазифаи хонагӣ

Аз рӯи натиҷаҳои мақолаҳои қаблӣ маълум мешавад, ки вазифаи хонагӣ иҷро шуда истодааст, пас биёед давом диҳем)) Бале, ҳар касе, ки вазифаи хонагиро иҷро мекунад, дар шарҳҳо "+" гузоштанро идома медиҳад. Барои ман муҳим аст, ки мавзӯи вазифаи хонагӣ барои шумо ҷолиб бошад, то ки ман онро дар оянда идома диҳам. Бале, ман шарҳҳои шуморо мунтазам мехонам. Албатта, ман камтар ҷавоб медиҳам. Ман дидам, ки онҳо хоҳиш карданд, ки мушкилоти мушкилтари SQL диҳанд. То он даме, ки мо ҳамроҳ шуданро омӯзем, ҳеҷ мушкor ҷолибе нахоҳад буд, бинобар ин, онҳо хоҳанд буд, ки барои маводи минбаъда лозиманд.

Вазифаҳо:

    Оператори HAVING- ро фаҳмед ва аз мисоли мо дархости намунавӣ барои ҷадвалҳо нависед. Агар ба шумо лозим аст, ки баъзе майдонҳо ё арзишҳои бештарро илова кунед, то равшантар шавад, онҳоро илова кунед. Агар касе мехоҳад, ҳалли намунаи худро дар шарҳҳо нависед: бо ин роҳ ман метавонам онро тафтиш кунам, агар вақт дошта бошам.
  1. MySQL Workbench -ро насб кунед, то бо пойгоҳи додаҳо тавассути UI кор кунад. Ман фикр мекунам, ки мо бо кор аз консол аллакай таҷрибаи кофӣ дорем. Ба базаи маълумот пайваст шавед. Агар шумо барои кор бо пойгоҳи дода чизи дигареро истифода баред, озодона ин вазифаро гузаред. Дар ин ҷо ва минбаъд ман танҳо MySQL Workbench -ро истифода хоҳам кард.
  2. Бо истифода аз маълумоти мо дархостҳо нависед:
    1. хурдтарин/аз ҳама сераҳолитарин кишвар;
    2. шумораи миёнаи сокинон дар кишвар;
    3. шумораи миёнаи сокинон дар кишварҳое, ки номашон бо “а” тамом мешавад;
    4. шумораи мамлакатхое, ки ахолиашон аз чор миллион зиёд аст;
    5. кишварҳоро аз рӯи камшавии шумораи аҳолӣ ҷудо кунед;
    6. кишварҳоро аз рӯи ном аз рӯи тартиби табиӣ ҷудо кунед.

Хулоса

Имрӯз мо вазифаи хонагиро аз дарси гузашта муфассал муҳокима кардем. Гузашта аз ин, ман инро ҳам барои онҳое, ки ин корро накардаанд ва ҳам барои онҳое, ки кардаанд, муҳим медонам. Барои аввалинҳо, ин имкониятест барои дарёфти ҷавоб ва барои охирин, онро бо натиҷаи худ муқоиса кунед. Ба ҳисоби GitHub-и ман обуна шавед , то аз тағйирот дар лоиҳа огоҳ шавед. Ман тамоми пойгоҳи codeро дар он ҷо нигоҳ медорам. Ҳама чиз дар ин созмон сурат мегирад . Баъдан, мо изҳороти SELECTро муҳокима кардем. Ӯ барои мо аз ҳама муҳим аст. Маҳз тавассути он ҳама дархостҳо оид ба маълумот мегузарад ва мо бояд онро дарк кунем. Муҳимтар аз ҳама он аст, ки тартиби илова кардани параметрҳоро дар хотир доред (ДАР КУҶО, ТАРТИБ АЗ, ГУРӮҲ АЗ БАРОИ, ва ғайра). Бале, ман ҳама чизеро, ки имконпазир буд, нагуфтам, аммо ман дар назди худ чунин ҳадаф нагузоштам. Бале, ман медонам, ки шумо аллакай хоҳиши навиштани ариза доред. Сабр кунед, ин ҳама ба шумо лозим аст. Ҳам барои лоиҳа ва ҳам барои рушди касбии шумо. Ҳангоми интизорӣ, боварӣ ҳосил кунед, ки Git ба шумо аллакай шинос аст. Ман онро ба таври нобаёнӣ ҳамчун воситаи маъруф истифода хоҳам кард. Ташаккур ба ҳама барои хондан. Дар мақолаи навбатӣ мо дар бораи пайвастшавӣ ва пайвастшавӣ ба пойгоҳи додаҳо сӯҳбат хоҳем кард. Дар он ҷо вазифаҳои олӣ хоҳанд буд))

Рӯйхати ҳамаи маводҳои силсила дар аввали ин мақола аст.

Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION