Опубликован: 22.11.2010 | Уровень: для всех | Доступ: платный
Лекция 3:

Таблицы. Типы данных и свойства полей. Создание и заполнение таблиц

Аннотация: Описывает типы данных и свойства полей, а также создание и заполнение таблиц.

Цели:

  1. Изучить таблицы и типы данных полей
  2. Освоить создание таблиц и основные операции с таблицами

Таблицы. Типы данных полей

Вся информация в базе данных хранится в таблицах. Таблицы это обычные таблицы для хранения данных. Таблицы состоят из записей.

Запись это строка в таблице. Вся информация обрабатывается по записям.

Каждая запись состоит из полей. Поле это столбец таблицы. Каждое поле имеет три характеристики:

  1. Имя поля - используется для обращения к полю;
  2. Значение поля - определяет информацию, хранимую в поле;
  3. Тип данных поля - определяет какой вид информации можно хранить в поле.

В SQL сервер используются следующие типы данных:

  • Битовые типы данных, которые содержат последовательности нулей и единиц: Binary(n) и Varbinary(n), где n длина. Длина содержимого полей типа Binary всегда равна n, разница заполняется пробелами. Varbinary размер поля равен n или меньшему;
  • Целочисленные типы данных - типы данных для хранения целых чисел (в скобках указан диапазон значений типа данных, примерно): Tinyint (0-255), Smallint (±215), Int (±231), Bigint (±263);
  • Типы данных для хранения дробных чисел: 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 <Имя БД>, либо на панели инструментов необходимо выбрать в выпадающем списке рабочую БД. После выбора БД можно создавать таблицы.

Таблицы создаются командой

CREATE TABLE <Имя таблицы>(<Имя поля1> <Тип1> [IDENTITY NULL|NOTNULL],<Имя поля2> <Тип2>, … )

Здесь:

  • <Имя таблицы> - имя создаваемой таблицы;
  • <Имя поля> - имена полей таблицы;
  • <Тип> - типы полей;
  • <IDENTITY NULL|NOT NULL> - поле счётчик.

Замечание: Если имя поля содержит пробел, то оно заключается в квадратные скобки.

Пример: Создать таблицу "Студенты", содержащую поля: Код студента (первичное поле связи, счётчик), ФИО, Адрес, Код специальности (вторичное поле связи):

CREATE TABLE Студенты 
([Код студента] Bigint Identity,
ФИО Varchar(20),
Адрес Varchar(100),
[Код специальности] Bigint)

Замечание: Если необходимо создать вычислимое поле, то в команде Create Table у вычислимого поля вместо типа данных нужно указать выражение.

Пример: рассчитать средний балл студента по трем его оценкам.

CREATE TABLE Оценки
(ФИО Varchar(20),
Оценка1 int,
Оценка2 int,
Оценка3 int,
[средний балл] = (Оценка1+ Оценка2+ Оценка3)/3

Замечание: Получение информации о таблице осуществляется применением команды: EXEC SP_HELP <Имя таблицы>. Удаление таблицы осуществляется командой: DROP TABLE <Имя таблицы>.

Заполнение таблиц

В SQL Server 2008 заполнение таблиц производится при помощи следующей команды:

INSERT INTO <Имя таблицы> [(<Список полей>)]
VALUES (<Значения полей>)

где <Имя таблицы> - таблица, куда вводим данные, ( <Список полей> ) - список полей, куда вводим данные, если не указываем, то подразумевается заполнение всех полей, в списке полей поля указываются через запятую, ( <Значения полей> ) - значение полей через запятую.

В качестве значений можно указать константу Default, то есть будет поставлено значение по умолчанию, либо можно подставить оператор Select. Здесь он используется как инструмент вычисления формул.

Пример: Добавление записи имеющей следующие значения полей ФИО = Иванов, Адрес = Москва, Код специальности = 5 в таблицу "Студенты".

INSERT INTO Студенты (ФИО, Адрес, [Код специальности])
VALUES ('Иванов А.А.', 'Москва', 5)

Удаление отдельных столбцов и отдельных строк из таблицы

Из таблицы можно удалить все строки, либо отдельные записи. Это осуществляется командой

DELETE FROM <Имя таблицы>
[WHERE <Условие>]

где <Условие> - условия, которым удовлетворяют удаляемые записи. Если условия не указаны, то удаляются все строки таблицы. Если условия указаны, то удаляются записи, поля которых соответствуют условию.

Пример: Удалить записи из таблицы "Студенты", у которых поле Адрес = Москва.

DELETE FROM Студенты
WHERE Адрес = 'Москва'

Изменение данных в таблице

Для этого используется следующая команда:

UPDATE <Имя таблицы>
SET
<Имя поля1> = <Выражение1>,
[<Имя поля2> = <Выражение2>,]
…
[WHERE <Условие>]

Здесь <Имя поля1>, <Имя поля2> - имена изменяемых полей, <Выражение1>, <Выражение 2> - либо конкретные значения, либо NULL, либо операторы SELECT. Здесь SELECT применяется как функция.

<Условие> - условие, которым должны соответствовать записи, поля которых изменяем.

Пример: В таблице "Студенты" у студента Иванова А.А. поменять адрес Москва на Йошкар-Ола, а код специальности вместо 5 поставить 3.

UPDATE Студенты
SET
Адрес = 'Йошкар-Ола', 
[Код специальности] = 3
WHERE ФИО = 'Иванов А.А.'

Замечание: в качестве выражения можно использовать математические формулы.

Например: SET [Средний балл]= (Оценка1+ Оценка2+ Оценка3)/3) вычисляет поле "Средний балл" как среднее полей "Оценка1", "Оценка2" и "Оценка3". При этом поля "Оценка1", "Оценка2" и "Оценка3" должны уже существовать и тип данных поля "Средний балл" должен быть с плавающей запятой (Например Real ).

Замечание: Если необходимо из таблицы удалить все записи, но сохранить ее структуру, для этого используют команду TRUNCATE TABLE <Имя таблицы> при этом все данные будут удалены, но сама таблица останется.

На этом мы заканчиваем рассмотрение таблиц. Дополнительную информацию можно найти в лабораторной работе №3.

Ринат Гатауллин
Ринат Гатауллин

Здравствуйте. Интересует возможность получения диплома( https://intuit.ru/sites/default/files/diploma/examples/P/955/Nekommerch-2-1-PRF-example.jpg ). Курс пройден. Сертификат не подходит. В сертификате ошибка, указано по датам время прохождения около 14 дней, хотя написано 576 часов.

Вячеслав Кузнецов
Вячеслав Кузнецов

Здравствуйте.

Как оплатить курс?

Павел Окунцев
Павел Окунцев
Россия, Нижневартовск, НГГУ, 2007
Pavel Krupoderov
Pavel Krupoderov
Россия, Казань