Санкт-Петербургский государственный университет
Факультет прикладной математики — процессов управления
Кафедра моделирования экономических систем
Третий курс, осенний семестр 2011.
Специальный семинар
Компьютерные средства для экономических задач
Расписание
Суббота с 13:00 до 16:00 (без перерывов). Компьютерный класс 469.
Домашние задания
Домашнее задание на 3 декабря
-
Разделить всех сотрудников из базы данных AdventureWorksDW,
обслуживавших сделки, на три подмножества
по отношению к тому, на каких территориях они обслуживали сделки:
- только на «своей»,
- только на «не своих»,
- и на «своей» и на «не своих»,
посчитать отдельно, сколько сотрудников в каждом из этих подмножеств.
-
Посчитать количество сделок в каждой валюте, упорядочив данные
в итоговой таблице в порядке убывания количества сделок.
-
Воспользовавшись предыдущим запросом вывести отдельно
валюту, в которой заключено наибольшее число сделок, и
валюту, в которой заключено наименьшее число сделок.
Домашнее задание на 26 ноября
-
Посчитать отдельно, сколько сотрудников обслуживали сделки на
«своей» и на «не своей» территории
о таблицам базы данных AdventureWorksDW.
-
Разделить всех сотрудников из базы данных AdventureWorksDW,
обслуживавших сделки, на три подмножества
по отношению к тому, на каких территориях они обслуживали сделки:
- только на «своей»,
- только на «не своих»,
- и на «своей» и на «не своих»,
посчитать отдельно, сколько сотрудников в каждом из этих подмножеств.
Домашнее задание на 19 ноября
-
Посчитать общее число сделок для каждой территории
по таблице FactResellerSales базы данных AdventureWorksDW.
(Для тех, кто не успел в классе)
-
Добавить к предыдущему запросу таблицу DimSalesTerritory,
и вывести в итоговой таблице кроме номера территории её название
и страну, в которой территория находится.
(Для тех, кто не успел в классе)
-
Посчитать общую сумму сделок, заключённых в долларах США,
для каждой территории
по таблицам базы данных AdventureWorksDW.
Домашнее задание на 12 ноября
-
Посчитать число одиноких и семейных работающих сотрудников
по таблице DimEmployee базы данных AdventureWorksDW.
-
Посчитать число полных лет каждого из сотрудников
по таблице DimEmployee базы данных AdventureWorksDW.
-
Выполнить запросы, указанные в
примерах
к базе данных AdventureWorksDW.
Краткий обзор изученных тем
Реляционные базы данных
Вопросы для повторения
- Отличия баз данных от наборов файлов с даннными
- Особенности реляционных баз данных
- Особенности реляционных таблиц
- Подготовка к созданию базы данных
- Анализ предметной области и назначения базы
- Выделение значимых сущностей (объектов)
- Определение отношений между сущностями
- Создание базы данных в СУБД OpenOffice Base
- Создание таблицы в базе данных с помощью визуального интерфейса СУБД OpenOffice Base
- Типы данных полей таблицы
- Ключевые поля (первичный ключ)
- Обязательные и необязательные поля
- Связи между таблицами (внешние ключи)
- Создание и выполнение запроса с помощью визуального интерфейса СУБД OpenOffice Base
- Выбор полей для выходной таблицы
- Условия, накладываемые на значения полей
- Сравнение строковых значений
- Логические операции над условиями
- Групповые функции
- Запросы с несколькими таблицами. Связи таблиц в запросе.
- Алгоритм выполнения запроса
- Внесение изменений в базу данных
- Создание новых полей в существующей таблице
- Создание новой таблицы
- Связи между таблицами (внешние ключи)
- Обеспечение целостности данных путём описания и сохранения связей в базе
-
Нормальные формы таблиц
- Первая нормальная форма
- Вторая нормальная форма
- Третья нормальная форма
- Третья усиленная нормальная форма Бойса-Кодда
- Четвёртая нормальная форма
- Пятая нормальная форма
Энциклопедия OpenOffice.org
Таблица встроенных функций
Язык SQL
Вопросы для повторения
- Простой запрос
SELECT
- Неповторяющиеся данные
DISTINCT
- Псевдонимы
AS
- Внутренняя связь таблиц
INNER JOIN
- Поля связи
ON
- Условие
WHERE, IN, <, >, <>, =, OR, AND, LIKE, BETWEEN
- Переупорядочивание (сортировка)
ORDER BY
- Группировка
GROUP BY
- Групповые (агрегатные) функции
COUNT(), MIN(), MAX(), AVG(), SUM()
- Условие на выходе
HAVING
- Вычисление на выходе
COUNT
- Объединение итоговых таблиц
UNION
- Обявление временной переменной
DECLARE
- Сохранение результатов запроса во временной таблице. Тип
TABLE
- Запросы на добавление записей
INSERT...SELECT
и INSERT...VALUES
.
- Запросы на правку записей
UPDATE
- Запросы на удаление записей
DELETE
- Временные переменные. Присваивание значений переменным
SET
- Вложенный запрос в блоке
SELECT
.
- Использование одной и той же таблицы во внутреннем и внешнем запросе
.
База данных AdventureWorksDW
Загрузить
Руководство по установке
- Загрузить файл AdventureWorksDW.zip
- Распаковать архив
- Переписать файлы AdventureWorksDW_Data.mdf и AdventureWorksDW_Log.LDF
в папку C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data.
- Открыть Microsoft Management Studio
- Установить связь с сервером баз данных
- В левом окне открыть сервер, выбрать DataBases,
правой кнопкой мыши выбрать Attach
- Найти файл AdventureWorksDW_Data.mdf и нажать OK и ещё раз ОК
Схемы связей в базе данных AdventureWorksDW
Связи таблицы DimProduct
Связи таблицы FactResellerSales
Связи таблицы FactInternetSales
Связи таблицы DimCurrency
Примеры запросов
СУБД OpenOffice Base
Примеры запросов
СУБД Microsoft Access
Примеры запросов
СУБД Microsoft SQL Server
Количество продаж товаров по месяцам
Старейший сотрудник
Поиск однофамильцев среди сотрудников
Добавление, правка, удаление записей в таблицу
Территория продаж распространителей
Территории продаж сотрудников
Вычисление разности курсов валют
Курсы каких валют и за сколько дней представлены
Выборка работников с общим числом продаж меньше половины среднего
Выборка работников со среднемесячным числом продаж меньше половины среднего
Поиск максимумов курса валюты с использованием цикла
Поиск максимумов курса валюты с использованием дополнительных таблиц
Поиск максимумов курса валюты в одном запросе
Пример выполнения задания
Литература
Пушников А.Ю.
ВВЕДЕНИЕ В СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ
Загрузить
Зеленков Ю.А.
ВВЕДЕНИЕ В БАЗЫ ДАННЫХ