КампутарыПраграмаванне

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

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

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

Простыя адносіны = эфектыўная рэалізацыя

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

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

Прымяненне просты канструкцыі MySQL create table прыводзіць да фарміравання простых і зручных ў выкарыстанні дзясяткаў табліц, фармалізуе вобласць ужывання задачы. Пачаць выкарыстоўваць «мускул» вельмі проста, але пасля першага дзесятка табліц рэляцыйныя адносіны спараджаюць іншыя адносіны да інфармацыі, яе прадстаўленні, захоўванні і выкарыстанні.

Часовае, кантраляванае і пастаяннае

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

Акрамя асноўных табліц канструкцыя create temporary table MySQL прадастаўляе праграмісту ствараць часовыя структуры дадзеных, якія існуюць на працягу бягучага сеансу, візіту канкрэтнага карыстальніка, з'яўлення пэўнага падзеі.

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

Падаючы інструмент стварэння часовых табліц create temporary table, MySQL дае магчымасць падзяліць базу дадзеных на статычную і дынамічную складнікі. Паказаўшы тыпы палёў табліцы, праграміст можа аўтаматычна кіраваць правільнасцю яе фарміравання. Выкарыстоўваючы канструкцыю MySQL create table check, распрацоўшчык можа паказаць ўмовы запаўнення палёў. Хоць гэты варыянт - хутчэй магчымасць палегчыць міграцыю SQL канструкцый з іншых дыялектаў.

Інфармацыйная прастора: кропкі і сістэмы

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

Аднак не абавязкова прытрымлівацца правілах MySQL, create table можа стварыць зусім не тое, што прадугледжана яе сінтаксісам.

У гэтым прыкладзе поля code_back, owner_code і session_code вызначаюць ключы адпаведна па вяртанню, кліенту і сесіі. Не толькі выкарыстанне нестандартнага варыянту MySQL create table, key тут не ляжыць у яе вобласці кампетэнцыі, а распісаны па сэнсе: код звароту ў выпадку незавяршэння транзакцыі, код актыўнага кліента і код сесіі, якіх можа быць некалькі для дадзенага кліента, але ад яго залежыць, куды па кодзе вяртання пяройдзе кіраванне.

Тут таксама нестандартна выкарыстанне палёў h_code, a_contents і a_surprise. Тут у create table MySQL прыклад таго, як адно поле можа ўтрымліваць не дадзеныя, а семантыку. У любой сітуацыі, калі трэба мець табліцу кліентаў, цалкам разумна стварыць кэш актыўнай частцы гэтай табліцы. Пры гэтым зусім не абавязкова рабіць гэта адэкватна зыходнай структуры дадзеных. Так, напрыклад, поле a_contents атрымае змест: імя; пароль; e-mail, а поле a_surprise - бягучы стан карыстальніка.

Ідэя a_contents і / або a_surprise

Такі варыянт не запатрабуе доступу да асноўнай табліцы, якая можа быць вялікі і грувасткай, а дазволіць абмежавацца маленькай, якая змяшчае толькі актуальную інфармацыю. Тут create table MySQL - прыклад таго, што можна зрабіць уваход кліента па імі і паролю, або паролі і e-mail ў простым умове: (a_contents like '{$ cUserName}; {$ cUserPass}%') or (a_contents like '% {$ cUserPass}; {$ cUserName} ').

У гэтым прыкладзе выкарыстоўваецца ўласная функцыя праверкі наяўнасці табліцы: scTableExists ( 'rm_cache') паколькі калі табліцы няма, трэба будзе не толькі яе стварыць, але і запісаць, напрыклад, некалькі пачатковых запісаў з дадзенымі адміністратараў рэсурсу.

Стандартны варыянт create table if not exists MySQL прапануе ў абмежаваным варыянце праверку наяўнасці табліцы і яе стварэння ў выпадку адсутнасці. Звычайна гэтага недастаткова. Трэба не толькі праверыць наяўнасць табліцы, але і запоўніць яе пачатковай інфармацыяй.

Вочка простага тыпу

Спецыфіка моў выкарыстання MySQL, у прыватнасці PHP, традыцыйна мінімізуе аб'ём папулярных дадзеных: перш за ўсё, нетипированностью сваіх зменных. Часцей за ўсё выкарыстоўваюцца радкі, па меры неабходнасці - лікі і даты, часам лагічныя дадзеныя. Больш шырокія магчымасці апісання дадзеных на MySQL create table рэдка ўтрымлівае. Хоць апошняе вызначаецца вырашаемай задачай. Магчыма выкарыстанне ўсяго асартыменту даных з дапамогай create table MySQL, прыклад - любая сучасная сістэма кіравання кантэнтам сайта.

Што і як выкарыстоўваць - вызначае распрацоўшчык. У сапраўдны момант часу, па дадзеных вікіпедыі, аб'ёмныя і хуткасныя магчымасці MySQL могуць задаволіць самыя ёмістыя фантазіі заказчыка з улікам вопыту выкарыстоўванага распрацоўніка. Пры выкарыстанні на MySQL create table default-канструкцыі дазваляюць ствараць чыстыя (пустыя табліцы) з вочкамі зменнай даўжыні і фармаваць дынамічнае змесціва ў працэсе працы.

Складаныя структуры дадзеных

Арыентацыя на простыя тыпы дадзеных, у першую чаргу радкі, прывяла да росту цікавасці да канструявання складаных інфармацыйных аб'ектаў, што пры працы з базай дадзеных ператвараецца ў захоўванне ў асноўным радкоў, лікаў (індэксы - часцей за ўсё), дат і "вялікіх дадзеных" - карцінкі , гукі, іншы ёмісты кантэнт. Тут дыялект Create Table SQL MySQL практычна не абмяжоўвае. Пры ўсёй прастаце і даступнасці «мускула» праграміст мае ў сваім распараджэнні ўсю моц рэальнага SQL мовы.

Вонкава простая з пункту гледжання базы дадзеных вочка тыпу char або varchar ператвараецца ў алгарытм пры чытанні ў паўнавартасны аб'ект - складаную структуру дадзеных (ўласцівасці і метады, сінтаксіс і семантыка), а пры запісе зноў звяртаецца ў кампактную форму, сутнасць якой вызначаецца распрацоўшчыкам.

элементарная табліца

Толькі калонкі, толькі радкі і толькі адзін элемент на іх скрыжаванні, і толькі аднаго тыпу - вочка. Такое базавую правіла канструкцыі MySQL "create table". Ніякай тып дадзеных MySQL не адрозніваецца арыгінальнасцю: лікі, радкі сімвалаў, даты ... Гэта не выцякае з сінтаксісу, але так атрымліваецца на практыцы.

Праграміст, інтэрпрэтуючы вочка, можа дапусціць у ёй аб'ект любога тыпу, абумоўленага патрабаваннямі задачы. З пункту гледжання базы дадзеных гэты "любы тып" - усяго толькі радок.

Зрэшты, усё роўна, што і як аддае перавагу выкарыстоўваць распрацоўшчык. Важна, што ў сапраўдны момант часу (па дадзеных вікіпедыі) аб'ёмныя і хуткасныя параметры MySQL могуць задаволіць самыя ёмістыя фантазіі заказчыка з улікам вопыту выкарыстоўванага распрацоўніка.

«Жывучыя» аказваюцца самыя простыя табліцы, уладкованыя максімальна простым спосабам. Калі распрацоўшчык ўкладвае ў кожнае поле належны сэнс, надаючы яго ў тып char або varchar ў рамках устаноўленага MySQL create table syntax, то табліца будзе працаваць.

цэлалікавых табліца

Варта асобна пагаварыць пра індэксы ў MySQL. Create table дазваляе адразу іх апісаць і выкарыстоўваць для доступу да вялікіх аб'ёмах дадзеных. Такі падыход вельмі растлумачым, звыклы і адпрацаваны да такіх дробязяў, што аптымізацыя ўпіраецца ў хуткасць працэсара, кэшаванне выбарак, хітрыя алгарытмы падліку, часта выбіраемых дадзеных, праўку php.ini, my.ini і httpd.conf.

Між тым ніхто не перашкаджае распрацоўніку стварыць сваё ўласнае ўяўленне «пра дадзеныя» - «ключах да дадзеных», для прастаты цэлалікавых - ні аднаго радка ў табліцы, толькі колькасці. Мікрапраектаў create table int MySQL забяспечыць усім неабходным астатнія табліцы: хуткі доступ, простыя аперацыі, поўны функцыянал пры ідэальнай хуткасці.

Цэлыя лікі, арганізаваныя як карта рэальных дадзеных, якія знаходзяцца ў вялікіх і грувасткіх табліцах, без праблем дазволяць паскорыць выбарку і мадыфікацыю інфармацыі. Неабавязкова ствараць такі варыянт ключавога доступу на ўвесь час працы, можна выкарыстоўваць канструкцыю create temporary table, MySQL створыць часовую табліцу перад яе выкарыстаннем. Ці, напрыклад, для кожнага карыстальніка - сваю табліцу ключоў.

У гэтым кантэксце сінтаксісам ня пазначанае выкарыстанне create table if not exists MySQL дазваляе ствараць патрэбныя табліцы нават пры іх непрадбачаных адсутнасці: напрыклад, быў некарэктны уваход / выхад або збой кампутара, і індэксаванне парушылася.

Рэаліі хостынгу - MySQL +

Гістарычна база дадзеных ўяўляла сабой асэнсаванае будынак дадзеных. Канструкцыя M ySQL create table першапачаткова прытрымлівалася класічных уяўленняў аб дадзеных і іх месцы на дыскавай прасторы. Інтэрнэт-праграмаванне, і перш за ўсё варыянты прадастаўлення хостынгу і логіка папулярных сістэм кіравання сайтамі, зрабілі дзіўнае, на першы погляд, зрушэнне: адна база можа ўяўляць сабой сукупнасць некалькіх. Падзел ідзе па прэфіксаў імёнаў табліц.

Некаторыя пастаўшчыкі хостынгу наклалі на імёны баз дадзеных свае патрабаванні, напрыклад, імя базы дадзеных пачынаецца з імя ўладальніка хостынгу.

Па вялікім рахунку не важна, як назваць базу дадзеных і як называць яе табліцы. Аднак якая склалася сітуацыя стала ўяўляць сабой не проста сінтаксіс MySQL, а патрабаванні хостынгу плюс сінтаксіс, то ёсць MySQL +.

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

У прынцыпе, любую задачу лёгка распісаць на элементарныя складнікі, пытанне толькі ў тым, колькі будзе каштаваць такая прастата.

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

Разнастайнасць версій Apache / MySQL / PHP

Залежнасць ад умоў хостынгу - ня столькі бяда, колькі важная ўмова для сучаснага бяспечнага праграмавання. Можна пісаць на PHP 7.0.13, выкарыстоўваць MySQL 5.7.16, але ў заказчыка апынецца хостынг, які дапускае толькі Perl і версію "мускула" 4.1.1 або састарэлую версію PHP.

У асноўным (што, зрэшты, не факт) хостынгі прадастаўляюцца на Linux, FreeBSD, UBUNTU і іншых варыяцыях юникосоподобных сістэм. Усе яны працуюць выдатна, але ў кожнага з іх свае асаблівасці, свае варыянты зборак AMP (Apache, MySQL, PHP). Далёка не заўсёды і не ўсякая каманда спрацуе ў чарговай версіі, хоць яна працавала ў папярэдняй.

Такую простую аперацыю як экспарт базы дадзеных любая версія MySQL робіць без праблем, як з phpMyAdmin, так і з каманднага радка. Зваротная аперацыя па імпарце можа не адбыцца. Часцей за ўсё давядзецца мяняць нешта ў наладах PHP, MySQL-сэрвэра або Apache. Калі змены не дапамагаюць, прыйдзецца шукаць альтэрнатыўныя варыянты.

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

База дадзеных стварэнне / праверка табліцы

