Создание и удаление таблиц в MS SQL Server. Создание таблицы ms sql


Создание и удаление таблиц в MS SQL Server | MS SQL Server | Статьи | Программирование Realcoding.Net

Создание и удаление таблиц в ms sql server. Все данные в БД sql server хранятся в таблицах. Таблицы состоят из колонок, объединяющих значения одного типа, и строк - записей в таблице. В одной БД может быть до 2 миллиардов таблиц, в таблице - 1024 колонки, в одной строке (записи) - 8060 байтов.

sql server поддерживает следующие типы данных:

Тип данных Обозначение Размер, байт Бинарные данные binaryvarbinary[(n)] 1-8000 Символы char[(n)]varchar[(n)] 1-8000( до 8000 символов) Символы unicode nchar[(n)]nvarchar[(n)] 1-8000(до 4000 символов) Дата и время datetime 8smalldatetime 4 Точные числа decimal[(p[,s])]numeric[(p[,s])] 5-17 Приблизительные числа float[(n)] real 4-8 4 Глобальный идентификатор uniqueidentifier 16 Целые числа int smallint, tinyint 4 2, 1 Денежки money, smallmoney 8, 4 Специальные bit, cursor,sysname, timestamp 1, 0-8 Текст и изображение text, image 0-2 Гб Текст unicode ntext 0-2 Гб

Таблицы можно создавать с помощью оператора create table языка transact-sql, а также с помощью enterprise manager. Рассмотрим сначала как это делается с помощью transact-sql.

Содание таблиц с помощью create tableДля создания таблиц применяется оператор create table.Вот как выглядит упрощенный синтаксис этого оператора:

create table table_name(column_name data_type [null | not null][,...n])Например:

create table member( member_no int not null,lastname char(50) not null,firstname char(50) not null,photo image null)Этим оператором создается таблица member, состоящая из четырех колонок:

member_no - имеет тип int, значения null не допускаются lastname - имеет тип char(50) - 50 символов, значения null не допускаются firstname - аналогично lastname photo - имеет тип image (изображение), допускается значение null Примечание null - специальное обозначение того, что элемент данных не имеет значения. В описании типа колонки указывается, что элементы данных могут быть неинициализированы. При указании not null - "пустые" значения не допускаются. Если при вставке записи пропустить значение для такой колонки, вставка не произойдет, и sql server сгенерирует ошибку.

Попробуйте выполнить эту команду. Запустите query analyzer. Соединитесь с Вашим сервером. Из списка БД выберите sqlstep. Скопируйте в окно команд команду создания таблицы и выполните ее. (Если не забыли, надо нажать f5 или ctrl-e).

Чтобы точно удостовериться, в том, что таблица была создана, наберите команду:

sp_help memberВыделите ее (как в обычном редакторе) и снова нажмите f5. В окно результатов будет выведена информация о таблице member.

На заметку!

sp_help - системная процедура, которая возвращает информацию об объектах БД (таблицах, хранимых процедурах и пр.).Формат вызова таков:

sp_help <имя таблицы>

Удалить таблицу проще простого. Там же, в запросчике (так у нас называют query analyzer), наберите:

drop table memberВыделите эту строку и нажмите f5. Таблица будет удалена, о чем Вас и уведомят. В нашем случае эта процедура проста. На самом деле в большой БД просто так удалить таблицу не получится, поскольку она будет связана с другими таблицами, и для удаления потребуется эти связи оборвать. Как это сделать см. следующие шаги.

Как создать таблицу с помощью sql server enterprise managerРаскройте последовательно: sql server group, <Ваш sql server>, databases. Выберите БД (sqlstepbystep, я думаю :), нажмите правую кнопку мыши и выберите в контекстном меню пункт "new", а затем пункт "table...". Первым делом Вас спросят имя таблицы. Введите его и нажмите enter. На экране появится окно, в котором можно вводить:имена колонок, тип, длину, размерность, точность (эти три колонки блокируются в зависимости от типа), флаг разрешения null, значение по умолчанию. Последние три колонки, пока не представляют интереса.

Введите названия колонок, их тип и длину также как в примере выше. Нажмите на иконку с дискетой для сохранения таблицы и можете закрыть окно. Раскройте вашу БД, щелкните на категории "tables" и в списке таблиц увидите только что введенную таблицу. Для ее удаления выделите ее в списке, нажмите правую кнопку мыши и в контекстном меню выберите "delete". Таблица будет удалена.

Мы изучили как создаются и удалются таблицы. Следующий наш шаг - создание полноценной БД, на примере которой мы будем изучать:

что такое реляционная целостность БД и как она обеспечивается в sql server как модифицировать данные в таблицах (операторы insert, update, delete, select) как использовать хранимые процедуры и триггеры

Автор: aidar talibzhanov

www.realcoding.net

Создание и удаление таблиц в MS SQL Server | MS SQL Server | Статьи | Программирование Realcoding.Net

Создание и удаление таблиц в ms sql server. Все данные в БД sql server хранятся в таблицах. Таблицы состоят из колонок, объединяющих значения одного типа, и строк - записей в таблице. В одной БД может быть до 2 миллиардов таблиц, в таблице - 1024 колонки, в одной строке (записи) - 8060 байтов.

sql server поддерживает следующие типы данных:

Тип данных Обозначение Размер, байт Бинарные данные binaryvarbinary[(n)] 1-8000 Символы char[(n)]varchar[(n)] 1-8000( до 8000 символов) Символы unicode nchar[(n)]nvarchar[(n)] 1-8000(до 4000 символов) Дата и время datetime 8smalldatetime 4 Точные числа decimal[(p[,s])]numeric[(p[,s])] 5-17 Приблизительные числа float[(n)] real 4-8 4 Глобальный идентификатор uniqueidentifier 16 Целые числа int smallint, tinyint 4 2, 1 Денежки money, smallmoney 8, 4 Специальные bit, cursor,sysname, timestamp 1, 0-8 Текст и изображение text, image 0-2 Гб Текст unicode ntext 0-2 Гб

Таблицы можно создавать с помощью оператора create table языка transact-sql, а также с помощью enterprise manager. Рассмотрим сначала как это делается с помощью transact-sql.

Содание таблиц с помощью create tableДля создания таблиц применяется оператор create table.Вот как выглядит упрощенный синтаксис этого оператора:

create table table_name(column_name data_type [null | not null][,...n])Например:

create table member( member_no int not null,lastname char(50) not null,firstname char(50) not null,photo image null)Этим оператором создается таблица member, состоящая из четырех колонок:

member_no - имеет тип int, значения null не допускаются lastname - имеет тип char(50) - 50 символов, значения null не допускаются firstname - аналогично lastname photo - имеет тип image (изображение), допускается значение null Примечание null - специальное обозначение того, что элемент данных не имеет значения. В описании типа колонки указывается, что элементы данных могут быть неинициализированы. При указании not null - "пустые" значения не допускаются. Если при вставке записи пропустить значение для такой колонки, вставка не произойдет, и sql server сгенерирует ошибку.

Попробуйте выполнить эту команду. Запустите query analyzer. Соединитесь с Вашим сервером. Из списка БД выберите sqlstep. Скопируйте в окно команд команду создания таблицы и выполните ее. (Если не забыли, надо нажать f5 или ctrl-e).

Чтобы точно удостовериться, в том, что таблица была создана, наберите команду:

sp_help memberВыделите ее (как в обычном редакторе) и снова нажмите f5. В окно результатов будет выведена информация о таблице member.

На заметку!

sp_help - системная процедура, которая возвращает информацию об объектах БД (таблицах, хранимых процедурах и пр.).Формат вызова таков:

sp_help <имя таблицы>

Удалить таблицу проще простого. Там же, в запросчике (так у нас называют query analyzer), наберите:

drop table memberВыделите эту строку и нажмите f5. Таблица будет удалена, о чем Вас и уведомят. В нашем случае эта процедура проста. На самом деле в большой БД просто так удалить таблицу не получится, поскольку она будет связана с другими таблицами, и для удаления потребуется эти связи оборвать. Как это сделать см. следующие шаги.

Как создать таблицу с помощью sql server enterprise managerРаскройте последовательно: sql server group, <Ваш sql server>, databases. Выберите БД (sqlstepbystep, я думаю :), нажмите правую кнопку мыши и выберите в контекстном меню пункт "new", а затем пункт "table...". Первым делом Вас спросят имя таблицы. Введите его и нажмите enter. На экране появится окно, в котором можно вводить:имена колонок, тип, длину, размерность, точность (эти три колонки блокируются в зависимости от типа), флаг разрешения null, значение по умолчанию. Последние три колонки, пока не представляют интереса.

Введите названия колонок, их тип и длину также как в примере выше. Нажмите на иконку с дискетой для сохранения таблицы и можете закрыть окно. Раскройте вашу БД, щелкните на категории "tables" и в списке таблиц увидите только что введенную таблицу. Для ее удаления выделите ее в списке, нажмите правую кнопку мыши и в контекстном меню выберите "delete". Таблица будет удалена.

Мы изучили как создаются и удалются таблицы. Следующий наш шаг - создание полноценной БД, на примере которой мы будем изучать:

что такое реляционная целостность БД и как она обеспечивается в sql server как модифицировать данные в таблицах (операторы insert, update, delete, select) как использовать хранимые процедуры и триггеры

Автор: aidar talibzhanov

www.realcoding.net

Создание таблиц базы данных в среде Microsoft SQL Server Management Studio

Начнем с создания таблицы Speciality. Структура таблицы приведена ниже:

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int нет
Name Название специальности varchar(60) нет

В реляционных базах данных первичный ключ используется как уникальный идентификатор записи. Это поле является обязательным, оно используется для связи таблиц по внешним ключам (примеры такого связывания будут рассмотрены далее). Первичный ключ должен иметь целочисленный тип (в данном случае - int). Во втором поле будет храниться название специальности - некоторая строка, поэтому мы выбираем для этого поля тип varchar(60). Число в скобках означает максимальное число символов в строке. Детальную информацию об этих типах можно посмотреть в справке.

Простейшим образом можно создавать таблицы средствами MS SQL Server Management Studio (правая кнопка мыши на заголовке «Таблицы» > Создать таблицу.). Получаем следующее:

Рисунок 6. Создание таблицы

Вводим имя первого столбца Num (первичный ключ – в том столбце хранится номер записи), выбираем из выпадающего списка тип данных int. Первичный ключ не может быть пустым, поэтому и оставляем неотмеченным поле «Разрешить значения null». Затем аналогичным образом вводим имя второго столбца, задаем тип, запрещаем полю иметь значение null. Таблица принимает следующий вид:

Рисунок 7.

Теперь необходимо указать, что поле Num будет являться первичным ключом. Правой кнопкой мыши щелкаем по этому полю и выбираем «Задать первичный ключ»:

Рисунок 8.

Сохраняем таблицу под именем Speciality (после этого таблица должна появиться в обозревателе объектов). Теперь можно перейти к заполнению этой таблицы (для этого нужно в обозревателе объектов выбрать эту таблицу и в контекстном меню нажать «Открыть таблицу»):

Рисунок 9.

При заполнении вы обнаружите, что каждый раз приходится вводить не только полезную информацию (название специальности), но и номер записи. Чтобы вводить номер записи автоматически, нужно задать спецификацию идентифицирующего столбца. Для этого необходимо в свойствах столбца указать, что данный столбец является идентифицирующим (рис. 10):

Рисунок 10. Определение свойств идентифицирующего столбца

4. Создание таблиц базы данных с помощью SQL-запроса

Создание таблиц в графическом режиме, безусловно, удобно, однако не универсально. При использовании других средств разработки баз данных (например, IBM DB2) придется привыкать к новым приемам работы. Использование конструкций языка SQL позволяет работать с базами данных, исходя из единого подхода, в любой среде управления базами данных.

Выберите на панели инструментов «Создать запрос»:

Рисунок 11.

Создадим новую базу данных запросом. Напишем

CREATE DATABASE mbs21_query

и нажмем F5. В обозревателе объектов должна появиться новая база (если сразу не появилась, то надо выделить мышью раздел «Базы данных» и в контекстном меню выбрать «Обновить»).

Теперь создадим таблицу Speciality. Упрощенный синтаксис создания таблиц следующий:

CREATE TABLE <имя таблицы> (

<имя столбца 1> <тип данных> [NOT NULL] [DEFAULT <значение по умолчанию>],

<имя столбца 2> <тип данных> [NOT NULL] [DEFAULT <значение по умолчанию>],

...

)

Введем новый запрос:

/* создание таблицы Специальность*/

USE mbs21_query -- определяем базу данных, в которую входит таблица

CREATE TABLE Speciality(

Num INT IDENTITY(1,1) PRIMARY KEY NOT NULL, -- первичный ключ

NameSpec VARCHAR(60) -- название специальности

)

В обозревателе объектов видим, что таблица действительно создана. Файл с SQL-запросом сохраняем в своей папке (в конце работы необходимо показать запросы, которые были выполнены, преподавателю). Слово IDENTITY(1,1) добавлено, чтобы поле первичного ключа Num автоматически нумеровалось начиная с единицы (фактически, эта конструкция определяет спецификацию идентифицирующего столбца).

Таким же образом необходимо создать остальные таблицы. Рассмотрим таблицу Course.

Таблица Course(курс)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int нет
Name Название специальности varchar(60) нет
YearEntry Год поступления int нет
YearFinal Год выпуска int да
Speciality Специальность (внешний ключ ссылается на первичный ключ таблицы Speciality) int нет

Эта таблица содержит поле Speciality, которое ссылается на первичный ключ таблицы Speciality. Чтобы создать такую таблицу, необходимо выполнить запрос:

/* создание таблицы Курс */

USE mbs21_query -- определяем базу данных, в которую входит таблица

CREATE TABLE Course(

Num INT IDENTITY(1,1) PRIMARY KEY NOT NULL, -- первичный ключ

YearEntry INT NOT NULL, -- год поступления

YearFinal INT, -- год окончания

Speciality INT FOREIGN KEY REFERENCES Speciality(Num) -- специальность,

-- ссылка по внешнему ключу на поле Num таблицы Speciality

)

Примечание.Ссылку можно создать только на существующую таблицу. Задать ссылку по внешнему ключу можно и после создания таблицы (подробно будет рассмотрено в следующей лабораторной работе).

Задание.Создайте все остальные таблицы, указанные в Приложении, используя SQL – запросы.

Приложение. Структура данных

Таблица Speciality(специальность)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int Нет
Name Название varchar(60) Нет

Таблица Course(курс)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int нет
Name Название специальности varchar(60) нет
YearEntry Год поступления int нет
YearFinal Год выпуска int да
Speciality Специальность (внешний ключ ссылается на первичный ключ таблицы Speciality) int нет

Таблица Group(группа)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int нет
Name Название специальности varchar(60) нет
Course Курс (внешний ключ ссылается на первичный ключ таблицы Course ) int нет

Таблица Discipline(дисциплина)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int Нет
Name Название (возможные значения: программирование, алгебра…) varchar(60) Нет

Таблица Account(тип отчетности)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int Нет
Name Название (возможные значения: экзамен, зачет, дифференцированный зачет…) varchar(30) Нет

Таблица Mark(отметка)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int Нет
Name Название (возможные значения: зачтено, не зачтено, отлично, хорошо…) varchar(30) Нет
Value Значение (возможные значения: 0, 1, …, 5) int Нет

Таблица Status(академический статус студента)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int Нет
Name Название (возможные значения: обучается, отчислен, в академическом отпуске, в отпуске по уходу за ребенком) varchar(60) Нет

Таблица Position(должность)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int Нет
Name Название (возможные значения: ассистент, старший преподаватель, доцент…) varchar(60) Нет

Таблица People(люди)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int Нет
LastName Фамилия varchar(30) Нет
FirstName Имя varchar(30) Нет
MiddleName Отчество varchar(30) Да
Male Пол char(1) Нет
BrthDate День рождения datetime Да
Addr Адрес varchar(100) Да

Таблица Student(студент)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int Нет
People Человек (внешний ключ ссылается на первичный ключ таблицы People) int Нет
Group Группа (внешний ключ ссылается на первичный ключ таблицы Group) int Нет
StudNum Номер студенческого билета varchar(30) Нет
Status Академический статус студента (внешний ключ ссылается на первичный ключ таблицы Status) int Нет

Таблица Teacher(преподаватель)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ (табельный номер сотрудника) int Нет
People Человек (внешний ключ ссылается на первичный ключ таблицы People) int Нет
Position Должность (внешний ключ ссылается на первичный ключ таблицы Position) int Нет

Таблица SemesterResults(результаты сессии)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int Нет
Student Студент (внешний ключ ссылается на первичный ключ таблицы Student) int Нет
Semester Порядковый номер семестра int Нет
Account Тип отчетности (внешний ключ ссылается на первичный ключ таблицы Account) int Нет
Discipline Дисциплина (внешний ключ ссылается на первичный ключ таблицы Discipline) int Нет
Teacher Преподаватель (внешний ключ ссылается на первичный ключ таблицы Teacher) int Нет
Mark Отметка (внешний ключ ссылается на первичный ключ таблицы Mark) int Нет
Date Дата сдачи отчетности DateTime Нет

