Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Объекты реляционной базы данных
К числу основных объектов реляционных баз данных относятся таблица, представление и пользователь. Таблица (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 с.) |