Сохтани пойгоҳи додаҳо ва ҷадвалҳо дар SQL

Сохтани пойгоҳи додаҳо

Оё шумо омодаед, эҷоди пойгоҳи додаҳо ва ҷадвалҳоро бо забони Quered Structured оғоз кунам? Дар ин мақола, мо раванди сохтани ҷадвалҳоро бо дастнавъи CREATE DATABASE ва CREATE TABLE фармон медиҳем. Агар шумо ба S SQL нависед, шумо метавонед аввалин мақолаи асосии SQL Sample -ро баррасӣ кунед.

Талаботи тиҷоратӣ

Пеш аз он ки мо дар клавиатура нишаста бошем, мо бояд боварӣ дошта бошем, ки мо фаҳмиши пурраи талаботҳои мизоҷонро дорем. Ин роҳи беҳтарин барои дарёфти ин ақида аст? Бо фармоишгар сӯҳбат кардан, албатта! Баъд аз нишастани директори захираҳои инсонӣ XYZ, мо фаҳмидем, ки онҳо ширкатҳои фурӯшандаи виртуалӣ мебошанд ва пеш аз ҳама ба пайгирии маълумот дар бораи кормандони савдои онҳо таваҷҷӯҳ доранд.

Корхонаи XYZ қудрати фурӯшро ба минтақаҳои шарқ ва ғарбӣ тақсим мекунад, ки ҳар якашон ба бисёр минтақаҳое, ки аз ҷониби фурӯшҳои шахсӣ фаро гирифта шудаанд, тақсим карда мешавад. Шӯъбаи кадрҳо мехоҳанд, ки дар ҳудуди ҳар як корманд, инчунин ҳар як маълумот оид ба музди меҳнати кормандон ва сохтори назоратӣ тамошо кунанд. Барои қонеъ гардонидани талаботи мазкур, мо базаи маълумотро аз се ҷадвал, ки дар диаграммаи Ҳуҷҷатӣ дар ин саҳифа нишон дода шудаанд, таҳия кардем.

Интихоби Платформаи Базавӣ

Мо тасмим гирифтем, ки системаи идоракунии пойгоҳи додаҳо (ё DBMS) истифода барем, ки дар асоси забони дархостшудаи дархостҳо (SQL) сохта шудааст. Бинобар ин, ҳамаи фармонҳои махзани маълумот ва ҷадвалҳои мо бояд бо стандарти ANSI Система дар шакли хаттӣ навишта шаванд.

Ҳамчун воситаи иловагӣ, бо истифодаи ANSI-мутобиқати SQL, таъмин хоҳад кард, ки ин фармонҳо дар ҳама гуна DBMS кор мекунанд, ки стандарти SQLро дастгирӣ мекунанд , аз ҷумла Oracle ва Microsoft SQL Server. Агар шумо ягон базаи маълумотро барои базаи худ интихоб накарда бошед, усули интихоби нармафзори моддӣ ба шумо тавассути раванди интихоби шумо мегузарад.

Сохтани пойгоҳи додаҳо

Қадами аввалини мо ба таъсиси пойгоҳи додаҳо мебошад. Бисёре аз системаҳои идоракунии пойгоҳи додаҳо як қатор вариантҳоро барои танзими параметрҳои пойгоҳи дода дар ин қадами пешниҳод мекунанд, аммо махзани мо танҳо ба бунёди оддии пойгоҳи дода иҷозат медиҳад. Ҳамчун ҳамаи фармонҳои мо, шумо метавонед ҳуҷҷатҳои DBMS-ро барои муайян кардани он, ки оё ягон параметрҳои пешрафта аз ҷониби системаи муайяни шумо ба талаботи шумо ҷавобгӯ бошанд. Биёед, фармоишоти CREATE DATABASE -ро барои сохтани пойгоҳи додаи худ истифода барем:

Кормандони CREATE DATABASE

Нусхаи махсуси капитализатсияро дар мисоли боло истифода баред. Ин таҷрибаи маъмул дар байни барномасозони SQL-ро барои истифодаи ҳамаи ҳарфҳои калидӣ барои калимаҳои калидии SQL, ба монанди "CREATE" ва "DATABASE" ҳангоми истифодаи ҳамаи ҳарфҳои хурд барои номи истифодабаранда, ба монанди номи "кормандони". Ин Конвенсия барои хондан осон аст.

Continue reading this tutorial Continue reading this board.

More омӯзиш

Агар шумо хоҳед, ки дар бораи забони Системаи Стратегии Дафтарро донистан мехоҳед, хонед.

