Sem II (Datenbanken) - N4 Flashcards

1
Q

Selection (DB)

A

σ

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

A

Join (DB)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Join (DB)

A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Mengendifferenz (DB) - Datensätze zu identifizieren, die in einer Tabelle oder Relation vorkommen, aber nicht in einer anderen.

(Name: Alice, Bob, Charlie) - (Name: Bob, Charlie) = Name: Alice

A

-

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

-

A

Mengendifferenz (DB) - Datensätze zu identifizieren, die in einer Tabelle oder Relation vorkommen, aber nicht in einer anderen.

(Name: Alice, Bob, Charlie) - (Name: Bob, Charlie) = Name: Alice

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

÷

A

Division (DB)

Tabelle A: (Anna: Tennis, Anna: Schwimmen, Ben, Tennis, Ben: Schwimmen, Ben: Laufen)
Tabelle B: (Tennis, Schwimmen)

Welche Personen haben alle Aktivitäten aus Tabelle B durchgeführt?
Anna und Ben, weil sie Tennis und Schwimmen gemacht hat.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Division (DB)

Tabelle A: (Anna: Tennis, Anna: Schwimmen, Ben, Tennis, Ben: Schwimmen, Ben: Laufen)
Tabelle B: (Tennis, Schwimmen)

Welche Personen haben alle Aktivitäten aus Tabelle B durchgeführt?
Anna und Ben, weil sie Tennis und Schwimmen gemacht hat.

SELECT person
FROM Tabelle_A
WHERE activity IN (SELECT activity FROM Tabelle_B)
GROUP BY person
HAVING COUNT(DISTINCT activity) = (SELECT COUNT(*) FROM Tabelle_B);
A

÷

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

A

Vereinigung (DB) - operation, die verwendet wird, um die Ergebnisse von zwei oder mehr Datenbankabfragen zu kombinieren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Vereinigung (DB) - operation, die verwendet wird, um die Ergebnisse von zwei oder mehr Datenbankabfragen zu kombinieren.

A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Mengendurchschnitt (Schnitt von Mengen oder Intersection) - gemeinsamen Elemente zwischen zwei Ergebnismengen zu ermitteln.

Liste A: ["Anna", "Ben", "Clara", "David"]
Liste B: ["Ben", "David", "Eva", "Frank"]
---> ["Ben", "David"]
A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

A

Mengendurchschnitt (Schnitt von Mengen oder Intersection) - gemeinsamen Elemente zwischen zwei Ergebnismengen zu ermitteln.

Liste A: ["Anna", "Ben", "Clara", "David"]
Liste B: ["Ben", "David", "Eva", "Frank"]
---> ["Ben", "David"]
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Semi-Join - verwendet, um eine Teilmenge von Zeilen aus einer Tabelle zu bestimmen, die mit Zeilen einer anderen Tabelle übereinstimmen

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q
A

Semi-Join - verwendet, um eine Teilmenge von Zeilen aus einer Tabelle zu bestimmen, die mit Zeilen einer anderen Tabelle übereinstimmen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Linker äußerer Join (oder LEFT OUTER JOIN) - Datensätze aus zwei Tabellen miteinander verknüpft und zusätzlich alle Datensätze aus der linken Tabelle zurückgibt, auch wenn keine Übereinstimmung mit der rechten Tabelle besteht.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q
A

Linker äußerer Join (oder LEFT OUTER JOIN) - Datensätze aus zwei Tabellen miteinander verknüpft und zusätzlich alle Datensätze aus der linken Tabelle zurückgibt, auch wenn keine Übereinstimmung mit der rechten Tabelle besteht.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Что понимается под термином „Целостность” в базах данных?

A

Целостность в базах данных описывает условия согласованности, которые обеспечивают правильное и последовательное хранение данных. Примерами являются типы данных, диапазоны значений и зависимости.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Какие компоненты включает SQL-стандарт?

A

DDL (язык определения данных): Для определения структур данных, например, CREATE TABLE.
DML (язык манипуляции данными): Для работы с данными, например, SELECT.
DCL (язык контроля данных): Для контроля прав доступа.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Was sind statische Integritätsbedingungen?

A

Статические условия целостности устанавливают требования к состоянию базы данных, например:

NOT NULL: Значение не может быть пустым.
Диапазоны значений:CHECK Semester BETWEEN 1 AND 13.
Перечислимые типы: CHECK Rang IN (‘C2’, ‘C3’, ‘C4’).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Was sind dynamische Integritätsbedingungen?

A

Динамические условия целостности относятся к переходам состояний, например, «Профессора не могут быть понижены в должности». Эти условия могут быть реализованы через триггеры или хранимые процедуры.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Что такое referentielle целостность?

A

Referentielle целостность означает, что внешние ключи должны либо ссылаться на существующие кортежи в Referenced таблице, либо содержать NULL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Какие преимущества дают условия целостности в базах данных?

A

1. Автоматическое обеспечение согласованности через СУБД.
2. Предотвращение несогласованных состояний.
3. Возможность отключения проверок согласованности (например, для массового импорта).

22
Q

Wie werden Fremdschlüssel definiert?

A

Внешние ключи ссылаются на первичные ключи других таблиц.

CREATE TABLE Vorlesungen (
  VorlNr INTEGER PRIMARY KEY,
  gelesenVon INTEGER REFERENCES Professoren(PersNr)
);
23
Q

Was ist ein typisches Beispiel für eine statische Integritätsbedingung?

A

Ограничение CHECK для ограничения значений:

CHECK Semester BETWEEN 1 AND 13
24
Q

Что такое внешний ключ, и как он используется в SQL?

A

