Защо да използвате MySQL
MySQL е система от "клиент-сървър"
Това означава, че MySQL е един от SQL-сървър, който поддържа множество функции (в действителност, той върши цялата работа с бази данни), няколко различни програми на клиента (те само да осигурява интерфейс между потребителя и сървъра), административни инструменти и повече програмни интерфейси. Клиентите комуникират със сървъра, използвайки собствената си мрежа протокол.
Тази схема позволява на голям брой потребители едновременно да се работи със сървъра. Включително съвместно обработване на едни и същи данни, без да пречат един на друг. Това взаимодействие ще бъде разгледан по-подробно в следващите глави.
Обикновено, на клиента и сървъра се използват на различни компютри, но предположи вариант инсталирате двете части на една и съща компютърна пакета. Дори в рамките на един компютър ще продължат да използват мрежата, за да съобщят на клиента и сървъра. Между другото, трябва да се отбележи, че на клиента и сървъра може да работи на различни операционни системи, да не пречи с нищо. MySQL вече е достъпна в повече от една дузина операционни системи.
MySQL-е система за напълно многонишковите
Това означава, че пакетът може лесно да използвате много процесори, ако има такива. Много системи за сървъри, които вече бяха на няколко процесора. В такива системи могат MySQL строго паралелно да изпълнява множество запитвания до бази данни (по един за всеки процесор).
MySQL е пакет от отворен код
Това означава, че пакетът може лесно да бъде променен, за да отговаря на нуждите ви, всеки, който е добре запознат с програмирането. Написа важна промяна в пакета, техник да го изпратите на основния пакет сайт за евентуално включване в следващата версия. Това е благодарение на тази схема, развитието на MySQL се развива много бързо и като се вземат предвид нуждите на крайните потребители, както и всички грешки са отстранени възможно най-скоро. Този имот е може би първата причина за високата популярност на пакета: с правилното умение можете да настроите според вашите нужди.
MySQL е безплатна в повечето случаи
MySQL е предназначен за некомерсиална употреба. Ако използвате пакет за организиране на форум, книги за гости системата или блогове, вие не трябва да се плаща за всеки лиценз. Просто изтеглете пакет от своя уебсайт и да го поставите на вашия сървър. Но ако имате нужда от техническа помощ, тук за това ще трябва да плати. Забележка: на борда е взето за техническа поддръжка, но не и за използването на програмата. Този имот е предоставил голяма част от СУБД такава висока популярност.
Сега погледнем по-отблизо абсолютно необходимо терминология, която ще бъде необходима, когато следното описание, както и основните принципи на бази данни, така че да можете поне в общи линии, представляват, това, което се занимава. На пръв поглед дългия списък от условия, но те са необходими.
Тъй като всички данни се съхраняват във вид на таблици, трябва ясно да се определи вида на таблици и подходяща терминология. Таблицата се състои от клетки. всеки от които може да съхранява някои данни. Ако клетката няма данни в момента не притежава, той се нарича празна.
А маса се състои от вертикални колони и хоризонтални редове, в които са групирани в клетката. Таблица строго правоъгълна. т.е. всички линии и същ брой клетки, както и във всички колони от същия брой редове.
Всеки ред в таблицата се нарича запис. Всяка клетка се нарича запис поле запис. От областта може да се съхранява на различни данни, за да се опрости работата с идеята за тип. Всяка клетка има свой собствен вид и може да се съхранява само подходящия тип на данните, които трябва да се разбере, когато се работи със системата.
В MySQL, се приема, че типа на данните се определя на колона в таблицата и важи за всички клетки в тази графа. Това означава, че ако първата колона се задава определен тип (например, знак), това означава, че първото поле на всеки запис в таблицата винаги ще бъде просто един знак, и никой друг.
Това е много важно! Повечето от времето, което ще работи с колоните, тъй като те се определи вида на данните и структурата на таблицата. Редове в таблицата не са номерирани, те съществуват само за по-лесно боравене данни. В повечето случаи, броят на записите в таблицата, която дори не трябва да се интересуват. данни за работа, както и тяхната структура се определя от вида и реда на колони. Броят на записите е важно само за сървъра.
Базата данни може да се състои от няколко различни таблици. Точният им брой е ограничен, най-вече паметта на компютъра. Сървърът може да съхранява много бази данни. Трябва да се отбележи, че можете да смесвате маси от различни бази данни в един заявка.
Таблицата също има тип и атрибути. На това зависи набора от възможности, които са на разположение, когато се работи с тази таблица, както и логиката на тяхното обработване сървър. Това ще бъде обсъдено по-подробно по-късно.
Сега нека да поговорим за данните в полетата. За да се направи нещо с някои данни, те първо трябва да се намери. За да направите това, както и използването на езика SQL. На него са написани искания по време на преработката, която сканира сървъра таблицата на базата данни е посочено в искането за критериите, изисквани данни и нещо общо с тях (т.е. зависи от заявката).
Данните, на които да търсят записи, наречени клавиши. Когато записвате няколко полета, можете да го намерите на различни ключове, всеки на своята нива. Ключът, който е най-вероятно да се търси за записи, се нарича първичен ключ (PRIMARYKEY). Ключът не може да бъде ограничен до едно поле, но до няколко.
Един от ключовите може да се намери един или повече записи. Ако даден ключ може да се намери само един конкретен запис, уникален ключ, наречен (UNIQUE). Ключът е да се намери подходящ брой различни записи в таблицата, която се нарича не-уникален.
Ето и стигна до кодовете за помощ. Индексът е един вид съдържание, което изброява какво намерени конкретни записи някои данни. Тя може да се сравни с търсенето в интернет, където търсачките магазин данни за това, страниците са налични за някои думи. Индекси в MySQL правят същото. е необходимо да се създаде специално индекс, само по себе си тя не е построена (как да го създаде, ще бъдат обсъдени по-късно).
В процеса на изграждане на индекс отнема много време, но след създаването на сървъра вече не сканира цялата таблица за данни: Търсят се данни за индекса, където всяка поява на стойностите, посочени в таблицата показват, какви конкретни клетки на таблицата можете да намерите точните данни. Това значително ускорява работата (десетки пъти).
Оказва се, че за всяка таблица понякога трябва да има няколко различни индекси. В MySQL, можете да получите до 32 индекси на маса. Максималната дължина на индекс (т.е. продължителността на всеки запис в индекса) е до 500 байта. Индексът може да включва данни от няколко колони наведнъж (в текущата реализация MySQL максималният брой колони във всеки индекс е 15).
Защото индекси са изградени в съответствие с полетата от записите, както и всяко поле може да се разглежда като ключов, да кажем на индекса се базира на ключовете. Индексът, изградена въз основа на първичния ключ трябва да се използват при търсене на най-вероятната нарича първичен индекс.
Всички колони имат стойности по подразбиране. Това означава, че ако дадена област не е изрично определен, той ще бъде автоматично до стойност, по подразбиране, която е специфична за всеки тип колона. Настройката по подразбиране може да се промени при създаването на колоната.
Всяка колона в таблицата има уникално име. Имената са и таблици и бази данни. В някои случаи, които ще бъдат обсъдени по-долу, колоната трябва да има няколко имена. В този случай, името се счита само един, който е носител на колоната, когато тя е създадена, а останалата част се наричат псевдоними. Има и псевдоними за имена на таблици.
Колоните не са непременно, както и таблици. Таблицата може да се промени, ако е необходимо, чрез добавяне или изтриване на колони, промяна на вида им. В SQL оператори, можете да получите достъп до таблици от различни бази данни с синтаксис db_name. Това ви позволява да укажете името на дълга маса и еднозначно нарича пълно име на таблица.
Можете също така да се отнасят до колона във всяка маса се посочва Imya_bazy_dannyh.Imya_tablitsy.Imya_stolbtsa синтаксис. Този дизайн дава възможност за уникална идентификация на колоната и се отнася до пълното име на колоната.
Колони, освен името и вида могат да имат и допълнителни атрибути. които определят как сървърът обработва определена графа се промени логиката на сървъра тази графа. Прехвърляне на атрибут колона е еквивалентно на определяне на съответната колона от областта на атрибут на всеки запис в таблицата. Имайте предвид, че колоните от същия тип, но с различни атрибути се обработват по различни начини.
По време на работата с базата данни винаги се смята за всяка база данни, за да бъдат активни или ток. В него има някаква активна маса. Тя е активна маса на всички действия, които ще се извършват в текущата база данни, освен ако изрично посочва друго.
Когато се отнася до колона в таблицата може да бъде активен, вместо пълното му име (с посочване на база данни и таблици) да се уточни само името на колона. Тя автоматично ще бъде допълнен с активен маса на името на текущата база данни, което значително ускорява процеса на въвеждане. Също така, ако се отнасят до една колона в друга таблица в текущата база данни, можете да посочите името си като Imya_tablitsy.Imya_stolbtsa. понижаване на DatabaseName. тя ще бъде равна на текущата база данни.
В това, което следва, ще намерите условията на поток. Поток това ръководство MySQL представлява връзката си със сървъра на база данни. Всички команди, които въвеждате важат само за този поток. Моля, имайте предвид, че ако сте създали няколко различни съединения от същата база данни (например чрез отварянето на няколко клиентски копия), всяка връзка е напълно независим поток, нищо извън контрола на другите. Това е и основната разлика между потребителя и на потока от един потребител може да бъде представена от няколко независими потоци. По-късно ще покажем в какво капани може да направи.
Wildcard символи или заместващи символи са тези знаци, които могат да отговарят на определен брой други символи. Например, когато се работи в Windows, има вероятност да попаднете със звездичка (*), което означава всеки низ от случайни знаци. Този метод се използва широко при работа с групи от файлове. Това е маска.
Регулярни изрази са определена последователност от символи, част или всички символи, които са смяна. Например, когато се работи в Windows, можете най-вероятно ще попаднете тип нотация * .doc а (отговаря на всички док файлове в текущата директория) или *. * (Определя всички файлове в директория). Това е регулярен израз, но в Windows те се наричат по различен начин. Както можете да видите, нищо сложно за тях. В MySQL, вие не просто се срещне с такива изрази (въпреки Kuts по-сложно). Тя е с тяхна помощ зададените критерии за търсене на информация.
Сега нека да се мисли за такъв сложен въпрос: сървърът позволява на множество потребители да използват една и съща база данни (дори и с една и съща маса). Но как да се гарантира целостта на данните? Ако един потребител пише едни и същи данни, а другата в същото време се опитва да промени тези данни, те смачка цялата база данни. Как да се избегне това?
Има два начина за задаване на разделението и MySQL използва двамата, макар и на различни видове маси. Първият е транзакционния модел. втора атомна модификация.
Транзакциите, посочени някои експлоатация на база данни, която не може да бъде разделен на няколко отделни операции. Пълното описание на двете споменати по-горе понятия са много трудно, и в тази книга изглежда е излишно, така че ние ги разглеждаме само от гледна точка на потребителя на.
Така че, изглежда, че работата на сделка? Сървърът е следното: на първо място, се установи, че тя е в таблицата се променя, а след това имайте предвид, че тук тези клетки се променят по някакъв начин, тогава всъщност правят промени, и след това се поставя, е знак, че е извършена манипулацията. В същото време, за промени на маса или се връща на стари данни, или не се връща нищо, но в никакъв случай не позволява двама потребители едновременно да правят промени в едни и същи данни. На първо място, първа модификация на краищата, тогава причината е взето следващата.
Разликата между сделката и атомния промяната, ако игнорираме цялата научна теория за крайния потребител е, че в случай на транзакции модел, потребителят след това може да задава въпроси, която променя някои данни, посочени в таблицата, за да решат как той иска да завърши сделката: да дали да запазите промените (комит) или да отхвърлите (кауза пренавиване, намаление на цените), като по този начин се върне на масата на държавата, която го е имал преди искането за повикване. Трябва да се отбележи, че има настройка за автоматично спаси всички промени (AUTO_COMMIT). Атомното модел на промяна не може да се промени: те са на масата на преговорите веднага. Извършва се в момента сделка се нарича активен.
Ако ние говорим за поддържаните формата на таблицата, трябва незабавно да стане ясно за какво MySQL поддържа няколко различни формати. Някои работят на базата на сделки, различни модификации на ядрената енергия за крайния потребител винаги е било избор за това какво да се използва. Трябва да се отбележи, че моделът на сделката е много по-трудна за изпълнение, отколкото ядрената и затова подкрепата сделка в MySQL се появи много по-късно. Неговият формат MySQL (MyISAM и ИПМ) използва точно атомния промяната, но прилагането им толкова добре, че от гледна точка на надеждност, те са толкова добри, колкото транзакционни модели за достъп. Таблица 1.1. показва поддържаните типове MySQL таблицата със своите кратки описания.
Таблица 1.1. Кратко описание на поддържаните типове MySQL таблици.