Управление на съобщенията за грешка



страница3/3
Дата27.05.2017
Размер301.94 Kb.
#22158
1   2   3
MySQL и PHP

Невъзможно е да си представим модерен и високофункционален Уеб сайт, в основата на който не стои база данни. Множество от функциите, които правят страниците привлекателни не биха могли да съществуват, услуги като онлайн банкиране, пазаруване и дори просто организиране на информацията, са немислими без някакъв вид система за бази данни. Няма да навлизаме в технологични и терминологични подробности, а ще покажем как да използвате напрактика една от най-популярните и разпостранени в Интернет системи за управление на бази данни - MySQL. Повече за самата система можете да откриете в сайта на фирмата - производителка http://www.mysql.com.
Основната версия на системата е безплатна за използване, без значение с комерсиални или идеални цели, като това е една от основните причини за широката й популярност. Това не означава, че възможностите, които предлага са недостатъчни. Системата може да изпълнява заявките на неограничен брой потребители, издържа до 50 милиона записа, предлага лесна за използване система за управление на правата на различните потребители, отлична скорост на обработка на заявките.


MySQL

MySQL е система за управление на релационна база данни (БД), която използва Structured Query Language (SQL) - най-популярният език за добавяне, прочитане и обработка на информация в базите данни днес. Системата е с отворен код и използването й се подчинява на лиценза GPL. Първата версия на MySQL се появи през януари 1998 година. Може да се използва с голяма група програмни езици - C, C++, Eiffel, Java, Perl, PHP, Python и Tcl и има версии за Linux, UNIX и Windows.
Системата за управление на релационна база данни (RDBMS) позволява създаването, администрирането и работата с релациони бази данни. Тези БД представляват съвкупности от информационни единици, организирани формално в таблици. Достъпът и промяната на данните се извършва без да е необходимо реорганизирането на таблиците или каквото и да било друго в БД. Едно от най-важните предимства на релационните БД е лекотата с която се създават, четат и изтриват записите, както и лесната разширяемост.
Спецовете обясняват, че релационната БД се състои от таблици, в които данните са подредени по колони(категории). Всеки ред съдържа уникално смислено съчетание от данни (стойности на колоните). Така таблицата всъщност свързва категориите, тя е "релация" между тях. Данните от различни таблици също могат да са свързани -- така имаме отново релация, но този път между таблиците. По този начин таблиците и връзките между тях спояват данните в едно логическо цяло, и именно то е (релационна) базата данни.. Ако последните няколко изречения не са ви ясни, няма проблеми. За да не ви се смеят "знаещите", трябва само да запомните, че MySQL не е база данни, а система за управление на база данни. И то не на каква да е БД, а на релационна. Толкова с теорията.
За да стане по-ясен текстът от тук нататък, ще кажем, че базата данни се състои от таблици, всяка от които има колони (указващи каква информация трябва да се съхрани там) и редове (представляващи записите). Всяко парче от данните се поставя в полагащото му се сечение между редовете и колоните - т.е. в съответното поле.


Таблиците

За да покажем как се използва MySQL ще направим една примерна и доста упростена директория от линкове. Нещо като dir.bg, където хората отиват, избират си категория и гледат какви линкове е сложил админът вътре. Нашият вариант на директория ще е доста по-простичък, но нищо не пречи след време да се поупражнявате върху него и да направите супер-съвършенна система за класификация на адреси.

Тук няма да обясняваме как се създава потребител за MySQL сървъра, как се определят правата му, как се създават бази данни и т.н. Приемаме, че сте си намерили хостинг, където администраторът се е погрижил да ви даде потребителско име, парола, база данни, както и информация за адреса и порта на MySQL сървъра (обикновено 6667).


За онагледяване на примерите ще използваме пакета phpMyAdmin (
http://www.phpmyadmin.net/), който предоставя Уеб базиран интерфейс към системата. Ще покажем и основните конструкции за изпращане на запитване към БД сървъра.

За да създадем директорията имаме нужда от две таблици - в едната ще съхраняваме категориите, в другата - информацията за сайтовете. Логическата връзка между двете таблици ще се осъществява посредством полета, съдържащи вътрешен идентификатор на категориите, както ще покажем след малко. Като допълнителна възможност - всяка категория ще има възможност да съдържа неопределен брой подкатегории.


Таблицата с категориите ще съдържа три колони - идентификатор на категорията (catid), който ще е число, име на категорията (catname), което ще е низ до 100 знака, без значение дали съдържа букви, цифри и т.н. и идентификатор на родителската категория (catparent).
Основният ключ (primary key) на таблицата ще е полето catid, а имената на категориите няма да могат да се повтарят. Създаваме таблицата така:


CREATE TABLE categories (
catid int(20) NOT NULL auto_increment,
catname varchar(100) NOT NULL,
catparent int(20),
PRIMARY KEY (catid),
UNIQUE CatName (catname)
);



Таблицата със сайтовете ще има общо седем колони - идентификатор на линка (linkid), идентификатор на категорията, в която е класифициран сайта (catid), който е логическата връзка между двете таблици, URL (url) - низ до 255 знака, име на сайта (linkname) - низ до 100 знака, име на добавилия сайта в директорията (izpratil), неговия e-mail адрес (izpratilemail) и дата на добавяне. Основният ключ на таблицата ще е идентификатора на сайта, а за да не стават повторения, URL полето ще трябва да е уникално. Тази таблица създаваме така:
 


CREATE TABLE links (
linkid int(20) NOT NULL auto_increment,
catid int(20) DEFAULT '0' NOT NULL,
url varchar(255) NOT NULL,
linkname varchar(100) NOT NULL,
izpratil varchar(100) NOT NULL,
izpratilemail varchar(100) NOT NULL,
data int(20) DEFAULT '0' NOT NULL,
PRIMARY KEY (linkid),
UNIQUE Url (url)
);



Създаваме таблиците с SQL инструкцията
CREATE TABLE име (дефиниране на таблицата). Синтаксисът може да е доста по-сложен, за подробности погледнете документацията на адрес http://www.mysql.com/doc/en/CREATE_TABLE.html. В скобите указваме структурата на бъдещата таблица, като имаме предвид типа на данните, които искаме да съхраняваме в нея. Отделните иснтрукции се разделят със запетайки, но след последната запетайка не се поставя! Няма значение дали оставяте интервал след запетайката или не.

За създаване на таблици можете да използвате phpMyAdmin, за който вече стана дума, но така или иначе трябва да разберете смисъла на основните типове данни, за да постигнете някакъв резултат. Ако се опитате да създадете таблица, съдържаща полета с неправилно описани изисквания за типа информация, ще получите съобщения за грешка. Ако все пак успеете, то проблемите ще се появят на следващ етап, когато таблицата няма да се държи по начина, по който очаквате.



Базата ни данни вече притежава двете таблици, необходими за директорията :
 


Типове данни в MySQL

MySQL предлага поддръжка на различни типове данни, но най-вероятно поне на първо време ще са ви необходими четири или пет от тях. Ето описанията на основните, с "х" в скобите е обозначено число, указващо дължината на записа, а квадратни скоби са показани параметри, които не са задължителни.

CHAR (х) - низове с точно определена дължина. Възможната стойност за х е от 1 до 255. Пример :user_id CHAR(10) - очаква се името на модела да е точно 10 символа.

VARCHAR (х) - низове с максимална дължина х. Отново възможните стойности са между 1 и 255. Пример : user_id VARCHAR(10).

INT (х) [Unsigned] - използва се за указване на цели числа между -2147483648 и 2147483647. Ако се използва Unsigned, тогава валидните числа са между 0 и 4294967295. Пример : user_phone INT.

FLOAT [(M,D)] - указва малко дробно число, като М регулира общия брой цифри, от които може да се състои числото, а D ограничава колко от тях може да са зад десетичната запетая.
Ако числото е с повече цифри след запетаята, се прави закръгляне. Пример : suma FLOAT (4,2) - означава, че ако поставите в това поле числа като 2,31 или 22,56, а също и 1, 34 или 1,2, те ще бъдат съхранени правилно. Но ако се опитате да сложите нещо като 32,567, на практика в полето ще се запише 32,57. Ако искате да сте сигурни, че няма да се получи закръгляне, можете да използвате типа DECIMAL.

DATE - използва се за съхранение на дати, както говори и името. Форматът по подразбиране е "ГГГГ-ММ-ДД", като можете да поставяте стойности от '0000-00-00' до '9999-12-31'. MySQL поддържа множество команди за работа с дати, които няма да обсъждаме тук. Пример : born DATE.

TEXT - служи за съхраняване на по-големи низове - от 255 до 65535 символа. При търсене в низовете, съхранявани в такива полета, MySQL няма да прави разлика между малкии големи букви.

BLOB - също като TEXT, с разликата, че търсенето тук взима предвид малките и големи букви.

SET - по-сложна дефиниция, която може би никога няма да използвате, но е добре да знаете. Може да съдържа до 64 предварително дефинирани стойности, от които могат да се избират една или повече. Например : transport SET ("vlak", "avtobus") NOT NULL - от тук имам четири възможности за избор - нито едно от двете, само едното от тях (влак ИЛИ автобус) или и двете (влак И автобус). Както забелязвате, възможните стойности се задават в момента на създаването на таблицата.

ENUM - също като SET, но е позволено избирането само на една стойност. Ако се върнем на горния пример, тук не можем да изберем варианта влак И автобус.


Още за създаването на таблиците

Както забелязахте, когато създавахме двете таблици за директорията - "categories" и "links", дадохме и други инструкции за структурите им, освен типовете данни на отделните полета. Нека погледнем следните инструкциии :



linkid int(20) NOT NULL auto_increment,
PRIMARY KEY (linkid),
UNIQUE Url (url)


NOT NULL означава, че полето не може да остане празно в нито един от записите в таблицата. Попълването му е задължително, в противен случай ще се появи информация за грешка.

AUTO_INCREMENT означава, че стойността на това поле автоматично ще бъде добавена като към стойността на полето от предходния запис се добави 1. Обикновено при този тип полета посочвате NULL като стойност при добавянето на записа. Използва се често за създаване на уникален идентификатор за отделните записи и може да ви свърши много полезна работа.
PRIMARY KEY (първичен ключ на таблицата) е онова поле, което системата използва за да разграничава различните записи. Не може да има два различни реда с една и съюа тойност на полето, определено за първичен ключ. Всяка таблица има свой PRIMARY KEY.
UNIQUE също ще ви гарантира уникалността на информацията. Например в таблицата с линковете искаме да сме сигурни, че в директорията ни няма да има отправки към един и същ сайт два ПЪТИ.
Каталог: wp-content -> uploads -> 2014
2014 -> Роля на клъстерите за подобряване използването на човешките ресурси в малките и средни предприятия от сектора на информационните технологии
2014 -> Докладна записка от Петър Андреев Киров Кмет на община Елхово
2014 -> Биография: Цироза е траш група от град Монтана. Началото й дават Валери Геров (вокал/китара), Бойко Йорданов и Петър Светлинов (барабани) през 2002година
2014 -> Албум на Първични Счетоводни Документи 01. Фактура
2014 -> Гр. Казанлък Утвърдил
2014 -> 1. Do you live in Madrid? A
2014 -> Брашно – тип „500” седмична справка: средни цени за периода 3 10 септември 2014 Г
2014 -> Права на родителите: Да изискват и получават информация за развитието, възпитанието и здравословното състояние на детето, както и информация за програмите, по които се извършва възпитателно-образователната работа в одз№116


Сподели с приятели:
1   2   3




©obuch.info 2024
отнасят до администрацията

    Начална страница