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

Дисциплины:

Архитектура (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)


 

 

 

 



CREATE TABLE STUD_PROGRESS (ID_STUD INT REFERENCES STUDENTS,



ID_SUBJ INT REFERENCES SUBJECTS,

ID_MARK INT REFERENCES MARKS)

 

/*

За допомогою команди DDL create table створюється таблиця з ім'ям STUD_PROGRESS, що має 3 поля:

id_stud - поле, що має цілочисельний тип даних int і обмеження FOREIGN KEY ... REFERENCES (зовнішній ключ, при такому використанні обмеження ключові слова FOREIGN KEY і імена стовпців можуть бути опущені). Це обмеження встановлює зв'язок між стовпцем або групою стовпців поточної таблиці й стовпцем або групою стовпців референсної таблиці (вказується після ключового слова REFERENCES). Стовпець або група стовпців у референсній таблиці повинні мати обмеження PRIMARY KEY або UNIQUE.

Це поле призначене для зберігання номера залікової книжки студента.

id_subj - поле, що має цілочисельний тип даних int і обмеження FOREIGN KEY ... REFERENCES (зовнішній ключ, при такому використанні обмеження ключові слова FOREIGN KEY і імена стовпців можуть бути опущені). Це обмеження встановлює зв'язок між стовпцем або групою стовпців поточної таблиці і стовпцем або групою стовпців референсної таблиці (вказується після ключового слова REFERENCES). Стовпець або група стовпців у референсній таблиці повинні мати обмеження PRIMARY KEY або UNIQUE.

Це поле призначене для зберігання коду вивченого предмета.

id_mark - поле, що має цілочисельний тип даних int і обмеження FOREIGN KEY ... REFERENCES (зовнішній ключ, при такому використанні обмеження ключові слова FOREIGN KEY і імена стовпців можуть бути опущені). Це обмеження встановлює зв'язок між стовпцем або групою стовпців поточної таблиці й стовпцем або групою стовпців референсной таблиці (вказується після ключового слова REFERENCES). Стовпець або група стовпців у референсной таблиці повинні мати обмеження PRIMARY KEY або UNIQUE.

Це поле призначене для зберігання коду оцінки, отриманої студентом по предмету.

Для виконання команди CREATE TABLE користувач повинен мати привілей dm_ddladmin доступу до бази даних, у якій створюється таблиця.

*/

 

DECLARE

@ID_ST INT,

@ID_SB INT,

@ID_MK INT

 

/*

Оголошення змінних ID_ST, ID_SB, ID_MK, які мають цілочисельний тип INT. Перед іменем змінної необхідно завжди використовувати символ @. Описані змінні можна використовувати в межах поточного пакета команд (тобто усередині BEGIN...END). Примусове виконання блоку команд за допомогою команди GO приведе до неможливості подальшого використання змінної ID_PR.

*/

 

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

ON STUDENTS.ID_PERS =

PERSONS.ID_PERS WHERE SURNAME = 'IVANOV')

SET @ID_SB = (SELECT ID_SUBJ FROM SUBJECTS

WHERE SUBJECT = 'MATHEMATICS')

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

 

/*

Змінним ID_ST, ID_SB, ID_MK привласнюються значення. Кожне із цих значень формується як результат виконання команди SELECT.

ID_ST містить номер залікової студента із зазначеним прізвищем. Для того щоб зв'язати номер залікової із прізвищем студента використовується команда SELECT, причому після ключового слова FROM використовується внутрішнє з'єднання по полю ID_PERS (код особистості) таблиць PERSONS і STUDENTS. Це дозволяє одержати вибірку даних, які містять як номер залікової студента, так і прізвище, ім'я, по батькові студента, що, у свою чергу дозволяє по зазначеному прізвищу одержати номер залікової. Слід зазначити, що такий підхід згенерує 2 відповіді для студентів, які вчаться на 2-ох спеціальностях одночасно (наприклад, денне відділення й вечірнє).

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

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

 

*/

 

INSERT INTO STUD_PROGRESS(ID_STUD, ID_SUBJ, ID_MARK) VALUES

( @ID_ST,

@ID_SB,

@ID_MK

)

 

/*

Привласнені змінним ID_ST, ID_SB і ID_MK значення заносяться в таблицю STUD_PROGRESS, що дозволяє зберегти оцінку студента із прізвищем IVANOV по предмету MATHEMATICS.

*/

 

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

ON STUDENTS.ID_PERS = PERSONS.ID_PERS

WHERE SURNAME = 'PETROV')

SET @ID_SB = (SELECT ID_SUBJ FROM SUBJECTS

WHERE SUBJECT = 'PHYSICS')

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



Просмотров 417

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




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