321

321

312

Билет 1

1.    Модель "сущностьсвязь" ... Часто ее называют ER-моделью (Entity – сущность, Relation –связь). В ней моделирование структуры данных предметной области базируется на использовании графических средств – ER-диаграмм (диаграмм "сущностьсвязь"). В наглядном виде они представляют связи между сущностями. Типы сущеностей – Int,time,Date(?). Типы связей: 1X1, 1Xм,мXм. Ключи – мин. Набор атрибутов,по значению которых можно отличить экземпляры. Бывают первичные, потенц и внешние.

2.    Блокировка (англ. lock) в СУБД — отметка о захвате объекта транзакцией в ограниченный или исключительный доступ с целью предотвращения коллизий и поддержания целостности данных.

Управление параллельным доступом с помощью многоверсионности (англ. MVCC — MultiVersion Concurrency Control) — один из механизмов обеспечения параллельного доступа к БД, заключающийся в предоставлении каждому пользователю так называемого «снимка» БД, обладающего тем свойством, что вносимые пользователем изменения в БД невидимы другим пользователям до момента фиксации транзакции. Этот способ управления позволяет добиться того, что пишущие транзакции не блокируют читающих, и читающие транзакции не блокируют пишущих.



Билет 2

1.    БД – совмест. Использ, интегрированный набор логически связанных данных, хранящихся вместе с их описанием. Части БД: сущности, атрибуты, связи

2.    Уровни изоляции: SERIALIZABLE ,REPEATABLE READ, READ COMMITTED, READ UNCOMMITTED


Билет 3

1.    Примеры правил: вес детали должен быть положительным; количество знаков в телефонном номере не должно превышать 15; возраст родителей не может быть меньше возраста их биологического ребёнка и т. д.

2.    Транза́кція (англ. transaction) — група послідовних операцій з базою даних, яка є логічною одиницею роботи з даними. Транзакція може бути виконана або цілком і успішно, дотримуючись цілісності даних і незалежно від інших транзакцій, що йдуть паралельно, або не виконана зовсім, і тоді вона не може справити ніякого ефекту.


Билет 4


1.    Реляционная база данных — база данных, основанная на реляционной модели данных.(Отношения, зависимость, связь) . Домен – множество допуст. Знач. Атрибута, отношение – заголовок, кортеж – строка таблицы. Потенциальный ключ — в реляционной модели данных — подмножество атрибутов отношения, удовлетворяющее требованиям уникальности и минимальности 

Перви́чный ключ (англ. primary key) — в реляционной модели данных один из потенциальных ключей отношения, выбранный в качестве основного ключа 

2.    Атомарная (атом от греч. atomos — неделимое) операция — операция, которая либо выполняется целиком, либо не выполняется вовсе; операция, которая не может быть частично выполнена и частично не выполнена.

Билет 5

1.    Ключи: Первичные, потенциальные,внешние


2.    SQL SELECT INTO - данный запрос может быть использован для создания резервной копии таблицы.

Запрос SELECT INTO выбирает данные из одной таблицы и вставляет в другую.

ХОСТ-ПЕРЕМЕННЫЕ используются для передачи данных из

хост-программы в блок PL/SQL и для передачи данных и информации

состояния из блока PL/SQL в хост-программу. Как хост-язык, так

и PL/SQL могут устанавливать и обращаться к значению

хост-переменной.


Билет 6


1.    Реляционная алгебра — замкнутая система операций над отношениями в реляционной модели данных. Операции реляционной алгебры также называют реляционными операциями.


Операции реляционной алгебры

·        3.1Переименование

·        3.2Объединение

·        3.3Пересечение

·        3.4Вычитание

·        3.5Декартово произведение

·        3.6Выборка (ограничение)

·        3.7Проекция

·        3.8Соединение

·        3.9Деление

2.    

Билет 7

1.    1. Реляционная алгебра — замкнутая система операций над отношениями в реляционной модели данных. Операции реляционной алгебры также называют реляционными операциями.


2.    Курсор в SQL – это область в памяти базы данных, которая предназначена для хранения последнего оператора SQL. Если текущий оператор – запрос к базе данных, в памяти сохраняется и строка данных запроса, называемая текущим значением, или текущей строкой курсора. Указанная область в памяти поименована и доступна для прикладных программ. Встроенный SQL - http://bourabai.kz/dbt/dbms/12.htm


Билет 8

1.    Квантор EXISTS (существует) - понятие, заимствованное из формальной логики. В языке SQL предикат с квантором существования представляется выражением EXISTS (SELECT * FROM ...).

2.    UPDATE — оператор языка SQL, позволяющий обновить значения в заданных столбцах таблицы.

DELETE — в языках, подобных SQLDML-операция удаления записей из таблицы. Критерий отбора записей для удаления определяется выражением where. В случае, если критерий отбора не определён, выполняется удаление всех записей.

Билет 9

1.    Проектирование баз данных — процесс создания схемы базы данных и определения необходимых ограничений целостности.

Основные задачи:

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

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

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

·        Обеспечение целостности базы данных.

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

Функциона́льная зави́симость — бинарное отношение между множествами атрибутов данного отношения и является, по сути, связью типа «один ко многим». Её использование обусловлено тем, что они позволяют формально и строго решить многие проблемы.

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

2.    

Билет 10

1.    Проектирование баз данных — процесс создания схемы базы данных и определения необходимых ограничений целостности.

Основные задачи:

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

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

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

·        Обеспечение целостности базы данных.

Нормализация – это разбиение таблицы на несколько, обладающих лучшими свойствами при обновлении, включении и удалении данных. Теперь можно дать и другое определение: нормализация – это процесс последовательной замены таблицы ее полными декомпозициями до тех пор, пока все они не будут находиться в 5НФ.

2.    Характеристика SQL - https://studopedia.org/13-66891.html





Билет 11

1.    SQL (ˈɛsˈkjuˈɛlангл. structured query language — «язык структурированных запросов») — декларативный язык программирования, применяемый для создания, модификации и управления данными в реляционной базе данных, управляемой соответствующей системой управления базами данных.

Типы данных в SQL : DATE, TIME, INT , BIGINT,FLOAT,BIT,MONEY…

CREATE TABLE table_name (

   column1 datatype,

   column2 datatype,

   column3 datatype,

  ....

);

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

Права:

CONNECT

Предусматривает право входить в систему и создавать представления и синонимы (синоним – альтернативное имя таблицы), если речь идет об объектных привилегиях. Пользователь может работать с объектами, к которым он имеет привилегии по доступу

RESOURCE

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

DBA

(Database Administrator) – разрешает пользователю выполнять действия администратора базы данных, т.е. распоряжаться ею как своей собственной.

Команда GRANT используется для назначения привилегий пользователям.

Передача привилегий не ограничивается передачей единственной привилегии единственному пользователю с помощью одной команды GRANT. Допустимы списки привилегий и/или пользователей с элементами, разделенными запятыми:

GRANT SELECT, INSERT ON Student TO P2;

GRANT SELECT, INSERT ON Student TO P2, Р3;

С помощью команды REVOKE осуществляется отмена привилегий, синтаксис команды REVOKE аналогичен синтаксису команды GRANT.

Пример 1. Отмена привилегии CREATE TABLE на создание таблиц в базе данных у пользователя user

REVOKE CREATE TABLE FROM user;






Билет 12



1.    SQL (ˈɛsˈkjuˈɛlангл. structured query language — «язык структурированных запросов») — декларативный язык программирования, применяемый для создания, модификации и управления данными в реляционной базе данных, управляемой соответствующей системой управления базами данных.

Декларативные ограничения объявляются с использованием операторов DDL create table и alter table. Они могут быть ограничениями на уровне столбца и ограничениями на уровне таблицы. Ограничения на уровне столбца вместе с типом данных и другими свойствами столбца помещаются в объявление столбца, в то время как ограничения на уровне таблицы всегда размещаются в конце операторов create table или alter table после объявления всех столбцов.

·        Каждое декларативное ограничение имеет имя. Имя ограничения может быть задано явно с использованием опции constraint в операторе create table или alter table. Если опция constraint отсутствует, Database Engine присваивает неявное имя этому ограничению.

·        Все декларативные ограничения могут быть разделены на несколько групп:

