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

Билет №1

  1. Даталогическое моделирование

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

  1. Корректировка данных в SQL.

Хотя SQL первоначально создавался как язык запросов, в настоящее время он является комплексным языком запросов-обновлений. Кроме оператора SELECT, позволяющего проводить отбор данных, SQL включает в себя операторы корректировки БД: включение новой записи (INSERT), обновление отдельных полей (UPDATE), удаление записи или группы записей (DELETE).

Операторы языка манипулирования данными SQL могут использоваться как самостоятельно, так и совместно с операторами других языков манипулирования данными.

  1. Задача. Построить модель в ERWin.

Билет №2

  1. Особенности проектирования бд

Современные объемы хранимых данных, обязательные требования к их доступности и скорости обработки, динамика развития систем обуславливают важность исследования факторов, влияющих на качество баз данных (БД), лежащих в основе современных информационных систем. Обычно жизненный цикл БД включает в себя этапы концептуального и логического проектирования, разработки, сопровождения и развития. Рассмотрим каждый этап. На этапе концептуального проектирования анализируются свойства и характеристики исследуемой предметной области и формируются канонические структуры баз данных, обычно представляемые в виде графов, узлами которых являются объекты предметной области, а дугами - отношения между ними. Для описания канонической структуры базы данных используются разные технологии и инструментальные средства, например rational rose и реализованная в нем нотация uml (unified modeling language - унифицированный язык моделирования). uml обеспечивает описание предметной области на наиболее естественном языке: как классы, объекты и отношения между ними. Язык описания предметной области на данном этапе крайне важен: проектировщик анализирует и моделирует ее в обязательном контакте с пользователями, большинство из которых не являются техническими специалистами, поэтому для корректной интерпретации моделей язык их описания должен быть простым и понятным. На данном этапе моделирование осуществляется без привязки к конкретной СУБД. На следующем этапе каноническая структура преобразуется в логическую структуру баз данных, которая учитывает ограничения выбранной СУБД. Рассмотрим особенности построения логических структур для объектно-ориентированных и реляционных СУБД. Известно, что реляционные базы данных представляют собой множество двумерных таблиц и отношений между ними, задаваемых структурой внешних ключей. Каноническая структура часто содержит сложные объекты и связи - как межобъектные, так и внутриобъектные (сложные типы данных). Поэтому процесс проектирования логических структур баз данных реляционного типа сводится к следующей последовательности операций: анализ предметной области и выделение базовых типов сущностей, нормализация типов сущностей и формирование логических записей, установление связей между записями. Несмотря на формальную строгость методов проектирования реляционных баз данных, им присущ ряд недостатков. При построении информационных систем, использующих большое число информационных элементов, логические структуры БД для данных систем ввиду многочисленных многозначных зависимостей между данными могут состоять из десятков и даже сотен таблиц, что делает такие БД плохо обозримыми и управляемыми. Более того, за счет разбиения объектов предметной области на плоские нормализованные отношения теряется семантика исследуемой предметной области, что усложняет сопровождение и модернизацию систем. Данные методы не позволяют также адекватно моделировать отдельные свойства данных. Для адекватного моделирования сложных структур данных проектировщик должен иметь возможность определять свои типы данных, не ограничиваясь теми данными, которые предоставляются определенной реляционной СУБД. Реляционная модель не позволяет также определить набор операций, связанных с данными определенного типа, что часто является естественным требованием при моделировании объектов предметной области. Операции приходится задавать в конкретном приложении. Поэтому использование таких методов проектирования требует высокой квалификации проектировщиков.

  1. Табличные языки запросов. Работа с вычисляемыми полями. Использование агрегирующих функций.

В современных СУБД широко используются табличные языки запросов. Наиболее распространенным среди них является язык QBE (Query-By-Example - запрос по примеру). Язык QBE предназначен для работы в интерактивном режиме и ориентирован на конечного пользователя. Язык QBE реализован во многих современных СУБД, например в dBase IV и более старших версиях этой системы, Paradox, Access и др. Конкретные реализации этого языка несколько отличаются друг от друга, но все они построены по единому принципу.

Суть подхода, воплощенного в языке QBE, заключается в следующем. В окне формирования запроса выделяются две зоны. В первой из них высвечивается «скелет» (образ, форма, структура) одной или нескольких таблиц, данные из которых будут участвовать в запросе. В качестве исходных для запроса могут указываться не только базовые таблицы, но и другие запросы.

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

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

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

Агрегирующие функции производят вычисление одного «собирающего» значения (суммы, среднего, максимального, минимального значения и т. п.) для заданных групп строк таблицы. Группы строк определяются различными значениями заданного поля (полей) таблицы. Разбиение на группы выполняется с помощью предложения group by.

Рассмотрим перечень агрегирующих функций.

-  count определяет количество записей данного поля в группе строк.

- sum вычисляет арифметическую сумму всех выбранных значений данного поля.

- avg рассчитывает арифметическое среднее (усреднение) всех выбранных значений данного поля.

- max находит наибольшее из всех выбранных значений данного поля.

- min находит наименьшее из всех выбранных значений данного поля.

  1. Задача. Построить модель в ERWin

Билет №3

  1. Этапы проектирования баз данных. Краткая характеристика.

Начальным шагом проектирования ИС является построение инфологической модели предметной области. Предварительная инфологическая модель строится еще на

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

Затем на ее основе строится даталогическая модель. Физическая и внешняя модель после

этого могут строиться в любой последовательности по отношению друг к другу, в том

числе и параллельно.

При этом возможны два вида возвратов: первый тип обусловлен необходимостью пересмотра резуль-

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

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

  1. Общая структура команды Select языка SQL.

SELECT (англ., означает «выбрать») — оператор DML языка SQL, возвращающий набор данных (выборку) из базы данных, удовлетворяющих заданному условию.

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

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

Предложение SELECT может использоваться как:

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

  • элемент WHERE- или HAVING-условия ("вложенный запрос");

  • фраза выбора в командах CREAT VIEW, DECLARE CURSOR или INSERT;

  • средство присвоения глобальным переменным значений из строк сформированной таблицы (INTO-фраза).

Формат запроса с использованием данного оператора:

SELECT список полей FROM список таблиц WHERE условия…

Основные ключевые слова, относящиеся к запросу SELECT:

  • WHERE — используется для определения, какие строки должны быть выбраны или включены в GROUP BY.

  • GROUP BY — используется для объединения строк с общими значениями в элементы меньшего набора строк.

  • HAVING — используется для определения, какие строки после GROUP BY должны быть выбраны.

  • ORDER BY — используется для определения, какие столбцы используются для сортировки результирующего набора данных.

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