Внешний ключ (foreign key) - это атрибут, который ссылается на первичный ключ другой таблицы. Он используется для определения связей между таблицами.
Пример:
~~~
CREATE TABLE hoeren (
MatrNr INTEGER REFERENCES Studenten(MatrNr) ON DELETE CASCADE,
VorlNr INTEGER REFERENCES Vorlesungen(VorlNr) ON DELETE CASCADE,
PRIMARY KEY (MatrNr, VorlNr)
);
~~~

25
Q

Welche Maßnahmen können ergriffen werden, wenn Integritätsbedingungen verletzt werden?

A

1) По умолчанию операция отклоняется.
2) Изменения могут быть распространены (Cascade).
3) Ссылки могут быть установлены на NULL, если ограничение NOT NULL не активно

26
Q

Was passiert bei einem ON DELETE CASCADE?

A

При удалении записи с ссылкой на внешний ключ все зависимые записи автоматически удаляются.

27
Q

Welche Gefahr besteht beim kaskadierenden Löschen?

A

Могут возникнуть нежелательные побочные эффекты, такие как непреднамеренное удаление больших объемов связанных данных.

28
Q

Was passiert bei einer INSERT-Operation, wenn eine referenzierte Bedingung verletzt wird?

A

Операция отклоняется, если Referenced запись не существует.
Пример:
~~~
INSERT INTO Vorlesungen (vorlnr, titel, sws, gelesenvon)
VALUES (1234, ‘Quantencomputing’, 4, 9999);
~~~

29
Q

Wie wird referentielle Integrität bei einer UPDATE-Operation gewährleistet?

A

По умолчанию: Операция отклоняется, если записи внешнего ключа становятся недействительными.
Альтернативы: ON UPDATE CASCADE или ON UPDATE SET NULL.

30
Q

Was passiert, wenn ein Datensatz gelöscht wird, auf den ein Fremdschlüssel verweist??

A

По умолчанию: Удаление блокируется.
С ON DELETE CASCADE: Связанные записи также удаляются.
С ON DELETE SET NULL: Записи внешнего ключа устанавливаются на NULL.

31
Q

Warum wird ein UPDATE abgelehnt, wenn Primärschlüsselreferenzen betroffen sind?

A

Если первичный ключ изменяется, все ссылки внешнего ключа станут недействительными. Без ON UPDATE CASCADE изменение отклоняется.

32
Q

Welche SQL-Konstruktion verhindert unerwartete Datenlöschungen?

A

Конструкция ON DELETE RESTRICT предотвращает удаление записи, если на нее есть ссылки.

33
Q

Wie wird referentielle Integrität bei INSERT geprüft?

A

Проверяется существование Referenced ключа.

34
Q

Wie wird referentielle Integrität bei DELETE geprüft?

A

Проверяется наличие зависимых внешних ключей.

35
Q

Wie wird referentielle Integrität bei UPDATE geprüft?

A

Проверяется влияние изменений на ссылки внешних ключей.

36
Q

Was ist Relationale Algebra und wofür wird sie verwendet?

A

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

37
Q

Was bedeutet das Prinzip der “Abgeschlossenheit” в der Relationalen Algebra?

A

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

38
Q

Was ist der Unterschied zwischen Projektion(π) und Selektion(σ)?

A

Проекция (π) выбирает определенные столбцы (атрибуты) отношения, в то время как селекция (σ) выбирает определенные строки (кортежи) отношения на основе условий.

39
Q

Wie wird eine Projektion in der Relationalen Algebra geschrieben, und was macht sie?

A

Проекция записывается как π имя_атрибутов(имя_отношения). Она извлекает специфические атрибуты отношения и автоматически удаляет дубликаты.

40
Q

Warum kennt die Relationale Algebra keine Duplikate, im Gegensatz zu SQL?

A

В реляционной алгебре отношения определяются как множества, которые по определению не содержат дубликатов. SQL-таблицы, напротив, допускают дубликаты для обеспечения эффективности.

41
Q

Was ist ein kartesisches Produkt (×) und wofür wird es verwendet?

A

Декартово произведение комбинирует каждую строку одного отношения с каждой строкой другого отношения. Часто используется как промежуточный шаг при выполнении соединений.

42
Q

Was unterscheidet einen Join von einem kartesischen Produkt?

A

Соединение является расширенной формой декартова произведения, при которой дополнительно устанавливаются условия, которые должны выполнять объединяемые кортежи.

43
Q

Wie unterscheidet sich die Duplikatbehandlung in SQL und der Relationalen Algebra?

A

В SQL дубликаты должны быть явно устранены (например, через DISTINCT). В реляционной алгебре они удаляются автоматически.

44
Q

Was ist der Zweck der Selektion in der relationalen Algebra?

A

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

45
Q

Was ist eine Projektion in der relationalen Algebra?

A

Проекция выбирает определенные атрибуты из отношения и удаляет остальные.

46
Q

Warum wird das kartesische Produkt oft durch den Join-Operator ersetzt?

A

Декартово произведение создает большие промежуточные результаты. Оператор соединения уменьшает их, применяя условие к парам. Пример: Все возможные комбинации кортежей из “Преподавателей” и “Лекций”.

47
Q

Wie kombiniert man Selektion und Projektion in einer Anfrage?

A

SELECT name, MatrNr FROM Studenten WHERE Semester > 6

48
Q

Was bedeutet Schemagleichheit, und warum ist sie wichtig?

A

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

49
Q

Wie wird die Vereinigung in der Relationalen Algebra definiert?

A

Объединение комбинирует все кортежи из двух реляций с одинаковой схемой, при этом исключая повторяющиеся кортежи: {R1 ∪ R2} Соответствует в SQL команде UNION.

50
Q

Was macht der Operator “Differenz”?

A

Оператор разности (A - B) выдает все кортежи из реляции A, которые не встречаются в реляции B. Обе реляции должны иметь одинаковую схему.