Mavzu: SQL haqida
1. BLACK_LION(M) (4793) [off] | TXT | 20| 1 Oct 2017, 04:29
SQL tili va tarkibi!
1. SQL тилининг вазифалари
2. Интерактив ва қурилган SQL
3. SQL маълумот тоифалари
4. SQL тилининг SELECT (танлаш) оператори ва унинг параметрлари
Маълумотлар билан ишлаш учун мўлжалланган МББТички тили икки қисмдан ташкил топган:
Маълумотлар аниқлаш тили (DATA DEFINITION LANGUAGE) ва маълумотлар билан манипуляция қилиш тили (DATA MANIPULATION LANGUAGE)
DDL тили маълумотлар база схемасини аниқлаш учун ишлатилади.
DML тили базада сақланаётган маълумотларни ўқиш ва тиклаш учун ишлатилади.
Бу тиллар маълумотларни қисм тиллари юқори даражали дастурлаш тиллари дейилади, чунки уларни таркибида барча хисобларни бажариш учун зарур бўлганда бўладиган тил кострукциялари бўлмайди (шартли ўтиш амаллари, ёки цикл оператори)
Маълумот базаси ишлайдиган ихтиёрий тил фойдаланувчига қуйидаги имкониятларни бериши керак:
- Маълумот базаси ва жадвалларни тузилиши ва тафсифини ярата олиш
-маълумотлар билан манипуляция қилишни асосий амалларини жумладан жадвалга маълумотларни киритиш,( қўшиш),уларни такомиллаштириш, жадвалдан маълумотларни ташлаш
-оддий ва мураккаб сўровларни бажариш
SQL ТИЛИНИНГ ВАЗИФАСИ
Маълумотлар базаси билан ишлаш тиллари кўрсатилган масалаларни фойдаланувчи ким куч сарф қилиб ечиши имкониятини бериши керак. Тилнинг командаларини тузилиши ва синтаксиси етарли даражада содда ваўрганишга осон бўлиши керак. Бундан ташқари у универсал
бўлиши керак. Яъни қандайдир стандарт талабларига жавоб бериши керак. Бу эса уни команда структурасини ва синтаксисини (ёзилишини) бир қанча МББТишлатишини имконини беради.
Бу талабларни барчасига SQL жавоб беради.
SQL-(STRUСTURE QUERY LANGUAGE)
(СТРУКТУРАЛАШГАН СЎРОВЛАР ТИЛИ)
SQL маълумотларни алмаштириш тили бўлиб хисобланади, яъни у жадваллар билан ишлаш мўлжалланган бўлиб, кирувчи маълумотлар талаб этилган чиқувчи кўринишга эга холга айлантириб беради.
SQL тили иккита асосий компонентга эга:
-DDL тили (DATA DEFINITION LANGUAGE маълумотлар аниқлаш тили) бу маълумотлар баъзи структурасини аниқлаш ва маълумотларга мурожаатни бошқариш учун мўлжалланган.
DML тили (DATA MANIPULATION LANGUAGE) маълумотларни манипуляциялаш тили. Маълумотларни ажратиш ва тиклаш учун мўлжалланган. SQL тили ўрганишга сода.
-бу тил нопроцедура тили ,шунинг учун унга қандай ахборот олиши кераклиги кўрсатилади, лекин ахборотни қандай олиш эмас. Бошқача айтганда SQL тили маълумотларга мурожаат усулини кўрсатишни талаб этмайди.
SQL тили операторларни эркин форматда ёзишини таъминлайди. Бунинг маъноси, операторлар элементларини ёзилиши экрандан фиксирланган жойларга боғлиқ эмас.
Команда структураси бир қанча калит хизматчи сўзлар билан берилади, масалан:
CREATE TABLE (создать таблици- жадвал яратиш)
INSERT (вставка-қўйиш)
SELECT (выбрать-ажратиб олиш)
SQL оператори хизматчи сўзлар ва фойдаланувчи қўллайдиган сўзлардан ташкил топади.
Хизматчи сўзлар SQL тили доимий қисми бўлиб, улар аниқ қийматга эга. Уларни стандартда кўрсатилгандай ёзиш керак ва уларни бир сатрдан иккинчисига кўчириш учун бўлинмайди. Фойдаланувчи томонидан аниқланган сўзлар, фойдаланувчи томонидан маълум синтаксис қоидалари асосида берилади. Улар ўз навбатида маълумот база объективларини хар хил номлари иборат бўлади (жадвал, устун, тасвирлар, индекслар ва х.к.). оператордан сўзлар ўрнатилган синтаксис қоидаларига мослаб жойлаштирилади. Тил стандартида бу кўрсатилмаган бўлса хам, SQL тилининг диалектларида (кўринишида)матн тугалланганини билдирувчи белги, кўпгина холларда нуқтали вергул(;) ишлатилади.
SQL оператор компоненталарини кўпчилиги реестрга боғлиқ эмас, яъни ихтиёрий хар қандай катта ва кичик харфлар ишлатиши мумкин.
Буларда битта истисно бор. Бу истисно символли литералларга тегишли. Улардалитера маълумотлар, уларга мос бўлган маълумотлдар базасидаги қийматлар қандай сақланса шундай ёзилиши керак. Масалан:агар маълумотлар базасида фамилиянинг қиймати «SWITH»кўринишида бўлса, қидириш шартида «SWITH» символ литерал кўринишида берилса, бунга тегишли ёзув хеч качон топилмайди.
SQL тили эркин форматга эга бўлгани учун, SQL алохида операторлари вауларнинг кетма-кетлиги, алохида ажратиб ёзганда ва текислаб ёзиш ишлатиш мумкин. Қуйидаги қоидаларга бўйсуниш талаб этилади:
-оператордаги хар бир конструкция янги сатрдан бошланиши керак
-хар бир конструкция бошланишида ташлаб кетладиган бўш позициялар, бошқа оператор конструкциялари бўлиши керак
-агар конструкция бир неча қисмдан иборат бўлса, уларнинг хар бири қисм янги сатрлар бўш ўринлар олдинги конструкцияга нисбатан силинситиб ёзилади.
Амалиётда маълумот базаси тузилишини (асосан уни жадвалларини) аниқлаш учун DDL операторлари ишлатади, бу жадвалларни маълумотлар билан тўлдириш учун ва улардан ахборотларни сўровлар ёрдамида ажратиб олиш учун -DML операторлари ишлатилади.
Маълумотлар билан манипуляциялаш SQL тилини DML ператорларини кўллаймиз.
Интерактив ва қурилган SQL
Ijobiy (2): Prince_Abdul, Ashurov,
Raxmat aytdi (1): Prince_Abdul,
2. BLACK_LION(M) (4793) [off] | TXT | 20| 1 Oct 2017, 04:30
Давоми...
SQL тилини иккита шаклида мавжуд ва ишлатилади.

-интерактив SQL

- қурилган (киритилган) SQL

Интерактив SQLда фойдаланувчи SQL- сўровлар ва натижа интерактив режимда олинади.

Қурилган SQL, SQLкомандаларидан ташкил топиб, у бошқа бирорта тилга (С++С, Delphi) ёзилган дастур ичига жойлаштирилади. Бу шундай тилларни ишлатадиган дастурларни самарадор, қувватли қилади. Улар реляцион маълумотлар базаси билан ишлаш имконини беради.

SQL маълумот тоифалари

Символлар сатр маълумот тоифаси SQL стандартида матнларни фақат битта тавсифи келтирилади. Унинг синтаксиси

CHARACTER[(УЗУНЛИГИ)] ЁКИ

CHAR[(УЗУНЛИГИ)]

Жадвални матнли қийматли CHAR тоифасидаги фикрлангшан узунликда бўлиши мумкин. Бу параметр қиймати 1 - 255 бўлиши мумкин, яъни у 255 символгача бўлиши мумкин. SQL тилини баъзи бирлардагина ўзгарувчан узунликдаги сатр тоифалари бор. Бу тоифалар қуйидагича тавсифланади:

VARCHAR(),CHARVARYING ЁКИ CHARVARYING()

Ихтиёрий узунликдаги матнли тасвирни тасвирлайди.

CHARACTER ва VARCHAR тоифасидаги константалар апостроф ичига ёзилади.

Қуйидагиёзувларни барчаси эквивалент VARCHAR [(УЗУНЛИГИ)], CHARVARYING [(УЗУНЛИГИ)] CHARACTERVARYING[(УЗУНЛИГИ)]

Агар узунлик ошкор кўрсатилмаса, у бирга тенг деб қабул қилинади, яъни барча холларда бита символдан иборат бўлади.

Сонли маълумот тоифалари SQL стандартида қуйидаги сон тоифасида ишлатилади.

INTEGER-бутун сонлар учун -2-31….231

SMOLLINT-бутун сонлар 2-15…215

DECIMAL (аниқлик[масштаб]) -Фиксирланган нуқтали унли сон аниқлик сондаги қийматли рақамлар масштаб унли нуқтадан ундаги рақамларнинг максимал сони курсатади

NUMERIC(аниқлик[масштаб])- Фиксирланган нуқтали унли сон. аниқлик сондаги қийматли рақамлар масштаб унли нуқтадан ундаги рақамларнинг максимал сони курсатади

FLOAT[(аниклик)]сузувчи нуктали сон минимал аниклик билан

[i]

REAL сон FLOAT тоиасидаги сон аниклиги сукут билан

DOUBLE PRECISION сон REAL каби аниклиги икки





SELECT (танлаш) SQL тилининг энг мухим ва куп ишлатиладиган оператори хисобланади. У маълумотлар базаси жадвалидан ахборотларни танлаб олиш учун мулжалланган.

SELECT оператори сода холда куйидаги куринишда ёзилади.



SELECT [DISTINCT] <атрибутлар руйхати>

FROM <жадваллар руйхати>

[WHERE <танлаш шарти>]

[ORDER BY < атрибутлар руйхати >]

[GROUP BY < атрибутлар руйхати >]

[HAVING <шарт> ]

[UNION <ОМ SELECT операторли ифода> ] ;

Бу ерда квадрат кавсларда ёзилган элементлар хар доим хам ёзилиши шарт эмас

SELECT хизматчи сузи маълумот базасидан ахборотни танлаб олиш оператори ёзилганини англатади. SELECT сузидан кейин бир биридан вергул билан ажратилиб суралаетган майдон номлари (атрибутлар руйхати) ёзилади. SELECT суров операторини зарур хизматчи сузи FROM (ундан, дан) хисобланади. FROM сузидан кейин ахборот олинаётган жадвал номлари бир биридан вергул билан ажратилиб ёзилади.

Масалан:

SELECT NAME, SURNAME

FROM STUDENT ;

Ихтиёрий SQL суров оператори нукта вергул (;) символи билан тугайди.

Келтирилган суров STUDENT жадвалидан NAME ва SURNAME майдонларни барча кийматларини ажратиб олишни амалга оширади. Натижада куйидаги жадвал хосил булади.





SQL тилида жадвалга маълумотлар киритиш учун, улар ўзгартириш ва олиб ташлаш учун маълумотлар билан манипуляция қилиш (DML) тилининг учта командаси мўлжалланган. Булар INSERT (қўшиш), UPDATE (тиклаш янгилаш), DELETE(олиб ташлаш, йўқотиш) командаларидир.

INSERT командаси (буйруқи) жадвалга янги сатрқўшишни амалга оширади. Содда ҳолда унингкўрининши қуйидагича:

Insert into <жадвал номи> values (<қиймат>,<қиймат>,);

Бундай ёзувда VALUES калит сўзидан кейин қавс ичида кўрсатилган қийматлар жадвалдаги янги қўшилган сатрнинг майдонларига киритилади. Киритиш жадвалини CREATE TABLE оператори билан яратилиш пайтидаги устунларни кўрсатиш тартибида амалга оширилади. Масалан, STUDENT жадвалида янги сатрни қўшиш қуйидагича амалга ошириш мумкин.

Insert to Student

Values (101, ‘Иванов’, ‘Александр’, 200,3, ‘Москва’, ‘6/10/1979’ , 15);

Агар бирорта майдонга NULL қиймати қўшиш зарур бўлса у оддий қиймат каби киритилади.
Ijobiy (1): Prince_Abdul,
Raxmat aytdi (1): Prince_Abdul,
3. MR_BaxtiyoR (93) [off] | TXT | 18| 16 Jul 2018, 00:02
Qolgan buyruqlar haqidaham batafsil yozing
Alter, Drop....
Ma'lumotlar
Mavzu id raqami: 1907
Mavzuga oid xabarlar soni: 3 ta
So'ngi faollik vaqti: 16 Jul 2018, 00:02
Mavzuni ko'rishgan: 20 kishi
» txt shaklida yuklab olish
» Mavzudagi yangi xabarlardan xabardor bo'lishni rad etish