Секционирование и кластеризация таблиц

Сегментация

Секционирование (англ. partitioning) — разделение хранимых объектов баз данных на отдельные части с раздельными параметрами физического хранения

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

Основные цели и основной результат проектирования БД.

Основные цели:

Ø Обеспечение хранения в БД всей необходимой информации.

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

Ø Сокращение избыточности и дублирования данных.

Ø Обеспечение целостности данных, исключение противоречий и возможных потерь данных.

Основной результат:

Ø Обеспечение хранения в БД всей необходимой информации.

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

Ø Сокращение избыточности и дублирования данных.

Ø Обеспечение целостности данных, исключение противоречий и возможных потерь данных.

Представление и их место в БД.

Представление (англ. view, иногда используются названия «вид», «взгляд») — виртуальная (логическая) таблица, представляющая собой поименованный запрос (синоним к запросу), который будет подставлен как подзапрос при использовании представления.

— Представления скрывают от прикладной программы сложность запросов и саму структуру таблиц БД.

— Использование представлений позволяет отделить прикладную схему представления данных от схемы хранения.

— С помощью представлений обеспечивается ещё один уровень защиты данных.

— СУБД получает возможность применить к запросу, на котором строится представление, оптимизацию или предварительную компиляцию

 

Создание представления:

CREATE [RECURSIVE] VIEW имя_представления

{[(столбец[, ...])] |

[OF имя_супертипа [UNDER имя_супертипа [REF IS имя_столбца

{SYSTEM GENERATED | USER GENERATED | DERIVED}]

[имя_столбца WITH OPTIONS SCOPE имя_таблицы]]]}

AS оператор_select [WITH [CASCADED|LOCAL] CHECK OPTION]

 

Примеры из интернета

Исходное содержимое представления Stepanov.Code_books_1_3

Code_book Author Number
Коршунов Ю.М.
Лавров И.А.
Трауб Дж

Представление на базе таблицы и представления, выдающее номера экземпляров книг с кодом 2:

//представление на базе таблицы и представления

CREATE VIEW Stepanov.Table_View

AS SELECT

Code_books_1_3.Code_book //для этого поля

AS b_code, //вводися псевдоним b_code

Copies.N_books FROM

Stepanov.Copies NATURAL JOIN

Stepanov.Code_books_1_3

WHERE b_code=2