Информатика · ҰБТ 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()
Мысалдар
- 10-сыныптың ең үздік 10 оқушысы.
SELECT first_name, gpa FROM Students WHERE grade = 10 AND gpa >= 4.5 ORDER BY gpa DESC LIMIT 10; - Орташа баллы 4,0-ден кем емес сыныптар.
SELECT class_name, COUNT(student_id), AVG(gpa) FROM Students GROUP BY class_name HAVING AVG(gpa) >= 4.0;— топ бойынша шарт болғандықтанHAVING. - Аты «Ә»-ден басталатын оқушылар.
WHERE first_name LIKE 'Ә%'. - Орташа баллға қай тип қолайлы?
DECIMAL(3, 2)(мысалы, 4.75).
ҰБТ-дағы жиі қателер
WHERE-сізDELETE FROM Students;жазу — барлық жазба өшеді.- Агрегаттық шартты
WHERE-ге жазу: топ бойынша сүзу —HAVING. ORDER BYәдепкі бойынша кему ретімен деп ойлау: әдепкісіASC.%пен_шатастыру:_— дәл бір таңба.CREATEжәнеSELECT-ті бір топқа жатқызу:CREATE— DDL,SELECT— DML.- Парольді
GETәдісімен жіберу: ол URL-де көрінеді.
Өзіңді тексер
- Кесте құрылымын өзгертетін команда? —
ALTER. - Жазбалар санын санайтын функция? —
COUNT. - Деректерді URL-де көрсетпей, сұраныс денесінде жіберетін форма әдісі? —
POST. - Екі кестеде де сәйкестігі бар жазбаларды ғана шығаратын біріктіру? —
INNER JOIN. - Өзгермелі ұзындықтағы мәтін типі? —
VARCHAR(N).