Страницу Назад
Поискать другие аналоги этой работы

250

Лабораторные работы №№1-10 по дисциплине: Базы данных, Вариант №3

ID: 218336
Дата закачки: 21 Мая 2021
Продавец: NikolaSuprem (Напишите, если есть вопросы)
    Посмотреть другие работы этого продавца

Тип работы: Работа Лабораторная
Форматы файлов: Microsoft Word
Сдано в учебном заведении: СибГУТИ

Описание:
Необходимо выполнить 10 практических заданий: 3 по языку SQL и 7 по языку РНР, при этом задания по языку SQL различны: номер варианта соответствует остатку от деления на 8 номера студента в списке группы.
Практическое занятие № 1
1. Напишите запрос, который выводит все строки из таблицы Покупателей, для которых рейтинг покупателя не меньше 200.
2. Напишите запрос, который выводит дату и номера продавцов для всех строк из таблицы Заказов.
3. Напишите запрос, который выводит оценку (rating), сопровождаемую именем каждого покупателя с рейтингом меньше 300
4. Напишите запрос, который выводит города размещения Покупателей без каких бы то ни было повторений.
5. Напишите запрос, который может выдать вам поля sname и city для всех продавцов в Лондоне с комиссионными строго больше .11
6. Напишите запрос к таблице Покупателей, которые находятся в Лондоне и имеют рейтинг меньше или равный 200.
7. Запросите двумя способами все заказы на 3, 4 и 5 Октября.
Практическое занятие № 2
1. Напишите запрос, который может вывести всех покупателей, чьи имена начинаются с буквы, попадающей в диапазон от A до S.
2. Напишите запрос, который выберет всех покупателей, имена которых содержат букву n.
3. Напишите запрос, который сосчитал бы сумму всех заказов для продавца с номером 1001.
4. Напишите запрос, который сосчитал бы количество дней, в течение которых оформлялись заказы.
5. Напишите запрос, который выбрал бы наибольший заказ для каждого продавца.
6. Напишите запрос, который выбрал бы покупателя, чье имя является первым в алфавитном порядке среди имен, заканчивающихся на букву s.
7. Напишите запрос, который выбрал бы средние комиссионные в каждом городе.
Практическое занятие № 3
1. Напишите запрос, который вывел бы для каждого заказа на 4 и 6 Октября его номер, стоимость заказа в евро (1$=0.8 евро), имя продавца и размер комиссионных, полученных продавцом за этот заказ. После стоимости заказа вставьте - евро.
2. Напишите запрос, который выводит номера заказов в возрастающем порядке, а также имена продавцов и покупателей каждого заказа, размещенных не в Лондоне и не в Риме.
3. Запросите имена продавцов в алфавитном порядке, суммарные значения их заказов, совершенных после 4 Октября, и полученные комиссионные.
4. Выведите номера заказов, их стоимость и имена продавцов и покупателей, причем продавцы и покупатели должны размещаться в городах, чьи названия начинаются с букв, не попадающих в диапазон от L до R.
5. Напишите запрос, который выводит все пары номеров заказов, выполненные 3 Октября. Исключите комбинации заказа с самим собой, а также пары в обратном порядке.
6. С помощью подзапроса выведите имена всех продавцов, чьи покупатели имеют рейтинг меньше 300.
7. Запросите общие суммы заказов для каждого продавца, у которого эта общая сумма меньше, чем максимальный заказ в таблице.

Практическое занятие № 4
1.Используя переменные $color и $size сформировать php-скрипт z05-1.php, который выводит на экран строку текста заданным цветом и размером.
(Использовать листинг 1-2).
2.В скрипте z05-2.php имеется переменная $breakfast со значением "gamburger" и динамическая переменная $$breakfast со значением " and tea".
Объяснить, что будет выведено на экран в случаях (а), (б), (в) и почему:
(а) print "$breakfast $gamburger";
(б) print "$breakfast"; print "$$breakfast";
(в) print $breakfast; print $$breakfast;
(Использовать листинг 2-1).
3.Выполните листинг 3-1 (ls3-1.php).
В скрипте z05-3.php создайте переменную $breakfast со значением "gamburger" и переменную $breakfast2 являющуюся ссылкой на переменную $breakfast. Отобразите на экране значение переменной $breakfast2 до, а затем после присвоения переменной $breakfast значения "tea". Объясните результат.
(Использовать листинг 2-2).
4.В скрипте z05-4.php создайте константу NUM_E со значением 2.71828 (число е).
Выведите на экран значение этой константы в виде строки "Число e равно …".
Присвойте переменной $num_e1 значение константы и отобразите тип переменной $num_e1.
Последовательно измените тип переменной $num_e1 на строковый, целый и булевский; отобразите тип и получившееся значение переменной $num_e1.
(Использовать листинги 3-2 и 5-1).
5.Пусть в скрипте z05-5.php переменная $lang может принимать значения "ru", "en", "fr" или "de". Используя операторы if-else-elseif обеспечьте вывод на экран полного названия языка (русский, английский, …) в зависимости от того, что задано в строке вызова скрипта:
z05-5.php?lang=ru [en/fr/de]
Обязательно предусмотреть случай неверного задания значения параметра lang - тогда должна выводиться надпись "язык неизвестен".
(Использовать листинг 6-2).
6.Сделайте тоже самое, что в задании № 5, но используя оператор switch
(скрипт z05-6.php).
(Использовать листинг 6-3).
7.Пусть в скрипте z05-7.php переменная $lang может принимать 2 значения "ru" или "en". Используя оператор ? обеспечьте вывод на экран фразы "Привет" или "Hello" в зависимости от того, что задано в строке вызова скрипта:
z05-7.php?lang=ru [en]
(Использовать листинг 6-4).

Практическое занятие №5
1.Выполните листинги 7-1, 7-2, 7-3, 7-4, 7-5.
Используя вложенные циклы while в скрипте z06-1.php отобразите на экране таблицу Пифагора 10×10 (т.е. таблицу умножения чисел от 1 до 10). При этом фон диагональных ячеек должен быть того цвета, который задается вне циклов. Ширина рамки таблицы равна 1, отступ содержимого ячеек от границы равен 5.
Обязательно используйте служебные символы табуляции и новой строки для создания читабельного html-файла.
(Использовать листинги 7-1 и 7-6).
2.Используя вложенные циклы for в скрипте z06-2.php отобразите на экране таблицу сложения чисел от 1 до 10. При этом цвет цифр в верхней строке и левом столбце должен быть задан через $color вне циклов, а в левой верхней ячейке должен стоять знак "+" красного цвета. Ширина рамки таблицы равна 1, отступ содержимого ячеек от границы равен 5.

(Использовать листинг 7-6).
3.В скрипте z06-3.php создайте 4 функции с именами Ru(), En(), Fr(), De(). Каждая функция выводит на экран приветствие на соответствующем языке:
Ru() - "Здравствуйте!",
En() - "Hello!",
Fr() - "Bonjour!" и
De() - "Guten Tag!".
Эти функции имеют аргумент $color, который определяет цвет выводимого текста. Используя функцию-переменную $lang(), отобразить на экране одно из приветствий, причем какое приветствие будет выведено и каким цветом - задать как параметры в строке вызова скрипта:
z06-3.php?lang=Ru&color=[назв-е цвета]
En/Fr/De
(Использовать листинг 8-3).
4.В скрипте z06-4.php используя аргументы $day и $color функции WeekDay(), а также глобальную переменную $size отобразите названия дней недели уменьшающимся размером (начиная с 7) и разными цветами.
(Использовать листинги 8-1 и 8-4).
5.Выполните листинги 8-5, 8-6, 8-7, 8-8, 8-9.