Акнун, ки мо базаи махфиятро таҳия кардем ва таҳия кардем, мо омодаем, ки се ҷадвалро истифода барем, ки барои нигаҳдории маълумоти шахсии XYZ Corporation истифода шавад. Мо дар ҷадвалҳое, ки дар қисмати қаблӣ ин дастур таҳия шуда буданд, иҷро хоҳем кард.

Сохтани ҷадвалҳои якум

Мизи мудаввари мо аз маълумоти шахсии ҳар як корманди ширкати мо иборат аст. Мо бояд ҳар як ном, музди меҳнат, ID ва идоракуниро дохил кунем. Ин таҷрибаи хуби тарҳрезӣ барои ҷудо кардани номҳои охирин ва аввал ба соҳаҳои алоҳида барои содда кардани маълумот дар ҷустуҷӯи маълумот ва дар оянда. Ҳамчунин, мо ҳар як менеҷери корманди компютерро пайгирӣ хоҳем кард, ки ба истинод ба корманди корпоративӣ дар ҳар як рӯйхати кормандон гузориш диҳед. Биёед бори аввал ба ҷадвали кории дилхоҳ назар андозем.

Хусусияти ReportsTo ID коргари ҳар як кормандро мефиристад. Аз сабтҳои намунавии нишон додашуда, мо метавонем муайян кунем, ки Sue Scampi менеҷери ҳам Том Кендалл ва Ҷон Смит. Бо вуҷуди ин, маълумот дар базаи маълумот оид ба менеҷери Sue ҳеҷ гуна иттилооте вуҷуд надорад, ки аз тарафи NULL воридшавӣ дар сатри мазкур нишон дода шудааст.

Акнун мо метавонем SQL-ро барои махкам кардани базаи маълумот дар пойгоҳи кадрии мо истифода барем. Пеш аз он ки ин корро анҷом диҳед, биёед боварӣ ҳосил кунем, ки мо дар пойгоҳи дуруст аз тариқи фармоишгари USE ҳастем:

Кормандони USE;

Дар натиҷа, кормандони "DATABASE"; " фармон ин вазифаро иҷро мекунад. Акнун мо метавонем ба фармоне, ки SQL-ро барои сохтани мизи кории мо бинед, дида бароед:

Кормандони CREATE TABLE (корманди корпоративӣ НЕСТ, охирин ном ВАРЗАР (25) НЕЪМЕН, НОМИ НОМҲО (25) НЕЪМЕН, НЕЪМЕННОСИЯИ НАҚЛИЁТӢ);

Тавре ки дар мисоли дар боло зикршуда, қайд мекунад, ки анҷуман барномарезӣ мекунад, ки ҳамаи ҳарфҳои калидӣ барои калимаҳои калидии SQL ва ҳарфи хурд барои сутунҳои истифодашуда ва ҷадвалҳои истифодашуда истифода мешаванд. Дар боло ҳукми қатл метавонад дар аввал ошкоро назар кунад, аммо дар асл он сохтори оддӣ аст. Дар ин ҷо як намуди умумӣ, ки метавонад чизҳои каме тоза кунад:

CREATE TABLE table_name (attribute_name datatype options, ..., options_name datatype options);

Хусусиятҳо ва намудҳои маълумот

Дар мисоли қаблӣ, номи ҷадвал коргари меҳнат аст ва мо чор хислатро дар бар мегирем: корманд, охирин, аввалин ва ҳисобот. Дата категорияи маълумотеро, ки мо мехоҳем дар ҳар як соҳа нигоҳ дорем. ID-и корӣ рақами оддии рақамӣ аст, бинобар ин, мо маълумотро дар бораи INTEGER барои соҳаи корпоративӣ ва майдони ҳисобот истифода мебарем. Номи меҳнатии материкӣ аз дарозии тағйирёбӣ хоҳад буд ва мо интизори он нестем, ки ягон кор ё номро аз 25 аломат зиёдтар интизор шавем. Бинобар ин, мо барои VARCHAR (25) навъи ин майдонро истифода мебарем.

NULL Арзиш

Мо инчунин метавонем NULL ё NOT NULL-ро дар майдонҳои таркиби CREATE баён созем. Ин фақат ба базаи маълумотҳо ишора мекунад, ки оё NULL (ё холӣ) арзиши он барои он, ки ҳангоми илова кардани сатрҳо ба пойгоҳи дода иҷозат дода шудааст, иҷозат дода мешавад. Дар мисоли мо, шӯъбаи кадрҳо талаб мекунад, ки ID-коргари кормандон ва номи пурра барои ҳар як корманд нигоҳ дошта шавад. Бо вуҷуди ин, ҳар як корманди роҳбаре вуҷуд надорад - роҳбари CEO ба ҳеҷ кас хабар намедиҳад! - Пас, мо ба NULL дохил мешавем. Дар хотир доред, ки NULL арзиши пешфарз аст ва дар ин ҳолат истисно нест, ки NULL ба арзишҳо имкон медиҳад.

