Презентация методических материалов по курсу «Проектирование информационных экономических систем» Автор Шарипова Н.Н.

Презентация:



Advertisements
Похожие презентации
1 БАЗЫ ДАННЫХ Использование SQL для построения запросов. ЗАНЯТИЕ 6 ПУГАЧЁВ Ю.В. Учитель информатики Харьковская общеобразовательная школа І-ІІІ ступеней.
Advertisements

1 Лекция 6 Команды категории извлечения данных языка структурированных запросов SQL План лекции Выборка определенных столбцов таблицы Устранение избыточных.
БАЗЫ ДАННЫХ ЛЕКЦИЯ 12. тема: ОСНОВЫ ЯЗЫКА SQL Общие сведения SQL структурированный язык запросов (Structured Query Language)
СУБД Access Запросы Автор: Тутыгин В.С.. Назначение запросов Запросы обеспечивают простой доступ к определенному подмножеству записей одной или нескольких.
База данных База данных – это конкретная предметная область, описанная с помощью таблиц.
Тема 6. Технология разработки реляционной модели данных Вопросы 1.Объекты реляционных БД, терминология 2.Разработка структуры БД 3.Нормализация отношений.
1 БАЗЫ ДАННЫХ ЗАНЯТИЕ 5 ПУГАЧЁВ Ю.В. Учитель информатики Харьковская общеобразовательная школа І-ІІІ ступеней 60 Харьковского городского совета Харьковской.
История развития языка SQL Structured Query Language ɛ skju ɛ l ɛ skju ɛ l или si:kwəlsi:kwəl DML (Data Manipulation Language) DDL (Data Definition Language)
Языки манипулирования данными. Общая характеристика Язык, в котором можно (по крайней мере) моделировать исчисление с переменными- кортежами, либо, что.
Лекция 16 Лекция 16 Основы SQL. Описание отношений, доменов, ограничений целостности, представлений данных. Реализация операций реляционной алгебры в SQL.
ПРОЕКТ ОТКРЫТАЯ МЕДИЦИНА ТМ:Аналитик. 2 Назначение системы АИС ТМ:Аналитик Обработка Управление Интеграция данных, отражающих различные аспекты деятельности.
Информационные системы. Базы данных. Информационная система – любая система обработки информации (шир)
СУБД 5. SQL для выборки данных. 2 SELECT Обработка элементов оператора SELECT выполняется в следующей последовательности: FROM – определяются имена используемых.
1 Создание информационной модели Сущностная модель REA модель E-R диаграммы (ERD, ERM) Реляционная модель.
1 Создание информационной модели Сущностная модель REA модель E-R диаграммы (ERD, ERM) Реляционная модель.
Выражения унарные (унарный минус) арифметические (+, -, *, /) сравнения (, =, =, , LIKE, BETWEEN...) конкатенации (||) логические (NOT, AND, OR)
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
СУБД 7. Использование подзапросов в языке запросов SQL.
Язык SQL
Теория Курс пользователя типового реестра государственных и муниципальных услуг 1.
Транксрипт:

Презентация методических материалов по курсу «Проектирование информационных экономических систем» Автор Шарипова Н.Н.

Раздел 1. Тема 3 Первичные документы для складской деятельности: Требование, Расходная накладная, Счет-фактура.

НАКЛАДНАЯ ______от_________200_г Поставщик __________________ ИНН_______________ наименование Покупатель _________________ ИНН________________ наименование Склад ___________________ наименование Документ-основание ________________ от ____________200_г. номер документа Дата оплаты____________ Итого Сумма без НДС __________ НДС __________ Сумма всего _________ Отпустил _______________ _________________________ подпись ФИО материально-отв. лица Получил _______________ __________________________ подпись ФИО представителя покупателя Наименование товара Ед. измеренияСтавка НДС%Цена за Ед. (руб) Количество Без НДСндсВсего с НДС

