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

  • Изменение порядка следования полей

  • Выбор некоторых полей из двух таблиц

  • Условие неточного совпадения

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

  • Выбор записей по диапазону значений (Between)

  • Выбор записей по диапазону значений (In)

  • Выбор записей с использованием Like

  • Выбор записей по нескольким условиям

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

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

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

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

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

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

  • создание баз данных для специальности 09.02. СОЗДАНИЕ БАЗ ДАННЫХ. Создание баз данных (БД) в microsoft sql server


    Скачать 108.74 Kb.
    НазваниеСоздание баз данных (БД) в microsoft sql server
    Анкорсоздание баз данных для специальности 09.02.07
    Дата19.11.2022
    Размер108.74 Kb.
    Формат файлаdocx
    Имя файлаСОЗДАНИЕ БАЗ ДАННЫХ.docx
    ТипДокументы
    #799055

    СОЗДАНИЕ БАЗ ДАННЫХ (БД) В MICROSOFT SQL SERVER
    Цель работы – с помощью операторов языкаTransact SQLнаучиться создавать базы данных и совокупность связанных таблиц, принадлежащих указанной базе данных.

    В качестве примера базы данных, которая будет создана программно с помощью операторов языка Transact SQL, выберем БД «Книжное дело» (рис. 1.1). Структура таблиц данной БД представлена в табл. 1.1-1.5.



    Таблица 1.1

    Покупки (название таблицы Purchases)

    Название поля




    Тип поля

    Описание поля







    Code_book




    Int

    Код закупаемой книги







    Date_order




    DateTime

    Дата заказа книги







    Code_delivery




    Int

    Код поставщика







    Type_purchase




    Bit

    Тип закупки (опт/ розница)







    Cost




    Money

    Стоимость единицы товара







    Amount




    Int

    Количество экземпляров







    Code_purchase




    Int

    Код покупки
















    Таблица 1.2







    Справочник книг (название таблицы Books)






















    Название поля




    Тип поля

    Описание поля




    Code_book




    Int

    Код книги







    Title_book




    Char

    Название книги







    Code_author




    Int

    Код автора







    Pages




    Int

    Количество страниц







    Code_publish




    Int

    Код издательства
















    Таблица 1.3




    Справочник авторов (название таблицы Authors)






















    Название поля




    Тип поля

    Описание поля




    Code_author




    Int

    Код автора







    Name_author




    Char

    Фамилия, имя, отчество автора







    Birthday




    DateTime

    Дата рождения








    Таблица 1.4
    Справочник поставщиков (название таблицы Deliveries)


    Название поля

    Тип поля

    Описание поля

    Code_delivery

    Int

    Код поставщика

    Name_delivery

    Char

    Фамилия, и., о. ответственного лица

    Name_company

    Char

    Название компании-поставщика

    Address

    Char

    Юридический адрес

    Phone

    Numeric

    Телефон контактный

    INN

    Char

    ИНН


    Таблица 1.5
    Справочник издательств (название таблицы Publishing_house)


    Название поля

    Тип поля

    Описание поля

    Code_publish

    Int

    Код издательства

    Publish

    Char

    Издательство

    City

    Char

    Город



    Создать новую базу данных с названием DB_Books с помощью команды:

    CREATE DATABASE DB_BOOKS
    Создать в ней перечисленные таблицы либо с помощью мастера таблиц, либо с помощью следующих команд:
    use DB_BOOKS
    CREATE TABLE Authors(Code_author INT PRIMARY KEY, name_author CHAR(30), Birthday DATETIME)
    CREATE TABLE Publishing_house(Code_publish INT PRIMARY KEY, Publish CHAR(30), City CHAR(20))
    CREATE TABLE Books(Code_book INT PRIMARY KEY, Title_book CHAR(40), Code_author INT FOREIGN KEY REFERENCES Au-thors(Code_author), Pages INT, Code_publish INT FOREIGN KEY REFERENCES Publishing_house(Code_publish))
    CREATE TABLE Deliveries(Code_delivery INT PRIMARY KEY, Name_delivery CHAR(30), Name_company CHAR(20), Address VARCHAR(100), Phone BIGINT, INN CHAR(13))
    CREATE TABLE Purchases(Code_purchase INT PRIMARY KEY, Code_book INT FOREIGN KEY REFERENCES Books(Code_book), Date_orderSMALLDATETIME, Code_delivery INT FOREIGN KEY
    REFERENCES Deliveries(Code_delivery), Type_purchase BIT, Cost FLOAT, Amount INT)
    В разделе диаграмм создать новую диаграмму, в которую добавить из списка пять наших таблиц, проверить связи между таблицами.

    Заполните таблицы данными.
    Сортировка


    1. Выбрать все сведения о книгах из таблицы Books и отсортировать результат по коду книги (поле Code_book).




    1. Выбрать из таблицы Books коды книг, названия и количество страниц (поля Code_book, Title_book и Pages), отсортировать результат по названиям книг (поле Title_book по возрастанию) и по полю Pages (по убыванию).




    1. Выбрать из таблицы 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).




    1. Выбрать из таблицы Books названия книг и количество страниц (поля Title_book и Pages), а из таблицы Deliveries выбрать имя соответствующего поставщика книги (поле Name_delivery).

    2. Выбрать из таблицы Books названия книг и количество страниц


    (поля Title_book и Pages), а из таблицы Publishing_house выбрать название соответствующего издательства и места издания (поля Publish и City).
    Условие неточного совпадения


    1. Выбрать из справочника поставщиков (таблица Deliveries) названия компаний, телефоны и ИНН (поля Name_company, Phone и INN), у которых название компании (поле Name_company) начинается с ‘ОАО’.




    1. Выбрать из таблицы Books названия книг и количество страниц (поля Title_book и Pages), а из таблицы Authors выбрать имя соответствующего автора книг (поле Name_ author), у которых название книги начинается со слова ‘Мемуары’.




    1. Выбрать из таблицы Authors фамилии, имена, отчества авторов (поле Name_ author), значения которых начинаются с ‘Иванов’.


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


    1. Вывести список названий издательств (поле Publish) из таблицы Publishing_house, которые не находятся в городе ‘Москва’ (условие по по-


    лю City).


    1. Вывести список названий книг (поле Title_book) из таблицы Books, которые выпущены любыми издательствами, кроме издательства ‘Питер-


    Софт’ (поле Publish из таблицы Publishing_house).
    Выбор записей по диапазону значений (Between)


    1. Вывести фамилии, имена, отчества авторов (поле Name_author) из таблицы Authors, у которых дата рождения (поле Birthday) находится в диапазоне 01.01.1840 – 01.06.1860.




      1. Вывести список названий книг (поле Title_book из таблицы Books)




    • количество экземпляров (поле Amount из таблицы Purchases), которые были закуплены в период с 12.03.2003 по 15.06.2003 (условие по полю


    Date_order из таблицы Purchases).


      1. Вывести список названий книг (поле Title_book) и количество страниц (поле Pages) из таблицы Books, у которых объем в страницах укладывается в диапазон 200 – 300 (условие по полю Pages).




      1. Вывести список фамилий, имен, отчеств авторов (поле Name_author) из таблицы Authors, у которых фамилия начинается на одну из букв диапазона ‘В’ – ‘Г’ (условие по полю Name_author).


    Выбор записей по диапазону значений (In)


      1. Вывести список названий книг (поле Title_book из таблицы Books)


    и количество (поле Amount из таблицы Purchases), которые были поставлены поставщиками с кодами 3, 7, 9, 11 (условие по полю Code_delivery из таблицы Purchases).

      1. Вывести список названий книг (поле Title_book) из таблицы Books, которые выпущены следующими издательствами: ‘Питер-Софт’, ‘Альфа’, ‘Наука ’ (условие по полю Publish из таблицы Publishing_house).




      1. Вывести список названий книг (поле Title_book) из таблицы Books, которые написаны следующими авторами: ‘Толстой Л.Н.’, ‘Достоевский Ф.М.’, ‘Пушкин А.С.’ (условие по полю Name_author из таблицы Authors).


    Выбор записей с использованием Like


    1. Вывести список авторов (поле Name_author) из таблицы Authors, которые начинаются на букву ‘К’.




    1. Вывести названия издательств (поле Publish) из таблицы Publishing_house, которые содержат в названии сочетание ‘софт’.




    1. Выбрать названия компаний (поле Name_company) из таблицы Deliveries, у которых значение оканчивается на ‘ский’.


    Выбор записей по нескольким условиям


      1. Выбрать коды поставщиков (поле Code_delivery), даты заказов (поле Date_order) и названия книг (поле Title_book), если количество книг (поле Amount) в заказе больше 100 или цена (поле Cost) за книгу находится




    • диапазоне от 200 до 500.




      1. Выбрать коды авторов (поле Code_author), имена авторов (поле Name_author), названия соответствующих книг (поле Title_book), если код издательства (поле Code_Publish) находится в диапазоне от 10 до 25 и количество страниц (поле Pages) в книге больше 120.

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


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


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




    • период с 01.01.2002 по 31.12.2003 (условие по полю Date_order).




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




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




      1. Вывести список авторов (поле Name_author) и названия книг (поле Title_book), которые были поставлены поставщиком ‘ОАО Книготорг’ (ус


    ловие по полю Name_company).
    Вычисления


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




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


    Title_book).


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


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


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




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


    01.02.2003 (условие по полю Date_order).


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




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




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


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


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

    01.06.2002 (условие по полю Date_order).


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




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

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


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




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




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


    лю Date_order).
    Оператор обработки данных Insert


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




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




    1. Добавить в таблицу Publish_house новую запись, причем вместо ключевого поля поставить код (поле Code_publish), автоматически увеличенный на единицу от максимального кода в таблице, вместо названия города – ‘Москва’ (поле City), вместо издательства – ‘Наука’ (поле Publish).


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


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




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


    ра в поле Name_Author.


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


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