Сохтани Ҷадвалҳои оянда

Акнун биёед ба ҷадвалҳои майдонҳо назар андозед. Аз нигоҳи маълумоти фаврӣ, ин ба назар мерасад, ки мо бояд як қатор рақамҳо ва ду сатри дарозии дарозро нигоҳ дорем. Мисли мо намунаи қаблӣ, мо интизор нестем, ки ID-и минтақаро зиёда аз 25 аломат истифода мебарад. Бо вуҷуди ин, баъзе аз ҳудудҳои мо номҳои мухталиф доранд, бинобар ин мо дарозии иҷозатии ин хосиятро ба 40 аломат афзоиш медиҳем. Биёед бубинем,

(Масалан, ҳудуди ҳудуди ҳудуд, ҳудуди ҳудудии ҳудудӣ, ҳудудӣ) VARCHAR (40) ҲИСОБ, VARCHAR минтақавӣ (25);

Дар ниҳоят, мо мизҳои кории корпоративиро барои нигоҳ доштани муносибатҳои байни кормандон ва ҳудудҳо истифода мебарем. Маълумоти муфассал оид ба ҳар як коргар ва ҳудуд дар ду ҷадвал пеш аз мо нигоҳ дошта мешавад. Бинобар ин, мо бояд фақат ду рақами мушаххаси рақамиро дар ин ҷадвал нигоҳ дорем. Агар мо бояд ин маълумотро васеъ кунем, мо метавонем маълумотро аз якчанд мизҳои ҷустуҷӯ дар фармонҳои интихоби маълумотҳои JOIN истифода барем. Ин усули нигаҳдории маълумотҳо дар пойгоҳи додашударо коҳиш медиҳад ва истифодаи оқилонаи фазо дар дискҳои мо мебошад. Мо пажӯҳишҳои JOIN -ро дар масофаи минбаъда дар оянда таҳия карда метавонем. Дар ин ҷо кодекси SQL барои татбиқи ҷадвали охирини мо:

КАФОЛАТҲОИ ТАШКИЛОТИ КОЛЛЕКТИИ ТАШКИЛОТИ ИНТИХОБОТ

Системаи Механизм Сатҳи сохтани базаи маълумотро пас аз офариниш таъмин мекунад

Агар шумо имрӯз аксаран шубҳанок бошед, шумо шояд эҳсос кардед, ки мо «дар тасодуфан» ҳангоми иҷро кардани ҷадвалҳои махзани маълумотҳо як таркиби тарҳро ихтисор кардаем. Директори HRH Корпоратсияи XYZ талаб кард, ки маълумотномаи музди меҳнати кормандони пайраҳаи мизоҷро талаб кунад ва мо онро дар ҷадвалҳои махзание, ки мо офаридааст, инъикос менамоем.

Бо вуҷуди ин, ҳама чиз гум намешавад. Мо метавонем амрномаи ALTER TABLE -ро барои илова кардани ин хосият ба базаи мавҷудаамон истифода барем. Мо мехоҳем, ки маоши худро ҳамчун арзиши ҳамаҷониба нигоҳ дорем. Синтаксекс ба амри фармонҳои ТЕХНИКӢ хеле монанд аст, дар он ҷо:

БЕШТАР МЕШАВАНД АЗ ТАЪЛИМИ МАБЛАҒГУЗОРӢ БАРОИ НАҚЛИЁТ

Аҳамият диҳед, ки мо муайян кардаем, ки арзиши NULL барои ин хосият иҷозат дода шудааст. Дар аксар ҳолатҳо, ҳангоми илова кардани сутуни ба мизҳои мавҷудбуда ягон вариант вуҷуд надорад. Ин сабаби он аст, ки мизе аллакай дорои сатрҳо бо вуруд ба ин хусусият нест. Бинобар ин, DBMS ба таври автоматӣ барои пур кардани қимати NULL арзшавӣ мекунад .

Ва ин ба назар мерасад, ки мо ба пойгоҳи додаҳои SQL ва раванди ҷадвал нигарем. Санҷиши навро дар силсилаи Tutorial SQL гузаронед. Агар шумо хоҳед, ки ҳушдордиҳии почтаи электронӣ, вақте ки мақолаҳои нав ба сомонаи Дар бораи пойгоҳи додашуда илова карда шаванд, боварӣ ҳосил кунед, ки ба брокери мо обуна шавед!