Объекты реляционной базы данных 


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



ЗНАЕТЕ ЛИ ВЫ?

Объекты реляционной базы данных



К числу основных объектов реляционных баз данных относятся таблица, представление и пользователь.

Таблица (Table) является базовой структурой реляционной базы данных. Она представляет собой единицу хранения данных — отношение. Таблица идентифицируется в базе данных своим уникальным именем, которое включает в себя идентификацию пользователя. Таблица может быть пустой или состоять из набора строк.

Представление (View) — это поименованная динамически поддерживаемая СУБД выборка из одной или нескольких таблиц базы данных. Оператор выборки ограничивает видимые пользователем данные. Обычно СУБД гарантирует актуальность представления — его формирование производится каждый раз, когда представление используется. Иногда представления называют виртуальными таблицами.

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

Для упрощения идентификации и именования объектов в базе данных поддерживаются такие объекты как синоним (алиас) и определенные пользователем типы данных.

Синоним (Alias) — это альтернативное имя объекта (псевдоним) реляционной базы данных, которое позволяет иметь доступ к данному объекту.

Определенные пользователем типы данных (User-defined data types) представляют собой определенные пользователем типы атрибутов (домены), которые отличаются от поддерживаемых (встроенных) СУБД типов. Они определяются на основе встроенных типов.

Для обеспечения эффективного доступа к данным в реляционных СУБД поддерживаются такие объекты как индекс и функция.

Индекс (Index) — это объект базы данных, создаваемый для повышения производительности выборки данных и контроля уникальности первичного ключа.

Функция (Function) — это объект базы данных, представляющий поименованный набор команд SQL и/или операторов специализированных языков обработки программирования базы данных, который при выполнении возвращает значение — результат вычислений.

Для обработки данных специальным образом или для реализации поддержки ссылочной целостности базы данных используются объекты: хранимая процедура, триггер.

Хранимая процедура (Stored procedure) — это объект базы данных, представляющий поименованный набор команд SQL.

Триггер (Trigger) — это объект базы данных, который представляет собой специальную хранимую процедуру. Эта процедура запускается автоматически, когда происходит связанное с триггером событие (например, до вставки строки в таблицу).

Данные объекты реляционной базы данных представляют собой программы, т.е. исполняемый код. Этого код обычно называют серверным кодом (server-side code), поскольку он выполняется компьютером, на котором установлена СУБД. Планирование и разработка такого кода является одной из задач проектировщика реляционной базы данных.

Для эффективного управления разграничением доступа к данным в Interbase/Firebird поддерживается объект роль.

Роль (Role) — это объект базы данных, представляющий собой поименованную совокупность привилегий, которые могут назначаться пользователям, категориям пользователей или другим ролям.

Таблица 24 содержит список команд SQL в соответствии с принятым стандартом, за исключением некоторых практически не используемых в диалекте СУБД Firebird команд.

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

Таблица 25 содержит список внутренних функций SQL, доступных в Firebird.

Таблица 15: Внутренние функции SQL

Основным оператором является оператор SELECT. Он используется для отбора данных, соответствующих сложным условиям.

SELECT [DISTINCT] <список полей> или *

FROM <список таблиц>

[WHERE <условия выбора записей>]

[ORDER BY <список полей сортировки>]

[GROUP BY <список полей группировки>]

[HAVING <условия группировки полей>]

[UNION <присоединяемый оператор SELECT>]

DISTINCT: если присутствует в операторе SELECT, то повторяющиеся записи будут исключены из набора данных.

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

Примеры:

Выборка таблицы целиком

SELECT * FROM MYTABLE

Выборка заданного списка полей таблицы

SELECT Number, Surname, Telephone

FROM MYTABLE

SELECT * FROM MYTABLE

ORDER BY NAME

SELECT RDNUMB, RDNAME FROM TREADER

where RDNUMB > ’1300′

ORDER BY 2

Выборка из нескольких таблиц

SELECT * FROM MYTABLE1, MYTABLE2

Выборка только различных строк

SELECT DISTINCT Surname

FROM MYTABLE

Выборка записей с условием

SELECT Name, Surname

FROM MYTABLE

WHERE (Number>1) AND (Number<100)

Выборка записей с условием

SELECT Name

FROM MYTABLE

WHERE Surname = ‘Иванов’

Выборка записей с условием

SELECT Name, Surname FROM MYTABLE

WHERE Surname Like ‘H%’

Выборка с упорядочением

SELECT RDNUMB, RDNAME FROM TREADER

ORDER BY RDNAME

Выборка с параметром

SELECT UNIKEY BOOKNM from TBOOK

where UNIKEY =:KEY

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

SELECT E.FIRST_NAME, E.LAST_NAME, D.DEPARTMENT

FROM EMPLOYEE E, DEPARTMENT D

where D.DEPT_NO > 4

and E.DEPT_NO = D.DEPT_NO

ORDER BY E.LAST_NAME

Выборка с параметром

SELECT * FROM EMPLOYEE

WHERE DEPT_NO =: DEPT_NO

Оператор UPDATE служит для изменения значений полей в группе записей:

UPDATE <Имя таблицы>

SET <Имя поля> = <Выражение>, <Имя поля> = <Выражение>, ….

WHERE <условия выбора>

Пример:

UPDATE MYTABLE

SET OKLAD = OKLAD + 1000

WHERE OKLAD < 1000

Оператор INSERT служит для вставки записей в таблицу

INSERT INTO <имя таблицы> (<Список полей>)

VALUES (<Список значений>)

Пример:

INSERT INTO MYTABLE (Name, Surname, Telephone)

VALUES (‘Иван’, ‘Иванов’, 2341234)

Оператор DELETE служит для удаления записей из таблиц

DELETE FROM <имя таблицы>

[WHERE <условия выбора>]

Пример:

DELETE FROM MyTable

WHERE Surname = ‘Иванов’

Имеются расширения языка SQL для СУБД InterBase, используемые в хранимых процедурах. Это циклы и операторы ветвления.

FOR SELECT ….DO

WHILE ….DO

IF …THEN…ELSE

Примеры:

CREATE PROCEDURE SIMPLE

RETURNS (ID INTEGER, NAME VARCHAR (80))

AS

BEGIN

FOR SELECT ID, NAME FROM TABLE1

INTO:ID,:NAME

DO

BEGIN

SUSPEND; /*передача сформированной записи клиенту*/

END

END

CREATE PROCEDURE QUAD

RETURNS (QUADRAT INTEGER)

AS

DECLARE VARIABLE I INTEGER;

BEGIN

I = 1;

WHILE (I < 100) DО

BEGIN

QUADRAT = I*I;

I = I+1;

SUSPEND;

END

END

Входные переменные задаются следующим образом:

CREATE PROCEDURE Name (I INTEGER, S DATE)

.......................................................

Вложенные SELECT

SELECT RDNAME, RDNUMB FROM TREADER

where UNIKEY IN

(SELECT READER FROM TBOOK_READER

where BOOKKEY = 18)



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 168; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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