75505

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

Доклад

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

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

Русский

2015-01-15

64.5 KB

2 чел.

Язык 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 (изменить таблицу), которое позволяет добавить справа к таблице новый столбец, т.е. модифицировать описание табицы. Так как без него "можно жить", а объем книги ограничен, то мы не будем здесь описывать это предложе


 

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

11908. Основные правила работы в лабораториях кафедры прикладной физики 48 KB
  Основные правила работы в лабораториях кафедры прикладной физики I.На каждое лабораторное занятие студенты должны приносить ссобой: а лабораторный журнал тетрадь в клетку не менее 48 листов. бнесколько листов миллиметровой бумаги формата А4 А5. вклей для бума
11909. СТАТИСТИКА ВРЕМЕНИ РЕАКЦИИ ЧЕЛОВЕКА (Статистическая обработка результатов измерений) 80.5 KB
  Лабораторная работа № 1 СТАТИСТИКА ВРЕМЕНИ РЕАКЦИИ ЧЕЛОВЕКА Статистическая обработка результатов измерений Цель работы: определение времени реакции человека. Ознакомление со статистической обработкой результатов измерений. Приборы и принадлежности: измерител...
11910. ФИЗИЧЕСКИЙ МАЯТНИК Введение Описание установки 38.39 KB
  Лабораторная работа № 5 ФИЗИЧЕСКИЙ МАЯТНИК Введение Описание установки Рис. 1 Физический маятник представляет собой твердое тело в нашем случае стержень 12 с отверстиями который монтируется на блоке 11 закрепленном на стойке 10 модуля ЛКМ3 так чтобы ось блока не пр...
11911. Алгоритмы речевого кодирования в стандарте GSM 544.5 KB
  Лабораторная работа по курсу Информационные технологии в телекоммуникационных системых Алгоритмы речевого кодирования в стандарте GSM Содержание [0.0.1] Лабораторная работа [0.0.1.1] Алгоритмы речевого кодирования [0.1] В...
11912. Оценка качества речи, передаваемой по каналу GSM 704 KB
  Лабораторная работа по курсу Проектирование информационных и телекоммуникационных систем Оценка качества речи передаваемой по каналу GSM Содержание Лабораторная работа Содержание Задание Теорети...
11913. Изучение электронного осциллографа 717.55 KB
  Отчёт по лабораторной работе № 1 Изучение электронного осциллографа Цель работы. Ознакомление с устройством электронного осциллографа; изучение с помощью этого прибора процессов в простых электрических цепях. Приборы и оборудование. 1. Электронный о
11914. Изучение свободных электромагнитных колебаний в LRCконтуре 327.5 KB
  Отчет по лабораторной работе №4 14 Изучение свободных электромагнитных колебаний в LRCконтуре. Выполнили: студенты 1.Теоретическое введение. Из определения LRC: где коэффициент затухания. собственная частота контура. При малые затухания. где ...
11915. Измерение коэффициента взаимной индукции в переменном поле 145.5 KB
  Лабораторная работа N 9 Измерение коэффициента взаимной индукции в переменном поле 1 Цель работы: Измерение коэффициента взаимной индукции коаксиальных катушек на основе закона электромагнитной индукции. 2 Теоретическая часть: Явление взаимной индукции заклю
11916. Определение отношения заряда электрона к массе методом магнетрона 569.5 KB
  Лабораторная работа № 12 Определение отношения заряда электрона к массе методом магнетрона. Цель работы: Цель работы: Изучение движения электронов во взаимно перпендикулярных электрическом и магнитном полях в магнетроне определение по параметрам этого движен