75505

Язык SQL. Создание базы данных и таблиц

Доклад

Информатика, кибернетика и программирование

Создание базы данных и таблиц. Создание базы данных В различных СУБД процедура создания баз данных обычно закрепляется только за администратором баз данных. В однопользовательских системах принимаемая по умолчанию база данных может быть сформирована непосредственно в процессе установки и настройки самой СУБД. Стандарт SQL не определяет как должны создаваться базы данных поэтому в каждом из диалектов языка SQL обычно используется свой подход.

Русский

2015-01-15

64.5 KB

6 чел.

Язык SQL. Создание базы данных и таблиц.

Создание базы данных

В различных СУБД процедура создания баз данных обычно закрепляется только за администратором баз данных. В однопользовательских системах принимаемая по умолчанию база данных может быть сформирована непосредственно в процессе установки и настройки самой СУБД. Стандарт SQL не определяет, как должны создаваться базы данных, поэтому в каждом из диалектов языка SQL обычно используется свой подход. В соответствии со стандартом SQL, таблицы и другие объекты базы данных существуют в некоторой среде. Помимо всего прочего, каждая среда состоит из одного или более каталогов, а каждый каталог – из набора схем. Схема представляет собой поименованную коллекцию объектов базы данных, некоторым образом связанных друг с другом (все объекты в базе данных должны быть описаны в той или иной схеме). Объектами схемы могут быть таблицы, представления, домены, утверждения, сопоставления, толкования и наборы символов. Все они имеют одного и того же владельца и множество общих значений, принимаемых по умолчанию.

Стандарт SQL оставляет за разработчиками СУБД право выбора конкретного механизма создания и уничтожения каталогов, однако механизм создания и удаления схем регламентируется посредством операторов CREATE SCHEMA и DROP SCHEMA. В стандарте также указано, что в рамках оператора создания схемы должна существовать возможность определения диапазона привилегий, доступных пользователям создаваемой схемы. Однако конкретные способы определения подобных привилегий в разных СУБД различаются.

В настоящее время операторы CREATE SCHEMA и DROP SCHEMA реализованы в очень немногих СУБД. В других реализациях, например, в СУБД MS SQL Server, используется оператор CREATE DATABASE.

Создание базы данных в среде MS SQL Server

Процесс создания базы данных в системе SQL-сервера состоит из двух этапов: сначала организуется сама база данных, а затем принадлежащий ей журнал транзакций. Информация размещается в соответствующих файлах, имеющих расширения *.mdf (для базы данных) и *.ldf. (для журнала транзакций). В файле базы данных записываются сведения об основных объектах (таблицах, индексах, просмотрах и т.д.), а в файле журнала транзакций – о процессе работы с транзакциями (контроль целостности данных, состояния базы данных до и после выполнения транзакций).

Создание базы данных в системе SQL-сервер осуществляется командой CREATE DATABASE. Следует отметить, что процедура создания базы данных в SQL-сервере требует наличия прав администратора сервера.

<определение_базы_данных> ::=

  CREATE DATABASE имя_базы_данных

  [ON [PRIMARY]

  [ <определение_файла>  [,...n] ]

  [,<определение_группы> [,...n] ] ]

  [ LOG ON {<определение_файла>[,...n] } ]

  [ FOR LOAD | FOR ATTACH ]

Рассмотрим основные параметры представленного оператора.

При выборе имени базы данных следует руководствоваться общими правилами именования объектов. Если имя базы данных содержит пробелы или любые другие недопустимые символы, оно заключается в ограничители (двойные кавычки или квадратные скобки). Имя базы данных должно быть уникальным в пределах сервера и не может превышать 128 символов.

При создании и изменении базы данных можно указать имя файла, который будет для нее создан, изменить имя, путь и исходный размер этого файла. Если в процессе использования базы данных планируется ее размещение на нескольких дисках, то можно создать так называемые вторичные файлы базы данных с расширением *.ndf. В этом случае основная информация о базе данных располагается в первичном (PRIMARY) файле, а при нехватке для него свободного места добавляемая информация будет размещаться во вторичном файле. Подход, используемый в SQL-сервере, позволяет распределять содержимое базы данных по нескольким дисковым томам.

Параметр ON определяет список файлов на диске для размещения информации, хранящейся в базе данных.

Параметр PRIMARY определяет первичный файл. Если он опущен, то первичным является первый файл в списке.

Параметр LOG ON определяет список файлов на диске для размещения журнала транзакций. Имя файла для журнала транзакций генерируется на основе имени базы данных, и в конце к нему добавляются символы _log.

При создании базы данных можно определить набор файлов, из которых она будет состоять. Файл определяется с помощью следующей конструкции:

<определение_файла>::=

  ([ NAME=логическое_имя_файла,]

  FILENAME='физическое_имя_файла'

  [,SIZE=размер_файла ]

  [,MAXSIZE={max_размер_файла |UNLIMITED } ]

  [, FILEGROWTH=величина_прироста ] )[,...n]

Здесь логическое имя файла – это имя файла, под которым он будет опознаваться при выполнении различных SQL-команд.

Физическое имя файла предназначено для указания полного пути и названия соответствующего физического файла, который будет создан на жестком диске. Это имя останется за файлом на уровне операционной системы.

Параметр SIZE определяет первоначальный размер файла; минимальный размер параметра – 512 Кб, если он не указан, по умолчанию принимается 1 Мб.

Параметр MAXSIZE определяет максимальный размер файла базы данных. При значении параметра UNLIMITED максимальный размер базы данных ограничивается свободным местом на диске.

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

Дополнительные файлы могут быть включены в группу:

<определение_группы>::=FILEGROUP имя_группы_файлов

   <определение_файла>[,...n]

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

CREATE DATABASE Archive

ON PRIMARY ( NAME=Arch1,

 FILENAME=’c:\user\data\archdat1.mdf’,

SIZE=100MB, MAXSIZE=200, FILEGROWTH=20),

(NAME=Arch2,  

 FILENAME=’c:\user\data\archdat2.mdf’,

 SIZE=100MB, MAXSIZE=200, FILEGROWTH=20),

(NAME=Arch3,

 FILENAME=’c:\user\data\archdat3.mdf’,

 SIZE=100MB, MAXSIZE=200, FILEGROWTH=20)

LOG ON

(NAME=Archlog1,

 FILENAME=’c:\user\data\archlog1.ldf’,

   SIZE=100MB, MAXSIZE=200, FILEGROWTH=20),

(NAME=Archlog2,

 FILENAME=’c:\user\data\archlog2.ldf’,

   SIZE=100MB, MAXSIZE=200, FILEGROWTH=20)

Пример 3.1. Создание базы данных. (html, txt)

Изменение базы данных

Большинство действий по изменению конфигурации базы данных выполняется с помощью следующей конструкции:

<изменение_базы_данных> ::=  

 ALTER DATABASE имя_базы_данных

 { ADD FILE <определение_файла>[,...n]

   [TO FILEGROUP имя_группы_файлов ]

 | ADD LOG FILE <определение_файла>[,...n]

 | REMOVE FILE логическое_имя_файла

 | ADD FILEGROUP имя_группы_файлов

 | REMOVE FILEGROUP имя_группы_файлов

 | MODIFY FILE <определение_файла>

 | MODIFY FILEGROUP имя_группы_файлов

 <свойства_группы_файлов>}

Как видно из синтаксиса, за один вызов команды может быть изменено не более одного параметра конфигурации базы данных. Если необходимо выполнить несколько изменений, придется разбить процесс на ряд отдельных шагов.

В базу данных можно добавить (ADD) новые файлы данных (в указанную группу файлов или в группу, принятую по умолчанию) или файлы журнала транзакций.

Параметры файлов и групп файлов можно изменять (MODIFY).

Для удаления из базы данных файлов или групп файлов используется параметр REMOVE. Однако удаление файла возможно лишь при условии его освобождения от данных. В противном случае сервер не разрешит удаление.

В качестве свойств группы файлов используются следующие:

READONLY – группа файлов используется только для чтения; READWRITE – в группе файлов разрешаются изменения; DEFAULT – указанная группа файлов принимается по умолчанию.

Удаление базы данных

Удаление базы данных осуществляется командой:

DROP DATABASE имя_базы_данных [,...n]

Удаляются все содержащиеся в базе данных объекты, а также файлы, в которых она размещается. Для исполнения операции удаления базы данных пользователь должен обладать соответствующими правами.

БД в серверных СУБД создается либо средствами СУБД (для Delphi – средствами SQL-Explorer), либо через конструкцию

Create Database

Основу любой БД составляют таблицы (отношения БД).

Базовые таблицы описываются в SQL с помощью предложения CREATE TABLE (создать таблицу), синтаксис которого имеет небольшие различия в различных СУБД. Однако все они поддерживают следующую минимальную форму:

CREATE TABLE базовая_таблица (столбец тип_данных [NOT NULL]

   [,столбец тип_данных [NOT NULL]] ...);

где тип_данных должен принадлежать к одному из типов данных, поддерживаемых СУБД (например, одному из типов данных, перечисленных в п.1.2).

Так, описание таблицы Блюда может быть записано в виде

CREATE TABLE Блюда

( БЛ SMALLINT NOT NULL,

 Блюда CHAR (70) NOT NULL,

 В CHAR  (1),

 Основа CHAR (10),

 Выход FLOAT,

 Труд SMALLINT );

В результате создается пустая базовая таблица Блюда, а в системный каталог помещается строка, описывающая эту таблицу. Отметим, что в профессиональных СУБД имя таблицы дополняется именем пользователя, который издал предложение CREATE TABLE. Если этот пользователь зарегистрирован в системе под именем Kirillov, то в каталоге будет зарегистрирована таблица Kirillov.Блюда и указанный пользователь может обращаться к ней по имени Kirillov.Блюда или по сокращенному имени Блюда, которое использовалось во всех предшествующих примерах и будет использоваться далее.

Конструкция NOT NULL запрещает использование неопределенного значения, т.е. специального значения, которое вводится для представления "неизвестного значения" или "неприменимого значения". Например, строка поставки таблицы Поставки может содержать неопределенное значение в столбце Цена и (или) К_во (извесно, что поставщик поставляет указанный продукт, но на данный момент неизвестна цена этого продукта и (или) объем поставки).

Существующую базовую таблицу можно в любой момент уничтожить с помощью предложения DROP TABLE (уничтожить таблицу):

DROP TABLE базовая_таблица;

по которому удаляется описание таблицы, ее данные, связанные с ней представления и индексы, построенные для столбцов таблицы (см. п. 5.3).

В SQL существует также предложение ALTER TABLE (изменить таблицу), которое позволяет добавить справа к таблице новый столбец, т.е. модифицировать описание табицы. Так как без него "можно жить", а объем книги ограничен, то мы не будем здесь описывать это предложе


 

А также другие работы, которые могут Вас заинтересовать

10022. Инновационные технологии в проектировании нового туристического продукта 509.4 KB
  Инновационные технологии в проектировании нового туристического продукта Введение Актуальность дипломного исследования. Прошедший ХХ век наряду со многими феноменальными событиями и явлениями в жизни мирового сообщества продемонстрировал чуть ли не взрывной ха...
10023. Моделирование кривых титрования с помощью MathCad 49.5 KB
  Моделирование кривых титрования с помощью MathCad. Рассматривается пример построения кривой титрования в Mathcad. Постановка задачи и порядок выполнения работы описывается в соответствующей обучающей программе. Студенты должны запустить Mathcad и обучающую программу Титрова...
10024. Программирование в MathCAD 167 KB
  Программирование в MathCAD Панель инструментов Программирование Язык программирования Mathcad Для вставки программного кода в документы в Mathcad имеется специальная панель инструментов Программирование. Большинство кнопок этой панели выполнено в виде текстового пре
10025. Принципы усиления сигналов и построения усилителей 991.5 KB
  Тема № 1. Принципы усиления сигналов и построения усилителей. Занятие № 1. Принципы электронного усиления сигналов. Учебные методические и воспитательные цели: Изучить принципы усиления и построения усилителей их параметры. Сконцентри...
10026. Каскады предварительного усиления 902 KB
  Тема № 2. Каскады предварительного усиления Занятие № 1. Широкополосные усилители Учебные методические и воспитательные цели: 1. Изучить принципы построения и функционирования каскадов предварительного усиления и широкополосных усилителе...
10027. Оконечные усилительные каскады 1.1 MB
  Тема № 3. Оконечные усилительные каскады Занятие № 1. Принципы построения и функционирования каскадов оконечного усиления Учебные методические и воспитательные цели: 1. Изучить принципы построения оконечных усилительных каскадов. 2. Со...
10028. Преобразователи частоты. Общие принципы преобразования частоты 950.5 KB
  Тема 4. Преобразователи частоты Занятие 1. Общие принципы преобразования частоты Учебные методические и воспитательные цели: 1. Изучить сущность принципов преобразования частоты. 2. Изучить схемы и принципы работы диодных преобразователей ...
10029. Функциональные устройства на операционных усилителях 810.5 KB
  Тема 5. Функциональные устройства на операционных усилителях Занятие 1. Аналоговые электронные устройства на операционных усилителях Учебные методические и воспитательные цели: 1. Изучить основные свойства операционных усилителей ОУ...
10030. Роль и место дисциплины в подготовке офицера связиста 236.5 KB
  Вводная лекция Учебные методически развивающие и воспитательные цели: 1. Уяснить роль и место дисциплины в подготовке офицера связиста изучить основные определения классификацию технические показатели и характеристики аналоговых электронны