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

  • Пояснения к выполнению работы

  • Варианты заданий к лабораторной работе №2

  • ФамилияСтуден

  • Зад2КС (2). Использование


    Скачать 34.57 Kb.
    НазваниеИспользование
    Дата10.03.2023
    Размер34.57 Kb.
    Формат файлаdocx
    Имя файлаЗад2КС (2).docx
    ТипДокументы
    #978416

    Лабораторная работа 2

    ИСПОЛЬЗОВАНИЕ ОПЕРАТОРОВ МАНИПУЛИРОВАНИЯ ДАННЫМИ В MICROSOFT SQL SERVER

    Цель работы - научиться использовать операторы манипулирования дан­ными Select, Insert, Update, Delete. Содержание работы:

    1. Создать с помощью приведенных операторов пример базы данных
      «Книжное дело», описанный в предыдущей лабораторной работе (если БД
      отсутствует на сервере).

    2. С помощью операторов Insert создать программу в SQL Server Man­
      agement Studio через «Создать запрос» для заполнения таблиц данными (по
      3-5 записей).

    1. С помощью оператора Select по заданиям выполнить запросы к БД.

    Пояснения к выполнению работы

    Вся теория по данной работе представлена в конспекте лекций. Также при необходимости можно воспользоваться справочными материалами MS SQL Server 2005, запустив утилиту Book OnLine.

    Варианты заданий к лабораторной работе №2

    Общие положения

    Создать новую базу данных с названием DB_Books с помощью опера­тора Create Database, создать в ней перечисленные таблицы c помощью операторов Create table по примеру лабораторной работы №1. Сохранить файл программы с названием ФамилияСтудента_ЛАб_1_DB_Books. В утилите SQL Server Management Studio с помощью кнопки «Создать за­прос» создать отдельные программы по каждому запросу, которые сохра­нять на диске с названием: ФамилияСтудента_ЛАб_2_№_задания. В са­ми программы копировать текст задания в виде комментария. Можно со-

    13

    хранять все выполненные запросы в одном файле. Для проверки работы операторов SELECT предварительно создайте программу, которая с помо­щью операторов INSERT заполнит все таблицы БД DB_Books нескольки­ми записями, сохраните программы с названием ФамилияСтуден-та_ЛАб_2_Insert.

    Список вариантов заданий

    Вариант

    Список номеров упражнений

    1

    1

    6

    11

    16

    21

    26

    31

    36

    41

    46

    51

    56

    61

    2

    2

    7

    12

    17

    22

    27

    32

    37

    42

    47

    52

    57

    62

    3

    3

    8

    13

    18

    23

    28

    33

    38

    43

    48

    53

    58

    63

    4

    4

    9

    14

    19

    24

    29

    34

    39

    44

    49

    54

    59

    64

    5

    5

    10

    15

    20

    25

    30

    35

    40

    45

    50

    55

    60

    65

    6

    6

    11

    16

    21

    26

    31

    36

    41

    46

    51

    56

    61

    1

    7

    7

    12

    17

    22

    27

    32

    37

    42

    47

    52

    57

    62

    2

    8

    8

    13

    18

    23

    28

    33

    38

    43

    48

    53

    58

    63

    3

    9

    9

    14

    19

    24

    29

    34

    39

    44

    49

    54

    59

    64

    4

    10

    10

    15

    20

    25

    30

    35

    40

    45

    50

    55

    60

    65

    5

    11

    2

    6

    12

    16

    22

    26

    32

    36

    42

    46

    52

    56

    62

    12

    1

    5

    11

    15

    21

    25

    31

    35

    41

    45

    51

    55

    61

    13

    3

    7

    13

    17

    23

    27

    33

    37

    43

    47

    53

    57

    63

    14

    4

    8

    14

    18

    24

    28

    34

    38

    44

    48

    54

    58

    64

    15

    5

    9

    15

    19

    25

    29

    35

    39

    45

    49

    55

    59

    65

    16

    6

    13

    26

    33

    36

    43

    46

    53

    56

    63

    1

    11

    17

    17

    7

    18

    27

    28

    37

    38

    47

    48

    57

    58

    2

    4

    10

    18

    8

    9

    18

    19

    28

    29

    38

    39

    48

    49

    58

    59

    60

    19

    9

    14

    29

    24

    39

    34

    49

    44

    59

    54

    61

    65

    3

    20

    10

    12

    20

    22

    30

    32

    40

    42

    50

    52

    60

    62

    8

    Сұрыптау

    1. Books кестесінен кітаптар туралы мәліметтерді таңдап алыңыз және кітап коды бойынша сұрыпау орындаңыз(поле Code_book).

    2. Books кестесінен кітап кодын, атауын және бет саны өрістерін(Code_book, Title_book және Pages) таңдап алыңыз және кітап атауы(Title_book өсу ретімен, бет саны (Pages) бойынша сұрыптау орындаңыз.

    14

    3. Deliveries кестесінен жеткізушілер тізімін(Name_delivery, Phone және INN)INN өрісі бойынша(кему ретімен) сұрыптаңыз.

    Өрістердің орналасу ретін өзгерту

    1. Deliveries кестесінінің барлық өрістерін келесі ретпен орналастырып таңдап алу: Name_delivery, INN, Phone,
      Address, Code_delivery.

    2. Publishing_house кестесінің өрістерін келесі ретпен таңдап алу: Publish, City, Code_publish.

    Екі кестеден бірнеше өрістерді таңдап алу

    1. Books кестесінен кітап атауын және бет санын (Title_book және Pages өрістері), ал Authors кестесінен сәйкес кітап авторын ( Name_ author өрісі) таңдап алу.

    2. Books кестесінен кітап аты мен бет санын (Title_book және Pages өрістері), ал Deliveries кестесінен сәйкес жеткіщуші атын ( Name_delivery өрісі) таңдап алу.

    3. Books кестесінен кітап аты мен бет санын (Title_book және Pages өрістері), ал Publishing_house кестесінен сәйкес баспасы мен шыққан орнын (Publish және City өрістері) таңдап алу.

    Нақты емес сәйкестендіру шарты

    1. Компания атауы, телефоны және ЖСН (Name_company, Phone және INN өрістері) берілген жеткізушілер анықтамалығынан (Deliveries кестесі) компания атауы (Name_company өрісі) 'ОАО' тіркесінен басталатынын таңдап алу.

    2. Books кестесінен кітап атауы мен бет санын (Title_book және Pages өрістері), ал Authors кестесінен сәйкес кітап авторын (Name_ author өрісі) таңдап алып , кітап авторы 'Мемуары' сөзінен басталатынын шығару.

    3. Фамилиясы, аты, әкесінің аты берілген Authors кестесінен авторы( Name_ author өрісі) 'Иванов' сөзінен басталатындарын шығару.

    Точное несовпадение значений одного из полей

    1. Publishing_house кестесінен баспасы(Publish өрісі) 'Алматы' қаласы болмайтын кітаптар тізімін шығару (City өрісі бойынша шарт қою).

    2. Вывести список названий книг из таблицы Books кетесінен баспасы (Publishing_house кестесіндегі Publish өрісі) «Эверо» болмайтын кітап атауларының(Title_book өрісі) тізімін шығару.

    15

    Диапазон аралғығындағы мәндері бойынша жазбаларды таңдау(Between)

    1. Authors кестесінен туған күні (Birthday өрісі) находится в
      диапазоне 01.01.1840-01.06.1860 аралығында болатын авторлардың фамилиясын, атын, әкесінің атын(Name_author өрісі) шығарыңыз.

    2. 12.03.2003 мен 15.06.2003 (Purchases кестесіндегі Date_order өрісі бойынша шарт қою) аралығында сатып алынған кітап атауларының(Books кестесінен Title_book өрісі) және (Purchases кестеіснен Amount өрісі) тізімін шығарыңыз.

    3. Кітаптағы бет санының(Pages өрісі бойынша шарт қою) мәндері 200 – 300 аралығында болатын кітаптардың атаулары(поле Title_book) мен бет санының(Pages өрісі) тізіміншығарыңыз.

    4. Кітап авторының фамилиясының алғашқы әрпі 'В' - ‘Г' (Name_author өрісі бойынша шарт) аралығында болатын Authors кестесіндегі автор фамилиясы, аты, әкесінің аты тізімін шығарыңыз.

    Диапазондағы мәндер бойынша(In) жазбаларды таңдау

    1. Кодтары 3, 7, 9, 11 (Purchases кестесіндегі Code_delivery өрісі бойынша шарт қою) болатын жеткізушілермен әкелінген кітаптар тізімі және санын(Books кестесіндегі Title_book өрісі) шығару.

    2. Баспасы: 'Алматы', 'Альфа', 'Наука' (условие по полю Publish из таблицы Publishing_house) болатын кітаптар тізімін(Books кестесіндегі Title_book өрісі) шығару.

    3. Авторлары: 'Ахметов А.Н.', 'Назаров Ж.С.', 'Арман А.К.’ (Authors кестесіндегі Name_author өрісі бойынша шарт) болатын кітаптар тізімін(Books кестесіндегі Title_book өрісі) шығару.

    Like көмегімен жазбаларды таңдау

    1. Authors кестесінен 'К' әрпінен басталатын авторлар тізімін(Name_author өрісі) шығару.

    2. Publishing_house кестесінен 'софт' тіркесі кезедесетін баспа атауларын(Publish өрісі) шығару.

    3. Deliveries кестесінен 'ский' тіркесімен аяқталатын компания атауларын(Name_company өрісі) шығарыңыз.

    Бірнеше шарт бойынша жазбаларды таңдау

    1. Кітаптар саны (поле Amount) 100-ден жоғары немесе кітап бағассы (поле Cost) 200 бен 500 аралығында болатын жазбаларды таңдау (Code_delivery, Date_order, Title_book).

    2. Баспа коды (поле Code_Publish ) 10 мен 25 аралығында және бет саны(поле Pages) 120-дан жоғары болатын жазбаларды таңдау(поле Code_author, Name_author, Title_book)


    26. Вывести список издательств (поле Publish) из таблицы Publish-
    ing_house, в которых выпущены книги, названия которых (поле Title_book)
    начинаются со слова 'Труды' и город издания (поле City) - 'Новосибирск'.

    Многотабличные запросы (выборка из двух таблиц, выборка из трех таблиц с использованием JOIN)

    1. Вывести список названий компаний-поставщиков (поле
      Name_company) и названия книг (поле Title_book), которые они поставили
      в период с 01.01.2002 по 31.12.2003 (условие по полю Date_order).

    2. Вывести список авторов (поле Name_author), книги которых были
      выпущены в издательстве 'Мир' (условие по полю Publish).

    3. Вывести список поставщиков (поле Name_company), которые по­
      ставляют книги издательства 'Питер' (условие по полю Publish).

    4. Вывести список авторов (поле Name_author) и названия книг (поле
      Title_book), которые были поставлены поставщиком 'ОАО Книготорг' (ус­
      ловие по полю Name_company).

    Вычисления

    1. Вывести суммарную стоимость партии одноименных книг (исполь­
      зовать поля Amount и Cost) и название книги (поле Title_book) в каждой
      поставке.

    2. Вывести стоимость одной печатной страницы каждой книги (ис­
      пользовать поля Cost и Pages) и названия соответствующих книг (поле
      Title_book).

    3. Вывести количество лет с момента рождения авторов (использо­
      вать поле Birthday) и имена соответствующих авторов (поле Name_author).

    Вычисление итоговых значений с использованием агрегатных функций

    1. Вывести общую сумму поставок книг (использовать поле Cost),
      выполненных 'ЗАО Оптторг' (условие по полю Name_company).

    2. Вывести общее количество всех поставок (использовать любое по­
      ле из таблицы Purchases), выполненных в период с 01.01.2003 по
      01.02.2003 (условие по полю Date_order).

    3. Вывести среднюю стоимость (использовать поле Cost) и среднее
      количество экземпляров книг (использовать поле Amount) в одной постав­
      ке, где автором книги является 'Акунин' (условие по полю
      Name_author).

    4. Вывести все сведения о поставке (все поля таблицы Purchases), а
      также название книги (поле Title_book) с минимальной общей стоимостью
      (использовать поля Cost и Amount).

    17

    38. Вывести все сведения о поставке (все поля таблицы Purchases), а
    также название книги (поле Title_book) с максимальной общей стоимостью
    (использовать поля
    Cost и Amount).

    Изменение наименований полей

    1. Вывести название книги (поле Title_book), суммарную стоимость
      партии одноименных книг (использовать поля Amount и Cost), поместив в
      результат в поле с названием Itogo, в поставках за период с 01.01.2002 по
      01.06.2002 (условие по полю Date_order).

    2. Вывести стоимость одной печатной страницы каждой книги (ис­
      пользовать поля Cost и Pages), поместив результат в поле с названием
      One_page, и названия соответствующих книг (поле Title_book).

    3. Вывести общую сумму поставок книг (использовать поле Cost) и
      поместить результат в поле с названием Sum_cost, выполненных 'ОАО
      Луч' (условие по полю Name_company).

    Использование переменных в условии

    1. Вывести список сделок (все поля из таблицы Purchases) за послед­
      ний месяц (условие с использованием поля Date_order).

    2. Вывести список авторов (поле Name_author), возраст которых
      меньше заданного пользователем (условие с использованием поля
      Birthday).

    3. Вывести список книг (поле Title_book), которых закуплено меньше,
      чем указано в запросе пользователя (условие с использованием поля
      Amount).

    Использование переменных вместо названий таблиц

    1. Вывести список названий компаний-поставщиков (поле
      Name_company) и названия книг (поле Title_book), которые они поставили.

    2. Вывести список авторов (поле Name_author), книги которых были
      выпущены в издательствах 'Мир', 'Питер Софт', 'Наука' (условие по полю
      Publish).

    3. Вывести список издательств (поле Name_company), книги которых
      были поставлены по цене 150 руб. (поле Cost).

    Выбор результата в курсор

    1. Вывести список названий книг (поле Title_book) и количества
      страниц (поле Pages) в каждой книге и поместить результат в курсор с на­
      званием Temp1.

    2. Вывести список названий компаний-поставщиков (поле
      Name_company) и поместить результат в курсор с названием Temp2.

    18

    50. Вывести список авторов (поле Name_author) и поместить результат
    в курсор с названием Temp3.

    Использование функций совместно с подзапросом

    1. Вывести список книг (поле Title_book), у которых количество стра­
      ниц (поле Pages) больше среднего количества страниц всех книг в таблице.

    2. Вывести список авторов (поле Name_author), возраст которых
      меньше среднего возраста всех авторов в таблице (условие по полю
      Birth­
      day).

    3. Вывести список книг (поле Title_book), у которых количество стра­
      ниц (поле Pages) равно минимальному количеству страниц книг, пред­
      ставленных в таблице.

    Использование квантора существования в запросах

    1. Вывести список издательств (поле Publish), книги которых были
      приобретены оптом ('опт' из поля Type_Pur chase).

    2. Вывести список авторов (поле Name_author), книг которых нет в
      таблице Books.

    3. Вывести список книг (поле Title_book), которые были поставлены
      поставщиком 'ЗАО Квантор' (условие по полю
      Name_company).

    Оператор обработки данных Update

    1. Изменить в таблице Books содержимое поля Pages на 300, если код
      автора (поле Code_author) =56 и название книги (поле Title_book)
      ='Мемуары'.

    2. Изменить в таблице Deliveries содержимое поля Address на 'нет
      сведений', если значение поля является пустым.

    3. Увеличить в таблице Purchases цену (поле Cost) на 20 процентов,
      если заказы были оформлены в течение последнего месяца (условие по по­
      лю Date_order).

    Оператор обработки данных Insert

    1. Добавить в таблицу Purchases новую запись, причем так, чтобы код
      покупки (поле
      Code_purchase) был автоматически увеличен на единицу, а в
      тип закупки (поле Type_purchase) внести значение 'опт'.

    2. Добавить в таблицу Books новую запись, причем вместо ключевого
      поля поставить код (поле Code_book), автоматически увеличенный на еди­
      ницу от максимального кода в таблице, вместо названия книги (поле Ti-
      tle_book) написать 'Наука. Техника. Инновации'.

    3. Добавить в таблицу Publish_house новую запись, причем вместо
      ключевого поля поставить код (поле Code_publish), автоматически увели-

    19

    ченный на единицу от максимального кода в таблице, вместо названия го­рода - 'Москва' (поле City), вместо издательства - 'Наука' (поле Publish).

    Оператор обработки данных Delete

    1. Удалить из таблицы Purchases все записи, у которых количество
      книг в заказе (поле Amount) = 0.

    2. Удалить из таблицы Authors все записи, у которых нет имени авто­
      ра в поле Name_Author.

    3. Удалить из таблицы Deliveries все записи, у которых не указан
      ИНН (поле INN пустое).


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