SQL-жылы маалымат базаларын жана Tables түзүү

маалымат базасын түзүү

Сиз менен маалымат базаларын жана үстөлдөрүн түзүүгө кирише берсе болобу структураланган талптар тили ? Бул макалада биз изилдөө үстөл түзүү жараянын кол менен маалыматтар базасын түзүүгө жана МАЗМУНУ буйруктарын ТҮЗҮҮ. Сиз SQL үчүн жаңы болсо, анда биздин карап көрүшү мүмкүн SQL негиздери алгачкы макала.

Бизнес талаптар

Биз тергичтен отуруп мурун, биз кардардын талаптарын бекем түшүнүктү болушун камсыз кылуу үчүн керек. Бул түшүнүк алуу үчүн мыкты жолу кайсы? кардар менен сүйлөшүп, албетте! XYZ адам ресурстарын директору менен отуруп чыккандан кийин, биз алар уижети сатуу компания болуп саналат жана алардын сатуу жөнүндөгү маалыматтарды көз салуу үчүн биринчи кезекте кызыкдар экенин түшүндүм.

XYZ Corporation жеке сатуу пландалууда камтылган чыгыш жана батыш аймактарына, көп аймактарда бөлүнөт, алардын ар бири өз сатуу күч алганын бөлүштүрөт. HR бөлүмү ар бир кызматкер тарабынан ошондой эле, ар бир кызматкердин эмгек акысы жөнүндө маалымат жана көзөмөлдөө түзүмүнүн жаап аймакты тургум келет. Бул талаптарга жооп берүү үчүн, көрсөтүлгөн үч столдор турган маалымат базасын түзүү, иштеп жатабыз уюм-бүлөөлүк диаграммада ушул беттеги.

бир маалымат базасы аянтча тандоо

Биз колдонууга чечтик базасын башкаруу системасын структураланган талптар тили (SQL) үстүнө курулган (же DBMS). Ошондуктан, биздин маалымат базаларынын жана стол түзүү бардык буйруктарына эске стандарттык ANSI SQL менен жазылышы керек.

Кошумча артыкчылыгы болуп, ANSI-ылайык SQL аркылуу бул буйруктар ар кандай СУБД иштеп турганын камсыз кылат SQL стандартын Oracle жана Microsoft SQL Server, анын ичинде. Эгер сиз маалымат базасын түзүү үчүн пайдубалды тандалган жок болсо, анда макала базасы Программа Жолдор тандоо аркылуу чыгат.

маалымат базасын түзүү

Биздин биринчи кадам базасын өзү түзүү болуп саналат. Көптөгөн Берилиштер базасын башкаруу системи бул кадам боюнча маалыматтар базасы параметрлерин орнотуу параметрлерин бир катар сунуш, бирок, биздин маалымат базаларынын гана базасын жөнөкөй түзүүгө мүмкүндүк берет. Биздин бардык буйруктарына сыяктуу эле, сиз белгилүү бир тармагы тарабынан колдоого ар кандай өнүккөн параметрлери сиздин муктаждыктарын канааттандыруу болсо DBMS аныктоо үчүн документтерди изилдөөгө болот. Биздин маалыматтар базасын түзүү үчүн маалымат базасын түзүү буйругун колдонуп көрөлү:

ТҮЗҮҮ БАЗАСЫ кызматкерлери

Жогорудагы мисалда колдонулган капиталдаштыруу өзгөчө токтолуп көрөлү. Ал, мисалы, "кадр" базасы аты сыяктуу колдонуучу аныкталган аталыштарды бардык кичине тамга менен, ал эми "ТҮЗҮҮ" жана "DATABASE" деп SQL ачкыч үчүн SQL программалааччылар капиталды тамгаларын пайдаланууга арасында жалпы пайдалуу. Бул жыйындар жеңил окуп камсыз кылат.

биз маалымат базасын түзүү үчүн столдорду түзүү Бул окуу куралы окуп бер.

үйрөнүү More

Сен жөнүндө көбүрөөк билүү үчүн келсе структураланган талптар тили , окуу SQL киришүү же акысыз окутуу SQL электрондук почта, албетте, жазылышат.

Эми биз маалымат базасын иштеп чыккан жана жасадык деп, биз XYZ мекемесинин кызматкерлери маалыматтарды сактоо үчүн үч үстөлдөрүн жарата баштоого даяр. Биз бул үйрөтмө мурдагы бөлүгүндө арналган үстөлдөрүн ишке болот.

Биздин столдун алгач түзүү

Биздин биринчи стол биздин коомдун ар бир кызматкер үчүн жеке маалыматтарды турат. Биз ар бир кызматкердин аты-жөнү, эмгек акы, ID, жана жетекчи камтышы керек. Бул маалыматтарды издөө жана келечекте сорттоо жөнөкөйлөтүү үчүн өзүнчө талаага акыркы жана биринчи аттарын ажырата жакшы долбоор пайдалуу. Ошондой эле, ар бир кызматкер жазылган жетекчисинин кызматкер ID үчүн шилтеме киргизүү менен ар бир кызматкердин жетекчисинин көз аласыз. биринчи каалаган кызматкер дасторкон карап көрөлү.

ReportsTo сыпат ар бир кызматкер үчүн менеджер ID сактайт. көрсөтүлгөн үлгү жазуулардын биз Sue Scampi Том Kendall жана Джон Смит эки менеджери экенин аныктай алат. Бирок, көрсөтүлгөн сотко менеджер боюнча маалымат базасы эч кандай маалымат жок NULL кириши менен анын катарда.

Азыр биз кадр базасын үстөлдү түзүү SQL колдоно аласыз. биз да мурда, биз КОЛДОНУУ буйругун чыгаруу менен туура базасына камсыз кылсын:

КОЛДОН кадрлар;

Же болбосо, "DATABASE кадр;" команда бирдей кызмат кылган. Азыр биз кызматкерлери дасторкон түзүүгө колдонулган SQL буйругу карап алышат:

МАЗМУНУ ТҮЗҮҮ кызматкерлерди (КР ЭМЕС employeeid бүтүн, Персоны VARCHAR (25) NULL, имя VARCHAR ЭМЕС (25) бүтүн КР reportsto, NULL эмес);

Жогоруда мисал сыяктуу, ал программалоо жыйын биз SQL ачкыч жана пайдалануучу аталган тилкеде жана планшеттер үчүн кичине тамга үчүн бардык тамганы колдонуу кылат белгилешет. команда мурда чиеленишкендей сезилиши мүмкүн, бирок, чынында, анын артында жөнөкөй түзүлүшү бар. Бул жерде бир аз нерселерди тазалап турган жалпыланган карашы:

МАЗМУНУ table_name ТҮЗҮҮ (атрибутунда түрү ыкмаларды, ..., атрибутунда түрү ыкмаларды);

Касиет-сапаттары жана берилиштер типтери

Өткөн Мисалы, жадыбалдын аталышы кызматкерлери болуп саналат жана биз, төрт белгилерине төмөнкүлөр кирет: employeeid, басмада, имя, жана reportsto. түрү, биз ар бир тармагында сактоо үчүн каалаган маалыматты түрүн көрсөтүп турат. Кызматкер ID жөнөкөй бүтүн сан болуп эсептелет, ошондуктан биз employeeid талаа жана reportsto тармагында да бүтүн түрү колдонобуз. кызматкерлердин ысымдары өзгөрүлмө узундугу мүнөзү саптар болот, биз ар кандай кызматкер 25 белгиден биринчи же акыркы аты ары бар деп күтпөйбүз. Ошондуктан, биз VARCHAR (25) бул тармактарда үчүн терип колдонобуз.

NULL баалуулуктар

Ошондой эле, биз да көрсөтүүгө болот NULL же NULL ЭМЕС билдирүүсүндө түзүлгөн параметрлери тармагында. Бул жөн гана базасына саптарды кошуп жатканда NULL (же бош) маанилери ошол атрибут үчүн уруксат берип же маалымат базасын айтылат. Биздин мисалда, HR бөлүмдүн кызматкери ID жана толук аты-жөнү ар бир кызматкер үчүн сакталышы керек. Бирок, ар бир кызматкер башкаруучусу бар - CEO эч кимге билдирет! - Ошондуктан, биз бул тармактагы NULL жазууларды берет. NULL Белгилей кетсек , демейки маани менен бул параметрди жетишсиздик толугу Атрибуттар үчүн NULL баалуулуктарды мүмкүндүк берет.

Building калган Tables

Эми аймактар ​​дасторконго карап көрөлү. Бул маалыматтар боюнча кыскача карап чыгып, биз бир бүтүн жана эки өзгөрмө узундугу стрингдерди сактай керек окшойт. мурунку мисал сыяктуу, биз Аймак ID жыйынтыктары 25 белгиден керектөөгө деп күтпөйбүз. Бирок, биздин аймактардын кээ бир узак ысымдары бар, ошондуктан, биз 40 белгиден ошол касиеттин берилген узундугун кеңейтүү аласыз. тиешелүү SQL карап көрөлү:

ТҮЗҮҮ МАЗМУНУ аймактарды (territoryid бүтүн NULL ЭМЕС, аймак Description VARCHAR (40) NULL ЭМЕС, VARCHAR regionid (25) NOT анык эмес);

Акыр-аягы, биз кызматкерлер менен аймактардын ортосунда мамилелерди сактоо үчүн EmployeeTerritories үстөл колдонобуз. Ар бир кызматкердин жана аймагында толук маалыматты биздин мурунку эки сакталат. Ошондуктан, биз бул дасторконго эки бүтүн аныктоо номерлерин сактоо үчүн керек. Биз бул маалыматты кеңейтүү үчүн керек болсо, анда биз, биздин маалымат тандоо бир нече столдор маалымат талап кылууга жана алууга буйрук кошулууга болот. берилиштерди сактоонун Бул ыкма биздин базасына ашыкчасын азайтат жана сактоочу дисктер мейкиндикти оптималдуу пайдаланууну камсыз кылат. Биз келечекте үйрөткүчтө буйругун кылдат кошулсун өтөбүз. Бул жерде биздин акыркы дасторкон ишке SQL коду болот:

МАЗМУНУ employeeterritories ТҮЗҮҮ (КР ЭМЕС employeeid бүтүн, territoryid бүтүн сан эмес NULL);

Механизми SQL Жаратуу кийин базасы түзүлүшү өзгөрткөн көрсөтөт

Эгер бүгүнкү күндө, өзгөчө, билимдүү, жакшы болсо, биздин маалымат базаларынын үстөлдөрүн ашырууда биз "кокустан" дизайн талаптардын бири салдык байкадык мүмкүн. XYZ бирикмебиздин HR директору базасы тректи кызматкерге эмгек акы тууралуу маалыматты сурап, биз бул камсыз кылуу үчүн кароосуз базасы столдор биз жараткан.

Бирок, баары жоголгон эмес. Биз учурдагы базасына бул сыпатын кошуп өзгөртө МАЗМУНУ буйруусу менен пайдалана аласыз. Биз бир бүтүн баалуулук катары эмгек акысын сактап келет. синтаксисин жадыбалын түзүү буйрук экенин абдан окшош, бул жерде:

МАЗМУНУ кызматкерлери эмгек акы бүтүн нөл КОШУУ өзгөртүүгө;

Биз NULL баалуулуктар бул сапаты үчүн уруксат көрсөтүлгөн байкашат. көпчүлүк учурларда, азыркы столго мамычасы кошуп жатканда эч кандай мүмкүнчүлүк жок. Бул стол бул сыпаты эч кандай жазуусу менен катар бар болгондугу менен түшүндүрүлөт. Ошондуктан, DBMS жазуусу бир киргизет NULL Наркы болгон боштукту толтуруу үчүн.

Ошол SQL маалыматтар базасы жана стол түзүүдө биздин карап жыйынтыктады. Көп учурда кайра текшерүү жаңы төлөө үчүн биздин SQL үйрөткүч катар. Сиз жаңы макалалар жөнүндө базасы сайтына кошулат электрондук почта эскертүү келсе, биздин катына жазылуу үчүн шектенбесек болот!