Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 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; просмотров: 490; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.146 (0.006 с.) |