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

Билет №21.

1.Простые объекты и их свойства

Разновидности свойств:

1.      Единичные свойства — свойства, в каждый времени имеющие одно значение.

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

3.      Статические свойства — свойства, которые не изменяют своих значений в течение всего времени существования объекта (S).

4.      Динамические свойства — свойства, которые могут изменять свои значения в течение времени существования объекта (D).

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

Отображение в реляционной модели Первым ключевым моментом является представление данных конкретного экземпляра объекта в виде кортежа(ей) реляционного отношения(ий). При этом каждому атрибуту базового типа в описании класса соответствует один атрибут реляционной таблице. Каждый объект идентифицируется своим уникальным объектным идентификатором. Реально для этой цели можно использовать столбец типа длинного целого числа. Данный столбец будет выполнять функции первичного ключа в соответствующей таблице класса. А связи между объектами выражаются в виде реляционных внешних ключей, так же как и простые односторонние ссылки на другие объекты.  2. SQL (англ. Structured Query Language — «язык структурированных запросов») — универсальный компьютерный информационно-логический язык, появившийся в результате разработки реляционной модели данных, предназначен для выполнения операций над таблицами (создание, удаление, изменение структуры) и над данными таблиц (выборка, изменение, добавление и удаление), а также некоторых сопутствующих операций. SQL является непроцедурным языком и не содержит операторов управления, организации подпрограмм, ввода-вывода и т. п. В связи с этим SQL автономно не используется, обычно он погружен в среду встроенного языка программирования СУБД. Основным назначением языка SQL (как и других языков для работы с базами данных) является подготовка и выполнение запросов. В результате выборки данных из одной или нескольких таблиц может быть получено множество записей, называемое представлением. Для удобства работы с представлениями в язык SQL введено понятие курсора. Курсор представляет собой своеобразный указатель, используемый для перемещения по наборам записей при их обработке.

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

3.

Задача.

База данных содержит таблицы:

CENNIK (KODMAT, NAIMMAT, CENA)

POSTAVKA (KODMAT, KODPOST, DATAP, KOLV)

SPPOSTAV (KODPOST, NAIMPOST),

где:

KODMAT – код материала

NAIMMAT – наименование материала

CENA – цена

KODPOST – код поставщика

NAIMPOST – наименование поставщика

DATAP – дата поставки

KOLV – количество.

Сколько поставок чугуна было в 2003 г. произведено заводом “Серп и молот” (SQL).

select sum(KOLV)as [Количество] FROM POSTAVKA

INNER JOIN Cennik ON Cennik.KODMAT=POSTAVKA.KODMAT

INNER JOIN SPPOSTAV ON SPPOSTAV.KODPOST=POSTAVKA.KODPOST

WHERE NAIMMAT='чугун' and NAIMPOST='Серп и молот' and year(DATAP)=2003

Билет №28.

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

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

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

Другой критерий выбора первичного ключа — сохранение уникальности со временем.

2. Вложенным запросом называется запрос, помещаемый в инструкцию SELECT, INSERT, UPDATE или DELETE или в другой вложенный запрос. Подзапрос может быть использован везде, где разрешены выражения. Вложенный запрос — оператор SELECT, заключенный в круглые скобки, и используемый в предложениях WHERE или HAVING.

Отличия:

1.      таблица результатов вложенного запроса всегда состоит из 1-го столбца. Список возвращаемых столбцов во вложенном запросе всегда должен иметь только 1 элемент.

2.      во вложенный запрос не может входить предложение ORDER BY для экономии времени.

3.      вложенный запрос не может быть запросом на объединение нескольких различных операторов SELECT.

4.      особенность: имена столбцов используемых во вложенном запросе могут являться ссылками на столбцы главного или внешнего запроса.

Пример:

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

SELECT NOM, FIO FROM PERSON

WHERE SUMD < (SELECT MAX(MONEYS) FROM PROFIT).

3.

Задача.

База данных содержит таблицы:

Студент (номер_зачетки, фио, ......)

Успеваемость (номер_зачетки, код_предмета, оценка, ....).

Выдать список студентов с указанием среднего балла для каждого из них (SQL).

select Surname,Name,Patronymic,cast(avg(Mark) as numeric(1,0)) as [Average mark] from student

inner join Progress on Progress.NumberZach=Student.NumberZach

group by surname,name,Patronymic

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