СЧЕТ-ФАКТУРА (документ формируется на основании документа Расходная докладная) Счет-фактура __________________ от _________к документу _______________ Поставщик _____________________ Покупатель ____________________ Адрес: ________________________ Адрес: ________________________ Расчетный счет _______________ Расчетный счет _______________ В _____________________________ В _____________________________ БИК __________ Кор.счет __________ БИК __________ Кор.счет __________ Город ____________ ИНН ___________ Город ____________ ИНН __________ Грузоотправитель_________ Грузополучатель_________ (склад) Адрес ___________________________ Адрес _________________________ Всего __________________­______________ Руководитель предприятия ______________М.П. Гл.бухгалтер __________________ Получил ____________________________ Выдал ___________________________ (Фио представителя покупателя) (Фио отв. лица от продавца) Наименование товара Код товара Ед. измерения Ставка НДС% Цена за Ед. (руб) Количество Без НДСндсВсего с НДС

Раздел 2. Тема 1 Общая структура корпоративной ЭИС ЭИС Подсистема 1Подсистема 2Подсистема k Приложе ние 1 Приложе ние 2 Приложе ние 3 Приложе ние 4 Приложе ние 5 Приложе ние 6 Приложе ние 7 Приложе ние n БД

Основные иностранные ERP-системы, представленные на российском рынке

Основные российские ERP-системы, представленные на рынке

Функционально-структурная схема «Системы управления ПАРУС»

Раздел 3 Тема 1. Стадии жизненного цикла ИС в стандарте ISO/IES 15288

Раздел 3 Тема 2. Модель сложной системы Модель сложной системы Представление реализации Системный архитектор Программист Представление процесса функционирования Системный архитектор Системный аналитик Представление размещения компонентов Системный инженер Логическое представление Конечный пользователь Системный аналитик

Графические примитивы для диаграммы вариантов использования Актер Вариант Бизнес-сотрудник использования Оформлени е заказа на покупку товара

Диаграмма использования для розничноой продажи товаров по заказу Согласование условий оплаты Оформление заказа на покупку товара Заказ товара со склада Оформление заказа на покупку холодильника Предоставление каталога товаров

Диаграмма классов для логической модели по документу Требование ПРОДУКЦИЯ - Код_пр - Наим_пр - Ед_изм СКЛАД - Код_хр - Наим_скл - Секция ХРАНЕНИЕ - Код_пр - Код_хр - Цена ОПЕРАЦИЯ - Код_оп - Вид_оп Произвести ЗАКАЗЧИК - Код_зак - Наим_зак Счет ТРЕБОВАНИЕ - Ном_док - Код_хр - Код_зак - Дата_док - Код_оп Принять Закрыть ЗАКАЗ_ПО_ТРЕБОВАНИЮ - Ном_док - Код_пр - Колич_з

Раздел 4. Тема1. Уровни модели данных для БД

Трехуровневая архитектура БД Физическая модель БД Пользователь 1 Пользователь 2 Пользователь n ВНЕШНИЙ УРОВЕНЬ КОНЦЕПТУАЛЬНЫЙ УРОВЕНЬ ВНУТРЕННИЙ УРОВЕНЬ Представление n Представление 1Представление 2 Концептуальная схема

Общая классификация сущностей по методологии К. Дейта СУЩНОСТЬ СТЕРЖЕНЬ СВЯЗЬ ХАРАКТЕРИСТИКАОБОЗНАЧЕНИЕАССОЦИАЦИЯ

Графические примитивы ER-диаграмм - соединение - атрибут, - сущность или экземпляр сущности - ассоциация - характеристика - обозначение

Примеры ER-диаграмм НЕДВИЖИМОСТЬ Назначен налог ВИД НАЛОГА 1 1 КВАРТИРА ЖИЛЕЦ 1 М Прописка ЖИЛЕЦ КВАРТИРА 1 N Прописан в ТОВАРМАГАЗИН MN Поставка

ER-диаграмма для учебной ИС БЛЮДО СОСТАВ ПРОДУКТ ПОСТАВКА РЕЦЕПТ ГОРОД РЕАЛИЗАЦИЯ ПОСТАВЩИК N N M M MN11

Синтаксис Языка Инфологического Моделирования (ЯИМ) Сущность: E (A 1, A 2,…A N ) Ассоциация: R [E1S 1, E2S 2,…, EMS M ] (A 1, A 2,…, A K ) Характеристика: C (A1, A2,…) {E1} {E2}… Обозначение: N (A1, A2,…) [E1] [E2]… Здесь: E, E1, E2,…, EM – имена типов сущностей; R – имя ассоциации; C, N – соответственно имена характеристики или обозначения; E1, E2,… - имена целевых сущностей; A 1, A 2 … - атрибуты сущности или связи; S 1, S 2, …, S M – степени связи. Атрибуты, входящие в ключ, принято выделять или подчеркивать.

Описание на ЯИМ инфологической модели учебной БД Стержни. БЛЮДО (Код_бл, Назв_бл, Вид) ПРОДУКТ (Код_пр, Назв_пр, Калор) ГОРОД (Назв_города, Страна) Связи. ПОСТАВЩИК (Код_пос, ФИО, Назв_города) [ГОРОД] СОСТАВ [БЛЮДО N,ПРОДУКТ M](Код_бл, Код_пр, Вес(г)) ПОСТАВКА [ПОСТАВЩИК N, ПРОДУКТ M](Код_пос, Код_пр, Вес(кг), Цена, Дата_п) РЕЦЕПТ (Код_бл, Рецепт_бл) {БЛЮДО} РЕАЛИЗАЦИЯ (Код_бл, Колич, Дата_р) [БЛЮДО]

Раздел 4. Тема 2. Совокупность реляционных таблиц для учебной БД

Раздел 4. Тема 2. Универсальное отношение учебной БД

Раздел 4. Тема 3. Декомпозиция 1 для УО учебной БД

Процедура нормализации реляционной таблицы 1.Декларировать ФЗ, определить возможные ключи, выбрать PK. 2.Если есть ФЗ между неключевыми полями: Сформировать новые таблицы по правилу 2; 3.Если есть ФЗ от части составного ключа: Сформировать новые таблицы по правилу 1; 4.Если была произведена декомпозиция: a) Для таблицы, полученной из исходной путем удаления зависимых атрибутов произвести проверку РК на минимальность и, если нужно, его корректировку. b) Для каждой входящей в декомпозицию таблицы повторить пункты 2 – Если нужно, для каждой полученной таблицы: Ввести цифровой код PK.

Процедура проектирования РБД. 1.Представить каждый стержень в виде базовой таблицы, отведя для каждого его атрибута столбец, дать имена таблице и столбцам (обычно они совпадают с уже выбранными при проектировании инфологической модели!). Специфицировать PK для каждого стержня. 2.Представить каждую ассоциацию и характеристику базовой таблицей БД, отведя для каждого ее атрибута столбец, дать имена для каждой таблицы, а также: - Специфицировать внешние ключи (FK) как PK соответствующих целевых сущностей; - Специфицировать ограничения на каждый FK (три ограничения); - Специфицировать PK как FK и, может быть, еще некоторые дополнительные атрибуты. 3.Представить каждое обозначение как базовую таблицу, отведя для каждого ее атрибута столбец, дать имена, а также: - Специфицировать внешний ключ (FK) как PK целевой сущности; - Специфицировать ограничения на FK; - Специфицировать PK. 4.Выполнить для базовых таблиц процедуру нормализации до НФБК. 5.Если в процессе нормализации была проведена декомпозиция какой-либо таблицы, то следует: - Соответствующим образом модифицировать инфологическую модель; - Для новых или измененных сущностей повторить пункты 1) - 5). 6.Указать все ограничения целостности для проектируемой БД, в том числе группу ограничений целостности, определяемых проектировщиком для неключевых атрибутов, например, допустимые значения полей, диапазоны (доменные ограничения), уникальность значений, возможность NULL-значений и т. д. 7.Дать краткое описание полученных таблиц и их полей. Этот пункт не является обязательным, но весьма желателен и полезен, как комментарий.

Описание таблиц учебной РБД (слайды 27, 28, 29) Создать таблицу БЛЮДО --стержень Поля (Код_Бл Целое, Назв_Бл Текст(40) NULL-значения не допустимы, Вид Текст(15) NULL-значения не допустимы) Первичный ключ (Код_Бл) Ограничения (1.Значения Код_Бл должны быть уникальны, NULL-значения не допустимы. 2.Значения поля Вид должны принадлежать следующему набору={Закуска,Суп,Горячее,Десерт, Напиток}) Создать таблицу ПРОДУКТ --стержень Поля (Код_Пр Целое, Назв_Пр Текст(20) NULL-значения не допустимы, Калор Целое NULL-значения не допустимы) Первичный ключ (Код_Пр) Ограничения (1.Значения Код_Пр должны быть уникальны, NULL-значения не допустимы ) Создать таблицу ГОРОД --стержень Поля (Назв_города Текст(25), Страна Текст(15) NULL-значения не допустимы) Первичный ключ (Назв_города) Ограничения (1.Значения Назв_города должны быть уникальны, NULL-значения не допустимы.) Создать таблицу СОСТАВ --ассоциация-связь между БЛЮДО и ПРОДУКТ Поля (Код_Бл Целое, Код_Пр Целое, Вес(г) Целое) Первичный ключ (Код_Бл,Код_Пр) Внешний ключ (Код_Бл из БЛЮДО, NULL-значения не допустимы, On DELETE из БЛЮДО CASCADE, On UPDATE БЛЮДО.Код_Бл CASCADE) Внешний ключ (Код_Пр из ПРОДУКТ, NULL-значения не допустимы, On DELETE из ПРОДУКТ RESTRICT, On UPDATE ПРОДУКТ.Код_Пр CASCADE) Ограничения (1.Значения полей Код_Бл и Код_Пр должны принадлежать диапазонам значений из соответствующих полей таблиц БЛЮДО и ПРОДУКТ. 2. Значения поля Вес(г) должны лежать в следующем диапазоне:от 1г до 500г.)

Создать таблицу ПОСТАВЩИК --обозначение ГОРОД Поля (Код_Пос Целое, ФИО Текст(20) NULL-значения не допустимы, Назв_города Текст(25)) Первичный ключ (Код_Пос) Внешний ключ (Назв_города из ГОРОД, NULL-значения не допустимы, On DELETE из ГОРОД RESTRICT, On UPDATE ГОРОД. Назв_города CASCADE) Ограничения (1.Значения поля Назв_города должны принадлежать диапазону значений из соответствующего поля таблицы ГОРОД.) Создать таблицу ПОСТАВКА -- ассоциация-связь между ПОСТАВЩИК и ПРОДУКТ Поля (Код_Пос Целое, Код_пр Целое, Вес(кг) Целое NULL-значения не допустимы, Цена Денежный NULL-значения не допустимы, Дата_п Дата) Первичный ключ (Код_Пос, Код_пр, Дата_п ) Внешний ключ (Код_Пос из ПОСТАВЩИК, NULL-значения не допустимы, On DELETE из ПОСТАВЩИК RESTRICT, On UPDATE ПОСТАВЩИК.Код_пос CASCADE) Внешний ключ (Код_Пр из ПРОДУКТ, NULL-значения не допустимы, On DELETE из ПРОДУКТ RESTRICT, On UPDATE ПРОДУКТ.Код_пр CASCADE) Ограничения (1. Значения полей Код_Пос и Код_Пр должны принадлежать диапазонам значений из соответствующих полей таблиц ПОСТАВЩИК и ПРОДУКТ. 2. Вес(кг) >0. 3. Цена >0 )

Создать таблицу РЕАЛИЗАЦИЯ -- обозначение БЛЮДО Поля (Код_Бл Целое, Колич Целое NULL-значения не допустимы, Дата_р Дата ) Первичный ключ (Код_Бл, Дата_р) Внешний ключ (Код_Бл из БЛЮДО, NULL-значения не допустимы, On DELETE из БЛЮДО RESTRICT, On UPDATE БЛЮДО.Код_Бл CASCADE) Ограничения (1. Значения полей Код_Бл должны принадлежать диапазону значений из соответствующего поля таблицы БЛЮДО. 2. Значения поля Колич должны быть больше нуля) Создать таблицу РЕЦЕПТ -- характеристика БЛЮДО Поля (Код_Бл Целое, Рецепт_бл Текст(255) NULL-значения не допустимы) Первичный ключ (Код_Бл) Внешний ключ (Код_Бл из БЛЮДО, NULL-значения не допустимы, On DELETE из БЛЮДО CASCADE, On UPDATE БЛЮДО.Код_Бл CASCADE) Ограничения (1.Значения полей Код_Бл должны принадлежать диапазону значений из соответствующего поля таблицы БЛЮДО.)

