DB Logo

Database Design

by Rikky

Блогымыздың барлық категориялары:

Дерекқордың мысалдары (мақала суреті)

Дерекқордың мысалдары

Танымал мысалдар негізінде дерекқор архитектурасын талдаймыз

Дерекқорды қалпына келтіру (мақала суреті)

Дерекқорды қалпына келтіру

Деректердің жоғалтуынсыз жиі кездесетін қателіктерді түзету

Дерекқордың негіздері (мақала суреті)

Дерекқордың негіздері

Дерекқорды қарапайым тілмен жобалау

Жоба жаңалықтары (мақала суреті)

Жоба жаңалықтары

Жаңартулар, жаңа функциялар және басқа оқиғалар

SQL сұрауларының мысалдары (мақала суреті)

SQL сұрауларының мысалдары

SQL негіздері қарапайым тілмен, SQL операторлары

SQL-де кестедегі жазбадағы деректерді қалай өзгертуге болады: SQL UPDATE сұранысы

SQL жазбаларын жаңарту, кестедегі қатарды өзгерту үшін SQL командаларын қалай жазуға болады?

Мен SQL дерекқорында деректерді редактирлеуді оңай сөздермен, түсініксіз сөздерсіз түсіндіремін. UPDATE SET командасы оңай! MySQL, PostgresQL, MS SQL, SQLite, Oracle, MariaDB және басқа SQL DBMS үшін жарамды.

SQL-дағы UPDATE командасы кестедегі бар деректерді өзгертуде қолданылады

Бұл бір немесе бірнеше қатарды, сондай-ақ таңдалған жазудағы бір немесе бірнеше өрісті жаңартуға мүмкіндік береді. SQL UPDATE SET сұрауының синтаксисі мынадай:

UPDATE 
  tableName 
SET 
  field1 = value1,
  field2 = value2
WHERE 
  condition;

Бұл "TABLE ДЕРЕКТЕРІН ЖАҢАРТУ, ЖАҢА МАҒЫНАЛАРДЫ БЕКІТУДІ БОЛАДЫ, ШАРТҚА САЙ КЕЛЕТІН ЖАЗБАЛАРДА" дегенді білдіреді.

Егер шарт көрсетілмесе, кестедегі барлық қатарлар жаңартылады!

Сондықтан, көп жағдайда жаңартылатын деректерді шектеу үшін шартты (WHERE) пайдалану маңызды.

Соңғы жаңартылған өріс пен WHERE операторы арасында үтір болмауы керек; әйтпесе, қате пайда болады!

Мысалы, біздің дерекқорымызда "products" деп аталатын өнімдер кестесі бар, және біз белгілі бір идентификаторға (id) ие өнімнің бағасын өзгертуіміз керек.

Неге id? Бұл кестедегі әрбір қатардың уникалды нөмірі.

Ол жерде бір кестеде бірнеше бірдей id бола алмайды, бұл бізге жазбаның id-ін білген кезде дәл сол жазбаны өзгертуге гарантия береді.

SQL командасы көмегімен id бойынша жазбаны жаңарту мысалы:

id 5 болатын өнімнің бағасын жаңарту үшін SQL сұрауы мынадай болады:

UPDATE products SET price = 200 WHERE id = 5;

Бұл жағдайда id 5 болатын өнімнің бағасы 200-ге жаңартылады.

Ескеріңіз, егер біз WHERE шартын өткізсеңіз, кестедегі барлық өнімдердің бағасы жаңартылады.

SQL-да жазбадағы бірнеше өрісті қалай өзгертуге болады?

UPDATE командасы арқылы біз тек бір өрісті емес, бірнешеуін бірден жаңарта аламыз. Мысалы, егер id 5 болатын өнімнің атауы мен бағасын жаңартқымыз келсе, SQL сұрауы мынадай болады:

UPDATE products SET name = 'Новый продукт', price = 200 WHERE id = 5;

SQL-да шарт негізінде бірнеше жазбаны қалай жаңартуға болады:

Кейде бірнеше қатарды бірден белгілі бір критерий бойынша жаңарту керек. Мысалы, егер біз "Электронды құралдар" категориясындағы (id-і 5 дейік) барлық өнімдердің бағасын 10%-ға көтергіміз келсе, келесі сұрауды пайдалана аламыз:

UPDATE products SET price = price * 1.10 WHERE category_id = 5;

Бұл жағдайда id 5 болатын категориядағы барлық өнімдердің бағасы көтеріледі. Мұндай шарттарды пайдалана отырып, деректерді кешенді өңдеуге тиімді түрде өңдей аламыз.

SQL-да ішкі сұрауларды пайдаланып деректерді жаңарту:

Субсұрауды пайдалану керек болғанда SQL-дағы UPDATE командасының мысалы. Субсұрауларды қолдану, егер біз басқа кестеден алынған деректер негізінде жазбаларды жаңартуға қажет болса, пайдалы болуы мүмкін.

Мысалы, егер "discounts" деп аталатын кестеміз болса және өнімдердің бағасын олардың қазіргі жеңілдіктеріне негізделген жаңартқымыз келсе, онда сұрау мынадай болуы мүмкін:

UPDATE 
  products 
SET 
  price = price - (
  
    SELECT 
      discount 
    FROM 
      discounts 
    WHERE 
      products.id = discounts.product_id
      
  );

Бұл сұрау әр өнімнің бағасын жаңартып, оны жеңілдіктер кестесінен алынған тиісті жеңілдіктің мөлшерімен азайтуды білдіреді.

SQL-да деректерді жаңартқанда транзакцияларды пайдалану

Кейде жаңартулар үлкен көлемдегі деректерді талап етеді, және дерекқордың интегритетін қамтамасыз ету үшін UPDATE команданы транзакцияға орау мағынасы бар. Бұл өзгерістерде қате болған жағдайда оралуға мүмкіндік береді.

Транзакциялар бірнеше операцияларды бір бүтін ретінде орындау үшін топтастыруға мүмкіндік береді. Егер транзакциядағы операциялардың бірі сәтсіз болса, барлық транзакцияны қайтарып алуға болады, және деректер бастапқы күйде қалуы мүмкін.

Бізде "accounts" деп аталатын кесте бар екенін және бір есепшоттан екінші есепшотқа ақша аударғымыз келсе. Бұл процесс екі кезеңнен тұрады: жіберуші есепшоттан соманы алып тастау және сол соманы қабылдаушы есепшотқа қосу.

Деректерді жаңартқанда SQL транзакциясының мысалы:

BEGIN;

  UPDATE 
    accounts 
  SET 
    balance = balance - 100 
  WHERE 
    account_id = 1;

  UPDATE 
    accounts 
  SET 
    balance = balance + 100 
  WHERE 
    account_id = 2;

  -- Жаңартулар сәтті өтті ме тексеру
  IF (SELECT balance FROM accounts WHERE account_id = 1) < 0 THEN
      ROLLBACK; -- Егер есепшотта қаражат жетіспесе транзакцияны қайтарып алу
  ELSE
      COMMIT; -- Егер бәрі жақсы болса, өзгерістерді растама
      
END IF;

Бұл транзакциялар пайдаланудың арқасында көптеген әлеуетті қателерден аулақ болуға және дерекқор деректерінің интегритетін қамтамасыз етуге көмектесетін өте қарапайым мысал.

Біз BEGIN командасымен транзакцияны бастаймыз. Содан кейін жіберуші есепшоттың балансын азайту және қабылдаушы есепшоттың балансын арттыру үшін екі жаңартуды орындаймыз. Одан кейін, жіберуші есепшотта жеткілікті қаражат бар-жоғын тексереміз. Егер баланс азайғаннан кейін теріс мәнге айналса, ROLLBACK командасын пайдалана отырып транзакцияны қайтарып аламыз. Егер бәрі жақсы болса, COMMIT командасын пайдаланып өзгерістерді растаймыз.

