Главная страница
Навигация по странице:

  • LOWER

  • Упражнение БД. Учебная база данных


    Скачать 190.5 Kb.
    НазваниеУчебная база данных
    Дата21.12.2021
    Размер190.5 Kb.
    Формат файлаdoc
    Имя файлаУпражнение БД.doc
    ТипДокументы
    #312843

    Учебная база данных


    В приводимых в пособии примерах построения SQL-запро­сов и контрольных упражнениях используется база данных, со­стоящая из следующих таблиц.

    student (Студент)

    STUDENT_ID

    SURNAME

    NAME

    STIPEND

    KURS

    CITY

    BIRTHDAY

    UNIV_ID

    1

    Иванов

    Иван

    150

    1

    Орел

    3/12/1982

    10

    3

    Петров

    Петр

    200

    3

    Курск

    1/12/1980

    10

    6

    Сидоров

    Вадим

    150

    4

    Москва

    7/06/1979

    22

    10

    Кузнецов

    Борис

    0

    2

    Брянск

    8/12/1981

    10

    12

    Зайцева

    Ольга

    250

    2

    Липецк

    1/05/1981

    10

    265

    Павлов

    Андрей

    0

    3

    Воронеж

    5/11/1979

    10

    32

    Котов

    Павел

    150

    5

    Белгород

    NULL

    14

    654

    Лукин

    Артем

    200

    3

    Воронеж

    1/12/1981

    10

    276

    Петров

    Антон

    200

    4

    NULL

    5/08/1981

    22

    55

    Белкин

    Вадим

    250

    5

    Воронеж

    7/01/1980

    10

























    student_id — числовой код, идентифицирующий студента,

    surname — фамилия студента,

    name — имя студента, ,

    STIPEND — стипендия, которую получает студент,

    kurs — курс, на котором учится студент,

    city —город, в котором живет студент,

    birthday — дата рождения студента,

    univ_id — числовой код, идентифицирующий университет, в котором учится студент.

    LECTURER (Преподаватель)


    LECTURER_ID

    SURNAME

    NAME

    CITY

    UNIV_ID

    24

    Колесников

    Борис

    Воронеж

    10

    46

    Никонов

    Иван

    Воронеж

    10

    74

    Лагутин

    Павел

    Москва

    22

    108

    Струков

    Николай

    Москва

    22

    276

    Николаев

    Виктор

    Воронеж

    10

    328

    Сорокин

    Андрей

    Орел

    10

    lecturer__id — числовой код, идентифицирующий препо­давателя,

    SURNAME — фамилия преподавателя,

    NAME — имя преподавателя,

    CITY — город, в котором живет преподаватель,

    UNIV_ID — идентификатор университета, в котором рабо­тает преподаватель.

    university (Университеты)

    UNIV_ID

    UNIV_NAME

    RATING

    CITY

    22

    МГУ

    606

    Москва

    10

    ВГУ

    296

    Воронеж

    11

    НГУ

    345

    Новосибирск

    32

    РГУ

    416

    Ростов

    14

    Б ГУ

    326

    Белгород

    15

    ТГУ

    368

    Томск

    18

    ВГМА

    327

    Воронеж

    univ_id — идентификатор университета,

    univ_name — название университета,

    rating — рейтинг университета,

    city — город, в котором расположен университет.

    exam MARKS (Экзаменационные оценки)

    SUBJECT (Предмет обучения)

    SUBJ_ID

    SUBJ_NAME

    HOUR

    SEMESTER

    10

    Информатика

    56

    1

    22

    Физика

    34

    1

    43

    Математика

    56

    2

    56

    История

    34

    4

    94

    Английский

    56

    3

    73

    Физкультура

    . 34

    5













    subj_id — идентификатор предмета обучения, subj_name — наименование предмета обучения, HOUR — количество часов, отводимых на изучение предмета, semester — семестр, в котором изучается данный предмет.

    exam_MARKS (Экзаменационные оценки)

    EXAM_ ID

    STUDENT_ID

    SUBJ_ID

    MARK

    EXAM_DATE

    145

    12

    10

    5

    12/01/2000

    34

    32

    10

    4

    23/01/2000

    75

    55

    10

    5

    05/01/2000

    238

    12

    22

    3

    17/06/1999

    639

    55

    22

    NULL

    22/06/1999

    43

    6

    22

    4

    18/01/2000
















    exam_id — идентификатор экзамена, student_id — идентификатор студента, subj_id — идентификатор предмета обучения, mark — экзаменационная оценка, exam date — дата экзамена.

    subj_lect (Учебные дисциплины преподавателей)

    LECTURER_ID

    SUBJ_ID

    24

    10

    46

    22

    74

    43

    108

    56

    276

    94

    328

    73







    lecturer_id — идентификатор преподавателя, SUBJ_ID — идентификатор предмета обучения.

    Упражнения


    1. Напишите запрос для вывода идентификатора (номера) предмета обучения, его наименования, семестра, в котором он читается, и количества отводимых на этот предмет часов для всех строк таблицы SUBJECT.

    2. Напишите запрос, позволяющий вывести все строки таблицы exam_marks, в которых предмет обучения имеет номер (subj_id), равный 12.

    3. Напишите запрос, выбирающий все данные из таблицы student, расположив столбцы таблицы в следующем порядке: KURS, surname, NAME, STIPEND.

    4. Напишите запрос SELECT, который выводит наименование пред­мета обучения (subj_name) и количество часов (hour) для каждого
      предмета (subject) в 4-м семестре (semester).

    5. Напишите запрос, позволяющий получить из таблицы exam_marks значения столбца mark (экзаменационная оценка) для всех студентов, исключив из списка повторение одинаковых строк.

    6. Напишите запрос, который выводит список фамилий студентов,
      обучающихся на третьем и последующих курсах.

    7. Напишите запрос, выбирающий данные о фамилии, имени и номере курса для студентов, получающих стипендию больше 140.

    8. Напишите запрос, выполняющий выборку из таблицы subject названий всех предметов обучения, на которые отводится более 30 часов.

    9. Напишите запрос, который выполняет вывод списка университетов, рейтинг которых превышает 300 баллов.

    10. Напишите запрос к таблице student для вывода списка фамилий (surname), имен (name) и номера курса (kurs) всех студентов со стипендией, большей или равной 100, и живущих в Воронеже.

    11. Какие данные будут получены в результате выполнения запроса? SELECT *
      FROM STUDENT WHERE (STIPEND < 100 OR
      NOT (BIRTHDAY >= '10/03/1980' AND STUDENT_ID > 1003));

    12. Какие данные будут получены в результате выполнения запроса?
      SELECT * FROM STUDENT WHERE SOT ((BIRTHDAY = 10/03/1980' OR STIPEND > 100) AND STUDENT_ID >= 1003);

    13. Напишите запрос на вывод находящихся в таблице EXAM_MARKS
      номеров предметов обучения, экзамены по которым сдавались между 10 и 20 января 1999 года.

    14. Напишите запрос, выбирающий данные обо всех предметах обучения, экзамены по которым сданы студентами, имеющими идентификаторы 12 и 32.

    15. Напишите запрос на вывод названий предметов обучения, начинающихся на букву «И».

    16. Напишите запрос, выбирающий сведения о студентах, у которых имена начинаются на буквы «И» или «С».

    17. Напишите запрос для выбора из таблицы exam_marks записей, в которых отсутствуют значения оценок (поле mark).

    18. Напишите запрос на вывод из таблицы EXAM__MARKS записей, имеющих в поле mark значения оценок.

    19. Составьте запрос для таблицы student таким образом, чтобы вы­ходная таблица содержала один столбец, содержащий последова­тельность разделенных символом «;» (точка с запятой) значений всех столбцов этой таблицы, и при этом текстовые значения дол­жны отображаться прописными символами (верхний регистр), то есть быть представленными в следующем виде: 10;КУЗНЕ­ЦОВ;БОРИС;0;БРЯНСК;8/12/1981;10.

    20. Составьте запрос для таблицы student таким образом, чтобы выходная таблица содержала всего один столбец в следующем виде:
      Б. КУЗНЕЦОВ; место жительство-Брянск; родился-8.12.81.

    21. Составьте запрос для таблицы STUDENT таким образом, чтобы вы­ходная таблица содержала всего один столбец в следующем виде:
      б. Кузнецов; место жительства - Брянск; родился:8-дек-1981.

    22. Составьте запрос для таблицы STUDENT таким образом, чтобы вы­ходная таблица содержала всего один столбец в следующем виде:
      Борис Кузнецов родился в 1981 году.

    23. Вывести фамилии, имена студентов и величину получаемых ими
      стипендий, при этом значения стипендий должны быть увеличены
      в 100 раз.

    24. То же, что и в задаче 4, но только для студентов 1, 2 и 4-го курсов
      и таким образом, чтобы фамилии и имена были выведены пропис­ными буквами.

    25. Составьте запрос для таблицы university таким образом, чтобы
      выходная таблица содержала всего один столбец в следующем виде: Код-10; ВГУ-г. ВОРОНЕЖ; Рейтинг=296.

    26. То же, что и в задаче 25, но значения рейтинга требуется округлить
      до первого знака (например, значение 382 округляется до 400).

    27. Напишите запрос для подсчета количества студентов, сдававших экзамен по предмету обучения с идентификатором, равным 20.

    28. Напишите запрос, который позволяет подсчитать в таблице exam_marks количество различных предметов обучения.

    29. Напишите запрос, который выполняет выборку для каждого студента значения его идентификатора и минимальной из полученных им оценок.

    30. Напишите запрос, осуществляющий выборку для каждого студента значения его идентификатора и максимальной из полученных им оценок.

    31. Напишите запрос, выполняющий вывод фамилии первого в алфавитном порядке (по фамилии) студента, фамилия которого начинается на букву «И».

    32. Напишите запрос, который выполняет вывод (для каждого предмета обучения) наименования предмета и максимального значения номера семестра, в котором этот предмет преподается.

    33. Напишите запрос, который выполняет вывод данных для каждого конкретного дня сдачи экзамена о количестве студентов, сдававших экзамен в этот день.

    34. Напишите запрос для получения среднего балла для каждого курса по каждому предмету.

    35. Напишите запрос для получения среднего балла для каждого студента.

    36. Напишите запрос для получения среднего балла для каждого экзамена.

    37. Напишите запрос для определения количества студентов, сдававших каждый экзамен.

    38. Напишите запрос для определения количества изучаемых предметов на каждом курсе.

    39. Предположим, что стипендия всем студентам увеличена на 20%. Напишите запрос к таблице student, выполняющий вывод номе­ра студента, фамилию студента и величину увеличенной стипен­дии. Выходные данные упорядочить: а) по значению последнего столбца (величине стипендии); б) в алфавитном порядке фамилий студентов.

    40. Напишите запрос, который по таблице exam_marks позволяет найти а) максимальные и б) минимальные оценки каждого студента и который выводит их вместе с идентификатором студента.

    41. Напишите запрос, выполняющий вывод списка предметов обучения в порядке а) убывания семестров и б) возрастания отводимых на предмет часов. Поле семестра в выходных данных должно быть первым, за ним должны следовать имя предмета обучения и идентификатор предмета.

    42. Напишите запрос, который выполняет вывод суммы баллов всех студентов для каждой даты сдачи экзаменов и представляет результаты в порядке убывания этих сумм.

    43. Напишите запрос, который выполняет вывод а) среднего, б) минимального, в) максимального баллов всех студентов для каждой даты сдачи экзаменов и который представляет результаты в порядке убывания этих значений.

    44. Напишите запрос с подзапросом для получения данных обо всех оценках студента с фамилией «Иванов». Предположим, что его персональный номер неизвестен. Всегда ли такой запрос будет
      корректным?

    45. Напишите запрос, выбирающий данные об именах всех студентов, имеющих по предмету с идентификатором 101 балл выше общего среднего балла.

    46. Напишите запрос, который выполняет выборку имен всех студентов, имеющих по предмету с идентификатором 102 балл ниже общего среднего балла.

    47. Напишите запрос, выполняющий вывод количества предметов, по которым экзаменовался каждый студент, сдававший более 20 предметов.

    48. Напишите команду select, использующую связанные подзапро­сы и выполняющую вывод имен и идентификаторов студентов, у которых стипендия совпадает с максимальным значением сти­пендии для города, в котором живет студент.

    49. Напишите запрос, который позволяет вывести имена и идентификаторы всех студентов, для которых точно известно, что они проживают в городе, где нет ни одного университета.

    50. Напишите два запроса, которые позволяют вывести имена и идентификаторы всех студентов, для которых точно известно, что они проживают не в том городе, где расположен их университет. Один запрос с использованием соединения, а другой — с использованием связанного подзапроса.

    51. Создайте объединение двух запросов, которые выдают значения полей univ_name, city, rating для всех университетов. Те из них, у которых рейтинг равен или выше 300, должны иметь ком­ментарий 'Высокий', все остальные — 'Низкий'.

    52. Напишите команду, которая выдает список фамилий студентов, с комментарием 'успевает' у студентов, имеющих все положитель­ные оценки, комментарием 'не успевает' для сдававших экзамены, но имеющих хотя бы одну неудовлетворительную оценку и ком­ментарием 'не сдавал' — для всех остальных. В выводимом резуль­тате фамилии студентов упорядочить по алфавиту.

    53. Выведите объединенный список студентов и преподавателей, живущих в Москве, с соответствующими комментариями: 'студент' или 'преподаватель'.

    54. Выведите объединенный список студентов и преподавателей Воронежского государственного университета с соответствующими комментариями: 'студент' или 'преподаватель'.

    55. Напишите запрос, который выполняет вывод данных о фамилиях сдававших экзамены студентов (вместе с идентификаторами каждого сданного ими предмета обучения).

    56. Напишите запрос, который выполняет выборку значений фамилии всех студентов с указанием для студентов, сдававших экзамены, идентификаторов сданных ими предметов обучения.

    57. Напишите запрос, который выполняет вывод данных о фамилиях студентов, сдававших экзамены, вместе с наименованиями каждого сданного ими предмета обучения.

    58. Напишите запрос на выдачу для каждого студента названий всех предметов обучения, по которым этот студент получил оценку 4 или 5.

    59. Напишите запрос на выдачу данных о названиях всех предметов, по которым студенты получили только хорошие (4 и 5) оценки. В выходных данных должны быть приведены фамилии студентов, названия предметов и оценка.

    60. Напишите запрос, который выполняет вывод списка университетов с рейтингом, превышающим 300, вместе со значением максимального размера стипендии, получаемой студентами в этих университетах.

    61. Напишите запрос на выдачу списка фамилий студентов (в алфавитном порядке) вместе со значением рейтинга университета, где каждый из них учится, включив в список и тех студентов, для которых б базе данных не указано место их учебы.

    62. Написать запрос, выполняющий вывод списка всех пар фамилий студентов, проживающих в одном городе. При этом не включать в список комбинации фамилий студентов самих с собой (то есть комбинацию типа «Иванов-Иванов») и комбинации фамилий студентов, отличающиеся порядком следования (то есть включать одну из двух комбинаций типа «Иванов-Петров» и «Петров-Иванов»).

    63. Написать запрос, выполняющий вывод списка всех пар названий университетов, расположенных в одном городе, не включая в список комбинации названий университетов самих с собой и пары названий университетов, отличающиеся порядком следования.

    64. Написать запрос, который позволяет получить данные о названиях университетов и городов, в которых они расположены, с рейтингом, равным или превышающим рейтинг ВГУ.-

    65. Написать запрос, выполняющий вывод данных об именах и фамилиях студентов, получивших хотя бы одну отличную оценку.

    66. Написать запрос, выполняющий вывод данных об именах и фамилиях студентов, имеющих весь набор оценок (тройки, четверки и пятерки).

    67. Написать запрос, выполняющий выборку значений идентификаторов студентов, имеющих такие же оценки, что и студент с идентификатором 12.

    68. Написать запрос, выполняющий выборку всех пар идентификаторов преподавателей, ведущих одинаковые предметы обучения.

    69. Написать запрос, выполняющий вывод данных об именах и фамилиях студентов, не получивших ни одной отличной оценки.

    70. Написать запрос, выполняющий выборку значений наименований предметов обучения, на преподавание которых отводится более 50 часов.

    71. Написать запрос, выполняющий вывод количества студентов, не имеющих ни одной оценки.

    72. Написать запрос, выполняющий вывод количества студентов, имеющих только отличные оценки.

    73. Написать запрос, выполняющий вывод данных о предметах обучения, которые ведет преподаватель по фамилии Колесников.

    74. Написать запрос, выполняющий вывод имен и фамилий преподавателей, проводящих занятия на первом курсе.

    75. Написать запрос, выполняющий вывод имен и фамилий студентов, место проживания которых не совпадает с городом, в котором находится их университет.

    76. Написать запрос, выполняющий вывод количества экзаменов, сданных (с положительной оценкой) студентом с идентификатором 32.

    77. Написать запрос, выполняющий вывод имен и фамилий преподавателей, читающих два и более различных предмета обучения.

    78. Написать запрос, выполняющий вывод имен и фамилий преподавателей, проводящих занятия в двух и более семестрах.

    79. Написать запрос, выполняющий вывод данных о наименованиях предметов обучения, читаемых двумя и более преподавателями.

    80. Написать запрос, выполняющий вывод для каждого предмета обучения, преподаваемого для студентов ВГУ, его наименования, фамилии и имени преподавателя, а также города, в котором живет студент.

    81. Написать запрос, выполняющий вывод количества часов занятий, проводимых преподавателем Лагутиным.

    82. Написать запрос, выполняющий вывод фамилий преподавателей, читающих такие же предметы обучения, что и преподаватель Сорокин.

    83. Написать запрос, выполняющий вывод фамилий преподавателей, учебная нагрузка которых (количество учебных часов) превышает нагрузку преподавателя Николаева.

    84. Написать запрос, выполняющий вывод данных о преподавателях, ведущих обучение хотя бы по одному из тех предметов, которым обучает преподаватель по фамилии Сорокин.

    85. Написать запрос, выполняющий вывод данных о фамилиях преподавателей, проводящих занятия у студентов, обучающихся в университетах с рейтингом, меньшим 200.

    86. Написать запрос, выполняющий вывод данных о наименованиях университетов, расположенных в Москве и имеющих рейтинг меньше, чем у ВГУ.

    87. Написать запрос, выполняющий вывод списка фамилий студентов, обучаемых в университете, расположенном в городе, название которого стоит первым в алфавитном списке городов.

    88. Написать запрос, выполняющий вывод списка студентов, средняя оценка у которых превышает 4 балла.

    89. Написать запрос, выполняющий вывод общего количества учебных часов занятий, проводимых для студентов первого курса ВГУ.

    90. Написать запрос, выполняющий вывод среднего количества учебных часов предметов обучения, преподаваемых студентам второго курса ВГУ.

    91. Написать запрос, выполняющий вывод количества студентов, имеющих хотя бы одну неудовлетворительную оценку и проживающих в городе, не совпадающем с городом их университета.

    92. Написать запрос, выполняющий вывод списка фамилий студентов, имеющих только отличные оценки и проживающих в городе, не совпадающем с городом их университета.

    93. Написать запрос, выполняющий вывод списка фамилий студентов, имеющих две и более отличные оценки в каждом семестре и проживающих в городе, не совпадающем с городом их университета.

    94. Приведите как можно больше формулировок запроса «Получить фамилии студентов, сдававших экзамен по информатике».

    95. Приведите как можно больше формулировок запроса «Получить фамилии преподавателей, обучающих информатике».

    96. 1. Напишите команду, которая вводит в таблицу subject строку для нового предмета обучения со следующими значениями полей:
      SEMESTER = 4, SUBJ_NAME = 'Алгебра'; HOUR = 72; SUBJ_ID =201.

    97. Введите запись для нового студента, которого зовут Орлов Николай, обучающегося на первом курсе ВТУ, живущего в Воронеже, сведения о дате рождения и размере стипендии неизвестны.

    98. Напишите команду, удаляющую из таблицы exam_marks записи обо всех оценках студента, идентификатор которого равен 100.

    99. Напишите команду, которая увеличивает на 5 значение рейтинга всех имеющихся в базе данных университетов, расположенных в Санкт-Петербурге.

    100. Измените в таблице значение города, в котором проживает студент Иванов, на «Воронеж".

    101. Пусть существует таблица с именем student1, определения столбцов которой полностью совпадают с определениями столбцов таблицы student. Вставить в эту таблицу сведения о студентах, успешно сдавших экзамены более чем по пяти предметам обучения.

    102. Напишите команду, удаляющую из таблицы 3UBJECT1 сведения о предметах обучения, по которым студентами не получено ни одной оценки.

    103. Напишите запрос, увеличивающий данные о величине стипендии на 20% всем студентам, у которых общая сумма баллов превышает значение 50.

    104. Создайте таблицу exam_marks так, чтобы не допускался ввод в таблицу двух записей об оценках одного студента по конкретным экзамену и предмету обучения и чтобы не допускалось проведение двух экзаменов по любым предметам в один день.

    105. Создайте таблицу предметов обучения subject так, чтобы количество отводимых на предмет часов по умолчанию было равно 36. не допускались записи с отсутствующим количеством часов, поле subj_id являлось первичным ключом таблицы и значения семестров (поле semester) лежали в диапазоне от 1 до 12.

    106. Создайте таблицу exam_marks таким образом, чтобы значения по­ля exam_id были больше значений поля subj_id, а значения поля SUBJ_ID были больше значений поля student_id; пусть также бу­дут запрещены значения NOLL в любом из этих трех полей.

    107. Создайте таблицу с именем subject_1 с теми же полями, что в таблице subject (предмет обучения). Поле SUBJ_ID является первичным ключом.

    108. Создайте таблицу с именем subj_lect_1 (учебные дисциплины преподавателей) с полями lecturer_id (идентификатор преподавателя) и subj_id (идентификатор преподаваемой дисциплины). Первичным ключом (составным) таблицы является пара атрибутов lecturer_id и SUBJ_ID, кроме того, поле lecturer_ID является внешним ключом, ссылающимся на таблицу lecturer_1, аналогичную таблице lecturer (преподаватель), а поле subj_id является внешним ключом, ссылающимся на таблицу subject_1, аналогичную таблице SUBJECT.

    109. Создайте таблицу с именем subj_lect_1 как в предыдущем задании, но добавьте для всех ее внешних ключей режим обеспечения ссылочной целостности, запрещающий обновление и удаление со­ответствующих родительских ключей.

    110. Создайте таблицу с именем lecturer_1 с теми же полями, что в таблице lecturer. Первичным ключом таблицы является атрибут lecturer_id, кроме того, поле univ_id является внешним ключом, ссылающимся на таблицу university_1 (аналог university). Для этого поля установите каскадные режимы обеспечения целостности ДЛЯ команд UPDATE И DELETE,

    111. Создайте таблицу с именем UNIVERSITY_1 с теми же полями, что в таблице university (университеты). Поле univ_id является первичным ключом.

    112. Создайте таблицу с именем EXAM_MARKS_1. Она должна содержать такие же поля, что и таблица exam_marks (экзаменационные оценки). Комбинация полей exam_id, student_id и subj_id является первичным ключом. Кроме того, поля student_id и subj_id являются внешним ключами, ссылающимися соответственно на табли­цы student_1 и SUBJECT_1. Для этих полей установите режим каскадного обеспечения ссылочной целостности при операции обнов­ления соответствующих первичных ключей и режим блокировки при попытке удаления родительского ключа при наличии ссылки на него.

    113. Создайте таблицу с именем student_1. Она должна содержать такие же поля, что и таблица student, и новое поле senior_student (староста), значением которого должен быть идентификатор студента, являющегося старостой группы, в которой учится данный студент. Укажите необходимые для этого ограничения ссылочной целостности,

    114. Создайте таблицу STUDENT_2, аналогичную таблице student, в которой поле univ_id (идентификатор университета) является внешним ключом, ссылающимся на таблицу university_1, и таким образом, чтобы при удалении из таблицы uhiversity_строки с информацией о каком-либо университете в соответствующих записях таблицы STUDENT_2 поле univ_id очищалось (замещалось на null).

    115. С помощью команды CREATE table создайте запросы для формирования таблиц учебной базы данных, с указанием первичных ключей, но без указания ограничений внешних ключей. Затем с помощью команды alter table укажите для сформированных таблиц все ограничения, в том числе и ограничения ссылочной целостности.

    116. Передайте пользователю petrov право на изменение в базе данных значений оценок для записей о студентах.

    117. Передайте пользователю SIDOROV право передавать другим пользователям права на осуществление запросов к таблице exam_marks.

    118. Отмените привилегию INSERT no отношению к таблице student у пользователя ivanov и у всех других пользователей, которым привилегия, в свою очередь, была предоставлена этим пользователем IVANOV.

    119. Передайте пользователю SIDOROV право выполнять операции вставки или обновления для таблицы university, но только для записей об университетах, значения рейтингов которых лежат в диапазоне от 300 до 400.

    120. Разрешите пользователю petrov делать запросы к таблице exam marks, но запретите ему изменять в этой таблице значения оценок студентам, имеющим неудовлетворительные (=2) оценки.



    Вариант

    Номера заданий

    1

    1, 16,31,46,61,76,91107,116

    2

    2,17,32,47,62,77,92,108,117

    3

    3,18,33,48,63,78,93,109,118

    4

    4,19,34,49,64,79,94,110,119

    5

    5,20,35,50,65,80,95,111,120

    6

    6,21,36,51,66,81,96,112,116

    7

    7,22,37,52,67,82,97,113,117

    8

    8,23,38,53,68,83,98,114,118

    9

    9,24,39,54,69,84,99,115,119

    10

    10,25,40,55,70,85,100,107,120

    11

    11,26,41,56,71,86,101,108,116

    12

    12,27,42,57,72,87,102,109,117

    13

    13,28,43,58,73,88,103,110,118

    14

    14,29,44,59,74,89,104,107,119

    15

    15,30,45,60,75,90,105,108,120


    Примечание

    • LOWER — перевод в строчные символы (нижний регистр)
      lower (<строка>)

    • UPPER — перевод в прописные символы (верхний регистр)

    upper (<строка>)

    INITCAP — перевод первой буквы каждого слова строки
    в прописную (заглавную)

    initcap (<строка>) Например:

    SELECT LOWER (SURNAME), UPPER (NAME) FROM STUDENT WHERE KURS = 4 AND STIPEND > 0;

    SELECT SURNAME, NAME, BIRTHDAY,

    TO_CHAR (BIRTHDAY, 'DD-MON-YYYV), TO_CHAR (BIRTHDAY, 'DD.MM.YY') FROM STUDENT;

    вернет результат:

    SURNAME

    NAME

    BIRTHDAY







    Иванов

    Иван

    3/12/1982

    З-дек-1982

    3.12.82

    Петров

    Петр

    1/12/1980

    1 -дек- 1980

    1.12.80

    Сидоров

    Вадим

    7/06/1979

    7-июн-1979

    7.06.79

    Кузнецов

    Борис

    8/12/1981

    8-дек-1981

    8.12.81

    Зайцева

    Ольга

    1/05/1981

    1 -май- 1981

    1.05.81


    написать администратору сайта