Раздел 4. Тема 4 Структура языка SQL SQL DDLDMLDQL DCL TCL Язык администрир ования данных - create table -alter table -drop table -create index -drop index -create view -drop view - create user -alter user -drop user -create schema -drop schema -alter password -grant -revoke - insert -update -delete -select - commit -rollback - start audit -stop audit

Типы данных SQL Cимвольные строкиЧислаДатаВремя - Char(n) - Varchar(n) - Bit(n) - Bit varying(n) - Number(n,[m]) - Decimal(n,[m]) - Integer - Smallint - Float(p) - Real(s) - Double presicion(p) Date (year, month, day) Time (hour, min, sec) Interval Timestamp

Запросы к учебной БД (слайды ) 1). SELECT COUNT (*) 2). SELECT COUNT (DISTINCT ГОРОД) FROM ПОСТАВКА; FROM ПОСТАВЩИК; 3).SELECT SUM(Вес(кг)) 4).SELECT SUM(Вес(кг)*Цена) AS Общая Стоимость FROM ПОСТАВКА; FROM ПОСТАВКА; 5). SELECT MAX(Вес(кг)), MIN(Вес(кг)) 6). SELECT Назв_пр, Калор FROM ПОСТАВКА; FROM ПРОДУКТ; 7). SELECT DISTINCT Код_пр 8). SELECT Код_пр, Дата_п, Вес(кг)*Цена FROM СОСТАВ; FROM ПОСТАВКА; 9). SELECT Назв_пр, Калор 10). SELECT SUM(Вес(кг)) FROM ПРОДУКТ FROM ПОСТАВКА WHERE Калор100) and (Дата_п LIKE *.10.07); ORDER BY Код_пос, Дата_п DESC; 13). SELECT Код_пр, Вес(кг), Вес(кг)*Цена FROM ПОСТАВКА WHERE Вес(кг)>200 ORDER BY 3; 14) SELECT Код_пр, Дата_п FROM ПОСТАВКА FROM ПОСТАВКА GROUP BY Код_пр ; ORDER BY Код_пр ; 15). SELECT AVG(Вес(кг)) FROM ПОСТАВКА ; FROM ПОСТАВКА GROUP BY Код_пр;

Запросы к учебной БД 16). SELECT Код_бл, SUM(Вес(г)) 17). SELECT Код_пос, АVG(Вес(кг)) FROM СОСТАВ FROM ПОСТАВКА GROUP BY Код_бл; GROUP BY Код_пос HAVING SUM(Вес(кг))>500; 18).SELECT ФИО, Назв_города 19). SELECT ФИО, Назв_города FROM ПОСТАВЩИК FROM ПОСТАВЩИК WHERE Назв_города Москва; WHERE Конт_тел IS NULL; 20).SELECT Назв_пр, Калор 21). SELECT Назв_бл, Вид FROM ПРОДУКТ FROM БЛЮДО WHERE Калор BETWEEN 100 AND 1000; WHERE Вид IN (Десерт, Напиток); 22). SELECT * 23). SELECT Назв_бл, Вид FROM РЕАЛИЗАЦИЯ FROM БЛЮДО WHERE Колич>100 AND Дата_р LIKE *.10.07; WHERE Вид NOT IN (Суп, Закуска); 24). SELECT ПР.Назв_пр, ПР.Калор, П.Дата_п FROM ПОСТАВКА AS П INNER JOIN ПРОДУКТ AS ПР ON П.Код_пр = ПР.Код_пр WHERE ПР.Калор > 1000; 25). SELECT П.Код_пр, П.Код_пос, П.Вес(кг), П.Дата_п FROM ПОСТАВКА AS П, РЕАЛИЗАЦИЯ AS Р WHERE П.Дата_п=Р.Дата_р AND Р.Код_бл=3 AND Р.Колич>50; 26). SELECT П1.Код_пос, П2.Код_пос, П1.Код_пр FROM ПОСТАВКИ AS П1, ПОСТАВКИ AS П2 WHERE П1.Код_пр = П2.Код_пр AND П1.Код_пос > П2.Код_пос;

Запросы к учебной БД 27).SELECT БЛ.Назв_бл, ПР.Назв_пр, П.Код_пос, Дата_П FROM ПОСТАВКА AS П INNER JOIN (ПРОДУКТ AS ПР INNER JOIN (СОСТАВ AS С INNER JOIN БЛЮДО AS БЛ ON С.Код_бл=БЛ.Код_бл) ON ПР.Код_пр=С.Код_пр С) ON П.Код_пр=ПР.Код_пр WHERE БЛ.Вид=Горячее; 28). SELECT С.Код_бл, ПР.Назв_пр, П.Вес(кг), П.Дата_п FROM (ПРОДУКТ AS ПР LEFT JOIN ПОСТАВКА AS П ON ПР.Код_пр = П.Код_пр) INNER JOIN СОСТАВ AS С ON С.Код_пр = ПР.Код_пр; 29). SELECT ПР.Назв_пр, П.Дата_п, БЛ.Назв_бл FROM (ПРОДУКТ AS ПР INNER JOIN ПОСТАВКА AS П ON ПР.Код_пр = П.Код_пр) LEFT JOIN ( БЛЮДО AS БЛ RIGHT JOIN СОСТАВ AS С ON БЛ.Код_бл = С.Код_бл) ON ПР.Код_пр = С.Код_пр; 30). SELECT Назв_пр 31). SELECT Код_бл FROM ПРОДУКТ FROM РЕАЛИЗАЦИЯ WHERE Калор>( SELECT Калор WHERE Колич>( SELECT AVG(Колич) FROM ПРОДУКТ FROM РЕАЛИЗАЦИЯ ); WHERE Назв_пр=Фасоль); 32). SELECT ФИО FROM ПОСТАВЩИК WHERE Город IN ( SELECT Назв_города FROM ГОРОД WHERE Страна=Украина); 33). SELECT Код_пр, Назв_пр FROM ПРОДУКТ AS ПР WHERE EXISTS (SELECT Код_пр FROM ПОСТАВКА AS П WHERE ПР.Код_пр=П.Код_пр AND П.Вес(кг) >100 );

Запросы к учебной БД 34).SELECT Код_пос, Код_пр, Цена, Дата_п FROM ПОСТАВКА WHERE Цена < ALL( SELECT Цена FROM ПОСТАВКА WHERE Дата_п =CURRENTDATE); 35). SELECT ФИО, Назв_города FROM ПОСТАВЩИК AS ПОС WHERE NOT EXISTS ( SELECT * FROM ПОСТАВКА AS П WHERE (ПОС.Код_пос= П.Код_пос) AND ( Дата_п LIKE *.09.*) AND (Код_пр = (SELECT Код_пр FROM ПРОДУКТ WHERE Назв_пр= Мясо)) ); 36). SELECT DISTINCT ФИО FROM ПОСТАВЩИК AS ПОС WHERE NOT EXISTS (SELECT * FROM ПРОДУКТ AS ПР WHERE NOT EXISTS (SELECT * FROM ПОСТАВКА AS П WHERE (ПОС.Код_пос=П.Код_пос) AND (ПР.Код_пр = П.Код_пр));

Раздел 5. Тема 1. Модели объектов VBA Приложение(Application), - это объект, находящийся на верхнем уровне иерархии объектов. Он состоит из следующих коллекций: –формы (Forms) - это коллекция объектов–форм (Form); –запросы(Queries) - коллекция объектов–запросов (Query); –отчеты (Reports) - коллекция объектов–отчетов (Report); –элементы управления объектами (Controls) - коллекция объектов – элементов управления (Control); –свойства объектов (Properties) - коллекция объектов – атрибутов (полей) объектов (Property); –ссылки (References), - это коллекция ссылок на библиотеки типов других приложений, установленных в текущий момент для активного приложения.); –модули(Modules), - коллекция объектов – модулей, т. е. программ на VBA (Module). Макрокоманды (Docmd), - это один объект, предназначенный для выполнения макрокоманд. Объект Screen, - один объект, который используется для ссылки на текущую открытую форму, отчет или элемент управления.

Раздел 5. Тема 1. Модель доступа к объектам VBA Workspaces DBEngine Errors ErrorWorkspace Databases Database UsersGroups GroupUser Объект верхнего уровня Коллекции объектов Объекты --Tabledefs --Querydefs --Relations --Recordsets

