- •Конспект лекций
- •Географические информационные системы
- •Тула 2011 г.
- •Информационные системы……………………………………………………………….4
- •Географические и земельно-информационные системы (гис и зис)………………………………………………………………………………………...59
- •Информационные системы. Состав и структура информационных систем, основные элементы, порядок функционирования и классификация информационных систем
- •Документальные и фактографические системы Фактографические системы
- •Документальные информационные системы
- •Языки общения пользователя с системой
- •Типичные объекты субд на примере Microsoft sql Server
- •Типы данных на примере Microsoft sql Server
- •Технология обработки данных; целостность и защита данных Особенности технологии обработки данных
- •Целостность информации
- •Защита данных
- •Общесистемное (базовое) программное обеспечение
- •Продолжение темы 1.5
- •Прикладное программное обеспечение
- •Система управления базами данных
- •Комплекс технических средств
- •Организационно-правовое обеспечение информационных систем
- •Правовая защита программ и бд
- •Информационные системы. Мировые информационные ресурсы и сети, методы и средства взаимодействия с ними Что такое интернет
- •История возникновения и развития интернета
- •Ключевые принципы
- •Продолжение темы 1.7
- •Протоколы
- •Сервисы
- •История создания
- •Исчерпание iPv4 адресов
- •Сравнение с iPv4
- •Нотация
- •Стандартизация информационного, программного и иного обеспечения: определение, классификация основных процессов, методов и средств стандартизации; национальные и мировые уровни стандартизации.
- •Понятие о гис и зис. Структура гис и зис. Классификация и применение гис и зис.
- •Пространственные объекты
- •Шкалы измерений
- •Графическое представление объектов и атрибутов
- •Растровые модели
- •Векторные модели
- •Понятие экспертной системы для целей землеустройства и ее интеграция в землеустроительную сапр, гис и зис;
- •Понятие экспертной системы для целей землеустройства и ее интеграция в землеустроительную сапр, гис и зис;
- •Создание компьютерных землеустроительных планов и карт; обзор средств, обеспечивающих создание гис и зис в землеустроительном производстве
- •Создание компьютерных землеустроительных планов и карт; обзор средств, обеспечивающих создание гис и зис в землеустроительном производстве
- •Библиографический список Основная литература
- •Дополнительная литература
Типы данных на примере Microsoft sql Server
Как и любой язык программирования, SQL оперирует объектами различной внутренней структуры, определяемой типом данных. Простые типы данных в SQL, как и в подавляющем большинстве других языков, можно разделить на несколько групп: числовые, строковые, даты и времени и пр.
Числовые типы данных SQL Server
Название |
Описание |
int |
Повсеместно используемый тип данных, встречающийся практически везде. В настоящее время представляет собой 32-хразрядное целое со знаком (4 байта). Охватывает дипазон целых от -2147483648 до 2147483647. |
bigint |
Местами встречающийся тип, могущий иметь другое название (например, long). В SQL Server появился лишь начиная с 2000 версии. В настоящее время представляет собой 64-хразрядное целое со знаком (8 байт). Охватывает диапазон целых от -9223372036854775808 до 9223372036854775807. |
smallint |
Также повсеместно распространённый тип данных. Может иметь другие названия (например, short). В настоящее время представляет собой 16-иразрядное целое со знаком (2 байта). Охватывает диапазон целых от -32768 до 32767. |
tinyint |
8-иразрядное целое без знака (1 байт). Охватывает диапазон целых от 0 до 255. |
bit |
1-оразрядное целое. Фактически, заменяет логический тип данных. Хранится как 1 байт (8 бит). Может принимать значения: либо 0, либо 1. |
decimal или numeric |
Повсеместно распространённый тип данных. Представляет собой вещественное число с фиксированной запятой. Название может быть сокращено до dec. Синтаксис определения следующий{ [center( decimal( p , s ), [/center( где p - точность (количество десятичных разрядов числа) от 1 до 38, s - масштаб (количество десятичных разрядов после запятой) от 0 до p. В памяти значения данного типа занимают различное чило байт, зависящее от точности{ при точности 1-9 знаков - 5 байт, при точности 10-19 знаков - 9 байт, при точности 20-28 знаков - 13 байт, при точности 29-38 знаков - 17 байт. Максимальный диапазон возможных значений при decimal(38, 0) охватывает целые от -10[sup(38[/sup(+1 до 10[sup(38[/sup(-1. |
float |
Повсеместно распространённый тип данных. Представляет собой вещественное число с плавающей запятой. Синтаксис определения следующий: float[( p )], где p - точность (число знаков основания) от 1 до 53. При точности 1-24 знаков для хранения числа выделяется 4 байта памяти, а при точности 25-53 знака - 8 байт. Указывать значение точности не обязательно. По умолчанию p = 53. В SQL Server 2000 заданная точность всегда приводится к максимально возможной в данном объёме памяти. Т.е. любое p от 1 до 24 рассматривается как 24. Аналогично, точность от 25 до 53 рассматривается как 53. Для значения float(53) имеется синоним double precision, а для float(24) - синоним real. При точности 53 объект типа может хранить числа в примерном диапазоне от 2,23*10-308 до 1,79*10308 любого знака. При точности 24 объект типа может хранить числа в примерном диапазоне от 1,18*10-38 до 3,40*1038 любого знака. |
SQL Server 2000 автоматически преобразует любые целочисленные типы (кроме bit) к bigint при возврате значений функций. Для SQL Server 7.0 преобразование производится в int.
Денежные типы данных SQL Server
Название |
Описание |
money |
Специальный тип для хранения значений денежных единиц. Является вещественным с фиксированной запятой (4 знака после запятой). Занимает 64 разряда (8 байт). Может принимать значения от -922337203685477,5808 до 922337203685477,5807. |
smallmoney |
Аналогично money, только 32-хразрядное (4 байта), но также 4 знака после запятой. Может принимать значения от -214748,3648 до 214748,3647. |
Символьные типы данных SQL Server
Название |
Описание |
char |
Повсеместно распространённый тип. Синтаксис определения типа следующий{ [center( char[( n )(, [/center( где [i(n[/i( - число символов от 1 до 8000. Объект данного типа хранит массив 8-иразрядных символов фиксированного размера. Для n значение по умолчанию - 30. Синоним character. |
varchar |
Повсеместно распространённый тип. Синтаксис определения типа следующий{ [center( varchar[( n )(, [/center( где n - число символов от 1 до 8000. Полностью аналогичен char за исключением того, что при хранении строк памяти отводится по длине строки, а не всегда n байт, но не более n. Синоним character varying. |
text |
Часто встречающийся тип. Может иметь другое название. Позволяет хранить массив 8-иразрядных символов размером до 2 Гб. |
nchar |
Синтаксис определения типа следующий: nchar[( n )], где n - число символов от 1 до 4000. Объект данного типа хранит массив 16-иразрядных символов фиксированного размера. Для n значение по умолчанию - 30. Символы хранятся в кодировке UNICODE UCS-2. Синонимы national character или national char. |
nvarchar |
Синтаксис определения типа следующий: nvarchar[( n )], где n - число символов от 1 до 4000. Полностью аналогичен nchar за исключением того, что при хранении строк памяти отводится по длине строки, а не всегда n байт, но не более n. Синонимы national character varying и national char varying. Для nvarchar(128) в SQL Server имеется синоним (точнее, тип, определённый пользователем) sysname. |
ntext |
Позволяет хранить массив 16-иразрядных символов размером до 2 Гб. Символы хранятся в кодировке UNICODE UCS-2. |
Двоичные данные в SQL Server
Название |
Описание |
binary |
Синтаксис определения типа следующий: binary[( n )], где n - число байтов от 1 до 8000. Объект данного типа хранит массив байтов фиксированного размера, занимающий в памяти n+4 байт. Для n значение по умолчанию - 30. |
varbinary |
Синтаксис определения типа следующий: binary[( n )], где n - число байтов от 1 до 8000. Объект данного типа хранит массив байтов переменного размера, занимающий в памяти число введённых байт плюс ещё 4 байта, но не более n+4. Может принимать значения длиной 0 байт (не обращаясь в null). Синонимом является binary varying. |
image |
Широко распространённый тип, более известный как BLOB. Позволяет хранить массив двоичных данных размером до 2 Гб. |
Типы даты и времени в SQL Server
Название |
Описание |
datetime |
Широко распространённый тип данных, позволяющий хранить дату и время. Для SQL Server принят диапазон дат от 1 января 1753 года до 31 декабря 9999 года с точностью до 1/3 сантисекунды (0,003333 секунды). Округление миллисекунд происходит следующим образом: 0,000-0,001 = 0,000; 0,002-0,004 = 0,003; 0,005-0,008 = 0,007; 0,009 = 0,010. Объект типа занимает 8 байт памяти, где первые 4 байта хранят число дней до или после начальной даты (1 января 1900), а оставшиеся 4 байта - число миллисекунд от полуночи. |
smalldatetime |
Объкт типа может хранить дату в диапазоне от 1 января 1900 года до 6 июня 2079 года с точностью до минуты и занимает 4 байта памяти, где первые 2 байта хранят число дней после начальной даты, а оставшиеся 2 байта - число минут от полуночи. |
timestamp |
Широко распространённый специальный тип данных, предназначенный для хранения времени обновления записи. В SQL Server 2000 и более ранних версиях реализация типа не соответствует стандарту SQL, в более поздних версиях, возможно, будет приведена к стандарту. В настоящий момент тип эквивалентен datatime или binary(8) (или varbinary(8), если допустим null). Может использоваться как тип колонки таблицы (атрибута отношения), причём такая колонка должена быть единственной и не иметь специального названия. Значение атрибута обновляется текущим временем при каждой операции вставки или обновления для записи (кортежа). Синонимом является rowversion. |
Прочие типы данных SQL Server
Здесь приводятся для справки, в дальнейшем точно не будут использоваться, так как в некоторых случаях с ними могут возникать различные затруднения у клиентских приложений.
Название |
Описание |
uniqueidentifier |
То же, что и GUID (global unique identifier - глобальный уникальный идентификатор). 128-иразрядное целое, задаваемое в виде "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", где каждый символ "x" означает шестнадцатиричную цифру (0-F). |
sql-variant |
Универсальный тип, позволяющий хранить значения всех типов, кроме text, ntext, text, image, timestamp и самого sql-variant. Особенно удобен для использования в различных определённых пользователем функциях и хранимых процедурах. Может занимать памяти до 8016 байт. Перед выполнением операций над переменной типа должен быть приведён к какому-либо базовому типу. Может быть индексирован, однако индексируются лишь первые 900 байт. Не полностью поддерживается Microsoft OLE DB Provider for ODBC (MSDASQL). |
cursor |
Специальный тип данных, для организации построчного доступа к таблицам из хранимых процедур и пр. Не может быть типом колонки таблицы (атрибута отношения). |
table |
Тип, позволяющий в переменной хранить таблицу (отношение). Предназначен для использования в хранимых процедурах для записи промежуточных результатов обработки. Не может быть типом колонки таблицы (атрибута отношения). Появился только в SQL Server 2000, в более ранних версиях отсутствует. |
Лекция № 4 |
Тема 1.4 |
