Стварэнне базы дадзеных і табліцы ў SQL

Стварэнне базы дадзеных

Вы гатовыя прыступіць да стварэння базы дадзеных і табліцы з Structured Query Language ? У гэтым артыкуле мы даследуем працэс стварэння табліц ўручную з дапамогай CREATE DATABASE і каманды TABLE CREATE. Калі вы пачатковец у SQL, вы можаце азнаёміцца з нашымі Асновы SQL артыкул першым.

Бізнес-патрабаванні

Перад тым, як сесці на клавіятуры, мы павінны пераканацца, што ў нас ёсць дакладнае разуменне патрабаванняў заказчыка. Які самы лепшы спосаб, каб атрымаць гэта разуменне? Размаўляючы з кліентам, вядома! Пасля таго, як сесці з дырэктарам людскіх рэсурсаў XYZ, мы даведаліся, што яны з'яўляюцца продажамі кампаніяй фішкі і ў першую чаргу зацікаўлены ў удасканаленьні інфармацыі аб іх гандлёвым персанале.

XYZ Corporation дзеліць сваю сілу продажаў ва ўсходніх і заходніх абласцей, кожная з якіх падзелена на мноства тэрыторый, ахопленых асобнымі гандлёвымі прадстаўнікамі. Аддзел кадраў хацеў бы адсочваць тэрыторыі, ахоплівае кожным работнікам, а таксама інфармацыю пра заработную плату кожнага работніка і нагляднай структуры. Для задавальнення гэтых патрабаванняў, мы распрацавалі базу дадзеных , якая складаецца з трох табліц, як паказана на дыяграме сутнасць-сувязь на гэтай старонцы.

Выбар платформы базы дадзеных

Мы вырашылі выкарыстаць сістэму кіравання базамі дадзеных (СКБД) або, якая пабудавана на Structured Query Language (SQL). Такім чынам, усе нашы каманды баз дадзеных і стварэння табліцы павінны быць напісана з дапамогай стандартнага ANSI SQL у выглядзе.

У якасці дадатковага перавагі, выкарыстоўваючы ANSI-сумяшчальны SQL гарантуе , што гэтыя каманды будуць працаваць на любой СКБД , якая падтрымлівае стандарт SQL , уключаючы Oracle і Microsoft SQL Server. Калі вы не абралі платформу для вашай базы дадзеных яшчэ ў артыкуле базы дадзеных Опцыі праграмнага забеспячэння правядзе вас праз працэс адбору.

Стварэнне базы дадзеных

Наш першы крок заключаецца ў стварэнні самай базы дадзеных. Многія сістэмы кіравання базамі дадзеных прапануюць шэраг опцый для налады параметраў базы дадзеных на дадзеным этапе, але наша база дадзеных дапускае толькі простае стварэнне базы дадзеных. Як і ўсе нашы каманды, вы можаце звярнуцца да дакументацыі па вашай СКБД, каб вызначыць, ці ёсць якія-небудзь дадатковыя параметры, якія падтрымліваюцца вашай канкрэтнай сістэмы задавальнення вашых патрэбаў. Давайце выкарыстоўваць каманду CREATE DATABASE, каб наладзіць нашу базу дадзеных:

CREATE DATABASE персаналу

Звярніце асаблівую ўвагу на капіталізацыю, якая выкарыстоўваецца ў прыведзеным вышэй прыкладзе. Гэта звычайная практыка сярод SQL праграмістаў выкарыстоўваць загалоўныя літары для ключавых слоў SQL, такіх як «CREATE» і «БАЗ», выкарыстоўваючы ўсе малыя літары для карыстацкіх імёнаў, як «персанал» імя базы дадзеных. Гэтыя канвенцыі прадугледжваюць зручнасці чытання.

Працягнуць чытанне гэтага падручніка, як мы ствараем табліцу для нашай базы дадзеных.

навучанне Больш падрабязна

Калі вы хацелі б даведацца больш пра Structured Query Language , прачытайце Уводзіны ў SQL або падпісацца на наш вольны Learning SQL электроннай пошты курс.