Практическое занятие № 6
1.В скрипте z07-1.php
Создайте массив $treug[] "треугольных" чисел, т.е. чисел вида n(n+1)/2 (где n=1,2,… 10) и выведите значения этого массива на экран в строку (через 2 пробела).
Создайте массив $kvd[] квадратов натуральных чисел от 1 до 10, выведите значения этого массива на экран в строку.
Объедините эти 2 массива в массив $rez[], выведите результат на экран.
Отсортируйте массив $rez[], выведите результат на экран.
Удалите в массиве $rez[] первый элемент, выведите результат на экран.
С помощью функции array_unique() удалите из массива $rez[] повторяющиеся элементы, результат занесите в массив $rez1[] и выведите его на экран.
(Использовать листинги 9-2 - 9-10).
2.В скрипте z07-2.php
1. Создайте массив $treug[] "треугольных" чисел (для n от 1 до 30)
и массив квадратов $kvd[] (для n от 1 до 30).
2. Используя вложенные циклы for отобразите на экране таблицу Пифагора 30×30 (размер чисел в ячейках: size=1). В этой таблице фон у ячеек с квадратами чисел должен быть синим, а у ячеек с "треугольными" числами - зеленым. У ячеек, в которых стоят числа, одновременно являющиеся и квадратами и "треугольными" (здесь это числа 1 и 36) фон должен быть красным. У остальных ячеек фон белый. Для проверки правильности закрашивания ячеек, под таблицей выведите "треугольные" числа в строку. В результате должно получиться так:
(Использовать листинги 9-2 и 7-6).
3.С помощью скрипта z07-3.php отобразите на экране таблицу Пифагора 30×30 (border=1, отступ содержимого ячеек от границы равен 0, ширина ячейки 14 пикселов, высота ячейки 15 пикселов, размер символов в ячейке size=1, но вместо чисел поставьте неразрывный пробел:  ).
Фон ячеек определяется в зависимости от того, чему равен остаток от деления числа в ячейке на 7 следующим образом:
если остаток равен 0, то фон белый (white),
если 1 - голубой (aqua),
если 2 - синий (blue),
если 3 - желтый (yellow),
если 4 - фиолетовый (purple),
если 5 - красный (red)
и если 6 - лимонный (lime)
(здесь можно использовать либо оператор if, либо switch).
Посмотрите на получившийся узор:
4.В скрипте z07-4.php
1. Создайте массив $colors[], элементами которого являются цвета: белый, голубой, синий, желтый, фиолетовый, красный и лимонный
(т.е. последовательность цветов из предыдущего скрипта).
2. Используя таблицу Пифагора из предыдущего скрипта (z07-3.php), добавьте еще один внешний цикл, его индекс k - это число (от 4 до 7), в зависимости от остатков от деления на которое ячейки будут раскрашиваться в цвета из массива $colors[]. Таким образом, должно получиться 4 таблицы-мозаики. Перед каждой таблицей выведите чему равно k (т.е. на что мы делим).

5.В скрипте z07-5.php
1. Создайте ассоциативный массив $cust[]
с ключами cnum, cname, city, snum и rating
и значениями: 2001, Hoffman, London, 1001 и 100.
Выведите этот массив (вместе с именами ключей) на экран.
2. Отсортируйте этот массив по значениям. Выведите результат на экран.
3. Отсортируйте этот массив по ключам. Выведите результат на экран.
4. Выполните сортировку массива с помощью функции sort().
Выведите результат на экран и объясните что получилось.
(Использовать листинги 9-1 - 9-10).

Практическое занятие № 7
1.Создайте файл z08-1a.htm с HTML-формой, позволяющей выбрать
а) горизонтальное (align, варианты значений: left, center, right),
б) вертикальное (valign, варианты значений: top, middle, bottom)
расположение текста в таблице.
Для (а) использовать радиокнопки, для (б) - флажки.
Обработка формы выполняется в скрипте z08-1b.php по нажатии кнопки "Выполнить".
В скрипте z08-1b.php сформировать таблицу, состоящую из одной ячейки шириной и высотой 100 пикселов, атрибуты ячейки align и valign должны получить значения, переданные из формы. В ячейку таблицы поместить слово "Текст". Под таблицей вставить гиперссылку на файл z08-1a.htm ("Назад").
(Использовать листинги 10-1 и 10-2).
2.На основе предыдущего задания создайте файл z08-2.php с HTML-формой, которая вызывает сама себя. По умолчанию установите такие значения: для align - "left", для valign - "top".
(Использовать листинг 10-8).
3.Создайте файл z08-3a.htm с HTML-формой "Гoрoдa и памятники" для тестирования знаний. В этой форме нужно ввести имя тестируемого, а затем для каждого памятника выбрать, в каком городе он находится. Выбор городов - раскрывающийся список. Список вопросов и ответов - в файле vopr.txt.
Обработка формы выполняется в скрипте z08-3b.php, в котором необходимо создать массив $otv с номерами правильных ответов (см. файл vopr.txt) и сделать вывод на экран имени тестируемого и оценки его знаний в зависимости от количества правильных ответов (см. файл vopr.txt, использовать оператор switch).
(Использовать листинги 10-3 и 10-4).
4.Листинг 10-3 последовательно сохранить как z08-45.php, z08-46.php, z08-47.php для того, чтобы выполнились листинги 10-5, 10-6 и 10-7 (ls10-5.php, ls10-6.php и ls10-7.php).
5.На основе листинга 10-9 создайте скрипт z08-5.php в котором сперва проверяется, было ли присвоено значение переменной $site. Если проверка дает положительный результат, осуществляется перенаправление пользователя на сайт поисковой системы, адрес которого - значение переменной $site. Если же значение переменной $site не задано, выводится HTML-форма с раскрывющимся списком поисковых сайтов:
Эти сайты должны быть занесены в массив $list_sites[]. Предполагается, что данный массив может дополняться, а значит его размер заранее неизвестен, поэтому раскрывающийся список с адресами поисковых систем сформировать с помощью цикла while и функции, возвращающей количество элементов массива.

