Спонсор: Microsoft
Опубликован: 22.11.2010 | Доступ: свободный | Студентов: 4103 / 1007 | Оценка: 4.44 / 4.34 | Длительность: 09:23:00
Лекция 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.

Татьяна Казакова
Татьяна Казакова
Олег Андриевский
Олег Андриевский

Также весьма интересен фильтр данных, вводимый вручную:

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        If Trim(TextBox1.Text) = "" Then
            Me.СтудентыBindingSource.RemoveFilter()
        Else
            Me.СтудентыBindingSource.Filter = String.Format("{0} LIKE '{1}%'", "ФИО", Trim(TextBox1.Text))
        End If
    End Sub

Андрей Ерохин
Андрей Ерохин
Россия, Москва
Александр Мельников
Александр Мельников
Россия