Рубрики

Заметки в последнюю минуту — СУБД

Смотрите последние заметки по всем предметам здесь .

Мы обсудим важные ключевые моменты, полезные для экзаменов GATE в краткой форме. Для деталей вы можете обратиться к этому .

Диаграмма ER : Наиболее часто задаваемые вопросы на диаграмме ER — это минимальное количество таблиц, необходимых для данной диаграммы ER. Обычно используются следующие критерии:

CardinalityMinimum No. of tables
1:1 cardinality with partial participation of both entities2
1:1 cardinality with total participation of atleast 1 entity1
1:n cardinality 2
m:n cardinality3

Примечание: это общее замечание. Особые случаи нужно заботиться. Нам может понадобиться дополнительная таблица, если атрибут отношения не может быть перемещен на какую-либо сторону объекта.

Ключи отношения : в отношении есть несколько типов ключей:

  • Ключ-кандидат: минимальный набор атрибутов, которые могут однозначно определять кортеж. Может быть более 1 ключа-кандидата отношения, и его собственное подмножество не может однозначно определить кортеж и не может быть NULL.
  • Super Key: набор атрибутов, которые могут однозначно определять кортеж. Ключ-кандидат всегда является супер-ключом, но, наоборот, это не так.
  • Первичный ключ и альтернативный ключ: среди различных ключей-кандидатов один ключ берется первичным ключом, а другие являются альтернативными ключами.
  • Внешний ключ: Внешний ключ — это набор атрибутов в таблице, который используется для ссылки на первичный ключ или альтернативный ключ той же или другой таблицы.

Нормальные Формы

  • Первая нормальная форма: отношение находится в первой нормальной форме, если оно не содержит многозначных или составных атрибутов.
  • Вторая нормальная форма: отношение находится во второй нормальной форме, если оно не содержит частичной зависимости. Зависимость называется частичной зависимостью, если любое правильное подмножество ключа-кандидата определяет непростой (не являющийся частью ключа-кандидата) атрибут.
  • Третья нормальная форма: отношение находится в третьей нормальной форме, если оно не содержит транзитивной зависимости. Чтобы отношение было в третьей нормальной форме, либо LHS of FD должен быть супер-ключом, либо RHS должен быть основным атрибутом.
  • Нормальная форма Бойса-Кодда: отношение находится в Бойс-Кодда Нормальная форма, если LHS каждого FD является супер-ключом. Взаимосвязь между нормальными формами может быть представлена в виде: 1NF 2НФ 3NF BCNF

Реляционная алгебра : процедурный язык с базовыми и расширенными операторами.

Basic OperatorSemantic
σ(Selection)Select rows based on given condition
∏(Projection)Project some columns
X (Cross Product) Cross product of relations, returns m*n rows where m and n are number of rows in R1 and R2 respectively.
U (Union) Return those tuples which are either in R1 or in R2. Max no. of rows returned = m+n andMin no. of rows returned = max(m,n)
−(Minus) R1-R2 returns those tuples which are in R1 but not in R2. Max no. of rows returned = m and Min no. of rows returned = m-n
ρ(Rename)Renaming a relation to other relation.

Extended OperatorSemantic
∩ (Intersection)Returns those tuples which are in both R1 and R2. Max no. of rows returned = min(m,n) and Min no. of rows returned = 0

c(Conditional Join)

Selection from two or more tables based on some condition (Cross product followed by selection)

⋈(Equi Join)

It is a special case of conditional join when only equality condition is applied between attributes.

⋈(Natural Join)

In natural join, equality condition on common attributes hold and duplicate attributes are removed by default. Note: Natural Join is equivalent to cross product if two relations have no attribute in common and natural join of a relation R with itself will return R only.

⟕(Left Outer Join)

When applying join on two relations R and S, some tuples of R or S does not appear in result set which does not satisfy the join conditions. But Left Outer Joins gives all tuples of R in the result set. The tuples of R which do not satisfy join condition will have values as NULL for attributes of S.

⟖(Right Outer Join)

When applying join on two relations R and S, some tuples of R or S does not appear in result set which does not satisfy the join conditions. But Right Outer Joins gives all tuples of S in the result set. The tuples of S which do not satisfy join condition will have values as NULL for attributes of R.

⟗(Full Outer Join)

When applying join on two relations R and S, some tuples of R or S does not appear in result set which does not satisfy the join conditions. But Full Outer Joins gives all tuples of S and all tuples of R in the result set. The tuples of S which do not satisfy join condition will have values as NULL for attributes of R and vice versa.

/(Division Operator)

Division operator A/B will return those tuples in A which is associated with every tuple of B.Note:Attributes of B should be proper subset of attributes of A. The attributes in A/B will be Attributes of A- Attribute of B.

Как решить проблемы реляционной алгебры для GATE — SET 1
Как решить задачи реляционной алгебры для GATE — SET 2