Цяпер, калі мы распрацавалі і стварылі нашу базу дадзеных, мы гатовыя прыступіць да стварэння трох табліц, якія выкарыстоўваюцца для захоўвання дадзеных персаналу XYZ Карпарацыі. Мы будзем рэалізацыя табліцы мы распрацавалі ў папярэдняй частцы гэтага кіраўніцтва.

Стварэнне Нашай першай табліцы

Наша першая табліца складаецца з персанальных дадзеных для кожнага супрацоўніка нашай кампаніі. Мы павінны ўключаць у сябе імя, зарплату, пасведчанне асобы, і мэнэджэра кожнага супрацоўніка. Гэта добрая практыка дызайну аддзяліць апошнія і першыя імёны ў асобных палях для спрашчэння пошуку дадзеных і сартавання ў будучыні. Акрамя таго, мы будзем сачыць за мэнэджэрам кожнага супрацоўніка, уставіўшы спасылку на менеджэр супрацоўнік ID ў кожнай запісу супрацоўніка. Давайце спачатку паглядзім на жаданым табліцы супрацоўнікаў.

Атрыбут ReportsTo захоўвае менеджэр ідэнтыфікатар для кожнага супрацоўніка. З запісаў узораў, паказаных, мы можам вызначыць, што Сью Scampi з'яўляецца мэнэджэрам як Том Кендал і Джона Сміта. Аднак, няма ніякай інфармацыі ў базе дадзеных на мэнэджэра Сью, як гэта паказана ў запісе NULL ў яе радку.

Цяпер мы можам выкарыстоўваць SQL для стварэння табліцы ў нашай базе дадзеных персаналу. Перад тым, як зрабіць гэта, давайце гарантаваць, што мы знаходзімся ў правільнай базе дадзеных з дапамогай каманды USE:

USE персаналу;

З іншага боку, «БАЗ персаналу»; Каманда будзе выконваць тую ж функцыю. Цяпер мы паглядзім на камандах SQL, якія выкарыстоўваюцца для стварэння нашай табліцы супрацоўнікаў можам:

CREATE TABLE супрацоўнікаў (EmployeeID INTEGER NOT NULL, Lastname VARCHAR (25) NOT NULL, Firstname VARCHAR (25) NOT NULL, reportsto INTEGER NULL);

Як і ў прыведзеным вышэй прыкладзе, звярніце ўвагу, што праграмаванне канвенцыя дыктуе, што мы выкарыстоўваем усе загалоўныя літары для ключавых слоў SQL і малых літар для карыстацкага імя слупкоў і табліц. Каманда вышэй можа здацца заблытаным на першы, але на самой справе простая структура ззаду яго. Вось абагульненае меркаванне, што можа ачысціць рэчы няшмат:

CREATE TABLE table_name (варыянты attribute_name тыпаў дадзеных, ..., ATTRIBUTE_NAME варыянтаў тыпаў дадзеных);

Атрыбуты і тыпы дадзеных

У папярэднім прыкладзе, імя табліцы супрацоўнікі і мы ўключаем чатыры атрыбуту: EmployeeID, імя, прозвішча, і reportsto. Тып дадзеных паказвае тып інфармацыі, якую мы хочам захаваць у кожнай вобласці. Служачы ID простае цэлы лік, таму мы будзем выкарыстоўваць тып дадзеных INTEGER як для поля EmployeeID і поле reportsto. Імёны супрацоўніка будуць сімвальнымі радкамі зменнай даўжынёй, і мы не чакаем, што любы супрацоўнік, каб мець першую або прозвішча даўжэй 25 знакаў. Такім чынам, мы будзем выкарыстоўваць VARCHAR (25) тыпу для гэтых палёў.

NULL значэння

