Методические указания к лабораторной работе по дисциплине «Постреляционные базы данных»


Скачать 294.36 Kb.
НазваниеМетодические указания к лабораторной работе по дисциплине «Постреляционные базы данных»
страница4/4
ТипМетодические указания
1   2   3   4

Практическое выполнение

Работа с коллекциями - LINQ to object


В среде MS Visual Studio создать консольное приложение на языке С#. Определить и инициализировать коллекцию (список строк). Используя технологию linq to objects выполнить набор запросов (через точечный синтаксис и запросом).

Открыть Visual Studio.

Создать новый проект (консольный).

Указать тип Visual C# - Windows – Console Application и имя проекта, нажать ОК.

Далее в коде функции Main ввести код программы.И затем запустить программу на выполнение.

Команда вывода данных (1-й параметр – строка вывода, остальные подставляются через фигурные скобки):

Console.WriteLine(" Test - {0} {1}", "Hello!", 123);

Команда ввода:

Console.ReadKey();

Общий код:

static void Main(string[] args)

{

Console.WriteLine(" Test - {0} {1}", "Hello!", 123);

Console.ReadKey();

}

результат:


Работа с базой данных - linq to sql


Открыть MS Visual Studio

Создать проект

Указать его имя и тип.

Контекст БД DataContext

DataContext - это класс, устанавливающий соединение с базой данных. Он также предоставляет несколько служб, обеспечивающих отслеживание идентичности, отсле­живание изменении и обработку этих изменений.

DataContext — это класс, соединяющий с базой данных, отслеживающий то, что мы изменяем, и обновляющий базу данных при вызове метода SubmitChanges.
В LINQ to SQL принято использовать класс, производный от DataContext. Имя про­изводного класса обычно совпадает с именем базы данных, на которую он отобража­ется.

Добавить к проекту класс

И указать его тип – LINQ to SQL

Откроется окно конструктора

Вызвать Server Explorer (из меню Вид) для просмотра объектов БД (соединения с БД)

Выбрать нужное соединение (или создать новое) и в нем открыть БД и ее объекты

Вызвать Server Explorer (из меню Вид) для просмотра объектов БД (соединения с БД)

Перетащить из Server Explorer таблицы, функции и процедуры в окно конструктора.



Открыть окно проекции БД в класс контекста двойным щелчком по названию класса в Solution Erplorer.

Название класса контекста было указано при его создании (по умолчанию DataClasses1).

Откроется код класса контекста, в котором можно посмотреть названия классов и объектов таблиц и их полей.

Обращение к БД из программы

Добавить в проект ссылку на библиотеку

Из контекстного меню решения (проекта) выбрать Add Reference

В проекте перейти к редактированию экранной формы (двойным щелчком по ее названию в Solution Explorer). Поместить на нее таблицу И кнопку.

Для работы с БД создать контекст (переменная БД и ее инициализация при открытии формы)

LINQ to SQL подразумевает использование сущностных классов, причем каждый из них обычно отображается на единственную таблицу базы данных. Таким образом, мы имеем сущностные классы, отображенные на таблицы базы данных, и свойства сущностных классов, отображенные на столбцы этих таблиц. Это отображение “класс-таблица" и “свойство-столбец” являются сутью LINQ to SQL.

Обращение к таблице


Двойным щелчком по кнопке (в редакторе формы) перейти к коду ее обработчика и написать код заполнения таблицы данными из БД:

Обращение таблице через контекст :

Источник данных таблицы = Контекст.таблица

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;
namespace WindowsFormsApplication6

{

public partial class Form1 : Form

{

public DataClasses1DataContext db;

public Form1()

{

InitializeComponent();

db=new DataClasses1DataContext();

}
private void button1_Click(object sender, EventArgs e)

{

dataGridView1.DataSource = db.persons;

}

}

}

Запустить проект и проверить работу.

Добавить кнопки и в обработчике каждой указать запрос на извлечение данных (формат Linq в точечной нотации, в качестве коллекции указать таблицу).

Вывод в таблицу результата выполнения запроса.

Вызов процедуры или функции:

Обращение через контекст:

Контекст.процедура(параметры)

Вызов хранимых процедур и функций БД происходит через обращение к одноименным методам объекта-контекста. Типы входных и выходных параметров соответствуют объявленным в БД.

