Операторы защиты и управления данными 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Операторы защиты и управления данными



· CREATE ASSERTION - создать ограничение

· DROP ASSERTION - удалить ограничение

· GRANT - предоставить привилегии пользователю или приложению на манипулирование объектами

· REVOKE - отменить привилегии пользователя или приложения

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

№23 Оператор SELECT является фактически самым важным для пользователя и самым сложным оператором SQL. Он предназначен для выборки данных из таблиц, т.е. он, собственно, и реализует одно их основных назначение базы данных - предоставлять информацию пользователю.

<SELECT ><[ALL|DISTINCT] >< набор_атрибутов

><FROM >< набор_ > отношений

><[WHERE >< условие_отбора_строк]

><[GROUP ><BY >< спецификация >< группировки]

><[HAVING >< спецификация >< выбора_групп]

><[ORDER ><BY >< спецификация >< сортировки] >

Раздел >< >< >< FROM ><><><><определяет >< >< ><таблицы >< >< ><или >< >< ><запросы, >< >< >< ><служащие ><источником ><данных. ><В ><случае, ><если ><указано ><более ><одного ><имени ><таблицы ><по ><умолчанию ><предполагается, ><что ><над ><перечисленными ><таблицами ><будет ><выполнена ><операция ><декартова ><произведения. ><Например, ><запрос ><SELECT ><* ><FROM ><А, ><В ><соответствует ><декартову ><произведению ><отношений ><А ><и ><В.

Пример. Выбрать все данные из таблицы поставщиков (ключевые слова SELECTFROM …):

SELECT *

FROM P

№24

< Раздел >< WHERE ><><задает ><условия ><отбора ><строк. ><Имена ><атрибутов, ><входящие ><в ><предложение ><WHERE ><могут ><не ><входить ><в ><набор ><атрибутов, ><перечисленных ><в ><предложении ><SELECT.>

<В ><выражении ><условий ><раздела ><WHERE ><могут ><быть ><использованы ><следующие ><предикаты:>

■ <Предикаты ><сравнения ><{=, ><>, ><<, ><>=, ><<=, ><<>.}.>

■ <Предикат ><BETWEEN ><A ><AND ><В. ><Предикат ><истинен, ><когда
><сравниваемое ><значение ><попадает ><в ><заданный ><диапазон, ><включая ><границы ><диапазона.>< ><>

■ <Предикат ><вхождения ><в ><множество ><IN ><(множество) ><истинен ><тогда, ><когда ><сравниваемое ><значение ><входит ><в ><множество ><заданных ><значений. ><При ><этом ><множество ><может ><быть ><задано ><простым
><перечислением ><или ><встроенным ><подзапросом. ><Одновременно ><существует ><противоположный ><предикат ><NOT ><IN ><(множество).>

■ <Предикаты ><сравнения ><с ><образцом ><LIKE ><и ><NOT ><LIKE. ><Предикат ><LIKE ><требует ><задания ><шаблона, ><с ><которым ><сравнивается ><заданное ><значение.>

Пример:

Написать запрос, выбирающий из таблицы STUDENT сведения о студентах, фамилии которых начинаются на букву «Р».

SELECT *

FROM STUDENT

WHERE surname LIKE 'Р%';

 

■ Предикат ><сравнения ><с ><неопределенным ><значением ><IS ><NULL. ><Неопределенное ><значение ><интерпретируется ><в ><реляционной ><модели ><как ><значение, ><неизвестное ><в ><данный ><момент ><времени. ><Это ><значение ><при ><появлении ><некоторой ><дополнительной ><информации ><в ><любой ><момент ><времени ><может ><быть ><заменено ><некоторым ><конкретным ><значением.>

<■ ><Предикаты ><существования ><EXISTS ><и ><не ><существования ><NOT ><EXISTS.

<<Когда ><запрос ><включает ><предложение ><WHERE, ><СУБД ><просматривает ><всю ><таблицу ><по ><одной ><записи, ><чтобы ><определить ><является ><ли ><предикат ><истинным. ><Предикат ><может ><включать ><неограниченное ><число ><условий, ><содержащих ><булевы ><операторы. ><Стандартными ><булевыми ><операторами ><в ><SQL ><являются >< AND, >< OR ><и >< NOT.

№25 Ключевое слово <GROUP BY > > используется ><для ><создания ><итоговых ><запросов. ><Итоговые ><запросы ><имеют ><одно ><общее ><свойство – ><в ><предложении ><SELECT ><<таких ><запросов ><используется, ><по ><крайней ><мере, ><одна ><агрегатная ><функция.

<Синтаксис: ><GROUP ><BY >< имя_ >< столбца >

<Имя ><столбца ><- ><имя ><любого ><столбца ><из ><любой ><из ><упомянутой ><в ><разделе ><FROM ><таблицы.>

<Если ><GROUP ><BY ><расположено ><после ><WHERE ><создаются ><группы ><из ><строк, ><выбранных ><после ><применения ><раздела ><WHERE.>

<При ><включении ><раздела ><GROUP ><BY ><в ><инструкцию ><SELECT ><список ><полей ><должен ><состоять ><из ><итоговых ><функций ><SQL ><(AVG, COUNT, ><MAX, MIN, SUM ><и ><др.) ><и ><из ><имен ><столбцов, ><указанных ><в ><разделе ><GROUP ><BY. ><В ><раздел ><GROUP ><BY ><должны ><быть ><включены ><все ><атрибуты, ><входящие ><в ><раздел ><SELECT.>

<В ><предложение ><GROUP ><BY ><могут ><быть ><указаны ><одновременно ><несколько ><столбцов. ><Группы ><при ><этом ><определяются ><слева ><направо. ><Предложение ><GROUP ><BY ><автоматически ><устанавливает ><сортировку ><по ><возрастанию ><(если ><надо ><по ><убыванию ><- ><задать ><в ><ORDER ><BY).

Раздел ORDER BY .

Оператор ORDER BY (сортировать по) применяется для упорядочения (сортировки) записей. Если он используется в запросе, то в самом конце запроса. Этот оператор сортирует строки всей таблицы или отдельных ее групп (в случае применения оператора GROUP BY). Если в выражении запроса оператора GROUP BY нет, то оператор ORDER BY рассматривает все записи таблицы как одну группу.

Вслед за ключевым словом ORDER BY указывается столбец, по значениям которого следует произвести сортировку. После имени столбца можно указать ключевое слово, задающее порядок (режим) сортировки:

ü ASC – по возрастанию.

ü DESC – по убыванию.

Если в выражении ORDER BY указаны несколько столбцов сортировки, то сначала записи упорядочиваются по значениям первого столбца, затем для каждого значения первого столбца записи упорядочиваются по значениям второго столбца и т.д.

<Ра>< здел >< HAVING >< ><задает ><условие ><отбора ><групп ><строк, ><которые ><включаются ><в ><таблицу, ><определяемую ><инструкцией ><SELECT.>

<Условия ><отбора ><применяется ><к ><столбцам, ><указанным ><в ><разделе ><GROUP ><BY, ><к ><столбцам ><итоговых ><функций ><или ><к ><выражениям, ><содержащим ><итоговые ><функции. ><Если ><некоторая ><группа ><не ><удовлетворяет ><условию ><отбора, ><она ><не ><попадает ><в ><набор ><записей.>

< Синтаксис: ><HAVING ><условие_отбора>

<Разница ><между ><HAVING ><и ><WHERE ><заключается ><в ><том, ><что ><условие ><отбора, ><заданное ><в ><разделе ><WHERE ><применяется ><к ><отдельным ><записям, ><перед ><их ><группировкой, ><а ><условие ><отбора ><раздела ><HAVING ><применяется ><к ><группам ><строк.>

<Если ><раздел ><GROUP ><BY ><находится ><перед ><HAVING, ><условие ><отбора ><применяется ><к ><каждой ><из ><групп, ><сформированных ><на ><основе ><совпадения ><значений ><в ><заданных ><столбцах. ><В ><случае ><отсутствия ><раздела ><GROUP ><BY ><условие ><отбора ><применяется ><ко ><всей ><таблице ><определенной ><инструкцией ><SELECT. ><Агрегатные ><функции ><могут ><применяться ><как ><в ><выражении ><вывода ><результатов ><строки ><SELECT, ><так ><и ><в ><выражении ><обработки ><сформированных ><групп ><HAVING.>

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

TRANSLATE
Функция TRANSLATE(str1, SRC, DEST) возвращает строку
Параметры:
str1 - строка которая будет преобразована
SRC - символы исходные преобразования
DEST - в которые будет осуществляться преобразование
Описание
преобразовывает каждый символ в последовательности SRC в символ в той же позиции в последовательности DEST

