Креирање бази на податоци и табели во SQL

Креирање на базата на податоци

Дали сте подготвени да започнете да создавате бази на податоци и табели со структурен јазик за пребарување ? Во оваа статија ние рачно го истражуваме процесот на креирање на табелите со CREATE DATABASE и CREATE TABLE командите. Ако сте нови во SQL, можеби ќе сакате да го разгледате написот на нашиот SQL Basics прво.

Бизнис барања

Пред да седнеме на тастатурата, ние треба да осигураме дека имаме солидно разбирање на барањата на клиентот. Кој е најдобриот начин да се добие овој увид? Се разбира со клиентот, се разбира! Откако седнавме со директорот за човечки ресурси на XYZ, дознавме дека тие се компанија за продажба на графички елементи и првенствено се заинтересирани за следење на информации за нивниот продажен персонал.

XYZ Corporation ги дели нивните продажни сили во источните и западните региони, од кои секоја е поделена на многу територии опфатени со индивидуални претставници на продажба. Одделот за човечки ресурси би сакал да ја следи територијата што ја покрива секој вработен, како и информациите за платата и надзорната структура на секој вработен. За да се исполнат овие барања, ние дизајниравме база на податоци која се состои од три табели, прикажани во дијаграмот "Субјект-врска" на оваа страница.

Избор на платформа за бази на податоци

Одлучивме да користиме систем за управување со бази на податоци (или DBMS) кој е изграден врз структурниот јазик за пребарување (SQL). Затоа, сите наши бази на податоци и команди за креирање табели треба да бидат напишани со стандардна ANSI SQL во предвид.

Како додадена корист, користењето на ANSI-компатибилен SQL ќе осигури дека овие команди ќе работат на било кој DBMS што го поддржува SQL стандардот , вклучувајќи Oracle и Microsoft SQL Server. Доколку сеуште не сте одбрале платформа за вашата база на податоци, статијата База на податоци за софтверот за базата на податоци ви помина низ процесот на селекција.

Креирање на базата на податоци

Нашиот прв чекор е да се создаде самата база на податоци. Многу системи за управување со бази на податоци нудат низа опции за прилагодување на параметрите на базата на податоци во овој чекор, но нашата база на податоци дозволува едноставно создавање на база на податоци. Како и кај сите наши наредби, можеби ќе сакате да ја консултирате документацијата за вашиот DBMS за да одредите дали некои напредни параметри поддржани од вашиот специфичен систем ќе ги задоволат вашите потреби. Ајде да ја користиме командата CREATE DATABASE за да ја наместиме нашата база на податоци:

КРЕИРАЈТЕ БАРАЊА НА БАТИРАЊЕ

Посебно забележете ја капитализацијата што се користи во горниот пример. Вообичаена практика кај програмерите на SQL е да ги користат сите големи букви за SQL клучни зборови, како што се "CREATE" и "DATABASE", додека ги користите сите мали букви за кориснички дефинирани имиња како што е името на "персоналот". Овие конвенции овозможуваат лесно читање.

Продолжете со читање на ова упатство додека создаваме табели за нашата база на податоци.

Учење повеќе

Ако сакате да дознаете повеќе за структурираниот јазик за пребарување , прочитајте Вовед во SQL или пријавете се за нашиот бесплатен курс за учење SQL e-mail.

Откако ја дизајниравме и ја создадовме нашата база на податоци, подготвени сме да започнеме со креирање на трите табели кои се користат за складирање на персоналните податоци на XYZ Corporation. Ќе ги спроведуваме табелите што ги дизајниравме во претходниот дел од ова упатство.

Креирање на нашата прва табела

Нашата прва маса се состои од лични податоци за секој вработен во нашата компанија. Треба да го вклучиме името на секој вработен, платата, личноста и менаџерот. Добра дизајнирана практика е да ги разделиме последните и првите имиња во посебни полиња за поедноставување на пребарувањето и сортирање на податоци во иднина. Исто така, ние ќе ги следиме менаџерите на секој вработен со вметнување на референца за идентификацијата на вработениот на менаџерот во секој записник на вработениот. Прво погледнете ја посакуваната табела за вработените.

Атрибутот ReportsTo го зачувува ID на менаџерот за секој вработен. Од прикажаните примероци, може да се утврди дека Сју Скампи е менаџер на Том Кендал и Џон Смит. Сепак, нема информации во базата на податоци за менаџерот на Сју како што е наведено во записот NULL во нејзиниот ред.

Сега можеме да користиме SQL за да ја создадеме табелата во нашата база на податоци на персоналот. Пред да го сториме тоа, да се осигураме дека сме во точна база на податоци со издавање на команда за USE:

УПОТРЕБА на персоналот;

Алтернативно, "БАРАЊЕ на персоналот;" командата ќе ја изврши истата функција. Сега можеме да погледнеме во командата SQL која се користи за креирање на табелата на вработените:

