C, PHP, VB, .NET

Дневникът на Филип Петров


Категория ‘Бази от Данни’

* Рекурсивно извикване на подзаявки – още примери

Публикувано на 05 юни 2020 в раздел Бази от Данни.

В предишната статия показах един прост пример за използване на оператор WITH. Тук ще дам още няколко. Прочети още…

.

 


* Рекурсивно извикване на подзаявки

Публикувано на 04 юни 2020 в раздел Бази от Данни.

Рекурсията е традиционно слаб елемент в езика SQL. Едни от най-трудните задачи обикновено са свързани именно с извеждане на данни, които са наредени в някаква йерархия (например дървовидна структура) и зависят едни от други. В тази статия ще дам много прост пример за начални стъпки в рекурсивните заявки с оператор WITH.

Нека първо решим една наглед проста, но всъщност не съвсем тривиална задача. Нека имаме таблица, в която се отбелязват датите на възникнали покупки на продукти. Искаме да извадим списък с дата и брой покупки за деня от текущата седмица. За улеснение ще направя таблицата максимално проста: Прочети още…

.

 


* Виртуални колони

Публикувано на 16 декември 2016 в раздел Бази от Данни.

С MySQL 5.7.7 се появава още една сериозна добавка – виртуални колони в таблици. Друг възможен адекватен превод би бил „изчислими колони“ – такива, които се генерират динамично на базата на друга съществуваща информация. Нека разгледаме най-простия пример – дадена е следната таблица: Прочети още…

.

 


* Курсори

Публикувано на 19 юли 2015 в раздел Бази от Данни.

Курсорите не съдържат нищо по-особено от обикновена резултатна таблица (т.е. result set) от SELECT заявка. Това, което ги прави по-специални, е че MySQL ни позволява да обхождаме тази резултатна таблица с цикли с помощта на итератор. Може да си представите курсора като референция (или указател) към пореден ред от дадена таблица. Прочети още…

.

 


* Задача от контролно 2 – 2015 г. вариант 2

Публикувано на 17 юни 2015 в раздел Бази от Данни.

Има ежегоден рок фестивал, в който се провеждат поредица от концерти в няколко поредни дни. Във всеки отделен ден свирят по няколко групи на три различни сцени – една голяма и две малки. По правило всеки ден на голямата сцена свирят две популярни групи – една подгряваща и една основна (headliners). През останалото време на малките сцени един след друг свирят по-неизвестни състави. Трябва да се състави база от данни, в която да се пази следната информация: Прочети още…

.

 


* Задача от контролно 2 – 2015 г. вариант 1

Публикувано на 17 юни 2015 в раздел Бази от Данни.

Задачата е от 13.06.2015 г. Да се създаде база от данни, в която да се пази следната информация: Прочети още…

.

 


* FEDERATED таблици в MySQL

Публикувано на 21 май 2015 в раздел Бази от Данни.

Представете си, че имаме две различни системи, които работят с различни бази от данни, но желаем част от информацията в тези бази от данни да бъде споделена. Например имаме чат и форум – искаме когато някой се регистрира в чата, да бъде регистриран автоматично и във форума (и обратно). Тоест таблиците на двете бази от данни в по-голямата си част са различни, но една от тях – таблицата Users – трябва да бъде споделена между двете бази от данни. Прочети още…

.

 


* Регулярни изрази в MySQL

Публикувано на 21 май 2015 в раздел Бази от Данни.

Имаме таблица, в която ще съхраняваме потребителски имена и пароли. Искаме да направим така, че СУБД да валидира данните, които се въвеждат в базата от данни. Например искаме имената да са съставени само от малки букви и цифри, от 4 до 32 символа, а паролите да са от 6 до 64 символа, като задължително има поне една малка, поне една главна буква и поне една цифра. Дадената таблица е следната: Прочети още…

.

 


* Задача от контролно 2 – 2015 г. за заминаващи на бригада

Публикувано на 20 май 2015 в раздел Бази от Данни.

Задачата е дадена за заминаващите на бригада през 2015 г. Задачата от основното второ контролно през 2015 г. ще бъде формулирана в същия дух. Прочети още…

.

 


* Релационно деление с MySQL

Публикувано на 29 април 2015 в раздел Бази от Данни.

Вече знаете за Декартовото произведение на таблици и как то се осъществява с JOIN операция без ON условие. Това е случаят, когато всеки елемент от едната релация се свърже с всеки елемент от другата. Бележи се с C = A x B. Операцията „релационно деление“ e обратната операция на Декартовото произведение – можем да кажем, че A = C ÷ B, както и B = C ÷ A. Прочети още…

.