русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Буч Г. Объектно-оpиентиpованный анализ и пpоектиpование. М.: БИНОМ, СПб: Невский диалект, 1998. - 560 с.


Дата добавления: 2013-12-23; просмотров: 1000; Нарушение авторских прав


Варианты требований к программе: на SQL, на Object Pascal2 (Delphi).

ПРИМЕРЫ ВОПРОСОВ НА (ПИСЬМЕННОМ) ЭКЗАМЕНЕ ПО БД.

==========================================================

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

Ø сформулировать его содержание на русском языке, т.е. задачу, которую решает заданное выражение или запрос;

Ø составить программу, соответствующую заданному реляционному выражению/запросу (которая решает ту же задачу).

2. Дана Паскаль-программа типа:

PROGRAM PP; VAR a,b,x,y,t,s:REAL;

BEGIN READ(a,b); IF sin(a)>b THENBEGIN x:=tg(a);y:=tg(b) ENDELSE

BEGIN x:=t; WHILE x>cos(x) DOBEGIN s:=sin(cos(x));x:=tg(s) END;

IF sin(x)>cos(x) THENBEGIN t:=x;y:=tg(t) ENDELSE y:=tg(x) END; WRITE(x,y) END. ...но более «громоздкая»...

Ø Нарисовать соответствующую потоковую диаграмму информационных связей (с хранилищами).

3. Дан фрагмент Паскаль-программы, который содержит описание структуры некоторого хранилища данных, например:

Файл содержит папку сведений о товарах на складах предприятия. Каждый компонент файла содержит сведения об одном виде товаров за один месяц:

· наименование товара, единица измерения;

· сведения о наличии и движении этого товара за этот месяц:

· год и месяц сведений;

· сведения на начало месяца о наличии этого товара на складах - для каждого из 15-ти складов: количество этого товара, имевшееся на начало месяца на этом складе, и его стоимость;

· сведения о движении этого товара на складах - для каждого из 15 складов:

· наименование склада и ФИО ответственного лица;

· движение этого товара на этом складе - для каждого из 31-го дней месяца для каждой из 10-ти возможных операций: вид операции (поступление или выбытие); количество и стоимость соответственно поступившего или выбывшего товара; наименование организации соответственно поставившей или получившей этот товар.



VAR TV:FILEOFRECORD naimt,edt:STRING; sved: RECORD god,mes:INTEGER;

svednal: ARRAY[1..15] OFRECORD kol,stoim:REAL END;

sveddv: ARRAY[1..15] OFRECORD naims,FIOs: STRING; dv: ARRAY[1..31]

OFARRAY[1..10] OF RECORD vidop:STRING; kold,stoimd:REAL;

naimorg: STRING ENDENDENDEND

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

Ø ... возможно будет вариант: нормализовать и привести к одной таблице, описать функциональные зависимости, замыкание которых полно для этой БД... в приемлемом смысле...


(*) Сегодня интенсивно развиваются компонентные технологии в целом, и в частности технологии доступа к данным, обеспечивающие независимость прикладных приложений от источников данных (не только SQL-ориентированных, но и WEB-ориентированных и других…). ODBC и BDE естественно не единственно возможные средства обеспечения доступа к данными... есть стандарт CORBA (Common Object Request Broker Architecture), ADO (Microsoft ActiveX Data Objects)...

(*) Кстати, NULL-значение (пустое, неопределенное) не обязательно совпадает с 0 (или пробел). Обычно NULL-значение можно ввести, выделив и удалив (Del) текущее значение поля, но реально этот вопрос зависит от некоторых настроек.

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

(*) Фактически эти средства тесно связаны с понятием «транзакция».

Средства управления транзакциями класса TDatabase:

procedure StartTransaction {стартует транзакцию};

procedure Commit {завершает подтверждением};

procedure Rollback {завершает «откатом»};

BDE поддерживает явное управление только неименованными транзакциями, причем с ограниченным набором уровней изолированности (property TransIsolation). Однако, аккуратно используя объекты типа TQuery, TStoredProc, TUpdateSQL TDatabase в Delphi 6) можно запросить выполнение SQL-сервером фактически (почти?) любого SQL-оператора.

(**)Посмотреть поля, их свойства и события можно после «двойного Click» мышкой на объекте TDataSet (TTable или TQuery). Если появившееся окно редактирования полей пустое, то нажав правую кнопку мыши в контекстном меню выбрать Add All Fields.

 

(*) View – виртуальная, но постоянная таблица базы данных. Использование View в качестве рабочей временной таблицы – плохая идея. Однако ж в данном конкретном случае мы воспользуемся этой возможностью, дабы не усложнять проблемы...

(*) Международный стандарт ISO/IEC 12207, Стандарты комплекса ГОСТ 34, фирменные методики – MSF (MicroSoft Solution Framework), Oracle CDM (Custom Development Metod)...

§ Зиндер Е.С. Соотнесение и использование стандартов организации жизненных циклов систем. Журнал СУБД N 3, 1997.

§ Вендеров А.М. CASE-технология. М.:ФиC, 1998.-176 с.

§ Принципы проектирования и разработки программного обеспечения. Учебный курс MCSD. С.Ф. Уилсон и др. М. 2002. –737 с.

(*) Не удается разработать приемлемо детальную (в определенном смысле) модель процессов предметной области... возникает слишком много вопросов о данных... Однако ж и разработка модели данных предметной области в определенный момент упирается в вопросы о модели процессов... Видимо, с этим объективным обстоятельством связано появление объектной методологии в проектировании программных систем.

§ Рамбо Дж., Якобсон А., Буч Г. UML: специальный справочник. СПб.: Питер, 2002. –656 с.

§ Ларман К. Применение UML и шаблонов проектирования. М.: Издательский дом «Вильямс», 2002. –624 с.

§ Якобсон А., Буч Г., Рамбо Дж. Унифицированный процесс разработки программного обеспечения. СПб.: Питер, 2002. –496 с.

§ http://www.rational.com , http://www.omg.org

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

...кстати, в нашем примере БД «замят» вопрос о поле «N счета», чей это реквизит – поставщика или конкретной сделки с поставщиком или...

(*) Базовый набор зависимостей F можно трактовать как набор базовых задач предметной области, F* - как набор всех задач. На этих соображениях можно построить соответствующий язык запросов для решения задач предметной области.

§ Тыугу Э.Х. Концептуальное программирование. М.:Наука,1984. –256 с.

§ Канович М.И. Логические методы синтеза программ. Калинин. 1986.

(**) Джексон Г. Проектирование реляционных баз данных для использования на микроэвм. М.:Мир,1991. –252 с.



<== предыдущая лекция | следующая лекция ==>
Гл. pед. физ.-мат. лит., 1989. - 288 с. | Трехуровневая архитектура ANSI-SPARC


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.