Практическое занятие №8
1.Создайте скрипт z09-1.php, в котором в СУБД MySQL в базе данных sample с помощью функций РНР создайте таблицу notebook_brNN (здесь NN - номер бригады) со следующими полями:
id - целое, непустое, автоинкремент, первичный ключ,
name - строка переменной длины, но не более 50 символов,
city - строка переменной длины, но не более 50 символов,
address - строка переменной длины, но не более 50 символов,
birthday - значение даты (DATE), т.е. год, месяц и число,
mail - строка переменной длины, но не более 20 символов.
Обязательно предусмотрите в случае ошибки вывод предупреждения:
"Нельзя создать таблицу notebook_brNN".
Совет. Перед командами создания таблицы добавьте две РНР-команды, в первой из которых содержится SQL-запрос, уничтожающий таблицу, если она уже есть:
"DROP TABLE IF EXISTS notebook_brNN"
- для того, чтобы при повторном выполнении скрипта z09-1.php не появлялось сообщения об ошибке.
(Использовать листинг 11-1).
2.Создайте скрипт z09-2.php с HTML-формой для заполнения таблицы notebook_brNN:
Полями, обязательными для заполнения являются name и mail, т.е. только когда они не пустые, информация заносится в таблицу notebook_brNN.
(Использовать листинг 11-2).
3.Создайте скрипт z09-3.php для вывода всех записей таблицы notebook_brNN.
В форме для заполнения таблицы (z09-2.php) введите дату с нарушением формата (или вообще не число) и посмотрите, что будет занесено в таблицу.
(Использовать листинг 11-3).
4.Создайте скрипт z09-4.php, в котором:
1. Должна быть HTML-форма, выводящая все записи таблицы notebook_brNN, причем рядом с каждой строкой таблицы стоит радиокнопка для выбора той строки, в которой нужно что-то изменить:
Имя этой группы радиокнопок - id, а передаваемое значение - соответствующее значение поля id таблицы notebook_brNN (оно равно $a_row[0]).
2. Если значение переменной $id задано, вывести соответствующую строку таблицы в виде выпадающего списка, а рядом текстовое поле для ввода нового значения:
Под выпадающим списком стоит кнопка "Заменить":
Имя элемента select в форме - field_name, имя текстового поля - field_value.
В атрибуте VALUE элементов OPTION (выпадающего списка) значения укажите явно (\\\\\\\'name\\\\\\\', \\\\\\\'city\\\\\\\' и т.д.).
А на экране должны отображаться значения ассоциативного массива
$a_row[\\\\\\\'name\\\\\\\'] ... $a_row[\\\\\\\'mail\\\\\\\'].
Совет. В этой же форме добавьте еще скрытое поле
<input type=hidden name=id value=$id>
чтобы не "потерять" значение пременной $id.
3. Если заданы значения переменных $id и $field_name, обновите в таблице notebook_brNN значение поля $field_name на $field_value где id=\\\\\\\'$id\\\\\\\'.
Здесь же вставьте ссылку на файл z09-3.php, чтобы увидеть результат (возможно придется дополнительно нажать кнопку "Обновить" браузера).
(Использовать листинг 11-4).

Практическое занятие № 9
1.Создайте файл z10-1.htm с HTML-формой, позволяющей выбрать
а) структуру (группа флажков "structure") и/или
б) содержимое (группа флажков "content")
любой таблицы базы данных study:
При нажатии кнопки "Вывести" должен вызываться скрипт z10-2.php (для передачи названий таблиц используйте метод GET):
2.Скрипт z10-2.php должен быть составным, т.е. иметь вид:
Именно таким образом и происходит отделение оформления страниц сайта от обращения к СУБД и от собственно наполнения (контента) каждой страницы.
Особенно важно, чтобы для инициализации обращения к базе данных был один единственный inc-файл! Тогда, чтобы заменить логин и пароль доступа к БД (например, при смене провайдера сайта), достаточно исправить всего один файл.
3.В файле z10-3.inc содержится раздел <style>, в котором заданы CSS-стили для:
th - шрифт Arial, размер шрифта 10pt,
td - шрифт Courier New, размер шрифта 12pt,
h4 - цвет заголовка синий, размер шрифта 14pt.
и команды </head> <body>
4.В файле z10-4.inc содержатся php-команды для подключение к базе данных study.
5.В файле z10-5.inc содержатся функции vid_structure() и vid_content() для отображения структуры и содержимого таблицы, выбранной в HTML-форме (имя таблицы является аргументом функций).
Перед вызовом функций обязательно проверять, заданы ли значения для переменных $structure и $content.
Функция vid_structure() отображает структуру выбранной таблицы (использовать листинг 11-6).
Функция vid_content() отображает содержимое выбранной таблицы, причем в первой строке таблицы, в каждой ячейке <th> сперва указаны русские названия для столбцов таблицы, а через <br> — собственно имена столбцов. Для этого в функции создайте ассоциативный массив $rus_name[], в котором ключами будут имена столбцов, а значениями ключей — русские названия этих столбцов (массив должен быть единый для всех 3 таблиц).
В заголовках <h4> ("Структура таблицы …" и "Содержимое таблицы …") должно подставляться название выбранной таблицы.
В конце файла z10-5.inc поставьте гиперссылку на z10-1.htm ("Возврат к выбору таблицы").
6.В файле z10-6.inc содержится php-команда для отключения от базы данных.