Деректер базасын қайда жобалауға болады?

Database Design атты жаңа визуалды конструктормен танысуды ұсынамыз.

Қарапайым әрі ыңғайлы интерфейс реляциялық деректер базасын графикалық модельдің көрнекі түрде ұсынылуы түрінде жобалауға мүмкіндік береді, мұнда әртүрлі кестелердің өрістерін байланыстыра аласыз, олар бір-біріне қалай қатысты екенін көрсетіп.

Оның қалай көрінетінін қарастырайық:

Бейнежазбаны көру
Где можно спроектировать базу данных? В Database Design!

Database Design қосымшасындағы схеманы кейін SQL-дампасы ретінде жүктеуге болады, сілтемеден жүктеп алып.

Дамп файлы реляциялық деректер базасының дәл құрылымын кез келген SQL-сұраныс түріндегі деректер базасын басқару жүйесінде қайта құру үшін пайдаланылуы мүмкін, мысалы, MySQL.

Тіпті SQL-сұраныстарының кодын жазудың қажеті болмайды!

Database Design-де жұмыс істеу —
бір қуаныш!

Бұл кәсіпқойлар
және студенттер үшін деректерді сақтау мен талдау, сондай-ақ өз жобаларының деректер базасы модельдерін көрнекі түрде ұсыну үшін тамаша.

Database Design-де браузер арқылы кез келген құрылғыдан, тіпті смартфоннан жұмыс істеуге болады, жүктеп алып, ештеңе орнатудың қажеті жоқ!

Конструкторға өту
Database Design

Басқа мақалалар
және жобаның жаңалықтары:

SQL-де кестеден деректерді қалай алуға болады: SQL сұранысы SELECT FROM WHERE

SQL-де кестеден деректерді қалай алуға болады: SQL сұранысы SELECT FROM WHERE

SQL сұрауларының мысалдары

Мысалдармен SQL үйрену: дерекқордан деректерді алу үшін SQL командаларын қалай жазуға болады? Мен деректер базасынан ақпаратты қарапайым сөздермен, артық мәліметтерсіз түсіндіремін. SELECT FROM WHERE командасы оңай! Бұл MySQL, PostgreSQL, MS SQL, SQLite, Oracle, MariaDB және басқа SQL DBMS-те жұмыс істейді. Мақаланы оқу

SQL-де кестеге жолды қалай қосуға болады: SQL INSERT INTO операторы

SQL-де кестеге жолды қалай қосуға болады: SQL INSERT INTO операторы

SQL сұрауларының мысалдары

Мысалдармен SQL үйрену: кестеге деректер қосу үшін SQL командаларын қалай жазуға болады? Мен деректерді деректер базасындағы кестеге қалай енгізуге болатынын қарапайым сөздермен, артық мәліметтерсіз түсіндіремін. INSERT INTO командасы оңай! Бұл MySQL, PostgreSQL, MS SQL, SQLite, Oracle, MariaDB және басқа SQL дерекқорларында жұмыс істейді. Мақаланы оқу

SQL-де кестедегі жазбадағы деректерді қалай өзгертуге болады: SQL UPDATE сұранысы

SQL-де кестедегі жазбадағы деректерді қалай өзгертуге болады: SQL UPDATE сұранысы

SQL сұрауларының мысалдары

SQL жазбаларын жаңарту, кестедегі жолды өзгерту үшін SQL командаларын қалай жазуға болады? Мен SQL деректер базасының кортежіндегі деректерді қарапайым сөздермен, қажетсіз бөлшектерсіз түсіндіремін. UPDATE SET бұйрығы оңай! Бұл MySQL, PostgreSQL, MS SQL, SQLite, Oracle, MariaDB және басқа SQL DBMS-те жұмыс істейді. Мақаланы оқу

SQL кестесінен деректерді қалай жоюға болады: SQL сұранысы DELETE FROM WHERE

SQL кестесінен деректерді қалай жоюға болады: SQL сұранысы DELETE FROM WHERE

SQL сұрауларының мысалдары

