Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД.docx
Скачиваний:
61
Добавлен:
26.03.2016
Размер:
5.1 Mб
Скачать

8.3) Задача

select AVG(Table2.Kolv) from

(select * from

(select Postavka.KodMat, Postavka.Kolv, Cennic.NaimMat from Postavka inner join Cennic

on Postavka.KodMat=Cennic.KodMat) as Table1 where Table1.NaimMat='чугун') as Table2

Билет №9

1)

2) Построить ER-модель. Предметной областью является общеобразовательная школа.

Необходимо отразить текущую, четвертную и годовую успеваемость каждого учащегося, а также

сведения о его посещаемости

2) Реляционные базы данных: достоинства и недостатки.

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

Реляционная модель данных – позволяет представлять информацию о предметной области

С помощью взаимосвязанных таблиц.

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

 

Достоинства

Недостатки

        Эта модель данных отображает информацию в наиболее простой для пользователя форме

        Основана на развитом математи-ческом аппарате, который позволяет достаточно лаконично описать основные операции над данными.

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

        Манипулирование данными на уровне выходной БД и возможность изменения.

        Самый медленный доступ к данным.

        Трудоемкость разработки

 

Достоинства реляционной модели:

  • простота и доступность для понимания пользователем. Единственной используемой информационной конструкцией является "таблица";

  • строгие правила проектирования, базирующиеся на математическом аппарате;

  • полная независимость данных. Изменения в прикладной программе при изменении реляционной БД минимальны;

  • для организации запросов и написания прикладного ПО нет необходимости знать конкретную организацию БД во внешней памяти.

Недостатки реляционной модели:

  • далеко не всегда предметная область может быть представлена в виде "таблиц";

  • в результате логического проектирования появляется множество "таблиц". Это приводит к трудности понимания структуры данных;

  • БД занимает относительно много внешней памяти;

  • относительно низкая скорость доступа к данным.

Билет №10

  1. Ограничения целостности. Понятие и классификация.

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

При построении ER-модели в ERWin можно задавать ограничения целостности.

Обязательный атрибут

Для атрибута можно задавать свойство «Required» (обязательный). Для тех атрибутов, которые выбраны в качестве первичного ключа, это свойство является неактивным, поскольку свойство обязательности и так (по определению ключа) присуще элементам ключа. Свойство «Required» следует задать для атрибутов «Фамилия», «Имя», «Отчество» объекта СОТРУДНИК, «Наименование предмета полное» объекта ПРЕДМЕТ и некоторых других атрибутов. Задание этого свойства будет означать, что при вводе данных в БД недопустимо пустое значение соответствующего поля.

Ограничения целостности связи

При описании связи можно задать ограничения целостности связи. Для этого следует воспользоваться вкладкой RI Actions в окне редактора связей (Relationship Editor). В этой секции для каждой связи можно задать действия, которые будут выполняться при удалении (Delete), вставке (Insert) и обновлении (Update) как порожденной (Child), так и родительской (Parent) сущности.

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

CASCADE (каскад), SET DEFAULT(значение по умолчанию).

·    NONE - действие не оказывает влияния на связанные записи;

·        RESTRICT - действие запрещено (при определенных условиях);

·        CASCADE - действие вызывает изменения в связанных записях;

·        SET DEFAULT - устанавливается значение по умолчанию для поля связи;

·        SET Null - устанавливается по умолчанию значение Null для поля связи.

Триггер ссылочной целостности

Для обеспечения ссылочной целостности может быть создан особый вид триггера - триггер ссылочной целостности. По умолчанию ERWin генерирует триггеры, обеспечивающие контроль ссылочной целостности для каждой связи, определенной в ER-модели.

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

  1. SQL. Предложения GROUP BY и HAVING.

Предложение GROUP BY. Оно используется для определения групп выходных строк, к которым могут применяться те или иные агрегатные функции. Предложение GROUP BY всегда используется со встроенными агрегатными функциями. Обратное утверждение наверно. Агрегатные функции могут использоваться в предложениях SELECT, HAVING. Если агрегатные функции используются без предложения GROUP BY, то они будут применяться ко всему набору строк, удовлетворяющему условию запроса. Конструкция GROUP BY работает только на одном уровне. Нельзя разбить каждую из этих групп на группы более низкого уровня, а затем применять стандартную функцию на каждом уровне подчиненности.

Фраза GROUP BY означает логическую перекомпоновку (группировку) таблицы по указанной колонке (колонкам). Физически таблицы в базе данных не перекомпоновываются. Логика выполнения запроса при использовании GROUP BY несколько отличается от реализации обычного запроса. Фраза SELECT при использовании GROUP BY применяется к каждой группе, а не к каждой строке, как обычно.

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

Предложение HAVING. Вместе с GROUP BY может использоваться фраза HAVING, которая для групп имеет то же значение, что и фраза WHERE - для строк.

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

SELECT codmat

FROM post

GROOUP BY codmat

HAVING COUNT(*)>1;

Выражение во фразе HAVING должно принимать единственное значение для группы. Формат COUNT(*) означает подсчет всех строк таблицы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]