ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 30.12.2025
Просмотров: 945
Скачиваний: 0
СОДЕРЖАНИЕ
Часть 1. Технологии работы с базами данных
Лабораторная работа 1 создание и модификация таблиц базы данных Цель работы
Содержание работы и методические указания к ее выполнению
Insert into имя_таблицы [(поле [,поле]...)]
Values (константа [,константа]...)
Лабораторная работа 2 выбор и модификация данных таблиц Цель работы
Содержание работы и методические указания к ее выполнению
Варианты заданий на составление запросов по выборке информации из таблиц базы данных
Варианты заданий на составление запросов по модификации информации из таблиц базы данных
Содержание работы и методические указания к ее выполнению
Последовательность выполнения лабораторной работы:
Содержание работы и методические указания к ее выполнению
Последовательность выполнения лабораторной работы
Требования к разрабатываемой программе
Последовательность выполнения лабораторной работы
Последовательность выполнения лабораторной работы:
Требования к разрабатываемой программе
2. Средства отслеживания ошибок
3. Непосредственное и подготавливаемое выполнение операторов sql
4. Использование параметров при выполнении
5. Настройка доступа к источнику данных
Последовательность выполнения лабораторной работы
Требования к разрабатываемой программе
Лабораторная работа 8 выборка данных с использованием средств odbc Цель работы
Содержание работы и методические указания к ее выполнению
Последовательность выполнения лабораторной работы
Требования к разрабатываемой программе
Содержание работы и методические указания к ее выполнению
Последовательность выполнения лабораторной работы
Требования к разрабатываемой программе
Лабораторная работа 10 использование языка php для доступа к базам данных Цель работы
Содержание работы и методические указания к ее выполнению
Последовательность выполнения лабораторной работы
Требования к разрабатываемой программе
Последовательность выполнения лабораторной работы:
Последовательность выполнения лабораторной работы:
Последовательность выполнения лабораторной работы:
Последовательность выполнения лабораторной работы:
2. Операторы манипуляции данными
3. Операторы определения транзакций
Обработка CGI-скриптом данных формы составляет шаблонную часть скрипта.
Данные, веденные в форме, передаются CGI-модулю в виде последовательности символов через входной поток (метод POST) или переменную CGI-окружения (метод GET) в формате:
имя=значение&имя1=значение1&...&имяN=значениеN,
где имяi - значение параметра name из элемента HTML-формы, значениеi - введенное или выбранное значение независимо от его типа.
Алгоритм обработки передаваемой в CGI-скрипт строки данных состоит в разделении ее на пары имя=значение и декодирования каждой пары, учитывая, что все пробелы в введенных значениях в форме сервером были заменены символом "+" и символы с десятичным кодом больше 128 преобразованы в символ "%" и следующим за ним шестнадцатеричным кодом символа.
После шаблонной части CGI-скрипта следует содержательная часть, в которой можно анализировать полученные данные, обращаясь, при необходимости, к различным таблицам баз данных. При написании CGI-скрипта на языке ESQL/C работа с базой данных ведется средствами встроенного языка SQL и главных переменных, через которые передаются и возвращаются данные к серверу баз данных. Результаты обработки данных, полученных из базы данных, а также другие информационные сообщения передаются функцией printf() в выходной поток с учетом форматирования HTML-документа.
CGI-скрипт, запускаемый из среды WWW, должен содержать информацию о сервере баз данных в своем теле. Эта информация состоит в задании в CGI-скрипте системных переменных, определяющих каталог с программным обеспечением сервера, имя сервера, параметры перекодировки и прочие параметры.
Важной особенностью работы с базой данных посредством CGI-скрипта является обеспечение достаточных условий безопасности в отношении данных.
В том случае, когда любой пользователь без ограничений может иметь доступ к данным, предварительно средствами программы phpPgAdmin, либо средствами иного программного приложений владелец базы данных SQL-оператором
grant usage on schema schema-name to nobody
предоставляет пользователю операционной системы nobody минимальные права, в том числе в отношении баз данных. Это позволяет при написании CGI-скрипта использовать простейший вариант подключения к серверу баз данных без проверки индивидуальных полномочий пользователя.
$Connect to 'database@server_name';
Обратите внимание, что в этом случае SEARCH_PATH будет nobody, public и в SQL-запросах идентифицировать таблицы нужно полным именем (имя schema-name.table-name).
После окончания работы с приложением владелец базы данных должен отобрать полномочия у пользователя nobody.
revoke usage on schema schema-name from nobody
В том случае, когда необходимо контролировать доступ того или иного пользователя к базе данных или когда разные пользователи обладают разными полномочиями в отношении доступа к данным, следует завести пользователя на сервере баз данных, дать ему требуемые полномочия в отношении тех или иных действий над используемыми таблицами посредством SQL-оператора Grant, после чего каждый раз при обращении проверять эти полномочия. При этом CGI-приложение должно знать и каким-либо образом хранить все имена и пароли и полномочия пользователей, которым разрешен доступ к данным.
$Connect to 'database@server_name' user 'name' using $parol;
Последовательность выполнения лабораторной работы
Убедиться в наличии и заполненности базы данных поставщиков, деталей, изделий, поставок.
Разработать и отладить HTML-формы для ввода данных пользователя согласно варианту задания.
Средствами языка ESQL/C разработать и отладить CGI-скрипты для обработки данных HTML-формы и доступа к базе данных.
После выполнения лабораторной работы привести базу данных в исходное состояние.
Требования к разрабатываемой программе
Разрабатываемые программы должна удовлетворять следующим требованиям:
разрабатываемое программное приложение должно содержать HTML-документ с формой для ввода данных и CGI-скрипт, вызываемый по окончании работы с HTML-формой;
CGI-скрипт должен быть написан на языке ESQL/C;
ввод параметров задания в HTML-форме может быть осуществлен либо путем ввода значений в текстовом виде, либо посредством выбора значений из предлагаемого списка;
программа должна быть написана в предположении, что любой пользователь без ограничений может иметь доступ к данным;
в программе должен быть предусмотрен вывод сообщений обо всех шагах ее выполнения, в том числе и о возможных ошибках;
все действия в отношении базы данных должны выполняться в рамках транзакций;
программа должна быть достаточно документирована.
Варианты заданий
Вариант 1
Вывести информацию о поставщиках, поставивших детали для изделий из указанного города.
Увеличить рейтинг поставщика, выполнившего наибольшую поставку некоторой детали, на указанную величину.
Вариант 2
Вывести информацию о деталях, поставки которых были осуществлены для указанного изделия.
Изменить цвет самой тяжелой детали на указанный.
Вариант 3
Вывести информацию о поставщиках, которые осуществляли поставки деталей из заданного города в указанный период.
Вставить поставщика с заданными параметрами.
Вариант 4
Вывести информацию о поставщиках, поставивших указанную деталь в заданный период.
Удалить поставщика, выполнившего меньше всего поставок.
Вариант 5
Вывести информацию обо всех деталях, поставляемых для указанного изделия более чем одним поставщиком.
В таблице поставок изменить номер поставщика при заданном номере детали и изделия.
Вариант 6
Вывести информацию о деталях, поставки которых были осуществлены для указанного изделия всеми поставщиками.
Увеличить рейтинг поставщика, выполнившего больший суммарный объем поставок, на указанную величину.
Вариант 7
Вывести информацию об изделиях, для которых была поставлена указанная деталь.
Изменить название и город детали с максимальным весом на указанные значения.
Вариант 8
Вывести информацию о поставщиках, которые осуществляли поставки деталей для указанного изделия.
Увеличить рейтинг поставщика, выполнившего большее число поставок, на указанную величину.
Контрольные вопросы
Какова общая схема доступа к базам данных посредством
CGI-скриптов?
Каково назначение пустой строки
, генерируемой CGI-скриптов?
Каковы основные элементы
HTML-формы?
Каково назначение элемента
action HTML-формы?
В каком виде данные
, введенные в форме, передаются CGI-модулю?
В чем состоит особенность формата данных
, передаваемых из HTML-формы CGI-модулю?
Какова общая схема работы
CGI-скрипта, вводящего данные посредством HTML-формы?
В чем разница методов
GET и POST?
Как в
CGI-скрипте задать системные переменные, определяющие параметры сервера базы данных?
Каковы способы предоставления всем пользователям одинаковых полномочий на доступ к данным из
CGI-скрипта?
Каковы способы предоставления пользователям индивидуальных привилегий на доступ к данным из
CGI-скрипта?
В чем сильные и в чем слабые стороны
CGI-технологии?
Лабораторная работа 10 использование языка php для доступа к базам данных Цель работы
Ознакомиться с базовыми конструкциями языка PHP с целью написания с их использованием простейших PHP-программ доступа к базам данных.
Содержание работы и методические указания к ее выполнению
Для выполнения работы необходимо
ознакомиться с синтаксисом языка PHP;
изучить особенности передачи значений переменных HTML-формы в переменные PHP;
ознакомиться c набором функций для общения с СУБД PostgreSQL;
с использованием средств языка PHP разработать и отладить программу доступа к базе данных.
Язык РНР - это действующий на стороне сервера встраиваемый в HTML язык, имеющий синтаксис, близкий к языку Си. Язык РНР дает возможность вставлять в файлы HTML инструкции языка PHP для создания динамического содержания. Эти инструкции обрабатывает препроцессор-интерпретатор РНР и заменяет их тем содержимым, которое производит этот код. PHP-программа может целиком состоять из конструкций языка PHP, а может быть смесью конструкций языков PHP и HTML. Стандартное расширение файла с PHP-программой - php.

Одним из распространенных применений РНР является работа с базами данных. Для целого ряда баз данных РНР имеет собственную поддержку, а другие доступны через ODBC-функции РНР. При вызове PHP-программы URL-адрес должен содержать номер порта, через который работает PHP:
html://fpm.ami.nstu.ru:81/~pmxxyy/t1.php
К особенностям языка PHP относятся:
возможность встраивать конструкции языка PHP в HTML-документ;
возможность включать в PHP-программу файлы;
наличие достаточного набора встроенных функций;
возможность определять собственные переменные, строки, массивы, объекты;
наличие необходимого набора управляющих структур;
возможность вводить собственные функции.
Одна из наиболее удобных особенностей PHP - это способность автоматически передавать значения переменных из HTML-форм в переменные PHP. PHP автоматически генерирует массивы $_POST, $_GET, $_REQUEST и другие, имена элементов которых совпадают с именами объектов в HTML-форме и содержащих значения данных объектов. Массивы эти ассоциативные, т.е. если в форме присутствовала переменная "a", то она будет передана как $_POST["a"], $_GET["a"] или $_REQUEST["a"] соответственно. В результате отпадает необходимость в выполнении рутинного преобразования, связанного с разбором последовательности