SQL : в отличие от реляционной алгебры, SQL является непроцедурным языком.

OperatorMeaning
Select Selects columns from a relation or set of relations.Note: As opposed to Relational Algebra, it may give duplicate tuples for repeated value of an attribute.
From From is used to give input as relation or set of relations from which data needs to be selected.
where Where is used to give condition to be used to filter tuples
EXISTS EXISTS is used to check whether the result of a correlated nested query is empty (contains no tuples) or not.
Group By Group By is used to group the tuples based on some attribute or set of attributes like counting the no. of students group by department.
Order By Order By is used to sort the fetched data in either ascending or descending according to one or more columns.
Aggregate functions Find the aggregated value of an attribute. Used mostly with group by. e.g.; count, sum, min max. select count(*) from student group by dept_idNote: we can select only those columns which are part of group by.
Nested Queries When one query is a part of other query. Solving nested queries questions can be learnt in http://quiz.geeksforgeeks.org/nested-queries-sql/

Конфиденциальный сериализуемый и конфликтный эквивалент : расписание конфликтно сериализуемо, если оно конфликтно эквивалентно последовательному расписанию.

Проверка на Сериализуемость Конфликта

Чтобы проверить, является ли расписание сериализуемым конфликтом или нет, найдите все конфликтующие пары операций расписания и нарисуйте график приоритета (Для всех конфликтующих пар операций — ребро от T i до T j, если одна операция конфликтующей пары от T i и другое от T j, и операция T i происходит до T j в расписании). Если граф не содержит цикла, расписание сериализуемо по конфликтам, иначе оно не сериализуемо по конфликтам.

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

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

View Serializable и View Equivalence : два расписания S1 и S2 называются эквивалентными для вида, если для всех объектов выполнены все условия:

  • Если транзакция Т я в S1 считывает начальное значение для объекта X, в S2 также, Т я должен прочитать начальное значение X.

  • Если транзакция T i в S1 считывает значение, записанное транзакцией T j в S1 для объекта X, то же самое должно быть сделано в S2.

  • Если транзакция T i на S1 является последней транзакцией для записи значения для объекта X, на S2 также T i должна записать конечное значение X.

Расписание можно просматривать сериализуемо, если оно эквивалентно любому последовательному расписанию.

Неустранимые графики: Для пары транзакций < T i , T j >, если T j читает значение, обновленное Ti, и Tj фиксируется перед фиксацией Ti, расписание будет необратимым.

Восстанавливаемые графики: Для пары транзакций < T i , T j >, если T j читает значение, обновленное Ti, и Tj фиксируется после фиксации Ti, расписание будет восстанавливаемым.

Безкаскадные восстанавливаемые графики: Для пары транзакций < T i , T j >, если значение, обновленное Ti, считывается Tj только после фиксации T i , расписание будет безкаскадно восстанавливаемым.

Строго восстанавливаемый: для пары транзакций < T i , T j >, если значение, обновленное Ti, считывается или записывается Tj только после фиксации T i , расписание будет строго восстанавливаемым. Отношения между ними могут быть представлены как:

Строгий Бескаскадном Извлекаемые извлекаемые
eec07137d04e77163572c8 > все расписания

Файловые структуры

Основной индекс:: основной индекс — это упорядоченный файл, записи фиксированной длины с двумя полями. Первое поле совпадает с первичным ключом как файл данных, а второе поле является указателем на блок данных, где ключ доступен.

Среднее число обращений к блоку с использованием index = log 2 Bi + 1 , где Bi = количество индексных блоков.

Индекс кластеризации: индекс кластеризации создается для файла данных, записи которого физически упорядочены в неключевом поле (называемом полем кластеризации).

Вторичный индекс: Вторичный индекс предоставляет вторичные средства доступа к файлу, для которого первичный доступ уже существует.

 Number of index entries = Number of records

B Деревья
На каждом уровне у нас есть ключ и указатель данных, а также указатель данных на блок или запись.

Свойства B-деревьев:
Корень B-дерева может иметь детей от 2 до P , где P — порядок дерева.

Порядок дерева — Максимальное количество детей, которое может иметь узел.

Внутренний узел может иметь детей между ⌈ P / 2 ⌉ и P
Внутренний узел может иметь ключи между ⌈ P / 2 ⌉ — 1 и P-1

B + Деревья
В деревьях B + структура листьев и не листьев различна, поэтому их порядок. Порядок не-листьев будет выше по сравнению с листовыми узлами.

Время поиска будет меньше в B + Tress, так как он не имеет указателей записи в не-листе, из-за чего глубина будет уменьшаться.

Эта статья предоставлена Sonal Tuteja.

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой теме

Рекомендуемые посты:

Заметки в последнюю минуту — СУБД

0.00 (0%) 0 votes