Мәліметтер типі
MySql ортасында қолданылатын барлық мәліметтер типі сипатталған.
Сандық мәліметтер типі
MySQL ANSI/ISO стндарты бойынша SQL92 тілінің барлық сандық мәліметтер типін қамтиды. Оларда нақты сандық мәліметтер типтері (NUMERIC, DECIMAL, INTEGER и SMALLINT) және жақын сандық мәліметтер типтері(FLOAT, REAL и DOUBLE PRECISION) бар. INT кілттік сөзі INTEGER үшін синоним, ал DEC кілттік сөзі DECIMAL синонимі.
NUMERIC және DECIMAL мәліметтер типі MySQL биреу болып жаслынған. Олар жоғары дәлдікті сақтайтын өлшемдер үшін қолднылады, мысалы ақша мәліметтері. Мәліметтердің керек дәлдігі және масштабы осы типтердің бір мәліметтер бағанын көрсеткен кезде беруге болады (әдетте беріледі), мыслы:
salary DECIMAL(5,2)
Бұл мысалда – 5 (дәлдік) берілген өлшем сақталатын ондық белгілердің жалпы санын көрсетеді, ал 2 (масштаб) саны үтірден кейінгі ондық белгі санын береді. Сәйкесінше бұл жағдайда salary бағанында сақталатын өлшем интервалы -99,99 бен 99,99 аралығыныда (шын мәнінде MySQL бағаны мәліметтері үшін 999,99 сақтау мүмкін, өйткені оң сандар үшін белгі сақтап керек емес).
DECIMAL және NUMERIC тип өлшемдері жол ретінде сақталады. Сонымен қтар сақталатын өлшем әрбір разряды үшін бір символдық жол қолданылады, ондық белгі үшін (егер масштаб > 0) және '-' белгісі үшін (теріс сандар үшін). Егер масштаб параметрі нольге тең болса, онда DECIMAL және NUMERIC өлшемдерінде ондық белгі және бөлшек бөлік болмайды.
DECIMAL және NUMERIC максималды интервалы DOUBLE үшін сияқты қалады, бірақ нағыз интервал DECIMAL немесе NUMERIC мәліметтер типі үшін нақтылық параметрі немесе масштаб таңдауда шектелуі мүмкін. Егер нақты бағанға ондық белгіден кейін көп разряд саны бар мән берілсе, онда берілген мән масштабпен рұсат етілген мәнге дейін домалақталынады. Егер DECIMAL немесе NUMERIC типті бағандарға интервал шегінен шығатын мән берілсе, онда MySQL берілген өлшемді берілген интервал шектік нүктесіне сәйкес мәнде сақтайды.
Тапсырма
Learn МҚ құрыңыз. Мәліметтер типін дұрыс таңдап Learn МҚ-нда Selespeople, Orders және Customers кестелерін құрыңыз. Оларды Мәліметпен толтырыңыз.
Тапсырыс беруші кестесінің қандай өрісі біріншілік кілт болып табылады?
Тапсырыс беруші кестесінің төртінші бағаны не болады?
Жолақша және баған басқаша қалай аталады?
Кестенің бірінші бес жолын көру үшін неліктен сұраныс жасау міндет емес?
Жасалған жұмыс бойынша отчет дайындау. Отчет құрамы:
№3 Практикалық жұмыс
Тақырыбы: «Кестеден ақпаратты алу үшін реляционды операторларды қоданып SQL-сұраныстарды жасау».
Жұмыс мақсаты: екінші лабораториялық жұмысқа дайын тұрған мәліметтер қорын , булевой және реляциялық операторларды кестелерге мәлімет іріктеуге қатысты сұрау салу.
1. SQL кіріспе
Structured Query Language реляциялық ДҚБЖдардың мәлiметтерiнiң басқаруы үшiн қолданылатын процедуралық емес тiл болады.
„процедура емес„ термин осы тiлде мәлiметтерді жасауы керектігін сипаттауға болатынын білдіреді, бiрақ қалай тап солой жасауға нұсқау беруге болмайды. Басқа сөзбен айтқанда, тiл бұл алгоритм конструкцияларын болмайды, шартты өту, сондай таңбалар циклда, операторлар болмайды..
IBM жобасын зерттеу нәтижесінде SQL тiлі 70-шi жылдары реляциялық мәлiметтердiң манипуляцияның тiлiнiң жасауы болатын. Ол бастапқы (Structured English Query Language ) SEQUEL деп аталды, содан соң - SEQUEL/2, содан соң - жай ғана SQL. SQL ресми түрде стандарты (American National Standards Institute - стандартизацияның Ұлттық институты, АҚШ) ANSIда 1986 жылы жариялаған. Осы стандарт 1989 және 1992 жылдары кеңiтілген сондықтан SQLның соңғы стандарты SQL92дiң атауын таныс. Қазіргі кезде объективтiк – орентиралық кеңейтілуі бар, SQL3 тіліне жұмыстар жүргізіліп жатыр. кейбiр -хабар кеңейту болатын стандартының үстiнде жұмысты дәл қазiр апарады.
ANSIдің стандарты үш деңгейі бар: бастапқы, аралық және толық. Серверлiк ДҚБЖдардың көп өндiрушiлерi, IBM, Informix, Microsoft, Oracle және Sybase, өздерін реализациялық тіжірибелерін қолданып, берілген ДҚБЖ үшін ANSI стандартын негіздеп және кейбiр кеңейтілулер негiзделген меншiктi iске асырулары ерекше қолданады.
SQL қалай жұмыс істейді
SQL қалай жұмыс iстейтiнiн қарап шығайық. ДҚБЖ көмегiмен қандай болмасын басқарылатын деректер қорында болатынын болжаймыз. Олардың iшiнен мәлiметтердiң шығарулары үшiн SQL тiлде сипатталған сұрау салуды қолданылады. ДҚБЖ бұл сұрау салуды қарастырады, сұралатын мәлiметтер алады және оларды қайтарады. Бұл процесс схемалық 1-шi сурет көрсетiлген.
Сур 1.
SQL мәлiметтер алу ғана емес, мәлiметтер құрылымын анықтауға, мәлiметтерді толықсытып алып тастауға , мәлiметтерге қол жеткiзудi шек қойып немесе iлiгiлсiп, сiлтеме бүтiндiктi қолдау да мүмкiндiк бередi.
SQL өздігінен ДҚБЖ да бола алмайды, жеке өнiм де бола алмайды. Бұл оның ажырамас бөлiгiмен нақтылы мағына болатын ДҚБЖбен өзара әрекеттесу үшiн қолданылатын тiл.
SQL операторлары
SQL әр түрлi әсерлердiДҚБЖда орындауы үшiн шамамен 40 операторлар болады. Бұл операторлардың дәрежелерiнiң қысқаша сипаттамасын төменде тура келтірілген.
Data Definition Language (DDL)
Data Definition Language құрылуға мүмкiндiк беретiн операторларда болады, өзгерту және деректер қоры және объекттер (кесте, ұсыныс) операторларын құрайды.
Кесте 1
Оператор
|
Сипаттама
|
CREATE TABLE
|
Мәліметтер базасына жаңа кесте қосу үшін қолданады.
|
DROP TABLE
|
Мәліметтер базасынан кестені өшіру үшін қолданады.
|
ALTER TABLE
|
Кестенің берілген структурасын өзгерту үшін қолданады.
|
CREATE VIEW
|
Мәліметтер базасы туралы жаңа көрініс қосу үшін қолданады.
|
DROP VIEW
|
Мәліметтер базасын жою үшін қолданады.
|
CREATE INDEX
|
Берілген жазыққа жаңа индекс құру үшін қолданады.
|
DROP INDEX
|
Берілген индексті жою үшін қолданады.
|
Data Manipulation Language (DML)
Data Manipulation Language таңдауға болатын, қосуға , жоюға және мәліметтерді модифициалау оператоы құрайды. DML операторлары 2 кестеде көрсетілген.
Кесте 2
Оператор
|
Сипаттама
|
SELECT
|
Мәлiметтердiң таңдауы үшiн қолданылады
|
INSERT
|
Кестеге жолдардың қосу үшiн қолданылады
|
DELETE
|
Кестеден жолдардың алып тастау үшiн қолданылады
|
UPDATE
|
Мәлiметтердi өзгерту үшiн қолданылады
|
SELECT оператор кейде жеке дәрежелер жатқызады Data деп аталатын(DQL ) Query Language.
Transaction Control Language (TCL)
Transaction Control Language операторлар DMLның операторларының топ iстелiнген өзгерiстердiң басқаруы үшiн қолданылады. TCL операторлар кестеге 3 көрсетілген.
Кесте 3
Оператор
|
Сипаттама
|
COMMIT
|
Деректер қорына транзакцияның аяқтауы және өзгерiстердiң сақтауы үшiн қолданылады
|
ROLLBACK
|
Деректер қорына транзакцияның шегiнуi және өзгерiстердiң жоюы үшiн қолданылады
|
SET TRANSACTION
|
Ағымдағы транзакциядағы мәлiметке қол жеткiзудiң параметрлерiнiң қоюы үшiн қолданылады
|
Data Control Language (DCL)
Data Control Language (DCL) ның операторларының істелінген өзгерістерінің басқаруы үшін қолданады. DCL операторлар кестеге 4 көрсетілген.
Кесте 4
Оператор
|
Сипаттама
|
GRANT
|
Артықшылықтың иемденуi үшiн қолданылады
|
REVOKE
|
Артықшылықтың жоюы үшiн қолданылады
|
Cursor Control Language (CCL)
Cursor Control Language операторлар тінтуірді анықтау үшiн қолданылады және SQLды операторлар , ұсыныстарды орындау үшін дайындау керек. CCL операторлар кестеге 5 көрсетілген.
Кесте 5
Оператор
|
Сипаттама
|
DECLARE CURSOR
|
Сұрау салу үшiн мегзегiштiң анықтауы үшiн қолданылады
|
EXPLAIN
|
Сұрау салуды жоспардың сипаттамасы үшiн қолданылады. Бұл оператор Microsoft SQL Server үшiн SQLның кеңейтуi болады7.0. Ол басқа ДҚБЖдарда орындалуға мiндеттi емес. Мысалы, Oracleның жағдайында EXPLAIN PLANнiң операторы қолдану керек
|
OPEN CURSOR
|
Сұрау салудың нәтижелерi мегзегiштiң ашуы үшiн алу
кезiнде қолданылады
|
FETCH
|
Сұрау салудың нәтижелерiнен жолдың алуы үшiн қолданылады
|
CLOSE CURSOR
|
Мегзегiштiң жабуы үшiн қолданылады
|
PREPARE
|
Орындау үшiн SQLның операторының әзiрлеуi үшiн қолданылады
|
EXECUTE
|
SQLның операторының орындауы үшiн қолданылады
|
DESCRIBE
|
Дайын тұрған сұрау салуды сипаттау үшiн қолданылады
|
Барлық SQL операторларының түрлері 2-ші суретте берілген.
2- сур
SQLның әрбiр операторы кілттік сөзден тұратын етістіктерден басталады SELECT, DELETE.., DELETE… Операторда мәлiметтердiң үстiнде операциялар өндiрiп алатын туралы анықталатын болатын ұсыныстар болады. Әрбiр ұсыныс кілттік сөзден басталады, мысалы FROM, WHERE оның түрi - ұсыныстардың қатары кестелер немесе өрiстердiң аттарында болады, кейбiр қосымша кілттік сөздерден бола алады, тұрақты немесе өрнектен тәуелді болады..
SQL операторларын қалай орындауға болады
SQL ұсынысын аяқтауға мүмкіндік беретін, барлық қазiргi серверлiк ДҚБЖдар өз құрамында утилиттар болады. Клиент Oracleлардың бiр бөлiгi жеке алғанда SQL Plusтың утилитарын өз құрамында болады, MySQL - phpmyAdminнiң утилитасы. Бiз тап сол утилитасымен демонстрация үшiн пайдаланамыз
2. Мәлiметтердiң таңдауы
Мәлiметтердiң таңдауы SQLлар арқылы атқарылатын жиi кездесетiн операция болады. SELECT оператор - бұл тiлдiң өзi маңызды операторларының мәлiметтердiң таңдауы үшiн қолданылады.
Сұрау салуды жасау
Сұрау салу - ол кестелерден жадқа нақтылы мәлiметтi шығару үшiн оған хабарлайтын деректер қорын сiздiң бағдарламаңызға берген команда. Бұл мәлiметтерi сiз компьютер немесе терминал тiкелей жiберуді пайдаланасыз, бiр жағыңыздан, жағдайлардың көпшiлiгiнде, сонымен бiрге ол принтерге жiберуге, файлда сақтауға, команда немесе процесс енгiзу мәлiметiн басқалар үшiн көрсетуге болады.
Сұрау салулар DML тiлдiң бiр бөлiктерi сияқты қаралады. Сұрау кестелердегi мәлiметтi өзгертпейді. SQLға барлық сұрау салулар жеке командалардан тұрады. Бұл команданың құрылымы алдағыш оңай, өйткенi сiз жоғары күрделi бағалар және деректердi өңдеудi орындағандай етiп оны кеңейтуiңiз керек. Бұл SELECT (таңдау ) командалары деп аталады .
SELECT командасы
Қарапайым SELECT командасы кестеден мәлiметiн алу үшiн деректер қорына жай ғана нұсқау бередi. Мысалы, сiз дүкеншiлердiң кестелерiн келесiдей етіп басып шығара алар ма едiңiз:
SELECT snum, sname, sity, comm
FROM Salespeople;
Берілгенге қорытынды 1- ші суретте көрсетілген.
1-ші сурет.SELECT командасы.
Басқаша айтқанда, бұл командалар кестеден барлық мәлiметтерiн жай ғана шығарады. Сонымен бiрге бағдарламалардың көпшiлiгi сияқты бағананың бастары жоғары бередi, кейбiр қорытындыларға толық қалыптауларына мүмкiндiк бередi, бiрақ бұл ендi тыс үйреншiктi спецификациялар. Бұл команданың әрбiр бөлiктеріне түсiндiруiндер болады:
FROM FROM FROM – кілттік сөзі , SELECT тәрiздi,
әрбiр сұрау салуда Salespeople елестетеді. Ол кестесiнiң мәлiмет көз ретiнде қолданылатын ,содан соң ақпараттың қайнар көзі ретінде қолданады.
Нүктелi үтiр деректер қорын хабарлау үшiн SQLнiң барлық командаларында қолданылады бұл команда толтырылған және орындалуға дайын. Көлбеген сызықтың кейбiр жүйелерiндегi жолда (\\\\ ) болады, команданың аяғының индикаторы болып табылады.
Мұндай сипаттың сұрау салуы кез келген көрcетiлген әдiспен қорытындылайтын түрде болады.Сол мәлiметтермен iстелiнген өздiң командасы да әртүрлi уақытқа сонша рет шығара алмайды. Бiз қалай алдыңғы-шы тарауда орнатқандығымыз - бұл кез келген ретiнен, әдетте, жол оларда кестеде табылған сол ретте мәлiм болады. Бұл мәлiметтерде жүргiзiлiп немесе сақталынатын сол ретiнде мiндеттi түрде болады.
Егер сiз кестенiң әрбiр бағанасы көргiңiз келсе, сiз қолдана алатын мiндеттi еместерді қысқартуға болады. (* ) жұлдызша толық қорытындысы үшiн қолданыла алады
SELECT *
FROM Salespeople;
Алдынғы команда тәріздес қорытындыға әкеледі.
Достарыңызбен бөлісу: |