Скалярная функция возвращает одно значение, которое присваивается переменной.

Табличная – коллекцию (ее можно присвоить источнику данных или обработать в цикле).

Процедура – 1 значение, коллекцию или ничего ( в зависимости от конкретной ситуации).

Редактирование таблицы

Добавление объекта в таблицу


Создать объект через new,

Присвоить значения его полям,

Добавить через контекст в таблицу,

Сохранить изменения контекста в БД.


Удаление


Открыть объект через запрос к таблице БД,

Выбрать из результата запроса конкретный объект,

Удалить объект из таблицы через контекст,

Сохранить изменения контекста в БД.


Изменение


Открыть объект через запрос к таблице БД,

Выбрать из результата запроса конкретный объект (функция Single() обеспечивает извлечение одного объекта, а не коллекции),

Изменить значения полей объекта

Сохранить изменения контекста в БД.



Работа со связанными таблицами

В запросах к связанным таблицам можно переходить по связям 1-М в обоих направлениях.

Например, таблицы Builders и Road связаны М-1.

В запросе к Builders можно использовать поля road (значение внешнего ключа) и road1(ссылка на связанный объект в другой таблице):

dataGridView1.DataSource = from b in db.builders

where b.road1.src=="СПб"

select new { b.title, b.road, b.road1.id,

b.road1.src, b.road1.dest,

b.road1.type, b.road1.cost };

Из запроса к Road можно использовать поле builders (множество объектов в связанной таблице), например (выбрать дороги, которые строила компания CMYххх)

dataGridView1.DataSource = from r in db.roads

where r.builders.Count()>0 && r.builders.Any(x=>x.title.Contains("CMY"))

orderby r.src,r.dest

select new {r.src,r.dest,r.type,r.id,

t = r.builders.First(x => x.title.Contains("CMY")).title,

r.builders.Count };

Пример задания


1. Работа с коллекциями - LINQ to obiect

В среде MS Visual Studio создать консольное приложение на языке С#. Определить и инициализировать коллекцию (список строк). Используя технологию linq to objects выполнить набор запросов (через точечный синтаксис и запросом):

  • строки, содержащие подстроку,

  • отсортированные строки,

  • (точечный синтаксис) количество строк, являющихся уникальными,

  • группировка строк длиной 3 символа по первой букве. В результат — первая буква строки, количество строк в группе (генерация объектов «на лету»).

Результат отобразить на экране.

2. Работа с базой данных - linq to sql

2.1. Создать БД

В среде MS SQL Server Management Studio создать БД lab6_91 (или использовать созданную ранее) и добавить в нее таблицы

"Hotel"(отель), содержит свойства:

  • hname - название – строковое varchar(10), (КЛЮЧ),

  • hcity – город – строковое varchar(15),

  • stars – количество звезд – целое.



"Client" (клиент), содержит свойства:

  • fio - ФИО – строковое, varchar(50),

  • num - номер – целое,

  • ofhotel — отель — varchar(10),(ВНЕШНИЙ КЛЮЧ)

  • id - идентификатор (КЛЮЧ - PK) – целое, автоинкремент.

Открыть таблицы на редактирование и заполнить тестовыми данными.

2.2. Создать windows приложение на языке С#. Настроить соединение с созданной ранее (в п.1) БД. Подключить все таблицы. Создать форму, содержащую таблицы, набор полей и кнопок. Определить элементы и действия:

  • Отобразить отели в таблицу.

  • Продемонстрировать добавление, удаление и редактирование отеля.

Продемонстрировать запросы с фильтром (вывод в таблицы через дополнительные кнопки):

  • Отели 5 звезд,

  • Клиенты отелей Москвы,

  • Отели с двумя и более клиентами (отель, город, количество клиентов).

Использовать точечный синтаксис и методы коллекций.

Продемонстрировать работу приложения.

3. Работа с xml-документов - linq to XML

3.1. Создать xml-документ

К предыдущему приложению добавить кнопку, по которой формируется xml-документ на основе таблиц БД вида:







название

Петров

Иванов


….




……..



……



3.2. Запросы к xml-документу

