Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы данных.doc
Скачиваний:
94
Добавлен:
22.05.2015
Размер:
715.78 Кб
Скачать

Disk init

NAME= <’Логическое имя’>,

PSYSNAME= <’Физическое имя’>,

VDEVNO= <Номер устройства>,

SIZE= <Размер>

[, VSTART= <Адрес>]

Логическое имяэто имя, используемое вSQL-выражениях. Логическое имя должно соответствовать правиламSQLServerна идентификаторы и быть заключено в одинарные кавычки. Вот эти правила:

  • Имя объекта должно иметь длину в пределах от 1 до 30 символов.

  • Первым символом должна быть буква.

  • Имя может содержать буквы, цифры и символы #, $, _.

  • Пробелы запрещаются.

  • Зарезервированные слова Transact-SQLзапрещены.

Физическое имя – это буква дисковода, полный путь и имя файла (устройства). Естественно, что путь должен удовлетворять правилам операционной системы.

Номер виртуального устройства – это идентификатор устройства. Он может принимать значения от 0 до 255. Идентификатор 0 зарезервирован для устройства master.

С помощью параметра SIZEустанавливается размер устройства. Размер измеряется в страницах.

Параметр VSTARTнеобходим только в определенных случаях. Он представляет собой стартовое смещение в страницах.

Допустим, что мы получили заказ на разработку приложения для учета факультетов, кафедр, преподавателей, студентов и т.д. в нашем университете. Создадим два устройства – для БД и для журнала транзакций.

DISKINIT

NAME = ‘facultet’,

PHYSNAME = ‘c:\mssql\data\facultet.dat’,

VDEVNO = 11,

SIZE = 5120

DISK INIT

NAME = ‘f_log’,

PHYSNAME = ‘c:\mssql\data\f_log.dat’,

VDEVNO = 12,

SIZE = 5120

  1. Приведите пример команды создания базы данных. Какие системные и числовые типы данных MS SQL Server вам знакомы.

Шаблоном базы является БД model, поэтому любая вновь созданная БД уже имеет некоторое количество системных таблиц. Команду создания баз данныхCREATEDATABASEможет выдать только системный администратор.

Команда CREATEDATABASEимеет следующий синтаксис:

CREATEDATABASE<Имя БД>

[ON{DEFAULT| <Имя устройства>} [=<Рразмер>]

[, <Имя устройства> [=< Размер>]]…]]

[LOGON<Имя устройства> [=<Размер>]

[, <Имя устройства> [=<Размер>]]…]

[FORLOAD]

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

Usemaster

При создании БД можно указать устройство, на котором она будет храниться, а также устройство, на котором будет размещаться журнал транзакций.

CREATE DATABASE faculty

ON facultet = 10

LOGONf_log= 10

Все предложения команды CREATEDATABASE– опционные, то есть необязательные. Если при создании БД в команде не указано никакое устройство,SQLServerищет устройство по умолчанию. Устройства по умолчанию назначаются либо с помощью системной процедурыsp_diskdefault, либо с помощьюSQLEnterpriseManager. В качестве параметров указанная процедура принимает имя устройства БД и одно из значенийdefaultonилиdefaultoff.

Таблица №1 - Системные типы данных SQLServer

Тип

Занимаемый объем

Описание

1

Bynary

До 1,2 Гб

Любые данные в двоичном виде. Используется для хранения файла

2

Varbinary

До 1,2 гб

Любые данные в двоичном виде. Используется для хранения файла

3

Tinyint

1 байт

Целое положительное число от 0 до 255

4

Char

1 байт на символ

Символьное выражение; может содержать любые символы (до 254 для одного поля)

5

Varchar

Символьное выражение; может содержать любые символы (до 254 для одного поля)

6

Money

8 байт

Денежное выражение для числовой величины. Выводит число с четырьмя десятичными разрядами и установленным обозначением используемой денежной единицы

7

Datetime

8 байт

Дата и время; может содержать время, день, месяц и год, точность 3,33 миллисекунды

8

Smalldatetime

4 байта

Дата и время; точность 2 минута

9

Bit

1 байт

Булево выражение ( .T. или .F.)

10

Float

От 1 до 20 байтов

Числовое выражение; может содержать целые или дробные числа со знаком

11

Smallint

2 байта

Целое число в диапазоне от –32 768 до +32 767

12

Int

4 байта

Целое число. Можно хранить числа от –2 147 483 647 до 2 147 483 646

13

Image

4 байта

Поле для ссылки на объект OLE

14

Text

4 байта

Поле примечаний для ссылки на блок данных

15

Decimal

Точное числовое значение, которое может иметь до 38 цифр (р); число цифр после запятой (s) не может превышать р

16

Numeric

Точное числовое значение, которое может иметь до 38 цифр (р); число цифр после запятой (s) не может превышать р

17

Real

4 байта

Число с плавающей точкой одинарной точности. Можно хранить числа в интервале от 1.401298Е-45 до 3.402823Е38

Таблица №3 - Числовые типы данных

Тип данных

Общее количество цифр

Общее количество цифр по умолчанию

1

Decimal[(p[,s])]

1 – 38

18

2

Numeric[(p[,s])]

1 – 38

18

3

Float(n)

1 – 15

4

Real

1 – 7

5

Float

8 – 15

6

Double precision

8 – 15

15

  1. Приведите пример команды создания таблицы базы данных.

Программно таблицы создаются с помощью команды CREATETABLE, которая имеет следующий синтаксис:

CREATETABLE[<Имя БД>. [<Имя владельца>].] <Имя таблицы>

({<Имя поля> <Свойства поля> [<Ограничения>

[<Ограничения> […<Ограничения>]]]| [[,]<Ограничения>]}

[[,] {next_<Имя колонки> | <Ограничения>}…])

{ ON <Имя сегмента>]

где:

<Имя БД> - имя базы данных, в которой будет находиться таблица. Можно не указывать данный аргумент, если находитесь в БД, в которой создается таблица.

<Имя владельца> - владелец создаваемой таблицы.

<Имя таблицы> - название таблицы, которое должно удовлетворять правилам наименованных объектов SQLServerи быть уникальным в БД. У вас должны быть права на эту операцию. Если у вас есть права на создание таблицы в какой-либо БД, то можно, находясь в ней, создавать таблицы в другой БД, полностью указывая к ней путь в аргумеyте <Имя БД>. В том случае, если не указывается имя пользователя, необходимо ставить вторую точку после имени базы данных:

CREATE faculty..faculty (f_name char(40))

<Имя поля> - имя столбца, которое должно удовлетворять правилам SQLServerи быть уникальным в таблице.

  1. Удаление таблицы базы данных. Изменение определения таблицы.

DROP TABLE [IF EXISTS] tbl_name [, tbl_name,...] [RESTRICT | CASCADE]

Этот оператор удаляет таблицу или таблицы из текущей базы данных.

tbl_name

- Имя удаляемой таблицы.

IF EXISTS

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

RESTRICT и CASCADE

- Не несут никакой функциональности. Оставлены для упрощения переноса программы.

В следующем примере производится удаление таблицы users:

DROPTABLE`users

Иногда приходиться выполнять распоряжения по изменению структуры таблицы или всей базы данных. Для этих целей используется оператор ALTER.

Синтаксис оператора:

ALTER <тип_объекта>, <имя_объекта>

Оператор может использоваться с следующими типами объектов: DATABASE (для модификации параметров базы данных),TABLE (для модификации раннее созданных таблиц).

Параметры передаваемые в ALTER TABLE:

ADDдобавление столбца в таблицу

DROPудаление столбца из таблицы

Например:

ALTER TABLE [dbo].[University]

ADD

[CreationDate] [Date] NOT NULL

  1. Перечислите основные этапы создания базы данных в графическом режиме. Что понимается под ER – диаграммой в MS SQL Server.

Для создания базы данных в окне Object Explorer выбираем объект «Databases» и пункт «New database…». Появиться диалоговое окно создания новой базы данных, где вводим название и нажимаем ОК.

Для создания таблицы в окне «Object Explorer» выбираем созданную базу данных, и в раскрывшемся списке правой кнопкой мыши нажимаем на пункте «Tables», в котором находим и выделяем пункт «Newtable…». В рабочей области СУБД MS SQL Server откроется форма для создания таблицы. В столбце Column Name указывается название поля таблицы, в столбце Data Type – указывается тип столбца. В столбце Allow Nulls устанавливается флажок, предоставляющий возможность оставлять ячейку не заполненной (пустой).

При создании таблицы для последующей связи с другими таблицами необходимо задавать ключевые и индексные поля.

Нажимаем на кнопку «Сохранить» и вводим название таблицы.

Для представления информации о базе можно использовать диаграммы сущность-связь(ER-Diagrams). Обычно каждая таблица в такой диаграмме представлена в виде прямоугольника, содержащего названия столбцов.

Для создания диаграммы, в окне “ObjectExplorer” выбираем нашу базу данных, нажимаем правой клавишей мыши на вкладкеDatabaseDiagram, и выбираем пункт «NewDatabaseDiagram», в котором добавляем все таблицы нашей базы данных.

Теперь необходимо создать связи (отношения) между таблицами. Проще всего это сделать на ER-Диаграмме.

  1. Перечислите основные команды MS SQL для модификации данных.

Модификация данных может выполняться с помощью команд:

  • DELETE (удалить),

  • INSERT (вставить),

  • UPDATE (обновить).

  1. Приведите пример использования команды INSET для вставки записей в единственную таблицу.

Однострочный запрос: