Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прога - ответы2.docx
Скачиваний:
19
Добавлен:
23.04.2019
Размер:
206.38 Кб
Скачать
  1. Понятие бд и субд. Язык sql. Ado.Net как средство доступа из c# к субд. Понятие бд

Существует множество определений баз данных (БД) в их понимании, однако общепризнанная единая формулировка отсутствует. Наиболее часто используются следующие отличительные признаки:

  • БД хранится и обрабатывается в вычислительной системе. Таким образом, любые внекомпьютерные хранилища информации (архивы, библиотеки, картотеки и т. п.) базами данных не являются.

  • Данные в БД логически структурированы (систематизированы) с целью обеспечения возможности их эффективного поиска и обработки в вычислительной системе.

  • БД включает метаданные, описывающие логическую структуру БД в формальном виде.

Понятие субд

Система управления базами данных (СУБД) — совокупность программных и лингвистических средств, обеспечивающих управление созданием и использованием баз данных.

Основные функции СУБД:

  • управление данными во внешней памяти (на дисках);

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

  • журнализация изменений, резервное копирование и восстановление базы данных после сбоев;

  • поддержка языков БД (язык определения данных, язык манипулирования данными).

Некоторые модели данных СУБД:

Иерархическая

Связи между данными представляются в виде дерева

Сетевая

Связи между объектами представляются в виде графа

Реляционная

Данные организованы в виде двумерных таблиц

Объектно-ориентированная

Данные представлены с помощью объектной модели

Реляционные базы данных являются наиболее распространенными.

SQL

SQL (англ. Structured Query Language — «язык структурированных запросов») — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных.

Изначально, SQL был основным способом работы пользователя с базой данных и позволял выполнять следующий набор операций:

  • создание в базе данных новой таблицы;

  • добавление в таблицу новых записей;

  • изменение записей;

  • удаление записей;

  • выборка записей из одной или нескольких таблиц (в соответствии с заданным условием);

а, также, изменение структур таблиц. Со временем, SQL усложнился, добавились новые конструкции, новые объекты БД (например, индексы, представления, триггеры и хранимые процедуры). Однако при всех своих изменениях, SQL остаётся единственным механизмом связи между прикладным ПО и базой данных. В то же время, современные СУБД предоставляют пользователю развитые средства визуального построения запросов.

Каждое предложение SQL — это запрос или обращение к базе данных, которое приводит к изменению в базе данных. В соответствии с тем, какие изменения происходят в базе данных, различают следующие типы запросов:

  • запросы на создание или изменение в базе данных новых или существующих объектов ;

  • запросы на получение данных;

  • запросы на добавление новых данных (записей)

  • запросы на удаление данных;

  • обращения к СУБД.

Обзор синтаксиса

Согласно общепринятому стилю программирования, операторы (и другие зарезервированные слова) в SQL всегда следует писать прописными буквами. Операторы SQL делятся на:

  • операторы определения данных (Data Definition Language, DDL)

    • CREATE создает объект БД (саму базу, таблицу, представление, пользователя и т. д.)

    • ALTER изменяет объект

    • DROP удаляет объект

  • операторы манипуляции данными (Data Manipulation Language, DML)

    • SELECT считывает данные, удовлетворяющие заданным условиям

    • INSERT добавляет новые данные

    • UPDATE изменяет существующие данные

    • DELETE удаляет данные

  • операторы определения доступа к данным (Data Control Language, DCL)

    • GRANT предоставляет разрешения на определенные операции с объектом

    • REVOKE отзывает ранее выданные разрешения

    • DENY задает запрет, имеющий приоритет над разрешением

  • операторы управления транзакциями (Transaction Control Language, TCL)

    • COMMIT применяет транзакцию.

    • ROLLBACK откатывает все изменения, сделанные в контексте текущей транзакции.

    • SAVEPOINT делит транзакцию на более мелкие участки.

Примеры SQL запросов:

создает таблицу Student с полями Code, Name, Address, Mark

CREATE TABLE Student (

Code INTEGER NOT NULL,

Name CHAR(30) NOT NULL,

Address CHAR(50),

Mark DECIMAL

);

добавляет в таблицу Students запись с перечисленными полями

INSERT INTO Students VALUES ( 1, “Иванов Василий”, “<адрес>”, 4 );

Выбирает все (*) поля тех записей из таблицы Students, у которых значение поля Mark равно 8

SELECT * FROM Students WHERE Mark = 8;

ADO.NET

Библиотеки ADO.NET можно применять различными способами:

  • в подключенном режиме,

  • в автономном режиме

При использовании подключенного уровня (connected layer), кодовая база явно подключается к соответствующему хранилищу данных и отключается от него. При таком способе использования ADO.NET обычно происходит взаимодействие с хранилищем данных с помощью объектов подключения, объектов команд и объектов чтения данных.

Автономный уровень (disconnected layer) позволяет работать с набором объектов DataTable (содержащихся в DataSet), который представляет на стороне клиента копию внешних данных. При получении DataSet с помощью соответствующего объекта адаптера данных подключение открывается и закрывается автоматически. Этот подход помогает быстро освобождать подключения для других вызовов и повышает масштабируемость систем. Получив объект DataSet, вызывающий код может просматривать и обрабатывать данные без затрат на сетевой трафик. А если нужно занести изменения в хранилище данных, то адаптер данных (вместе с набором операторов SQL) задействуется для обновления данных — при этом подключение открывается заново для проведения обновлений в базе, а затем сразу же закрывается.