Презентация на тему "Основы баз данных"

Презентация: Основы баз данных
1 из 121
Ваша оценка презентации
Оцените презентацию по шкале от 1 до 5 баллов
  • 1
  • 2
  • 3
  • 4
  • 5
5.0
1 оценка

Комментарии

Нет комментариев для данной презентации

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


Добавить свой комментарий

Аннотация к презентации

Презентация powerpoint на тему "Основы баз данных". Содержит 121 слайда. Скачать файл 0.83 Мб. Самая большая база качественных презентаций. Смотрите онлайн или скачивайте на компьютер. Средняя оценка: 5.0 балла из 5.

  • Формат
    pptx (powerpoint)
  • Количество слайдов
    121
  • Слова
    другое
  • Конспект
    Отсутствует

Содержание

  • Презентация: Основы баз данных
    Слайд 1

    Основы баз данных

  • Слайд 2

    База данных – это совокупность данных, которая предназначена для машинной обработки и служит для удовлетворения нужд многих пользователей в рамках одной или нескольких организаций. База данных состоит из одной или нескольких таблиц: строки таблицы называются записями, столбцы – полями. Все записи таблицы разные.

  • Слайд 3

    Первичный ключ – это одно или несколько полей таблиц, по которым можно однозначно найти запись. Чаще в качестве первичного ключа используют целое число, которое увеличивается при добавлении новой записи в таблицу.

  • Слайд 4

    Совокупность таблиц, связанных между собой определенным образом, называется реляционной базой данных (РБД). Виды связей между таблицами БД: Один к одному (1 : 1) Один ко многим (1 : М) Многие к одному (М : 1) Многие ко многим (М : N)

  • Слайд 5

    Основное достоинство РБД – повышение эффективности использования БД за счет Применения специальных языков манипулирования данными (SQL) Ликвидации избыточности представления информации

  • Слайд 6

    Локальные БД – располагаются на одном компьютере вместе с обращающимся к ним приложением. Работа с такими БД производится обычно в однопользовательском режиме. Локальная БД может также работать в сети. В таком случае файлы БД и приложения располагаются на сервере, и при запуске этого приложения на компьютере пользователя запускается его копия. Такой принцип работы с БД соответствует архитектуре файл-сервер.

  • Слайд 7

    Удаленные БД размещаются на сервере сети, а приложение, работающее с этой БД, располагается на компьютере пользователя, что соответствует архитектуре клиент-сервер (двухуровневая архитектура). Клиентом является приложение пользователя, которое формирует запрос (на языке SQL) для получения данных и посылает его на удаленный сервер, где находится БД. При получении такого запроса, удаленный сервер отправляет его серверу БД (SQL-серверу). Сервер БД представляет собой программу, с помощью которой осуществляется управление удаленной БД и обеспечивает выдачу клиенту результатов выполнения поступившего запроса. Вся работа происходит непосредственно на удаленном сервере.

  • Слайд 8
  • Слайд 9

    Основы баз данных

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

  • Слайд 10
  • Слайд 11

    Механизмы доступа к данным

  • Слайд 12

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

  • Слайд 13

    Наиболее популярными среди универсальных механизмов доступа к данным являются следующие: ODBC (Open DataBase Connectivity) OLE DB (Object Linking and Embedding, DataBase) ADO (ActiveX Data Objects) BDE (Borland Database Engine) ODBC, OLE DB, ADO – (Microsoft) промышленные стандарты BDE – механизм, применяемый в средствах разработки фирмы Borland (устаревший механизм, применяется для обратной совместимости с ранее разработанными БД)

  • Слайд 14

    ODBC, OLE DB, ADO – (Microsoft) промышленные стандарты

  • Слайд 15

    ODBC

    Для доступа к конкретным СУБД через ODBC нужен ODBC-администратор – приложение, позволяющее определить: Какие источники данных доступны для данного компьютера с помощью ODBC ODBC-драйвер для доступа к этой БД Для каждой используемой СУБД нужен соответствующий ODBC-драйвер

  • Слайд 16
  • Слайд 17

    Настройка источника данных ODBC

  • Слайд 18

    OLE DB

    В середине 1990-х годов, с развитием и распространением технологии COM (ComponentObjectModel), компания Microsoft объявила о постепенном переходе от ODBC к использованию новой технологии OLEDB. OLE DB – представляет собой программный интерфейс для доступа к различным источникам данных: реляционные и нереляционные данные, текстовая и графическая информация и т.д.) Любой программный компонент, применяющий OLE DB, является потребителем

  • Слайд 19

    Потребители могут обращаться к данным посредством ADO или применять OLE DB непосредственно, используя OLE-DB-провайдер. Провайдер – это часть ПО, в которой реализованы интерфейсы OLE DB. Существуют два типа провайдеров: провайдеры данных и сервисные компоненты.

  • Слайд 20
  • Слайд 21

    OLE DB

    Провайдеры данных – это компоненты ПО, манипулирующие данными. Они располагаются между потребителями данных и БД. Примеры: Microsoft Jet 4.0 OLE DB Provider Microsoft OLE DB Provider for ODBC Drivers Microsoft OLE DB Provider for SQL Server Microsoft OLE DB Provider for Oracle и др

  • Слайд 22

    Сервисный компонент (провайдер сервисов) – реализует расширенную функциональность, не поддерживаемую обычными провайдерами данных. Сервисный компонент может обращаться к хранилищу данных непосредственно или с помощью соответствующего провайдера данных – в этом случае провайдер сервисов является одновременно и поставщиком и потребителем. Примеры: Microsoft Cursor Service for OLE DB Microsoft Data Snapping Service for OLE DB

  • Слайд 23

    Каждый OLE DB-провайдер должен содержать реализацию объектов:

  • Слайд 24

    Объект DataSource – предоставляет данные из источника данных потребителю; инкапсулирует информацию, связанную с соединением (включая имя пользователя и пароль). Объект Session - предоставляет контекст для транзакций, может генерировать наборы данных (rowsets) из источников данных, а также команды для запросов к источнику данных. Объект Command – используется для выполнения команд, представляющих собой строки, передаваемые от потребителя данных объекту DataSource для выполнения. Объект Rowset(набор данных) позволяет OLE DB-провайдеру данных представлять данные из источников данных в табличном формате, также используется для обновления, добавления или удаления строк

  • Слайд 25

    ADO

  • Слайд 26

    OLEDB является интерфейсом системного уровня, который используется системными программистами. ADO – представляет собой высокоуровневый программный интерфейс для доступа к OLE DB-интерфейсам. ADO позволяет манипулировать данными с помощью любых OLE DB-провайдеров. ADO содержит набор объектов, используемых для соединения с источником данных, для чтения, добавления, удаления и модификации данных. Технология ADO является наиболее эффективной и универсальной.

  • Слайд 27

    Для работы с ADO в Delphiпредусмотрены компоненты, расположенные на странице ADO (в последних версиях на странице dbGo). Они инкапсулируют такие объекты ADO как Connection, Command и RecordSet.

  • Слайд 28

    Для связи с набором данныхиспользуются компоненты ADO: ADOConnection – используется для соединения с различными источниками ADO, ADODataSet – используется для выборки данных из одной или нескольких таблиц и доступа к ним посредством ADO, ADOTable – используется для работы с одной таблицей в базе данных

  • Слайд 29

    ADOQuery – служит для определения SQL-операторов, позволяющих осуществить доступ к одной или нескольким таблицам в БД, ADOStoredProc – предназначена для исполнения хранимых процедур БД, ADOCommand – обеспечивает выполнение команд, не возвращающих результаты

  • Слайд 30

    Для обмена информацией между набором данных и компонентами визуализации и управления данными используется компонент DataSourse. Для визуализации и управления данными применяются компоненты DBGrid, DBText, DBNavigator и др.

  • Слайд 31
  • Слайд 32

    Компонент ADOConnection

  • Слайд 33

    Данный компонент связывается с набором данных ADO. Компонент ADOConnection позволяет настроить процедуру аутентификации, контролировать транзакции, напрямую выполнять команды, адресованные БД, кроме того, он позволяет сократить количество подключений, существующих в рамках приложения. Для использования данного компонента необходимо разместить его на форме и настроить его свойство ConnectionString.

  • Слайд 34

    свойство ConnectionStringпредставляет собой строку, содержащую в себе несколько параметров соединения, которые разделяются друг от друга точками с запятой: Provider – имя провайдера, используемое для соединения, File name– имя файла, содержащего информацию о соединении, Remote provider– имя провайдера, используемое со стороны клиента, Remote Server – путь и имя сервера. и др.

  • Слайд 35

    При выборе первой опции необходимо указать Data Link File –файл связи с данными, содержащий информацию о подключаемой БД. Файл может иметь любое расширение, но обычно это файл с расширением *.udl.

  • Слайд 36
  • Слайд 37
  • Слайд 38
  • Слайд 39
  • Слайд 40
  • Слайд 41

    Компонент ADOConnection

    Строка соединения - ConnectionString Provider=MSDASQL.1; Persist Security Info=False; Extended Properties="DSN=MS Access Database;DBQ=D:\Мои базы SQLSERVER\base.accdb;DefaultDir=D:\Мои базы SQL SERVER;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;"

  • Слайд 42

    Read—только чтение; ReadWrite — чтение и запись; ShareDenyNone— режим совместной работы невозможен; ShareDenyRead— нельзя совместно использовать данные, открытые в режиме чтения; ShareDenyWrite— нельзя совместно использовать данные, открытые в режиме записи; ShareExclusive— нельзя совместно использовать данные, открытые в режиме чтения и/или записи; Write – только запись.

  • Слайд 43

    Компонент ADOConnection

    Соединение с БД ADOConnection1.Open; или ADOConnection1.Connected := true; Метод Open, содержащего два необязательных параметра: UserID– идентификатор пользователя, Password – пароль пользователя. Закрытие соединения с БД ADOConnection1.Close; или ADOConnection1.Connected := false;

  • Слайд 44

    Свойства: LoginPromt :Boolean – определяет необходимость ввода пароля и идентификатора пользователя . Если LoginPromt=false– пароль можно не задавать ни в строке соединения, ни при вызове метода Open. свойство KeepConnection– используется для проверки соединения компонента ADOConnection с базой данных.

  • Слайд 45

    Соединение с базой данных может работать в синхронном или асинхронном режиме - свойство ConnectOptions: ConnectOptions=coСonnectUnspecifiedв синхронном режиме, ConnectOptions=coAsyncСonnectв асинхронном режиме. Синхронное соединение всегда ожидает результат последнего запроса, асинхронное соединение может выполнять новые запросы, не дожидаясь ответа от предыдущих запросов.

  • Слайд 46

    Работа с БД

    Для создания приложения БД через механизм ADO потребуются 3 группы компонентов: Компоненты – наборы данных (вкладка ADO / dbGo) Компоненты доступа к данным (вкладкаData Access) Компоненты управления данными (вкладкаData Controls)

  • Слайд 47

    Компоненты – наборы данных

  • Слайд 48

    Компоненты ADOTable и ADOQuery

    КомпонентADOTable: обеспечивает доступ к одной таблице базы данных. основное свойство TableNameс помощью которого задается имя таблицы. КомпонентADOQuery: используется для выполнения запросов на языке SQL, позволяет получать данные из одной или нескольких таблиц БД . основное свойство SQL,которое содержит текст запроса

  • Слайд 49

    Компонент ADODataset

    КомпонентADODataSet используется для выборки данных из одной или нескольких таблиц и доступа к ним посредством ADO. С помощью этого компонента можно: получить все данные из таблицы, установить фильтры для того, чтобы выбрать ту информацию, которая отвечает некоторым условиям, выполнять SQL-запросы, запускать системные и определенные пользователем хранимые процедуры, а также сохранять наборы данных в файле и загружать их.

  • Слайд 50

    Способ работы компонента определяется свойством CommandType. В зависимости от выбранного типа выставляется соответствующее значение свойстваCommandText Например, если выбран тип cmdTable, то в свойстве CommandText указывается название таблицы;

  • Слайд 51

    Для задания запроса, используется тип cmdText. В этом случае, свойство CommandText является составным и редактируется посредством редактора CommandText Editor

  • Слайд 52

    Компоненты доступа к данным

  • Слайд 53

    Компонент DataSource

    Вкладка Data Access Компонент DataSourceпредставляет собой «мост» между визуальными компонентами интерфейса БД и компонентами TDataSet. Необходим для работы практически любого из компонентов интерфейса БД. Позволяет устанавливать некоторые параметры НД, устанавливать состояние НД, отслеживать изменения НД

  • Слайд 54

    Компоненты управления данными (data controls)

  • Слайд 55

    Компоненты управления данными

  • Слайд 56
  • Слайд 57
  • Слайд 58
  • Слайд 59
  • Слайд 60

    Отображение данных из наборов

  • Слайд 61

    НАБОР ДАННЫХ ADODataSet ADOTable ADOQuery ИСТОЧНИК ДАННЫХ DataSource КОМПОНЕНТ УПРАВЛЕНИЯ И ОТОБРАЖЕНИЯ ДАННЫХ DBGrid, DBEdit, DBMemo, DBNavigator, … ADOConnection База данных ConnectionString Connection DataSet DataSource

  • Слайд 62

    Компоненты - наборы

    Свойства Active:boolean; – свойство определяет открыт ли набор CurrentRecord – номер текущей записи DataSource – свойство, указывающее родительскую таблицу (для таблиц, связанных отношением родитель-потомок) BOF – определяет, находится ли курсор в первой записи набора EOF – определяет, достигнут ли конец набора

  • Слайд 63

    State– текущее состояние набора данных. Возможные состояния наборов: dsInactive – набор закрыт dsBrowse – режим просмотра данных dsEdit – режим редактирования активной записи dsInsert – режим добавления данных dsSetKey – просмотр ограниченного множества записей или поиск записи dsCalcFields, dsFilter – выполняются обработчики onCalcFields или onFilterRecord, соответственно. dsOpening – режим открытия набора

  • Слайд 64

    Отслеживать состояние набора данных удобно через событие компонента DataSource - OnStateChange procedure TForm1.DataSource1StateChange (Sender:TObject); var s:string; begin case ADOTable1.Stateof dsInactive : s := ‘Inactive’; dsEdit : s := ‘Edit’; dsBrowse : s := ‘Browse’; dsInsert : s := ‘Insert’; else s := ‘other’; end; Label1.Caption := s; end; В результате в тексте метке выводится информация о текущем состоянии набора данных

  • Слайд 65

    Свойства Modified – свойство определяет, была ли изменена активная запись RecordCount – общее число записей в наборе Методы Open – открыть набор данных Close – закрыть набор данных

  • Слайд 66

    Открытие / закрытие наборов

    Открытие наборов данных ADOTable1.Active := true; или ADOTable1.Open; Закрытие наборов данных ADOTable1.Active := false; или ADOTable1.Close;

  • Слайд 67

    Поля наборов данных

  • Слайд 68

    Работа с полями набора данных

    Любой НД содержит как минимум одно поле. В Delphi каждому полю набора данных приложения соответствует собственный объект. Основой объектов полей является класс TField, который инкапсулирует основные свойства абстрактного поля, не зависящего от типа данных. От класса TFieldпорождены другие классы, обеспечивающие функционирование реальных объектов полей, зависящих от типа данных.

  • Слайд 69
  • Слайд 70

    Свойства класса TField Fields – массив полей набора данных (нумерация полей с 0). FieldCount – количество полей набора данных FieldName– имя поля Value – значение поля FieldByName(имя_поля):TField– доступ к полю по имени FieldValues[имя_поля]:Variant– текущее значение выбранного поля

  • Слайд 71

    Пример: Записать в список имена полей таблицы var S: String; begin ComboBox1.Items.BeginUpdate; ComboBox1.Items.Clear; fori:=0 toADOTable1.FieldCount-1 do begin S :=ADOTable1.Fields[i].FieldName; ComboBox1.Items.Add(s); end; ComboBox1.Items.EndUpdate; end;

  • Слайд 72

    Свойства приведения типов полей AsString– значение поля как строка AsInteger – значение поля как целое число AsDateTime – значение поля как дата/время AsBoolean – значение поля trueили false AsSingle – значение поля как веществ.число AsFloat –как веществ.число двойной точности и др.

  • Слайд 73

    Массив Fields предоставляет доступ к полям по номеру. При этом поля нумеруются в порядке следования при их объявлении Пример: Считать значение полей активной записи var S: String; x, y:integer; … S :=ADOTable1.Fields[0].asString; X :=ADOTable1.Fields[1].asInteger; y := ADOTable1.Fields[2].Value; …

  • Слайд 74

    Для доступа к полям по имени, используются свойства FieldByNameилиFieldValues(обращение по умолчанию) Пример: Считать значения полей активной записи в переменные var S: String; x,x1:integer; … S:=ADOTable1.FieldByName(‘CustName’).asString; X := ADOTable1.FieldValues[‘CustNo’]; … X1 := ADOTable1[‘CustNo’];

  • Слайд 75

    Имена объектов поля формируются путем объединения имени набора данных и имени поля. Например, если в таблице ADOTable1 имеется поле CustName, то объект класса TField данного поля получит имя ADOTable1CustNo Пример: Считать значения поляCustNo: Способы: S:=ADOTable1.FieldByName(‘CustNo’).asInteger; X := ADOTable1.FieldValues[‘CustNo’]; X1 := ADOTable1[‘CustNo’]; X2 := ADOTable1CustNo.asInteger;

  • Слайд 76

    Свойства класса TField DisplayLabel – имя поля при выводе DisplayWidth – ширина поля при выводе isNull – определяет содержит ли поле NULL-значение в текущей записи Required – является ли поле обязательным к заполнению CanModify – определяет, может ли поле изменяться идр

  • Слайд 77

    Пример: Для поля CustNo задать название «ИД заказчика», а ширину поля вывода - 30: ADOTable1.FieldByName(‘CustNo’).DisplayLabel := «ИД заказчика»; ADOTable1CustNo.DisplayWidth = 30;

  • Слайд 78

    Пример 2: Если значение поля CustNameне заполнено, выдать соответствующее сообщение: If ADOTable1.FieldByName(‘CustName’).isNull then ShowMessage(‘Поле не заполнено!’); If ADOTable1CustName.isNull then ShowMessage(‘Поле не заполнено!’);

  • Слайд 79

    Редактирование списка полей

  • Слайд 80

    Работа с полями набора данных

    В Delphi предусмотрено два способа создания объектов полей: статические и динамические поля. Динамические объекты полей автоматически создаются при открытии набора данных в соответствии со структурой связанной таблицы БД. Статические объекты полей создаются программистом на этапе разработки при помощи специализированного Редактора полей, их свойства доступны в Инспекторе объектов.

  • Слайд 81

    Для редактирования состава полей используется специальный редактор полей, который открывается двойным щелчком по объекту-набору данныхили через контекстное меню набора данных – Fields Editor

  • Слайд 82

    Кроме обычных полей данных, также можно создать вычисляемые поля и поля выбора

  • Слайд 83

    Вычисляемые поля – это поля, которые не существуют в реальных таблицах, а вычисляются по значениям других полей Для задания вычисляемого поля – используется Field type – Calculated Выражение для вычисления нужно задать в обработчике события onCalcFields набора данных. Данное событие возникает при открытии НД, а также при перемещении курсора от одной записи к другой. Если свойство AutoCalcFields = true, то событие onCalcFields возникает при каждой модификации невычисляемых полей этого набора данных.

  • Слайд 84

    Вычисляемые поля

    Пример: Для всех сотрудников выдать информацию по текущей зарплате, а также значение зарплаты, увеличенной на 20% Procedure TForm1.ADOTable1CalcFields(DataSet:TDataSet); Begin ADOTable1HighSalary.asFloat :=1.2*ADOTable1Salary.asFloat; End; Требуется: В список полей добавить новое вычисляемое поле «HighSalary» Создать обработчик события onCalcFields таблицы

  • Слайд 85

    Поля выбора

    Поля выбора (lookup-поля) – это поля, которые автоматически получают значения, выбранные из списка, формируемого на основе значений определенного поля из другого набора. Поля выбора позволяют отображать данные из таблицы, связанной отношением «многие-к-одному» с исходной таблицей. Для создания таких полей необходимо обязательно указать поле, через которое таблицы связаны друг с другом.

  • Слайд 86
  • Слайд 87

    Для определения поля выбора необходимо в редакторе полей создать новое поле типа Lookup.

  • Слайд 88

    Далее в группе параметров Lookup definitionследует настроить параметры для связи таблиц: Key Fields – поле в исходной таблице (НД-1), используемое в качестве внешнего ключа Dataset – набор данных (НД-2), из которого поле выбора должно получать значения Lookup Keys– поле для связи, определенное в НД-2 ResultField – поле результата, значение которого нужно выводить в исходной таблице (НД-1)

  • Слайд 89

    Вид таблицы с добавленным полем выбора

  • Слайд 90

    Навигация по набору данных

  • Слайд 91

    First – перейти к первой записи набора Last – перейти к последней записи набора Next – перейти к следующей записи Prev – перейти к предыдущей записи MoveBy(Distance:integer) – перейти на указанное в параметре Distance число записейвперед или назад

  • Слайд 92

    Пример:Найти сумму значений 4-го столбца таблицы ADOTable1.First; s := 0; While not ADOTable1.EOFdo begin x := ADOTable1.Fields[3].AsInteger; s := s + x; ADOTable1.Next; end;

  • Слайд 93

    Пример:Найти сумму значений 4-го столбца таблицы ADOTable1.Last; s := 0; While not ADOTable1.BOFdo begin x := ADOTable1.Fields[3].AsInteger; s := s + x; ADOTable1.Prev; end;

  • Слайд 94

    Пример:Найти сумму значений 4-го столбца таблицы ADOTable1.Last; s := 0; While not ADOTable1.BOFdo begin x := ADOTable1.Fields[3].AsInteger; s := s + x; ADOTable1.Move(-1); end;

  • Слайд 95

    Модификация данных

  • Слайд 96

    Append – добавление новой записи в конец набора Delete – удаление текущей записи набора Edit – перевод текущей записи в режим редактирования Cancel – отмена изменений, сделанных в текущей записи Post – сохранение изменений, сделанных в текущей записи SetFields(const Values: array of const) – используется для изменения значений всех или некоторых полей текущей записи

  • Слайд 97

    Refresh – обновление результирующего набора путем повторного извлечения данных из набора Insert – вставляет новую запись в текущую позицию InsertRecord – вставляет новую запись в текущую позицию со значениями, указанными в параметрах AppendRecord – вставляет новую запись в конец набора со значениями, указанными в параметрах

  • Слайд 98

    Перед модификацией данных, нужно вызвать метод Edit, Append или Insert, для перевода набора данных в состояние редактирования или добавления. Для сохранения измененных значений записи, требуется вызвать метод PostилиNext, для отмены изменений – метод Cancel Непосредственное изменение значения текущего поля активной записи выполняется одним из следующих способов: ADOTable1.Fields[1].AsString := ‘Иванов’; ADOTable1.FieldByName(‘CustName’).asString := ‘Иванов’; ADOTable1.FieldValues[‘CustName’] := ‘Иванов’; ADOTable1[‘CustName’] := ‘Иванов’;

  • Слайд 99

    Добавление записи

    Пример:В таблицу добавить запись со следующими значениями: CustNo = 1345, CustName = ‘Петров’, Price = 120.56; With ADOTable1 do Begin Append; FieldValues[‘CustNo’] := 1345; FieldValues[‘Price’] := 120.56; FieldByName(‘CustName’).asString :=‘Петров’; Post; end;

  • Слайд 100

    Редактирование записи

    Пример:В выбранной записи таблицы увеличить значение поля Price на 10% var x:single; … With ADOTable1 do Begin Edit; x := FieldValues[‘Price’]; FieldValues[‘Price’] := 1.1*x; Post; end;

  • Слайд 101

    Пример:Для всех записей таблицы увеличить значение поля Price на 10% var x:single; … With ADOTable1 do begin First; While not EOF do Begin Edit; x := FieldValues[‘Price’]; FieldValues[‘Price’] := 1.1*x; Next; end; end; Для сохранения результатов используется метод Next

  • Слайд 102

    Пример:В текущей записи изменить значения полей таблицы: CustNo = 1345, CustName = ‘Петров’, Price = 120.56; (Предположим, в таблице имеются следующие поля: CustNo, City, CustName,Price) With ADOTable1 do Begin Edit; SetFields([1345, nil, ‘Петров’, 120.56]); Post; end; Константа nil используется для сохранения предыдущего значения поля

  • Слайд 103

    Поиск данных

  • Слайд 104

    Фильтрация данных

    Свойства Filter:string; – свойство для задания фильтра. Фильтр определяет условие, которому должны удовлетворять доступные записи Filtered: boolean– определяет, используется ли фильтр, заданный свойством Filter Событие onFilterRecord – возникает, когда свойство Filtered устанавливается в True. В параметре Accept события можно указывать дополнительные (к Filter) условия фильтрации

  • Слайд 105

    Пример: Найти всех сотрудников с номерами > 1200, имена которых начинаются от буквы ‘A’ до ‘D’ ADOTable1.Filtered :=False; ADOTable1.Filter :='CustNo>1200 andContact1200 andContact

  • Слайд 106

    Поиск данных

    Поиск записей может осуществляться следующими методами: Found, FindFirst, FindPrev, FindNext, FindLast – логические функции, возвращающие True, если найдена запись, удовлетворяющая заданному фильтру (при этомзначение свойства Filtered может быть как Trueтак иFalse). Locate Lookup

  • Слайд 107

    Пример: Определить, есть ли в таблице сотрудники, номера которых > 2000 ADOTable1.Filtered :=False; ADOTable1.Filter :='CustNo>2000’; if ADOTable1.FindFirst thenShowMessage(‘Естьтакие сотрудники’) elseShowMessage(‘Нет таких сотрудников’);

  • Слайд 108

    Пример: Определить минимальную зарплату (поле Price)сотрудников с номерами > 2000 ADOTable1.Filtered :=False; ADOTable1.Filter := 'CustNo>2000’; If ADOTable1.FindFirstthenmin_price := ADOTable1.FieldValues[‘Price’]; While ADOTable1.Founddo begin x := ADOTable1.FieldValues[‘Price’]; if x

  • Слайд 109

    Метод Locate FunctionLocate(constKeyFields; constKeyValues: Variant; Options:TLocateOptions):Boolean; KeyFields – поле/поля, по которым ведется поиск в виде строки, разделитель «;» KeyValues – вариантный массив критериев поиска Options – множество режимов поиска: [] – пустое множество означает полное совпадение с критерием [loCaseInsensitive] – без учета регистра [loPartialKey]– частичное совпадение с критерием поиска

  • Слайд 110

    Поиск данных – метод Locate

    Метод Locate производит поиск по любым полям. Первая запись, удовлетворяющая критериям поиска становится активной. Пример – поиск по одному полю:Найти сотрудника по следующему критерию: CustName=‘Петров’ if ADOTable1.Locate(‘CustName’, ‘Петров’,[]) thenShowMessage (‘Запись найдена’) elseShowMessage(‘Запись не найдена’);

  • Слайд 111

    Пример – поиск по нескольким полям:Найти запись по следующим критериям: CustName=‘Петров’, City = ‘Москва’, Price = 1235 Установить режим частичного совпадения. if ADOTable1.Locate(‘CustName;City;Price’, VarArrayOf(‘Петров’, ‘Москва’, 1235), [loPartialKey]) thenShowMessage (‘Запись найдена’) elseShowMessage(‘Запись не найдена’);

  • Слайд 112

    Поиск данных

    Метод Lookupнаходит запись, удовлетворяющую критериям поиска, но не делает её текущей, а возвращает значения некоторых полей этой записи. FunctionLookup(constKeyFields; constKeyValues: Variant; constResultFields:String):Variant; KeyFields – поле/поля, по которым ведется поиск в виде строки, разделитель «;» KeyValues – вариантный массив критериев поиска

  • Слайд 113

    Метод Lookup ResultFields – список полей, значения которых возвращает метод Lookup, если запись, удовлетворяющая критериям поиска найдена: Если указано одно поле, то результат – либо значение этого поля, либо NULL Если указано несколько полей, то результат – вариантный массив, число элементов которого не превышает количество результирующих полей Для проверки типа результата (переменная, или вариантный массив) используется логическая функция VarIsArray

  • Слайд 114

    Поиск данных – метод Lookup

    Пример – поиск по одному полю:Определить зарплату сотрудника по следующему критерию: CustName= ‘Петров’ VarRes:Variant; s:string; … Res :=ADOTable1.Lookup(‘CustName’, ‘Петров’, ‘Price’); caseVarType(Res) of varEmpty : s:= ‘Нет данных о зарплате’; varNull : s:= ‘Запись не найдена’; else s := Res; end; ShowMessage(s);

  • Слайд 115

    Пример – поиск по нескольким полям:Определить зарплату и город сотрудника по следующему критерию: CustName= ‘Петров’,

  • Слайд 116

    VarRes:Variant; s:string;x:integer; … Res :=ADOTable1.Lookup(‘CustName’, ‘Петров’, ‘Price;City’); ifVarIsArray(Res) then begin x:= Res[0]; ifRes[1]Null then s:= Res[1]; endelse caseVarType(Res) of varEmpty : s:= ‘Нет данных о зарплате’; varNull : s:= ‘Запись не найдена’; else s := Res; end; ShowMessage(s);

  • Слайд 117

    Связанные курсоры

  • Слайд 118

    Связанные курсоры позволяют программистам определить отношение «один ко многим» Для этих целей используются следующие свойства наборов данных: MasterSource:TDataSource; MasterFields:WideString; Свойство MasterSource– определяет источник данных родительской таблицы Свойство MasterFields– определяет поле/поля для связи родительской таблицы с дочерней

  • Слайд 119

    Для создания связи нужно: в свойстве поля MasterSourceдочерней таблицы установить DataSource, связанный с родительской таблицей. Открыть свойство MasterFields В появившемся окне выбрать связанные поля и нажать на кнопку ADD. В результате при перемещении по родительской таблицы, в дочерней таблице будут отображаться только связанные записи

  • Слайд 120
  • Слайд 121

    Условие соединения

Посмотреть все слайды

Сообщить об ошибке