Мы таксама можам паказаць альбо NULL або NOT NULL ў полі параметраў у CREATE заяву. Гэта проста кажа базу дадзеных Ці NULL (ці пустыя) значэнні дазволеныя для гэтага атрыбуту пры даданні радкоў у базу дадзеных. У нашым прыкладзе, аддзел кадраў патрабуе, каб ідэнтыфікатар супрацоўніка і поўнае імя захоўваюцца для кожнага супрацоўніка. Аднак, не кожны супрацоўнік мае менеджэр - генеральны дырэктар падсправаздачны нікому! - так мы дапускаем NULL запісаў у гэтай галіне. Звярніце ўвагу , што NULL з'яўляецца значэннем па змаўчанні і апускаючы гэты параметр няяўна дазваляе NULL значэння для атрыбуту.

Будаўніцтва Тых, хто застаўся Сталоў

Зараз давайце зірнем на табліцу тэрыторый. З збеглага погляду на гэтыя дадзеныя, здаецца, што нам трэба захоўваць цэлыя і два радкі зменнай даўжыні. Як і ў папярэднім прыкладзе, мы не чакаем, што вобласць ID спажываць больш за 25 сімвалаў. Тым не менш, некаторыя з нашых тэрыторый маюць больш доўгія імёны, таму мы будзем пашыраць дапушчальную даўжыню гэтага атрыбуту да 40 знакаў. Давайце паглядзім на адпаведны SQL:

CREATE TABLE тэрыторый (territoryid INTEGER NOT NULL, тэрыторыя Апісанне VARCHAR (40) NOT NULL, RegionId VARCHAR (25) NOT NULL);

Нарэшце, мы будзем выкарыстоўваць табліцу EmployeeTerritories для захоўвання адносіны паміж супрацоўнікамі і тэрыторыямі. Падрабязная інфармацыя па кожнаму супрацоўніку і тэрыторыі захоўваецца ў нашых двух папярэдніх табліцах. Таму, нам трэба захоўваць толькі два апазнавальныя цэлы лік у гэтай табліцы. Калі нам трэба пашырыць гэтую інфармацыю, мы можам выкарыстоўваць JOIN ў нашым выбар дадзеных каманд для атрымання інфармацыі з некалькіх табліц. Гэты метад захоўвання дадзеных памяншае надмернасць у нашай базе дадзеных і забяспечвае аптымальнае выкарыстанне прасторы на нашых назапашвальніках. Мы разгледзім каманду паглыбленага Рэгіструючы ў будучыні кіраўніцтве. Вось SQL-код для рэалізацыі нашага фінальнага стала:

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

Механізм SQL падае для змены структуры базы дадзеных пасля стварэння

Калі вы асабліва праніклівымі сёння, вы, магчыма, заўважылі, што мы «выпадкова» пры рэалізацыі нашых табліц базы дадзеных апушчаны адно з патрабаванняў да канструкцыі. HR - дырэктар карпарацыі XYZ запытала , што інфармацыя супрацоўнік зарплаты трековой базы дадзеных , і мы не сталі падаваць для гэтага ў табліцах базы дадзеных , якія мы стварылі.

Аднак, не ўсё страчана. Мы можам выкарыстоўваць каманду ALTER TABLE, каб дадаць гэты атрыбут ў нашы існуючых базы дадзеных. Мы хочам захаваць зарплату як цэлае значэнне. Сінтаксіс даволі падобны на каманду CREATE TABLE, тут:

ALTER TABLE ADD супрацоўнікаў зарплатны INTEGER NULL;

Звярніце ўвагу на тое, што мы паказалі, што нулявыя значэнні, дазволеныя для гэтага атрыбуту. У большасці выпадкаў, не існуе варыянт, калі даданне слупка ў існуючую табліцу. Гэта звязана з тым, што табліца ўжо ўтрымлівае радкі, без запісу для гэтага атрыбуту. Такім чынам, СКБД аўтаматычна ўстаўляе значэнне NULL , каб запоўніць пустэчу.

І гэта абгортвае наш погляд на працэс SQL базы дадзеных і стварэння табліцы. Перепроверьте часта для новай растэрміноўкі ў нашым SQL падручнік серыі. Калі вы хочаце па электроннай пошце напамін, калі новыя артыкулы дададзены на сайт аб базах дадзеных, не забудзьцеся падпісацца на нашу рассылку!