Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Работа с базами данных для пользователей
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

5. Типы данных и таблицы

Встроенные типы данных Microsoft Access и SQL Server, числовые, текстовые, даты/времени, логический, двоичные, счетчик, уникальный идентификатор

В реляционной базе данных информация хранится в таблицах. Самое важное при создании базы данных - правильно спроектировать и реализовать систему таблиц, а при работе с имеющейся базой данных - разобраться, какая информация находится в столбцах таблиц.

5.1 Встроенные типы данных в SQL Server и Access

Прежде, чем создавать таблицы, необходимо разобраться с типами данных - то есть какие именно данные можно будет помещать в столбцы таблиц. Информация будет даваться для SQL Server и Access.

Вначале - о числовых типах данных.

В SQL Server числовые типы данных можно разделить на целочисленные, десятичные дроби и числа с плавающей запятой. В нашем распоряжении следующие числовые типы данных:

·        целочисленные: tinyint (0 - 255), smallint (от -32 768 до 32 767), int (от -2,147,483,648 до 2,147,483,647) и bigint (от -2^63 до 2^63 -1);

·        десятичные: decimal и numeric (это - два названия одного и того же);

·        денежные: money (от -2^63 до 2^63 - 1 с точностью 4 знака после запятой) и smallmoney (от -214,748.3648 до +214,748.3647).;

·        с плавающей запятой: float (от -1.79E + 308 до 1.79E + 308) и real (от -3.40E + 38 до 3.40E + 38).

В MS Access все проще - там есть единственный тип поля - числовое и его подтипы в строке "размер".

Обычно, если база данных не относится к числу специальных, большая часть столбцов в ее таблицах отводится под текстовые данные. В SQL Server предусмотрены две дублирующих разновидности полей для представления текстовых данных: поля Unicode и не-Unicode. Unicode - типы данных отличить очень просто: они начинаются на n (от слова national, то есть с поддержкой национальных символов). Если есть возможность, то следует выбирать именно типы Unicode (хоть они и требуют в два раза больше места под хранение каждого символа) - поскольку современные клиенты изначально разрабатываются для удобной работы с кодировками этого типа.

Всего в SQL Server предусмотрены следующие типы для текстовых данных:

·        char/nchar - строковые данные фиксированной длины (максимум 8000/4000 символов);

·        varchar/nvarchar - строковые данные переменной длины (то же самое);

·        text/ntext - для очень больших текстовых записей - до двух миллионов/миллиона символов.

В Access, как обычно, все проще. Есть тип данных текстовый с максимальной длинной записей в 255 символов (данные автоматически хранятся в Unicode) и тип данных Memo с максимальной длиной 65 536 знаков.

В реальных базах данных, конечно, не обойтись без полей для хранения информации дате и времени. В SQL Server это datetime (8 байт, точность то 3,33 миллисекунд) и smalldatetime (4 байта, точность до минуты). В большинстве приложений вполне хватает smalldatetime, но часто разработчики про smalldatetime забывают.

В Access у нас предусмотрен единственный 8-байтовый тип данных дата/время.

Еще один распространенный тип данных - это логический, который может хранить в себе значения вида true/false (единица/ноль). Обычно он используется как флаг чего-либо. В SQL Server он представлен типом данных bit, а в Access - типом данных, который так и называется "логический".

В современных базах данных также часто хранятся большие двоичные данные - BLOB, например, документы, фотографии, архивы и т.п. В SQL Server для них традиционно используется тип данных Image (до 2 Гбайт). Есть еще типы данных binary и varbinary, но максимальный их размер - 8000 байт, а такие маленькие двоичные данные встречаются нечасто. В Access для этой цели используется тип данных поле объекта OLE (до 1 Гбайт) - то есть могут храниться данные только OLE-совместимых программ.

Есть также и некоторые специальные типы данных, которые используются нечасто:

·        UniqueIdentifier в SQL Server, числовой для кодов репликации в Access. Это - большие случайно сгенерированные числа, вероятность совпадения которых практически нулевая. В базах данных они обычно используются для того, чтобы гарантировать уникальность какой-либо записи;

·        поле счетчика в Access, числовой тип данных со свойством Identity в true в SQL Server. Это - числовое поле с автоприращением, обычно применяется как суррогатный ключ;

·        sql_variant в SQL Server - позволяет хранить в столбце данные разных типов;

·        timestamp - метка версии строки в SQL Server;

·        гиперссылка - специальный вид поля (до 64 000 знаков) в Access.

Другие типы данных (cursor, table в SQL Server) в таблицах использоваться не могут и применяются только в запросах и хранимых процедурах.

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 

 
© 2004-2008, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru