DAMOO

Информатика · ҰБТ 2026 · 05. Ақпараттық процестер мен жүйелер

Мәліметтер қорын жасау. Құрылымдалған сұраныстар

Тестті бастау

Тест тапсыру үшін жүйеге кіру немесе тіркелу керек.

Конспект

Оқулықтық тірек

  • Қадырқұлов Р. Ә., Нұрмұханбетова Г. К. «Информатика. ЖМБ 10-сынып», 10-сынып, Алматыкітап баспасы, 2019, 116–147, 173–178-беттер (§ 18–23, 28)

Негізгі ұғымдар

  • SQL (Structured Query Language) — құрылымдалған сұраныстар тілі; декларативті: қалай емес, қандай дерек керегін көрсетеміз.
  • DDL — құрылымды анықтау: CREATE, ALTER, DROP. DML — деректермен жұмыс: INSERT, UPDATE, DELETE, SELECT.
  • Шектеулер: PRIMARY KEY, NOT NULL, UNIQUE, DEFAULT, FOREIGN KEY.
  • Сұраныс: SELECT … FROM … WHERE … GROUP BY … HAVING … ORDER BY … LIMIT.
  • Агрегаттық функциялар: COUNT, SUM, AVG, MIN, MAX.
  • Форма — деректерді енгізуге, есеп (отчет) — жиынтық талдау мен басып шығаруға арналған.

Теория

SQL деректер типтері.

Топ Типтер
Бүтін INT (4 байт), SMALLINT (2 байт), BIGINT (8 байт)
Нақты DECIMAL(M, D) — қаржыға (дөңгелектеу қатесіз), FLOAT, DOUBLE
Мәтін CHAR(N) — тұрақты ұзындық, VARCHAR(N) — өзгермелі (ең жиі), TEXT
Уақыт DATE (ЖЖЖЖ-АА-КК), TIME, DATETIME
Логикалық BOOLEAN (TRUE / FALSE)

Кесте құру және өзгерту.

CREATE TABLE Students (
    id INT PRIMARY KEY AUTO_INCREMENT,
    first_name VARCHAR(50) NOT NULL,
    age INT,
    city VARCHAR(50) DEFAULT 'Астана',
    class_id INT,
    FOREIGN KEY (class_id) REFERENCES Classes(class_id)
);
INSERT INTO Students (first_name, age) VALUES ('Арман', 16);
UPDATE Students SET age = 17 WHERE id = 1;
DELETE FROM Students WHERE id = 1;

WHERE шартынсыз UPDATE және DELETE бүкіл кестені өзгертеді/өшіреді.

Көпкестелі ДҚ. Байланыстар 1:1, 1:M, M:M (соңғысы аралық кесте арқылы); байланысты сыртқы кілт орнатады.

Таңдау сұранысы. WHERE шарттары:

  • салыстыру =, <>, <, >, <=, >=; логикалық AND, OR, NOT;
  • BETWEEN a AND b — аралық; IN ('Алматы', 'Шымкент') — тізімнен;
  • LIKE 'Ә%' — үлгі: % — кез келген таңбалар тізбегі, _ — бір таңба;
  • IS NULL / IS NOT NULL.

ORDER BY өріс ASC — өсу (әдепкі), DESC — кему; LIMIT N — алғашқы $N$ жазба. INNER JOIN — екі кестеде де сәйкес жазбалар, LEFT JOIN — сол жақ кестенің барлық жазбасы.

Есептер (отчеттар). GROUP BY жазбаларды топтарға біріктіреді; HAVING — топтарды сүзеді (жеке жазбаларды сүзетін WHERE-ден кейін орындалады). Есеп құрылымы: тақырып, жоғарғы колонтитул, деректер аймағы, қорытынды, төменгі колонтитул.

Формалар. Деректерді қатесіз енгізуді, міндетті өрістерді тексеруді қамтамасыз етеді. Веб-форма <form action="…" method="…">: GET — деректер URL-де ашық көрінеді (іздеу), POST — сұраныс денесінде жасырын (пароль, жаңа жазба). Элементтер: <input type="text|password|date">, <select>/<option>, <textarea>, <button type="submit">, required атрибуты.

Веб-парақ пен ДҚ байланысы. Қосылу параметрлері: хост, ДҚ атауы, пайдаланушы, пароль. Кезеңдері: байланыс ашу (connect) → сұранысты орындау (execute) → нәтижені алу (fetch) → HTML-ге шығару → байланысты жабу (close). Қателер try … except арқылы өңделеді. Python-да бұл қадамдар sqlite3 модулімен көрсетіледі:

import sqlite3

conn = sqlite3.connect("school.db")
cur = conn.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS Students "
            "(id INTEGER PRIMARY KEY, name TEXT NOT NULL, grade INT, gpa REAL)")
cur.execute("INSERT INTO Students (name, grade, gpa) VALUES (?, ?, ?)",
            ("Арман", 10, 4.7))
conn.commit()
cur.execute("SELECT name, gpa FROM Students "
            "WHERE grade = 10 AND gpa >= 4.5 ORDER BY gpa DESC")
for row in cur.fetchall():
    print(row)
conn.close()

Мысалдар

  1. 10-сыныптың ең үздік 10 оқушысы. SELECT first_name, gpa FROM Students WHERE grade = 10 AND gpa >= 4.5 ORDER BY gpa DESC LIMIT 10;
  2. Орташа баллы 4,0-ден кем емес сыныптар. SELECT class_name, COUNT(student_id), AVG(gpa) FROM Students GROUP BY class_name HAVING AVG(gpa) >= 4.0; — топ бойынша шарт болғандықтан HAVING.
  3. Аты «Ә»-ден басталатын оқушылар. WHERE first_name LIKE 'Ә%'.
  4. Орташа баллға қай тип қолайлы? DECIMAL(3, 2) (мысалы, 4.75).

ҰБТ-дағы жиі қателер

  • WHERE-сіз DELETE FROM Students; жазу — барлық жазба өшеді.
  • Агрегаттық шартты WHERE-ге жазу: топ бойынша сүзу — HAVING.
  • ORDER BY әдепкі бойынша кему ретімен деп ойлау: әдепкісі ASC.
  • % пен _ шатастыру: _ — дәл бір таңба.
  • CREATE және SELECT-ті бір топқа жатқызу: CREATE — DDL, SELECT — DML.
  • Парольді GET әдісімен жіберу: ол URL-де көрінеді.

Өзіңді тексер

  1. Кесте құрылымын өзгертетін команда? — ALTER.
  2. Жазбалар санын санайтын функция? — COUNT.
  3. Деректерді URL-де көрсетпей, сұраныс денесінде жіберетін форма әдісі? — POST.
  4. Екі кестеде де сәйкестігі бар жазбаларды ғана шығаратын біріктіру? — INNER JOIN.
  5. Өзгермелі ұзындықтағы мәтін типі? — VARCHAR(N).