Практическое занятие №10
1.Создайте скрипт z11-1.php, в котором:
1. Присвойте переменной имя файла notebook_brNN.txt (NN - номер бригады). Проверьте, существует ли такой файл на сервере, если да — выведите фразу "файл существует", если нет — создайте файл с помощью соответствующей функции.
Откройте созданный файл на запись.
2. Извлеките всю информацию из таблицы notebook_brNN (NN - номер бригады) в базе данных sample.
В цикле, перебирая содержимое строк таблицы:
с помощью функции ereg_replace() замените встречающиеся даты из формата ГГГГ-ММ-ДД в формат ДД-ММ-ГГГГ
запишите в файл notebook_brNN.txt последовательно содержимое каждой ячейки таблицы notebook_brNN (с уже исправленной датой!), причем, в качестве разделителя записей используйте последовательность символов
"пробел | пробел", т.е. " | "
после считывания каждой строки таблицы добавляйте в файл символы "\\\\\\\\n" (признак конца строки)
3. Закройте файл notebook_brNN.txt. Затем откройте его на чтение, прочтите его построчно и выведите результат на экран тоже построчно:
(Использовать листинги 11-3, 12-6 и 12-8).
2. Создайте скрипт z11-2.php, в котором:
1. Присвойте переменной имя файла notebook_brNN.txt (NN - номер бригады). Проверьте, существует ли такой файл на сервере, если да, то прочтите информацию из файла в массив $file_array построчно помощью функции file().
2. Создайте html-таблицу (рамка=1, отступ содержимого от границ ячеек=10) для вывода на экран массива $file_array.
В цикле, перебирая содержимое массива:
примените функцию rtrim() для удаления с правого конца каждой строки (являющейся элементом массива) последовательности символов "| \\\\\\\\n"
[функция rtrim() имеет 2 аргумента: 1 — строка символов, 2 — последовательность символов, (включая пробелы!), которую нужно удалить в конце строки].
с помощью соответствующей функции замените "|" на "</td><td>"
Имейте в виду, что символ "|" является служебным в РНР, поэтому его необходимо экранировать.
с помощью функции preg_replace() замените e-mail на гиперссылку "mailto:". Как шаблон можно задать образец
"(любые символы кроме пробела)@(любые символы кроме пробела)".
3. Ниже таблицы с помощью соответствующей функции выведите на экран дату и время последней модификации файла notebook_brNN.txt:
(Использовать листинги 13-2 и 14-2).
3.Выполните листинги 14-1, 14-3, 14-4.

Комментарии: Год сдачи: 2021
Сибирский Государственный Университет Телекоммуникации и Информатики
Оценка: Отлично
В архиве папка с отчётами и отдельная папка с кодом.

Размер файла: 8,9 Мбайт
Фаил: Упакованные файлы (.rar)
-------------------
Обратите внимание, что преподаватели часто переставляют варианты и меняют исходные данные!
Если вы хотите, чтобы работа точно соответствовала, смотрите исходные данные. Если их нет, обратитесь к продавцу или к нам в тех. поддержку.
Имейте ввиду, что согласно гарантии возврата средств, мы не возвращаем деньги если вариант окажется не тот.
-------------------

   Скачать

   Добавить в корзину


    Скачано: 11         Коментариев: 0


Не можешь найти то что нужно? Мы можем помочь сделать! 

От 350 руб. за реферат, низкие цены. Просто заполни форму и всё.

Спеши, предложение ограничено !



Что бы написать комментарий, вам надо войти в аккаунт, либо зарегистрироваться.

Страницу Назад

  Cодержание / Базы данных / Лабораторные работы №№1-10 по дисциплине: Базы данных, Вариант №3
Вход в аккаунт:
Войти

Забыли ваш пароль?

Вы еще не зарегистрированы?

Создать новый Аккаунт


Способы оплаты:
UnionPay СБР Ю-Money qiwi Payeer Крипто-валюты Крипто-валюты


И еще более 50 способов оплаты...
Гарантии возврата денег

Как скачать и покупать?

Как скачивать и покупать в картинках


Сайт помощи студентам, без посредников!