Лабораторная работа 1 создание баз данных (БД) в microsoft sql server
Скачать 1.1 Mb.
|
Управление объектами через функции
Books 2073058421 USER_TABLE OBJECT_DEFINITION Пример: SELECT OBJECT_DEFINITION (OBJECT_ID(N'dbo.Count_books')) AS [type]; Вернет все описание процедуры или NULL, ес-ли ее нет в бд Варианты заданий к лабораторной работе №3 Общие сведения Для получения более подробной информации о работе тех или иных операторов или функций можно запустить утилиту Books Online из состава MS SQL Server и в разделе «Указатель» набрать искомый ключевой эле-мент. Для выполнения заданий ориентироваться на вариант и список номе-ров заданий во второй лабораторной работе.
QUOTED_IDENTIFIER. 2. Проверить работу описанной установки SET DATEFIRST. Объявление переменных Объявить переменную Perem1 типа денежный, а переменную Perem2 типа число с целой частью равной 8 и дробной частью равной 2. Объявить переменную Perem1 типа строка длиной 100, а перемен-ную Perem2 типа длинное целое. Объявить переменную Perem1 типа динамическая строка с макси-мальной длиной 1000, а переменную Perem2 типа целое число. Объявить переменную Perem1 типа строка длиной 30, а перемен-ную Perem2 типа число с целой частью равной 10 и дробной частью равной 3. 7. Объявить переменную Perem1 типа дата/ время, а переменную Perem2 типа число в диапазоне от 0 до 255. Присвоение значений переменным и вывод значений на экран Подсчитать среднюю цену закупленных книг (с помощью запроса SELECT) и умножить ее на значение 123,34, которое необходимо сохра-нить в отдельной переменной, вывести значение переменной на экран. Подсчитать суммарную цену всех закупок книг, результат помес-тить в переменную, вывести значение переменной на экран. 32 Подсчитать количество книг в справочнике книг, результат помес-тить в переменную, вывести значение переменной на экран. Определить минимальную дату рождения автора в справочнике ав-торов, результат поместить в переменную, вывести значение переменной на экран. Сочетание ключевых слов SET и SELECT Подсчитать количество поставщиков книг, результат поместить в переменную. Подсчитать сумму закупок книг, результат поместить в перемен- ную. Подсчитать среднюю цену в таблице покупок книг, результат по-местить в переменную. Подсчитать максимальную стоимость книг в закупке, результат поместить в переменную. Работа с датой и временем Определить переменную Date1 типа дата/время. Присвоить ей зна- чение даты 31.12.2006 в формате dd.mm.yyyy. Определить переменную Date1 типа дата/время. Присвоить ей зна- чение даты 31.12.2006 в формате mm.dd.yyyy. Определить переменную Date1 типа дата/время. Присвоить ей зна- чение даты 31.12.2006 в формате yyyy.mm.dd. Создание временной таблицы через переменную типа TABLE Создать локальную таблицу с названием TEMP и полями типа да-та/время, длинное целое, строка. Добавить в нее две записи с данными и вывести результат на экран. Создать локальную таблицу с названием TEMP и полями типа длинное целое, строка и значением по умолчанию «введите что-нибудь», денежный. Добавить в нее две записи с данными и вывести результат на экран. Создать локальную таблицу с названием TEMP и полями типа це-лое, динамическая строка, бит со значением по умолчанию «1». Добавить в нее две записи с данными и вывести результат на экран. Создать локальную таблицу с названием TEMP и полями типа да-та/время, длинное целое, строка. Добавить в нее две записи с данными и вывести результат на экран. Создать локальную таблицу с названием TEMP и полями типа да-та/время, длинное целое с автонаращиванием, динамическая строка. Доба-вить в нее две записи с данными и вывести результат на экран. 33 Преобразование типов переменных Объявить переменные типа FLOAT, CHAR, TINYINT. Присвоить значения, соответствующие типам. Выполнить преобразование перемен- ных типа FLOAT, CHAR, TINYINT в INT, DATETIME, BIT соответствен- но и вывести результат на экран. Объявить переменные типа INT, DATETIME, BIT. Присвоить зна-чения, соответствующие типам. Выполнить преобразование переменных типа INT, DATETIME, BIT в FLOAT, CHAR, TINYINT соответственно и вывести результат на экран. Объявить переменные типа NUMERIC, VARCHAR, DATETIME. Присвоить значения, соответствующие типам. Выполнить преобразование переменных типа NUMERIC, VARCHAR, DATETIME в FLOAT, CHAR, BIGINT соответственно и вывести результат на экран. Объявить переменные типа BIT, NVARCHAR, DATETIME. При-своить значения, соответствующие типам. Выполнить преобразование пе- ременных типа BIT, NVARCHAR, DATETIME в FLOAT, INT, BIGINT со- ответственно и вывести результат на экран. Условная конструкция IF Подсчитать количество поставщиков в таблице Deliveries. Если их таблице от 2 до 5, то ничего не сообщать, в противном случае вывести сообщение вида "В таблице ... поставщиков" (вместо многоточия поста-вить точное количество поставщиков). Подсчитать сумму закупок книг в таблице покупок. Если получен-ная сумма в диапозоне от 1000 до 5000, то ничего не сообщать, в против-ном случае вывести сообщение вида "Сумма закупок = …" (вместо много-точия поставить точную сумму). Подсчитать среднюю стоимость закупки книг в таблице покупок. Если полученная стоимость в диапозоне от 1000 до 5000, то ничего не со-общать, в противном случае вывести сообщение вида "Средняя стоимость закупки = …" (вместо многоточия поставить точную среднюю стоимость). Определить минимальную стоимость закупки книг в таблице поку-пок. Если полученная стоимость в диапозоне от 200 до 300, то ничего не сообщать, в противном случае вывести сообщение вида "Минимальная стоимость закупки = …" (вместо многоточия поставить точную стои-мость). Цикл WHILE 32. Определить количество записей в таблице Authors. Пока записей меньше 15, делать в цикле добавление записи в таблицу с автоматическим наращиванием значения ключевого поля, а вместо имени автора ставить значение 'Автор не известен'. 34 Определить количество записей в таблице издательств. Пока запи-сей меньше 20, делать в цикле добавление записи в таблицу с автоматиче-ским наращиванием значения ключевого поля, а вместо названия изда-тельства ставить значение 'не известно'. Определить количество записей в таблице поставщиков. Пока за-писей меньше 17, делать в цикле добавление записи в таблицу с автомати-ческим наращиванием значения ключевого поля, а вместо названия по-ставщика ставить значение 'не известен'. Объявление курсора 35. Создать статический курсор по данным таблицы Books с полями Code_book, Title_book. Создать динамический курсор по данным таблицы поставщиков (таблица Deliveries) с полями Name_delivery, Name_company. Создать статический курсор по данным таблицы Books и Authors с полями Code_book, Title_book, Name_author. Создать статический курсор по данным таблицы Books и Publishing_house с полями Code_book, Title_book, Publish. Операторы для работы с курсором Создать динамический курсор для чтения по данным таблицы De-liveries с полями Code_delivery, Name_delivery. Вывести данные 3-й запи- си. Сделать текущей БД db_books. Поместить в курсор данные табли-цы Purchases. Перебрать все записи таблицы Purchases. Просуммировать значения произведений полей Cost и Amount и результат сохранить в пе-ременной Sum_table, которую после суммирования вывести на экран. За-крыть и удалить из памяти курсор. Объявить статический курсор по данным таблиц Authors и Books. Вывести данные 5-й записи. Использование функций для работы со сторовыми переменными Базовый текст дан в отдельном файле по вариантам. Для выполнения этого блока заданий в начале программы, которую вы создаете, объявите переменную типа varchar и присвойте ей в качестве значения строку с лю-бым базовым текстом, который будет анализироваться и/или исправляться заданиях. Удалить в тексте лишние пробелы. Лишними считаются те, кото-рые идут непосредственно за пробелом. Подсчитать количество исправле-ний. 35 Подсчитать количество встреч каждой из следующих букв: "а", "в", "и", "п" в базовом тексте. Подсчитать доли процентов встречи следующих букв: "е", "о", если суммарный процент встречаемости всех этих букв равен 100% или процент встречаемости е% + о% равен 100%. По правилам оформления машинописных текстов перед знаками .,!?:; пробелы не ставятся, но обязательно ставятся после этих знаков. Уда-лите лишние пробелы. Подсчитать количество исправлений. По правилам оформления машинописных текстов перед знаками .,!?:; пробелы не ставятся, но обязательно ставятся после этих знаков. Рас-ставьте недостающие пробелы. Подсчитать количество исправлений. Найти из исходного текста второе предложение и вернуть его в пе-ременную Perem, а также вывести на экран весь исходный текст и найден-ное предложение. Удалить из базового текста 2, 4, 6, 8 слова. Удалить из базового текста 3, 5, 7, 10 слова. Вставить в базовый текст вместо букв «а» - «АА». Вставить в базовый текст вместо букв «е» и «о» - «ББ». Поменять местами первое и последнее слова в базовом тексте. Использование функций для работы с числами 53. Вывести значение формулы (1), переменные которой нужно опи- сать и присвоить произвольные значения.
36
Использование функций для работы с типом дата/время Вывести на экран название текущего месяца и текущее время. За-писать в таблицу Purchases в поле Date_order одинаковую дату поступле-ния, которая равна 12.03.2000. Разобрать на отдельные составляющие текущую дату и время и вы-вести значения на экран в следующем порядке (вместо многоточий): "Сегодня: День = …, Месяц = …, Год = …, Часов = …, Минут = …, Секунд= …" В исходный текст, сохраненный в переменной Perem, после слова " время " вставить текущее время. Результат сохранить в той же переменной Perem и вывести на экран. |