Контрольные вопросы

§ Каким образом можно получить доступ к MS SQL Server 2005-8?

§ С помощью каких средств можно создать таблицу для MS SQL Server 2005-8?

§ Что такое первичный ключ?

§ Каким образом можно создать автоматическую нумерацию строк таблицы?

§ Что означают Not Null?

studlib.info

СОЗДАНИЕ ВНЕШНЕЙ ТАБЛИЦЫ (U-SQL) | Microsoft Docs

  • 05/20/2016
  • Время чтения: 2 мин

В этой статье

 

U-SQL предоставляет возможность создания внешних таблиц данных, не является владельцем сам объект метаданных U-SQL. В настоящее время внешних таблиц предлагаются для данных, хранимых в базах данных SQL Azure и создаются с помощью инструкции CREATE EXTERNAL TABLE.

Синтаксис

Create_External_Table_Statement: идентификатор [«IF» "" "отсутствует"] 'ВНЕШНЕЕ"'таблица' «Создать» =" (" Column_Definition_List «')'» Table_External_Specification.

Семантика элементы синтаксиса

Эта инструкция создает новую внешнюю таблицу с указанным именем, учитывая по идентификатору с представленной схеме таблицы U-SQL, основанной на внешних данных, предоставляемых Table_External_Specification.

  • Identifier Если идентификатор является идентификатором трех частей, таблица будет создана в указанной базы данных и схемы. Если это двухкомпонентный идентификатор таблицы создаются в схеме, указанной в текущем контексте базы данных. Если идентификатор является простым идентификатором, таблица будет создана в текущем контексте базы данных и схемы.

    • Если таблица с таким именем уже существует в указанной базе данных и контекст схемы или пользователь не имеет разрешений на создание таблицы, возникает ошибка.
  • IF NOT EXISTS Если указан необязательный IF NOT EXISTS, инструкция создает таблицу, если он еще не существует, или завершается успешно без изменений, если таблица уже существует и пользователь имеет разрешения на перечисление всех существующих таблиц по крайней мере.

  • Column_Definition_List Определяет схему таблицы следующим образом:

    Column_Definition_List: = Column_Definition {',' Column_Definition}.
    • Column_DefinitionОпределение столбца имеет вид

      Column_Definition: = Quoted_or_Unquoted_Identifier .

      Каждый столбец имеет идентификатор, который может быть либо без кавычек или заключенный в кавычки идентификатором, который типизируется с одним из встроенные типы U SQL. Каждый идентификатор столбца должен соответствовать одному из столбца идентификаторов во внешней таблице и тип данных внешних столбцов (например, тип SQL в базе данных Azure SQL) будет сопоставлено с указанного типа U-SQL. Если сопоставление не поддерживается, возникает ошибка.

  • Table_External_Specification Ссылки на внешнее расположение, где осуществляется данных используется следующая спецификация:

Table_External_Specification: = «С» Static_String_Expression Datasource_Identifier «РАСПОЛОЖЕНИЕ». &nbsp; Datasource_Identifier: = DB_Object_Identifier.

Идентификатор источника данных — имя источника данных, который был создан с [Создание источника данных](https://msdn.microsoft.com/ru-ru/library/mt621326\(v=azure.100\)) инструкции. Статическая строка выражения, как расположение определяет ресурс фактических строк в источнике внешних данных, который сопоставляется во внешней таблице U-SQL. Если источником данных является база данных SQL, то расположение определяется имя указанием схемы таблицы или представления в базе данных SQL. Его схема сопоставляется с внешней таблицы схемы следующим образом: - Любое имя в определении столбца сопоставляется тем же именем в внешней таблицы. Если во внешней таблице именования учитывается регистр, то имена должны точно совпадать, если имена без учета регистра, имена сопоставляются регистр не учитывается. - Любой столбец, соответствующие должен иметь тип U-SQL в определении столбца, который совместим с типом столбца во внешней таблице или возникает ошибка. - Если столбец указан в определение столбца, не существует в таблице внешних ошибка возникает. - Если внешняя таблица имеет столбец, который не указан в определении столбца, этот столбец не доступны через внешнюю таблицу. Если удаленный источник данных недоступен, например, так как источник данных исчезла, закрыт брандмауэра или изменились учетные данные для доступа к удаленным источником данных, возникает ошибка.

Примеры

Содержимое находится в стадии разработки и скоро будут предоставлены.

См. также

msdn.microsoft.com