CREATE TABLE вработени (employeeid INTEGER NOT NULL, презиме VARCHAR (25) НЕ NULL, прво име VARCHAR (25) НЕ NULL, пријавувај INTEGER NULL);

Како и со примерот погоре, имајте во предвид дека програмската конвенција диктира дека ги користиме сите големи букви за SQL клучни зборови и мали букви за столбови и табели со кориснички имиња. Наредбата погоре може да изгледа збунувачки во прв, но всушност постои едноставна структура зад неа. Еве еден генерализиран поглед кој би можел да ги расчисти работите:

КРЕАЦИЈА ТАБЕЛА table_name (опции за типови на податоци на атрибутот, ..., atrib_name опции за опции за податоци);

Атрибути и типови на податоци

Во претходниот пример, името на табелата е вработено и вклучуваме четири атрибути: employeeid, презиме, прво име, и reportsto. Типот на податок укажува на видот на информациите што сакаме да ги зачуваме во секое поле. ID на вработениот е едноставен број за број, па ние ќе го користиме типот на податоци INTEGER и за fieldid и за полето за известување. Имињата на вработените ќе бидат карактерни низи со променлива должина и ние не очекуваме некој вработен да има име или презиме подолго од 25 карактери. Затоа, ние ќе го користиме типот VARCHAR (25) за овие полиња.

NULL вредности

Ние исто така можеме да наведете или NULL или NOT NULL во полето за опции на изјавата CREATE. Ова едноставно ја кажува базата на податоци дали дозволените вредности за NULL (или празни) се дозволени за тој атрибут кога додавате редови во базата на податоци. Во нашиот пример, одделот за човечки ресурси бара идентификацијата на вработениот и целото име да бидат зачувани за секој вработен. Сепак, не секој вработен има менаџер - извршниот директор не известува за никој! - па ние дозволуваме записи NULL во тоа поле. Забележете дека NULL е стандардна вредност и изоставувањето на оваа опција имплицитно ќе им овозможи NULL вредности за атрибут.

Градење на преостанатите табели

Сега да ги разгледаме табелите на териториите. Од брз поглед на овие податоци, се чини дека ние треба да зачуваме цел број и две променливи должини. Како и со нашиот претходен пример, не очекуваме идентификацијата на регионот да троши повеќе од 25 знаци. Сепак, некои од нашите територии имаат подолги имиња, така што ќе ја прошириме дозволената должина на тој атрибут на 40 карактери. Да ги погледнеме соодветните SQL:

КРЕАЦИЈА ТАБЕЛА територии (територија INTEGER не NULL, територија Опис VARCHAR (40) НЕ NULL, Регионален VARCHAR (25) НЕ NULL);

Конечно, ние ќе ја користиме табелата EmployeeTerritories за зачувување на односите помеѓу вработените и териториите. Детални информации за секој вработен и територија се чуваат во нашите претходни две табели. Затоа, ние треба само да ги зачуваме двата цели броеви за идентификација во оваа табела. Ако треба да ги прошириме овие информации, може да користиме ПРИЈАВУВАЊЕ во нашите команди за избор на податоци за да добиеме информации од повеќе табели. Овој метод за складирање на податоци ја намалува вишок во нашата база на податоци и обезбедува оптимална употреба на простор на нашите дискови за складирање. Ние ќе ја покриеме командата JOIN во длабочина во иден туторијал. Еве го кодот на SQL за спроведување на нашата финална табела:

CREATE TABLE employeeterritories (employeeid INTEGER NOT NULL, territoryid INTEGER NOT NULL);

Механизмот SQL обезбедува да ја менува структурата на базата на податоци по создавањето

Ако сте особено остроумни денес, можеби сте забележале дека ние "случајно" испуштивме една од барањата за дизајн при спроведувањето на нашите табели на бази на податоци. Директорот за човечки ресурси на XYZ Corporation побара базата на податоци да ги следи информациите за плата на вработените и занемаривме да го обезбедиме ова во табелите на базата на податоци што ги создадовме.

Сепак, сè не е изгубено. Можеме да ја користиме командата ALTER TABLE за да го додадеме овој атрибут на нашата постоечка база на податоци. Ние сакаме да ја зачуваме платата како целобројна вредност. Синтаксата е сосема слична на командата CREATE TABLE, тука е:

ALTER ТАБЕЛА вработени ADD плата INTEGER NULL;

Забележете дека ние специфициравме дека вредностите на NULL се дозволени за овој атрибут. Во повеќето случаи, не постои опција кога додавате колона во постоечка табела. Ова се должи на фактот дека табелата веќе содржи редови без запис за овој атрибут. Затоа, DBMS автоматски внесува вредност NULL за пополнување на празнината.

И тоа го заокружува нашиот поглед на SQL базата на податоци и процесот на креирање табели. Често проверувајте за нови рати во нашата серија на SQL туториал. Ако сакате потсетник за е-пошта кога ќе се додадат нови статии на страницата За Базите на податоци, задолжително се претплатите на нашиот билтен!