·        ♦ предложение default;

·        ♦ предложение unique;

·        ♦ предложение primary key;

·        ♦ предложение check;

·        ♦ предложение foreign key и ссылочную целостность.

2. Для чтения данных из таблиц и классов объектов (собирательно называемых наборами данных) в многопользовательской базе геоданных можно использовать встроенный SQL вашей системы управления базами данных (СУБД). SQL можно использовать также для вставки, удаления и обновления значений в простых наборах данных, хранящихся в вашей многопользовательской базе геоданных.

Билет 13

1.    SQL (ˈɛsˈkjuˈɛlангл. structured query language — «язык структурированных запросов») — декларативный язык программирования, применяемый для создания, модификации и управления данными в реляционной базе данных, управляемой соответствующей системой управления базами данных.

Одним из наиболее важных свойств является то, что СУБД должна, предоставлять способы поддержания целостности данных. Эти ограничения, которые используют проверку изменения и добавления данных, называются ограничениями целостности. Задача поддержания ограничений целостности может быть выполнена пользователем в программах приложения или системой управления базами данных. Наиболее важными преимуществами обработки ограничений целостности самой СУБД являются следующие:

♦ повышается надежность данных;

♦ уменьшается время на программирование;

♦ становится проще поддержка.

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

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

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

Существуют две группы ограничений целостности, обрабатываемых СУБД:

♦ декларативные ограничения целостности;

♦ процедурные ограничения целостности, которые обрабатываются триггерами (определение триггеров).

Декларативные ограничения объявляются с использованием операторов DDL create table и alter table. Они могут быть ограничениями на уровне столбца и ограничениями на уровне таблицы. Ограничения на уровне столбца вместе с типом данных и другими свойствами столбца помещаются в объявление столбца, в то время как ограничения на уровне таблицы всегда размещаются в конце операторов create table или alter table после объявления всех столбцов.

Каждое декларативное ограничение имеет имя. Имя ограничения может быть задано явно с использованием опции constraint в операторе create table или alter table. Если опция constraint отсутствует, Database Engine присваивает неявное имя этому ограничению.

Все декларативные ограничения могут быть разделены на несколько групп:

♦ предложение default;

♦ предложение unique;

♦ предложение primary key;

♦ предложение check;

♦ предложение foreign key и ссылочную целостность.

Определение значения по умолчанию с использованием предложения default было рассмотрено ранее В этом разделе (см. также пример 5.6). Все остальные ограничения подробно описываются в следующих разделаах.

2.    http://khpi-iip.mipk.kharkiv.edu/library/extent/dbms/sql/71.html


Билет 14

1.    SQL (ˈɛsˈkjuˈɛlангл. structured query language — «язык структурированных запросов») — декларативный язык программирования, применяемый для создания, модификации и управления данными в реляционной базе данных, управляемой соответствующей системой управления базами данных.


ОГРАНИЧЕНИЕ ТАБЛИЦ

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

ОБЪЯВЛЕНИЕ ОГРАНИЧЕНИЙ

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

 
      CREATE TABLE < table name > 
         (< column name >  < column constraint >, 
         < column name > < data type > < column constraint > ... 
         < table constraint > ( < column name > 
         [, < column name > ])... ); 

2. Три́ггер (англ. trigger) — хранимая процедура особого типа, которую пользователь не вызывает непосредственно, а исполнение которой обусловлено действием по модификации данных: добавлением INSERT, удалением DELETE строки в заданной таблице, или изменением UPDATE данных в определённом столбце заданной таблицы реляционной базы данных. Триггеры применяются для обеспечения целостности данных и реализации сложной бизнес-логики. Триггер запускается сервером автоматически при попытке изменения данных в таблице, с которой он связан. Все производимые им модификации данных рассматриваются как выполняемые в транзакции, в которой выполнено действие, вызвавшее срабатывание триггера. Соответственно, в случае обнаружения ошибки или нарушения целостности данных может произойти откат этой транзакции.

/* Триггер на уровне таблицы */
 CREATE OR REPLACE TRIGGER DistrictUpdatedTrigger
 AFTER UPDATE ON district
 BEGIN 
  insert into info values ('table "district" has changed');
 END;