SQL-ді мысалдармен үйрену: мәліметтер базасынан жолды жою үшін SQL командаларын қалай жазуға болады? Мен SQL-де жолды жоюды түсіндіремін, SQL жазбасын қалай жою керектігін қарапайым сөздермен, артық ақпаратсыз. DELETE FROM WHERE сұранысы оңай! Бұл MySQL, PostgreSQL, MS SQL, SQLite, Oracle, MariaDB және басқа SQL DBMS үшін жұмыс істейді. Мақаланы оқу

Реляциялық деректер базалары - бұл іс жүзінде кез келген IT жобасының құрамдас бөліктерінің бірі. Деректер базасының мәні неде? Олар нені қажет етеді?

Реляциялық деректер базалары - бұл іс жүзінде кез келген IT жобасының құрамдас бөліктерінің бірі. Деректер базасының мәні неде? Олар нені қажет етеді?

Дерекқордың негіздері

Деректер базасы не үшін қажет? Бағдарламалау тұрғысынан деректер базасы дегеніміз не? Деректер базасындағы деректер құрылымы, "реляциялық" дегеніміз не және, ақырында, деректер базасының келдіру сатысына өте жауапты түрде жақындаудың маңыздылығы неде? Мақаланы оқу

Деректер базасын жобалаудың негіздері: "бір-біріне" (1:1) қатынасты қалай жасауға болады және бұл қатынас түрі қашан қажет екенін қарапайым тілмен, мысалмен түсіндіру

Деректер базасын жобалаудың негіздері: "бір-біріне" (1:1) қатынасты қалай жасауға болады және бұл қатынас түрі қашан қажет екенін қарапайым тілмен, мысалмен түсіндіру

Дерекқордың негіздері

Реляциялық деректер базалары бойынша сабақтар, онлайн деректер базасын оқу. "Бір-біріне" (1:1) қатынасты қалай жасауға болады және бұл қатынас түрі қашан қажет. Реляциялық деректер базаларының құрылымын SQL сұранымдарының мысалдарымен үйрену. Мақаланы оқу

Мәліметтер базасын жобалау негіздері: көп-көп (К:К) қатынасты қалай құруға болады және бұл қатынас түрі қашан қажет, қарапайым мысалмен түсіндірілген

Мәліметтер базасын жобалау негіздері: көп-көп (К:К) қатынасты қалай құруға болады және бұл қатынас түрі қашан қажет, қарапайым мысалмен түсіндірілген

Дерекқордың негіздері

Реляциялық базалар бойынша сабақтар, онлайн мәліметтер базасын үйрену. Көп-көп (К:К) қатынасты қалай құруға болады және бұл қатынас түрі қашан қажетті. Реляциялық базалардың құрылымын SQL сұрауларының мысалдарымен зерттеу. Мақаланы оқу

Мәліметтер базасын жобалаудың негіздері: деректерді нормализациялау қарапайым тілмен, реляциялық мәліметтер базасындағы байланыстардың мақсаты, бір-ко-мекеме байланысы

Мәліметтер базасын жобалаудың негіздері: деректерді нормализациялау қарапайым тілмен, реляциялық мәліметтер базасындағы байланыстардың мақсаты, бір-ко-мекеме байланысы

Дерекқордың негіздері

Реляциялық мәліметтер базасы бойынша сабақтар, онлайн мәліметтер базасы бойынша оқыту. Бірге-көп (1:M) байланысы, мысалдармен және қарапайым тілмен түсіндірілген. Мақаланы оқу

MySQL басталмайды: MySQL "Кенеттен тоқтату" қатесін қалай жөндеуге болады

MySQL басталмайды: MySQL "Кенеттен тоқтату" қатесін қалай жөндеуге болады

Дерекқорды қалпына келтіру

Барлығын керемет жұмыс істеп тұрғандай, кенеттен MySQL қате жіберіп құларады ма? Мәселені деректерді жоғалтпай қалай түзетуге болатынын түсіндірейін. Мақаланы оқу