Файл: ycheb/sql_teach/b.php
Строк: 33
<?php
include '../../config.php';
$title='Учебник SQL';
aut();
head();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
<link rel="stylesheet" href="css.css" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta http-equiv="Content-Language" content="ru">
<title>Приложение B.</title></head>
<body>
<h1>Приложение B</h1>
<center><hr width="50%"></center>
<h1>ТИПЫ ДАННЫХ В SQL</h1>
<p>Типы данных, распознаваемые с помощью ANSI, состоят из символов и различных
типов чисел, которые могут классифицироваться как точные числа и приблизительные
числа.</p>
<p>Точные числовые типы это числа с десятичной точкой или без десятичной
точки. Приблизительные числовые типы это числа в показательной
(экспоненциальной по основанию 10) записи.</p>
<p>Для всех прочих типов отличия слишком
малы чтобы их как-то классифицировать.</p>
<p>Иногда типы данных используют аргумент, который называют размером аргумента, чей
точный формат и значение меняется в зависимости от конкретного типа.</p>
<p>Значения по
умолчанию обеспечены для всех типов, если размер аргумента отсутствует.</p>
<h3>ТИПЫ ANSI</h3>
<p>Ниже представлены типы данных ANSI (имена в круглых скобках - это синонимы):</p>
<table><tr><td>TEXT</td><td>ТЕКСТ</td></tr><tr><td>CHAR (или CHARACTER)</td>
<td>Строка текста в реализационно определенном формате. Размер аргумента
здесь это единственное неотрицательное целое число, которое ссылается к
максимальной длине строки. Значения этого типа должны быть заключены в
одиночные кавычки, например, 'text'. Две рядом стоящие одинарные кавычки
('') внутри строки будут пониматься как одна одинарная кавычка (').</td></tr></table>
<p><b>ПРИМЕЧАНИЕ</b>:<br>
Здесь и далее фраза Реализационно Определенный или Реализационно Зависимый
указывает, что этот аргумент или формат зависит от конкретной программы в
которой реализуются данные.</p>
<table><tr><td>EXACT NUMERIC</td><td>ТОЧНО ЧИСЛО</td></tr><tr><td>DEC (или DECIMAL)</td>
<td>Десятичное число, то есть число, которое может иметь десятичную точку.
Здесь аргумент размера имеет две части: точность и масштаб. Масштаб не может
превышать точность. Сначала указывается точность, затем - разделительная
запятая и далее - аргумент масштаба. Точность указывает, сколько значащих цифр
имеет число. Максимальное десятичное число, составляющее число -
реализационно определённое значение, равное или больше, чем этот номер.
Масштаб указывает максимальное число цифр справа от десятичной точки.
Масштаб = нулю делает поле эквивалентом целого числа.</td></tr>
<tr><td>NUMERIC</td><td>Такое же, как DECIMAL, за исключением того, что максимальное десятичное не может превышать аргумента точности.</td></tr>
<tr><td>INT (или INTEGER)</td><td>Число без десятичной точки. Эквивалентно DECIMAL, но без цифр справа от
десятичной точки, то есть с масштабом, равным 0. Аргумент размера не используется (он автоматически устанавливается в реализационно-зависимое значение).</td></tr>
<tr><td>SMALLINT</td><td>Такое же, как INTEGER, за исключением того, что, в зависимости от
реализации, размер по умолчанию может (или может не) быть меньшее чем INTEGER.</td></tr>
<tr><td>APPROXIMATE NUMERIC</td><td>Приблизительное число</td></tr><tr><td>FLOAT</td>
<td>Число с плавающей запятой на базе 10 показательной функции. Аргумент
размера состоит из одного числа, определяющего минимальную точность.</td></tr>
<tr><td>REAL</td><td>Такое же, как FLOAT, за исключением того, что никакой аргумент размера
не используется. Точность установлена по умолчанию как реализационно зависимая.</td></tr>
<tr><td>DOUBLE PRECISION (или DOUBLE)</td><td>Такое же, как REAL, за исключением того, что реализационно определяемая
точность для DOUBLE PRECISION должна превышать реализационно определяемую точность REAL.</td></tr></table>
<hr width="70%">
<h3>ЭКВИВАЛЕНТНЫЕ ТИПЫ ДАННЫХ В ДРУГИХ ЯЗЫКАХ</h3>
<p>Когда используется вложение SQL в другие языки, значения, используемые и
произведённые командами SQL, обычно сохраняются в переменных главного языка (см.<a href="ch25.php">
Главу 25</a>). Эти переменные должны иметь тип данных, совместимый со значениями
SQL, которые они будут получать.</p>
<p>В дополнениях, которые не являются частью
официального SQL-стандарта, ANSI обеспечивает поддержку при использовании
вложения SQL в четыре языка: Паскаль, PL/I, КОБОЛ, и ФОРТРАН. Между прочим, он
включает определение эквивалентов SQL для данных типов переменных, используемых
в этих языках.</p>
<p>Эквиваленты типов данных четырёх языков, определенные ANSI:</p>
<h3>PL/I</h3><table><tr><th>SQL ТИП</th><th>ЭКВИВАЛЕНТ PL/I</th></tr><tr><td>CHAR</td><td>CHAR</td></tr><tr><td>DECIMAL</td>
<td>FIXED DECIMAL</td></tr><tr><td>INTEGER</td><td>FIXED BINARY</td></tr><tr><td>FLOAT</td><td>FLOAT BINARY</td></tr></table>
<hr width="50%">
<h3>КОБОЛ</h3>
<table><tr><th>SQL ТИП</th><th>ЭКВИВАЛЕНТ КОБОЛА</th></tr><tr><td>CHAR (<integer>)</integer></td><td>PIC X (<integer>)</integer></td></tr>
<tr><td>INTEGER</td><td>PIC S (<nines>) USAGE COMPUTTATIONAL</nines></td></tr>
<tr><td>NUMERIC</td><td>PIC S (< nines with embedded V >) DISPLAY SING LEADING SEPERATE</td></tr></table>
<hr width="50%">
<h3>ПАСКАЛЬ</h3>
<table><tr><th>SQL ТИП</th><th>ЭКВИВАЛЕНТ ПАСКАЛЯ</th></tr><tr><td>INTEGER</td><td>INTEGER</td></tr>
<tr><td>REAL</td><td>REAL</td></tr><tr><td>CHAR (<length>)</length></td><td>PACKED ARRAY [1..<length>] OF CHAR</length></td></tr></table>
<hr width="50%">
<h3>ФОРТРАН</h3>
<table><tr><th>SQL ТИП</th><th>ЭКВИВАЛЕНТ ФОРТРАНА</th></tr><tr><td>CHAR</td><td>CHAR</td></tr><tr><td>INTEGER</td><td>INTEGER</td></tr>
<tr><td>REAL</td><td>REAL</td></tr><tr><td>DOUBLE PRECISION</td><td>DOUBLE PRECISION</td></tr></table>
</body></html>
<?php
echo gb.'<a href="../../ycheb">Учебники</a>'.div;
echo gb.'<a href="'.H.'enter">Прихожая</a>'.div;
foot(); ?>