Сінтаксіс MySQL create table рэдка выкарыстоўваецца і ў дачыненні ў яго стандартным варыянце. Калі яго не разглядаць у кантэксце папулярных сістэм кіравання сайтамі: тут заўсёды будзе класіка жанру. У штодзённай працы прасцей за ўсё яго разглядаць у кантэксце практыкі: якія поля патрэбныя ў табліцы, які ў іх павінен быць тып і памер. Астатняе ўсё роўна прыйдзецца дапрацоўваць ў працэсе распрацоўкі: набор знакаў, парадак сартавання, ключы.

Аптымальным з'яўляецца такі варыянт алгарытму, пры якім нават адсутнасць базы дадзеных не перашкаджае сайту пачаць працу. Можна напісаць уласную функцыю праверкі наяўнасці базы дадзеных і / або табліцы, калі неабходна сфармаваць не толькі інфармацыйныя структуры, але і запоўніць іх пачатковай інфармацыяй.

Часта досыць выкарыстоўваць серыю канструкцый Create table if not exists, MySQL тады не здзівіць ўладальніка сайта або яго наведвальніка тым, што нечакана паведаміць: базы дадзеных няма, або структура табліц парушаная.

У сучасным праграмаванні агульнае правіла «давярай, але правярай» не працуе, дакладней будзе выкарыстоўваць логіку «правер і выкарыстоўвай».

Create table: MySQL прыклад табліцы карыстальнікаў

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

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

Звычайна база дадзеных MySQL больш абаронена, чым сайт, але ў выпадку збою не выключаны вывад на экран браўзэра ў паведамленнях пра памылкі канфігурацыйнага кода сайта, які змяшчае імёны і паролі да базы дадзеных.

Добрая практыка - падзяліць дадзеныя на статычную і дынамічную складнікі. На прыкладзе табліцы карыстальнікаў можна мець аб'ёмную табліцу users і актыўную cache_users. Першая табліца змяшчае вялікую колькасць карыстальнікаў, другая - толькі тых, хто працаваў у апошнія суткі (напрыклад). Ўсялякі новы карыстальнік, які адсутнічае ў другой табліцы, прыходзіць туды пасля ўваходу / рэгістрацыі і захоўваецца некаторы час.

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

Памяць, інфармацыя і базы дадзеных

У вобласці інфармацыйных тэхналогій неяк не склалася прадстаўляць мова праграмавання з памяццю. Мова - гэта зменныя, канстанты і канструкцыі, якія дазваляюць чым-то і як-то маніпуляваць. База дадзеных - гэта нешта такое якое захоўвае. З яе заўсёды можна нешта выбраць у яе можна нешта запісаць.

Сумяшчаецца мову і база для мэтаў працы з інфармацыяй, але логіка узаемасувязяў ў гэтай трыядзе не гэтак дасканалая, нават як у просты звязку AMP: Apache, PHP, MySQL. Тут усё ясна: сервер, мова праграмавання і база дадзеных - усё, што трэба для пераважнай колькасці задач.

Мова SQL - той жа мова праграмавання, ды і наогул у базе дадзеных ёсць ўласная логіка аперацый, ўласная канцэпцыя праграмавання. Тут у наяўнасці імкненне базы дадзеных у бок праграмавання. PHP - добры інструмент, але сказаць, што ён адэкватна імкнецца ў бок баз дадзеных, пакуль цяжка. Аднак яго канструкцыі і функцыі развіваюцца і ўдасканальваюцца.

Калі ж сумясціць PHP і MySQL ў адзінае цэлае, то атрымаецца інструмент, які валодае памяццю. Варыянт сумяшчэння дае ідэя аб'ектна-арыентаванага праграмавання: аб'ект, апісаны ў мове, на час сваёй непатрэбнасці знаходзіцца ў памяці (у базе дадзеных) у кампактна стане. Калі ж у ім з'яўляецца неабходнасць, ён аднаўляецца ў паўнавартасны аб'ект і дзейнічае ў адпаведнасці са сваёй кампетэнцыяй.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 be.atomiyme.com. Theme powered by WordPress.