АКЦИЯ:Астана тұрғындарына 10 % жеңілдік
Операторлар
Салыстыру типі салыстыру оператор-ң стандартты түрінің бірі. SQL Фильтрі-ң синстаксисі келесі салыстыру оператор-н өолдайды:>
· <
· =
· <=
· =>
· !=
· LIKE
SQL Фильтрі-ң синстаксисі логикалық оператор-ды қолдайды: AND, OR и NOT.
B. 10 000 және 45 000 тенге аралығындағы және тауар аты NOKIA болатын тауарларының тізімін көрсететін SQL-скрипт жазыңыз.
Select *
From Products
Where PRODUCT_NAME=’NOKIA’
and between 10000 and 45000
C. Интерфейстің қандай объектілері арқылы баға диапазонының шектейтін сандарды қалай беруге болады? (кем дегенде 2). Әр тәсілдің артықшылығын атаңыз.
Баға диапазонын шектейтін сандарды интерфейстің келесі объектілерімен беруге болады: Button
2 textbox
Мысалға, бізге 10000 мен 20000 тг арасындағы ұялы телефондарды іздеу керек болсын. Textbox-қа қалаған сандарды енгізуге болады. Ал Button-ға төмендегі скриптерді жазамыз:
Select* from PRODUCTS Where price between ‘textbox1’ and ‘textbox2’
Немесе
10 000 және 45 000 тенге аралығындағы және тауар аты NOKIA болатын тауарларының тізімін көрсететін SQL-скрипт жазу.
SELECT * FROM PRODUTS WHERE PRODUCT_PRICE BETWEEN 10000 AND 45000 AND PRODUCT_NAME = ‘NOKIA’;
9) A. Кестелер арасында байланыстарды көрсететін диаграмманы келтіріңіз.
В. Аралық CART кестесі не үшін қажет екендігін түсіндіріңіз?
Аралық CART кестесі клиент нақты тапсырысты жасамас бұрын,ол өзінің қаражаты тандалған тауарға жеткілікті және жеткіліксіз болатының анықтауы қажет. Тауарлар корзинасын қосу алдын ала тексеру үшін қажет. Кейбір сайттар клиенттерге тіркелуді міндет етпей,тауар корзинасын толтыруға мүмкіндік береді.
Еpay.kkb.kz қызметінде 3D-secure маңыздылығы Төлем шлюзінің авторизациялау жүйесі — Клиент картасының реквизиттері (номер, мерзімі, CVV2/CVC2) алаяқтардың қолына түспеуін қамтамасыз етеді. Сатып алушы карта реквизиттерін дүкеннің сайтында емес, АО "Казкоммерцбанк" төлем шлюзінде өңделеді. Ақпаратпен алмасудың қауіпсіздігі SSL және 3D-secure (Visa)/MCC (MasterCard) протоколдары арқылы қамтамасыз етіледі.
C. Тауар корзинасында 58827 номерлі клиенттің таңдаған тауарлар санын және соммасын анықтайтын SQL-скрипт жазыңыз.
“SELECT COUN (CART.CART_ID) AS C, SUM (CART.QTY*PRODUCT_PRICE) AS S FROM CART INNER JOIN PRODUCTS ON CART. PRODUCT_ID=PRODUCTS.PRODUCT_ID” WHERE CLIENT_ID=’58827’;
10) A. SQL анонимді блоктары және сақталған процедураларының айырмашылығы неде?
Анонимді блок –жазылған барлық скриптер кіреді. Анонимді блоктің –сақталған процедура сияқты, белгілі анықталған атауы болмайды. Анонимді блок – жасап шығару, жазу өте оңай, бірақ сақталған процедуралар басқа программалар арқылы шақыруға болады. Ал анонимді блок денесін әр кез қайталап жазу керек. Егер SQL скрипті бірнеше рет шақыру қажет болса, оны сақталған процедура ретінде анықталған дұрыс.Аноноимді блоктардың аты болмайды. Анономді блок негізі динамикалық түрде құрылады және бір рет қолданылады. Блоктың бұл типі МҚ-да сақталған ішкі программаны шақыруға арналған клиенттік программада құрылады.
Сақталған процедура – серверде сақталып, бір рет компиляцияға жіберілетін SQL-инструкциялар жиынтығын көрсететін МҚ-ның объектісі. Сақталған процедуралар жоғары деңгейлі тілдердің қарапайым процедураларына ұқсайды, оларда шығыс/кіріс параметрлері, локальі айнымалылар болуы, сандық есептеулер және символдық мәліметтермен операциялар орындалуы мүмкін. Сақталған процедураларда МҚ-мен стандартты операциялар орындалуы мүмкін (DDL, DML).
Сақталған процедура – бұл тапсырмаларды басқаратын тіл командалары және SQL операторларынан тұратын ішкі программа. Процедураны орындау жомпары ол жүктеліп жатқанда орындалады, сол себепті процедураны орындау тез жүреді. Сақталған процедура:
- Параметрлерден (аргументтерден) құрылуы мүмкін;
- Басқа процедураларды шығаруы мүмкін;
- Шақырылған процедураға н/е пакетке дұрыс аяқталғанын н/е қатені, қате шыққанда оның себебіне өзінің статусын қайтаруы мүмкін;
- Шақырылған процедураға н/е пакетке параметрлердің мәнін қайтаруы мүмкін.
Негізгі айырмашылығы анонимді блок ішкі программаны өзінде шақырады, ал сақталған процедура командалар мен операторлардан тұратын ішкі программа.
B. Индексациялаудың мағынасын түсіндіріңіз?
Индексациялау - индекстарды пайдалану. Индексациялау –жолдары көп кестелермен жұмыс істегенде, яғни іздеу, сортировка жасағанда индексациялау кеңінен қолданылады. Мыс: диапазон бойынша іздеу жасау: CREATE INDEX < INDEX Name> ON < Table name>
MySQL индекстік файлдарды сақтауға арналған дискідегі қосымша бос орынды қолданады. Алдымен нені индексациялау қажет екенін анықтап алуымыз қажет. Мәліметтерді іздеу н/е сұрыптау жүретін кесте өрістерін индексациялауымыз керек. Мысалы, бізде book ж/е author деген кесте болсын. 1-кестеде кітаптар, 2-кестеде авторлар жайында ақпараттар бар. Егер осыдан алғашқы әріпті енгізіп іздеу жүргізетін болсақ, ол кестенің барлық өрістерін қарап шығады, бұған көп уақыт кетеді.
Егер біз book кестесіне book_name (кітап аты) өрісін индексациялайтын болсақ, MySQL осы кесте индексін құрады. Яғни кестеге көрсетілген өріс б/ша сұрыптау жүргізеді. Басқаша айтсақ, индекс – бұл кестенің мәліметсіз көшірмесі, бірақ әрбір ұяшық – негізгі кестедегі ұяшыққа сілтеме болатын анықталған ережелермен сұрыпталған.
book_name өрісіне индекс құрғанннан кейін алғашқы әріп б/ша іздеу жүргізгенде бізге сол өрістен керектіні тауып тез шығарып береді.
C. (<COLUMN name>, [<COLUMN name>] );
CREATE INDEX PRODUCT_GROUP ON PRODUCTS (PRODUCT_ID)
индексациялау → сұранымды оңтайландырады.
Немесе
PRODUCTS кестесіне индексті жасайтын SQL-скрипт жазыңыз?
CREATE INDEX ind_a
ON PRODUCTS
(PRODUCT_ID)
11) A. Тауар категориясын анықтайтын product_category атрибуты текст форматында сақталған және тіркелу парағында textboх объектісі арқылы енгізіледі. Мәліметтерді өңдегенде қандай қиындықтар пайда болуы мүмкін?
PRODUCT тауар категориясы текст ретінде енгізілгенде бірдей тауар категориялары әртүрлі жазылып, кейін PRODUCT кестесін өңдегенде мәліметтер тұтастығы бойынша қиындық туады. Мысалы: егер сіз мәліметтер қорында «мобильді» деп жазылып тұрған сөзді «мобилді» деп жазып іздесеңіз, онда сіз мәтіндік қатеге тап боласыз.
Сонымен қатар CapsLk қосылып қалуы, Орысша әріптерді қабылдамауы, бас әріп пен кіші әріптің айырмашылығының әсерінен.
В. Мәліметтер қорында Онлайн дүкенінде мәліметтер тұтастығын (дұрыстығын) қамтамасыз ететіндегідей қандай ұсыныстар бере аласыздар?
Тауар категориялары бөлек сақталуы тиіс. DropDownList интерфейсі тауар категориялары арқылы таңдау енгізеді.
Мәліметтер қорына қандай өзгерістер енгізу қажет
Мәліметтер қорында ақпараттар нақты әрі түсінікті болу үшін атрибуттар дұрыс анықталуы керек. Атрибуттар мағынасына қарай топтарға жіктеу.
C. PRODUCTS кестесіне, В пунктінде айтылған өзгертулер жасағаннан кейін, іздеу парағында тауарлардың баға бойынша сұрыпталған тізімін көрсететін SQL-скрипт жазыңыз.
SELECT * FROM PRODUCTS_a, PRODUCTS = CATEGORY b
WHERE a.PRODUCT_CATEGORY = ‘b.CATEGORY_ID’
PRODUCTS_CATEGORY
CATEGORY_ID
CATEGORY_NAME
НЕМЕСЕ төмендегідей болады
Select PRODUCT_NAME, PRODUCT_PRICE
From products p, product_category c
Where p.product_id= c. poduct _id
ORDER BY product_price DESC
12) A. Тауарларды іздеу парақшаның 3 деңгейлі қосымшалар интерфейсін схема түрінде жазып көрсетіңіз.
Іздеудің 3 элементі
SqlDataSource GridView Button, TextBox
SqlDataSource келесідей шарттарды орындаймыз:
1. Мәліметтер қорын таңдау
2. Кестені таңдау
3. Where шартын шертеміз
4. Баған таңдаймыз, элемент идентификаторы Textbox, бастауы Control
5. Қосу батырмасын шертеміз
B. Тауарларды іздеу парағының интерфейсіде қандай объектілер қолдануы мүмкін?
SqlDataSource басқару элементі әр түрлі ДҚ-мен өзара байланыс жасау үшін ADO.NET класын қолданады.
GridView басқару элементі жазбаларды таңдауға, реттеуге және өзгертуге мүмкіндік береді.
Button басқару элементі веб-парақта “Батырма ” басқару элементін көрсетеді.
TextBox басқару элементі берілген пайдаланушылар деректерді теру үшін қажетті басқару эленментін тексттік тереземен көрсетеді.
C. Баға бойынша сұрыпталған, іздеу парағында тауарлар тізімін көрсететін SQL-скрипт жазыңыз.
Select PRODUCT_NAME,PRODUCT_PRICE
From PRODUCTS
ORDER BY PRODUCT_PRICE DESC
13) А. Қай қалада қанша клиент тіркелгенін көрсететін SQL-скрипт жазыңыз.
CITY,COUNT(CLIET_ID)from clients group by CITY
НЕМЕСЕ төмендегідей
Select count (client _id),city
From CLIENTS
GROUP BY city
В. CITY атрибуты текст форматында сақталған және тіркелу парағында textboх объектісі арқылы енгізіледі. Мәліметтерді өңдегенде қандай қиындықтар пайда болуы мүмкін?
СITY атрибуты текст ретінде енгізгенде бірдей атрибуттар әртүрлі жазылып,кейін СITY кестесін өңдегенде мәліметтер тұтастығы бойынша қиындық туады.
Мысалы: Нью-Йорк қаласы [ь]-пен Нью-Йорк немесе Ню-Йорк деп жазылуы мүмкін. Осындай қателіктерге тап болуыңыз мүмкін.
CapsLk қосылып қалуы, Орысша әріптерді қабылдамауы, бас әріп пен кіші әріптің айырмашылығының әсерінен.
C. Мәліметтер қорында Онлайн дүкенінде мәліметтер тұтастығын (дұрыстығын) қамтамасыз ететіндегідей қандай ұсыныстар бере аласыздар? Онлайн дүкеннің тіркелу формасына қандай өзгерістер енгізу қажет.
Тауар категориялары бөлек сақталуы қажет, DropDownList интерфейсі тауар категориялары арқылы таңдау енгізіледі.
Мәліметтер қорында ақпараттар нақты әрі түсінікті болу үшін атрибуттар дұрыс анықталуы керек. Атрибуттар мағынасына қарай топтарға жіктеу.
14) А. SQL тілінде кез келген 3 агрегация функциясын көрсетіңіз?
MIN, MAX, SUM и AVG COUNT, STDEV и VAR.
Count (…)
Sum (…)
AVG (ариф.ортасы)
Max
B. Сұратулар және суб-сұратулар дегеніміз не? Олар не үшін керек?
Мәліметтер қорымен жұмыс жасағандағы ең маңызды операциялардың бірі ол мәліметтер қорындағы ақпараттарды таңдау немесе сұрыптап шығару. Сұратулар- бұл деректерді талдау,таңдау, іріктеу және өзгерту құралы. Сұрату көмегімен бірнеше кестелердегі деректерді көруге, талдауға және өзгертуге болады. Сонымен қатар сұратуларды пішіндер мен есеп берулерге (отчеты) арналған деректер көзі ретінде қолданылады. Бұл үшін біз сұратулар қолданамыз. Сұратулардың бірнеше түрі бар және олар аталуларына байланысты әр түрлі қызметтер атқарады: қорда бар мәліметтерді өзгерту немесе жаңадан жазу сұратулары, қордағы барлық мәлімметтерді шығару сұратуы, жаңа мәлімет енгізу сұратуы, мәліметтерді өшіру сұратуы, т.б. Суб сұратулар ол сұратудың ішіндегі сұратулар болып табылады. Олар әдетте WHERE конструкциясы ішінде жазылады. Суб сұраныстар сұраныспен толық жауап алына алмайтын жағдайда қолданылады.
С. Онлайн дүкеніне клиенттер саны бойынша қай қалада көп тіркелгендігін көрсететін SQL-скриптжазыңыз?
SELECT CITY,QTY FROM
(SELECT CITY,COUNT(CLIENT_ID) QTY FROM
CLIENTS GROUP BY CITY)
ORDER BY QTY DESCORDER BY QTY DESC немесе
SELECT CITY,Q
FROM
(SELECT COUNT(CLIENT_ID) Q, CITY
FROM CLIENTS
GROUP BY CITY) CITY_C
ORDER BY Q DESC
15) А. Мәліметтердің тұтастығы (дұрыстығы) және валидациясы дегеніміз не? Бұл ұғымдар клиенттердің тіркелу формасын жобалауда қалай өзара байланысып және жүзеге асады? Клиенттер тіркелген кезде мәліметтердің тұтастығы (дұрыстығы) қамтамасыз етілетіндей қандай тексерулер бар? Кез-келген 3 атрибут мысалын келтіріңіз.
Мәліметтердің МҚ-да сақталу процедурасы 2 принципі бар: - мәліметтердің тұтастығы және қайшылықсыздығы;- мәліметтердің минималды артықтығы, яғни кез келген мәлімет элементі бір түрде ғана сақталуы.ORDERS BY - ұлғаю бойынша сұрыптау ASC DESC - кему бойынша сұрыптау.GROUP BY - топтау операторы.келесідей мәндерді табуға көмектеседі-MAX,MIN,AVG. WHERE – фильтрация операторы.
Мәліметтердің тұтастығы. Егер екі кесте арасында (автоматты түрде немесе қолдан) байланыс орнатылса, екі кестенің мәліметтерін біріктіруге болады. Кейде осы жеткілікті (мысалы, қарапайым телефон аныктамалығын енгізгенде), алайда маңызды мәліметтер базасын құрғанда әр түрлі кестелерге кіргізілетін, байланысқан мәліметтерді бақылаудың қосымша құралдары жөнінде ойлауға тура келеді.
Мәселен, Тапсырыстар кестесін құрғанда жоқ клиенттер немесе өнімдер туралы мәліметтерді бұл кестеге кездейсоқ енгізуге жол беруге болмайды, өнімге және т.б. тапсырыс беретін клиенттер туралы жазбалардан сөздіктерді жоюға болмайды.
Байланысқан екі кестелер арасындағы мәліметтердің сәйкес үйлесімін қамтамасыз ететін механизм былай аталады: Мәліметтердің тұтастығын қолдау мәліметтердің тұтастығын қамтамасыз ету үшін, екі кесте арасындағы байланысты орнатканда, тұтастық шарттарын қамтамасыз ету жалаушасын белсенді ету керек. Мәліметтердің тұтастығын қамтамасыз ету жалаушасын енгізу бір кестеден жазбаларды жою жағдайларынан қорғануға мүмкіндік береді, олармен байланысқан басқа кестелердің мәліметтері байланыссыз қалады.
Валидация тек сандардан тұрады.Валидация бастапқы енгізілген мәліметтің соңғысымен сәйкестігін тексеруді білдіреді. Бұл ұғымдардың айырмашылығы – мәл-і тұтастығы, мысалға тіркелу кезінде ақпаратты енгізгенде, сиволдар-ң дұрыс жазылуын(латын н/е кириллица, бас н/е кіші әріп) сұрауы мүмкін н/е телефон нөмірі 11 саннан тұруын н/е почтаны енгізгенде @ болуын талап етеді. Ал мәл-ң валидациясы деген мысалға парольді енгізгенде оны қайта қайталап енгізуді сұрайды, яғни бастапқыда енгізілген пароль мен 2-шісін тексереді. Сәйкес келмесе, қате шығарып береді.
B. Телефон номерлерін енгізгенде қандай тексеріс жүргізілуі мүмкін.
Телефон нөмірін енгізгенде +7 коды арқылы қандай ел және қала екені тексеріледі.
С. Алматы (ALMATY) қаласының тұрғындарының санын шығаратын SQL-скрипт жазыңыз
SELECT COUNT (CLIENT_ID)
FROM CLIENTS
WHERE CITY=’ALMATY’
16) А. Әртүрлі маркетинг кампанияларды өткізу үшін Клиенттерден жеке көлігі бар-жоғын (CAR_FLG) және бар болса машина моделі (CAR_MODEL) сұрауға шешім қабылданды.
CLIENTS кесетесіне осы екі бағанын қосатын SQL –скрипт жазыңыз.
ALTER
TABLE
CLIENTS
ADD CAR_FLG(VARCHAR(10),
CAR_MODEL(VARCHAR(100))
В. Мәліметтер қорында Онлайн дүкенінде мәліметтер тұтастығын (дұрыстығын) қамтамасыз ететіндегідей қандай ұсыныстар бере аласыздар? Онлайн дүкеннің тіркелу формасына қандай өзгерістер енгізу қажет?
Мәліметтер қорында ақпараттар нақты әрі түсінікті болу үшін атрибуттар дұрыс анықталуы керек. Атрибуттар мағынасына қарай топтарға жіктеу. Тіркелу кезінде нақты мәліметтер сұралу қажет.
С. Жеке көлігі бар клиенттердің тізімін шығаратын SQL-скрипт жазыңыз. CAR_FLG екі түрлі мәнге ие бола алады ‘Y’-машина бар, ‘N’- машина жоқ.
SELECT * FROM CLIENTS WHERE CAR_FLG = ‘YES’ немесе
Select client_fio
From clients
Where car_flg like “Y”;
17) А. Егер онланй-дүкен www.e-pay.kz төлем терминалымен бірге жұмыс істейтін болса, осы мәліметтер қорында карточкалар жөнінде ақпаратты сақтау қажет пе? Себебін түсіндіріңіз? Қажет емес. Себебі, жеке мәліметтеріңізді келтіретін болғандықтан, сіздің шотыңыздағы қаржыға қол салу қаупі туады. Қажеті жоқ, себебі бұл функцияны e-pay.kz береді.
В. Клиенттерге ынталандыру бағдарламасы бойынша 2 акция ұсыныңыз.
АКЦИЯ:Астана тұрғындарына 10 % жеңілдік