nstr
INSTR(STR1, STR2, POSn, direction) -- возвращает позицию STR2 в строке STR1
-- где поиск осуществляется в позиции POSn
-- в направлении direction
-- параметры

Substr
SUBSTR(STR1, POS, LEN) -- выделяет LEN символов в строке str1 начиная с позиции POS
STR1 -- оригинальная строка
POS -- позиция с которой начинается выделение
NEWSUB -- подстрока на которую заменяем по умолчанию ""

Length
length(str) -- возвращает длинну строки str1 в символах

Replace
replace(SRCSTR,OLDSUB,NEWSUB) -- функция возвращает пребразованную строку SRCSTR, где подстрока OLDSUB из строки SRCSTR заменяется на подсрорку NEWSUB
SRCSTR -- оригинальная строка
OLDSUB -- заменяемая подстрока
NEWSUB -- подстрока на которую заменяем по умолчанию ""

NULLIF(V1,V2):= CASE

WHEN (V1= V2)

THEN NULL

ELSE V1 END;

Это означает, что, если первый параметр равен второму, функция возвращает NULL, иначе — значение первого параметра. Свойства функции позволяют использовать ее с самыми разными целями. Посмотрите на список наиболее важных из этих свойств.

Функция COALESCE(<value expression>..., <value expression>) сканирует список всех <value expression> слева направо и возвращает первое не-NULL-значение в нем. Если все они равны NULL, результат также будет NULL. Аналогом этой функции в DB2 и других основанных на ней реализациях SQL является функция VALUE(<value expression>..., <value expression>).

ABS(x) — возвращает абсолютное значение х.
SIGN(x) — возвращает 1, если х является отрицательным числом, 0, если это 0, и +1, если это положительное число.

POWER (х, n) — возводит число х в степень п. SQRT(x) — возвращает квадратный корень из х.
LOG10(x) — возвращает логарифм х по основанию 10. См. пояснение к функции LN(x).
LN(x) или LOG(x) — возвращает натуральный логарифм от х. Проблема состоит в том, что логарифмы определяются при х —> 0. В некоторых реализациях SQL возвращается сообщение об ошибке, в других — NULL, а в DB2/400 Version 3 Rel.l будет возвращено значение *NEGINF" (сокращение от negative infinity — отрицательная бесконечность).
ЕХР(х) — возвращает число е в степени х, функция, обратная натуральному логарифму.

ROUND(x, p) — округляет число х до p десятичных знаков.
TRUNCATE(x, p) — усекает число х до р десятичных знаков.
FLOOR(х) — возвращает самое большое целое число, меньшее или равное х.
CEILING(x) — возвращает самое маленькое целое число, большее или равное х.

COUNTERS), NUMBER(), IDENTITY() — при каждом обращении к функции в выражении возвращает значение, увеличенное на 1. Таким способом генерируются уникальные идентификаторы.

(х MOD m) или M0D(x, m) находит модуль или арифметический остаток.

 

TO_CHAR

Преобразует свои аргументы в символьный тип

TO_DATE

Преобразует свои аргументы в тип DATE

TRANSLATE
Функция TRANSLATE(str1, SRC, DEST) возвращает строку
Параметры:
str1 - строка которая будет преобразована
SRC - символы исходные преобразования
DEST - в которые будет осуществляться преобразование
Описание
преобразовывает каждый символ в последовательности SRC в символ в той же позиции в последовательности DEST

Функции MySQL

· date_format (date,format) - дату в строку;

· time_format (time,format) - время в строку;

· format (number,precision) - число в cтроку типа '#,###,###.##', где число знаков определяется вторым аргументом.

select date_format(date '2010-02-01', '%c месяца %d дней %Y год') as c

Функции CAST и CONVERT преобразуют значение (локальную переменную, столбец или выражение) из одного типа данных в другой. Например, приведенная ниже функция CAST преобразует числовое значение $157.27 в строку символов '157.27':

CAST ($157.27 AS VARCHAR(10))

Рассмотрим перечень агрегирующих функций.

- count определяет количество записей данного поля в группе строк.

- sum вычисляет арифметическую сумму всех выбранных значений данного поля.

- avg рассчитывает арифметическое среднее (усреднение) всех выбранных значений данного поля.

