Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Типы индексов





Первичный индекс - это такой специальный массив-указатель порядка записей, когда файл данных последовательно упорядочивается по полю ключа упорядочения, а на основе поля ключа упорядочения создается поле индексации, которое гарантированно имеет уникальное значение в каждой записи.

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

Вторичный индекс - это индекс, который определен на поле файла данных, отличном от поля, по которому выполняется упорядочение.

Файл может иметь не больше одного первичного индекса или одного индекса кластеризации, но дополнительно к ним может иметь несколько вторичных индексов. Индекс может быть разреженным (sparse) или плотным (dense). Разреженный индекс содержит индексные записи только для некоторых значений ключа поиска в данном файле, а плотный индекс имеет индексные записи для всех значений ключа поиска в данном файле. Ключ поиска для индекса может состоять из нескольких полей.

Опр. Хеширование – метод доступа, обеспечивающий прямую адресацию данным путем преобразования значений ключа в относительный или абсолютный физический адрес.

Адрес является функцией значения поля и ключа записи. Записи, приобретающие один адрес, называются синонимами. В качестве критериев оптимизации алгоритма хеширования могут быть: потеря связи между адресом и значением поля, минимум синонимов. Память делится на страницы определенного размера, и все синонимы помещаются в пределах одной страницы или в область переполнения. Механизм поиска синонимов – цепочечный.

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

Хеш-функция должна обеспечивать равномерное распределение ключей по адресам таблицы, однако двум разным ключам может соответствовать один адрес. Если адрес уже занят, возникает состояние, называемое коллизией, которое устраняется специальными алгоритмами: проверка идет к следующей ячейке до обнаружения своей ячейки. Элемент с ключом помещается в эту ячейку.

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

Размер хеш-таблицы должен быть больше числа размещаемых элементов. Если таблица заполняется на шестьдесят процентов, то, как показывает практика, для размещения нового элемента проверяется в среднем не более двух ячеек. После удаления элемента пространство памяти, как правило, не может быть использовано повторно.

Простейшим алгоритмом хеширования может являться функция f(k)єk (mod 10), где k - ключ, целое число.

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

Индексированный последовательный файл имеет более универсальную структуру, которая обычно включает следующие компоненты:

  • первичная область хранения;
  • отдельный индекс или несколько индексов;
  • область переполнения.

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


21. Назначение и общая характеристика языка SQL, структура операторов DML.

Язык SQL стал стандартным языком доступа к БД.

В его функции входят:

1. SQL позволяет определить данные и манипулировать данными;

2. Содержит специальные средства определения ограничений целостности БД;

3. Осуществляет авторизацию доступа к объектам БД.


Язык SQL является непроцедурным структурированным языком.

Язык SQL является реляционно-полным – любой оператор реляционной алгебры может быть выражен подходящим оператором SQL.

Операторы SQL:

Можно выделить следующие группы операторов:

1. Операторы DDL (Data Definition Language) - операторы определения объектов базы данных.

CREATE SCHEMA – создать схему базы данных; DROP SCHEMA –удалить схему; CREATE TABLE – создать таблицу; ALTER TABLE – изменить таблицу; DROP TABLE – удалить таблицу; CREATE DOMAIN – создать домен; ALTER DOMAIN – изменить домен; DROP DOMAIN – удалить домен; CREATE COLLATION – создать последовательность; DROP COLLATION – удалить; CREATE VIEW – создать представление; DROP VIEW – удалить представление;

2. Операторы DML (Data Manipulation Language) - операторы манипулирования данными.

SELECT – отобрать строки из таблиц; INSERT – добавить строки в таблицу;

UPDATE – изменить строки в таблице; DELETE – удалить строки в таблице;

COMMIT – зафиксировать внесенные изменения;

ROLLBACK – откатить внесенные изменения;

3. Операторы защиты и управления данными.

CREATE ASSERTION – создать ограничение;

DROP ASSERTION – удалить ограничение;

GRANT – предоставить привилегии пользователю или приложению на манипулирование объектами;

REVOKE – отменить привилегии пользователя или приложения;

Пример: Выбрать все данные из таблицы поставщиков (ключевые слова SELECTFROM …): SELECT * FROM P;

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

Пример: Выбрать все строки из таблицы поставщиков, удовлетворяющих некоторому условию: SELECT * FROM P WHERE P.PNUM > 2, еще можно использовать логические операции (OR), предикаты (IN, BETWEEN)

Где PNUM – номер поставщика.

Пример: Выбрать некоторые колонки из исходной таблицы, удалив из результата повторяющиеся строки (ключевое слово DISTINCT):

SELECT DISTINCT P.NAME FROM P;

Пример: Найти всех заказчиков, чьи имена начинаются с буквы ‘К’:
SELECT * FROM Заказчики WHERE cname LIKE 'К%';

Пример: Найти наибольшую сумму приобретений, полученную каждым продавцом:
SELECT snum, MAX (amt) FROM ПорядкиGROUP BY snum;

Правое соединение: SELECT [Номер заказа], Фрукты.Наименование, Количество, Категория

FROM [Состав заказа] RIGHT JOIN Фрукты ON Фрукты. [Код фрукта]=[Состав заказа].Наименование;

ПРОСТОЙ ВЛОЖЕННЫЙ:

SELECT Наименование, [Опиcание фрукта], Категория, Cтоимоcть

FROM Фрукты

WHERE [Код фрукта] IN (SELECT Наименование

FROM [Состав заказа]);

 

 

22. ER-модели: основные определения. Правила преобразования ER-модели в

реляционную модель данных

Модель сущность-связь (ER-модель) — модель данных, позволяющая описывать концептуальные схемы предметной области.

Основные определения ER-модулей:

Опр. Сущность – это реальный или представляемый объект, информация в котором должна храниться в БД и быть допустимой.

Все сущности объединяются в (опр.) тип сущности – это множество объектов имеющих одинаковую структуру данных.

Опр. Сильные сущности – это сущности, существование которых в БД не зависит от сущности в БД других сущностей.

Опр. Связь это графически изображенная ассоциация, устанавливаемая между сущностями.


В каждой ассоциации может участвовать две или более сущностей. Соответственно связь может быть: бинарной, тринарной и т.д.

Степень связи показывает, сколько сущностей участвует в связи.

Связь:

1) Обязательная (сплошная линия);

2) Необязательная (пунктирная линия).

Опр. Атрибут любая деталь, которая служит для уточнения, идентификации, классификации числа характеристики или выражения состояния сущности.

Указание домена атрибута является необязательной процедурой.

ER – модули различают идентификатор. Это может быть атрибут, комбинация атрибутов, связь, комбинация связей, комбинация связей и атрибутов







Date: 2015-08-15; view: 604; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.01 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию