АКЦИЯ: жаңадан қосылған клиенттерге 10 % жеңілдік

 

С. Осы 2 акцияларға сәйкес келетін SQL-скрипт жазыңыз.

1 акция:

Select PRODUCT_PRICE*0.9, CLIENT_ID

FROM PRODUCTS P,

CLIENTS C,

ORDERS O

WHERE p. product_id =o. product_id and c.client_id=o.client_id and city=’ASTANA’

 

2 АКЦИЯ:

Select PRODUCT_PRICE*0.9,CLIENT_ID

FROM PRODUCTS P,

CLIENTS C,

ORDERS O

WHERE p. product_id =o. product_id and c.client_id=o.client_id and birth_date=sysdate

 

3 АКЦИЯ:

Select PRODUCT_PRICE*0.9,CLIENT_ID

FROM PRODUCTS P,

CLIENTS C,

ORDERS O

WHERE p. product_id =o. product_id and c.client_id=o.client_id and date_open between ’01.12.2013’ and ’31.12.2013’

 


 

18) Visual Studio ортасындағы ASP.Net технологиясында Command объектісінің ExecuteNonQuery және ExecuteReader әдістерінің (методтарының) айырмашылығын сипаттаңыз:

ExecuteReader сәйкес SELECT E ExecuteNonQuery сәйкес UNSERT, UPDATE, DELETE, CREATE, ALTER

Command объектісі - Select сұранымдары мәліметтер жиыны қайтарған себебі үшін түрде dataset datatable объектілермен жүзеге асады

 

A.Осы әдістерінің әрқайсысына сәйкес SQL тіліндегі DML және DDL операторларын тізімін жазыңыз?

DML-INSERT,DELETE

DDL-CREATE TABLE,ALTER TABLE

ExecuteNonQuery әдісі деректерді қайтармайтын сұраныстарды орындау үшін қолданылады. Яғни, SQL тілінің DML катериясына жататын UPDATE, INSERT и DELETE сұраныстары – ДҚ кестесіне өзгерістер енгізеді, бірақ орындалу барысының соңында ештеңе қайтармайды.

Сонымен қатар, ExecuteNonQuery әдісі SQL тілінің DDL категориясына жататын сұраныстарды орындауға да қолданылады.

Деректерді анықтау тілі (Data Definition Language, DDL) ДҚ обьектілерінің құрылымын құруға және өзгертуге мүмкіндік береді, мысалы, кестелерді құру немесе өзгерту. Бұл тілдің негізгі операторлары – CREATE, ALTER, DROP. DDL сұраныстарын орындаған кезде деректер қайтарылмайды, дәл осы себепті ExecuteNonQuery әдісін пайдалануға болады.

 

B. Осы әдістерінің қайсысы DataSet және DataReader объектілерін пайдаланады?

ExecuteReader әдісі DataReader және DataSet обьектілерін пайдаланады. Оны толығырақ сипаттайық.

DataReader обьектісі

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

DataSet обьектісі

Аты айтып тұрғандай, DataSet обьектісі деректер жиынтығын қамтиды. Оны DataTable обьектісінің контейнері ретінде қарастыруға болады.

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

 

C. DataSet және DataReader объектілері онлайн-дүкенінің қай бизнес-процесттері үшін қолданылады?

Алдымен, өндіру процесстерін сипаттайық:

1. Жеткізушілермен байланыс

2. Тапсырысты қалыптастыру

3. Тауарды сатып алу және оны қоймаға жіберу

4. Тауарды қоймада сақтау

5. Тұтынушылармен байланыс

6. Тапсырыстың түсуі

7. Тапсырысты орындау

8. Бухгалтерлік есеп

9. Жалпы басқару

10. Техникалық қамтамасыздандыру.

Оның ішінде техникалық қамтамасыздандыру процесінің 3 түрлі бизнес-процесі болады. олар:

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

DataSet және DataReader объектілері:

онлайн-дукеннің веб-сайтының оптимизациясы және жүзеге асырылуы

онлайн-дукеннің функционалды мүмкіндіктерінің ұлғаюы

деген 2 бизнес-процесттері үшін пайдаланылады.


 

19) Visual Studio ортасындағы ASP.Net технологиясында DataSet ж/е DataReader объектілерінің айырмашылығын сипаттаңыз

DataSet класын қолдану.Сіз жасаған веп сервис сұранысқа жіберілген мәліметті қолданатын болса, онда DataSet класы қолданылады. Себебі DataReader класы МҚ байланыс жасайды, осыған байланысты мәліметтер XML де өзгертіле алмайды және веб – сервис арқылы сұранысқа жіберілмейді.онымен қоса, егер сізге мәліметтерді бірнеше рет сорттау немесе фильтрациялау қажет болса DataSet класы пайдаланылады.

DataReader класын қолдану мысалы:

Егер сіз сұранысқа жіберетін мәлімет әрқашан актуалды түрде болып, қажет болған кезде МҚ жылдам шақырылатын болғанын қаласыңыз, онда сіз DataReader класын қолданғаныңыз дұрыс болады. DataReader класы DataSet класына қарағанда өнімді болып келеді.