- max находит наибольшее из всех выбранных значений данного поля.

- min находит наименьшее из всех выбранных значений данного поля.

Пример: select sum(Цена) from Туры
select avg(Цена) from Туры
select max(Цена) from Туры
select min(Цена) from Туры

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

Простой запрос содержит одно условие, а сложный запрос содержит несколько условий для различных полей.

ЗАПРОС – объект БД, который позволяет проводить основные операции по обработке данных – сортировку, фильтрацию, объединение данных из разных источников – и сохранять результаты с некоторым именем, чтобы в дальнейшем применять эти операции по мере необходимости.

Оператор UNION принимает две таблицы и строит из них третью. Эти таблицы должны быть совместимы по объединению, т.е. содержать одинаковое количество столбцов, и каждый столбец первой таблицы должен быть того же типа данных (или автоматически приводиться к нему), что и находящийся в том же месте столбец второй таблицы. Это означает, что их строки должны иметь одинаковую структуру, поэтому могут быть размещены в окончательной результирующей таблице. Большинство реализаций при создании результата осуществляют некоторое преобразование данных, но его характер зависит от конкретного продукта.

(SELECT a, b, с FROM TableA WHERE city = 'Boston')UNION(SELECT x, y, z FROM TableB WHERE city = 'New York');TABLE [Новые учетные записи] UNION ALLSELECT *FROM КлиентыWHERE СуммаЗаказов > 1000;