Раздел 5. Тема 1. Примеры событий VBA

Раздел 5. Тема 1. Пример 1 программы на VBA Private Sub Поиск_по_РЕАЛИЗАЦИЯ_Click() Объявление объектных переменных Dim MyDb As DataBase Dim MyРЕАЛИЗАЦИЯ As DAO.RecordSet Объявление переменных для ввода значений, входящих в РК (Код_бл и Дата_р) Dim MyКод_бл As Integer Dim MyДата_р As Date Запись в объектную переменную ссылки на текущую БД с помощью встроенной функции VBA Set MyDb = CurrentDb() Открытие набора записей для таблицы РЕАЛИЗАЦИЯ и запись ссылки на него в объектную переменную. DbOpenTable - встроенная константа, задающая тип открываемого набора Set MyРЕАЛИЗАЦИЯ = MyDb. OpenRecordSet(РЕАЛИЗАЦИЯ, dbOpenTable ) Присвоение свойству Index набора записей РЕАЛИЗАЦИЯ признака - первичный ключ таблицы. Этот индекс будет использован при поиске методом Seek MyРЕАЛИЗАЦИЯ. Index = PrimaryKey Ввод параметров поиска (значений переменных MyКод_бл и MyДата_р) через диалоговые окна с использованием функции InputBox. MyКод_бл = InputBox (Введите код блюда, Ввод параметров поиска) MyДата_р = InputBox (Введите дату, Ввод параметров поиска) Вызов метода Seek для объекта RecordSet c аргументами–значениями введенных параметров и операцией для поиска. MyРЕАЛИЗАЦИЯ. Seek =, MyКод_бл, MyДата_р Проверка наличия записи с указанным ключом (используем свойство NoMatch объекта Recordset, которое имеет значение true в случае, если запись не найдена) if MyРЕАЛИЗАЦИЯ. NoMatch then MsgBox Блюдо на заданную дату не было реализовано, vbOKOnly Exit Sub End if Вывод данных о количестве реализованных порций MsgBox На & MyРЕАЛИЗАЦИЯ![Дата_р] & Количество порций блюда с кодом = & MyРЕАЛИЗАЦИЯ![ Код_бл] & равно & MyРЕАЛИЗАЦИЯ![Колич], vbOKOnly End Sub

Раздел 5. Тема 1. Пример 2 программы на VBA (слайды 40, 41) Раздел описаний (интерфейс модуля) Dim kollobio As Integer Счетчик для лобио Dim kolHARCHO As Integer Счетчик для харчо Dim kolSHASHLIK As Integer Счетчик для шашлыка Dim kolKOFE As Integer Счетчик для кофе Dim firstupdate As Integer Dim KonDt, Nachdt As Date Конечная и начальная даты периода Процедуры обработки событий Процедура обработки нажатия кнопки Выход_с_итогами Private Sub выход_с_итогами_Click() Dim otvet As String On Error GoTo Err_выход_с_итогами_Click Вывод диалогового окна с итоговыми результатами и кнопками ОК и Cancel otvet = MsgBox("От " & Nachdt & " До " & KonDt & ": " & "Общее количество порций лобио=" & kollobio & " | Общее количество порций харчо=" & kolHARCHO & " | Общее количество порций шашлыка=" & kolSHASHLIK & " | Общее количество порций кофе=" & kolKOFE, vbOKCancel) If otvet = vbOK Then При нажатии ОК –закрытие формы DoCmd.Close End If Exit_Выход_с_итогами_Click: Exit Sub Выход из процедуры Err_Выход_с_итогами_Click: Обработка ошибок MsgBox Err.Description Resume Exit_Выход_с_итогами_Click End Sub

Раздел 5. Тема 1. Пример 2 программы на VBA Процедура обработки события После Обновления поля Дата_р Private Sub Дата_р_AfterUpdate() If firstupdate = 0 Then firstupdate = 1 KonDt = [Дата_р] Nachdt = [Дата_р] End If If [Дата_р] < Nachdt Then Nachdt = [Дата_р] End If If [Дата_р] > KonDt Then KonDt = [Дата_р] End If End Sub Процедура обработки события После Обновления поля Колич Private Sub Колич_AfterUpdate() Select Case [Код_бл] Case 1 kollobio = kollobio + [Колич] Case 2 kolHARCHO = kolHARCHO + [Колич] Case 3 kolSHASHLIK = kolSHASHLIK + [Колич] Case 4 kolKOFE = kolKOFE + [Колич] End Select End Sub

Раздел 6. Тема 1. Архитектура клиент – сервер Сервер БД Ядро СУБД БД ПК клиента Приложение Пользовательские ф-ции СУБД ПК клиента Приложение Пользовательские ф-ции СУБД SQL-запросрезультаты запроса

Раздел 6. Тема 1. Структурная схема распределенной системы СУБД (узел 3) СУБД (узел 1) Коммуникационная сеть СУБД (узел 2) СУБД (узел 4)

Раздел 6. Тема 2. Структурно-функциональная схема хранилища Менеджер загрузки МЕНЕДЖЕР ХРАНИЛИЩА СУБД Менеджер запросов ХРАНИЛИЩЕ Средства доступа Конечного пользователя Разработка приложений СППР Источник данных 1 Источник данных 2 Источник данных 3

Раздел 6. Тема 2. Многомерная модель данных (слайды 45, 46) Макпик ПРЕДПРИЯТИЕ ВРЕМЯВРЕМЯ ЕмСам Обжорка … … … … … ……………

Раздел 6. Тема 2. Многомерная модель данных Квартал 1 Квартал 2 Квартал 3 Квартал 4 Напиток Горячее Суп Закуска ВРЕМЯ ВИДБЛЮДАВИДБЛЮДА Обжорка ЕмСам Макпик ПРЕДПРЯТИЕ

Раздел 6. Тема 3. OLAP-технология и OLAP – инструменты (слайды 47, 48, 49) Схема функционирования MOLAP -инструментов ММСУБД Операционные БД Загрузка Хранилище данных Сервер MOLAP Инструменты доступа конечных пользователей Результаты запроса Запрос

Раздел 6. Тема 3. Схема функционирования ROLAP- инструментов Промежуточное программное обеспечение Многомерное представление данных Сервер РБД БД Аналитическая информация Запрос данных ROLAP- сервер SQL- запрос Результат Инструменты доступа конечного пользователя

Раздел 6. Тема 3. Схема функционирования MQE- инструментов Сервер РБД (РСУБД) БД КУБ Инструменты доступа конечного пользователя SQL-запрос Результаты

Раздел 6. Тема 3. Расширения языка SQL для поддержки OLAP- технологии (MQE) Дополнительные опции для обобщения (группировки) 1. GROUPING SETS (список множеств для группировки) - позволяет в одном запросе получать итоговые результаты по нескольким группировочным множествам. Пример. SELECT Блюдо, Дата_р, SUM(Колич) AS Общее кол-во FROM РЕАЛИЗАЦИЯ GROUP BY GROUPING SETS ((Блюдо), (Дата_р)); 2. ROLLUP (базовое множество) - позволяет формировать нужные группировочные множества. Пример. SELECT Блюдо, Дата_р, SUM(Колич) AS Общее кол-во FROM РЕАЛИЗАЦИЯ GROUP BY ROLLUP (Блюдо, Дата_р); Это будет эквивалентно предложению: GROUP BY GROUPING SETS ((Блюдо, Дата_р), (Блюдо), ()); 3. CUBE (базовое множество) – позволяет получить все итоговые результаты. Пример. SELECT Блюдо, Дата_р, SUM(Колич) AS Общее кол-во FROM РЕАЛИЗАЦИЯ GROUP BY CUBE (Блюдо, Дата_р); Это будет эквивалентно предложению GROUP BY: GROUP BY GROUPING SETS ((Блюдо, Дата_р), (Блюдо), (Дата_р), ());

Раздел 6. Тема 4. ОО – технология разработки ООБД ООСУБД Библиотека классов Приложения ООБД БД Проектировщики Программисты на ОО - языках Разработчики приложений Схемы данных Пользовательский интерфейс

Раздел 6. Тема 5. Схема функционирования CGI-интерфейса HTML - документ HTML - документ Шлюз Web – сервер CGI - сценарии Web - клиент Броузер Internet РаСУБД БД HTTP