
- •4, 5) A. Тауарлар кестесінен тауар аты nokia болатындай жолдарды жоятындай sql-скрипт жазыңыз.
- •Мұнда nokia болатындай барлық жолдарды жоймайды. Products кестесіндегі nokia жолын ғана жояды.Яғни Мәліметтер тұтастығы сақталынады.
- •6) А. Тауарлар және тауарлар категориясы түйіндерінің арасында қандай байланыс орнатылған? Тауар категориясында бірнеше тауар жатуы мүмкін. Яғни, бұл екі түйін арасында 1:м – байланысы бар.
- •7) А. Тауарлар және Клиенттер арасында қандай байланыс орнатылған және orders кестесі осы жағдайда қандай роль атқарады?
- •Операторлар
- •10) A. Sql анонимді блоктары және сақталған процедураларының айырмашылығы неде?
- •13) А. Қай қалада қанша клиент тіркелгенін көрсететін sql-скрипт жазыңыз.
- •14) А. Sql тілінде кез келген 3 агрегация функциясын көрсетіңіз?
- •16) А. Әртүрлі маркетинг кампанияларды өткізу үшін Клиенттерден жеке көлігі бар-жоғын (car_flg) және бар болса машина моделі (car_model) сұрауға шешім қабылданды.
1) A. SQL тілінің DML операторларын атаңыз.
Мәліметтермен күрделі әрекеттер тілі DML мәліметтер қорында мәліметтермен қүрделі әрекеттер орындауға қолданылады. Ол 4 негізгі бұйрықтардан тұрады:
SELECT (таңдау)
INSERT (енгізу)
UPDATE (жанарту)
DELETE (жою).
B. 3978 номерлі тапсырыс жеткізілді (DELIVERED). Осы әрекетке сәйкес келетін SQL скрипт жазыңыз. STATUS- тапсырыс статусын анықтайтын атрибут.
UPDATE ORDERS
set STATUS =’DELIVERED’
Where ORDER_ID=3978
C. Мәліметтерді каскадты түрде жаңарту деген не екендігіне түсініктеме беріңіз?
Мәліметтерді каскадты жаңарту дегеніміз – динамикалық түрде мәліметтерді жаңарту, онда басты кестеде өзгертілген мәліметке сәйкес оған байланысты басқа кестелермен жұмыс жасайды немесе жаңарту мен жетілдіру бар.
Байланысқан өрістерді каскадты жаңарту мен байланысқан жазбаларды каскадты өшіру. Тұтастықты қолдау механизмін қосқанда мәліметтерді жаңғыртып, жетілдіру үшін жүйе мынадай процестерді іске қосуын талап ете аласыз:
- байланысқан өрістерді каскадты жаңарту;
- байланысқан жазбаларды каскадты өшіру;
Каскадты жаңарту басты кестедегі байланысқан мәндердің өзгеруі (мысалы, клиенттің коды) бағыныңқы кестенің байланысқан жазбаларында автоматты түрде көрсетіледі. Мысалы, егер сіз Клиенттер кестесінде 90 клиент кодын 97 кодқа ауыстырсаңыз, онда 90 клиент коды Тапсырыстар кестенің барлық жазбаларында 97 боп өзгереді. Басқаша айтсақ, онда ол осы клиенттің барлық тапсы-рыстарында ауыстырылады.
Байланысқан жазбаларды каскадтық өшіру басты кестеден жазбаларды өшірген кезде (мысалы, 20 клиент коды бар жаз-бадан) бағыныңқы кестеден барлық жазбалар өшіріледі, олар-дағы байланысқан өрістердің мәні өшірілетін мәнмен (мәселен,
20 кодты клиенттер) тура келеді. Басқаша айтсақ, егер клиент-тердің сөздігінен қайсыбір клиентті алып тастаса, осы клиентгің барлық тапсырыстары өшіріледі.
Осылайша, кестелер арасындағы реляциялық байланыстарды құрудың мәні, бір жағынан, мәліметтерді қорғауда, екінші жағынан - бір кестені өзгерткенде бірнеше кестеге өзгеріс енгізуді автоматтандыруда.
2) A. ORDERS кестесінің мәліметтері е-бизнестің қандай 3 бағыты үшін қолдануы мүмкін?
1. 1 айда сатылған тауарлар санын шығару бағытында,
2. Жаңадан тіркелген клиенттер санын шығару бағытында,
3. Айлық табысты шығару бағытында қолданылады.
B. Аталған әр бағыт үшін SQL скрипт жазыңыз.
1)
Select count(QTY),PRODUCT_ID
from ORDERS
Where ship_date between ’01.12.2012’ and ’31.12.2012’
GROUP BY PRODUCT_ID
Мұнда Sales-сатылым-1 айда сатылған тауарлар саны
2)
Select count(CLIENT_ID)
From CLIENTS
Where date_open between ’14.12.2013’ and ’30.12.2013’
Мұнда Маркетинг-жаңадан тіркелген клиенттер саны
3)
Select sum(QTY*PRODUCT_PRICE)
From orders o,
products p
Where o.product_id=p.product_id and ship_date ’30.11.2013’ and ’30.12.2013’
Мұнда Бухгалтерия-айлық табысы
3) A. Осы мәліметтер негізінде сайттың және е-бизнестің тиімділігін бағалайтын 2 KPI ұсыныңыз.
KPI — бизнес қызметінің тиімділігін өлшеуге арналаған метрикалар.
KPI бизнестің қаншалықты нәтижелі, тиімді және сапалы екендігін көрсетуі қажет.
KPI дұрыс анықтап алу топ-менджерлерді стратегиялық жоспардың басты мақсатына жетуге септігін тигізетін факторларды анықтап, қажет болса стратегия жоспарына түзетулер енгізіп, жалпы жоспардың орындалуын бақылауға мүмкіндік беретін инструментарий.
KPI мүлдем көп болуы не оны өлшеу қиындығы бақылауды тиімсіз және әлсіз интсрументарийге айналдырады. Ал бұл стратегияның өз уақытында не мүлдем орындалмауына әкеп соғады.
1. Клиенттер саны б/ша көрсеткіш
2. Тауарлар саны б/ша көрсеткіш
B. Аталған әр көрсеткіш үшін cәйкес SQL скрипт жазыңыз.
2 KPI:
1 ) клиенттер саны:
Select count(CLIENT_ID)
from CLIENTS
2)тауарлар саны
Select PRODUCT_ID,count(QTY)
From ORDERS
Where ship_date between ’01.12.2012’ and ’31.12.2012’
GROUP BY PRODUCT_ID
(P.S 3 сұрақтың жауыбына 2 сұрақтың жауыбын жазып қойсы да болады.)
4) Сіз онлайн-дүкенінің мәліметтер қорын оңтайландыруға шешім қабылдадыңыз және тауарлар кестесіндегі жолдарды сақтау және веб-сайтта көрсетуді оңтайландыруға шешім қабылдадыңыз. Қазір бұрын сатылған, бірақ қазір сатылымда жоқ тауарлар бар.
A. Тауарлар кестесінен тауар аты NOKIA болатындай жолдарды жоятындай SQL-скрипт жазыңыз.
Delete
From Products
Where PRODUCT_NAME=’NOKIA’
Мұнда NOKIA болатындай барлық жолдарды жоймайды. Products кестесіндегі NOKIA жолын ғана жояды.Яғни Мәліметтер тұтастығы сақталынады.
B. Жоқ дұрыс емес,себебі Product_ID басқа card ,orders кестелерінде сақталған.Тек Product кестесінен тауарларды жою мәліметтер тұтастығын бұзады.
C. Ұсыныс:Product_Status деген атрибутқа тауар сатылымында бар ма,жоқ па көрсететіндей [Yes/No] сияқты статус сақтауға болады.Егер тауар сатылымында жоқ болса Product_Status =’No’ деп сақтауға болады.Сонымен тауар каталогын сайтта шығару кезінде Select*From Products Where Product_Status =’Yes’ скрипті арқылы тауар тізімін көрсетуге болады.Бұл тізім сатылымда бар тауарды ғана көрсетеді.
4, 5) A. Тауарлар кестесінен тауар аты nokia болатындай жолдарды жоятындай sql-скрипт жазыңыз.
Delete
From Products
Where PRODUCT_NAME=’NOKIA’
Мұнда nokia болатындай барлық жолдарды жоймайды. Products кестесіндегі nokia жолын ғана жояды.Яғни Мәліметтер тұтастығы сақталынады.
B. Жоқ дұрыс емес,себебі Product_ID басқа card ,orders кестелерінде сақталған.Тек Product кестесінен тауарларды жою мәліметтер тұтастығын бұзады.
Мұнда NOKIA болатындай барлық жолдарды жоймайды. Products кестесіндегі NOKIA жолын ғана жояды. Бұл әдіс арқылы белгіленген аймақта жоюға қажетті жолдарды ғана жойып және олардың басқа элементтерін өзгеріске ұшыратпай, қауіпсіз пайдалануға болады. Яғни Мәліметтер тұтастығы сақталынады.
C. Ұсыныс:Product_Status деген атрибутқа тауар сатылымында бар ма,жоқ па көрсететіндей [Yes/No] сияқты статус сақтауға болады.Егер тауар сатылымында жоқ болса Product_Status =’No’ деп сақтауға болады.Сонымен тауар каталогын сайтта шығару кезінде Select*From Products Where Product_Status =’Yes’ скрипті арқылы тауар тізімін көрсетуге болады.Бұл тізім сатылымда бар тауарды ғана көрсетеді.
Егер сайтта қазір уақытта жоқ тауарды көрсетпей, бірақ мәліметтер тұтастығын (дұрыстығын) қамтамасыз ету үшін қандай ұсыныс беріңіз?
Сайтта қазіргі уақытта жоқ тауарды көрсетпей, бірақ мәліметтер тұтастығын сақтау үшін байланысқан аймақтардың каскадты жаңартылуын және байланысқан жазбалардың каскадты өшірілу қызметін қолданған жөн. Өйткені, бұл режимдерді қосулы қалыпқа келтіріп қойған кезде, яғни, мысалы басты Тұтынушылар кестесіндегі Тұтынушылардың тіркелу нөмірін өзгертсе немесе жойып тастаса, сол Тұтынушылар атты басты кестеге тәуелді басқа барлық кестелерде тура осы іс-әрекеттер орындалады, ол дегеніміз – басты кестеге енгізілген өзгерістер, қалған тәуелді кестелерде дәл солай өзгеріп, жаңартылады.
Бұл екі режимнің пайдалылығы – олар деректерді енгізу жылдамдығын арттырады және барлық байланысқан жазбалардың бір уақытта жаңартылатынына сенімділік тудырады. Ол автоматты түрде құрылмайды, оны байланыстарды құру барысында құруға болады.
Мәліметтер тұтастығын қамтамасыз етуге (Enforce Referential Integrity) жалауша қойғасын, байланыстар (Relationships) диалогтық терезесінде қосымша жалаушалар кою мүмкіндігі ашылады. Одан кейін, байланысқан аймақтардың каскадты жаңартылуына (Cascade Update Related Fields) және байланысқан жазбалардың каскадты өшірілуіне (Cascade Delete Related Records) жалаушалар қоюыңызға болады.
6) А. Тауарлар және тауарлар категориясы түйіндерінің арасында қандай байланыс орнатылған? Тауар категориясында бірнеше тауар жатуы мүмкін. Яғни, бұл екі түйін арасында 1:м – байланысы бар.
Тауар дегеніміз теориялық тұрғыдан алғанда, қоғамда айырбастау, сатып алу-сату жолымен бөлінетін, құны бар еңбек өнімі. Біз күнделікті түрде тараудың бірнеше түрін қолданамыз.Яғни, тұтынамыз, сатып аламыз, сатамыз, жасап шығарамыз, жоямыз немесе тағы басқа әрекеттер жасаймыз.
Тауарлардың түрлері сан алуан болып келеді. Тауар дегеніміз еңбекпен жасалған қоғамдық бағалылықты иемденген және айырбасқа арналған заттар, немесе қызметтер. Заттар өзінен өзі тауар бола алмайды. Тауар болу үшін олар адамдар арасындағы айырбастың объектіне айналуға тиіс. Сондықтан тауар адамдар арасындағы еңбек өнімінің айырбасы арқылы білінетін қатынастарды көрсетеді. Тауармен алмасудың формалары сан алуан болуы мүмкін, бірак барлық жағдайда осы айырбастың әрекетінің нәтижесінде бір зат өтіп орнына екінші зат келуі қажет. Электоронды Дүкендерде тауар алмасы үрдісін жеңілдету мақсатында тауар категориялары қолданылады.
Тауарлар категориясы дегеніміз Тауарлар белгілі бір сәйкес ұқсастықтары бойынша бөліп, жіктеп, реттеу арқылы қажетті тауарды жылдам тауып алуға қолайлы жағдай туғызу. Сонымен қатар тауарларды бағасына байланысты категорияларға бөледі. Олар жоғары құнды, жоғары сапалы, орташа құнды және төмен сапалы заттар болуы мүмкін. Тауарлар Тауарлар категориясы құрамына кіреді.Осылайша тауарлар мен тауарлар категория байланысты болып келеді.
В. 2013 жылдың қараша айында ең көп сатылған тауар категориясын анықтайтын SQL-скрипт жазыңыз.
Select PRODUCT_ID,Q
from
(Select count(QTY) Q,PRODUCT_ID
From ORDERS
Where ship_date between ’01.11.2013’ and ’30.11.2013’
GROUP BY PRODUCT_ID) agr_orders
ORDER BY QTY DESC
(агрегатталған)
С. Тауарлар категориясын бөлек кестеге бөлудің қандай қажеттілігі бар?
Тауар категориясын нормализациялау процесінің көрінісі болып табылады. Бұл кейінректе мәліметтер қорын іздеуді оңтайландырады және 3 жаңа категориялар пайда болғанда кестелерді модернизациялау оңайға түседі.
Тауарлар категориясы дегеніміз Тауарлар белгілі бір сәйкес ұқсастықтары бойынша бөліп, жіктеп, реттеу арқылы қажетті тауарды жылдам тауып алуға қолайлы жағдай туғызу. Кез келген тауар белгілі бір категорияға жатады. Тауар категориясын бөлек кестеге бөлу клиентке әрекет санын азайту үшін қажет. Ол өз кезегінде уақыт үнемділігіне алып келеді. Сонымен қатар клиент Дүкеннен керекті тауарды іздеу кезінде тауарлар категориясы бойынша қарау, категорияларға бөленбеген тауарлардан іздегенге қарағанда әлдеқайда жеңіл болып табылады. Сол себепті де тауарлар категориясын бөлек кестеге бөлу өте қажет.