Категория ‘DB’
* CHECK constraint
Публикувано на 25 февруари 2010 от Филип Петров. Записано в DB.
В статията за вложен SELECT представихме едно допълнение към ER диаграмата за база данни на университет. Да припомним – проблемът беше, че в оригиналния ER модел връзката между студенти и факултети минаваше през записани учебни предмети. Така ние нямаше възможност да разберем от кой факултет е даден студент, ако той не е записал нито един учебен предмет. Предложеното решение беше да пазим допълнителен външен ключ от таблицата „студенти“ към таблицата „факултети“: Прочети още…
* Още за ограниченията UNIQUE
Публикувано на 25 февруари 2010 от Филип Петров. Записано в DB.
В досега разглежданите примери при CREATE TABLE на няколко пъти показвахме параметър „UNIQUE“, който се добавяше след дадена променлива. Например:
CREATE TABLE university( `id` INT UNSIGNED AUTO_INCREMENT, `name` VARCHAR(255) NOT NULL UNIQUE, PRIMARY KEY(id) )ENGINE=INNODB;
Казахме, че PRIMARY KEY винаги е едновременно NOT NULL и UNIQUE по подразбиране, както и че е възможно да направим комбинация от две или дори повече колони заедно PRIMARY KEY. Прочети още…
* Нормализация на бази данни
Публикувано на 20 май 2009 от Филип Петров. Записано в DB.
Нормализацията на бази данни е една изключително важна тема, която обаче е по-теоретично насочена и поради тази причина не наблягахме досега на нея. Текстът по-долу е реферат на студента Никола Костадинов Симеонов, който смятам, че много добре описва темата „нормализация на бази данни“…
тема:
До къде може да стигнем с номализацията?
Никола Костадинов Симеонов, ТУ-София, ФКСУ, гр. 57
* Разделяне на части (partitioning)
Публикувано на 20 май 2009 от Филип Петров. Записано в DB.
Представената по-долу статия е написана във вид на реферат от студентката Павлина Темелакиева от Технически Университет – София.
Тема:
„Постигане на висока производителсност
на базата данни чрез разделяне на части“
Павлина Евгениева Темелакиева, ТУ – София , ФКСУ, гр. 63А
* FULL JOIN в MySQL
Публикувано на 20 май 2009 от Филип Петров. Записано в DB.
След като научихме заявките, използващи UNION, вече сме готови да посочим как се прави и липсващия в MySQL FULL JOIN. Ще използваме таблиците с плодове и зеленчуци от предишната статия.
Нека припомним как работеха LEFT и RIGHT JOIN. За целта ще направим многотаблична заявка по колоната „цена“: Прочети още…
* UNION
Публикувано на 20 май 2009 от Филип Петров. Записано в DB.
Не споменахме една пренебрегната досега възможност на SQL, а именно – обединението. То се използва, за да може две или повече SELECT заявки да бъдат комбинирани в една резултатна таблица. Нека преди да демонстрираме да създадем една примерна база данни: Прочети още…
* Логически оператори и цикли
Публикувано на 19 април 2009 от Филип Петров. Записано в DB.
Чрез процедурите MySQL много наподобява завършен език за програмиране. За това силно спомагат възможностите за логически оператори и цикли. Ще ги разгледаме поотделно:
1. IF-ELSE:
Операторите IF-ELSE имат следната структура:
IF <условие> THEN <заявки>; ELSE <заявки>; END IF;
Нека демонстрираме с един пример – процедура, на която подаваме параметри сума и номер на акаунт. Процедурата връща резултат „1″ ако в акаунта има повече пари от посочените или „0″ в противен случай: Прочети още…
* Процедури и входни параметри
Публикувано на 18 април 2009 от Филип Петров. Записано в DB.
Процедурите ни дават възможност да създаваме скриптове за извършване на типизирани заявки с различни входни данни. Нека демонстрираме една елементарна процедура, която извиква обикновена заявка SELECT: Прочети още…
* Заключване на данните при транзакция
Публикувано на 18 април 2009 от Филип Петров. Записано в DB.
Синхронизацията на данните е изключително важна. За да демонстрираме това нека покажем първо един пример. Нека проверим първо колко пари има в акаунт с 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 от Филип Петров. Записано в DB.
Транзакция наричаме последователност от SQL заявки, която трябва да изпълняват условието или всичките да бъдат изпълнени или нито една от тях да не бъде изпълнена. Може да дадем класически пример с банковите транзакции. Например ако искаме да прехвърлим 50 лева от акаунт 1 в акаунт 2, то трябва да изпълним следните две заявки: Прочети още…
Страници
Категории
- C/C++ (45)
- DB (34)
- Dogs (37)
- Food (5)
- History (6)
- Java (33)
- Lada (22)
- Math (96)
- Metodos (23)
- NetSec (33)
- Other (66)
- Politics (20)
- Probability (8)
- VC++.Net (1)
- XHTML/JS (25)
Нови
- Предстоящи промени в средното образование
- Борбата със спам
- Лада с лого във Формула 1
- Рама за раздатка – продължение
- Проблема на Марков за иглата