DataSet ASP.NET веб – приложенияларында аса маңызды роль атқарады.Сіз кэштау механизмін қолдана отырып, DataSet класының ресурстарының тұтыну мәселелерін азайта аласыз. ASP.NET веп приложенияларын ойдағыдай орындау үшін қарастаралып отырған екі кластың екеуі де аса қажет. Тек олардың қайсысын қай кезде қолдануын білу керек.

DataSet класы DataReader класына қарағанда мүмкіндіктері көбірек. Бірақ бұл DataSet класы көбірек қолданылады деген сөз емес. ASP.NET приложенияларындағы мәселелердің көбін тек DataReader класы шеше алады.

 

A. Осы объектілердің қайсысы онлайн-дүкеннің бизнес-архитектурасының масштабтылығын қамтамасыз етеді?

Осы объектілердің ішінде онлайн-дүкеннің бизнес-архитектурасының масштабтылығын қамтамасыз ететіні DataSet класы болып табылады.Шын мәнінде мүмкіншіліктердің көбі DataSet класы арқылы жақсы іске асырылады. Онлайн-дүкеннің мәліметтер қоры бір серверлік элементтер басқаруымен байланысты болғандықтан DataSet класын қолданған жөн.

 

B. Осы объектілердің қайсысы тауар каталогын көрсету үшін қолданылады?

Егер сізге тауар каталогын көру қажет болса, онда сізге DataReader класын қолданған дұрыс болады. DataReader класының DataGrid немесе DropDownList веп басқару элементтерін қолдану арқылы кез келген жолға сұраныс жібере аласыз..

 

C. Web-парақшада батырманы басқанда PRODUCTS кестесіндегі тауарларды көрсететін С# тілінде және SQL-скрипт жазыңыз.

protected void Button1_Click1(object sender, EventArgs e)

{

OleDbConnection acon = new

OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;

Data Source=C:\\OnlineStore.mdb");

Acon.open;

string strSql = "SELECT * FROM PRODUCTS";

OleDbCommand acom = new OleDbCommand(strSql, acon);

OleDbDataAdapter asda = new OleDbDataAdapter(acom);

DataSet ds = new DataSet();

asda.Fill(ds," PRODUCTS”);

ProductGrid.DataSource = ds.Tables[“PRODUCTS"].DefaultView;

Acon.close;

}

 


 

20) А. Осы кестелерде негізгі және қосалқы кілттерді атаңыз.

2 кестені байланыстыру үшін 3 кесте қажет, яғни ол оларды байланыстыру үшін, және сол кестедегі кілт негізгі болып табылады, id арқылы берілген. Және осы айдымен байланысқан кілттер қосалқ кілт болып табылады.

А. Product кестесінде PRODUCT _ ID → PRIMERY key (негізгі кілт)

PRODUCT _ CATEGORY (қосалқы кілт)

CLIENTS – та CLIENT _ ID – (Pr. Key )

ORDERS, CART кестесінде CART _ID – (Pr.Key)

CLIENT _ ID қосалқы кілт

PRODUCT _ID

Негізгі кілт (PRIMERY KEY) - мәндері кесте жазбаларының ерекшеліктерін қамтамасыз ететін бір немесе бірнеше жиек. Кестенің кілтіне қойылатын негізгі талап бір кестеде бірдей жазбалардың болмауын қадағалау. Кесте кілтінің құрамындағы ешбір жиек NULL мәнін қабылдауы мҥмкін емес; негізгі кілт кестенің категориялық біртұтастығын (integrity) қамтамасыз етеді.Сыртқы кілт (FOREIGN KEY) - байланыстағы аналық (parent) кестенің негізгі немесе ерекше кілтіне сілтеме жасайтын бағыныңқы (child) кестенің бір немесе бірнеше жиегі.Сыртқы кілттің мәні солайымен бос (сыртқы кілттің құрамындағы барлық жиек NULLмәніне ие) немесе кілт бойынша байланыстағы аналық кестеде негізгі (ерекше) кілттің сәйкес мәні бар болу керек.

В. Реляциялық мәліметтер қорында кілттер ролін анықтаңыз.

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

 

С. 2013 жылдың ақпан айында ең көп тапсырыс жасаған Клиентті анықтайтын SQL-скрипт жазыңыз

Select

From

(Select sum(QTY) Q,CLIENT_NAME

FROM CLIENTS C,

ORDERS O

WHERE c.client_id=o.client_id and ship_date between ’01.02.2013’ and ’28.02.2013’)

ORDER BY Q

 

Немесе

SELECT CLIENT _ ID, QTY

FROM SELECT b CLENT _ID, SUM (a QTY).QTY

FROM AROUSA, CLIENTS b.

WHERE a.CLIENTS_ID= b.CLIENTS_ID

AND a.SHIP_DATE BETWEEN ‘01.11.2013’ AND ‘30.11.2013’.

GROUP BY b.CLIENT _ID AGR_TABLE

ORDER BY QTY DESC.