Операторы INTERSECT [имеют более высокий приоритет, чем UNION, так что в цепочке операций сначала выполняется пересечение:

INTERSECT удаляет из пересечения все дубликаты строк.

(SELECT col1 FROM TableA)INTERSECT (SELECT col1 FROM TableB)

EXCEPT.
Разность множеств дает все строки первой таблицы, кроме тех, которые присутствуют также и во второй таблице. Этот оператор дает ответ на вопрос типа: "Покажите мне список сотрудников фирмы, кроме торговых агентов".
Сначала оператор EXCEPT в SQL-92 отбрасывает повторяющиеся строки первой таблицы, а затем удаляет из нее все строки, встречающиеся также и во второй таблице. Это чистый оператор множеств:

(SELECT coll FROM TableA)EXCEPT(SELECT coll FROM TableB)

операции соединения таблиц

INNER JOIN
возвращает пересечение двух множеств. В терминах таблиц, оно возвращает только записи из обеих таблиц, отвечающие указанному критерию.

Таблица Table1

key1 field1 field2 key2 key3
  Erik      
  John      
  Mark      
  Peter      
  Harry      

Таблица Table2

key2 field1 field2 field3
  New York A N
  Sao Paulo B N
  Paris C Y
  London C Y
  Rome C Y
  Madrid C Y
  Bangalore D N

SELECT t1.key1,

t1.field1 as Name,

t1.key2 as T1Key,

t2.key2 as T2Key,

t2.field1 as City

FROM Table1 t1 INNER JOIN Table2 t2 ON t1.key2 = t2.key2;

 

LEFT OUTER JOIN

Дает все запрошенные данные из таблицы в левой части JOIN плюс данные из правой таблицы, пересекающиеся с первой таблицей. На рисунке 4 показана диаграмма Венна, иллюстрирующая LEFT JOIN для двух таблиц.

SELECT t1.key1,

t1.field1 as Name,

t1.key2 as T1Key,

t2.key2 as T2Key,

t2.field1 as City

FROM Table1 t1 LEFT JOIN Table2 t2 ON t1.key2 = t2.key2;

 

RIGHT JOIN

выдает все запрошенные данные из таблицы, стоящей в правой части оператора JOIN, плюс данные из левой таблицы, пересекающиеся с правой

SELECT t1.key1,

t1.field1 as Name,

t1.key2 as T1Key,

t2.key2 as T2Key,

t2.field1 as City

FROM Table1 t1 RIGHT JOIN Table2 t2 ON t1.key2 = t2.key2;

33.

Оператор INSERT вставляет новые записи в таблицу. При этом значения столбцов могут представлять собой литеральные константы, либо являться результатом выполнения подзапроса. В первом случае для вставки каждой строки используется отдельный оператор INSERT; Синтаксис оператора следующий:

1. INSERT INTO <имя таблицы>[(<имя столбца>,...)]2. {VALUES (<значение столбца>,…)}3. | <выражение запроса> 4. | {DEFAULT VALUES}

34.

Обновление записи осуществляется командой UPDATE.

Синтаксис команды UPDATE

UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2,...] [WHERE where_definition] [LIMIT #]

tbl_name

- Задает имя таблицы, в которой будут обновляться записи. На момент запуска команды UPDATE таблица с таким именем должна существовать в базе данных.

LOW_PRIORITY

- Если указан этот параметр, то обновление записи будет отложена до тех пор, пока другие сценарии не закончат чтение из этой таблицы.

IGNORE

- Если некоторые поля таблицы имеют ключи PRIMARY или UNIQUE, и производится обновление строки, в которой эти поля имеют дублирующее значение, то действие команды аварийно завершается и выдается ошибка №1062 ("Duplicate entry 'val' for key N"). Если в команде INSERT указано ключевое слово IGNORE, то обновление записей не прерывается, а строки с дублирующими значениями просто не изменяются.

SET

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

имя поля='значение'

Следующий пример производит обновление поля country у ВСЕХ записей в таблице users:

  UPDATE
  `users`

 

  SET
  `country`='Russia'

Замечание: Обратите внимание на WHERE в синтаксисисе UPDATE. WHERE определяет какие записи должны быть обновлены, если условие WHERE не прописанно то все записи в таблице будут обновлены!

 

DELETE используется для удаление записей в таблице.

Синтаксис SQL DELETE

  DELETE FROM table_name WHERE some_column=some_value

Замечание: При составлении запроса на удаление, используйте условие WHERE иначе все записи могут быть удаленны.

35.
CREATE — DDL оператор языка SQL используемый для создания объектов базы данных. Рассмотрим пример создания новой таблицы:

Синтаксис

CREATE TABLE Имя_таблицы
(
Имя_поля1 Тип Модификатор
...
Имя_поляN Тип Модификатор
[первичный ключ]
[внешний ключ]
)

CREATE TABLE Clients
(FirstName char(50) NOT NULL,
LastName char(50) NOT NULL,
Email char(50),
City char(255)
)

Оператор DROP TABLE

Оператор DROP TABLE удаляет одну или несколько таблиц. Все табличные данные и определения удаляются, так что при работе с этой командой следует соблюдать осторожность.

Синтаксис:

DROP TABLE [IF EXISTS] имя_таблицы [, имя_таблицы,...] [RESTRICT | CASCADE]

Оператор ALTER TABLE

Оператор ALTER TABLE обеспечивает возможность изменять структуру существующей таблицы. Например, можно добавлять или удалять столбцы, создавать или уничтожать индексы или переименовывать столбцы либо саму таблицу. Можно также изменять комментарий для таблицы и ее тип.

Синтаксис:

ALTER [IGNORE] TABLE имя_таблицы alter_specification [, alter_specification...]

Можно производить следующие изменения в таблице (все они записываются в alter_specification):

· добавление поля:

36.

Borland Delphi, версии 7 – это среда быстрой разработки приложений, которая поддерживает технологии доступа к данным: InterBase, BDE, ADO.

При использовании механизма доступа к данным InterBase Express для создания программы, кроме работающего сервера, необходимо инсталлировать на клиентских рабочих местах специальное программное обеспечение, выполняющее соединение клиентской программы с сервером. Механизм доступа к данным InterBase Express использует для обращений к серверу возможности клиентского программного обеспечения InterBase, которое должно быть установлено на компьютере [13, c. 199].

Такой механизм доступа к данным как BDE позволяет работать с локальными и файл-серверными форматами баз данных. Основными недостатками данной технологии являются зависимость от специальной библиотеки DLL и использование технологии псевдонима.

При разработке данной информационной системы была выбрана такая технология доступа к данным как Microsoft ActiveX Data Objects (ADO).

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

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

Согласно терминологии ADO, любой источник данных (база данных, электронная таблица, файл) называется хранилищем данных, с которым при помощи провайдера данных взаимодействует приложение. Минимальный набор компонентов приложения может включать объект соединения, объект набора данных, объект процессора запросов [15, c. 348]. Технология ADO в целом включает в себя не только сами объекты OLE DB, но и механизмы, обеспечивающие взаимодействие объектов с данными и приложениями. На этом уровне важнейшую роль играют провайдеры технологии ADO, координирующие работу приложений с хранилищами данных различных типов.

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

Такая архитектура позволяет сделать набор объектов и интерфейсов открытым и расширяемым. Набор объектов и соответствующий провайдер может быть создан для любого хранилища данных без внесения изменений в исходную структуру ADO.

Так как технология ADO основана на стандартных интерфейсах СОМ, которые являются системным механизмом Windows, это сокращает общий объем работающего программного кода и позволяет распространять приложения базы данных без вспомогательных программ и библиотек, поэтому она была выбрана для разработки данной программы.

 

37.

Мощность и гибкость Delphi при работе с базами данных основана на низкоуровневом ядре - процессоре баз данных Borland Database Engine (BDE). Его интерфейс с прикладными программами называется Integrated Database Application Programming Interface (IDAPI). В принципе, сейчас не различают эти два названия (BDE и IDAPI) и считают их синонимами. BDE позволяет осуществлять доступ к данным как с использованием традиционного record-ориентированного (навигационного) подхода, так и с использованием set-ориентированного подхода, используемого в SQL-серверах баз данных. Кроме BDE, Delphi позволяет осуществлять доступ к базам данных, используя технологию (и, соответственно, драйверы) Open DataBase Connectivity (ODBC) фирмы Microsoft. Но, как показывает практика, производительность систем с использованием BDE гораздо выше, чем оных при использовании ODBC. ODBC драйвера работают через специальный “ODBC socket”, который позволяет встраивать их в BDE.

Все инструментальные средства баз данных Borland - Paradox, dBase, Database Desktop - используют BDE. Все особенности, имеющиеся в Paradox или dBase, “наследуются” BDE, и поэтому этими же особенностями обладает и Delphi.

Таблицы сохраняются в базе данных. Некоторые СУБД сохраняют базу данных в виде нескольких отдельных файлов, представляющих собой таблицы (в основном, все локальные СУБД), в то время как другие состоят из одного файла, который содержит в себе все таблицы и индексы (InterBase). Например, таблицы dBase и Paradox всегда сохраняются в отдельных файлах на диске. Директорий, содержащий dBase .DBF файлы или Paradox .DB файлы, рассматривается как база данных. Другими словами, любой директорий, содержащий файлы в формате Paradox или dBase, рассматривается Delphi как единая база данных. Для переключения на другую базу данных нужно просто переключиться на другой директорий. Как уже было указано выше, InterBase сохраняет все таблицы в одном файле, имеющем расширение .GDB, поэтому этот файл и есть база данных InterBase.

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

Для создания алиаса запустите утилиту конфигурации BDE (программу BDECFG.EXE), находящуюся в директории, в котором располагаются динамические библиотеки BDE.

 

 

Типы данных в таблицах Paradox

Type Size Тип Описание

A 1-255 Alpha Текстовое поле указанной длины

N Number Числа с плавающей запятой в диапазоне от _10307
до +10307 с 15 значащими десятичными разрядами

Свойства таблиц Paradox 7

Type Size Тип Описание

$ Money Денежное поле. Содержит вещественные числа
с фиксированной запятой, 6 знаками целой части
и 2 знаками дробной

S Short Целые числа в диапазоне от _32 768 до +32 767

I Long Integer Целые числа в диапазоне от _2 147 483 648
до +2 147 483 647

# 0-32 BCD Двоично-десятичные вещественные числа.
Size — количество разрядов после запятой

D Date Дата в диапазоне от 1.01.0000 до 31.12.9999

T Time Время с точностью до миллисекунд

@ Timestamp Дата и время

M 1-240 Мемо Мемо-поле для размещения произвольных текстовых
строк неограниченной длины. Первые Size символов
хранятся в основной таблице, остальные — в файле
с расширением.MB

F 0-240 Formatted Memo Мемо-поле для размещения форматированного текста
в формате RTF

G 0-240 Graphic Графическое изображение в формате TIF. Size байтов
этого поля хранится в основной таблице, остальные —
в отдельном файле

O 0-240 OLE Объект OLE

L Logical Логическое поле. Содержит значение True или False

+ Autoincrement Автоинкрементное поле

B 0-240 Binary Набор байтов произвольной длины. Первые Size байтов
хранятся в основной таблице, остальные — в отдельном
файле

Y 1-255 Bytes Набор из Size байтов (целиком хранится в таблице)



Поделиться:


Последнее изменение этой страницы: 2016-04-19; просмотров: 373; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.226.93.207 (0.129 с.)