Главная » Просмотр файлов » Мартин Грубер - Понимание SQL

Мартин Грубер - Понимание SQL (991940), страница 51

Файл №991940 Мартин Грубер - Понимание SQL (Мартин Грубер. Понимание SQL) 51 страницаМартин Грубер - Понимание SQL (991940) страница 512015-08-23СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 51)

}end; { Если ответ = 'Y', или если ответ <> 'Y', изменений небудет. }EXEC SQL FETCH Salesperson INTO (:snum, :sname, :city, :i_clt, :comm,:l_com);{ выборка следующей строки }end; {если SQLCODE = 0}EXEC SQL CLOSE CURSOR Salesperson;end; {основной программы}ПриложениеBТИПЫ ДАННЫХ В SQLТИПЫ ДАННЫХ, РАСПОЗНАВАЕМЫЕ С ПОМОЩЬЮ ANSI, состоят из символови различных типов чисел, которые могут классифицироваться как точные числа иприблизительные числа.Точные числовые типы — это номера, с десятичной точкой или без десятичнойточки.Приблизительные числовые типы — это номера в показательной (экспоненциальной по основанию 10) записи.Для все прочих типов, отличия слишком малы чтобы их как-то классифицировать.Иногда типы данных используют аргумент, который я называю размером аргумента, чей точный формат и значение меняется в зависимости от конкретного типа.Значения по умолчанию обеспечены для всех типов, если размер аргумента отсутствует.ТИПЫ ANSIНиже представлены типы данных ANSI (имена в круглых скобках — это синонимы):TEXTТЕКСТCHAR (или CHARACTER) Строка текста в реализационно-определенном формате.Размер агрумента здесь это единственное неотрицательное целое число, которое ссылается к максимальной длине строки.

Значения этого типа, должны быть заключены водиночные кавычки, например 'text'. Две рядом стоящиеодиночные кавычки ('') внутри строки будет пониматься какодна одиночная кавычка (').ПРИМЕЧАНИЕ: Здесь и далее, фраза Реализационно-Определенный или Реализационно-Зависимый, указывает, что этот аргумент или формат зависит от конкретнойпрограммы, в которой реализуются данные.EXACT NUMERICТОЧНОЕ ЧИСЛОDEC (или DECIMAL) Десятичное число; то есть, число которое может иметь десятичную точку. Здесь аргумент размера имеет две части: точность имасштаб.

Масштаб не может превышать точность. Сначала указывается точность, разделительная запятая и далее аргументмасштаба. Точность указывает сколько значащих цифр имеетчисло. Максимальное десятичное число составляющее номер —реализационно-определенное значение, равное или большеечем этот номер. Масштаб указывает максимальное число цифрсправо от десятичной точки. Масштаб = 0 делает поле эквивалентом целого числа.NUMERICТакое же как DECIMAL за исключением того, что максимальноедесятичное не может превышать аргумента точности.INT (или INTEGER) Число без десятичной точки.

Эквивалентно DECIMAL, но безцифр справа от десятичной точки, то есть с масштабом равнымSMALLINT0. Аргумент размера не используется (он автоматически установливается в реализационно-зависимое значение).Такое же как INTEGER, за исключением того, что, в зависимостиот реализации, размер по умолчанию может (или не может)быть меньшее чем INTEGER.APPROXIMATE NUMERICПРИБЛИЗИТЕЛЬНОЕ ЧИСЛОFLOATREALDOUBLE PRECISIONЧисло с плавающей запятой на основе 10 показательнойфункции. Аргумент размера состоит из одного числа определяющего минимальную точность.Такое же как FLOAT, за исключением того, что никакого аргумента размера не используется. Точность установлена реализационно-зависимую по умолчанию.Такое же как REAL, за исключением того, что (или DOUBLE)реализационно-определяемаяточностьдляDOUBLEPRECISIONдолжнапревышатьреализационноопределяемую точность REAL.ЭКВИВАЛЕНТНЫЕ ТИПЫ ДАННЫХ В ДРУГИХ ЯЗЫКАХКогда используется вложение SQL в другие языки, значения, используемые ипроизведенные командами SQL, обычно сохраняются в переменных главного языка(см.

Главу 25). Эти переменные должны иметь тип данных, совместимый со значениями SQL, которые они будут получать. В дополнениях, которые не являются частьюофициального SQL стандарта, ANSI обеспечивает поддержку при использованиивложения SQL в четыре языка: Паскаль, PL/I, КОБОЛ, и ФОРТРАН. Между прочим, онвключает определение эквивалентов SQL для данных типов переменных, используемых в этих языках.Эквиваленты типов данных четырех языков определенных ANSI:ПЛ/ISQL ТИПЭКВИВАЛЕНТ ПЛ/ICHARDECIMALINTEGERFLOATCHARFIXED DECIMALFIXED BINARYFLOAT BINARYКОБОЛSQL ТИПЭКВИВАЛЕНТ КОБОЛАCHAR(<integer>)INTEGERNUMERICPIC X (<integer>)PIC S (<nines>) USAGE COMPUTTATIONALPIC S (<nines with embedded V>) DISPLAY SING LEADING SEPERATEПАСКАЛЬSQL ТИПЭКВИВАЛЕНТ ПАСКАЛЯINTEGERREALCHAR (<length>)INTEGERREALPACKED ARRAY [1..<length>] OF CHARФОРТРАНSQL ТИПЭКВИВАЛЕНТ ФОРТРАНАCHARINTEGERREALDOUBLE PRECISIONCHARINTEGERREALDOUBLE PRECISIONПриложениеCНЕКОТОРЫЕ ОБЩИЕНЕСТАНДАРТНЫЕСРЕДСТВА SQLИМЕЕТСЯ РЯД ОСОБЕННОСТЕЙ ЯЗЫКА SQL, которые пока не определены какчасть стандарта ANSI или стандарта ISO (Международная Организация По Стандартизации), и являются общими для многочисленных реализаций, так как они были получены для практического использования.Это дополнительные элементы чисел этих особенностей.

Конечно, эти особенности меняются от программы к программе, и их обсуждение предназначено толькочтобы показать некоторые общие подходы к ним.ТИПЫ ДАННЫХТипы данных, поддерживаемые стандартом SQL, собраны в Приложении B. Этоколличество для CHARACTER и разнообразие числовых типов. Реализация их может, фактически, быть значительно сложнее, чем показано в терминах типов, которыеони фактически могут использовать. Мы будем здесь обсуждать ряд таких нестандартных типов данных.ТИПЫ DATE И TIMEКак упомянуто в Главе 2, тип данных DATE широко поддерживается, даже еслион не часть стандарта.

Мы использовали ранее в нашей таблице Порядков этот тип,использующий формат mm/dd/yyyy. Это стандартный формат IBM в США. Разумеется,возможны и другие форматы, и программные реализации часто поддерживают рядформатов, позволяя вам выбирать тот, который лучше для вас подходит. Реализация,которая предлагает эту особенность, должна быть способна преобразовывать датуодного формата в другой — автоматически.Имеются несколько основных форматов даты, с которыми вы можете столкнуться:СтандартМеждународная Организация По Стандартизации (ISO)Японский Индустриальный Стандарт (JIS)IBM Европейский Стандарт (EUR)Форматyyyy-mm-ddyyyy-mm-dddd.mm.yyyyПример1990-10-311990-10-3110.31.1990Наличие специального типа, определяемого для даты, дает возможность выполнять арифметические операция с датами. Например, вы можете добавлять числодней к дате и получать другую дату в программе, самостоятельно следящей за числом дней в месяцах, високосными годами и так далее.

Даты могут также сравниваться; например фраза, дата A < дата B означает, что дата A предшествует дате B повремени.Кроме даты, большое количество программ определяют специальный тип длявремени, который может также быть представлен в ряде форматов, включая следующие:СтандартМеждународная Организация По Стандартизации (ISO)Японский Индустриальный Стандарт (JIS)IBM Европейский СтандартIBM USA Стандарт (USA)Форматhh-mm-sshh-mm-sshh-mm-sshh.mm AM/PMПример21.04.3721.04.3721.04.379.04 PMВремя может добавляться или сравниваться точно также как дата, с коррекциейчисла секунд в минутах или часах автоматически.

Кроме того, специально встроенныеконстанты, указывающие текущую дату или время (CURDATE или CURTIME) являютсяобщими. Они похожи на константу USER (Пользователь), в которой их значение будетнепрерывно меняться.Можете ли вы включать время и дату в одно поле? Некоторые реализации определяют тип DATE достаточно точно, чтобы включать туда еще и TIME.В качестве альтернативы, третий обобщающий тип, TIMESTAMP, может бытьопределен как комбинация этих двух.ТИПЫ ТЕКСТОВОЙ СТРОКИANSI поддерживает только один тип чтобы представлять текст.

Это — тип CHAR.Любое поле такого типа должно иметь определенную длину. Если строка, вставляемая в поле, меньше, чем длина поля, она дополняется пробелами; строка не можетбыть длиннее, чем длина поля.Хотя и достаточно удобное, это определение все же имеет некоторые ограничения для пользователя. Например, символьные поля должны иметь одинаковую длину,чтобы можно было выполнить команду UNION. Большинство реализаций поддерживают строки переменной длины для типов данных VARCHAR и LONG VARCHAR (илипросто LONG). В то время как поле типа CHAR всегда может распределить памятьдля максимального числа символов, которое может сохраняться в поле, полеVARCHAR при любом количестве символов может распределить только определенное количество памяти, чтобы сохранить фактическое содержание поля, хотя SQLможет установить снаружи некоторое дополнительное пространство памяти, чтобыследить за текущей длиной поля.Поле VARCHAR может быть любой длины, включая реализационноопределяемый максимум.

Этот максимум может меняться от 254 до 2048 символовдля VARCHAR, и до 16000 символов для LONG. LONG обычно используется для текста пояснительного характера или для данных, которые не могут легко сжиматься впростые значения полей; VARCHAR может использоваться для любой текстовой строки чья длина может меняться.Между прочим, не всегда хорошо использовать VARCHAR вместо CHAR. Извлечение и модифицирование полей VARCHAR — более сложный и, следовательно, более медленный процесс, чем извлечение и модифицирование полей CHAR. Крометого, некоторое количество памяти VARCHAR остается всегда неиспользованной (врезерве) для гарантии вмещения всей длины строки.Вы должны просчитывать, насколько значения полей могут меняться по длине, атакже, способны ли они к объединению с другими полями, перед тем как решить, использовать CHAR или VARCHAR.

Часто, тип LONG используется для сохранения двоичных данных. Естественно, что использование размера такого "неуклюжего" полябудет ограничивать оперативность SQL.Проконсультируйтесь с вашим руководством.КОМАНДА FORMATКак мы подчеркивали в Главе 7, процесс вывода, выполняемого в стандартеSQL — ограничен.

Хотя большинство реализаций включают SQL в пакеты, имеющиедругие средства для управления этой функцией, некоторые реализации также используют команду типа FORMAT внутри SQL, чтобы навязывать выводу запроса определенные формы, структуры или ограничения. Среди возможных функций командыFORMAT существуют такие:* определение ширины столбцов (при печати).* определение представления NULL значений.* обеспечение (новых) заголовков для столбцов.* обеспечение заголовков внизу или вверху страниц выводимых на печать.* навязывает присвоение или изменение форматам полей содержащих значения даты, времени или денежной суммы.* вычисляет общие и промежуточные суммы, не исключая возможности обобщения поля, как это делает например SUM. (Альтернативным подходом к этой проблеме в некоторых программах является предложение COMPUTE.)Команда FORMAT может вводиться сразу перед или сразу после запроса, к которому она применяется, в зависимости от реализации.

Характеристики

Тип файла
PDF-файл
Размер
1,41 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6510
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее