Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Сегменты




Экстенты

Следующим уровнем логического пространства базы данных является экстент. Экстент является определенным количеством непрерывных блоков данных Oracle (полученных за одно выделение), которые используются, чтобы хранить определенный тип информации. Блоки данных Oracle в экстентах логически непрерывны, но могут быть физически распределены на диске из-за чередования RAID и реализаций файловой системы.

Уровень логического хранения базы данных выше экстента называют сегментом. Сегмент является набором экстентов, выделенных для определенной логической структуры. Например:

· Сегменты данных: Каждая некластеризируемая, не индексно-организованная таблица имеет сегмент данных, за исключением внешних таблиц, глобальных временных таблиц и разделенных таблиц, в которых у каждой таблицы есть один или более сегментов. Все данные таблицы хранятся в экстентах ее сегмента данных. Для разделенной таблицы у каждого раздела есть свой сегмент данных. У каждого кластера есть сегмент данных. Данные каждой таблицы в кластере хранятся в сегменте данных кластера.

· Индексные сегменты: У каждого индекса есть индексный сегмент, который хранит все его данные. Для разделенного индекса у каждого раздела есть индексный сегмент.

· Сегменты отката: Одно табличное пространство ОТКАТА создается для каждого экземпляра базы данных. Эта табличное пространство содержит многочисленные сегменты отката, чтобы временно хранить информацию отката. Информация в сегменте отката используется, чтобы генерировать непротиворечивую по чтению информацию в базе данных, а также во время восстановления базы данных, откатывая незафиксированные транзакции пользователей.

· Временные сегменты: Временные сегменты создаются базой данных Oracle, когда SQL-оператор нуждается во временной рабочей области, чтобы завершить выполнение. Когда выполнение оператора завершается, экстенты временного сегмента возвращаются экземпляру для будущего использования. Определите либо временное табличное пространство по умолчанию для каждого пользователя, либо временное табличное пространство по умолчанию, которое будет использоваться для всей базы данных.

Отметьте: Есть и другие типы сегментов, не упомянутые выше. Есть также объекты схемы, такие как представления, пакеты, триггеры и т.д. которые не считаются сегментами даже при том, что они являются объектами базы данных. Сегменту принадлежит его соответствующее выделение дискового пространства. Другие объекты существуют в виде строк, хранимых в системном сегменте метаданных.

База данных Oracle динамически выделяет место. Когда существующие экстенты сегмента полны, выделяются дополнительные экстенты. Поскольку экстенты выделяются при необходимости, экстенты сегмента могут быть, а могут и не быть непрерывными на диске, и они могут быть выделены из различных файлов данных, принадлежащих тому же самому табличному пространству.)

10. Логическая структура БД.

11. Способы создания БД и операторы языка 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. Создание базы данных.)

12. Понятие запроса, виды запросов и команда языка SQL, формирующая запросы (синтаксис, назначение параметров). Пример.

(Structured Query Language (Язык Структурированных Запросов) разработан корпораций IBM в начале 1970-х годов. В 1986 году SQL был впервые стандартизирован организаций ANSI.

SQL - этом мощный и в то же время не сложный язык для управления базами данных. Он поддерживается практически всеми современными базами данных. SQL подразделятся на два подмножества команд: DDL (Data Definition Language - язык определения данных) и DML (Data Manipulation Language - язык обработки данных). Команды DDL используются для создания новых баз данных, таблиц и столбцов, а команды DML - для чтения, записи, сортировки, фильтрования, удаления данных.

Здесь будут рассмотрены подробно лишь команды DML, поскольку их приходится использовать гораздо чаще, чем команды DDL, то есть дается просто понятие о SQL.




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 563; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.027 сек.