Онлайн час в Google Meet
Лого на 91. НЕГ „Проф. Константин Гълъбов“

12. клас · Модул 4 · Урок 6

Създаване и изпълнение на заявки

Заявки в SSMS: New Query, *.sql файлове, изпълнение с F5 — и изгледите (view) като вградени в базата заявки, съставени с дизайнера.

Създаване и съхраняване на заявки

  • Прозорецът за писане на заявки: бутонът New Query или десен бутон върху базата → New Query.
  • Съхраняваме с Ctrl+S — заявката отива във файл с разширение .sql в избрана от нас папка (добре е да имаме папка за заявките).
  • Изпълнение: клавишът F5, бутонът Execute или Execute от контекстното меню. Резултатът се извежда в долната част на работното поле.
  • Двойно щракване върху .sql файл отваря SSMS със заявката, готова за изпълнение.

Създаване на изглед (view)

Това, което в MS Access наричахме заявка за извличане на данни (вграден обект на базата), в MS SQL Server се нарича view (изглед). Създава се с дизайнер, подобен на този в Access: двоен клик върху Views → New View…, избираме таблиците и слагаме отметки на нужните атрибути.

Стълбовете на дизайнера

СтълбРоля
Columnsатрибутите, включени в резултатната таблица
Aliasнови имена (псевдоними) за атрибутите в резултата
Tableот коя таблица идва атрибутът
Outputотметка = атрибутът се показва в изгледа (може да участва само във Filter)
Sort Type / Sort Orderпосока на сортиране и ред на важност (1, 2, 3…) при няколко атрибута
Filter, Or…условията за извличане — както в дизайнера на Access

Пример 1 — родените след 2002 г.

Изглед върху Student с условие egn > '0231120000' (ЕГН-ата са текстове — константата е в апострофи!) и сортиране по family, name, surname. Дизайнерът строи:

SELECT TOP (100) PERCENT idStudent, name, surname, family, egn
FROM dbo.Student
WHERE (egn > '0231120000')
ORDER BY family, name, surname

Пример 2 — списък по класове (INNER JOIN)

Изглед ListClasses върху двете таблици Student и StudClass: дизайнерът сам открива връзката по едноименния атрибут idStudent и строи:

SELECT TOP (100) PERCENT dbo.Student.idStudent, dbo.Student.name,
  dbo.Student.family, dbo.StudClass.class
FROM dbo.Student INNER JOIN dbo.StudClass
  ON dbo.Student.idStudent = dbo.StudClass.idStudent
ORDER BY dbo.StudClass.class

Само с ръчно писане

Някои заявки не могат да се съставят с дизайнера — пишем ги ръчно и ги съхраняваме в *.sql файлове. Примери от урока: трите имена в един атрибут с CONCAT_WS(' ', name, surname, family) и създаване на таблица с автоматичен първичен ключ (IDENTITY PRIMARY KEY) — таблицата Books на училищната библиотека.

Какво трябва да запомниш

  • Заявките на SSMS живеят в *.sql файлове; изгледите (view) — в самата база.
  • Дизайнерът на изгледи = дизайнерът на заявки от Access (Columns, Alias, Output, Filter).
  • Едната колона → AND; различните колони → OR (дизюнктивна форма).
  • ORDER BY не действа в самия изглед — сортираме при SELECT от него.
  • CONCAT_WS и CREATE TABLE с IDENTITY — само с ръчно писане.