Категория ‘Бази от Данни’
* Нормализация на бази от данни – докъде?
Публикувано на 20 май 2009 в раздел Бази от Данни.
Текстът по-долу не е мой, а е реферат на студента Никола Костадинов Симеонов.
тема:
До къде може да стигнем с номализацията?
Никола Костадинов Симеонов, ТУ-София, ФКСУ, гр. 57
* Разделяне на части (partitioning)
Публикувано на 20 май 2009 в раздел Бази от Данни.
Представената по-долу статия е написана във вид на реферат от студентката Павлина Темелакиева от Технически Университет - София.
Тема:
"Постигане на висока производителсност
на базата данни чрез разделяне на части"
Павлина Евгениева Темелакиева, ТУ – София , ФКСУ, гр. 63А
* FULL JOIN в MySQL
Публикувано на 20 май 2009 в раздел Бази от Данни.
След като научихме заявките, използващи UNION, вече сме готови да посочим как се прави и липсващия в MySQL FULL JOIN. Ще използваме таблиците с плодове и зеленчуци от предишната статия.
Нека припомним как работеха LEFT и RIGHT JOIN. За целта ще направим многотаблична заявка по колоната "цена": Прочети още...
* UNION
Публикувано на 20 май 2009 в раздел Бази от Данни.
Не споменахме една пренебрегната досега възможност на SQL, а именно - обединението. То се използва, за да може две или повече SELECT заявки да бъдат комбинирани в една резултатна таблица. Нека преди да демонстрираме да създадем една примерна база от данни: Прочети още...
* Логически оператори и цикли
Публикувано на 19 април 2009 в раздел Бази от Данни.
Чрез процедурите MySQL много наподобява завършен език за програмиране. За това силно спомагат възможностите за логически оператори и цикли. Ще ги разгледаме поотделно:
1. IF-ELSE:
Операторите IF-ELSE имат следната структура:
IF <условие> THEN <заявки>; ELSE <заявки>; END IF;
Нека демонстрираме с един пример - процедура, на която подаваме параметри сума и номер на акаунт. Процедурата връща резултат "1" ако в акаунта има повече пари от посочените или "0" в противен случай: Прочети още...
* Процедури и входни параметри
Публикувано на 18 април 2009 в раздел Бази от Данни.
Процедурите ни дават възможност да създаваме скриптове за извършване на типизирани заявки с различни входни данни. Нека демонстрираме една елементарна процедура, която извиква обикновена заявка SELECT: Прочети още...
* Заключване на данните при трансакция
Публикувано на 18 април 2009 в раздел Бази от Данни.
Синхронизацията на данните е изключително важна. За да демонстрираме това нека покажем първо един пример. Нека проверим колко пари има в акаунт с id = 1:
mysql> USE banks; Database changed mysql> SELECT amount FROM accounts WHERE id = 1; +--------+ | amount | +--------+ | 306.38 | +--------+ 1 row in set (0.00 sec)
Сега нека напишем заявка UPDATE, с която искаме да изтеглим 500 лева, но така, че ако искаме да няма такава наличност, то заявката да не се изпълни: Прочети още...
* Трансакции
Публикувано на 18 април 2009 в раздел Бази от Данни.
Трансакция наричаме последователност от SQL заявки, които трябва да изпълняват условието или всичките да бъдат изпълнени или нито една от тях да не бъде изпълнена. Може да дадем класически пример с банковите трансакции. Например, ако искаме да прехвърлим 50 лева от акаунт 1 в акаунт 2, то трябва да изпълним следните две заявки:
* Настройки на MySQL server
Публикувано на 08 април 2009 в раздел Бази от Данни.
MySQL сървърите са изключително лесни за настройка - повечето от опциите се контролират от един текстов файл. Под Linux/BSD той е /etc/my.cnf, а под Windows файлът се казва my.ini и се намира в инсталационната директория на MySQL.
По настройките има някои съществени разлики между Linux-базираните платформи и Windows варианта. Понеже MySQL се използва по-често под Linux и FreeBSD, то ще разгледаме предимно настройки за тези платформи. Някои от тях може би не са валидни под Windows.
В MySQL има изключително много променливи за настройка. Някои от тях обаче са изключително важни за общото бързодействие на системата. За да видите списък на променливите и техните стойности използвайте следната команда: Прочети още...
* Индекси
Публикувано на 08 април 2009 в раздел Бази от Данни.
Индексите са обекти в базата данни, които ни осигуряват бърз достъп до редовете на базова таблица, чрез физическото представяне (адреси в паметта) на данните. Индексите се създават върху колони на таблиците.
Присъствието или отсъствието на индекс няма ефект върху крайния резултат на заявките. Единствената разлика е в евентуалното повишено бързодействие (при по-големи таблици може разликата да е огромна). Важно е обаче да създаваме индексите правилно, защото от това зависи дали системата ще ги използва или не.
За да демонстрираме повишеното бързодействие сме изпълнили една проста заявка на доста бавен компютър.: Прочети още...