- •1)Существенные и несущественные свойства понятия.
- •1)Объем и содержание понятия.
- •2)Основные объекты бд.
- •1)Объект и класс.
- •1).Объектная декомпозиция. Иерархия классов.
- •2).Локальные и серверные бд. Сходство и различие.
- •Клиент-серверные бд.
- •1)Понятие инкапсуляции.
- •2)Компоненты ado доступа к базам данных в Delphi.
- •2) Основные компоненты ole db и ado.
- •1)Понятие свойства в Delphi. Синтаксис определения и реализации свойства.
- •1).Использование полиморфизма в описании класса. Полиморфизм
- •2)Квалифицированный выбор. Реляционные и булевы операторы в sql. Квалифицированный выбор при использовании предложений
- •Булевы операторы
- •1)Класс объектов tObject.
- •2)Технология Клиент-Сервер – основные достоинства.
- •2).Изменение значения одного поля в бд.
Булевы операторы
Основные Булевы операторы также распознаются в SQL. Выражения Буля - являются или верными или неверными, подобно предикатам. Булевы операторы связывают одно или более верных/неверных значений и производят единственное верное/или/неверное значение. Стандартными операторами Буля распознаваемыми в SQL являются:
AND, OR, и NOT.
=============== SQL Execution Log ============
Существуют другие, более сложные, операторы Буля ( типа " исключенный или " ), но они могут быть сформированы из этих трех простых операторов - AND, OR, NOT. Как вы можете понять, Булева верн / неверна логика - основана на цифровой компьютерной операции; и фактически, весь SQL( или любой другой язык ) может быть сведен до уровня Булевой логики.
Операторы Буля и как они работают:
* AND берет два Буля ( в форме A AND B) как аргументы и
оценивает их по отношению к истине, верны ли они оба.
* OR берет два Буля ( в форме A OR B) как аргументы и
оценивает на правильность, верен ли один из них.
* NOT берет одиночный Булев ( в форме NOT A) как аргументы
и заменяет его значение с неверного на верное или верное на
неверное.
Билет 9
1)Класс объектов tObject.
В основе иерархии классов лежит класс TObject. Он обеспечивает выполнение важнейших функций "жизнедеятельности" любого объекта. Благодаря ему каждый класс получает в наследство механизмы создания экземпляра объекта и его уничтожения.
Сердце Delphi -- иерархия классов. Каждый класс в системе является подклассом класса TObject, так что вся иерархия произрастает из одного корня. Вследствие этого вы можете использовать тип данных TObject на месте типа данных любого другого класса в системе. Например, у обработчиков событий обычно есть параметр Sender типа TObject. Это означает, что объект Sender может принадлежать любому классу, так как каждый класс в конечном итоге является потомком TObject. Но для работы с этим объектом вам нужно знать его тип данных, что является типичным минусом такого подхода. Фактически переменную или параметр типа TObject можно применять только для обращения к методам и свойствам, определенным для TObject. Если же такая переменная или параметр ссылаются, например, на объект типа TButton, вы не сможете напрямую обратиться, скажем, к его свойству Caption. Проблема легко решается, так как каждому объекту "известно", к какому классу он принадлежит на самом деле, эта информация доступна при помощи методов ClassType и ClassName. К примеру, ClassName возвращает строку с именем класса. Так как это метод класса, его можно применять как к объекту, так и к классу. Предположим, у нас определен класс TButton и Button1 -- объект этого класса. Тогда следующие операторы эквивалентны:
Text := Button1.ClassName;
Text := TButton.ClassName;
Существуют случаи, когда нужно использовать имя класса, но также бывает полезным получить ссылку либо на сам класс, либо на его родителя. Ссылка на класс позволит производить операции над классом на этапе выполнения (как мы видели в предыдущей главе), в то время как имя класса -- это только строка. Ссылку на класс можно получить при помощи методов ClassType и ClassParent. А получив ссылку на класс, вы можете обращаться к ней точно так же, как и к объекту, например, для вызова метода ClassName. Еще один полезный метод -- InsatnceSize, возвращающий размер объекта на этапе выполнения. (Если вы думаете, что глобальная функция SizeOf предоставит ту же информацию, то это не так. На самом деле она вместо требуемого вам размера самого объекта возвратит размер ссылки на объект, то есть размер указателя, который всегда равен четырем байтам.) Существуют и другие методы, которые можно применить к любому объекту (а также к любому классу или ссылке на класс). Ниже приведен неполный список:
ClassName -- возвращает строку с именем класса;
ClassNameIs -- проверяет имя класса;
ClassParent -- возвращает ссылку на родительский класс;
ClassInfo -- возвращает указатель на внутреннюю информацию о типах этапа выполнения (RTTI) класса;
ClassType -- возвращает ссылку на класс объекта (этот метод применим только к объектам, но не к классам);
InheritsFrom -- проверяет, является ли класс потомком (прямым или непрямым) заданного класса-предка;
InstanceSize -- возвращает размер данных объекта.
Эти методы TObject применимы для объектов любого класса, поскольку TObject -- общий класс-предок всех классов.
