Таблицы. Типы данных и свойства полей. Создание и заполнение таблиц
Вся информация в базе данных хранится в таблицах. Таблицы это обычные таблицы для хранения данных. Таблицы состоят из записей.
Запись это строка в таблице. Вся информация обрабатывается по записям.
Каждая запись состоит из полей. Поле это столбец таблицы. Каждое поле имеет три характеристики:
- Имя поля - используется для обращения к полю;
- Значение поля - определяет информацию, хранимую в поле;
- Тип данных поля - определяет какой вид информации можно хранить в поле.
В SQL сервер используются следующие типы данных:
- Битовые типы данных, которые содержат последовательности нулей и единиц: Binary (n) и Varbinary(n), где n длина. Длина содержимого полей типа Binary всегда равна n, разница заполняется пробелами. Varbinary размер поля равен n или меньшему;
- Целочисленные типы данных - типы данных для хранения целых чисел (в скобках указан диапазон значений типа данных, примерно): Tinyint (0-255), Smallint (±2 15 ), Int (±2 31 ), Bigint (±2 63 );
- Типы данных для хранения дробных чисел: Real семь знаков после запятой, Float(m) может хранить числа из m знаков, максимальное m=38, Decimal (m, n) дробные числа с m всего знаков и n после запятой;
- Специальные типы данных: Bit - логический тип данных.является заменой логическому типу Boolean в Visual Basic, Text - тип для хранения больших объемов текста, одно поле может хранить до 2 Гб текста, Image - тип данных для хранения до 2Гб рисунков, RowGUID - уникальный идентификатор строки таблицы, SQL_Variant - аналогичен типу Variant в Visual Basic;
- Типы данных даты и времени: Datetime (1 января 1753 года — 31 декабря 9999 года). SmallDatetime (от 1.01.1900 до 06.06.2079);
- Денежные типы данных для хранения финансовой информации: Money (от -922 337 203 685 477,5808 до 922 337 203 685 477,5807), Smallmoney (от -214 748,3648 до 214 748,3647);
- Автоматически обновляемые типы данных - аналоги счетчиков, но в данной роли они не используются: RowVersion уникальный идентификатор строки. TimeStamp - закодированное дата и время создания строки .
Для создания таблиц в SQL Server в первую очередь необходимо сделать активной ту БД , в которой создается таблица . Для этого в новом запросе можно набрать команду: USE <Имя БД> , либо на панели инструментов необходимо выбрать в выпадающем списке рабочую БД . После выбора БД можно создавать таблицы.
Таблицы создаются командой
- < Имя таблицы > - имя создаваемой таблицы;
- <Имя поля> - имена полей таблицы;
- <Тип> - типы полей;
- < IDENTITY NULL|NOT NULL> - поле счётчик.
Замечание: Если имя поля содержит пробел , то оно заключается в квадратные скобки.
Пример: Создать таблицу "Студенты", содержащую поля: Код студента (первичное поле связи, счётчик), ФИО, Адрес, Код специальности (вторичное поле связи):
Замечание: Если необходимо создать вычислимое поле , то в команде Create Table у вычислимого поля вместо типа данных нужно указать выражение .
Пример: рассчитать средний балл студента по трем его оценкам.
Замечание: Получение информации о таблице осуществляется применением команды: EXEC SP_HELP < Имя таблицы > . Удаление таблицы осуществляется командой: DROP TABLE < Имя таблицы > .
Заполнение таблицВ SQL Server 2008 заполнение таблиц производится при помощи следующей команды:
где < Имя таблицы > - таблица , куда вводим данные, ( <Список полей> ) - список полей, куда вводим данные, если не указываем, то подразумевается заполнение всех полей, в списке полей поля указываются через запятую, ( <Значения полей> ) - значение полей через запятую.
В качестве значений можно указать константу Default , то есть будет поставлено значение по умолчанию, либо можно подставить оператор Select . Здесь он используется как инструмент вычисления формул.
Пример: Добавление записи имеющей следующие значения полей ФИО = Иванов, Адрес = Москва, Код специальности = 5 в таблицу "Студенты".
Удаление отдельных столбцов и отдельных строк из таблицыИз таблицы можно удалить все строки, либо отдельные записи. Это осуществляется командой
где <Условие> - условия, которым удовлетворяют удаляемые записи. Если условия не указаны, то удаляются все строки таблицы. Если условия указаны, то удаляются записи, поля которых соответствуют условию.
Пример: Удалить записи из таблицы "Студенты", у которых поле Адрес = Москва.
Изменение данных в таблицеДля этого используется следующая команда :
Здесь <Имя поля1> , <Имя поля2> - имена изменяемых полей, <Выражение1> , <Выражение 2> - либо конкретные значения, либо NULL , либо операторы SELECT . Здесь SELECT применяется как функция .
<Условие> - условие, которым должны соответствовать записи, поля которых изменяем.
Пример: В таблице "Студенты" у студента Иванова А.А. поменять адрес Москва на Йошкар-Ола, а код специальности вместо 5 поставить 3.
Замечание: в качестве выражения можно использовать математические формулы.
Например: SET [Средний балл]= (Оценка1+ Оценка2+ Оценка3)/3) вычисляет поле "Средний балл" как среднее полей "Оценка1" , "Оценка2" и "Оценка3" . При этом поля "Оценка1" , "Оценка2" и "Оценка3" должны уже существовать и тип данных поля "Средний балл" должен быть с плавающей запятой (Например Real ).
Замечание: Если необходимо из таблицы удалить все записи, но сохранить ее структуру, для этого используют команду TRUNCATE TABLE < Имя таблицы > при этом все данные будут удалены, но сама таблица останется.
На этом мы заканчиваем рассмотрение таблиц. Дополнительную информацию можно найти в лабораторной работе №3.