Главная страница

Методичка. Базы данных (ПОВТ) 2009. Методические указания для студентов дневного отделения специальности "Программное обеспечение вычислительной техники" Барнаул 2009 2


Скачать 2 Mb.
НазваниеМетодические указания для студентов дневного отделения специальности "Программное обеспечение вычислительной техники" Барнаул 2009 2
АнкорМетодичка. Базы данных (ПОВТ) 2009.pdf
Дата04.10.2019
Размер2 Mb.
Формат файлаpdf
Имя файлаМетодичка. Базы данных (ПОВТ) 2009.pdf
ТипМетодические указания
#13290
страница10 из 11

Подборка по базе: Программа обучения студентов (Syllabus) по дисциплине Основы пра, методичка по цитологии 2019 для студентов.pdf, Методические указания к самостоятельной работе по дисциплине «Ме, Метод указания-19.docx, Методические указания по практике .doc, Методические указания по практике .doc, ГАОУ СПО Десмургия - Методические рекомендации для студентов по .
1   2   3   4   5   6   7   8   9   10   11
SELECT FNAME, TO_CHAR(HIRE_DATE) FROM EMPLOYEE;
FNAM
TO_CHAR(H
John 22-OCT-99
А вот как функция TO_CHAR применяется для преобразования вводимой даты в строку с явным указанием формата даты:
SELECT FNAME, TO_CHAR(HIRE_DATE,'MM/DD/YY') FROM EMPLOYEE;
FNAM
TO_CHAR(
John 10/22/99
Бывают случаи, когда необходимо использовать функции TO_CHAR и TO_DATE вместе. Например, если вы хотите узнать, каким днем недели было 1 января 2000 года, можно выполнить такой запрос:
SELECT TO_CHAR(TO_DATE('01-JAN-2000','DD-MON-YYYY'),'Day') PROM
DUAL;
TO_CHAR(T
Saturday
В данном примере сначала строка ' 01 -JAN-2000' преобразуется в значение типа
DATE, которое затем функция TO_CHAR преобразует в строку, представляющую день недели.
Порядок выполнения лабораторной работы приведен в файлах mu6_1.exe и mu6_2.exe.
Контрольные вопросы:
1. Модель «Сущность-связь».
2. Методология IDEF1X.
3. Проблемы ER-моделирования.
4. Правила ссылочной целостности.
5. Назначение SQL.
6. Реализации SQL.
7. Наборы команд SQL.
8. Команда SELECT.
9. Команда INSERT.

78 10. Команда UPDATE.
11. Команда DELETE.
12. Типы данных Oracle.
13. Последовательности и их использование.
14. Инструкция WHERE.
15. Объединения.
16. Групповые операции и их применение.
17. Инструкция HAVING.
3.7 Лабораторная работа №7
3
Задание
Разработать клиентскую часть программы с использованием Visual FoxPro, для ведения базы данных, разработанной в седьмой лабораторной работе. Предусмотреть формирование первичного ключа с использованием последовательностей. Отчеты формировать по правилам, изложенным в пятой лабораторной работе.
Теоретический материал
Использование Visual FoxPro для построения клиентской части
Доступ к данным на сервере
Доступ к данным на сервере осуществляется через ODBC драйвера. На компьютере должен быть установлен соответствующий ODBC - драйвер.
В VFP доступ к данным сервера может осуществляться тремя способами:
1. с использованием удаленных представлений
2. с использованием функций SQL pass-through
3. с использованием технологии ADO.
Рассмотрим использование удаленных представлений. Они могут создаваться с использованием Connection или доступных источников данных. Источники данных создаются на основе ODBC - драйверов и представляют собой сконфигурированный ODBC - драйвер, настроенный на определенную БД и с установленными параметрами связи с сервером БД. Connection является объектом БД VFP и создается либо на основании доступного источника данных, либо на основании строки, описывающей ODBC - драйвер и конфигурирующей его работу.
Пример строки, конфигурирующей доступ к БД Oracle XE:
DRIVER={Oracle in XEClient};SERVER=oracle-stud.secna.ru;
UID=POWT_41AAA; PWD= POWT_41AAA;DBQ=oracle-stud.secna.ru;DBA=W
Удаленные представления могут создаваться двумя способами:
• с помощью мастера удаленных представлений
• с помощью конструктора удаленных представлений
Оба этих метода помогают в наглядной форме сформировать SQL - выражение для доступа к БД. Для того чтобы представление было обновляемым и с ним можно было работать как с таблицей необходимо заполнить вкладку Update Criteria, где необходимо отметить корректируемые поля, первичный ключ, установить флаг Send SQL updates и установить значение SQL WHERE clause include равным Key fields only, если не будет осуществляться контроль одновременного использования данных, в противном случае указать Key and modified fields.
3
Лабораторная работа выполняется только студентами специальностей «Вычислительные машины, комплексы, системы и сети» и «Программное обеспечение вычислительной техники автоматизированных систем»

79
Связи между удаленными представлениями в базе Visual FoxPro не устанавливаются, т.к. они установлены в Oracle и все проверки ссылочной целостности выполняются на уровне сервера БД.
Вариант построения приложения с простой расшифровкой ключей (вариант 1) приведен в файле mu7_1.exe.
Вариант построения приложения для реализации связи 1-ко-многим (вариант 2) приведен в файле mu7_1_one_to_many.exe.
Если за время вашей работы содержимое базы данных на сервере изменилось, то для получения актуального содержимого можно воспользоваться функцией:
=REQUERY([nWorkArea | cTableAlias])
Возвращает 1, если данные возвращены успешно и 0 в противном случае.
Если нужно получить актуальное содержимое одной строки, то можно воспользоваться функцией:
=REFRESH([nRecords [, nRecordOffset]] [, cTableAlias | nWorkArea])
Для организации связи один-ко-многим необходимо использовать
параметризованное представление. Для этого необходимо в пункте меню Query, подпункте View Parameters указать имена параметров и их типы. В дальнейшем они должны указываться в предложении WHERE в следующем виде ?<имя параметра>.
Например: ?TKOD. Если вы хотите программно устанавливать значение параметра, то он должен быть объявлен в программе как PUBLIC.
Рассмотрим на примере создание удаленных представлений для реализации накладной:
Строим Remote View по первому варианту proba1
(ключи не расшифровываем,
включаем одну таблицу)
Строим Remote View по первому варианту proba2
(расшифровываем ключ единицы измерения,
включаем две таблицы)
Строим параметризованное Remote View по второму варианту (one-to-many) proba2 + по первому варианту proba2 расшифровываем ключ товара
Строим Remote View по первому варианту proba1
(ключи не расшифровываем,
включаем одну таблицу)
Строим Remote View по первому варианту proba2
(расшифровываем ключ организации,
включаем две таблицы)
Первый вариант - mu7_1.exe
Второй вариант - mu7_1_one_to_many.exe
Организация
Наименование
ИНН
Адрес
Телефон
Шапка накладной
Номер
Дата
Организация
Строки накладной
Товар
Количество
Цена
Товар
Наименование
Цена
Единица измерения
Единица измерения
Наименование

80
В результате мы получим пять удаленных представлений. Из них два будут построены по одной таблице без расшифровки ключей (организация и единица измерения), два по двум таблицам с расшифровкой ключей (товар и шапка накладной) и одно параметризованное представление с расшифровкой ключей по двум таблицам для реализации связи 1-ко-многим (строки накладной). Последний вариант необходим в том случае, если на одной форме нужно представить два объекта Grid, которые будут отображать связанные таблицы.
Использование функций SQL pass-through.
Иногда бывает необходимо получить данные с сервера с использованием какого-либо
SQL-выражения. Если результат запроса не будет редактироваться, то в этом случае можно воспользоваться функциями SQL pass-through.
Схема работы заключается в следующем:
1. Устанавливается соединение с сервером Oracle (функция
SQLSTRINGCONNECT)
2. При необходимости подготавливается запрос (если он параметризованный)
(функция
SQLPREPARE
).
3. Выполняется запрос (функция
SQLEXEC
).
4. Разрывается соединение с Oracle (функция
SQLDISCONNECT
).
Примеры использования функций SQL pass-through приведены ниже.
S=" DRIVER={Oracle in XEClient};SERVER=oracle-stud.secna.ru;
UID=POWT_41AAA; PWD=POWT_41AAA;DBQ=oracle-stud.secna.ru;DBA=W"
C=SQLSTRINGCONNECT(S)
IF C>0
PUBLIC TLN, TIN, TDOC
TLN=PADR(ALLTRIM(ThisForm.LN),10)
TIN=PADL(ALLTRIM(STR(ThisForm.IN)),3)
TDOC=ALLTRIM(ThisForm.DOCUM)
S=[SELECT DS.LEVELNAME "LN", DS.ITEMNUM "IN", DS.DOC, DS.VP, DS.AP,
DS.EP, DS.DP ]+;
[FROM ADM.DREJIM DS WHERE DS.LOG=?Tloginkod AND DS.TAS=?TTaskskod AND
]+;
[DS.LEVELNAME=?TLN AND DS.ITEMNUM=?TIN]
Rz=SQLPREPARE(C,S,[DREJIM])
Rz=SQLEXEC(C)
=SQLDISCONNECT(C)
ENDIF
S=" DRIVER={Oracle in XEClient};SERVER=oracle-stud.secna.ru;
UID=POWT_41AAA; PWD=POWT_41AAA;DBQ=oracle-stud.secna.ru;DBA=W"
C=SQLSTRINGCONNECT(S)
IF C>0
S="INSERT INTO ADM.ERROR VALUES ( SYSDATE )"
Rz=SQLEXEC(C,S)
=SQLDISCONNECT(C)
ENDIF
S=" DRIVER={Oracle in XEClient};SERVER=oracle-stud.secna.ru;
UID=POWT_41AAA; PWD=POWT_41AAA;DBQ=oracle-stud.secna.ru;DBA=W"
C=SQLSTRINGCONNECT(S)
IF C>0
S="SELECT * FROM PROBA"
Rz=SQLEXEC(C,S,[PROBA])
=SQLDISCONNECT(C)
ENDIF

81
Методы разрешения сетевых конфликтов при разработке клиентской части с
использованием Visual FoxPro приведены в теоретическом материале для
лабораторной работы №5 (раздел Работа в сети).
Порядок выполнения лабораторной работы приведен в файлах mu7_1.exe и mu7_2.exe.
Контрольные вопросы:
1.
Виды доступа к данным на сервере БД из VFP.
2.
Удаленные представления.
3.
Connection.
4.
Использование функций SQL pass-through.
5.
Использование технологии ADO.
6.
Параметризованные представления.
7.
Реализация связи 1-ко-многим.
8.
Обновление данных в открытом удаленном представлении.
9.
Уровень сложности сетевых приложений по степени конфликтности.
10.
Состояния базы данных при работе в сети.
11.
Техника доступа к отдельной записи базы в сети.
12.
Команды блокирования и разблокирования записей.
13.
Обработка конфликтных ситуаций при работе клиент-серверных приложений.
14.
Транзакции
4 Варианты лабораторных работ
1. Модель для университета. Сколько преподавателей работает на математическом факультете? Их фамилии? Какие предметы они преподают?
2. Модель для университета. Какие студенты специализируются в истории? В английском?
3. Модель для университета. Кто из преподавателей читает социологические курсы? Какие курсы они читают? Каким группам студентов?
4. Модель для университета. Сколько студентов, чьей специальностью является немецкий язык, официально зарегистрированы на усиленной программе? Кто является преподавателем каждого из них?
5. Модели для торговой фирмы. Какие товары имеют продажную цену более 200 рублей?
Какие из них имеют закупочную цену менее 150 рублей? Какие товары произведены на
Москве? Кто их изготовители?
6. Модели для торговой фирмы. Кто из продавцов продал товары ценой более 200 рублей?
Даты этих продаж? Какова базовая зарплата этих продавцов?
7. Модели для банка. Какой процент обладателей текущих счетов банка составляют его служащие?
8. Модели для банка. Сколько кассиров имеют в банке сберегательные счета? Сколько менеджеров? Сколько кассиров не имеют таких счетов?

82 9. Модели для банка. Кто из менеджеров, имеющих в банке сберегательные счета, руководит служащими, имеющими в банке сберегательные счета?
10. Выведите концептуальную модель данных из следующего отчета
Консультационная служба
Отчет о специализации консультантов
Фамилия

страховки
Дата
приема
Код
специальности
Описание специальности
Иванов
539-88-4242
22/11/2000
А
Обучение пользователей
В
Ввод данных
О
Преобразование файлов
Петров
560-43-1111
8/11/1999
С
Программирование
D
Преобразование файлов
F
Системное
проектирование
Сидоров
524-33-8119
7/3/1990
А
Обучение пользователей
С
Программирование
D
Системный анализ
F
Системное
11. Сколько студентов занимается по программе Физика 201? Какие предметы изучает
Иванов? Сколько раз Петров изучал Бухгалтерский Учет 201, когда и кто был его преподавателем и какие оценки он получил?
12. База данных должна давать ответы на вопросы по истории Европы. Создайте отдельную модель данных для указанной задачи.
Сколько королей Пруссии носили имя Фредерик? В какие годы они жили и в какие — правили? Управляли ли они на протяжении своей жизни какими-либо еще странами?
Управлялись ли в XVII веке какие-либо европейские страны женщинами? Если да, то какие?
13. База данных должна давать ответы на вопросы по истории Европы.
Правил ли дед Марии-Антуанетты какой-либо страной? Какой и когда? Кто была ее мать?
Были ли случаи, когда правители двух разных стран женились между собой? Сколько детей
Генриха VIII стали королями Англии? Кто были их матери?
14. Какие станции транслируют программы «Бэтмэн»? Повторяла ли компания Brick Wall в этом году какие-либо серии Косби-шоу за 1988 год? Показывали ли они пятую серию? Когда и какая станция его транслировала?
15. Репортажи о скольких бейсбольных матчах Brick Wall показала за последний год? Когда они транслировали встречи между командами «Dodgers» и «Mets»? Матчи какой команды показывались больше всего? Как насчет футбольных матчей? Баскетбольных? Теннисных?
Турниров по гольфу? Других видов спорта? Был ли показан хоть один теннисный матч с участием Штеффи Граф? Когда и какой станцией?
16. Какие коммерческие объявления Brick Wall показала более трех раз в течение одного часа на одной станции? Когда это было? В течение какого часа, какого числа и на какой

83
станции? Какую плату Brick Wall назначила за трансляцию каждого из этих коммерческих сообщений?
17. Создайте модель базы данных, отвечающей на юридические вопросы. В каких делах высказывались мнения по Разделу 411.3с федерального кодекса? В каких судах? Были ли они отвергнуты? Какой раздел федерального кодекса был затронут в процессе Блэка против
Вильямса?
18. Создайте модель базы данных, отвечающей на юридические вопросы. Какие юридические фирмы представляли General Continental в судах в течение последних десяти лет? Какие дела разбирались; какая сторона выиграла; каков был размер вознаграждения?
Какие фирмы представляли противную сторону? Какие еще крупные компании представляли эти юридические фирмы в процессах в то же самое время?
19. Авиакомпания хочет получать ответы на подобные вопросы о своих самолетах: «Сколько посадочных мест в Боинге 727? Сколько у него двигателей? Какой средний возраст Боингов
727 нашего авиапарка? Кто главный механик, ответственный за обслуживание самолета но- мер 1388? Какая компания создала этот самолет?»
20. Администрация в большом городе должна отслеживать имеющееся у нее компьютерное оборудование. Она также хочет получать ответы на вопросы о моделях компьютеров.
Создайте модель данных, отвечающую на следующие вопросы:
Какой максимальный объем памяти возможен у IBM PC? У PC-XT и РС-АТ? Каков максимальный объем памяти у Macintosh II? У кого из наших служащих в кабинете есть IBM
PC? У кого стоит компьютер с серийным номером 4538842? Какова его оперативная память?
21. В процессе работы над проектом для страховой компании один из аналитиков консультационной фирмы создал отчет, оценивающий производительность труда операторов, вводящих данные. Этот отчет выдает число транзакций каждого типа, введенных каждым клерком в каждый день месяца. Выведите концептуальную модель данных, которая могла бы быть использована в качестве основы для указанного отчета.
СТРАХОВАЯ КОМПАНИЯ
МЕСЯЧНЫЙ ОТЧЕТ О ПРОИЗВОДИТЕЛЬНОСТИ ТРУДА СЛУЖАЩИХ
За месяц по 31 марта
№служащего
Фамилия
Дата
Тип транзакции Количество
3855
Иванов 3/1
Новый полис
15
Взнос
75
Требование
22
3/2
Новый полис
18
Взнос
53
Требование
25
3921
Петров
3/1
Взнос
45
Изменение
83
Требование
10
3/2
Новый полис
8
Взнос
63
Изменение
35

84
22. Построить модель для ответов на вопросы по теме: “Издание учебной литературы для
ВУЗов”, отвечающую на следующие вопросы:
Определить ВУЗы, в которых есть заданная специальность и определить план приема на указанную специальность по каждому ВУЗу. Какие учебники готовятся для студентов указанной специальности? Для каких специальностей может быть использовано в учебном процессе указанное издание? Определить размер тиража, если задается количество экземпляров издания на одного студента, когда оно включено в список основной и дополнительной литературы. Какое количество учебной литературы должно быть отправлено в указанный ВУЗ.
23. Построить модель для отображения результатов самостоятельной работы студента в течение семестра с целью организации учебного процесса, его совершенствования и выдачи справочной информации студенту и в управляющие инстанции, отвечающую на следующие вопросы:
Какой график выполнения самостоятельных работ по указанной дисциплине? Какие задания на самостоятельную работу у указанного студента? Как выполняет самостоятельные работы указанный студент? Какие студенты имеют результаты по указанной контрольной торчке?
24. Создать модель для помощи разработчику СУБД или лицу, которое использует СУБД, отвечающую на следующие вопросы:
Какие характеристики есть у указанной СУБД ( вид используемой модели данных, вид техники, временные характеристики, обеспечение секретности )? Какую литературу можно использовать при изучении указанной СУБД? В каких организациях внедрена и работает данная СУБД? Какие организации занимаются разработкой ПО с использованием указанной
СУБД?
25. Сбербанк. Сведения о вкладчиках филиала Сбербанка: номер Лицевого счета, паспортные данные, сумма вклада, категория вклада, дата последней операции.
1   2   3   4   5   6   7   8   9   10   11


написать администратору сайта