Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)


 

 

 

 



INSERT INTO STUD_PROGRESS(ID_STUD, ID_SUBJ, ID_MARK) VALUES



( @ID_ST,

@ID_SB,

@ID_MK

)

 

SET @ID_ST = (SELECT ID_STUD FROM STUDENTS INNER JOIN PERSONS

ON STUDENTS.ID_PERS = PERSONS.ID_PERS

WHERE SURNAME = 'SIDOROV')

SET @ID_SB = (SELECT ID_SUBJ FROM SUBJECTS

WHERE SUBJECT = 'ECONOMICS')

SET @ID_MK = (SELECT ID_MARK FROM MARKS WHERE MARK = 'DE')

 

INSERT INTO STUD_PROGRESS(ID_STUD, ID_SUBJ, ID_MARK) VALUES

( @ID_ST,

@ID_SB,

@ID_MK

)

 

 

/*

Аналогічно формуються результати успішності для студентів Петрова і Сидорова.

*/

 

END

-ELSE

-- DROP TABLE STUD_PROGRESS

 

/*

Якщо таблиця STUD_PROGRESS існує, то вона знищується за допомогою команди DDL DROP TABLE, для виконання якої користувач повинен мати привілей dm_ddladmin доступу до бази даних, у якій перебуває таблиця. Цю команду не можна застосовувати для таблиць, на які йде посилання в обмеженні FOREIGN KEY ... REFERENCES (для видалення таких таблиць необхідно видалити обмеження FOREIGN KEY ... REFERENCES або таблицю, його утримуючу).

*/

 

Використовуючи Microsoft SQL Server Management Studio Express і вибравши в ньому базу даних, що містить створені таблиці, можна побудувати діаграму (рис. 1), що відображає логічну структуру, що утвориться цими таблицями (зв'язки, первинні ключі). Для цього необхідно зробити активною вкладку Database Diagrams обраної БД, потім, нажавши праву кнопку миші, вибрати пункт спливаючого меню New Database Diagram. Після цього в майстрі створення нової діаграми вибрати таблиці, що цікавлять, після чого створити діаграму.

 

Завдання

 

1. Використовуючи команду ALTER TABLE або змінивши наведений приклад створити БД, логічна модель якої створена в лабораторній роботі № 1.

2. Заповнити отримані таблиці даними, причому внесені дані повинні містити в собі інформацію про:

· 25 студентів (5 іногородніх / іноземних);

· 20 предметів;

· 10 оцінок для кожного студента по наявних предметах;

· 10 статтей (5 - спільні з викладачами);

· 10 тез (5 - спільні з іншими студентами);

· 5 викладачів.

3. Побудувати діаграму, що відображає зв'язки й первинні ключі отриманих таблиць.

 

Лабораторна робота № 4

Виконання запитів до бази даних

Ціль роботи:Вивчити команду SELECT створення запитів до БД мови SQL

Теоретична частина

 

Команда SELECT є командою DML (Data Manipulation Language), що призначена для вибірки (одержання) даних з таблиць(і), як було показано у вищерозглянутому прикладі. Оскільки це єдина команда SQL, призначена для цієї мети, розглянемо її більш докладно, використовуючи синтаксис цієї команди для TSQL і її розширення для MS SQL Server 2005.

Розглянемо загальний вид команди SELECT, що може включати від 1 до 11 секцій, які повинні використовуватися в строго певному порядку, а також оператори UNION, EXCEPT і INTERSECT, що дозволяють поєднувати результати виконання різних команд SELECT:

 

WITH common_table_expression

SELECT вираз

INTO ім'я_таблиці

FROM ім'я_джерела_даних

WHERE умова пошуку

GROUP BY перелік_ колонок_що_впорядковуються

HAVING умова_пошуку

ORDER BY

COMPUTE вираз

FOR вираз

OPTION параметри_запиту

 

Рис. 1. Діаграма, що відображає зв'язки між створеними таблицями і

первинні ключі таблиць.

 

Слід зазначити, що:

1. Обов'язковою частиною є тільки секція SELECT.

2. Секції з SELECT до HAVING одного запиту можуть поєднуватися з аналогічними секціями інших запитів за допомогою операторів UNION, EXCEPT і INTERSECT.

3. Секція WITH і оператори EXCEPT і INTERSECT є специфічними для MS SQL Server 2005.

Розглянемо деякі із секцій і операторів команди SELECT більш докладно, причому будемо використовувати наступні позначення:

- [] - означає необов'язковість параметра;

- {} - параметр, що припускає безліч можливих значень.

- | - позначає або.

- ключові слова пишуться з великої букви;

- підкреслене ключове слова є опцією за замовчуванням, тобто, якщо ніяка опція не зазначена, то використовується опція за замовчуванням.

 

 

Секція WITH.

Секція WITH дозволяє описувати common table expressions (CTE), які по суті є поіменованими запитами SELECT (аналогічно поданням), до яких можна звертатися в наступній команді DML. Використання CTE припустиме, якщо рівень сумісності для БД виставлений у значення 90. Слід зазначити, що CTE може використовувати рекурсію, тобто команду SELECT, що звертається до самих CTE. У загальному виді секція WITH виглядає так:

 

WITH

ім'я_CTE [(перелік_імен_стовпців)]

AS

(перелік_запитів_SELECT)

[, і. т.д.]

Таким чином, у цій секції можна поєднувати декілька CTE. Перелік_запитів_SELECT є набором команд SELECT, об'єднаних яким-небудь із операторів EXCEPT, INTERCEPT або UNION [ALL] (у випадку нерекурсивного CTE). У випадку рекурсивного CTE Перелік_запитів_SELECT виглядає так:

 

Нерекурсивний_запит_SELECT_1

 

[

{EXCEPT | INTERSECT | UNION [ALL]}



Просмотров 493

Эта страница нарушает авторские права




allrefrs.su - 2024 год. Все права принадлежат их авторам!