Создать консольное или windows приложение на языке С#. Открыть xml-документ. Выполнить ряд запросов (отображение записей по условию, создание, изменение и удаление элементов и атрибутов):

  • по указанному отелю список его клиентов,

  • добавление, удаление и редактирование клиента отеля,

  • города и количество отелей в каждом.

Продемонстрировать работу приложения.

Требования к отчету


  • Титульный лист

  • Задание на выполнение

  • Исходный код создания объектов БД (SQL)

  • Исходный код приложения для работы с LINQ

  • Скриншоты с результатами выполнения команд

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


  1. Каковы назначение и возможности языка linq?

  2. Отличия linq to objects, sql, xml ?

  3. Как на языке linq создавать запросы с сортировкой?

  4. Как на языке linq создавать запросы с условием?

  5. Как на языке linq создавать запросы группировкой?

  6. Другие конструкции языка.

  7. Запросы с точечным синтаксисом и в формате запроса.

  8. LINQ to SQL. Соединение с БД, обращение к таблицам. Переход по связям.

  9. LINQ to SQL. Создание, удаление и изменение записей таблицы.

  10. LINQ to SQL. Соединение с БД, обращение к процедурам и функциям.

  11. LINQ to XML. Создание, удаление и изменение элементов и атрибутов.

  12. LINQ to XML. Запросы к документу.



Литература


  1. Джозеф с. Раттц - мл. LINQ. Язык интегрированных запросов в C# 2008 для профессионалов. - Издательский дом Вильямс. - 2008 г.

  2. Основы программирования на C#. - Электронный ресурс [http://www.intuit.ru]

  3. Э. Троелсен. Язык программирования C#2010 и платформа .NET 4.0.
1   2   3   4

Похожие:

Методические указания к лабораторной работе по дисциплине «Постреляционные базы данных» iconМетодические указания к лабораторным работам по дисциплине «Постреляционные базы данных»
Целью лабораторной работы является практическое изучение возможностей постреляционного расширения языка sql для создания хранимых...

Методические указания к лабораторной работе по дисциплине «Постреляционные базы данных» iconМетодические указания к практическим работам по дисциплине «Базы данных»
Методические указания предназначены для проведения практических занятий по дисциплине «Базы данных», для специальности ксиК

Методические указания к лабораторной работе по дисциплине «Постреляционные базы данных» iconМетодические указания к лабораторной работе «делопроизводство»
Андреев Б. Ф., Гусева А. И. Методические указания к лабораторной работе «Делопроизводство» для студентов специальности «Менеджмент...

Методические указания к лабораторной работе по дисциплине «Постреляционные базы данных» iconПояснительная записка к курсовой работе по дисциплине «Базы данных»
Метод исследования – моделирование базы данных в программе Microsoft Access 2013

Методические указания к лабораторной работе по дисциплине «Постреляционные базы данных» iconМетодические указания для выполнения курсового проекта по дисциплине «Базы данных»
Одобрена предметной комиссией «программного обеспечения и информационных технологий»

Методические указания к лабораторной работе по дисциплине «Постреляционные базы данных» iconПояснительная записка к курсовой работе по дисциплине «Базы данных»
Фио, категория клиента, паспортные данные (свидетельства о рождении), контактные данных)

Методические указания к лабораторной работе по дисциплине «Постреляционные базы данных» iconПояснительная записка к курсовой работе по дисциплине «Базы данных»
Спроектировать реляционную базу данных «Магазин дисков для детей «Childs Dream»». Бд обеспечивает выполнение следующих запросов

Методические указания к лабораторной работе по дисциплине «Постреляционные базы данных» iconМетодические указания для выполнения лабораторных работ и «Базы данных»
Лабораторная работа №1 «Организация хранения данных в субд ms access»

Методические указания к лабораторной работе по дисциплине «Постреляционные базы данных» iconЛабораторная работа №1 Принципы Управления проектами с использованием microsoft project 6
Управление проектами с помощью Microsoft Project: Методические указания к лабораторной работе по дисциплине «Основы организационного...

Методические указания к лабораторной работе по дисциплине «Постреляционные базы данных» iconМетодические указания для архивных отделов (архивов) муниципальных...
Информация базы данных служит основой для составления отчетов, паспорта архива, сведений для фондовых каталогов, может быть использована...

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск