Главная страница
Навигация по странице:

  • Задание на лабораторную работу

  • Вопросы для самопроверки

  • Практическая работа № 1.46.Теоретические основы Технологии ado.Net Цель работы

  • Базовые классы подсоединенных объектов ProviderFactory

  • Подсоединенные классы Автономные классы

  • Базовые классы автономных объектов

  • DataView

  • Практическая работа № 1.47. Создание базы данных в среде MssqlServerManagement. Практическая работа № 1.48. Создание базы данных в среде MssqlServerManagement Цель работы

  • Ход работы Задание

  • Методические указания по выполнению лабораторных и практических работ по мдк


    Скачать 3.25 Mb.
    НазваниеМетодические указания по выполнению лабораторных и практических работ по мдк
    Дата23.01.2023
    Размер3.25 Mb.
    Формат файлаpdf
    Имя файла37._MU_PZ_PM.01_MDK_01.01_Razrabotka_programmnyx_moduley(1)_remo.pdf
    ТипМетодические указания
    #899980
    страница20 из 24
    1   ...   16   17   18   19   20   21   22   23   24
    Маршрут отправки запроса
    Маршрут - это адрес, по которому отправляется ваш запрос. Его структура примерно следующая: root-endpoint/path?
    - root-endpoint - это точка приема запроса на стороне сервера (API). К примеру, конечная точка GitHub - https://api.github.com;
    - path - это путь, определяющий запрашиваемый ресурс, это что-то вроде автоответчика, который просит вас нажать 1 для одного сервиса, 2 - для другого и т.д.
    Для понимания того, какие именно пути вам доступны, вам следует просмотреть документацию. К примеру, предположим, вы хотите получить список репозиториев для конкретного пользователя на Git. Согласно документации, вы можете использовать следующий путь для этого:
    /users/:username/repos
    Вам следует подставить под пропуск имя пользователя. Например, чтобы найти список репозиториев пользователя torvalds, вы можете использовать маршрут: https://api.github.com/users/torvalds/repos
    Последняя часть маршрута - это параметры запроса. Технически запросы не являются частью REST-архитектуры, но на практике сейчас все строится на них. Так что давайте поговорим о них более детально. Параметры запроса позволяют использовать в запросе наборы пар «ключ-значение». Они всегда начинаются знаком вопроса. Каждая пара параметров разделяется амперсантом:
    ?query1=value1&query2=value2
    Для описанного ранее метода доступны параметры, описанные в табл. 6.2.
    Таблица 6.2
    Параметры метода
    Наименование
    Тип
    Возможные значения
    Значение по умолчанию type string all, owner, member owner sort string created, updated, pushed, full name full_name string asc, desc
    При использовании sort=full_name asc, в противном случае desc
    Например, чтобы получить список недавно запущеных репозиториев пользователя torvalds, вам следует ввести следующее: https://api.github.com/users/torvalds/repos?sort=pushed
    JSON
    JSON - JavaScript Object Notation - общий формат для отправки и приема данных посредством REST API. Ответ, отправляемый Github, также содержится в формате JSON.
    JSON-текст представляет собой (в закодированном виде) одну из двух структур:
    - набор пар ключ: значение. В различных языках это реализовано как объект, запись, структура, словарь, хэш-таблица, список с ключом или ассоциативный массив. Ключом может быть только строка (регистрозависимая: имена с буквами в разных регистрах считаются разными), значением - любая форма;
    - упорядоченный набор значений. Во многих языках это реализовано как массив, вектор, список или последовательность.
    В качестве значений в JSON могут быть использованы:
    -
    объект - это неупорядоченное множество пар ключ: значение, заключенное в фигурные скобки «{ }». Ключ описывается строкой, между ним и значением стоит символ «:». Пары ключ- значение отделяются друг от друга запятыми;

    4
    -
    массив (одномерный) - это упорядоченное множество значений. Массив заключается в квадратные скобки «[ ]». Значения разделяются запятыми;
    -
    число;
    -
    литералы true, false и null.
    Строка - это упорядоченное множество из нуля или более символов юникода,
    заключенное в двойные кавычки. Символы могут быть указаны с использованием escape- последовательностей,
    начинающихся с обратной косой черты «\»(поддерживаются варианты \',
    \", \\, \/, \t, \n, \r, \f и \b), или записаны шестнадцатеричным кодом в кодировке
    Unicode в виде
    \uFFFF.
    Строка очень похожа на одноименный тип данных в языках
    С
    и
    Java.
    Число тоже очень похоже на С- или Java-число, за исключением того, что используется только десятичный формат.
    Пробелы могут быть вставлены между любыми двумя синтаксическими элементами.
    Следующий пример показывает JSON-представление объекта, описывающего человека. В объекте есть строковые поля имени и фамилии, объект, описывающий адрес, и массив, содержащий список телефонов.
    Как видно из примера, значение может представлять собой вложенную структуру.
    {
    "firstName": "Иван",
    "lastName": "Иванов",
    "address": {
    "streetAddress": "Московское ш., 101, кв.101",
    "city": "Ленинград",
    "postalCode": "101101"
    },
    "phoneNumbers": [
    "812 123-1234",
    "916 123-4567"
    ]
    }
    Обратите внимание на пару "postalCode": "101101". В качестве значений в JSON могут быть использованы как число, так и строка. Поэтому запись "postalCode": "101101" содержит строку, а "postalCode": 101101 - уже числовое значение. Учитывая неопределенность типа переменных в JS (определены только типы значений), в дальнейшем, как правило, не возникает проблем с приведением типа. Но если данные в формате JSON обрабатываются в другой среде, отличной от JS, то нужно быть внимательным.
    На языке XML подобная структура выглядела бы примерно так:
    Иван
    Иванов

    Московское ш., 101, кв.101
    Ленинград
    101101

    812 123-1234 916 123-4567
    или так:


    5 812 123-1234 916 123-4567
    Задание на лабораторную работу
    Разработать протокол взаимодействия сервера и клиентов, описанных в лабораторной работе № 1. Разработать следующие методы:
    -
    GET без параметров и с параметрами;
    -
    POST;
    -
    PUT;
    -
    DELETE.
    Привести все коды возврата и описание возвращаемых данных в случае их наличия. Все данные в теле команд должны быть представлены в формате JSON.
    Вопросы для самопроверки
    1.
    В чем особенности архитектурного стиля взаимодействия компонентов распределенного приложения в сети REST?
    2.
    Назовите наиболее широко распространенные инструменты для описания RESTful API.
    3.
    Поясните следующие характеристики методов: «безопасность» и «идемпотентность».
    4.
    Перечислите методы, которые используются в REST. Дайте их краткую характеристику.
    5.
    Из каких составных частей состоит маршрут отправки запроса?
    Практическая работа № 1.46.Теоретические основы Технологии ado.Net
    Цель работы: изучить основытехнологии ado.Net
    Теоретическая часть
    Технология ADO.NET
    Microsoft
    ADO.NET
    (ActiveX Daia Objects) — объектная модель доступа к данным; набор средств, позволяющих приложению управлять и взаимодействовать со своим файловым или серверным хранилищем данных. Библиотеки
    ADO.NET
    включают классы, которые служат для подсоединения к источнику данных, выполнения запросов и обработки их результатов.
    Объектная модель ADO Net представлена на рисунке 1.

    6
    Рисунок 1 – Объектная модель ADO .Net
    Подсоединенные объекты используются для управления соединением, транзакциями, для выборки данных и передачи изменений они взаимодействуют непосредственно с БД.
    Большинство подключенных объектов реализовано в рамках того, что называется поставщиками данных. Поставщики данных Net (NЕТ data provider) - это набор классов, предназначенных для взаимодействия с хранилищем данных определенного типа (рисунок 2).
    Рисунок 2 – Поставщики данных.Net
    Каждый поставщик данных .NET реализует одинаковые базовые классы —
    ProviderFactory, Connection, ConnectionStringBuilder, Command, DataReader, Parameter и
    Transaction, имена которых зависят от поставщика.
    Например, у поставщика SQL Client .NET Data Provider есть объект SqlConnection, а у поставщика ODBC .NET Data Provider это объект QdbcConnection. Но независимо от типа поставщика, объект Connection реализует одинаковые базовые функции посредством одних и тех же базовых интерфейсов.
    Базовые классы подсоединенных объектов
    ProviderFactory — новый класс в
    ADO.NET
    версии 2.0, действующий как фабрика объектов, которая дает возможность создавать образцы других классов для поставщика данных
    .NET. Каждый класс ProviderFactory предлагает метод Create, в котором создаются объекты
    Connection, ConnectionStringBuilder, Command, Parameter, DataAdapter и CommandBuilder.
    Класс Connection - применяется для соединения с БД и отсоединения от нее. С помощью свойств этого объекта можно задать тип источника, его расположение прочее. Объект Connection
    Подсоединенные классы
    Автономные классы
    ProviderFactory
    Connection
    Transaction
    ConnectionStringBu ilder
    Command
    Parameter
    DataReader
    DataAdapter
    DataSet
    DataTable
    DataColumn
    DataRow
    Constraint
    DataRelation
    DataView
    Програм ма
    Источни к данных
    ADO .NET
    Ав тон ом ны е объ ек ты
    Поставщи к данных

    7 выступает в качестве канала, по которому другие классы, например DataAdapter и Command,
    взаимодействуют с БД для передачи изменении и выборки их результатов.
    ConnectionStringBuilder - новый класс в
    ADO.NET
    версии 2.0. Этот класс делает проще процесс построения строк подключения для поставщика данных .NET. Каждый класс
    ConnectionStringBuilder предоставляет свойства, которые соответствуют опциям, доступным в той самой строке подключения поставщика данных. Создав строку подключения с помощью класса ConnectionStringBuilder, можно получить доступ к строке подключения средствами свойства ConnectionString класса ConnectionStringBuilder.
    Transaction используется для выполнения группы команд вместе как неделимую операцию. В классе Connection есть метод BeginTransaction, позволяющий создавать объекты
    Transaction. С помощью объекта Transaction удается подтвердить или отменить все коррективы, сделанные в ходе транзакции.
    Класс Command - может осуществлять запрос к БД, вызов хранимой процедуры или прямой запрос на возврат содержимого конкретной таблицы. Команда может возвратить или нет какой-либо результат (в зависимости от этого выполнение объекта Command запускается различными методами).
    Parameter - используется для создания параметризованного объекта Command. Для использования параметров создаются классы Parameter, соответствующие всем параметрам запроса, затем они добавляются в класс Parameters объекта Command. Класс Parameter
    ADO.NET
    предоставляет свойства и методы, позволяющие определить тип данных и значение параметров.
    Класс DataReader предназначен для максимально быстрой выборки и просмотра воз- вращаемых запросом записей. Он позволяет просматривать результаты запроса по одной записи за раз. При переходе к следующей записи содержимое предыдущей отбрасывается. Объект
    DataReader не поддерживает обновление, и возвращаемые им данные доступны только для чтения. Поскольку класс DataReader реализует лишь ограниченный набор функций, он очень прост и имеет высокую производительность.
    Класс DataAdapter воплощает новую концепцию моделей доступа к данным Microsoft.
    Это своеобразный шлюз между БД и отсоединенными объектами модели
    ADO.NET
    . Он устанавливает подключение или, если подключение уже установлено, содержит достаточно информации, чтобы воспринимать данные автономных объектов и взаимодействовать с базой данных предписанным образом.
    Базовые классы автономных объектов
    Объекты, составляющие автономную часть модели
    ADO.NET
    , не взаимодействуют напрямую с подсоединенными объектами, для этого используется DataAdapter. Автономные объекты не должны знать о базе данных, поэтому они могут совместно использоваться различными базами.
    При автономной работе с данными живое соединение с БД не понадобится, однако вы не увидите изменений, внесенных другими пользователями после выполнения вами исходного запроса.
    При работе в автономном режиме
    ADO.NET
    ведет пул реальных физических подключений для различных запросов, таким образом многократно повышая свою производительность.
    Класс DataSet содержит набор данных. Данные в нем отсоединены от БД. Все изменения данных кэшируются в объектах DataRow. Кроме того, класс DataSet предоставляет функции чтения и записи в файл и область памяти. Можно сохранить только содержимое объекта DataSet, только его структуру или и то и другое.
    ADO.NET
    хранит эти данные в виде XML-документа.
    Класс Data Table похож на таблицу базы данных. Он состоит из объектов DataColumn,
    DataRow и различных налагаемых па них ограничений. Он хранит данные в формате строк и столбцов.
    Класс DataColumn соответствует столбцу таблицы. В действительности же DataColumn содержит не данные, хранящиеся в объекте DataTable, а информацию о структуре столбца. Такая разновидность информации называется метаданными (metadata).

    8
    Класс DataTable содержит свойство — Constraint — типа ConstrsantsCollection. Оно позволяет создавать объекты ForeignKeyConstraint или UniqueConstraint и ассоциировать различные столбцы с определенными условиями, которым должны соответствовать данные из
    DataTable
    Объект DataTableпредоставляет через набор Rowsсодержимое всех записей данных.
    Когда вы изменяете содержимое записи, DataRowкэширует эти изменения, чтобы позже передать их в БД. Таким образом, при изменении значения поля записи объект DataRowхранит оригинальное и текущее значения поля, что обеспечивает успешное обновление содержимого
    БД.
    DataRelation позволяет задать отношения между различными таблицами, с помощью которых можно проверять соответствие данных из различных таблиц, а также просматривать родительские и дочерние строки из различных объектов DataTable. Кроме того, объекты
    DataRelation предоставляют свойства, позволяющие обеспечить ссылочную целостность.
    Выбрав результаты запроса в объект DataTable, его содержимое можно просматривать разными способами посредством объекта DataView. Просматривать содержимое одного объекта
    DataTable можно одновременно посредством нескольких объектов DataView.
    DataSet со строгим контролем типов — это класс, наследованный от класса DataSet и включающий свойства и методы, основанные на указанной вами схеме. Кроме того, этот класс содержит другие классы для объектов DataTable и DataRow, они позволяют создавать более эффективный код доступа к данным
    Практическая работа № 1.47. Создание базы данных в среде MssqlServerManagement.
    Практическая работа № 1.48. Создание базы данных в среде MssqlServerManagement
    Цель работы: ознакомиться с основными конструкциями SQL, технологиями среды MS
    SQL Server Management, объектами SMO (среды MS Visual Studio) для резервного копирования и восстановления БД.
    Ход работы
    Задание: Необходимо в среде SQL Server Management Studio:
    Создать новую базу данных (далее БД); 2) создать в этой БД таблицы и связи для реализации всех функций предметной области МММ.
    Для работы с базами данных MS SQL Server 2005 существует много возможностей - одна из них это инструмент SQL Server Management Studio (далее SSMS).
    1. Запустите среду SQL Server Management Studio и подключитесь к локальному серверу MS
    SQL Server, используя технологию 1.
    2. Если соединение прошло успешно, то откроется основное окно среды Management Studio.
    Рассмотрите подробно все компоненты среды.
    3. Среда Management Studio представляет данные в виде окон, выделенных для отдельных типов данных. Сведения о базе данных отображаются в обозревателе объектов и окнах документов.
    Найдите в открытом окне среды раздел «Обозреватель объектов», вид которого представлен на рисунке 3.
    Рисунок 3 – Обозреватель объектов в среде SSMS
    Обозреватель объектов является представлением в виде дерева, в котором отображаются все объекты базы данных на сервере. Обозреватель объектов включает сведения по всем серверам, к которым он подключен.

    9 4. Далее найдите в открытом окне среды раздел «Окно документов». Окно документов представляет собой наиболее крупную часть среды Management Studio. В окнах документов могут размещаться редакторы запросов и окна обзора. По умолчанию отображается страница
    «Подробности обозревателя объектов», подключенная к экземпляру компонента Database
    Engine на данном компьютере.
    5. Найдите на панели инструментов среды кнопку «Создать запрос» и нажмите ее. Откроется окно создания запроса. С помощью данного окна можно создавать и выполнять запросы к БД.
    Наберите в основной области окна запроса select * from information_schema.tables и выполните запрос, нажав на кнопку «Выполнить». В нижней части окна запроса появится таблица с результатами, найдите ее. (Выполненный вами запрос извлекает информацию о существующих таблицах подключенной сейчас БД – это по умолчанию база данных Master и таблицы в ней системные).
    6. Найдите в открытом окне среды раздел «Окно базы данных», вид которого представлен на рисунке 4.
    Рисунок 4 – Окно базы данных в среде SSMS
    Именно это поле со списком позволяет выбрать применяемую в данный момент базу данных для выполнения запросов. По умолчанию в данном окне выбрана БД для учетной записи в которой зарегистрировался пользователь (для пользователя Sa это по умолчанию БД master)
    Далее приступим к созданию своей бд, для этого:
    7. В своей папке с проектом Лабы_ИСРКЭС создайте новую папку БД_МММ, в которой будет храниться БД.
    8. Самый простой способ создать базу данных — воспользоваться графическим интерфейсом
    SQL Server Management Studio. Создайте новую базу данных на Вашем локальном сервере
    MS SQL Server, используя технологию 2.
    9. Убедитесь в обозревателе объектов в появившейся только что базе данных МММ.
    10. Ознакомитесь с описанием предметной области в приложении 1.
    11. Далее приступим к созданию таблиц. Существует несколько методов, рассмотрим один из них. В обозревателе объектов разверните узел БД МММ_ВашеФИО и выберите в списке ветвь Таблицы  вызовите контекстное меню и выберите «Создать».
    12. Создадим сначала таблицу Модель. Определим сначала все столбцы и типы данных в окне создания таблицы. Вводите имена столбцов без пробелов, кириллицей, в нижнем регистре.
    Конструктор таблицы «Модель» изображен на рисунке 5.
    Рисунок 5 – Структура таблицы «Модель»
    13. Сделайте столбец код_модели первичным ключом, используя технологию 3.
    14. Закройте окно создания таблицы и сохраните, если еще этого не сделали, таблицу под именем модель.
    15. Сделайте столбец код_модели счетчиком, используя технологию 4.
    16. Создайте аналогично остальные таблицы для раздела Заказ и Реализация продукции предметной области (таблицы Магазин, Заказ, Состав_заказа, Готовая_продукция).
    Внимательно определяйте типы данных.
    17. Создайте связи между таблицами предметной области, используя технологию 5.

    10 18. Заполните таблицу «Модель» данными, используя информацию из файла каталог (см.
    Сетевую папку. Местонахождение папки спросить у преподавателя.)
    1   ...   16   17   18   19   20   21   22   23   24


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